From e274eccdeabaa88d70af4f80e29edce06a083f38 Mon Sep 17 00:00:00 2001 From: Markos Girgis Date: Mon, 14 Nov 2022 17:58:56 +0200 Subject: [PATCH 1/5] Fix surrounding pairs color issue --- language-configuration.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/language-configuration.json b/language-configuration.json index e4986c3..bd901e1 100644 --- a/language-configuration.json +++ b/language-configuration.json @@ -50,14 +50,12 @@ ["(", ")"], ["'", "'"], ["\"", "\""], - ["`", "`"], - ["<", ">"] + ["`", "`"] ], "colorizedBracketPairs": [ ["(", ")"], ["[", "]"], - ["{", "}"], - ["<", ">"] + ["{", "}"] ], "autoCloseBefore": ";:.,=}])>` \n\t", "folding": { From 5474bcc66c85ef27c637ad5ce42607df69801b62 Mon Sep 17 00:00:00 2001 From: Markos Girgis Date: Tue, 15 Nov 2022 13:03:54 +0200 Subject: [PATCH 2/5] Update package json --- server/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/server/package.json b/server/package.json index 3abeaa9..b33539d 100644 --- a/server/package.json +++ b/server/package.json @@ -10,8 +10,8 @@ "type": "module", "scripts": { "generate-core-dts": "rimraf src/parser/grammar/Bitloops*.ts && node --experimental-vm-modules node_modules/typescript/bin/tsc src/parser/grammar/Bitloops*js --declaration --emitDeclarationOnly --allowJs --outDir src/parser/grammar && node_modules/prettier/bin-prettier.js --config .prettierrc --write src/parser/grammar/*.d.ts", - "ant": "yarn antlr4 -listener -visitor -Dlanguage=JavaScript src/parser/grammar/BitloopsLexer.g4 && yarn antlr4 -listener -visitor -Dlanguage=JavaScript src/parser/grammar/BitloopsParser.g4 && yarn generate-core-dts", - "antlr4": "java -jar /usr/local/lib/antlr-4.10.1-complete.jar" + "ant": "yarn antlr4-cmd -listener -visitor -Dlanguage=JavaScript src/parser/grammar/BitloopsLexer.g4 && yarn antlr4-cmd -listener -visitor -Dlanguage=JavaScript src/parser/grammar/BitloopsParser.g4 && yarn generate-core-dts", + "antlr4-cmd": "java -jar /usr/local/lib/antlr-4.10.1-complete.jar" }, "dependencies": { "antlr4": "^4.11.0", From e5515c6690748bee5bba3be4132c1584f2dbe99f Mon Sep 17 00:00:00 2001 From: Markos Girgis Date: Tue, 17 Jan 2023 14:35:26 +0200 Subject: [PATCH 3/5] remove antlr --- .gitignore | 9 - .vscode/settings.json | 3 - CHANGELOG.md | 6 +- README.md | 6 +- package.json | 2 +- server/package.json | 8 +- server/src/parser/errorListener.ts | 34 - server/src/parser/grammar/BitloopsLexer.d.ts | 253 - server/src/parser/grammar/BitloopsLexer.g4 | 456 - .../src/parser/grammar/BitloopsLexer.interp | 726 - server/src/parser/grammar/BitloopsLexer.js | 1753 -- .../src/parser/grammar/BitloopsLexer.tokens | 419 - .../src/parser/grammar/BitloopsLexerBase.d.ts | 21 - .../src/parser/grammar/BitloopsLexerBase.js | 104 - server/src/parser/grammar/BitloopsParser.d.ts | 3815 --- server/src/parser/grammar/BitloopsParser.g4 | 1457 - .../src/parser/grammar/BitloopsParser.interp | 668 - server/src/parser/grammar/BitloopsParser.js | 24404 ---------------- .../src/parser/grammar/BitloopsParser.tokens | 419 - .../grammar/BitloopsParserListener.d.ts | 503 - .../parser/grammar/BitloopsParserListener.js | 2259 -- .../parser/grammar/BitloopsParserVisitor.d.ts | 253 - .../parser/grammar/BitloopsParserVisitor.js | 1510 - server/src/parser/index.ts | 87 +- server/src/server.ts | 4 +- server/yarn.lock | 10 - syntaxes/bitloops.tmLanguage.json | 2 +- vsc-extension-quickstart.md | 28 +- 28 files changed, 83 insertions(+), 39136 deletions(-) delete mode 100644 .vscode/settings.json delete mode 100644 server/src/parser/errorListener.ts delete mode 100644 server/src/parser/grammar/BitloopsLexer.d.ts delete mode 100644 server/src/parser/grammar/BitloopsLexer.g4 delete mode 100644 server/src/parser/grammar/BitloopsLexer.interp delete mode 100644 server/src/parser/grammar/BitloopsLexer.js delete mode 100644 server/src/parser/grammar/BitloopsLexer.tokens delete mode 100644 server/src/parser/grammar/BitloopsLexerBase.d.ts delete mode 100644 server/src/parser/grammar/BitloopsLexerBase.js delete mode 100644 server/src/parser/grammar/BitloopsParser.d.ts delete mode 100644 server/src/parser/grammar/BitloopsParser.g4 delete mode 100644 server/src/parser/grammar/BitloopsParser.interp delete mode 100644 server/src/parser/grammar/BitloopsParser.js delete mode 100644 server/src/parser/grammar/BitloopsParser.tokens delete mode 100644 server/src/parser/grammar/BitloopsParserListener.d.ts delete mode 100644 server/src/parser/grammar/BitloopsParserListener.js delete mode 100644 server/src/parser/grammar/BitloopsParserVisitor.d.ts delete mode 100644 server/src/parser/grammar/BitloopsParserVisitor.js diff --git a/.gitignore b/.gitignore index 758fd17..2184e5b 100644 --- a/.gitignore +++ b/.gitignore @@ -106,12 +106,3 @@ dist .tern-port bitloops-language-*.vsix */.DS_Store - -src/parser/grammar/BitloopsLexer.d.ts -src/parser/grammar/BitloopsLexer.js -src/parser/grammar/BitloopsParser.d.ts -src/parser/grammar/BitloopsParser.js -src/parser/grammar/BitloopsParserListener.d.ts -src/parser/grammar/BitloopsParserListener.js -src/parser/grammar/BitloopsParserVisitor.d.ts -src/parser/grammar/BitloopsParserVisitor.js \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 5e68c1a..0000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "cSpell.words": ["ANTLR"] -} diff --git a/CHANGELOG.md b/CHANGELOG.md index 82cbccb..5a605d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,10 @@ All notable changes to the "bitloops-language" extension will be documented in t Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file. +### 0.1.1 + +Added transpiler package dependency + ### 0.1.0 Added LSP server @@ -42,4 +46,4 @@ Added icon ### 0.0.1 -Initial release of the Bitloops language extension \ No newline at end of file +Initial release of the Bitloops language extension diff --git a/README.md b/README.md index 89cfa52..7fa1956 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ The Bitloops Language extension adds any VS Code settings through the `contribut This extension contributes the following settings: -* `bitloops.enable`: Enable/disable this extension. +- `bitloops.enable`: Enable/disable this extension. ## Running the application @@ -33,6 +33,10 @@ No known issues. ## Release Notes +### 0.1.1 + +Added transpiler package dependency + ### 0.1.0 Added LSP server diff --git a/package.json b/package.json index 8061728..6eaf030 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ }, "icon": "assets/images/bitloops-language-logo-256x256.png", "license": "MIT", - "version": "0.1.0", + "version": "0.1.1", "scripts": { "vs:package": "vsce package", "vs:publish": "vsce publish", diff --git a/server/package.json b/server/package.json index b33539d..5bcbe32 100644 --- a/server/package.json +++ b/server/package.json @@ -8,18 +8,12 @@ "node": ">= 13" }, "type": "module", - "scripts": { - "generate-core-dts": "rimraf src/parser/grammar/Bitloops*.ts && node --experimental-vm-modules node_modules/typescript/bin/tsc src/parser/grammar/Bitloops*js --declaration --emitDeclarationOnly --allowJs --outDir src/parser/grammar && node_modules/prettier/bin-prettier.js --config .prettierrc --write src/parser/grammar/*.d.ts", - "ant": "yarn antlr4-cmd -listener -visitor -Dlanguage=JavaScript src/parser/grammar/BitloopsLexer.g4 && yarn antlr4-cmd -listener -visitor -Dlanguage=JavaScript src/parser/grammar/BitloopsParser.g4 && yarn generate-core-dts", - "antlr4-cmd": "java -jar /usr/local/lib/antlr-4.10.1-complete.jar" - }, + "scripts": {}, "dependencies": { - "antlr4": "^4.11.0", "vscode-languageserver": "^7.0.0", "vscode-languageserver-textdocument": "^1.0.4" }, "devDependencies": { - "@types/antlr4": "^4.11.0", "prettier": "^2.7.1", "rimraf": "^3.0.2", "typescript": "^4.8.4" diff --git a/server/src/parser/errorListener.ts b/server/src/parser/errorListener.ts deleted file mode 100644 index b6f79dc..0000000 --- a/server/src/parser/errorListener.ts +++ /dev/null @@ -1,34 +0,0 @@ -import antlr from 'antlr4'; -import Recognizer from 'antlr4/Recognizer.js'; -import { DiagnosticFactory } from '../diagnostic.js'; -import { ANTLR4Analyzer } from './index.js'; -// import { ErrorListener } from 'antlr4/error'; - -export class VerboseListener extends (antlr as any).error.ErrorListener { - syntaxError = ( - _recognizer: Recognizer.default, - offendingToken: any, - line: number, - column: number, - msg: string, - _e: any, - ) => { - // const stack: any = recognizer.getTokenErrorDisplay(offendingSymbol); - // console.log("rule stack: "+stack); - console.log(`line: ${line}:${column}, offendingSymbol : ${offendingToken.text}, msg: ${msg}`); - const start = offendingToken.start; - const stop = offendingToken.stop; - console.log(`start: ${start}, stop: ${stop}`); - // let range = new Range(error.line - 1, error.startColumn, error.line - 1, error.endColumn); - - const diagnostic = DiagnosticFactory.create( - 1, - { - start, - end: stop, - }, - `line: ${line}:${column}, offendingSymbol : ${offendingToken.text}, msg: ${msg}`, - ); - ANTLR4Analyzer.diagnostics.push(diagnostic); - }; -} diff --git a/server/src/parser/grammar/BitloopsLexer.d.ts b/server/src/parser/grammar/BitloopsLexer.d.ts deleted file mode 100644 index 550e39c..0000000 --- a/server/src/parser/grammar/BitloopsLexer.d.ts +++ /dev/null @@ -1,253 +0,0 @@ -declare class BitloopsLexer extends BitloopsLexerBase { - static grammarFileName: string; - static channelNames: string[]; - static modeNames: string[]; - static literalNames: string[]; - static symbolicNames: string[]; - static ruleNames: string[]; - _interp: antlr4.atn.LexerATNSimulator; - get atn(): antlr4.atn.ATN; - action(localctx: any, ruleIndex: any, actionIndex: any): void; - OpenBrace_action(localctx: any, actionIndex: any): void; - CloseBrace_action(localctx: any, actionIndex: any): void; - BackTick_action(localctx: any, actionIndex: any): void; - BackTickInside_action(localctx: any, actionIndex: any): void; - sempred(localctx: any, ruleIndex: any, predIndex: any): boolean; - RegularExpressionLiteral_sempred(localctx: any, predIndex: any): boolean; - TemplateCloseBrace_sempred(localctx: any, predIndex: any): boolean; -} -declare namespace BitloopsLexer { - const EOF: -1; - const MultiLineComment: number; - const SingleLineComment: number; - const RegularExpressionLiteral: number; - const OpenBracket: number; - const CloseBracket: number; - const OpenParen: number; - const CloseParen: number; - const OpenBrace: number; - const TemplateCloseBrace: number; - const CloseBrace: number; - const SemiColon: number; - const Comma: number; - const Assign: number; - const QuestionMark: number; - const Colon: number; - const Ellipsis: number; - const Dot: number; - const PlusPlus: number; - const MinusMinus: number; - const Plus: number; - const Minus: number; - const BitNot: number; - const Not: number; - const Multiply: number; - const Divide: number; - const Modulus: number; - const RightShiftArithmetic: number; - const LeftShiftArithmetic: number; - const RightShiftLogical: number; - const LessThan: number; - const MoreThan: number; - const LessThanEquals: number; - const GreaterThanEquals: number; - const Equals_: number; - const NotEquals: number; - const IdentityEquals: number; - const IdentityNotEquals: number; - const BitAnd: number; - const BitXOr: number; - const BitOr: number; - const And: number; - const Or: number; - const Xor: number; - const MultiplyAssign: number; - const DivideAssign: number; - const ModulusAssign: number; - const PlusAssign: number; - const MinusAssign: number; - const LeftShiftArithmeticAssign: number; - const RightShiftArithmeticAssign: number; - const RightShiftLogicalAssign: number; - const BitAndAssign: number; - const BitXorAssign: number; - const BitOrAssign: number; - const ARROW: number; - const NullLiteral: number; - const BooleanLiteral: number; - const IntegerLiteral: number; - const DecimalLiteral: number; - const HexIntegerLiteral: number; - const OctalIntegerLiteral: number; - const OctalIntegerLiteral2: number; - const BinaryIntegerLiteral: number; - const Optional: number; - const Break: number; - const Do: number; - const Instanceof: number; - const Typeof: number; - const Case: number; - const Else: number; - const New: number; - const Var: number; - const Catch: number; - const Finally: number; - const Return: number; - const Void: number; - const Continue: number; - const For: number; - const Switch: number; - const While: number; - const Debugger: number; - const Function_: number; - const This: number; - const With: number; - const Default: number; - const If: number; - const Throw: number; - const Delete: number; - const In: number; - const Try: number; - const As: number; - const From: number; - const ReadOnly: number; - const Async: number; - const Throws: number; - const ApplyRules: number; - const Extends: number; - const Const: number; - const RepoPort: number; - const Props: number; - const ReadModel: number; - const DTO: number; - const RESTController: number; - const GraphQLController: number; - const GRPCController: number; - const UseCase: number; - const ValueObject: number; - const AggregateRoot: number; - const Entity: number; - const DomainEvent: number; - const Service: number; - const Repository: number; - const Factory: number; - const DomainError: number; - const ApplicationError: number; - const DomainErrors: number; - const ApplicationErrors: number; - const OK: number; - const Errors: number; - const Config: number; - const PackagePort: number; - const VO: number; - const Rule: number; - const IsBrokenIf: number; - const Root: number; - const Constructor: number; - const Let: number; - const Private: number; - const Public: number; - const Protected: number; - const Static: number; - const Any: number; - const Double: number; - const Float: number; - const Int32: number; - const Int64: number; - const Uint32: number; - const Uint64: number; - const Sint32: number; - const Sint64: number; - const Fixed32: number; - const Fixed64: number; - const Sfixed32: number; - const Sfixed64: number; - const Boolean: number; - const String: number; - const Bytes: number; - const Timestamp: number; - const Struct: number; - const TypeAlias: number; - const Get: number; - const Set: number; - const Execute: number; - const Create: number; - const Namespace: number; - const Declare: number; - const JestTest: number; - const JestTestStatement: number; - const JestTestStatementList: number; - const JestTestFunctionBody: number; - const JestTestExecute: number; - const JestTestStructEvaluation: number; - const JestTestDTOEvaluation: number; - const JestTestEvaluation: number; - const JestTestReturnOkErrorType: number; - const JestTestExpression: number; - const JestTestConstDeclaration: number; - const JestTestMethodDefinitionList: number; - const JestTestCreateMethodDeclaration: number; - const JestTestPrivateMethodDeclaration: number; - const JestTestPublicMethodDeclaration: number; - const JestTestValueObjectDeclaration: number; - const JestTestEntityDeclaration: number; - const JestTestCondition: number; - const JestTestVariableDeclaration: number; - const JestTestThisDeclaration: number; - const JestTestIsInstanceOf: number; - const JestTestValueObjectEvaluation: number; - const JestTestEntityEvaluation: number; - const JestTestSingleExpression: number; - const JestTestGetClass: number; - const JestTestBuiltInFunction: number; - const JestTestBuiltInClass: number; - const JestTestBitloopsPrimaryType: number; - const UUIDv4: number; - const Is: number; - const GetClass: number; - const ToString: number; - const At: number; - const Method: number; - const MethodGet: number; - const MethodPost: number; - const MethodPut: number; - const MethodPatch: number; - const MethodDelete: number; - const MethodOptions: number; - const GraphQLOperation: number; - const Input: number; - const OperationMutation: number; - const OperationQuery: number; - const OperationSubscription: number; - const ErrorClass: number; - const DTOIdentifier: number; - const ValueObjectIdentifier: number; - const EntityIdentifier: number; - const ErrorIdentifier: number; - const ControllerIdentifier: number; - const UseCaseIdentifier: number; - const PackagePortIdentifier: number; - const PropsIdentifier: number; - const ReadModelIdentifier: number; - const RuleIdentifier: number; - const RepoPortIdentifier: number; - const DomainErrorIdentifier: number; - const ValueObjectEvaluationIdentifier: number; - const UpperCaseIdentifier: number; - const Identifier: number; - const StringLiteral: number; - const BackTick: number; - const WhiteSpaces: number; - const LineTerminator: number; - const HtmlComment: number; - const CDataComment: number; - const UnexpectedCharacter: number; - const TemplateStringStartExpression: number; - const TemplateStringAtom: number; - const WS: number; - const ERROR: number; - const TEMPLATE: number; -} -export default BitloopsLexer; -import BitloopsLexerBase from './BitloopsLexerBase.js'; -import antlr4 from 'antlr4'; diff --git a/server/src/parser/grammar/BitloopsLexer.g4 b/server/src/parser/grammar/BitloopsLexer.g4 deleted file mode 100644 index 39278d8..0000000 --- a/server/src/parser/grammar/BitloopsLexer.g4 +++ /dev/null @@ -1,456 +0,0 @@ -/** - * Bitloops Language - * Copyright (C) 2022 Bitloops S.A. - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * For further information you can contact legal(at)bitloops.com. - */ -lexer grammar BitloopsLexer; - -channels { ERROR } - -options { - superClass=BitloopsLexerBase; -} - - -MultiLineComment: '/*' .*? '*/' -> channel(HIDDEN); -SingleLineComment: '//' ~[\r\n\u2028\u2029]* -> channel(HIDDEN); -RegularExpressionLiteral: '/' RegularExpressionFirstChar RegularExpressionChar* {this.IsRegexPossible()}? '/' IdentifierPart*; - -OpenBracket: '['; -CloseBracket: ']'; -OpenParen: '('; -// OpenCloseParen: '()'; -CloseParen: ')'; -OpenBrace: '{' {this.ProcessOpenBrace();}; -TemplateCloseBrace: {this.IsInTemplateString()}? '}' -> popMode; -CloseBrace: '}' {this.ProcessCloseBrace();}; -SemiColon: ';'; -Comma: ','; -Assign: '='; -QuestionMark: '?'; -Colon: ':'; -Ellipsis: '...'; -Dot: '.'; -PlusPlus: '++'; -MinusMinus: '--'; -Plus: '+'; -Minus: '-'; -BitNot: '~'; -// Not: '!'; -Not: 'NOT'; -Multiply: '*'; -Divide: '/'; -Modulus: '%'; -RightShiftArithmetic: '>>'; -LeftShiftArithmetic: '<<'; -RightShiftLogical: '>>>'; -LessThan: '<'; -MoreThan: '>'; -LessThanEquals: '<='; -GreaterThanEquals: '>='; -Equals_: '=='; -NotEquals: '!='; -IdentityEquals: '==='; -IdentityNotEquals: '!=='; -BitAnd: '&'; -BitXOr: '^'; -BitOr: '|'; -// And: '&&'; -// Or: '||'; -And: 'AND'; -Or: 'OR'; -Xor: 'XOR'; -MultiplyAssign: '*='; -DivideAssign: '/='; -ModulusAssign: '%='; -PlusAssign: '+='; -MinusAssign: '-='; -LeftShiftArithmeticAssign: '<<='; -RightShiftArithmeticAssign: '>>='; -RightShiftLogicalAssign: '>>>='; -BitAndAssign: '&='; -BitXorAssign: '^='; -BitOrAssign: '|='; -ARROW: '=>'; - -/// Null Literals - -NullLiteral: 'null'; - -/// Boolean Literals - -BooleanLiteral: 'true' - | 'false'; - -/// Numeric Literals - -IntegerLiteral: '-'? DecimalIntegerLiteral - ; - - -DecimalLiteral: DecimalIntegerLiteral '.' [0-9]* ExponentPart? - | '-'? '.' [0-9]+ ExponentPart? - | DecimalIntegerLiteral ExponentPart? - ; - - -HexIntegerLiteral: '0' [xX] HexDigit+; -OctalIntegerLiteral: '0' [0-7]+; -OctalIntegerLiteral2: '0' [oO] [0-7]+; -BinaryIntegerLiteral: '0' [bB] [01]+; - -/// Keywords -Optional: 'optional'; -Break: 'break'; -Do: 'do'; -Instanceof: 'instanceof'; -Typeof: 'typeof'; -Case: 'case'; -Else: 'else'; -New: 'new'; -Var: 'var'; -Catch: 'catch'; -Finally: 'finally'; -Return: 'return'; -Void: 'void'; -Continue: 'continue'; -For: 'for'; -Switch: 'switch'; -While: 'while'; -Debugger: 'debugger'; -Function_: 'function'; -This: 'this'; -With: 'with'; -Default: 'default'; -If: 'if'; -Throw: 'throw'; -Delete: 'delete'; -In: 'in'; -Try: 'try'; -As: 'as'; -From: 'from'; -ReadOnly: 'readonly'; -Async: 'async'; -Throws: 'throws'; -ApplyRules: 'applyRules'; - -/// Future Reserved Words - -// Class: 'class'; -// Enum: 'enum'; -Extends: 'extends'; -// Super: 'super'; -Const: 'const'; -// Export: 'export'; -// Import: 'import'; -RepoPort: 'RepoPort'; -Props: 'Props'; -ReadModel: 'ReadModel'; -DTO: 'DTO'; -RESTController: 'RESTController'; -GraphQLController: 'GraphQLController'; -GRPCController: 'GRPCController'; -UseCase: 'UseCase'; -ValueObject: 'ValueObject'; -AggregateRoot: 'AggregateRoot'; -Entity: 'Entity'; -DomainEvent: 'DomainEvent'; -Service: 'Service'; -Repository: 'Repository'; -Factory: 'Factory'; -DomainError: 'DomainError'; -ApplicationError: 'ApplicationError'; -DomainErrors: 'DomainErrors'; -ApplicationErrors: 'ApplicationErrors'; -OK: 'OK'; -Errors: 'Errors'; -Config: 'Config'; -PackagePort: 'PackagePort'; -VO: 'VO'; -Rule: 'Rule'; -IsBrokenIf: 'isBrokenIf'; -Root: 'Root'; -Constructor: 'constructor'; - -/// The following tokens are also considered to be FutureReservedWords -/// when parsing strict mode - -// Implements: 'implements' ; -Let: 'let' ; -Private: 'private' ; -Public: 'public' ; -// Interface: 'interface' ; -// Package: 'package' ; -Protected: 'protected' ; -Static: 'static' ; -// Yield: 'yield' ; - -//keywords: - -Any : 'any'; -Double: 'double'; -Float: 'float'; -Int32: 'int32'; -Int64: 'int64'; -Uint32: 'uint32'; -Uint64: 'uint64'; -Sint32: 'sint32'; -Sint64: 'sint64'; -Fixed32: 'fixed32'; -Fixed64: 'fixed64'; -Sfixed32: 'sfixed32'; -Sfixed64: 'sfixed64'; -Boolean: 'bool'; -String: 'string'; -Bytes: 'bytes'; -Timestamp: 'timestamp'; -Struct: 'Struct'; - -TypeAlias : 'type'; - -Get: 'get'; -Set: 'set'; - -// Constructor: 'constructor'; -Execute: 'execute'; -Create: 'create'; -Namespace: 'namespace'; -// Require: 'require'; -// Module: 'module'; -Declare: 'declare'; - -JestTest: 'JestTest'; -JestTestStatement: 'JestTestStatement'; -JestTestStatementList: 'JestTestStatementList'; -JestTestFunctionBody: 'JestTestFunctionBody'; -JestTestExecute: 'JestTestExecute'; -JestTestStructEvaluation: 'JestTestStructEvaluation'; -JestTestDTOEvaluation: 'JestTestDTOEvaluation'; -JestTestEvaluation: 'JestTestEvaluation'; -JestTestReturnOkErrorType: 'JestTestReturnOkErrorType'; -JestTestExpression: 'JestTestExpression'; -JestTestConstDeclaration: 'JestTestConstDeclaration'; -JestTestMethodDefinitionList: 'JestTestMethodDefinitionList'; -JestTestCreateMethodDeclaration: 'JestTestCreateMethodDeclaration'; -JestTestPrivateMethodDeclaration: 'JestTestPrivateMethodDeclaration'; -JestTestPublicMethodDeclaration: 'JestTestPublicMethodDeclaration'; -JestTestValueObjectDeclaration: 'JestTestValueObjectDeclaration'; -JestTestEntityDeclaration: 'JestTestEntityDeclaration'; -JestTestCondition: 'JestTestCondition'; -JestTestVariableDeclaration: 'JestTestVariableDeclaration'; -JestTestThisDeclaration: 'JestTestThisDeclaration'; -JestTestIsInstanceOf: 'JestTestIsInstanceOf'; -JestTestValueObjectEvaluation: 'JestTestValueObjectEvaluation'; -JestTestEntityEvaluation: 'JestTestEntityEvaluation'; -JestTestSingleExpression: 'JestTestSingleExpression'; -JestTestGetClass: 'JestTestGetClass'; -JestTestBuiltInFunction: 'JestTestBuiltInFunction'; -JestTestBuiltInClass: 'JestTestBuiltInClass'; -JestTestBitloopsPrimaryType: 'JestTestBitloopsPrimaryType'; - -// Abstract: 'abstract'; - -// BuiltInClasses -UUIDv4: 'UUIDv4'; - -Is: 'is'; -GetClass: 'getClass'; -ToString: 'toString'; - -// -// Ext.2 Additions to 1.8: Decorators -// -At: '@'; - -// Rest Controller -Method: 'method'; -MethodGet: 'REST.Methods.GET'; -MethodPost: 'REST.Methods.POST'; -MethodPut: 'REST.Methods.PUT'; -MethodPatch: 'REST.Methods.PATCH'; -MethodDelete: 'REST.Methods.DELETE'; -MethodOptions: 'REST.Methods.OPTIONS'; - -// GraphQL Controller -GraphQLOperation: 'operation'; -Input: 'input'; -OperationMutation: 'GraphQL.Operations.Mutation'; -OperationQuery: 'GraphQL.Operations.Query'; -OperationSubscription: 'GraphQL.Operations.Subscription'; - -ErrorClass: 'Error'; - -/// Identifier Names and Identifiers -DTOIdentifier: UpperCaseStart IdentifierPart* DTO; -ValueObjectIdentifier: UpperCaseStart IdentifierPart* VO; -EntityIdentifier: UpperCaseStart IdentifierPart* Entity; -ErrorIdentifier: (DomainErrors | ApplicationErrors) Dot UpperCaseStart IdentifierPart*; -ControllerIdentifier: UpperCaseStart IdentifierPart* 'Controller'; -UseCaseIdentifier: UpperCaseStart IdentifierPart* UseCase; -PackagePortIdentifier: UpperCaseStart IdentifierPart* PackagePort; -PropsIdentifier: UpperCaseStart IdentifierPart* Props; -ReadModelIdentifier: UpperCaseStart IdentifierPart* ReadModel; -RuleIdentifier: UpperCaseStart IdentifierPart* Rule; -RepoPortIdentifier: UpperCaseStart IdentifierPart* RepoPort; -DomainErrorIdentifier: UpperCaseStart IdentifierPart* 'Error'; -ValueObjectEvaluationIdentifier: UpperCaseStart IdentifierPart* VO; -UpperCaseIdentifier: UpperCaseStart IdentifierPart*; -Identifier: IdentifierStart IdentifierPart*; -// GetClassEvaluation: (RegularVariableEvaluation | ThisVariableEvaluation) '.getClass()'; - -// RegularMethodEvaluation: RegularVariableEvaluation '(' RegularVariableEvaluation? ')'; - -// ThisVariableEvaluation: This '.' RegularVariableEvaluation ; -// RegularVariableEvaluation: (RegularEvaluationPart | UpperCaseIdentifier) ('.' RegularEvaluationPart)*; - - - -/// String Literals -StringLiteral: ('"' DoubleStringCharacter* '"' - // | '\'' SingleStringCharacter* '\'') {this.ProcessStringLiteral();} - | '\'' SingleStringCharacter* '\'') - ; - -BackTick: '`' {this.IncreaseTemplateDepth();} -> pushMode(TEMPLATE); - -WhiteSpaces: [\t\u000B\u000C\u0020\u00A0]+ -> channel(HIDDEN); - -LineTerminator: [\r\n\u2028\u2029] -> channel(HIDDEN); - -/// Comments - - -HtmlComment: '' -> channel(HIDDEN); -CDataComment: '' -> channel(HIDDEN); -UnexpectedCharacter: . -> channel(ERROR); - -mode TEMPLATE; - -BackTickInside: '`' {this.DecreaseTemplateDepth();} -> type(BackTick), popMode; -TemplateStringStartExpression: '${' -> pushMode(DEFAULT_MODE); -TemplateStringAtom: ~[`]; - - -WS: [ \n\t\r]+ -> skip; - -// Fragment rules - -fragment DoubleStringCharacter - : ~["\\\r\n] - | '\\' EscapeSequence - | LineContinuation - ; -fragment SingleStringCharacter - : ~['\\\r\n] - | '\\' EscapeSequence - | LineContinuation - ; -fragment EscapeSequence - : CharacterEscapeSequence - | '0' // no digit ahead! TODO - | HexEscapeSequence - | UnicodeEscapeSequence - | ExtendedUnicodeEscapeSequence - ; -fragment CharacterEscapeSequence - : SingleEscapeCharacter - | NonEscapeCharacter - ; -fragment HexEscapeSequence - : 'x' HexDigit HexDigit - ; -fragment UnicodeEscapeSequence - : 'u' HexDigit HexDigit HexDigit HexDigit - ; -fragment ExtendedUnicodeEscapeSequence - : 'u' '{' HexDigit+ '}' - ; -fragment SingleEscapeCharacter - : ['"\\bfnrtv] - ; - -fragment NonEscapeCharacter - : ~['"\\bfnrtv0-9xu\r\n] - ; -fragment EscapeCharacter - : SingleEscapeCharacter - | [0-9] - | [xu] - ; -fragment LineContinuation - : '\\' [\r\n\u2028\u2029] - ; -fragment HexDigit - : [0-9a-fA-F] - ; -fragment DecimalIntegerLiteral - : '0' - | [1-9] [0-9]* - ; -fragment ExponentPart - : [eE] [+-]? [0-9]+ - ; -fragment RegularEvaluationPart: [a-zA-Z_][a-zA-Z0-9]*; -// fragment RegularMethodEvaluationPart: [a-zA-Z_][a-zA-Z0-9]*; -// fragment RegularEvaluationPart -// : RegularEvaluationStart -// | [\p{Mn}] -// | [\p{Nd}] -// | [\p{Pc}] -// | '\u200C' -// | '\u200D' -// ; -fragment RegularEvaluationStart - : [\p{L}] - | [$_] - | '\\' UnicodeEscapeSequence - ; -fragment IdentifierPart - : IdentifierStart - | [\p{Mn}] - | [\p{Nd}] - | [\p{Pc}] - | '\u200C' - | '\u200D' - ; -fragment IdentifierStart - : [\p{L}] - | [$_] - | '\\' UnicodeEscapeSequence - ; - -fragment UpperCaseStart - : [\p{Lu}] - ; - -fragment RegularExpressionFirstChar - : ~[*\r\n\u2028\u2029\\/[] - | RegularExpressionBackslashSequence - | '[' RegularExpressionClassChar* ']' - ; -fragment RegularExpressionChar - : ~[\r\n\u2028\u2029\\/[] - | RegularExpressionBackslashSequence - | '[' RegularExpressionClassChar* ']' - ; -fragment RegularExpressionClassChar - : ~[\r\n\u2028\u2029\]\\] - | RegularExpressionBackslashSequence - ; -fragment RegularExpressionBackslashSequence - : '\\' ~[\r\n\u2028\u2029] - ; diff --git a/server/src/parser/grammar/BitloopsLexer.interp b/server/src/parser/grammar/BitloopsLexer.interp deleted file mode 100644 index eb01c15..0000000 --- a/server/src/parser/grammar/BitloopsLexer.interp +++ /dev/null @@ -1,726 +0,0 @@ -token literal names: -null -null -null -null -'[' -']' -'(' -')' -'{' -null -'}' -';' -',' -'=' -'?' -':' -'...' -'.' -'++' -'--' -'+' -'-' -'~' -'NOT' -'*' -'/' -'%' -'>>' -'<<' -'>>>' -'<' -'>' -'<=' -'>=' -'==' -'!=' -'===' -'!==' -'&' -'^' -'|' -'AND' -'OR' -'XOR' -'*=' -'/=' -'%=' -'+=' -'-=' -'<<=' -'>>=' -'>>>=' -'&=' -'^=' -'|=' -'=>' -'null' -null -null -null -null -null -null -null -'optional' -'break' -'do' -'instanceof' -'typeof' -'case' -'else' -'new' -'var' -'catch' -'finally' -'return' -'void' -'continue' -'for' -'switch' -'while' -'debugger' -'function' -'this' -'with' -'default' -'if' -'throw' -'delete' -'in' -'try' -'as' -'from' -'readonly' -'async' -'throws' -'applyRules' -'extends' -'const' -'RepoPort' -'Props' -'ReadModel' -'DTO' -'RESTController' -'GraphQLController' -'GRPCController' -'UseCase' -'ValueObject' -'AggregateRoot' -'Entity' -'DomainEvent' -'Service' -'Repository' -'Factory' -'DomainError' -'ApplicationError' -'DomainErrors' -'ApplicationErrors' -'OK' -'Errors' -'Config' -'PackagePort' -'VO' -'Rule' -'isBrokenIf' -'Root' -'constructor' -'let' -'private' -'public' -'protected' -'static' -'any' -'double' -'float' -'int32' -'int64' -'uint32' -'uint64' -'sint32' -'sint64' -'fixed32' -'fixed64' -'sfixed32' -'sfixed64' -'bool' -'string' -'bytes' -'timestamp' -'Struct' -'type' -'get' -'set' -'execute' -'create' -'namespace' -'declare' -'JestTest' -'JestTestStatement' -'JestTestStatementList' -'JestTestFunctionBody' -'JestTestExecute' -'JestTestStructEvaluation' -'JestTestDTOEvaluation' -'JestTestEvaluation' -'JestTestReturnOkErrorType' -'JestTestExpression' -'JestTestConstDeclaration' -'JestTestMethodDefinitionList' -'JestTestCreateMethodDeclaration' -'JestTestPrivateMethodDeclaration' -'JestTestPublicMethodDeclaration' -'JestTestValueObjectDeclaration' -'JestTestEntityDeclaration' -'JestTestCondition' -'JestTestVariableDeclaration' -'JestTestThisDeclaration' -'JestTestIsInstanceOf' -'JestTestValueObjectEvaluation' -'JestTestEntityEvaluation' -'JestTestSingleExpression' -'JestTestGetClass' -'JestTestBuiltInFunction' -'JestTestBuiltInClass' -'JestTestBitloopsPrimaryType' -'UUIDv4' -'is' -'getClass' -'toString' -'@' -'method' -'REST.Methods.GET' -'REST.Methods.POST' -'REST.Methods.PUT' -'REST.Methods.PATCH' -'REST.Methods.DELETE' -'REST.Methods.OPTIONS' -'operation' -'input' -'GraphQL.Operations.Mutation' -'GraphQL.Operations.Query' -'GraphQL.Operations.Subscription' -'Error' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'${' -null -null - -token symbolic names: -null -MultiLineComment -SingleLineComment -RegularExpressionLiteral -OpenBracket -CloseBracket -OpenParen -CloseParen -OpenBrace -TemplateCloseBrace -CloseBrace -SemiColon -Comma -Assign -QuestionMark -Colon -Ellipsis -Dot -PlusPlus -MinusMinus -Plus -Minus -BitNot -Not -Multiply -Divide -Modulus -RightShiftArithmetic -LeftShiftArithmetic -RightShiftLogical -LessThan -MoreThan -LessThanEquals -GreaterThanEquals -Equals_ -NotEquals -IdentityEquals -IdentityNotEquals -BitAnd -BitXOr -BitOr -And -Or -Xor -MultiplyAssign -DivideAssign -ModulusAssign -PlusAssign -MinusAssign -LeftShiftArithmeticAssign -RightShiftArithmeticAssign -RightShiftLogicalAssign -BitAndAssign -BitXorAssign -BitOrAssign -ARROW -NullLiteral -BooleanLiteral -IntegerLiteral -DecimalLiteral -HexIntegerLiteral -OctalIntegerLiteral -OctalIntegerLiteral2 -BinaryIntegerLiteral -Optional -Break -Do -Instanceof -Typeof -Case -Else -New -Var -Catch -Finally -Return -Void -Continue -For -Switch -While -Debugger -Function_ -This -With -Default -If -Throw -Delete -In -Try -As -From -ReadOnly -Async -Throws -ApplyRules -Extends -Const -RepoPort -Props -ReadModel -DTO -RESTController -GraphQLController -GRPCController -UseCase -ValueObject -AggregateRoot -Entity -DomainEvent -Service -Repository -Factory -DomainError -ApplicationError -DomainErrors -ApplicationErrors -OK -Errors -Config -PackagePort -VO -Rule -IsBrokenIf -Root -Constructor -Let -Private -Public -Protected -Static -Any -Double -Float -Int32 -Int64 -Uint32 -Uint64 -Sint32 -Sint64 -Fixed32 -Fixed64 -Sfixed32 -Sfixed64 -Boolean -String -Bytes -Timestamp -Struct -TypeAlias -Get -Set -Execute -Create -Namespace -Declare -JestTest -JestTestStatement -JestTestStatementList -JestTestFunctionBody -JestTestExecute -JestTestStructEvaluation -JestTestDTOEvaluation -JestTestEvaluation -JestTestReturnOkErrorType -JestTestExpression -JestTestConstDeclaration -JestTestMethodDefinitionList -JestTestCreateMethodDeclaration -JestTestPrivateMethodDeclaration -JestTestPublicMethodDeclaration -JestTestValueObjectDeclaration -JestTestEntityDeclaration -JestTestCondition -JestTestVariableDeclaration -JestTestThisDeclaration -JestTestIsInstanceOf -JestTestValueObjectEvaluation -JestTestEntityEvaluation -JestTestSingleExpression -JestTestGetClass -JestTestBuiltInFunction -JestTestBuiltInClass -JestTestBitloopsPrimaryType -UUIDv4 -Is -GetClass -ToString -At -Method -MethodGet -MethodPost -MethodPut -MethodPatch -MethodDelete -MethodOptions -GraphQLOperation -Input -OperationMutation -OperationQuery -OperationSubscription -ErrorClass -DTOIdentifier -ValueObjectIdentifier -EntityIdentifier -ErrorIdentifier -ControllerIdentifier -UseCaseIdentifier -PackagePortIdentifier -PropsIdentifier -ReadModelIdentifier -RuleIdentifier -RepoPortIdentifier -DomainErrorIdentifier -ValueObjectEvaluationIdentifier -UpperCaseIdentifier -Identifier -StringLiteral -BackTick -WhiteSpaces -LineTerminator -HtmlComment -CDataComment -UnexpectedCharacter -TemplateStringStartExpression -TemplateStringAtom -WS - -rule names: -MultiLineComment -SingleLineComment -RegularExpressionLiteral -OpenBracket -CloseBracket -OpenParen -CloseParen -OpenBrace -TemplateCloseBrace -CloseBrace -SemiColon -Comma -Assign -QuestionMark -Colon -Ellipsis -Dot -PlusPlus -MinusMinus -Plus -Minus -BitNot -Not -Multiply -Divide -Modulus -RightShiftArithmetic -LeftShiftArithmetic -RightShiftLogical -LessThan -MoreThan -LessThanEquals -GreaterThanEquals -Equals_ -NotEquals -IdentityEquals -IdentityNotEquals -BitAnd -BitXOr -BitOr -And -Or -Xor -MultiplyAssign -DivideAssign -ModulusAssign -PlusAssign -MinusAssign -LeftShiftArithmeticAssign -RightShiftArithmeticAssign -RightShiftLogicalAssign -BitAndAssign -BitXorAssign -BitOrAssign -ARROW -NullLiteral -BooleanLiteral -IntegerLiteral -DecimalLiteral -HexIntegerLiteral -OctalIntegerLiteral -OctalIntegerLiteral2 -BinaryIntegerLiteral -Optional -Break -Do -Instanceof -Typeof -Case -Else -New -Var -Catch -Finally -Return -Void -Continue -For -Switch -While -Debugger -Function_ -This -With -Default -If -Throw -Delete -In -Try -As -From -ReadOnly -Async -Throws -ApplyRules -Extends -Const -RepoPort -Props -ReadModel -DTO -RESTController -GraphQLController -GRPCController -UseCase -ValueObject -AggregateRoot -Entity -DomainEvent -Service -Repository -Factory -DomainError -ApplicationError -DomainErrors -ApplicationErrors -OK -Errors -Config -PackagePort -VO -Rule -IsBrokenIf -Root -Constructor -Let -Private -Public -Protected -Static -Any -Double -Float -Int32 -Int64 -Uint32 -Uint64 -Sint32 -Sint64 -Fixed32 -Fixed64 -Sfixed32 -Sfixed64 -Boolean -String -Bytes -Timestamp -Struct -TypeAlias -Get -Set -Execute -Create -Namespace -Declare -JestTest -JestTestStatement -JestTestStatementList -JestTestFunctionBody -JestTestExecute -JestTestStructEvaluation -JestTestDTOEvaluation -JestTestEvaluation -JestTestReturnOkErrorType -JestTestExpression -JestTestConstDeclaration -JestTestMethodDefinitionList -JestTestCreateMethodDeclaration -JestTestPrivateMethodDeclaration -JestTestPublicMethodDeclaration -JestTestValueObjectDeclaration -JestTestEntityDeclaration -JestTestCondition -JestTestVariableDeclaration -JestTestThisDeclaration -JestTestIsInstanceOf -JestTestValueObjectEvaluation -JestTestEntityEvaluation -JestTestSingleExpression -JestTestGetClass -JestTestBuiltInFunction -JestTestBuiltInClass -JestTestBitloopsPrimaryType -UUIDv4 -Is -GetClass -ToString -At -Method -MethodGet -MethodPost -MethodPut -MethodPatch -MethodDelete -MethodOptions -GraphQLOperation -Input -OperationMutation -OperationQuery -OperationSubscription -ErrorClass -DTOIdentifier -ValueObjectIdentifier -EntityIdentifier -ErrorIdentifier -ControllerIdentifier -UseCaseIdentifier -PackagePortIdentifier -PropsIdentifier -ReadModelIdentifier -RuleIdentifier -RepoPortIdentifier -DomainErrorIdentifier -ValueObjectEvaluationIdentifier -UpperCaseIdentifier -Identifier -StringLiteral -BackTick -WhiteSpaces -LineTerminator -HtmlComment -CDataComment -UnexpectedCharacter -BackTickInside -TemplateStringStartExpression -TemplateStringAtom -WS -DoubleStringCharacter -SingleStringCharacter -EscapeSequence -CharacterEscapeSequence -HexEscapeSequence -UnicodeEscapeSequence -ExtendedUnicodeEscapeSequence -SingleEscapeCharacter -NonEscapeCharacter -EscapeCharacter -LineContinuation -HexDigit -DecimalIntegerLiteral -ExponentPart -RegularEvaluationPart -RegularEvaluationStart -IdentifierPart -IdentifierStart -UpperCaseStart -RegularExpressionFirstChar -RegularExpressionChar -RegularExpressionClassChar -RegularExpressionBackslashSequence - -channel names: -DEFAULT_TOKEN_CHANNEL -HIDDEN -null -null -ERROR - -mode names: -DEFAULT_MODE -TEMPLATE - -atn: -[4, 0, 227, 2774, 6, -1, 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, 1, 0, 1, 0, 1, 0, 1, 0, 5, 0, 509, 8, 0, 10, 0, 12, 0, 512, 9, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 523, 8, 1, 10, 1, 12, 1, 526, 9, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 5, 2, 533, 8, 2, 10, 2, 12, 2, 536, 9, 2, 1, 2, 1, 2, 1, 2, 5, 2, 541, 8, 2, 10, 2, 12, 2, 544, 9, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 24, 1, 24, 1, 25, 1, 25, 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, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 38, 1, 38, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 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, 3, 56, 708, 8, 56, 1, 57, 3, 57, 711, 8, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 5, 58, 718, 8, 58, 10, 58, 12, 58, 721, 9, 58, 1, 58, 3, 58, 724, 8, 58, 1, 58, 3, 58, 727, 8, 58, 1, 58, 1, 58, 4, 58, 731, 8, 58, 11, 58, 12, 58, 732, 1, 58, 3, 58, 736, 8, 58, 1, 58, 1, 58, 3, 58, 740, 8, 58, 3, 58, 742, 8, 58, 1, 59, 1, 59, 1, 59, 4, 59, 747, 8, 59, 11, 59, 12, 59, 748, 1, 60, 1, 60, 4, 60, 753, 8, 60, 11, 60, 12, 60, 754, 1, 61, 1, 61, 1, 61, 4, 61, 760, 8, 61, 11, 61, 12, 61, 761, 1, 62, 1, 62, 1, 62, 4, 62, 767, 8, 62, 11, 62, 12, 62, 768, 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, 64, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 1, 66, 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, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 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, 77, 1, 77, 1, 77, 1, 77, 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, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 81, 1, 81, 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, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 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, 92, 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, 95, 1, 95, 1, 95, 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, 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, 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, 100, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 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, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 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, 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, 107, 1, 107, 1, 107, 1, 107, 1, 108, 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, 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, 111, 1, 111, 1, 111, 1, 111, 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, 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, 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, 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, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 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, 120, 1, 120, 1, 121, 1, 121, 1, 121, 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, 123, 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 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, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, 129, 1, 129, 1, 129, 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, 131, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 1, 132, 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, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 136, 1, 136, 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, 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, 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, 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, 143, 1, 143, 1, 143, 1, 143, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 1, 147, 1, 147, 1, 147, 1, 147, 1, 147, 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, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 150, 1, 150, 1, 150, 1, 150, 1, 151, 1, 151, 1, 151, 1, 151, 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 153, 1, 153, 1, 153, 1, 153, 1, 153, 1, 153, 1, 153, 1, 154, 1, 154, 1, 154, 1, 154, 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, 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, 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, 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, 159, 1, 159, 1, 159, 1, 159, 1, 159, 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, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 160, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 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, 163, 1, 163, 1, 163, 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, 164, 1, 164, 1, 164, 1, 164, 1, 164, 1, 164, 1, 164, 1, 164, 1, 164, 1, 164, 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, 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, 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, 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 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, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 1, 168, 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, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 1, 169, 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, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 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, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 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, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 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, 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, 173, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 174, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 1, 179, 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, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 180, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 181, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 1, 182, 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, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 183, 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, 184, 1, 185, 1, 185, 1, 185, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 186, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 187, 1, 188, 1, 188, 1, 189, 1, 189, 1, 189, 1, 189, 1, 189, 1, 189, 1, 189, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 1, 191, 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, 192, 1, 192, 1, 192, 1, 192, 1, 192, 1, 192, 1, 192, 1, 192, 1, 192, 1, 192, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 193, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 1, 194, 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, 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, 196, 1, 196, 1, 196, 1, 196, 1, 197, 1, 197, 1, 197, 1, 197, 1, 197, 1, 197, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 1, 198, 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, 199, 1, 199, 1, 199, 1, 199, 1, 199, 1, 199, 1, 199, 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, 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 200, 1, 200, 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, 202, 1, 202, 5, 202, 2405, 8, 202, 10, 202, 12, 202, 2408, 9, 202, 1, 202, 1, 202, 1, 203, 1, 203, 5, 203, 2414, 8, 203, 10, 203, 12, 203, 2417, 9, 203, 1, 203, 1, 203, 1, 204, 1, 204, 5, 204, 2423, 8, 204, 10, 204, 12, 204, 2426, 9, 204, 1, 204, 1, 204, 1, 205, 1, 205, 3, 205, 2432, 8, 205, 1, 205, 1, 205, 1, 205, 5, 205, 2437, 8, 205, 10, 205, 12, 205, 2440, 9, 205, 1, 206, 1, 206, 5, 206, 2444, 8, 206, 10, 206, 12, 206, 2447, 9, 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, 206, 1, 207, 1, 207, 5, 207, 2462, 8, 207, 10, 207, 12, 207, 2465, 9, 207, 1, 207, 1, 207, 1, 208, 1, 208, 5, 208, 2471, 8, 208, 10, 208, 12, 208, 2474, 9, 208, 1, 208, 1, 208, 1, 209, 1, 209, 5, 209, 2480, 8, 209, 10, 209, 12, 209, 2483, 9, 209, 1, 209, 1, 209, 1, 210, 1, 210, 5, 210, 2489, 8, 210, 10, 210, 12, 210, 2492, 9, 210, 1, 210, 1, 210, 1, 211, 1, 211, 5, 211, 2498, 8, 211, 10, 211, 12, 211, 2501, 9, 211, 1, 211, 1, 211, 1, 212, 1, 212, 5, 212, 2507, 8, 212, 10, 212, 12, 212, 2510, 9, 212, 1, 212, 1, 212, 1, 213, 1, 213, 5, 213, 2516, 8, 213, 10, 213, 12, 213, 2519, 9, 213, 1, 213, 1, 213, 1, 213, 1, 213, 1, 213, 1, 213, 1, 214, 1, 214, 5, 214, 2529, 8, 214, 10, 214, 12, 214, 2532, 9, 214, 1, 214, 1, 214, 1, 215, 1, 215, 5, 215, 2538, 8, 215, 10, 215, 12, 215, 2541, 9, 215, 1, 216, 1, 216, 5, 216, 2545, 8, 216, 10, 216, 12, 216, 2548, 9, 216, 1, 217, 1, 217, 5, 217, 2552, 8, 217, 10, 217, 12, 217, 2555, 9, 217, 1, 217, 1, 217, 1, 217, 5, 217, 2560, 8, 217, 10, 217, 12, 217, 2563, 9, 217, 1, 217, 3, 217, 2566, 8, 217, 1, 218, 1, 218, 1, 218, 1, 218, 1, 218, 1, 219, 4, 219, 2574, 8, 219, 11, 219, 12, 219, 2575, 1, 219, 1, 219, 1, 220, 1, 220, 1, 220, 1, 220, 1, 221, 1, 221, 1, 221, 1, 221, 1, 221, 1, 221, 5, 221, 2590, 8, 221, 10, 221, 12, 221, 2593, 9, 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, 222, 1, 222, 1, 222, 1, 222, 5, 222, 2612, 8, 222, 10, 222, 12, 222, 2615, 9, 222, 1, 222, 1, 222, 1, 222, 1, 222, 1, 222, 1, 222, 1, 223, 1, 223, 1, 223, 1, 223, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 224, 1, 225, 1, 225, 1, 225, 1, 225, 1, 225, 1, 226, 1, 226, 1, 227, 4, 227, 2641, 8, 227, 11, 227, 12, 227, 2642, 1, 227, 1, 227, 1, 228, 1, 228, 1, 228, 1, 228, 3, 228, 2651, 8, 228, 1, 229, 1, 229, 1, 229, 1, 229, 3, 229, 2657, 8, 229, 1, 230, 1, 230, 1, 230, 1, 230, 1, 230, 3, 230, 2664, 8, 230, 1, 231, 1, 231, 3, 231, 2668, 8, 231, 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, 4, 234, 2683, 8, 234, 11, 234, 12, 234, 2684, 1, 234, 1, 234, 1, 235, 1, 235, 1, 236, 1, 236, 1, 237, 1, 237, 3, 237, 2695, 8, 237, 1, 238, 1, 238, 1, 238, 1, 239, 1, 239, 1, 240, 1, 240, 1, 240, 5, 240, 2705, 8, 240, 10, 240, 12, 240, 2708, 9, 240, 3, 240, 2710, 8, 240, 1, 241, 1, 241, 3, 241, 2714, 8, 241, 1, 241, 4, 241, 2717, 8, 241, 11, 241, 12, 241, 2718, 1, 242, 1, 242, 5, 242, 2723, 8, 242, 10, 242, 12, 242, 2726, 9, 242, 1, 243, 1, 243, 1, 243, 3, 243, 2731, 8, 243, 1, 244, 1, 244, 3, 244, 2735, 8, 244, 1, 245, 1, 245, 1, 245, 3, 245, 2740, 8, 245, 1, 246, 1, 246, 1, 247, 1, 247, 1, 247, 1, 247, 5, 247, 2748, 8, 247, 10, 247, 12, 247, 2751, 9, 247, 1, 247, 3, 247, 2754, 8, 247, 1, 248, 1, 248, 1, 248, 1, 248, 5, 248, 2760, 8, 248, 10, 248, 12, 248, 2763, 9, 248, 1, 248, 3, 248, 2766, 8, 248, 1, 249, 1, 249, 3, 249, 2770, 8, 249, 1, 250, 1, 250, 1, 250, 3, 510, 2591, 2613, 0, 251, 2, 1, 4, 2, 6, 3, 8, 4, 10, 5, 12, 6, 14, 7, 16, 8, 18, 9, 20, 10, 22, 11, 24, 12, 26, 13, 28, 14, 30, 15, 32, 16, 34, 17, 36, 18, 38, 19, 40, 20, 42, 21, 44, 22, 46, 23, 48, 24, 50, 25, 52, 26, 54, 27, 56, 28, 58, 29, 60, 30, 62, 31, 64, 32, 66, 33, 68, 34, 70, 35, 72, 36, 74, 37, 76, 38, 78, 39, 80, 40, 82, 41, 84, 42, 86, 43, 88, 44, 90, 45, 92, 46, 94, 47, 96, 48, 98, 49, 100, 50, 102, 51, 104, 52, 106, 53, 108, 54, 110, 55, 112, 56, 114, 57, 116, 58, 118, 59, 120, 60, 122, 61, 124, 62, 126, 63, 128, 64, 130, 65, 132, 66, 134, 67, 136, 68, 138, 69, 140, 70, 142, 71, 144, 72, 146, 73, 148, 74, 150, 75, 152, 76, 154, 77, 156, 78, 158, 79, 160, 80, 162, 81, 164, 82, 166, 83, 168, 84, 170, 85, 172, 86, 174, 87, 176, 88, 178, 89, 180, 90, 182, 91, 184, 92, 186, 93, 188, 94, 190, 95, 192, 96, 194, 97, 196, 98, 198, 99, 200, 100, 202, 101, 204, 102, 206, 103, 208, 104, 210, 105, 212, 106, 214, 107, 216, 108, 218, 109, 220, 110, 222, 111, 224, 112, 226, 113, 228, 114, 230, 115, 232, 116, 234, 117, 236, 118, 238, 119, 240, 120, 242, 121, 244, 122, 246, 123, 248, 124, 250, 125, 252, 126, 254, 127, 256, 128, 258, 129, 260, 130, 262, 131, 264, 132, 266, 133, 268, 134, 270, 135, 272, 136, 274, 137, 276, 138, 278, 139, 280, 140, 282, 141, 284, 142, 286, 143, 288, 144, 290, 145, 292, 146, 294, 147, 296, 148, 298, 149, 300, 150, 302, 151, 304, 152, 306, 153, 308, 154, 310, 155, 312, 156, 314, 157, 316, 158, 318, 159, 320, 160, 322, 161, 324, 162, 326, 163, 328, 164, 330, 165, 332, 166, 334, 167, 336, 168, 338, 169, 340, 170, 342, 171, 344, 172, 346, 173, 348, 174, 350, 175, 352, 176, 354, 177, 356, 178, 358, 179, 360, 180, 362, 181, 364, 182, 366, 183, 368, 184, 370, 185, 372, 186, 374, 187, 376, 188, 378, 189, 380, 190, 382, 191, 384, 192, 386, 193, 388, 194, 390, 195, 392, 196, 394, 197, 396, 198, 398, 199, 400, 200, 402, 201, 404, 202, 406, 203, 408, 204, 410, 205, 412, 206, 414, 207, 416, 208, 418, 209, 420, 210, 422, 211, 424, 212, 426, 213, 428, 214, 430, 215, 432, 216, 434, 217, 436, 218, 438, 219, 440, 220, 442, 221, 444, 222, 446, 223, 448, 224, 450, 0, 452, 225, 454, 226, 456, 227, 458, 0, 460, 0, 462, 0, 464, 0, 466, 0, 468, 0, 470, 0, 472, 0, 474, 0, 476, 0, 478, 0, 480, 0, 482, 0, 484, 0, 486, 0, 488, 0, 490, 0, 492, 0, 494, 0, 496, 0, 498, 0, 500, 0, 502, 0, 2, 0, 1, 27, 3, 0, 10, 10, 13, 13, 8232, 8233, 1, 0, 48, 57, 2, 0, 88, 88, 120, 120, 1, 0, 48, 55, 2, 0, 79, 79, 111, 111, 2, 0, 66, 66, 98, 98, 1, 0, 48, 49, 4, 0, 9, 9, 11, 12, 32, 32, 160, 160, 1, 0, 96, 96, 3, 0, 9, 10, 13, 13, 32, 32, 4, 0, 10, 10, 13, 13, 34, 34, 92, 92, 4, 0, 10, 10, 13, 13, 39, 39, 92, 92, 9, 0, 34, 34, 39, 39, 92, 92, 98, 98, 102, 102, 110, 110, 114, 114, 116, 116, 118, 118, 12, 0, 10, 10, 13, 13, 34, 34, 39, 39, 48, 57, 92, 92, 98, 98, 102, 102, 110, 110, 114, 114, 116, 118, 120, 120, 3, 0, 48, 57, 117, 117, 120, 120, 3, 0, 48, 57, 65, 70, 97, 102, 1, 0, 49, 57, 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 3, 0, 65, 90, 95, 95, 97, 122, 3, 0, 48, 57, 65, 90, 97, 122, 624, 0, 36, 36, 65, 90, 95, 95, 97, 122, 170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 880, 884, 886, 887, 890, 893, 895, 895, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1162, 1327, 1329, 1366, 1369, 1369, 1376, 1416, 1488, 1514, 1519, 1522, 1568, 1610, 1646, 1647, 1649, 1747, 1749, 1749, 1765, 1766, 1774, 1775, 1786, 1788, 1791, 1791, 1808, 1808, 1810, 1839, 1869, 1957, 1969, 1969, 1994, 2026, 2036, 2037, 2042, 2042, 2048, 2069, 2074, 2074, 2084, 2084, 2088, 2088, 2112, 2136, 2144, 2154, 2208, 2228, 2230, 2247, 2308, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2417, 2432, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2493, 2493, 2510, 2510, 2524, 2525, 2527, 2529, 2544, 2545, 2556, 2556, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2785, 2809, 2809, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2929, 2929, 2947, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3024, 3024, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3129, 3133, 3133, 3160, 3162, 3168, 3169, 3200, 3200, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3261, 3261, 3294, 3294, 3296, 3297, 3313, 3314, 3332, 3340, 3342, 3344, 3346, 3386, 3389, 3389, 3406, 3406, 3412, 3414, 3423, 3425, 3450, 3455, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3635, 3648, 3654, 3713, 3714, 3716, 3716, 3718, 3722, 3724, 3747, 3749, 3749, 3751, 3760, 3762, 3763, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3807, 3840, 3840, 3904, 3911, 3913, 3948, 3976, 3980, 4096, 4138, 4159, 4159, 4176, 4181, 4186, 4189, 4193, 4193, 4197, 4198, 4206, 4208, 4213, 4225, 4238, 4238, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4992, 5007, 5024, 5109, 5112, 5117, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5873, 5880, 5888, 5900, 5902, 5905, 5920, 5937, 5952, 5969, 5984, 5996, 5998, 6000, 6016, 6067, 6103, 6103, 6108, 6108, 6176, 6264, 6272, 6276, 6279, 6312, 6314, 6314, 6320, 6389, 6400, 6430, 6480, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6656, 6678, 6688, 6740, 6823, 6823, 6917, 6963, 6981, 6987, 7043, 7072, 7086, 7087, 7098, 7141, 7168, 7203, 7245, 7247, 7258, 7293, 7296, 7304, 7312, 7354, 7357, 7359, 7401, 7404, 7406, 7411, 7413, 7414, 7418, 7418, 7424, 7615, 7680, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8305, 8305, 8319, 8319, 8336, 8348, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8579, 8580, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11502, 11506, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11648, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11823, 11823, 12293, 12294, 12337, 12341, 12347, 12348, 12353, 12438, 12445, 12447, 12449, 12538, 12540, 12543, 12549, 12591, 12593, 12686, 12704, 12735, 12784, 12799, 13312, 19903, 19968, 40956, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42527, 42538, 42539, 42560, 42606, 42623, 42653, 42656, 42725, 42775, 42783, 42786, 42888, 42891, 42943, 42946, 42954, 42997, 43009, 43011, 43013, 43015, 43018, 43020, 43042, 43072, 43123, 43138, 43187, 43250, 43255, 43259, 43259, 43261, 43262, 43274, 43301, 43312, 43334, 43360, 43388, 43396, 43442, 43471, 43471, 43488, 43492, 43494, 43503, 43514, 43518, 43520, 43560, 43584, 43586, 43588, 43595, 43616, 43638, 43642, 43642, 43646, 43695, 43697, 43697, 43701, 43702, 43705, 43709, 43712, 43712, 43714, 43714, 43739, 43741, 43744, 43754, 43762, 43764, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43824, 43866, 43868, 43881, 43888, 44002, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65136, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500, 65536, 65547, 65549, 65574, 65576, 65594, 65596, 65597, 65599, 65613, 65616, 65629, 65664, 65786, 66176, 66204, 66208, 66256, 66304, 66335, 66349, 66368, 66370, 66377, 66384, 66421, 66432, 66461, 66464, 66499, 66504, 66511, 66560, 66717, 66736, 66771, 66776, 66811, 66816, 66855, 66864, 66915, 67072, 67382, 67392, 67413, 67424, 67431, 67584, 67589, 67592, 67592, 67594, 67637, 67639, 67640, 67644, 67644, 67647, 67669, 67680, 67702, 67712, 67742, 67808, 67826, 67828, 67829, 67840, 67861, 67872, 67897, 67968, 68023, 68030, 68031, 68096, 68096, 68112, 68115, 68117, 68119, 68121, 68149, 68192, 68220, 68224, 68252, 68288, 68295, 68297, 68324, 68352, 68405, 68416, 68437, 68448, 68466, 68480, 68497, 68608, 68680, 68736, 68786, 68800, 68850, 68864, 68899, 69248, 69289, 69296, 69297, 69376, 69404, 69415, 69415, 69424, 69445, 69552, 69572, 69600, 69622, 69635, 69687, 69763, 69807, 69840, 69864, 69891, 69926, 69956, 69956, 69959, 69959, 69968, 70002, 70006, 70006, 70019, 70066, 70081, 70084, 70106, 70106, 70108, 70108, 70144, 70161, 70163, 70187, 70272, 70278, 70280, 70280, 70282, 70285, 70287, 70301, 70303, 70312, 70320, 70366, 70405, 70412, 70415, 70416, 70419, 70440, 70442, 70448, 70450, 70451, 70453, 70457, 70461, 70461, 70480, 70480, 70493, 70497, 70656, 70708, 70727, 70730, 70751, 70753, 70784, 70831, 70852, 70853, 70855, 70855, 71040, 71086, 71128, 71131, 71168, 71215, 71236, 71236, 71296, 71338, 71352, 71352, 71424, 71450, 71680, 71723, 71840, 71903, 71935, 71942, 71945, 71945, 71948, 71955, 71957, 71958, 71960, 71983, 71999, 71999, 72001, 72001, 72096, 72103, 72106, 72144, 72161, 72161, 72163, 72163, 72192, 72192, 72203, 72242, 72250, 72250, 72272, 72272, 72284, 72329, 72349, 72349, 72384, 72440, 72704, 72712, 72714, 72750, 72768, 72768, 72818, 72847, 72960, 72966, 72968, 72969, 72971, 73008, 73030, 73030, 73056, 73061, 73063, 73064, 73066, 73097, 73112, 73112, 73440, 73458, 73648, 73648, 73728, 74649, 74880, 75075, 77824, 78894, 82944, 83526, 92160, 92728, 92736, 92766, 92880, 92909, 92928, 92975, 92992, 92995, 93027, 93047, 93053, 93071, 93760, 93823, 93952, 94026, 94032, 94032, 94099, 94111, 94176, 94177, 94179, 94179, 94208, 100343, 100352, 101589, 101632, 101640, 110592, 110878, 110928, 110930, 110948, 110951, 110960, 111355, 113664, 113770, 113776, 113788, 113792, 113800, 113808, 113817, 119808, 119892, 119894, 119964, 119966, 119967, 119970, 119970, 119973, 119974, 119977, 119980, 119982, 119993, 119995, 119995, 119997, 120003, 120005, 120069, 120071, 120074, 120077, 120084, 120086, 120092, 120094, 120121, 120123, 120126, 120128, 120132, 120134, 120134, 120138, 120144, 120146, 120485, 120488, 120512, 120514, 120538, 120540, 120570, 120572, 120596, 120598, 120628, 120630, 120654, 120656, 120686, 120688, 120712, 120714, 120744, 120746, 120770, 120772, 120779, 123136, 123180, 123191, 123197, 123214, 123214, 123584, 123627, 124928, 125124, 125184, 125251, 125259, 125259, 126464, 126467, 126469, 126495, 126497, 126498, 126500, 126500, 126503, 126503, 126505, 126514, 126516, 126519, 126521, 126521, 126523, 126523, 126530, 126530, 126535, 126535, 126537, 126537, 126539, 126539, 126541, 126543, 126545, 126546, 126548, 126548, 126551, 126551, 126553, 126553, 126555, 126555, 126557, 126557, 126559, 126559, 126561, 126562, 126564, 126564, 126567, 126570, 126572, 126578, 126580, 126583, 126585, 126588, 126590, 126590, 126592, 126601, 126603, 126619, 126625, 126627, 126629, 126633, 126635, 126651, 131072, 173789, 173824, 177972, 177984, 178205, 178208, 183969, 183984, 191456, 194560, 195101, 196608, 201546, 389, 0, 48, 57, 95, 95, 768, 879, 1155, 1159, 1425, 1469, 1471, 1471, 1473, 1474, 1476, 1477, 1479, 1479, 1552, 1562, 1611, 1641, 1648, 1648, 1750, 1756, 1759, 1764, 1767, 1768, 1770, 1773, 1776, 1785, 1809, 1809, 1840, 1866, 1958, 1968, 1984, 1993, 2027, 2035, 2045, 2045, 2070, 2073, 2075, 2083, 2085, 2087, 2089, 2093, 2137, 2139, 2259, 2273, 2275, 2306, 2362, 2362, 2364, 2364, 2369, 2376, 2381, 2381, 2385, 2391, 2402, 2403, 2406, 2415, 2433, 2433, 2492, 2492, 2497, 2500, 2509, 2509, 2530, 2531, 2534, 2543, 2558, 2558, 2561, 2562, 2620, 2620, 2625, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2662, 2673, 2677, 2677, 2689, 2690, 2748, 2748, 2753, 2757, 2759, 2760, 2765, 2765, 2786, 2787, 2790, 2799, 2810, 2815, 2817, 2817, 2876, 2876, 2879, 2879, 2881, 2884, 2893, 2893, 2901, 2902, 2914, 2915, 2918, 2927, 2946, 2946, 3008, 3008, 3021, 3021, 3046, 3055, 3072, 3072, 3076, 3076, 3134, 3136, 3142, 3144, 3146, 3149, 3157, 3158, 3170, 3171, 3174, 3183, 3201, 3201, 3260, 3260, 3263, 3263, 3270, 3270, 3276, 3277, 3298, 3299, 3302, 3311, 3328, 3329, 3387, 3388, 3393, 3396, 3405, 3405, 3426, 3427, 3430, 3439, 3457, 3457, 3530, 3530, 3538, 3540, 3542, 3542, 3558, 3567, 3633, 3633, 3636, 3642, 3655, 3662, 3664, 3673, 3761, 3761, 3764, 3772, 3784, 3789, 3792, 3801, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3953, 3966, 3968, 3972, 3974, 3975, 3981, 3991, 3993, 4028, 4038, 4038, 4141, 4144, 4146, 4151, 4153, 4154, 4157, 4158, 4160, 4169, 4184, 4185, 4190, 4192, 4209, 4212, 4226, 4226, 4229, 4230, 4237, 4237, 4240, 4249, 4253, 4253, 4957, 4959, 5906, 5908, 5938, 5940, 5970, 5971, 6002, 6003, 6068, 6069, 6071, 6077, 6086, 6086, 6089, 6099, 6109, 6109, 6112, 6121, 6155, 6157, 6160, 6169, 6277, 6278, 6313, 6313, 6432, 6434, 6439, 6440, 6450, 6450, 6457, 6459, 6470, 6479, 6608, 6617, 6679, 6680, 6683, 6683, 6742, 6742, 6744, 6750, 6752, 6752, 6754, 6754, 6757, 6764, 6771, 6780, 6783, 6793, 6800, 6809, 6832, 6845, 6847, 6848, 6912, 6915, 6964, 6964, 6966, 6970, 6972, 6972, 6978, 6978, 6992, 7001, 7019, 7027, 7040, 7041, 7074, 7077, 7080, 7081, 7083, 7085, 7088, 7097, 7142, 7142, 7144, 7145, 7149, 7149, 7151, 7153, 7212, 7219, 7222, 7223, 7232, 7241, 7248, 7257, 7376, 7378, 7380, 7392, 7394, 7400, 7405, 7405, 7412, 7412, 7416, 7417, 7616, 7673, 7675, 7679, 8204, 8205, 8255, 8256, 8276, 8276, 8400, 8412, 8417, 8417, 8421, 8432, 11503, 11505, 11647, 11647, 11744, 11775, 12330, 12333, 12441, 12442, 42528, 42537, 42607, 42607, 42612, 42621, 42654, 42655, 42736, 42737, 43010, 43010, 43014, 43014, 43019, 43019, 43045, 43046, 43052, 43052, 43204, 43205, 43216, 43225, 43232, 43249, 43263, 43273, 43302, 43309, 43335, 43345, 43392, 43394, 43443, 43443, 43446, 43449, 43452, 43453, 43472, 43481, 43493, 43493, 43504, 43513, 43561, 43566, 43569, 43570, 43573, 43574, 43587, 43587, 43596, 43596, 43600, 43609, 43644, 43644, 43696, 43696, 43698, 43700, 43703, 43704, 43710, 43711, 43713, 43713, 43756, 43757, 43766, 43766, 44005, 44005, 44008, 44008, 44013, 44013, 44016, 44025, 64286, 64286, 65024, 65039, 65056, 65071, 65075, 65076, 65101, 65103, 65296, 65305, 65343, 65343, 66045, 66045, 66272, 66272, 66422, 66426, 66720, 66729, 68097, 68099, 68101, 68102, 68108, 68111, 68152, 68154, 68159, 68159, 68325, 68326, 68900, 68903, 68912, 68921, 69291, 69292, 69446, 69456, 69633, 69633, 69688, 69702, 69734, 69743, 69759, 69761, 69811, 69814, 69817, 69818, 69872, 69881, 69888, 69890, 69927, 69931, 69933, 69940, 69942, 69951, 70003, 70003, 70016, 70017, 70070, 70078, 70089, 70092, 70095, 70105, 70191, 70193, 70196, 70196, 70198, 70199, 70206, 70206, 70367, 70367, 70371, 70378, 70384, 70393, 70400, 70401, 70459, 70460, 70464, 70464, 70502, 70508, 70512, 70516, 70712, 70719, 70722, 70724, 70726, 70726, 70736, 70745, 70750, 70750, 70835, 70840, 70842, 70842, 70847, 70848, 70850, 70851, 70864, 70873, 71090, 71093, 71100, 71101, 71103, 71104, 71132, 71133, 71219, 71226, 71229, 71229, 71231, 71232, 71248, 71257, 71339, 71339, 71341, 71341, 71344, 71349, 71351, 71351, 71360, 71369, 71453, 71455, 71458, 71461, 71463, 71467, 71472, 71481, 71727, 71735, 71737, 71738, 71904, 71913, 71995, 71996, 71998, 71998, 72003, 72003, 72016, 72025, 72148, 72151, 72154, 72155, 72160, 72160, 72193, 72202, 72243, 72248, 72251, 72254, 72263, 72263, 72273, 72278, 72281, 72283, 72330, 72342, 72344, 72345, 72752, 72758, 72760, 72765, 72767, 72767, 72784, 72793, 72850, 72871, 72874, 72880, 72882, 72883, 72885, 72886, 73009, 73014, 73018, 73018, 73020, 73021, 73023, 73029, 73031, 73031, 73040, 73049, 73104, 73105, 73109, 73109, 73111, 73111, 73120, 73129, 73459, 73460, 92768, 92777, 92912, 92916, 92976, 92982, 93008, 93017, 94031, 94031, 94095, 94098, 94180, 94180, 113821, 113822, 119143, 119145, 119163, 119170, 119173, 119179, 119210, 119213, 119362, 119364, 120782, 120831, 121344, 121398, 121403, 121452, 121461, 121461, 121476, 121476, 121499, 121503, 121505, 121519, 122880, 122886, 122888, 122904, 122907, 122913, 122915, 122916, 122918, 122922, 123184, 123190, 123200, 123209, 123628, 123641, 125136, 125142, 125252, 125258, 125264, 125273, 130032, 130041, 917760, 917999, 638, 0, 65, 90, 192, 214, 216, 222, 256, 256, 258, 258, 260, 260, 262, 262, 264, 264, 266, 266, 268, 268, 270, 270, 272, 272, 274, 274, 276, 276, 278, 278, 280, 280, 282, 282, 284, 284, 286, 286, 288, 288, 290, 290, 292, 292, 294, 294, 296, 296, 298, 298, 300, 300, 302, 302, 304, 304, 306, 306, 308, 308, 310, 310, 313, 313, 315, 315, 317, 317, 319, 319, 321, 321, 323, 323, 325, 325, 327, 327, 330, 330, 332, 332, 334, 334, 336, 336, 338, 338, 340, 340, 342, 342, 344, 344, 346, 346, 348, 348, 350, 350, 352, 352, 354, 354, 356, 356, 358, 358, 360, 360, 362, 362, 364, 364, 366, 366, 368, 368, 370, 370, 372, 372, 374, 374, 376, 377, 379, 379, 381, 381, 385, 386, 388, 388, 390, 391, 393, 395, 398, 401, 403, 404, 406, 408, 412, 413, 415, 416, 418, 418, 420, 420, 422, 423, 425, 425, 428, 428, 430, 431, 433, 435, 437, 437, 439, 440, 444, 444, 452, 452, 455, 455, 458, 458, 461, 461, 463, 463, 465, 465, 467, 467, 469, 469, 471, 471, 473, 473, 475, 475, 478, 478, 480, 480, 482, 482, 484, 484, 486, 486, 488, 488, 490, 490, 492, 492, 494, 494, 497, 497, 500, 500, 502, 504, 506, 506, 508, 508, 510, 510, 512, 512, 514, 514, 516, 516, 518, 518, 520, 520, 522, 522, 524, 524, 526, 526, 528, 528, 530, 530, 532, 532, 534, 534, 536, 536, 538, 538, 540, 540, 542, 542, 544, 544, 546, 546, 548, 548, 550, 550, 552, 552, 554, 554, 556, 556, 558, 558, 560, 560, 562, 562, 570, 571, 573, 574, 577, 577, 579, 582, 584, 584, 586, 586, 588, 588, 590, 590, 880, 880, 882, 882, 886, 886, 895, 895, 902, 902, 904, 906, 908, 908, 910, 911, 913, 929, 931, 939, 975, 975, 978, 980, 984, 984, 986, 986, 988, 988, 990, 990, 992, 992, 994, 994, 996, 996, 998, 998, 1000, 1000, 1002, 1002, 1004, 1004, 1006, 1006, 1012, 1012, 1015, 1015, 1017, 1018, 1021, 1071, 1120, 1120, 1122, 1122, 1124, 1124, 1126, 1126, 1128, 1128, 1130, 1130, 1132, 1132, 1134, 1134, 1136, 1136, 1138, 1138, 1140, 1140, 1142, 1142, 1144, 1144, 1146, 1146, 1148, 1148, 1150, 1150, 1152, 1152, 1162, 1162, 1164, 1164, 1166, 1166, 1168, 1168, 1170, 1170, 1172, 1172, 1174, 1174, 1176, 1176, 1178, 1178, 1180, 1180, 1182, 1182, 1184, 1184, 1186, 1186, 1188, 1188, 1190, 1190, 1192, 1192, 1194, 1194, 1196, 1196, 1198, 1198, 1200, 1200, 1202, 1202, 1204, 1204, 1206, 1206, 1208, 1208, 1210, 1210, 1212, 1212, 1214, 1214, 1216, 1217, 1219, 1219, 1221, 1221, 1223, 1223, 1225, 1225, 1227, 1227, 1229, 1229, 1232, 1232, 1234, 1234, 1236, 1236, 1238, 1238, 1240, 1240, 1242, 1242, 1244, 1244, 1246, 1246, 1248, 1248, 1250, 1250, 1252, 1252, 1254, 1254, 1256, 1256, 1258, 1258, 1260, 1260, 1262, 1262, 1264, 1264, 1266, 1266, 1268, 1268, 1270, 1270, 1272, 1272, 1274, 1274, 1276, 1276, 1278, 1278, 1280, 1280, 1282, 1282, 1284, 1284, 1286, 1286, 1288, 1288, 1290, 1290, 1292, 1292, 1294, 1294, 1296, 1296, 1298, 1298, 1300, 1300, 1302, 1302, 1304, 1304, 1306, 1306, 1308, 1308, 1310, 1310, 1312, 1312, 1314, 1314, 1316, 1316, 1318, 1318, 1320, 1320, 1322, 1322, 1324, 1324, 1326, 1326, 1329, 1366, 4256, 4293, 4295, 4295, 4301, 4301, 5024, 5109, 7312, 7354, 7357, 7359, 7680, 7680, 7682, 7682, 7684, 7684, 7686, 7686, 7688, 7688, 7690, 7690, 7692, 7692, 7694, 7694, 7696, 7696, 7698, 7698, 7700, 7700, 7702, 7702, 7704, 7704, 7706, 7706, 7708, 7708, 7710, 7710, 7712, 7712, 7714, 7714, 7716, 7716, 7718, 7718, 7720, 7720, 7722, 7722, 7724, 7724, 7726, 7726, 7728, 7728, 7730, 7730, 7732, 7732, 7734, 7734, 7736, 7736, 7738, 7738, 7740, 7740, 7742, 7742, 7744, 7744, 7746, 7746, 7748, 7748, 7750, 7750, 7752, 7752, 7754, 7754, 7756, 7756, 7758, 7758, 7760, 7760, 7762, 7762, 7764, 7764, 7766, 7766, 7768, 7768, 7770, 7770, 7772, 7772, 7774, 7774, 7776, 7776, 7778, 7778, 7780, 7780, 7782, 7782, 7784, 7784, 7786, 7786, 7788, 7788, 7790, 7790, 7792, 7792, 7794, 7794, 7796, 7796, 7798, 7798, 7800, 7800, 7802, 7802, 7804, 7804, 7806, 7806, 7808, 7808, 7810, 7810, 7812, 7812, 7814, 7814, 7816, 7816, 7818, 7818, 7820, 7820, 7822, 7822, 7824, 7824, 7826, 7826, 7828, 7828, 7838, 7838, 7840, 7840, 7842, 7842, 7844, 7844, 7846, 7846, 7848, 7848, 7850, 7850, 7852, 7852, 7854, 7854, 7856, 7856, 7858, 7858, 7860, 7860, 7862, 7862, 7864, 7864, 7866, 7866, 7868, 7868, 7870, 7870, 7872, 7872, 7874, 7874, 7876, 7876, 7878, 7878, 7880, 7880, 7882, 7882, 7884, 7884, 7886, 7886, 7888, 7888, 7890, 7890, 7892, 7892, 7894, 7894, 7896, 7896, 7898, 7898, 7900, 7900, 7902, 7902, 7904, 7904, 7906, 7906, 7908, 7908, 7910, 7910, 7912, 7912, 7914, 7914, 7916, 7916, 7918, 7918, 7920, 7920, 7922, 7922, 7924, 7924, 7926, 7926, 7928, 7928, 7930, 7930, 7932, 7932, 7934, 7934, 7944, 7951, 7960, 7965, 7976, 7983, 7992, 7999, 8008, 8013, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8031, 8040, 8047, 8120, 8123, 8136, 8139, 8152, 8155, 8168, 8172, 8184, 8187, 8450, 8450, 8455, 8455, 8459, 8461, 8464, 8466, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8496, 8499, 8510, 8511, 8517, 8517, 8579, 8579, 11264, 11310, 11360, 11360, 11362, 11364, 11367, 11367, 11369, 11369, 11371, 11371, 11373, 11376, 11378, 11378, 11381, 11381, 11390, 11392, 11394, 11394, 11396, 11396, 11398, 11398, 11400, 11400, 11402, 11402, 11404, 11404, 11406, 11406, 11408, 11408, 11410, 11410, 11412, 11412, 11414, 11414, 11416, 11416, 11418, 11418, 11420, 11420, 11422, 11422, 11424, 11424, 11426, 11426, 11428, 11428, 11430, 11430, 11432, 11432, 11434, 11434, 11436, 11436, 11438, 11438, 11440, 11440, 11442, 11442, 11444, 11444, 11446, 11446, 11448, 11448, 11450, 11450, 11452, 11452, 11454, 11454, 11456, 11456, 11458, 11458, 11460, 11460, 11462, 11462, 11464, 11464, 11466, 11466, 11468, 11468, 11470, 11470, 11472, 11472, 11474, 11474, 11476, 11476, 11478, 11478, 11480, 11480, 11482, 11482, 11484, 11484, 11486, 11486, 11488, 11488, 11490, 11490, 11499, 11499, 11501, 11501, 11506, 11506, 42560, 42560, 42562, 42562, 42564, 42564, 42566, 42566, 42568, 42568, 42570, 42570, 42572, 42572, 42574, 42574, 42576, 42576, 42578, 42578, 42580, 42580, 42582, 42582, 42584, 42584, 42586, 42586, 42588, 42588, 42590, 42590, 42592, 42592, 42594, 42594, 42596, 42596, 42598, 42598, 42600, 42600, 42602, 42602, 42604, 42604, 42624, 42624, 42626, 42626, 42628, 42628, 42630, 42630, 42632, 42632, 42634, 42634, 42636, 42636, 42638, 42638, 42640, 42640, 42642, 42642, 42644, 42644, 42646, 42646, 42648, 42648, 42650, 42650, 42786, 42786, 42788, 42788, 42790, 42790, 42792, 42792, 42794, 42794, 42796, 42796, 42798, 42798, 42802, 42802, 42804, 42804, 42806, 42806, 42808, 42808, 42810, 42810, 42812, 42812, 42814, 42814, 42816, 42816, 42818, 42818, 42820, 42820, 42822, 42822, 42824, 42824, 42826, 42826, 42828, 42828, 42830, 42830, 42832, 42832, 42834, 42834, 42836, 42836, 42838, 42838, 42840, 42840, 42842, 42842, 42844, 42844, 42846, 42846, 42848, 42848, 42850, 42850, 42852, 42852, 42854, 42854, 42856, 42856, 42858, 42858, 42860, 42860, 42862, 42862, 42873, 42873, 42875, 42875, 42877, 42878, 42880, 42880, 42882, 42882, 42884, 42884, 42886, 42886, 42891, 42891, 42893, 42893, 42896, 42896, 42898, 42898, 42902, 42902, 42904, 42904, 42906, 42906, 42908, 42908, 42910, 42910, 42912, 42912, 42914, 42914, 42916, 42916, 42918, 42918, 42920, 42920, 42922, 42926, 42928, 42932, 42934, 42934, 42936, 42936, 42938, 42938, 42940, 42940, 42942, 42942, 42946, 42946, 42948, 42951, 42953, 42953, 42997, 42997, 65313, 65338, 66560, 66599, 66736, 66771, 68736, 68786, 71840, 71871, 93760, 93791, 119808, 119833, 119860, 119885, 119912, 119937, 119964, 119964, 119966, 119967, 119970, 119970, 119973, 119974, 119977, 119980, 119982, 119989, 120016, 120041, 120068, 120069, 120071, 120074, 120077, 120084, 120086, 120092, 120120, 120121, 120123, 120126, 120128, 120132, 120134, 120134, 120138, 120144, 120172, 120197, 120224, 120249, 120276, 120301, 120328, 120353, 120380, 120405, 120432, 120457, 120488, 120512, 120546, 120570, 120604, 120628, 120662, 120686, 120720, 120744, 120778, 120778, 125184, 125217, 6, 0, 10, 10, 13, 13, 42, 42, 47, 47, 91, 92, 8232, 8233, 5, 0, 10, 10, 13, 13, 47, 47, 91, 92, 8232, 8233, 4, 0, 10, 10, 13, 13, 92, 93, 8232, 8233, 2816, 0, 2, 1, 0, 0, 0, 0, 4, 1, 0, 0, 0, 0, 6, 1, 0, 0, 0, 0, 8, 1, 0, 0, 0, 0, 10, 1, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 14, 1, 0, 0, 0, 0, 16, 1, 0, 0, 0, 0, 18, 1, 0, 0, 0, 0, 20, 1, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 24, 1, 0, 0, 0, 0, 26, 1, 0, 0, 0, 0, 28, 1, 0, 0, 0, 0, 30, 1, 0, 0, 0, 0, 32, 1, 0, 0, 0, 0, 34, 1, 0, 0, 0, 0, 36, 1, 0, 0, 0, 0, 38, 1, 0, 0, 0, 0, 40, 1, 0, 0, 0, 0, 42, 1, 0, 0, 0, 0, 44, 1, 0, 0, 0, 0, 46, 1, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 50, 1, 0, 0, 0, 0, 52, 1, 0, 0, 0, 0, 54, 1, 0, 0, 0, 0, 56, 1, 0, 0, 0, 0, 58, 1, 0, 0, 0, 0, 60, 1, 0, 0, 0, 0, 62, 1, 0, 0, 0, 0, 64, 1, 0, 0, 0, 0, 66, 1, 0, 0, 0, 0, 68, 1, 0, 0, 0, 0, 70, 1, 0, 0, 0, 0, 72, 1, 0, 0, 0, 0, 74, 1, 0, 0, 0, 0, 76, 1, 0, 0, 0, 0, 78, 1, 0, 0, 0, 0, 80, 1, 0, 0, 0, 0, 82, 1, 0, 0, 0, 0, 84, 1, 0, 0, 0, 0, 86, 1, 0, 0, 0, 0, 88, 1, 0, 0, 0, 0, 90, 1, 0, 0, 0, 0, 92, 1, 0, 0, 0, 0, 94, 1, 0, 0, 0, 0, 96, 1, 0, 0, 0, 0, 98, 1, 0, 0, 0, 0, 100, 1, 0, 0, 0, 0, 102, 1, 0, 0, 0, 0, 104, 1, 0, 0, 0, 0, 106, 1, 0, 0, 0, 0, 108, 1, 0, 0, 0, 0, 110, 1, 0, 0, 0, 0, 112, 1, 0, 0, 0, 0, 114, 1, 0, 0, 0, 0, 116, 1, 0, 0, 0, 0, 118, 1, 0, 0, 0, 0, 120, 1, 0, 0, 0, 0, 122, 1, 0, 0, 0, 0, 124, 1, 0, 0, 0, 0, 126, 1, 0, 0, 0, 0, 128, 1, 0, 0, 0, 0, 130, 1, 0, 0, 0, 0, 132, 1, 0, 0, 0, 0, 134, 1, 0, 0, 0, 0, 136, 1, 0, 0, 0, 0, 138, 1, 0, 0, 0, 0, 140, 1, 0, 0, 0, 0, 142, 1, 0, 0, 0, 0, 144, 1, 0, 0, 0, 0, 146, 1, 0, 0, 0, 0, 148, 1, 0, 0, 0, 0, 150, 1, 0, 0, 0, 0, 152, 1, 0, 0, 0, 0, 154, 1, 0, 0, 0, 0, 156, 1, 0, 0, 0, 0, 158, 1, 0, 0, 0, 0, 160, 1, 0, 0, 0, 0, 162, 1, 0, 0, 0, 0, 164, 1, 0, 0, 0, 0, 166, 1, 0, 0, 0, 0, 168, 1, 0, 0, 0, 0, 170, 1, 0, 0, 0, 0, 172, 1, 0, 0, 0, 0, 174, 1, 0, 0, 0, 0, 176, 1, 0, 0, 0, 0, 178, 1, 0, 0, 0, 0, 180, 1, 0, 0, 0, 0, 182, 1, 0, 0, 0, 0, 184, 1, 0, 0, 0, 0, 186, 1, 0, 0, 0, 0, 188, 1, 0, 0, 0, 0, 190, 1, 0, 0, 0, 0, 192, 1, 0, 0, 0, 0, 194, 1, 0, 0, 0, 0, 196, 1, 0, 0, 0, 0, 198, 1, 0, 0, 0, 0, 200, 1, 0, 0, 0, 0, 202, 1, 0, 0, 0, 0, 204, 1, 0, 0, 0, 0, 206, 1, 0, 0, 0, 0, 208, 1, 0, 0, 0, 0, 210, 1, 0, 0, 0, 0, 212, 1, 0, 0, 0, 0, 214, 1, 0, 0, 0, 0, 216, 1, 0, 0, 0, 0, 218, 1, 0, 0, 0, 0, 220, 1, 0, 0, 0, 0, 222, 1, 0, 0, 0, 0, 224, 1, 0, 0, 0, 0, 226, 1, 0, 0, 0, 0, 228, 1, 0, 0, 0, 0, 230, 1, 0, 0, 0, 0, 232, 1, 0, 0, 0, 0, 234, 1, 0, 0, 0, 0, 236, 1, 0, 0, 0, 0, 238, 1, 0, 0, 0, 0, 240, 1, 0, 0, 0, 0, 242, 1, 0, 0, 0, 0, 244, 1, 0, 0, 0, 0, 246, 1, 0, 0, 0, 0, 248, 1, 0, 0, 0, 0, 250, 1, 0, 0, 0, 0, 252, 1, 0, 0, 0, 0, 254, 1, 0, 0, 0, 0, 256, 1, 0, 0, 0, 0, 258, 1, 0, 0, 0, 0, 260, 1, 0, 0, 0, 0, 262, 1, 0, 0, 0, 0, 264, 1, 0, 0, 0, 0, 266, 1, 0, 0, 0, 0, 268, 1, 0, 0, 0, 0, 270, 1, 0, 0, 0, 0, 272, 1, 0, 0, 0, 0, 274, 1, 0, 0, 0, 0, 276, 1, 0, 0, 0, 0, 278, 1, 0, 0, 0, 0, 280, 1, 0, 0, 0, 0, 282, 1, 0, 0, 0, 0, 284, 1, 0, 0, 0, 0, 286, 1, 0, 0, 0, 0, 288, 1, 0, 0, 0, 0, 290, 1, 0, 0, 0, 0, 292, 1, 0, 0, 0, 0, 294, 1, 0, 0, 0, 0, 296, 1, 0, 0, 0, 0, 298, 1, 0, 0, 0, 0, 300, 1, 0, 0, 0, 0, 302, 1, 0, 0, 0, 0, 304, 1, 0, 0, 0, 0, 306, 1, 0, 0, 0, 0, 308, 1, 0, 0, 0, 0, 310, 1, 0, 0, 0, 0, 312, 1, 0, 0, 0, 0, 314, 1, 0, 0, 0, 0, 316, 1, 0, 0, 0, 0, 318, 1, 0, 0, 0, 0, 320, 1, 0, 0, 0, 0, 322, 1, 0, 0, 0, 0, 324, 1, 0, 0, 0, 0, 326, 1, 0, 0, 0, 0, 328, 1, 0, 0, 0, 0, 330, 1, 0, 0, 0, 0, 332, 1, 0, 0, 0, 0, 334, 1, 0, 0, 0, 0, 336, 1, 0, 0, 0, 0, 338, 1, 0, 0, 0, 0, 340, 1, 0, 0, 0, 0, 342, 1, 0, 0, 0, 0, 344, 1, 0, 0, 0, 0, 346, 1, 0, 0, 0, 0, 348, 1, 0, 0, 0, 0, 350, 1, 0, 0, 0, 0, 352, 1, 0, 0, 0, 0, 354, 1, 0, 0, 0, 0, 356, 1, 0, 0, 0, 0, 358, 1, 0, 0, 0, 0, 360, 1, 0, 0, 0, 0, 362, 1, 0, 0, 0, 0, 364, 1, 0, 0, 0, 0, 366, 1, 0, 0, 0, 0, 368, 1, 0, 0, 0, 0, 370, 1, 0, 0, 0, 0, 372, 1, 0, 0, 0, 0, 374, 1, 0, 0, 0, 0, 376, 1, 0, 0, 0, 0, 378, 1, 0, 0, 0, 0, 380, 1, 0, 0, 0, 0, 382, 1, 0, 0, 0, 0, 384, 1, 0, 0, 0, 0, 386, 1, 0, 0, 0, 0, 388, 1, 0, 0, 0, 0, 390, 1, 0, 0, 0, 0, 392, 1, 0, 0, 0, 0, 394, 1, 0, 0, 0, 0, 396, 1, 0, 0, 0, 0, 398, 1, 0, 0, 0, 0, 400, 1, 0, 0, 0, 0, 402, 1, 0, 0, 0, 0, 404, 1, 0, 0, 0, 0, 406, 1, 0, 0, 0, 0, 408, 1, 0, 0, 0, 0, 410, 1, 0, 0, 0, 0, 412, 1, 0, 0, 0, 0, 414, 1, 0, 0, 0, 0, 416, 1, 0, 0, 0, 0, 418, 1, 0, 0, 0, 0, 420, 1, 0, 0, 0, 0, 422, 1, 0, 0, 0, 0, 424, 1, 0, 0, 0, 0, 426, 1, 0, 0, 0, 0, 428, 1, 0, 0, 0, 0, 430, 1, 0, 0, 0, 0, 432, 1, 0, 0, 0, 0, 434, 1, 0, 0, 0, 0, 436, 1, 0, 0, 0, 0, 438, 1, 0, 0, 0, 0, 440, 1, 0, 0, 0, 0, 442, 1, 0, 0, 0, 0, 444, 1, 0, 0, 0, 0, 446, 1, 0, 0, 0, 0, 448, 1, 0, 0, 0, 1, 450, 1, 0, 0, 0, 1, 452, 1, 0, 0, 0, 1, 454, 1, 0, 0, 0, 1, 456, 1, 0, 0, 0, 2, 504, 1, 0, 0, 0, 4, 518, 1, 0, 0, 0, 6, 529, 1, 0, 0, 0, 8, 545, 1, 0, 0, 0, 10, 547, 1, 0, 0, 0, 12, 549, 1, 0, 0, 0, 14, 551, 1, 0, 0, 0, 16, 553, 1, 0, 0, 0, 18, 556, 1, 0, 0, 0, 20, 561, 1, 0, 0, 0, 22, 564, 1, 0, 0, 0, 24, 566, 1, 0, 0, 0, 26, 568, 1, 0, 0, 0, 28, 570, 1, 0, 0, 0, 30, 572, 1, 0, 0, 0, 32, 574, 1, 0, 0, 0, 34, 578, 1, 0, 0, 0, 36, 580, 1, 0, 0, 0, 38, 583, 1, 0, 0, 0, 40, 586, 1, 0, 0, 0, 42, 588, 1, 0, 0, 0, 44, 590, 1, 0, 0, 0, 46, 592, 1, 0, 0, 0, 48, 596, 1, 0, 0, 0, 50, 598, 1, 0, 0, 0, 52, 600, 1, 0, 0, 0, 54, 602, 1, 0, 0, 0, 56, 605, 1, 0, 0, 0, 58, 608, 1, 0, 0, 0, 60, 612, 1, 0, 0, 0, 62, 614, 1, 0, 0, 0, 64, 616, 1, 0, 0, 0, 66, 619, 1, 0, 0, 0, 68, 622, 1, 0, 0, 0, 70, 625, 1, 0, 0, 0, 72, 628, 1, 0, 0, 0, 74, 632, 1, 0, 0, 0, 76, 636, 1, 0, 0, 0, 78, 638, 1, 0, 0, 0, 80, 640, 1, 0, 0, 0, 82, 642, 1, 0, 0, 0, 84, 646, 1, 0, 0, 0, 86, 649, 1, 0, 0, 0, 88, 653, 1, 0, 0, 0, 90, 656, 1, 0, 0, 0, 92, 659, 1, 0, 0, 0, 94, 662, 1, 0, 0, 0, 96, 665, 1, 0, 0, 0, 98, 668, 1, 0, 0, 0, 100, 672, 1, 0, 0, 0, 102, 676, 1, 0, 0, 0, 104, 681, 1, 0, 0, 0, 106, 684, 1, 0, 0, 0, 108, 687, 1, 0, 0, 0, 110, 690, 1, 0, 0, 0, 112, 693, 1, 0, 0, 0, 114, 707, 1, 0, 0, 0, 116, 710, 1, 0, 0, 0, 118, 741, 1, 0, 0, 0, 120, 743, 1, 0, 0, 0, 122, 750, 1, 0, 0, 0, 124, 756, 1, 0, 0, 0, 126, 763, 1, 0, 0, 0, 128, 770, 1, 0, 0, 0, 130, 779, 1, 0, 0, 0, 132, 785, 1, 0, 0, 0, 134, 788, 1, 0, 0, 0, 136, 799, 1, 0, 0, 0, 138, 806, 1, 0, 0, 0, 140, 811, 1, 0, 0, 0, 142, 816, 1, 0, 0, 0, 144, 820, 1, 0, 0, 0, 146, 824, 1, 0, 0, 0, 148, 830, 1, 0, 0, 0, 150, 838, 1, 0, 0, 0, 152, 845, 1, 0, 0, 0, 154, 850, 1, 0, 0, 0, 156, 859, 1, 0, 0, 0, 158, 863, 1, 0, 0, 0, 160, 870, 1, 0, 0, 0, 162, 876, 1, 0, 0, 0, 164, 885, 1, 0, 0, 0, 166, 894, 1, 0, 0, 0, 168, 899, 1, 0, 0, 0, 170, 904, 1, 0, 0, 0, 172, 912, 1, 0, 0, 0, 174, 915, 1, 0, 0, 0, 176, 921, 1, 0, 0, 0, 178, 928, 1, 0, 0, 0, 180, 931, 1, 0, 0, 0, 182, 935, 1, 0, 0, 0, 184, 938, 1, 0, 0, 0, 186, 943, 1, 0, 0, 0, 188, 952, 1, 0, 0, 0, 190, 958, 1, 0, 0, 0, 192, 965, 1, 0, 0, 0, 194, 976, 1, 0, 0, 0, 196, 984, 1, 0, 0, 0, 198, 990, 1, 0, 0, 0, 200, 999, 1, 0, 0, 0, 202, 1005, 1, 0, 0, 0, 204, 1015, 1, 0, 0, 0, 206, 1019, 1, 0, 0, 0, 208, 1034, 1, 0, 0, 0, 210, 1052, 1, 0, 0, 0, 212, 1067, 1, 0, 0, 0, 214, 1075, 1, 0, 0, 0, 216, 1087, 1, 0, 0, 0, 218, 1101, 1, 0, 0, 0, 220, 1108, 1, 0, 0, 0, 222, 1120, 1, 0, 0, 0, 224, 1128, 1, 0, 0, 0, 226, 1139, 1, 0, 0, 0, 228, 1147, 1, 0, 0, 0, 230, 1159, 1, 0, 0, 0, 232, 1176, 1, 0, 0, 0, 234, 1189, 1, 0, 0, 0, 236, 1207, 1, 0, 0, 0, 238, 1210, 1, 0, 0, 0, 240, 1217, 1, 0, 0, 0, 242, 1224, 1, 0, 0, 0, 244, 1236, 1, 0, 0, 0, 246, 1239, 1, 0, 0, 0, 248, 1244, 1, 0, 0, 0, 250, 1255, 1, 0, 0, 0, 252, 1260, 1, 0, 0, 0, 254, 1272, 1, 0, 0, 0, 256, 1276, 1, 0, 0, 0, 258, 1284, 1, 0, 0, 0, 260, 1291, 1, 0, 0, 0, 262, 1301, 1, 0, 0, 0, 264, 1308, 1, 0, 0, 0, 266, 1312, 1, 0, 0, 0, 268, 1319, 1, 0, 0, 0, 270, 1325, 1, 0, 0, 0, 272, 1331, 1, 0, 0, 0, 274, 1337, 1, 0, 0, 0, 276, 1344, 1, 0, 0, 0, 278, 1351, 1, 0, 0, 0, 280, 1358, 1, 0, 0, 0, 282, 1365, 1, 0, 0, 0, 284, 1373, 1, 0, 0, 0, 286, 1381, 1, 0, 0, 0, 288, 1390, 1, 0, 0, 0, 290, 1399, 1, 0, 0, 0, 292, 1404, 1, 0, 0, 0, 294, 1411, 1, 0, 0, 0, 296, 1417, 1, 0, 0, 0, 298, 1427, 1, 0, 0, 0, 300, 1434, 1, 0, 0, 0, 302, 1439, 1, 0, 0, 0, 304, 1443, 1, 0, 0, 0, 306, 1447, 1, 0, 0, 0, 308, 1455, 1, 0, 0, 0, 310, 1462, 1, 0, 0, 0, 312, 1472, 1, 0, 0, 0, 314, 1480, 1, 0, 0, 0, 316, 1489, 1, 0, 0, 0, 318, 1507, 1, 0, 0, 0, 320, 1529, 1, 0, 0, 0, 322, 1550, 1, 0, 0, 0, 324, 1566, 1, 0, 0, 0, 326, 1591, 1, 0, 0, 0, 328, 1613, 1, 0, 0, 0, 330, 1632, 1, 0, 0, 0, 332, 1658, 1, 0, 0, 0, 334, 1677, 1, 0, 0, 0, 336, 1702, 1, 0, 0, 0, 338, 1731, 1, 0, 0, 0, 340, 1763, 1, 0, 0, 0, 342, 1796, 1, 0, 0, 0, 344, 1828, 1, 0, 0, 0, 346, 1859, 1, 0, 0, 0, 348, 1885, 1, 0, 0, 0, 350, 1903, 1, 0, 0, 0, 352, 1931, 1, 0, 0, 0, 354, 1955, 1, 0, 0, 0, 356, 1976, 1, 0, 0, 0, 358, 2006, 1, 0, 0, 0, 360, 2031, 1, 0, 0, 0, 362, 2056, 1, 0, 0, 0, 364, 2073, 1, 0, 0, 0, 366, 2097, 1, 0, 0, 0, 368, 2118, 1, 0, 0, 0, 370, 2146, 1, 0, 0, 0, 372, 2153, 1, 0, 0, 0, 374, 2156, 1, 0, 0, 0, 376, 2165, 1, 0, 0, 0, 378, 2174, 1, 0, 0, 0, 380, 2176, 1, 0, 0, 0, 382, 2183, 1, 0, 0, 0, 384, 2200, 1, 0, 0, 0, 386, 2218, 1, 0, 0, 0, 388, 2235, 1, 0, 0, 0, 390, 2254, 1, 0, 0, 0, 392, 2274, 1, 0, 0, 0, 394, 2295, 1, 0, 0, 0, 396, 2305, 1, 0, 0, 0, 398, 2311, 1, 0, 0, 0, 400, 2339, 1, 0, 0, 0, 402, 2364, 1, 0, 0, 0, 404, 2396, 1, 0, 0, 0, 406, 2402, 1, 0, 0, 0, 408, 2411, 1, 0, 0, 0, 410, 2420, 1, 0, 0, 0, 412, 2431, 1, 0, 0, 0, 414, 2441, 1, 0, 0, 0, 416, 2459, 1, 0, 0, 0, 418, 2468, 1, 0, 0, 0, 420, 2477, 1, 0, 0, 0, 422, 2486, 1, 0, 0, 0, 424, 2495, 1, 0, 0, 0, 426, 2504, 1, 0, 0, 0, 428, 2513, 1, 0, 0, 0, 430, 2526, 1, 0, 0, 0, 432, 2535, 1, 0, 0, 0, 434, 2542, 1, 0, 0, 0, 436, 2565, 1, 0, 0, 0, 438, 2567, 1, 0, 0, 0, 440, 2573, 1, 0, 0, 0, 442, 2579, 1, 0, 0, 0, 444, 2583, 1, 0, 0, 0, 446, 2600, 1, 0, 0, 0, 448, 2622, 1, 0, 0, 0, 450, 2626, 1, 0, 0, 0, 452, 2632, 1, 0, 0, 0, 454, 2637, 1, 0, 0, 0, 456, 2640, 1, 0, 0, 0, 458, 2650, 1, 0, 0, 0, 460, 2656, 1, 0, 0, 0, 462, 2663, 1, 0, 0, 0, 464, 2667, 1, 0, 0, 0, 466, 2669, 1, 0, 0, 0, 468, 2673, 1, 0, 0, 0, 470, 2679, 1, 0, 0, 0, 472, 2688, 1, 0, 0, 0, 474, 2690, 1, 0, 0, 0, 476, 2694, 1, 0, 0, 0, 478, 2696, 1, 0, 0, 0, 480, 2699, 1, 0, 0, 0, 482, 2709, 1, 0, 0, 0, 484, 2711, 1, 0, 0, 0, 486, 2720, 1, 0, 0, 0, 488, 2730, 1, 0, 0, 0, 490, 2734, 1, 0, 0, 0, 492, 2739, 1, 0, 0, 0, 494, 2741, 1, 0, 0, 0, 496, 2753, 1, 0, 0, 0, 498, 2765, 1, 0, 0, 0, 500, 2769, 1, 0, 0, 0, 502, 2771, 1, 0, 0, 0, 504, 505, 5, 47, 0, 0, 505, 506, 5, 42, 0, 0, 506, 510, 1, 0, 0, 0, 507, 509, 9, 0, 0, 0, 508, 507, 1, 0, 0, 0, 509, 512, 1, 0, 0, 0, 510, 511, 1, 0, 0, 0, 510, 508, 1, 0, 0, 0, 511, 513, 1, 0, 0, 0, 512, 510, 1, 0, 0, 0, 513, 514, 5, 42, 0, 0, 514, 515, 5, 47, 0, 0, 515, 516, 1, 0, 0, 0, 516, 517, 6, 0, 0, 0, 517, 3, 1, 0, 0, 0, 518, 519, 5, 47, 0, 0, 519, 520, 5, 47, 0, 0, 520, 524, 1, 0, 0, 0, 521, 523, 8, 0, 0, 0, 522, 521, 1, 0, 0, 0, 523, 526, 1, 0, 0, 0, 524, 522, 1, 0, 0, 0, 524, 525, 1, 0, 0, 0, 525, 527, 1, 0, 0, 0, 526, 524, 1, 0, 0, 0, 527, 528, 6, 1, 0, 0, 528, 5, 1, 0, 0, 0, 529, 530, 5, 47, 0, 0, 530, 534, 3, 496, 247, 0, 531, 533, 3, 498, 248, 0, 532, 531, 1, 0, 0, 0, 533, 536, 1, 0, 0, 0, 534, 532, 1, 0, 0, 0, 534, 535, 1, 0, 0, 0, 535, 537, 1, 0, 0, 0, 536, 534, 1, 0, 0, 0, 537, 538, 4, 2, 0, 0, 538, 542, 5, 47, 0, 0, 539, 541, 3, 490, 244, 0, 540, 539, 1, 0, 0, 0, 541, 544, 1, 0, 0, 0, 542, 540, 1, 0, 0, 0, 542, 543, 1, 0, 0, 0, 543, 7, 1, 0, 0, 0, 544, 542, 1, 0, 0, 0, 545, 546, 5, 91, 0, 0, 546, 9, 1, 0, 0, 0, 547, 548, 5, 93, 0, 0, 548, 11, 1, 0, 0, 0, 549, 550, 5, 40, 0, 0, 550, 13, 1, 0, 0, 0, 551, 552, 5, 41, 0, 0, 552, 15, 1, 0, 0, 0, 553, 554, 5, 123, 0, 0, 554, 555, 6, 7, 1, 0, 555, 17, 1, 0, 0, 0, 556, 557, 4, 8, 1, 0, 557, 558, 5, 125, 0, 0, 558, 559, 1, 0, 0, 0, 559, 560, 6, 8, 2, 0, 560, 19, 1, 0, 0, 0, 561, 562, 5, 125, 0, 0, 562, 563, 6, 9, 3, 0, 563, 21, 1, 0, 0, 0, 564, 565, 5, 59, 0, 0, 565, 23, 1, 0, 0, 0, 566, 567, 5, 44, 0, 0, 567, 25, 1, 0, 0, 0, 568, 569, 5, 61, 0, 0, 569, 27, 1, 0, 0, 0, 570, 571, 5, 63, 0, 0, 571, 29, 1, 0, 0, 0, 572, 573, 5, 58, 0, 0, 573, 31, 1, 0, 0, 0, 574, 575, 5, 46, 0, 0, 575, 576, 5, 46, 0, 0, 576, 577, 5, 46, 0, 0, 577, 33, 1, 0, 0, 0, 578, 579, 5, 46, 0, 0, 579, 35, 1, 0, 0, 0, 580, 581, 5, 43, 0, 0, 581, 582, 5, 43, 0, 0, 582, 37, 1, 0, 0, 0, 583, 584, 5, 45, 0, 0, 584, 585, 5, 45, 0, 0, 585, 39, 1, 0, 0, 0, 586, 587, 5, 43, 0, 0, 587, 41, 1, 0, 0, 0, 588, 589, 5, 45, 0, 0, 589, 43, 1, 0, 0, 0, 590, 591, 5, 126, 0, 0, 591, 45, 1, 0, 0, 0, 592, 593, 5, 78, 0, 0, 593, 594, 5, 79, 0, 0, 594, 595, 5, 84, 0, 0, 595, 47, 1, 0, 0, 0, 596, 597, 5, 42, 0, 0, 597, 49, 1, 0, 0, 0, 598, 599, 5, 47, 0, 0, 599, 51, 1, 0, 0, 0, 600, 601, 5, 37, 0, 0, 601, 53, 1, 0, 0, 0, 602, 603, 5, 62, 0, 0, 603, 604, 5, 62, 0, 0, 604, 55, 1, 0, 0, 0, 605, 606, 5, 60, 0, 0, 606, 607, 5, 60, 0, 0, 607, 57, 1, 0, 0, 0, 608, 609, 5, 62, 0, 0, 609, 610, 5, 62, 0, 0, 610, 611, 5, 62, 0, 0, 611, 59, 1, 0, 0, 0, 612, 613, 5, 60, 0, 0, 613, 61, 1, 0, 0, 0, 614, 615, 5, 62, 0, 0, 615, 63, 1, 0, 0, 0, 616, 617, 5, 60, 0, 0, 617, 618, 5, 61, 0, 0, 618, 65, 1, 0, 0, 0, 619, 620, 5, 62, 0, 0, 620, 621, 5, 61, 0, 0, 621, 67, 1, 0, 0, 0, 622, 623, 5, 61, 0, 0, 623, 624, 5, 61, 0, 0, 624, 69, 1, 0, 0, 0, 625, 626, 5, 33, 0, 0, 626, 627, 5, 61, 0, 0, 627, 71, 1, 0, 0, 0, 628, 629, 5, 61, 0, 0, 629, 630, 5, 61, 0, 0, 630, 631, 5, 61, 0, 0, 631, 73, 1, 0, 0, 0, 632, 633, 5, 33, 0, 0, 633, 634, 5, 61, 0, 0, 634, 635, 5, 61, 0, 0, 635, 75, 1, 0, 0, 0, 636, 637, 5, 38, 0, 0, 637, 77, 1, 0, 0, 0, 638, 639, 5, 94, 0, 0, 639, 79, 1, 0, 0, 0, 640, 641, 5, 124, 0, 0, 641, 81, 1, 0, 0, 0, 642, 643, 5, 65, 0, 0, 643, 644, 5, 78, 0, 0, 644, 645, 5, 68, 0, 0, 645, 83, 1, 0, 0, 0, 646, 647, 5, 79, 0, 0, 647, 648, 5, 82, 0, 0, 648, 85, 1, 0, 0, 0, 649, 650, 5, 88, 0, 0, 650, 651, 5, 79, 0, 0, 651, 652, 5, 82, 0, 0, 652, 87, 1, 0, 0, 0, 653, 654, 5, 42, 0, 0, 654, 655, 5, 61, 0, 0, 655, 89, 1, 0, 0, 0, 656, 657, 5, 47, 0, 0, 657, 658, 5, 61, 0, 0, 658, 91, 1, 0, 0, 0, 659, 660, 5, 37, 0, 0, 660, 661, 5, 61, 0, 0, 661, 93, 1, 0, 0, 0, 662, 663, 5, 43, 0, 0, 663, 664, 5, 61, 0, 0, 664, 95, 1, 0, 0, 0, 665, 666, 5, 45, 0, 0, 666, 667, 5, 61, 0, 0, 667, 97, 1, 0, 0, 0, 668, 669, 5, 60, 0, 0, 669, 670, 5, 60, 0, 0, 670, 671, 5, 61, 0, 0, 671, 99, 1, 0, 0, 0, 672, 673, 5, 62, 0, 0, 673, 674, 5, 62, 0, 0, 674, 675, 5, 61, 0, 0, 675, 101, 1, 0, 0, 0, 676, 677, 5, 62, 0, 0, 677, 678, 5, 62, 0, 0, 678, 679, 5, 62, 0, 0, 679, 680, 5, 61, 0, 0, 680, 103, 1, 0, 0, 0, 681, 682, 5, 38, 0, 0, 682, 683, 5, 61, 0, 0, 683, 105, 1, 0, 0, 0, 684, 685, 5, 94, 0, 0, 685, 686, 5, 61, 0, 0, 686, 107, 1, 0, 0, 0, 687, 688, 5, 124, 0, 0, 688, 689, 5, 61, 0, 0, 689, 109, 1, 0, 0, 0, 690, 691, 5, 61, 0, 0, 691, 692, 5, 62, 0, 0, 692, 111, 1, 0, 0, 0, 693, 694, 5, 110, 0, 0, 694, 695, 5, 117, 0, 0, 695, 696, 5, 108, 0, 0, 696, 697, 5, 108, 0, 0, 697, 113, 1, 0, 0, 0, 698, 699, 5, 116, 0, 0, 699, 700, 5, 114, 0, 0, 700, 701, 5, 117, 0, 0, 701, 708, 5, 101, 0, 0, 702, 703, 5, 102, 0, 0, 703, 704, 5, 97, 0, 0, 704, 705, 5, 108, 0, 0, 705, 706, 5, 115, 0, 0, 706, 708, 5, 101, 0, 0, 707, 698, 1, 0, 0, 0, 707, 702, 1, 0, 0, 0, 708, 115, 1, 0, 0, 0, 709, 711, 5, 45, 0, 0, 710, 709, 1, 0, 0, 0, 710, 711, 1, 0, 0, 0, 711, 712, 1, 0, 0, 0, 712, 713, 3, 482, 240, 0, 713, 117, 1, 0, 0, 0, 714, 715, 3, 482, 240, 0, 715, 719, 5, 46, 0, 0, 716, 718, 7, 1, 0, 0, 717, 716, 1, 0, 0, 0, 718, 721, 1, 0, 0, 0, 719, 717, 1, 0, 0, 0, 719, 720, 1, 0, 0, 0, 720, 723, 1, 0, 0, 0, 721, 719, 1, 0, 0, 0, 722, 724, 3, 484, 241, 0, 723, 722, 1, 0, 0, 0, 723, 724, 1, 0, 0, 0, 724, 742, 1, 0, 0, 0, 725, 727, 5, 45, 0, 0, 726, 725, 1, 0, 0, 0, 726, 727, 1, 0, 0, 0, 727, 728, 1, 0, 0, 0, 728, 730, 5, 46, 0, 0, 729, 731, 7, 1, 0, 0, 730, 729, 1, 0, 0, 0, 731, 732, 1, 0, 0, 0, 732, 730, 1, 0, 0, 0, 732, 733, 1, 0, 0, 0, 733, 735, 1, 0, 0, 0, 734, 736, 3, 484, 241, 0, 735, 734, 1, 0, 0, 0, 735, 736, 1, 0, 0, 0, 736, 742, 1, 0, 0, 0, 737, 739, 3, 482, 240, 0, 738, 740, 3, 484, 241, 0, 739, 738, 1, 0, 0, 0, 739, 740, 1, 0, 0, 0, 740, 742, 1, 0, 0, 0, 741, 714, 1, 0, 0, 0, 741, 726, 1, 0, 0, 0, 741, 737, 1, 0, 0, 0, 742, 119, 1, 0, 0, 0, 743, 744, 5, 48, 0, 0, 744, 746, 7, 2, 0, 0, 745, 747, 3, 480, 239, 0, 746, 745, 1, 0, 0, 0, 747, 748, 1, 0, 0, 0, 748, 746, 1, 0, 0, 0, 748, 749, 1, 0, 0, 0, 749, 121, 1, 0, 0, 0, 750, 752, 5, 48, 0, 0, 751, 753, 7, 3, 0, 0, 752, 751, 1, 0, 0, 0, 753, 754, 1, 0, 0, 0, 754, 752, 1, 0, 0, 0, 754, 755, 1, 0, 0, 0, 755, 123, 1, 0, 0, 0, 756, 757, 5, 48, 0, 0, 757, 759, 7, 4, 0, 0, 758, 760, 7, 3, 0, 0, 759, 758, 1, 0, 0, 0, 760, 761, 1, 0, 0, 0, 761, 759, 1, 0, 0, 0, 761, 762, 1, 0, 0, 0, 762, 125, 1, 0, 0, 0, 763, 764, 5, 48, 0, 0, 764, 766, 7, 5, 0, 0, 765, 767, 7, 6, 0, 0, 766, 765, 1, 0, 0, 0, 767, 768, 1, 0, 0, 0, 768, 766, 1, 0, 0, 0, 768, 769, 1, 0, 0, 0, 769, 127, 1, 0, 0, 0, 770, 771, 5, 111, 0, 0, 771, 772, 5, 112, 0, 0, 772, 773, 5, 116, 0, 0, 773, 774, 5, 105, 0, 0, 774, 775, 5, 111, 0, 0, 775, 776, 5, 110, 0, 0, 776, 777, 5, 97, 0, 0, 777, 778, 5, 108, 0, 0, 778, 129, 1, 0, 0, 0, 779, 780, 5, 98, 0, 0, 780, 781, 5, 114, 0, 0, 781, 782, 5, 101, 0, 0, 782, 783, 5, 97, 0, 0, 783, 784, 5, 107, 0, 0, 784, 131, 1, 0, 0, 0, 785, 786, 5, 100, 0, 0, 786, 787, 5, 111, 0, 0, 787, 133, 1, 0, 0, 0, 788, 789, 5, 105, 0, 0, 789, 790, 5, 110, 0, 0, 790, 791, 5, 115, 0, 0, 791, 792, 5, 116, 0, 0, 792, 793, 5, 97, 0, 0, 793, 794, 5, 110, 0, 0, 794, 795, 5, 99, 0, 0, 795, 796, 5, 101, 0, 0, 796, 797, 5, 111, 0, 0, 797, 798, 5, 102, 0, 0, 798, 135, 1, 0, 0, 0, 799, 800, 5, 116, 0, 0, 800, 801, 5, 121, 0, 0, 801, 802, 5, 112, 0, 0, 802, 803, 5, 101, 0, 0, 803, 804, 5, 111, 0, 0, 804, 805, 5, 102, 0, 0, 805, 137, 1, 0, 0, 0, 806, 807, 5, 99, 0, 0, 807, 808, 5, 97, 0, 0, 808, 809, 5, 115, 0, 0, 809, 810, 5, 101, 0, 0, 810, 139, 1, 0, 0, 0, 811, 812, 5, 101, 0, 0, 812, 813, 5, 108, 0, 0, 813, 814, 5, 115, 0, 0, 814, 815, 5, 101, 0, 0, 815, 141, 1, 0, 0, 0, 816, 817, 5, 110, 0, 0, 817, 818, 5, 101, 0, 0, 818, 819, 5, 119, 0, 0, 819, 143, 1, 0, 0, 0, 820, 821, 5, 118, 0, 0, 821, 822, 5, 97, 0, 0, 822, 823, 5, 114, 0, 0, 823, 145, 1, 0, 0, 0, 824, 825, 5, 99, 0, 0, 825, 826, 5, 97, 0, 0, 826, 827, 5, 116, 0, 0, 827, 828, 5, 99, 0, 0, 828, 829, 5, 104, 0, 0, 829, 147, 1, 0, 0, 0, 830, 831, 5, 102, 0, 0, 831, 832, 5, 105, 0, 0, 832, 833, 5, 110, 0, 0, 833, 834, 5, 97, 0, 0, 834, 835, 5, 108, 0, 0, 835, 836, 5, 108, 0, 0, 836, 837, 5, 121, 0, 0, 837, 149, 1, 0, 0, 0, 838, 839, 5, 114, 0, 0, 839, 840, 5, 101, 0, 0, 840, 841, 5, 116, 0, 0, 841, 842, 5, 117, 0, 0, 842, 843, 5, 114, 0, 0, 843, 844, 5, 110, 0, 0, 844, 151, 1, 0, 0, 0, 845, 846, 5, 118, 0, 0, 846, 847, 5, 111, 0, 0, 847, 848, 5, 105, 0, 0, 848, 849, 5, 100, 0, 0, 849, 153, 1, 0, 0, 0, 850, 851, 5, 99, 0, 0, 851, 852, 5, 111, 0, 0, 852, 853, 5, 110, 0, 0, 853, 854, 5, 116, 0, 0, 854, 855, 5, 105, 0, 0, 855, 856, 5, 110, 0, 0, 856, 857, 5, 117, 0, 0, 857, 858, 5, 101, 0, 0, 858, 155, 1, 0, 0, 0, 859, 860, 5, 102, 0, 0, 860, 861, 5, 111, 0, 0, 861, 862, 5, 114, 0, 0, 862, 157, 1, 0, 0, 0, 863, 864, 5, 115, 0, 0, 864, 865, 5, 119, 0, 0, 865, 866, 5, 105, 0, 0, 866, 867, 5, 116, 0, 0, 867, 868, 5, 99, 0, 0, 868, 869, 5, 104, 0, 0, 869, 159, 1, 0, 0, 0, 870, 871, 5, 119, 0, 0, 871, 872, 5, 104, 0, 0, 872, 873, 5, 105, 0, 0, 873, 874, 5, 108, 0, 0, 874, 875, 5, 101, 0, 0, 875, 161, 1, 0, 0, 0, 876, 877, 5, 100, 0, 0, 877, 878, 5, 101, 0, 0, 878, 879, 5, 98, 0, 0, 879, 880, 5, 117, 0, 0, 880, 881, 5, 103, 0, 0, 881, 882, 5, 103, 0, 0, 882, 883, 5, 101, 0, 0, 883, 884, 5, 114, 0, 0, 884, 163, 1, 0, 0, 0, 885, 886, 5, 102, 0, 0, 886, 887, 5, 117, 0, 0, 887, 888, 5, 110, 0, 0, 888, 889, 5, 99, 0, 0, 889, 890, 5, 116, 0, 0, 890, 891, 5, 105, 0, 0, 891, 892, 5, 111, 0, 0, 892, 893, 5, 110, 0, 0, 893, 165, 1, 0, 0, 0, 894, 895, 5, 116, 0, 0, 895, 896, 5, 104, 0, 0, 896, 897, 5, 105, 0, 0, 897, 898, 5, 115, 0, 0, 898, 167, 1, 0, 0, 0, 899, 900, 5, 119, 0, 0, 900, 901, 5, 105, 0, 0, 901, 902, 5, 116, 0, 0, 902, 903, 5, 104, 0, 0, 903, 169, 1, 0, 0, 0, 904, 905, 5, 100, 0, 0, 905, 906, 5, 101, 0, 0, 906, 907, 5, 102, 0, 0, 907, 908, 5, 97, 0, 0, 908, 909, 5, 117, 0, 0, 909, 910, 5, 108, 0, 0, 910, 911, 5, 116, 0, 0, 911, 171, 1, 0, 0, 0, 912, 913, 5, 105, 0, 0, 913, 914, 5, 102, 0, 0, 914, 173, 1, 0, 0, 0, 915, 916, 5, 116, 0, 0, 916, 917, 5, 104, 0, 0, 917, 918, 5, 114, 0, 0, 918, 919, 5, 111, 0, 0, 919, 920, 5, 119, 0, 0, 920, 175, 1, 0, 0, 0, 921, 922, 5, 100, 0, 0, 922, 923, 5, 101, 0, 0, 923, 924, 5, 108, 0, 0, 924, 925, 5, 101, 0, 0, 925, 926, 5, 116, 0, 0, 926, 927, 5, 101, 0, 0, 927, 177, 1, 0, 0, 0, 928, 929, 5, 105, 0, 0, 929, 930, 5, 110, 0, 0, 930, 179, 1, 0, 0, 0, 931, 932, 5, 116, 0, 0, 932, 933, 5, 114, 0, 0, 933, 934, 5, 121, 0, 0, 934, 181, 1, 0, 0, 0, 935, 936, 5, 97, 0, 0, 936, 937, 5, 115, 0, 0, 937, 183, 1, 0, 0, 0, 938, 939, 5, 102, 0, 0, 939, 940, 5, 114, 0, 0, 940, 941, 5, 111, 0, 0, 941, 942, 5, 109, 0, 0, 942, 185, 1, 0, 0, 0, 943, 944, 5, 114, 0, 0, 944, 945, 5, 101, 0, 0, 945, 946, 5, 97, 0, 0, 946, 947, 5, 100, 0, 0, 947, 948, 5, 111, 0, 0, 948, 949, 5, 110, 0, 0, 949, 950, 5, 108, 0, 0, 950, 951, 5, 121, 0, 0, 951, 187, 1, 0, 0, 0, 952, 953, 5, 97, 0, 0, 953, 954, 5, 115, 0, 0, 954, 955, 5, 121, 0, 0, 955, 956, 5, 110, 0, 0, 956, 957, 5, 99, 0, 0, 957, 189, 1, 0, 0, 0, 958, 959, 5, 116, 0, 0, 959, 960, 5, 104, 0, 0, 960, 961, 5, 114, 0, 0, 961, 962, 5, 111, 0, 0, 962, 963, 5, 119, 0, 0, 963, 964, 5, 115, 0, 0, 964, 191, 1, 0, 0, 0, 965, 966, 5, 97, 0, 0, 966, 967, 5, 112, 0, 0, 967, 968, 5, 112, 0, 0, 968, 969, 5, 108, 0, 0, 969, 970, 5, 121, 0, 0, 970, 971, 5, 82, 0, 0, 971, 972, 5, 117, 0, 0, 972, 973, 5, 108, 0, 0, 973, 974, 5, 101, 0, 0, 974, 975, 5, 115, 0, 0, 975, 193, 1, 0, 0, 0, 976, 977, 5, 101, 0, 0, 977, 978, 5, 120, 0, 0, 978, 979, 5, 116, 0, 0, 979, 980, 5, 101, 0, 0, 980, 981, 5, 110, 0, 0, 981, 982, 5, 100, 0, 0, 982, 983, 5, 115, 0, 0, 983, 195, 1, 0, 0, 0, 984, 985, 5, 99, 0, 0, 985, 986, 5, 111, 0, 0, 986, 987, 5, 110, 0, 0, 987, 988, 5, 115, 0, 0, 988, 989, 5, 116, 0, 0, 989, 197, 1, 0, 0, 0, 990, 991, 5, 82, 0, 0, 991, 992, 5, 101, 0, 0, 992, 993, 5, 112, 0, 0, 993, 994, 5, 111, 0, 0, 994, 995, 5, 80, 0, 0, 995, 996, 5, 111, 0, 0, 996, 997, 5, 114, 0, 0, 997, 998, 5, 116, 0, 0, 998, 199, 1, 0, 0, 0, 999, 1000, 5, 80, 0, 0, 1000, 1001, 5, 114, 0, 0, 1001, 1002, 5, 111, 0, 0, 1002, 1003, 5, 112, 0, 0, 1003, 1004, 5, 115, 0, 0, 1004, 201, 1, 0, 0, 0, 1005, 1006, 5, 82, 0, 0, 1006, 1007, 5, 101, 0, 0, 1007, 1008, 5, 97, 0, 0, 1008, 1009, 5, 100, 0, 0, 1009, 1010, 5, 77, 0, 0, 1010, 1011, 5, 111, 0, 0, 1011, 1012, 5, 100, 0, 0, 1012, 1013, 5, 101, 0, 0, 1013, 1014, 5, 108, 0, 0, 1014, 203, 1, 0, 0, 0, 1015, 1016, 5, 68, 0, 0, 1016, 1017, 5, 84, 0, 0, 1017, 1018, 5, 79, 0, 0, 1018, 205, 1, 0, 0, 0, 1019, 1020, 5, 82, 0, 0, 1020, 1021, 5, 69, 0, 0, 1021, 1022, 5, 83, 0, 0, 1022, 1023, 5, 84, 0, 0, 1023, 1024, 5, 67, 0, 0, 1024, 1025, 5, 111, 0, 0, 1025, 1026, 5, 110, 0, 0, 1026, 1027, 5, 116, 0, 0, 1027, 1028, 5, 114, 0, 0, 1028, 1029, 5, 111, 0, 0, 1029, 1030, 5, 108, 0, 0, 1030, 1031, 5, 108, 0, 0, 1031, 1032, 5, 101, 0, 0, 1032, 1033, 5, 114, 0, 0, 1033, 207, 1, 0, 0, 0, 1034, 1035, 5, 71, 0, 0, 1035, 1036, 5, 114, 0, 0, 1036, 1037, 5, 97, 0, 0, 1037, 1038, 5, 112, 0, 0, 1038, 1039, 5, 104, 0, 0, 1039, 1040, 5, 81, 0, 0, 1040, 1041, 5, 76, 0, 0, 1041, 1042, 5, 67, 0, 0, 1042, 1043, 5, 111, 0, 0, 1043, 1044, 5, 110, 0, 0, 1044, 1045, 5, 116, 0, 0, 1045, 1046, 5, 114, 0, 0, 1046, 1047, 5, 111, 0, 0, 1047, 1048, 5, 108, 0, 0, 1048, 1049, 5, 108, 0, 0, 1049, 1050, 5, 101, 0, 0, 1050, 1051, 5, 114, 0, 0, 1051, 209, 1, 0, 0, 0, 1052, 1053, 5, 71, 0, 0, 1053, 1054, 5, 82, 0, 0, 1054, 1055, 5, 80, 0, 0, 1055, 1056, 5, 67, 0, 0, 1056, 1057, 5, 67, 0, 0, 1057, 1058, 5, 111, 0, 0, 1058, 1059, 5, 110, 0, 0, 1059, 1060, 5, 116, 0, 0, 1060, 1061, 5, 114, 0, 0, 1061, 1062, 5, 111, 0, 0, 1062, 1063, 5, 108, 0, 0, 1063, 1064, 5, 108, 0, 0, 1064, 1065, 5, 101, 0, 0, 1065, 1066, 5, 114, 0, 0, 1066, 211, 1, 0, 0, 0, 1067, 1068, 5, 85, 0, 0, 1068, 1069, 5, 115, 0, 0, 1069, 1070, 5, 101, 0, 0, 1070, 1071, 5, 67, 0, 0, 1071, 1072, 5, 97, 0, 0, 1072, 1073, 5, 115, 0, 0, 1073, 1074, 5, 101, 0, 0, 1074, 213, 1, 0, 0, 0, 1075, 1076, 5, 86, 0, 0, 1076, 1077, 5, 97, 0, 0, 1077, 1078, 5, 108, 0, 0, 1078, 1079, 5, 117, 0, 0, 1079, 1080, 5, 101, 0, 0, 1080, 1081, 5, 79, 0, 0, 1081, 1082, 5, 98, 0, 0, 1082, 1083, 5, 106, 0, 0, 1083, 1084, 5, 101, 0, 0, 1084, 1085, 5, 99, 0, 0, 1085, 1086, 5, 116, 0, 0, 1086, 215, 1, 0, 0, 0, 1087, 1088, 5, 65, 0, 0, 1088, 1089, 5, 103, 0, 0, 1089, 1090, 5, 103, 0, 0, 1090, 1091, 5, 114, 0, 0, 1091, 1092, 5, 101, 0, 0, 1092, 1093, 5, 103, 0, 0, 1093, 1094, 5, 97, 0, 0, 1094, 1095, 5, 116, 0, 0, 1095, 1096, 5, 101, 0, 0, 1096, 1097, 5, 82, 0, 0, 1097, 1098, 5, 111, 0, 0, 1098, 1099, 5, 111, 0, 0, 1099, 1100, 5, 116, 0, 0, 1100, 217, 1, 0, 0, 0, 1101, 1102, 5, 69, 0, 0, 1102, 1103, 5, 110, 0, 0, 1103, 1104, 5, 116, 0, 0, 1104, 1105, 5, 105, 0, 0, 1105, 1106, 5, 116, 0, 0, 1106, 1107, 5, 121, 0, 0, 1107, 219, 1, 0, 0, 0, 1108, 1109, 5, 68, 0, 0, 1109, 1110, 5, 111, 0, 0, 1110, 1111, 5, 109, 0, 0, 1111, 1112, 5, 97, 0, 0, 1112, 1113, 5, 105, 0, 0, 1113, 1114, 5, 110, 0, 0, 1114, 1115, 5, 69, 0, 0, 1115, 1116, 5, 118, 0, 0, 1116, 1117, 5, 101, 0, 0, 1117, 1118, 5, 110, 0, 0, 1118, 1119, 5, 116, 0, 0, 1119, 221, 1, 0, 0, 0, 1120, 1121, 5, 83, 0, 0, 1121, 1122, 5, 101, 0, 0, 1122, 1123, 5, 114, 0, 0, 1123, 1124, 5, 118, 0, 0, 1124, 1125, 5, 105, 0, 0, 1125, 1126, 5, 99, 0, 0, 1126, 1127, 5, 101, 0, 0, 1127, 223, 1, 0, 0, 0, 1128, 1129, 5, 82, 0, 0, 1129, 1130, 5, 101, 0, 0, 1130, 1131, 5, 112, 0, 0, 1131, 1132, 5, 111, 0, 0, 1132, 1133, 5, 115, 0, 0, 1133, 1134, 5, 105, 0, 0, 1134, 1135, 5, 116, 0, 0, 1135, 1136, 5, 111, 0, 0, 1136, 1137, 5, 114, 0, 0, 1137, 1138, 5, 121, 0, 0, 1138, 225, 1, 0, 0, 0, 1139, 1140, 5, 70, 0, 0, 1140, 1141, 5, 97, 0, 0, 1141, 1142, 5, 99, 0, 0, 1142, 1143, 5, 116, 0, 0, 1143, 1144, 5, 111, 0, 0, 1144, 1145, 5, 114, 0, 0, 1145, 1146, 5, 121, 0, 0, 1146, 227, 1, 0, 0, 0, 1147, 1148, 5, 68, 0, 0, 1148, 1149, 5, 111, 0, 0, 1149, 1150, 5, 109, 0, 0, 1150, 1151, 5, 97, 0, 0, 1151, 1152, 5, 105, 0, 0, 1152, 1153, 5, 110, 0, 0, 1153, 1154, 5, 69, 0, 0, 1154, 1155, 5, 114, 0, 0, 1155, 1156, 5, 114, 0, 0, 1156, 1157, 5, 111, 0, 0, 1157, 1158, 5, 114, 0, 0, 1158, 229, 1, 0, 0, 0, 1159, 1160, 5, 65, 0, 0, 1160, 1161, 5, 112, 0, 0, 1161, 1162, 5, 112, 0, 0, 1162, 1163, 5, 108, 0, 0, 1163, 1164, 5, 105, 0, 0, 1164, 1165, 5, 99, 0, 0, 1165, 1166, 5, 97, 0, 0, 1166, 1167, 5, 116, 0, 0, 1167, 1168, 5, 105, 0, 0, 1168, 1169, 5, 111, 0, 0, 1169, 1170, 5, 110, 0, 0, 1170, 1171, 5, 69, 0, 0, 1171, 1172, 5, 114, 0, 0, 1172, 1173, 5, 114, 0, 0, 1173, 1174, 5, 111, 0, 0, 1174, 1175, 5, 114, 0, 0, 1175, 231, 1, 0, 0, 0, 1176, 1177, 5, 68, 0, 0, 1177, 1178, 5, 111, 0, 0, 1178, 1179, 5, 109, 0, 0, 1179, 1180, 5, 97, 0, 0, 1180, 1181, 5, 105, 0, 0, 1181, 1182, 5, 110, 0, 0, 1182, 1183, 5, 69, 0, 0, 1183, 1184, 5, 114, 0, 0, 1184, 1185, 5, 114, 0, 0, 1185, 1186, 5, 111, 0, 0, 1186, 1187, 5, 114, 0, 0, 1187, 1188, 5, 115, 0, 0, 1188, 233, 1, 0, 0, 0, 1189, 1190, 5, 65, 0, 0, 1190, 1191, 5, 112, 0, 0, 1191, 1192, 5, 112, 0, 0, 1192, 1193, 5, 108, 0, 0, 1193, 1194, 5, 105, 0, 0, 1194, 1195, 5, 99, 0, 0, 1195, 1196, 5, 97, 0, 0, 1196, 1197, 5, 116, 0, 0, 1197, 1198, 5, 105, 0, 0, 1198, 1199, 5, 111, 0, 0, 1199, 1200, 5, 110, 0, 0, 1200, 1201, 5, 69, 0, 0, 1201, 1202, 5, 114, 0, 0, 1202, 1203, 5, 114, 0, 0, 1203, 1204, 5, 111, 0, 0, 1204, 1205, 5, 114, 0, 0, 1205, 1206, 5, 115, 0, 0, 1206, 235, 1, 0, 0, 0, 1207, 1208, 5, 79, 0, 0, 1208, 1209, 5, 75, 0, 0, 1209, 237, 1, 0, 0, 0, 1210, 1211, 5, 69, 0, 0, 1211, 1212, 5, 114, 0, 0, 1212, 1213, 5, 114, 0, 0, 1213, 1214, 5, 111, 0, 0, 1214, 1215, 5, 114, 0, 0, 1215, 1216, 5, 115, 0, 0, 1216, 239, 1, 0, 0, 0, 1217, 1218, 5, 67, 0, 0, 1218, 1219, 5, 111, 0, 0, 1219, 1220, 5, 110, 0, 0, 1220, 1221, 5, 102, 0, 0, 1221, 1222, 5, 105, 0, 0, 1222, 1223, 5, 103, 0, 0, 1223, 241, 1, 0, 0, 0, 1224, 1225, 5, 80, 0, 0, 1225, 1226, 5, 97, 0, 0, 1226, 1227, 5, 99, 0, 0, 1227, 1228, 5, 107, 0, 0, 1228, 1229, 5, 97, 0, 0, 1229, 1230, 5, 103, 0, 0, 1230, 1231, 5, 101, 0, 0, 1231, 1232, 5, 80, 0, 0, 1232, 1233, 5, 111, 0, 0, 1233, 1234, 5, 114, 0, 0, 1234, 1235, 5, 116, 0, 0, 1235, 243, 1, 0, 0, 0, 1236, 1237, 5, 86, 0, 0, 1237, 1238, 5, 79, 0, 0, 1238, 245, 1, 0, 0, 0, 1239, 1240, 5, 82, 0, 0, 1240, 1241, 5, 117, 0, 0, 1241, 1242, 5, 108, 0, 0, 1242, 1243, 5, 101, 0, 0, 1243, 247, 1, 0, 0, 0, 1244, 1245, 5, 105, 0, 0, 1245, 1246, 5, 115, 0, 0, 1246, 1247, 5, 66, 0, 0, 1247, 1248, 5, 114, 0, 0, 1248, 1249, 5, 111, 0, 0, 1249, 1250, 5, 107, 0, 0, 1250, 1251, 5, 101, 0, 0, 1251, 1252, 5, 110, 0, 0, 1252, 1253, 5, 73, 0, 0, 1253, 1254, 5, 102, 0, 0, 1254, 249, 1, 0, 0, 0, 1255, 1256, 5, 82, 0, 0, 1256, 1257, 5, 111, 0, 0, 1257, 1258, 5, 111, 0, 0, 1258, 1259, 5, 116, 0, 0, 1259, 251, 1, 0, 0, 0, 1260, 1261, 5, 99, 0, 0, 1261, 1262, 5, 111, 0, 0, 1262, 1263, 5, 110, 0, 0, 1263, 1264, 5, 115, 0, 0, 1264, 1265, 5, 116, 0, 0, 1265, 1266, 5, 114, 0, 0, 1266, 1267, 5, 117, 0, 0, 1267, 1268, 5, 99, 0, 0, 1268, 1269, 5, 116, 0, 0, 1269, 1270, 5, 111, 0, 0, 1270, 1271, 5, 114, 0, 0, 1271, 253, 1, 0, 0, 0, 1272, 1273, 5, 108, 0, 0, 1273, 1274, 5, 101, 0, 0, 1274, 1275, 5, 116, 0, 0, 1275, 255, 1, 0, 0, 0, 1276, 1277, 5, 112, 0, 0, 1277, 1278, 5, 114, 0, 0, 1278, 1279, 5, 105, 0, 0, 1279, 1280, 5, 118, 0, 0, 1280, 1281, 5, 97, 0, 0, 1281, 1282, 5, 116, 0, 0, 1282, 1283, 5, 101, 0, 0, 1283, 257, 1, 0, 0, 0, 1284, 1285, 5, 112, 0, 0, 1285, 1286, 5, 117, 0, 0, 1286, 1287, 5, 98, 0, 0, 1287, 1288, 5, 108, 0, 0, 1288, 1289, 5, 105, 0, 0, 1289, 1290, 5, 99, 0, 0, 1290, 259, 1, 0, 0, 0, 1291, 1292, 5, 112, 0, 0, 1292, 1293, 5, 114, 0, 0, 1293, 1294, 5, 111, 0, 0, 1294, 1295, 5, 116, 0, 0, 1295, 1296, 5, 101, 0, 0, 1296, 1297, 5, 99, 0, 0, 1297, 1298, 5, 116, 0, 0, 1298, 1299, 5, 101, 0, 0, 1299, 1300, 5, 100, 0, 0, 1300, 261, 1, 0, 0, 0, 1301, 1302, 5, 115, 0, 0, 1302, 1303, 5, 116, 0, 0, 1303, 1304, 5, 97, 0, 0, 1304, 1305, 5, 116, 0, 0, 1305, 1306, 5, 105, 0, 0, 1306, 1307, 5, 99, 0, 0, 1307, 263, 1, 0, 0, 0, 1308, 1309, 5, 97, 0, 0, 1309, 1310, 5, 110, 0, 0, 1310, 1311, 5, 121, 0, 0, 1311, 265, 1, 0, 0, 0, 1312, 1313, 5, 100, 0, 0, 1313, 1314, 5, 111, 0, 0, 1314, 1315, 5, 117, 0, 0, 1315, 1316, 5, 98, 0, 0, 1316, 1317, 5, 108, 0, 0, 1317, 1318, 5, 101, 0, 0, 1318, 267, 1, 0, 0, 0, 1319, 1320, 5, 102, 0, 0, 1320, 1321, 5, 108, 0, 0, 1321, 1322, 5, 111, 0, 0, 1322, 1323, 5, 97, 0, 0, 1323, 1324, 5, 116, 0, 0, 1324, 269, 1, 0, 0, 0, 1325, 1326, 5, 105, 0, 0, 1326, 1327, 5, 110, 0, 0, 1327, 1328, 5, 116, 0, 0, 1328, 1329, 5, 51, 0, 0, 1329, 1330, 5, 50, 0, 0, 1330, 271, 1, 0, 0, 0, 1331, 1332, 5, 105, 0, 0, 1332, 1333, 5, 110, 0, 0, 1333, 1334, 5, 116, 0, 0, 1334, 1335, 5, 54, 0, 0, 1335, 1336, 5, 52, 0, 0, 1336, 273, 1, 0, 0, 0, 1337, 1338, 5, 117, 0, 0, 1338, 1339, 5, 105, 0, 0, 1339, 1340, 5, 110, 0, 0, 1340, 1341, 5, 116, 0, 0, 1341, 1342, 5, 51, 0, 0, 1342, 1343, 5, 50, 0, 0, 1343, 275, 1, 0, 0, 0, 1344, 1345, 5, 117, 0, 0, 1345, 1346, 5, 105, 0, 0, 1346, 1347, 5, 110, 0, 0, 1347, 1348, 5, 116, 0, 0, 1348, 1349, 5, 54, 0, 0, 1349, 1350, 5, 52, 0, 0, 1350, 277, 1, 0, 0, 0, 1351, 1352, 5, 115, 0, 0, 1352, 1353, 5, 105, 0, 0, 1353, 1354, 5, 110, 0, 0, 1354, 1355, 5, 116, 0, 0, 1355, 1356, 5, 51, 0, 0, 1356, 1357, 5, 50, 0, 0, 1357, 279, 1, 0, 0, 0, 1358, 1359, 5, 115, 0, 0, 1359, 1360, 5, 105, 0, 0, 1360, 1361, 5, 110, 0, 0, 1361, 1362, 5, 116, 0, 0, 1362, 1363, 5, 54, 0, 0, 1363, 1364, 5, 52, 0, 0, 1364, 281, 1, 0, 0, 0, 1365, 1366, 5, 102, 0, 0, 1366, 1367, 5, 105, 0, 0, 1367, 1368, 5, 120, 0, 0, 1368, 1369, 5, 101, 0, 0, 1369, 1370, 5, 100, 0, 0, 1370, 1371, 5, 51, 0, 0, 1371, 1372, 5, 50, 0, 0, 1372, 283, 1, 0, 0, 0, 1373, 1374, 5, 102, 0, 0, 1374, 1375, 5, 105, 0, 0, 1375, 1376, 5, 120, 0, 0, 1376, 1377, 5, 101, 0, 0, 1377, 1378, 5, 100, 0, 0, 1378, 1379, 5, 54, 0, 0, 1379, 1380, 5, 52, 0, 0, 1380, 285, 1, 0, 0, 0, 1381, 1382, 5, 115, 0, 0, 1382, 1383, 5, 102, 0, 0, 1383, 1384, 5, 105, 0, 0, 1384, 1385, 5, 120, 0, 0, 1385, 1386, 5, 101, 0, 0, 1386, 1387, 5, 100, 0, 0, 1387, 1388, 5, 51, 0, 0, 1388, 1389, 5, 50, 0, 0, 1389, 287, 1, 0, 0, 0, 1390, 1391, 5, 115, 0, 0, 1391, 1392, 5, 102, 0, 0, 1392, 1393, 5, 105, 0, 0, 1393, 1394, 5, 120, 0, 0, 1394, 1395, 5, 101, 0, 0, 1395, 1396, 5, 100, 0, 0, 1396, 1397, 5, 54, 0, 0, 1397, 1398, 5, 52, 0, 0, 1398, 289, 1, 0, 0, 0, 1399, 1400, 5, 98, 0, 0, 1400, 1401, 5, 111, 0, 0, 1401, 1402, 5, 111, 0, 0, 1402, 1403, 5, 108, 0, 0, 1403, 291, 1, 0, 0, 0, 1404, 1405, 5, 115, 0, 0, 1405, 1406, 5, 116, 0, 0, 1406, 1407, 5, 114, 0, 0, 1407, 1408, 5, 105, 0, 0, 1408, 1409, 5, 110, 0, 0, 1409, 1410, 5, 103, 0, 0, 1410, 293, 1, 0, 0, 0, 1411, 1412, 5, 98, 0, 0, 1412, 1413, 5, 121, 0, 0, 1413, 1414, 5, 116, 0, 0, 1414, 1415, 5, 101, 0, 0, 1415, 1416, 5, 115, 0, 0, 1416, 295, 1, 0, 0, 0, 1417, 1418, 5, 116, 0, 0, 1418, 1419, 5, 105, 0, 0, 1419, 1420, 5, 109, 0, 0, 1420, 1421, 5, 101, 0, 0, 1421, 1422, 5, 115, 0, 0, 1422, 1423, 5, 116, 0, 0, 1423, 1424, 5, 97, 0, 0, 1424, 1425, 5, 109, 0, 0, 1425, 1426, 5, 112, 0, 0, 1426, 297, 1, 0, 0, 0, 1427, 1428, 5, 83, 0, 0, 1428, 1429, 5, 116, 0, 0, 1429, 1430, 5, 114, 0, 0, 1430, 1431, 5, 117, 0, 0, 1431, 1432, 5, 99, 0, 0, 1432, 1433, 5, 116, 0, 0, 1433, 299, 1, 0, 0, 0, 1434, 1435, 5, 116, 0, 0, 1435, 1436, 5, 121, 0, 0, 1436, 1437, 5, 112, 0, 0, 1437, 1438, 5, 101, 0, 0, 1438, 301, 1, 0, 0, 0, 1439, 1440, 5, 103, 0, 0, 1440, 1441, 5, 101, 0, 0, 1441, 1442, 5, 116, 0, 0, 1442, 303, 1, 0, 0, 0, 1443, 1444, 5, 115, 0, 0, 1444, 1445, 5, 101, 0, 0, 1445, 1446, 5, 116, 0, 0, 1446, 305, 1, 0, 0, 0, 1447, 1448, 5, 101, 0, 0, 1448, 1449, 5, 120, 0, 0, 1449, 1450, 5, 101, 0, 0, 1450, 1451, 5, 99, 0, 0, 1451, 1452, 5, 117, 0, 0, 1452, 1453, 5, 116, 0, 0, 1453, 1454, 5, 101, 0, 0, 1454, 307, 1, 0, 0, 0, 1455, 1456, 5, 99, 0, 0, 1456, 1457, 5, 114, 0, 0, 1457, 1458, 5, 101, 0, 0, 1458, 1459, 5, 97, 0, 0, 1459, 1460, 5, 116, 0, 0, 1460, 1461, 5, 101, 0, 0, 1461, 309, 1, 0, 0, 0, 1462, 1463, 5, 110, 0, 0, 1463, 1464, 5, 97, 0, 0, 1464, 1465, 5, 109, 0, 0, 1465, 1466, 5, 101, 0, 0, 1466, 1467, 5, 115, 0, 0, 1467, 1468, 5, 112, 0, 0, 1468, 1469, 5, 97, 0, 0, 1469, 1470, 5, 99, 0, 0, 1470, 1471, 5, 101, 0, 0, 1471, 311, 1, 0, 0, 0, 1472, 1473, 5, 100, 0, 0, 1473, 1474, 5, 101, 0, 0, 1474, 1475, 5, 99, 0, 0, 1475, 1476, 5, 108, 0, 0, 1476, 1477, 5, 97, 0, 0, 1477, 1478, 5, 114, 0, 0, 1478, 1479, 5, 101, 0, 0, 1479, 313, 1, 0, 0, 0, 1480, 1481, 5, 74, 0, 0, 1481, 1482, 5, 101, 0, 0, 1482, 1483, 5, 115, 0, 0, 1483, 1484, 5, 116, 0, 0, 1484, 1485, 5, 84, 0, 0, 1485, 1486, 5, 101, 0, 0, 1486, 1487, 5, 115, 0, 0, 1487, 1488, 5, 116, 0, 0, 1488, 315, 1, 0, 0, 0, 1489, 1490, 5, 74, 0, 0, 1490, 1491, 5, 101, 0, 0, 1491, 1492, 5, 115, 0, 0, 1492, 1493, 5, 116, 0, 0, 1493, 1494, 5, 84, 0, 0, 1494, 1495, 5, 101, 0, 0, 1495, 1496, 5, 115, 0, 0, 1496, 1497, 5, 116, 0, 0, 1497, 1498, 5, 83, 0, 0, 1498, 1499, 5, 116, 0, 0, 1499, 1500, 5, 97, 0, 0, 1500, 1501, 5, 116, 0, 0, 1501, 1502, 5, 101, 0, 0, 1502, 1503, 5, 109, 0, 0, 1503, 1504, 5, 101, 0, 0, 1504, 1505, 5, 110, 0, 0, 1505, 1506, 5, 116, 0, 0, 1506, 317, 1, 0, 0, 0, 1507, 1508, 5, 74, 0, 0, 1508, 1509, 5, 101, 0, 0, 1509, 1510, 5, 115, 0, 0, 1510, 1511, 5, 116, 0, 0, 1511, 1512, 5, 84, 0, 0, 1512, 1513, 5, 101, 0, 0, 1513, 1514, 5, 115, 0, 0, 1514, 1515, 5, 116, 0, 0, 1515, 1516, 5, 83, 0, 0, 1516, 1517, 5, 116, 0, 0, 1517, 1518, 5, 97, 0, 0, 1518, 1519, 5, 116, 0, 0, 1519, 1520, 5, 101, 0, 0, 1520, 1521, 5, 109, 0, 0, 1521, 1522, 5, 101, 0, 0, 1522, 1523, 5, 110, 0, 0, 1523, 1524, 5, 116, 0, 0, 1524, 1525, 5, 76, 0, 0, 1525, 1526, 5, 105, 0, 0, 1526, 1527, 5, 115, 0, 0, 1527, 1528, 5, 116, 0, 0, 1528, 319, 1, 0, 0, 0, 1529, 1530, 5, 74, 0, 0, 1530, 1531, 5, 101, 0, 0, 1531, 1532, 5, 115, 0, 0, 1532, 1533, 5, 116, 0, 0, 1533, 1534, 5, 84, 0, 0, 1534, 1535, 5, 101, 0, 0, 1535, 1536, 5, 115, 0, 0, 1536, 1537, 5, 116, 0, 0, 1537, 1538, 5, 70, 0, 0, 1538, 1539, 5, 117, 0, 0, 1539, 1540, 5, 110, 0, 0, 1540, 1541, 5, 99, 0, 0, 1541, 1542, 5, 116, 0, 0, 1542, 1543, 5, 105, 0, 0, 1543, 1544, 5, 111, 0, 0, 1544, 1545, 5, 110, 0, 0, 1545, 1546, 5, 66, 0, 0, 1546, 1547, 5, 111, 0, 0, 1547, 1548, 5, 100, 0, 0, 1548, 1549, 5, 121, 0, 0, 1549, 321, 1, 0, 0, 0, 1550, 1551, 5, 74, 0, 0, 1551, 1552, 5, 101, 0, 0, 1552, 1553, 5, 115, 0, 0, 1553, 1554, 5, 116, 0, 0, 1554, 1555, 5, 84, 0, 0, 1555, 1556, 5, 101, 0, 0, 1556, 1557, 5, 115, 0, 0, 1557, 1558, 5, 116, 0, 0, 1558, 1559, 5, 69, 0, 0, 1559, 1560, 5, 120, 0, 0, 1560, 1561, 5, 101, 0, 0, 1561, 1562, 5, 99, 0, 0, 1562, 1563, 5, 117, 0, 0, 1563, 1564, 5, 116, 0, 0, 1564, 1565, 5, 101, 0, 0, 1565, 323, 1, 0, 0, 0, 1566, 1567, 5, 74, 0, 0, 1567, 1568, 5, 101, 0, 0, 1568, 1569, 5, 115, 0, 0, 1569, 1570, 5, 116, 0, 0, 1570, 1571, 5, 84, 0, 0, 1571, 1572, 5, 101, 0, 0, 1572, 1573, 5, 115, 0, 0, 1573, 1574, 5, 116, 0, 0, 1574, 1575, 5, 83, 0, 0, 1575, 1576, 5, 116, 0, 0, 1576, 1577, 5, 114, 0, 0, 1577, 1578, 5, 117, 0, 0, 1578, 1579, 5, 99, 0, 0, 1579, 1580, 5, 116, 0, 0, 1580, 1581, 5, 69, 0, 0, 1581, 1582, 5, 118, 0, 0, 1582, 1583, 5, 97, 0, 0, 1583, 1584, 5, 108, 0, 0, 1584, 1585, 5, 117, 0, 0, 1585, 1586, 5, 97, 0, 0, 1586, 1587, 5, 116, 0, 0, 1587, 1588, 5, 105, 0, 0, 1588, 1589, 5, 111, 0, 0, 1589, 1590, 5, 110, 0, 0, 1590, 325, 1, 0, 0, 0, 1591, 1592, 5, 74, 0, 0, 1592, 1593, 5, 101, 0, 0, 1593, 1594, 5, 115, 0, 0, 1594, 1595, 5, 116, 0, 0, 1595, 1596, 5, 84, 0, 0, 1596, 1597, 5, 101, 0, 0, 1597, 1598, 5, 115, 0, 0, 1598, 1599, 5, 116, 0, 0, 1599, 1600, 5, 68, 0, 0, 1600, 1601, 5, 84, 0, 0, 1601, 1602, 5, 79, 0, 0, 1602, 1603, 5, 69, 0, 0, 1603, 1604, 5, 118, 0, 0, 1604, 1605, 5, 97, 0, 0, 1605, 1606, 5, 108, 0, 0, 1606, 1607, 5, 117, 0, 0, 1607, 1608, 5, 97, 0, 0, 1608, 1609, 5, 116, 0, 0, 1609, 1610, 5, 105, 0, 0, 1610, 1611, 5, 111, 0, 0, 1611, 1612, 5, 110, 0, 0, 1612, 327, 1, 0, 0, 0, 1613, 1614, 5, 74, 0, 0, 1614, 1615, 5, 101, 0, 0, 1615, 1616, 5, 115, 0, 0, 1616, 1617, 5, 116, 0, 0, 1617, 1618, 5, 84, 0, 0, 1618, 1619, 5, 101, 0, 0, 1619, 1620, 5, 115, 0, 0, 1620, 1621, 5, 116, 0, 0, 1621, 1622, 5, 69, 0, 0, 1622, 1623, 5, 118, 0, 0, 1623, 1624, 5, 97, 0, 0, 1624, 1625, 5, 108, 0, 0, 1625, 1626, 5, 117, 0, 0, 1626, 1627, 5, 97, 0, 0, 1627, 1628, 5, 116, 0, 0, 1628, 1629, 5, 105, 0, 0, 1629, 1630, 5, 111, 0, 0, 1630, 1631, 5, 110, 0, 0, 1631, 329, 1, 0, 0, 0, 1632, 1633, 5, 74, 0, 0, 1633, 1634, 5, 101, 0, 0, 1634, 1635, 5, 115, 0, 0, 1635, 1636, 5, 116, 0, 0, 1636, 1637, 5, 84, 0, 0, 1637, 1638, 5, 101, 0, 0, 1638, 1639, 5, 115, 0, 0, 1639, 1640, 5, 116, 0, 0, 1640, 1641, 5, 82, 0, 0, 1641, 1642, 5, 101, 0, 0, 1642, 1643, 5, 116, 0, 0, 1643, 1644, 5, 117, 0, 0, 1644, 1645, 5, 114, 0, 0, 1645, 1646, 5, 110, 0, 0, 1646, 1647, 5, 79, 0, 0, 1647, 1648, 5, 107, 0, 0, 1648, 1649, 5, 69, 0, 0, 1649, 1650, 5, 114, 0, 0, 1650, 1651, 5, 114, 0, 0, 1651, 1652, 5, 111, 0, 0, 1652, 1653, 5, 114, 0, 0, 1653, 1654, 5, 84, 0, 0, 1654, 1655, 5, 121, 0, 0, 1655, 1656, 5, 112, 0, 0, 1656, 1657, 5, 101, 0, 0, 1657, 331, 1, 0, 0, 0, 1658, 1659, 5, 74, 0, 0, 1659, 1660, 5, 101, 0, 0, 1660, 1661, 5, 115, 0, 0, 1661, 1662, 5, 116, 0, 0, 1662, 1663, 5, 84, 0, 0, 1663, 1664, 5, 101, 0, 0, 1664, 1665, 5, 115, 0, 0, 1665, 1666, 5, 116, 0, 0, 1666, 1667, 5, 69, 0, 0, 1667, 1668, 5, 120, 0, 0, 1668, 1669, 5, 112, 0, 0, 1669, 1670, 5, 114, 0, 0, 1670, 1671, 5, 101, 0, 0, 1671, 1672, 5, 115, 0, 0, 1672, 1673, 5, 115, 0, 0, 1673, 1674, 5, 105, 0, 0, 1674, 1675, 5, 111, 0, 0, 1675, 1676, 5, 110, 0, 0, 1676, 333, 1, 0, 0, 0, 1677, 1678, 5, 74, 0, 0, 1678, 1679, 5, 101, 0, 0, 1679, 1680, 5, 115, 0, 0, 1680, 1681, 5, 116, 0, 0, 1681, 1682, 5, 84, 0, 0, 1682, 1683, 5, 101, 0, 0, 1683, 1684, 5, 115, 0, 0, 1684, 1685, 5, 116, 0, 0, 1685, 1686, 5, 67, 0, 0, 1686, 1687, 5, 111, 0, 0, 1687, 1688, 5, 110, 0, 0, 1688, 1689, 5, 115, 0, 0, 1689, 1690, 5, 116, 0, 0, 1690, 1691, 5, 68, 0, 0, 1691, 1692, 5, 101, 0, 0, 1692, 1693, 5, 99, 0, 0, 1693, 1694, 5, 108, 0, 0, 1694, 1695, 5, 97, 0, 0, 1695, 1696, 5, 114, 0, 0, 1696, 1697, 5, 97, 0, 0, 1697, 1698, 5, 116, 0, 0, 1698, 1699, 5, 105, 0, 0, 1699, 1700, 5, 111, 0, 0, 1700, 1701, 5, 110, 0, 0, 1701, 335, 1, 0, 0, 0, 1702, 1703, 5, 74, 0, 0, 1703, 1704, 5, 101, 0, 0, 1704, 1705, 5, 115, 0, 0, 1705, 1706, 5, 116, 0, 0, 1706, 1707, 5, 84, 0, 0, 1707, 1708, 5, 101, 0, 0, 1708, 1709, 5, 115, 0, 0, 1709, 1710, 5, 116, 0, 0, 1710, 1711, 5, 77, 0, 0, 1711, 1712, 5, 101, 0, 0, 1712, 1713, 5, 116, 0, 0, 1713, 1714, 5, 104, 0, 0, 1714, 1715, 5, 111, 0, 0, 1715, 1716, 5, 100, 0, 0, 1716, 1717, 5, 68, 0, 0, 1717, 1718, 5, 101, 0, 0, 1718, 1719, 5, 102, 0, 0, 1719, 1720, 5, 105, 0, 0, 1720, 1721, 5, 110, 0, 0, 1721, 1722, 5, 105, 0, 0, 1722, 1723, 5, 116, 0, 0, 1723, 1724, 5, 105, 0, 0, 1724, 1725, 5, 111, 0, 0, 1725, 1726, 5, 110, 0, 0, 1726, 1727, 5, 76, 0, 0, 1727, 1728, 5, 105, 0, 0, 1728, 1729, 5, 115, 0, 0, 1729, 1730, 5, 116, 0, 0, 1730, 337, 1, 0, 0, 0, 1731, 1732, 5, 74, 0, 0, 1732, 1733, 5, 101, 0, 0, 1733, 1734, 5, 115, 0, 0, 1734, 1735, 5, 116, 0, 0, 1735, 1736, 5, 84, 0, 0, 1736, 1737, 5, 101, 0, 0, 1737, 1738, 5, 115, 0, 0, 1738, 1739, 5, 116, 0, 0, 1739, 1740, 5, 67, 0, 0, 1740, 1741, 5, 114, 0, 0, 1741, 1742, 5, 101, 0, 0, 1742, 1743, 5, 97, 0, 0, 1743, 1744, 5, 116, 0, 0, 1744, 1745, 5, 101, 0, 0, 1745, 1746, 5, 77, 0, 0, 1746, 1747, 5, 101, 0, 0, 1747, 1748, 5, 116, 0, 0, 1748, 1749, 5, 104, 0, 0, 1749, 1750, 5, 111, 0, 0, 1750, 1751, 5, 100, 0, 0, 1751, 1752, 5, 68, 0, 0, 1752, 1753, 5, 101, 0, 0, 1753, 1754, 5, 99, 0, 0, 1754, 1755, 5, 108, 0, 0, 1755, 1756, 5, 97, 0, 0, 1756, 1757, 5, 114, 0, 0, 1757, 1758, 5, 97, 0, 0, 1758, 1759, 5, 116, 0, 0, 1759, 1760, 5, 105, 0, 0, 1760, 1761, 5, 111, 0, 0, 1761, 1762, 5, 110, 0, 0, 1762, 339, 1, 0, 0, 0, 1763, 1764, 5, 74, 0, 0, 1764, 1765, 5, 101, 0, 0, 1765, 1766, 5, 115, 0, 0, 1766, 1767, 5, 116, 0, 0, 1767, 1768, 5, 84, 0, 0, 1768, 1769, 5, 101, 0, 0, 1769, 1770, 5, 115, 0, 0, 1770, 1771, 5, 116, 0, 0, 1771, 1772, 5, 80, 0, 0, 1772, 1773, 5, 114, 0, 0, 1773, 1774, 5, 105, 0, 0, 1774, 1775, 5, 118, 0, 0, 1775, 1776, 5, 97, 0, 0, 1776, 1777, 5, 116, 0, 0, 1777, 1778, 5, 101, 0, 0, 1778, 1779, 5, 77, 0, 0, 1779, 1780, 5, 101, 0, 0, 1780, 1781, 5, 116, 0, 0, 1781, 1782, 5, 104, 0, 0, 1782, 1783, 5, 111, 0, 0, 1783, 1784, 5, 100, 0, 0, 1784, 1785, 5, 68, 0, 0, 1785, 1786, 5, 101, 0, 0, 1786, 1787, 5, 99, 0, 0, 1787, 1788, 5, 108, 0, 0, 1788, 1789, 5, 97, 0, 0, 1789, 1790, 5, 114, 0, 0, 1790, 1791, 5, 97, 0, 0, 1791, 1792, 5, 116, 0, 0, 1792, 1793, 5, 105, 0, 0, 1793, 1794, 5, 111, 0, 0, 1794, 1795, 5, 110, 0, 0, 1795, 341, 1, 0, 0, 0, 1796, 1797, 5, 74, 0, 0, 1797, 1798, 5, 101, 0, 0, 1798, 1799, 5, 115, 0, 0, 1799, 1800, 5, 116, 0, 0, 1800, 1801, 5, 84, 0, 0, 1801, 1802, 5, 101, 0, 0, 1802, 1803, 5, 115, 0, 0, 1803, 1804, 5, 116, 0, 0, 1804, 1805, 5, 80, 0, 0, 1805, 1806, 5, 117, 0, 0, 1806, 1807, 5, 98, 0, 0, 1807, 1808, 5, 108, 0, 0, 1808, 1809, 5, 105, 0, 0, 1809, 1810, 5, 99, 0, 0, 1810, 1811, 5, 77, 0, 0, 1811, 1812, 5, 101, 0, 0, 1812, 1813, 5, 116, 0, 0, 1813, 1814, 5, 104, 0, 0, 1814, 1815, 5, 111, 0, 0, 1815, 1816, 5, 100, 0, 0, 1816, 1817, 5, 68, 0, 0, 1817, 1818, 5, 101, 0, 0, 1818, 1819, 5, 99, 0, 0, 1819, 1820, 5, 108, 0, 0, 1820, 1821, 5, 97, 0, 0, 1821, 1822, 5, 114, 0, 0, 1822, 1823, 5, 97, 0, 0, 1823, 1824, 5, 116, 0, 0, 1824, 1825, 5, 105, 0, 0, 1825, 1826, 5, 111, 0, 0, 1826, 1827, 5, 110, 0, 0, 1827, 343, 1, 0, 0, 0, 1828, 1829, 5, 74, 0, 0, 1829, 1830, 5, 101, 0, 0, 1830, 1831, 5, 115, 0, 0, 1831, 1832, 5, 116, 0, 0, 1832, 1833, 5, 84, 0, 0, 1833, 1834, 5, 101, 0, 0, 1834, 1835, 5, 115, 0, 0, 1835, 1836, 5, 116, 0, 0, 1836, 1837, 5, 86, 0, 0, 1837, 1838, 5, 97, 0, 0, 1838, 1839, 5, 108, 0, 0, 1839, 1840, 5, 117, 0, 0, 1840, 1841, 5, 101, 0, 0, 1841, 1842, 5, 79, 0, 0, 1842, 1843, 5, 98, 0, 0, 1843, 1844, 5, 106, 0, 0, 1844, 1845, 5, 101, 0, 0, 1845, 1846, 5, 99, 0, 0, 1846, 1847, 5, 116, 0, 0, 1847, 1848, 5, 68, 0, 0, 1848, 1849, 5, 101, 0, 0, 1849, 1850, 5, 99, 0, 0, 1850, 1851, 5, 108, 0, 0, 1851, 1852, 5, 97, 0, 0, 1852, 1853, 5, 114, 0, 0, 1853, 1854, 5, 97, 0, 0, 1854, 1855, 5, 116, 0, 0, 1855, 1856, 5, 105, 0, 0, 1856, 1857, 5, 111, 0, 0, 1857, 1858, 5, 110, 0, 0, 1858, 345, 1, 0, 0, 0, 1859, 1860, 5, 74, 0, 0, 1860, 1861, 5, 101, 0, 0, 1861, 1862, 5, 115, 0, 0, 1862, 1863, 5, 116, 0, 0, 1863, 1864, 5, 84, 0, 0, 1864, 1865, 5, 101, 0, 0, 1865, 1866, 5, 115, 0, 0, 1866, 1867, 5, 116, 0, 0, 1867, 1868, 5, 69, 0, 0, 1868, 1869, 5, 110, 0, 0, 1869, 1870, 5, 116, 0, 0, 1870, 1871, 5, 105, 0, 0, 1871, 1872, 5, 116, 0, 0, 1872, 1873, 5, 121, 0, 0, 1873, 1874, 5, 68, 0, 0, 1874, 1875, 5, 101, 0, 0, 1875, 1876, 5, 99, 0, 0, 1876, 1877, 5, 108, 0, 0, 1877, 1878, 5, 97, 0, 0, 1878, 1879, 5, 114, 0, 0, 1879, 1880, 5, 97, 0, 0, 1880, 1881, 5, 116, 0, 0, 1881, 1882, 5, 105, 0, 0, 1882, 1883, 5, 111, 0, 0, 1883, 1884, 5, 110, 0, 0, 1884, 347, 1, 0, 0, 0, 1885, 1886, 5, 74, 0, 0, 1886, 1887, 5, 101, 0, 0, 1887, 1888, 5, 115, 0, 0, 1888, 1889, 5, 116, 0, 0, 1889, 1890, 5, 84, 0, 0, 1890, 1891, 5, 101, 0, 0, 1891, 1892, 5, 115, 0, 0, 1892, 1893, 5, 116, 0, 0, 1893, 1894, 5, 67, 0, 0, 1894, 1895, 5, 111, 0, 0, 1895, 1896, 5, 110, 0, 0, 1896, 1897, 5, 100, 0, 0, 1897, 1898, 5, 105, 0, 0, 1898, 1899, 5, 116, 0, 0, 1899, 1900, 5, 105, 0, 0, 1900, 1901, 5, 111, 0, 0, 1901, 1902, 5, 110, 0, 0, 1902, 349, 1, 0, 0, 0, 1903, 1904, 5, 74, 0, 0, 1904, 1905, 5, 101, 0, 0, 1905, 1906, 5, 115, 0, 0, 1906, 1907, 5, 116, 0, 0, 1907, 1908, 5, 84, 0, 0, 1908, 1909, 5, 101, 0, 0, 1909, 1910, 5, 115, 0, 0, 1910, 1911, 5, 116, 0, 0, 1911, 1912, 5, 86, 0, 0, 1912, 1913, 5, 97, 0, 0, 1913, 1914, 5, 114, 0, 0, 1914, 1915, 5, 105, 0, 0, 1915, 1916, 5, 97, 0, 0, 1916, 1917, 5, 98, 0, 0, 1917, 1918, 5, 108, 0, 0, 1918, 1919, 5, 101, 0, 0, 1919, 1920, 5, 68, 0, 0, 1920, 1921, 5, 101, 0, 0, 1921, 1922, 5, 99, 0, 0, 1922, 1923, 5, 108, 0, 0, 1923, 1924, 5, 97, 0, 0, 1924, 1925, 5, 114, 0, 0, 1925, 1926, 5, 97, 0, 0, 1926, 1927, 5, 116, 0, 0, 1927, 1928, 5, 105, 0, 0, 1928, 1929, 5, 111, 0, 0, 1929, 1930, 5, 110, 0, 0, 1930, 351, 1, 0, 0, 0, 1931, 1932, 5, 74, 0, 0, 1932, 1933, 5, 101, 0, 0, 1933, 1934, 5, 115, 0, 0, 1934, 1935, 5, 116, 0, 0, 1935, 1936, 5, 84, 0, 0, 1936, 1937, 5, 101, 0, 0, 1937, 1938, 5, 115, 0, 0, 1938, 1939, 5, 116, 0, 0, 1939, 1940, 5, 84, 0, 0, 1940, 1941, 5, 104, 0, 0, 1941, 1942, 5, 105, 0, 0, 1942, 1943, 5, 115, 0, 0, 1943, 1944, 5, 68, 0, 0, 1944, 1945, 5, 101, 0, 0, 1945, 1946, 5, 99, 0, 0, 1946, 1947, 5, 108, 0, 0, 1947, 1948, 5, 97, 0, 0, 1948, 1949, 5, 114, 0, 0, 1949, 1950, 5, 97, 0, 0, 1950, 1951, 5, 116, 0, 0, 1951, 1952, 5, 105, 0, 0, 1952, 1953, 5, 111, 0, 0, 1953, 1954, 5, 110, 0, 0, 1954, 353, 1, 0, 0, 0, 1955, 1956, 5, 74, 0, 0, 1956, 1957, 5, 101, 0, 0, 1957, 1958, 5, 115, 0, 0, 1958, 1959, 5, 116, 0, 0, 1959, 1960, 5, 84, 0, 0, 1960, 1961, 5, 101, 0, 0, 1961, 1962, 5, 115, 0, 0, 1962, 1963, 5, 116, 0, 0, 1963, 1964, 5, 73, 0, 0, 1964, 1965, 5, 115, 0, 0, 1965, 1966, 5, 73, 0, 0, 1966, 1967, 5, 110, 0, 0, 1967, 1968, 5, 115, 0, 0, 1968, 1969, 5, 116, 0, 0, 1969, 1970, 5, 97, 0, 0, 1970, 1971, 5, 110, 0, 0, 1971, 1972, 5, 99, 0, 0, 1972, 1973, 5, 101, 0, 0, 1973, 1974, 5, 79, 0, 0, 1974, 1975, 5, 102, 0, 0, 1975, 355, 1, 0, 0, 0, 1976, 1977, 5, 74, 0, 0, 1977, 1978, 5, 101, 0, 0, 1978, 1979, 5, 115, 0, 0, 1979, 1980, 5, 116, 0, 0, 1980, 1981, 5, 84, 0, 0, 1981, 1982, 5, 101, 0, 0, 1982, 1983, 5, 115, 0, 0, 1983, 1984, 5, 116, 0, 0, 1984, 1985, 5, 86, 0, 0, 1985, 1986, 5, 97, 0, 0, 1986, 1987, 5, 108, 0, 0, 1987, 1988, 5, 117, 0, 0, 1988, 1989, 5, 101, 0, 0, 1989, 1990, 5, 79, 0, 0, 1990, 1991, 5, 98, 0, 0, 1991, 1992, 5, 106, 0, 0, 1992, 1993, 5, 101, 0, 0, 1993, 1994, 5, 99, 0, 0, 1994, 1995, 5, 116, 0, 0, 1995, 1996, 5, 69, 0, 0, 1996, 1997, 5, 118, 0, 0, 1997, 1998, 5, 97, 0, 0, 1998, 1999, 5, 108, 0, 0, 1999, 2000, 5, 117, 0, 0, 2000, 2001, 5, 97, 0, 0, 2001, 2002, 5, 116, 0, 0, 2002, 2003, 5, 105, 0, 0, 2003, 2004, 5, 111, 0, 0, 2004, 2005, 5, 110, 0, 0, 2005, 357, 1, 0, 0, 0, 2006, 2007, 5, 74, 0, 0, 2007, 2008, 5, 101, 0, 0, 2008, 2009, 5, 115, 0, 0, 2009, 2010, 5, 116, 0, 0, 2010, 2011, 5, 84, 0, 0, 2011, 2012, 5, 101, 0, 0, 2012, 2013, 5, 115, 0, 0, 2013, 2014, 5, 116, 0, 0, 2014, 2015, 5, 69, 0, 0, 2015, 2016, 5, 110, 0, 0, 2016, 2017, 5, 116, 0, 0, 2017, 2018, 5, 105, 0, 0, 2018, 2019, 5, 116, 0, 0, 2019, 2020, 5, 121, 0, 0, 2020, 2021, 5, 69, 0, 0, 2021, 2022, 5, 118, 0, 0, 2022, 2023, 5, 97, 0, 0, 2023, 2024, 5, 108, 0, 0, 2024, 2025, 5, 117, 0, 0, 2025, 2026, 5, 97, 0, 0, 2026, 2027, 5, 116, 0, 0, 2027, 2028, 5, 105, 0, 0, 2028, 2029, 5, 111, 0, 0, 2029, 2030, 5, 110, 0, 0, 2030, 359, 1, 0, 0, 0, 2031, 2032, 5, 74, 0, 0, 2032, 2033, 5, 101, 0, 0, 2033, 2034, 5, 115, 0, 0, 2034, 2035, 5, 116, 0, 0, 2035, 2036, 5, 84, 0, 0, 2036, 2037, 5, 101, 0, 0, 2037, 2038, 5, 115, 0, 0, 2038, 2039, 5, 116, 0, 0, 2039, 2040, 5, 83, 0, 0, 2040, 2041, 5, 105, 0, 0, 2041, 2042, 5, 110, 0, 0, 2042, 2043, 5, 103, 0, 0, 2043, 2044, 5, 108, 0, 0, 2044, 2045, 5, 101, 0, 0, 2045, 2046, 5, 69, 0, 0, 2046, 2047, 5, 120, 0, 0, 2047, 2048, 5, 112, 0, 0, 2048, 2049, 5, 114, 0, 0, 2049, 2050, 5, 101, 0, 0, 2050, 2051, 5, 115, 0, 0, 2051, 2052, 5, 115, 0, 0, 2052, 2053, 5, 105, 0, 0, 2053, 2054, 5, 111, 0, 0, 2054, 2055, 5, 110, 0, 0, 2055, 361, 1, 0, 0, 0, 2056, 2057, 5, 74, 0, 0, 2057, 2058, 5, 101, 0, 0, 2058, 2059, 5, 115, 0, 0, 2059, 2060, 5, 116, 0, 0, 2060, 2061, 5, 84, 0, 0, 2061, 2062, 5, 101, 0, 0, 2062, 2063, 5, 115, 0, 0, 2063, 2064, 5, 116, 0, 0, 2064, 2065, 5, 71, 0, 0, 2065, 2066, 5, 101, 0, 0, 2066, 2067, 5, 116, 0, 0, 2067, 2068, 5, 67, 0, 0, 2068, 2069, 5, 108, 0, 0, 2069, 2070, 5, 97, 0, 0, 2070, 2071, 5, 115, 0, 0, 2071, 2072, 5, 115, 0, 0, 2072, 363, 1, 0, 0, 0, 2073, 2074, 5, 74, 0, 0, 2074, 2075, 5, 101, 0, 0, 2075, 2076, 5, 115, 0, 0, 2076, 2077, 5, 116, 0, 0, 2077, 2078, 5, 84, 0, 0, 2078, 2079, 5, 101, 0, 0, 2079, 2080, 5, 115, 0, 0, 2080, 2081, 5, 116, 0, 0, 2081, 2082, 5, 66, 0, 0, 2082, 2083, 5, 117, 0, 0, 2083, 2084, 5, 105, 0, 0, 2084, 2085, 5, 108, 0, 0, 2085, 2086, 5, 116, 0, 0, 2086, 2087, 5, 73, 0, 0, 2087, 2088, 5, 110, 0, 0, 2088, 2089, 5, 70, 0, 0, 2089, 2090, 5, 117, 0, 0, 2090, 2091, 5, 110, 0, 0, 2091, 2092, 5, 99, 0, 0, 2092, 2093, 5, 116, 0, 0, 2093, 2094, 5, 105, 0, 0, 2094, 2095, 5, 111, 0, 0, 2095, 2096, 5, 110, 0, 0, 2096, 365, 1, 0, 0, 0, 2097, 2098, 5, 74, 0, 0, 2098, 2099, 5, 101, 0, 0, 2099, 2100, 5, 115, 0, 0, 2100, 2101, 5, 116, 0, 0, 2101, 2102, 5, 84, 0, 0, 2102, 2103, 5, 101, 0, 0, 2103, 2104, 5, 115, 0, 0, 2104, 2105, 5, 116, 0, 0, 2105, 2106, 5, 66, 0, 0, 2106, 2107, 5, 117, 0, 0, 2107, 2108, 5, 105, 0, 0, 2108, 2109, 5, 108, 0, 0, 2109, 2110, 5, 116, 0, 0, 2110, 2111, 5, 73, 0, 0, 2111, 2112, 5, 110, 0, 0, 2112, 2113, 5, 67, 0, 0, 2113, 2114, 5, 108, 0, 0, 2114, 2115, 5, 97, 0, 0, 2115, 2116, 5, 115, 0, 0, 2116, 2117, 5, 115, 0, 0, 2117, 367, 1, 0, 0, 0, 2118, 2119, 5, 74, 0, 0, 2119, 2120, 5, 101, 0, 0, 2120, 2121, 5, 115, 0, 0, 2121, 2122, 5, 116, 0, 0, 2122, 2123, 5, 84, 0, 0, 2123, 2124, 5, 101, 0, 0, 2124, 2125, 5, 115, 0, 0, 2125, 2126, 5, 116, 0, 0, 2126, 2127, 5, 66, 0, 0, 2127, 2128, 5, 105, 0, 0, 2128, 2129, 5, 116, 0, 0, 2129, 2130, 5, 108, 0, 0, 2130, 2131, 5, 111, 0, 0, 2131, 2132, 5, 111, 0, 0, 2132, 2133, 5, 112, 0, 0, 2133, 2134, 5, 115, 0, 0, 2134, 2135, 5, 80, 0, 0, 2135, 2136, 5, 114, 0, 0, 2136, 2137, 5, 105, 0, 0, 2137, 2138, 5, 109, 0, 0, 2138, 2139, 5, 97, 0, 0, 2139, 2140, 5, 114, 0, 0, 2140, 2141, 5, 121, 0, 0, 2141, 2142, 5, 84, 0, 0, 2142, 2143, 5, 121, 0, 0, 2143, 2144, 5, 112, 0, 0, 2144, 2145, 5, 101, 0, 0, 2145, 369, 1, 0, 0, 0, 2146, 2147, 5, 85, 0, 0, 2147, 2148, 5, 85, 0, 0, 2148, 2149, 5, 73, 0, 0, 2149, 2150, 5, 68, 0, 0, 2150, 2151, 5, 118, 0, 0, 2151, 2152, 5, 52, 0, 0, 2152, 371, 1, 0, 0, 0, 2153, 2154, 5, 105, 0, 0, 2154, 2155, 5, 115, 0, 0, 2155, 373, 1, 0, 0, 0, 2156, 2157, 5, 103, 0, 0, 2157, 2158, 5, 101, 0, 0, 2158, 2159, 5, 116, 0, 0, 2159, 2160, 5, 67, 0, 0, 2160, 2161, 5, 108, 0, 0, 2161, 2162, 5, 97, 0, 0, 2162, 2163, 5, 115, 0, 0, 2163, 2164, 5, 115, 0, 0, 2164, 375, 1, 0, 0, 0, 2165, 2166, 5, 116, 0, 0, 2166, 2167, 5, 111, 0, 0, 2167, 2168, 5, 83, 0, 0, 2168, 2169, 5, 116, 0, 0, 2169, 2170, 5, 114, 0, 0, 2170, 2171, 5, 105, 0, 0, 2171, 2172, 5, 110, 0, 0, 2172, 2173, 5, 103, 0, 0, 2173, 377, 1, 0, 0, 0, 2174, 2175, 5, 64, 0, 0, 2175, 379, 1, 0, 0, 0, 2176, 2177, 5, 109, 0, 0, 2177, 2178, 5, 101, 0, 0, 2178, 2179, 5, 116, 0, 0, 2179, 2180, 5, 104, 0, 0, 2180, 2181, 5, 111, 0, 0, 2181, 2182, 5, 100, 0, 0, 2182, 381, 1, 0, 0, 0, 2183, 2184, 5, 82, 0, 0, 2184, 2185, 5, 69, 0, 0, 2185, 2186, 5, 83, 0, 0, 2186, 2187, 5, 84, 0, 0, 2187, 2188, 5, 46, 0, 0, 2188, 2189, 5, 77, 0, 0, 2189, 2190, 5, 101, 0, 0, 2190, 2191, 5, 116, 0, 0, 2191, 2192, 5, 104, 0, 0, 2192, 2193, 5, 111, 0, 0, 2193, 2194, 5, 100, 0, 0, 2194, 2195, 5, 115, 0, 0, 2195, 2196, 5, 46, 0, 0, 2196, 2197, 5, 71, 0, 0, 2197, 2198, 5, 69, 0, 0, 2198, 2199, 5, 84, 0, 0, 2199, 383, 1, 0, 0, 0, 2200, 2201, 5, 82, 0, 0, 2201, 2202, 5, 69, 0, 0, 2202, 2203, 5, 83, 0, 0, 2203, 2204, 5, 84, 0, 0, 2204, 2205, 5, 46, 0, 0, 2205, 2206, 5, 77, 0, 0, 2206, 2207, 5, 101, 0, 0, 2207, 2208, 5, 116, 0, 0, 2208, 2209, 5, 104, 0, 0, 2209, 2210, 5, 111, 0, 0, 2210, 2211, 5, 100, 0, 0, 2211, 2212, 5, 115, 0, 0, 2212, 2213, 5, 46, 0, 0, 2213, 2214, 5, 80, 0, 0, 2214, 2215, 5, 79, 0, 0, 2215, 2216, 5, 83, 0, 0, 2216, 2217, 5, 84, 0, 0, 2217, 385, 1, 0, 0, 0, 2218, 2219, 5, 82, 0, 0, 2219, 2220, 5, 69, 0, 0, 2220, 2221, 5, 83, 0, 0, 2221, 2222, 5, 84, 0, 0, 2222, 2223, 5, 46, 0, 0, 2223, 2224, 5, 77, 0, 0, 2224, 2225, 5, 101, 0, 0, 2225, 2226, 5, 116, 0, 0, 2226, 2227, 5, 104, 0, 0, 2227, 2228, 5, 111, 0, 0, 2228, 2229, 5, 100, 0, 0, 2229, 2230, 5, 115, 0, 0, 2230, 2231, 5, 46, 0, 0, 2231, 2232, 5, 80, 0, 0, 2232, 2233, 5, 85, 0, 0, 2233, 2234, 5, 84, 0, 0, 2234, 387, 1, 0, 0, 0, 2235, 2236, 5, 82, 0, 0, 2236, 2237, 5, 69, 0, 0, 2237, 2238, 5, 83, 0, 0, 2238, 2239, 5, 84, 0, 0, 2239, 2240, 5, 46, 0, 0, 2240, 2241, 5, 77, 0, 0, 2241, 2242, 5, 101, 0, 0, 2242, 2243, 5, 116, 0, 0, 2243, 2244, 5, 104, 0, 0, 2244, 2245, 5, 111, 0, 0, 2245, 2246, 5, 100, 0, 0, 2246, 2247, 5, 115, 0, 0, 2247, 2248, 5, 46, 0, 0, 2248, 2249, 5, 80, 0, 0, 2249, 2250, 5, 65, 0, 0, 2250, 2251, 5, 84, 0, 0, 2251, 2252, 5, 67, 0, 0, 2252, 2253, 5, 72, 0, 0, 2253, 389, 1, 0, 0, 0, 2254, 2255, 5, 82, 0, 0, 2255, 2256, 5, 69, 0, 0, 2256, 2257, 5, 83, 0, 0, 2257, 2258, 5, 84, 0, 0, 2258, 2259, 5, 46, 0, 0, 2259, 2260, 5, 77, 0, 0, 2260, 2261, 5, 101, 0, 0, 2261, 2262, 5, 116, 0, 0, 2262, 2263, 5, 104, 0, 0, 2263, 2264, 5, 111, 0, 0, 2264, 2265, 5, 100, 0, 0, 2265, 2266, 5, 115, 0, 0, 2266, 2267, 5, 46, 0, 0, 2267, 2268, 5, 68, 0, 0, 2268, 2269, 5, 69, 0, 0, 2269, 2270, 5, 76, 0, 0, 2270, 2271, 5, 69, 0, 0, 2271, 2272, 5, 84, 0, 0, 2272, 2273, 5, 69, 0, 0, 2273, 391, 1, 0, 0, 0, 2274, 2275, 5, 82, 0, 0, 2275, 2276, 5, 69, 0, 0, 2276, 2277, 5, 83, 0, 0, 2277, 2278, 5, 84, 0, 0, 2278, 2279, 5, 46, 0, 0, 2279, 2280, 5, 77, 0, 0, 2280, 2281, 5, 101, 0, 0, 2281, 2282, 5, 116, 0, 0, 2282, 2283, 5, 104, 0, 0, 2283, 2284, 5, 111, 0, 0, 2284, 2285, 5, 100, 0, 0, 2285, 2286, 5, 115, 0, 0, 2286, 2287, 5, 46, 0, 0, 2287, 2288, 5, 79, 0, 0, 2288, 2289, 5, 80, 0, 0, 2289, 2290, 5, 84, 0, 0, 2290, 2291, 5, 73, 0, 0, 2291, 2292, 5, 79, 0, 0, 2292, 2293, 5, 78, 0, 0, 2293, 2294, 5, 83, 0, 0, 2294, 393, 1, 0, 0, 0, 2295, 2296, 5, 111, 0, 0, 2296, 2297, 5, 112, 0, 0, 2297, 2298, 5, 101, 0, 0, 2298, 2299, 5, 114, 0, 0, 2299, 2300, 5, 97, 0, 0, 2300, 2301, 5, 116, 0, 0, 2301, 2302, 5, 105, 0, 0, 2302, 2303, 5, 111, 0, 0, 2303, 2304, 5, 110, 0, 0, 2304, 395, 1, 0, 0, 0, 2305, 2306, 5, 105, 0, 0, 2306, 2307, 5, 110, 0, 0, 2307, 2308, 5, 112, 0, 0, 2308, 2309, 5, 117, 0, 0, 2309, 2310, 5, 116, 0, 0, 2310, 397, 1, 0, 0, 0, 2311, 2312, 5, 71, 0, 0, 2312, 2313, 5, 114, 0, 0, 2313, 2314, 5, 97, 0, 0, 2314, 2315, 5, 112, 0, 0, 2315, 2316, 5, 104, 0, 0, 2316, 2317, 5, 81, 0, 0, 2317, 2318, 5, 76, 0, 0, 2318, 2319, 5, 46, 0, 0, 2319, 2320, 5, 79, 0, 0, 2320, 2321, 5, 112, 0, 0, 2321, 2322, 5, 101, 0, 0, 2322, 2323, 5, 114, 0, 0, 2323, 2324, 5, 97, 0, 0, 2324, 2325, 5, 116, 0, 0, 2325, 2326, 5, 105, 0, 0, 2326, 2327, 5, 111, 0, 0, 2327, 2328, 5, 110, 0, 0, 2328, 2329, 5, 115, 0, 0, 2329, 2330, 5, 46, 0, 0, 2330, 2331, 5, 77, 0, 0, 2331, 2332, 5, 117, 0, 0, 2332, 2333, 5, 116, 0, 0, 2333, 2334, 5, 97, 0, 0, 2334, 2335, 5, 116, 0, 0, 2335, 2336, 5, 105, 0, 0, 2336, 2337, 5, 111, 0, 0, 2337, 2338, 5, 110, 0, 0, 2338, 399, 1, 0, 0, 0, 2339, 2340, 5, 71, 0, 0, 2340, 2341, 5, 114, 0, 0, 2341, 2342, 5, 97, 0, 0, 2342, 2343, 5, 112, 0, 0, 2343, 2344, 5, 104, 0, 0, 2344, 2345, 5, 81, 0, 0, 2345, 2346, 5, 76, 0, 0, 2346, 2347, 5, 46, 0, 0, 2347, 2348, 5, 79, 0, 0, 2348, 2349, 5, 112, 0, 0, 2349, 2350, 5, 101, 0, 0, 2350, 2351, 5, 114, 0, 0, 2351, 2352, 5, 97, 0, 0, 2352, 2353, 5, 116, 0, 0, 2353, 2354, 5, 105, 0, 0, 2354, 2355, 5, 111, 0, 0, 2355, 2356, 5, 110, 0, 0, 2356, 2357, 5, 115, 0, 0, 2357, 2358, 5, 46, 0, 0, 2358, 2359, 5, 81, 0, 0, 2359, 2360, 5, 117, 0, 0, 2360, 2361, 5, 101, 0, 0, 2361, 2362, 5, 114, 0, 0, 2362, 2363, 5, 121, 0, 0, 2363, 401, 1, 0, 0, 0, 2364, 2365, 5, 71, 0, 0, 2365, 2366, 5, 114, 0, 0, 2366, 2367, 5, 97, 0, 0, 2367, 2368, 5, 112, 0, 0, 2368, 2369, 5, 104, 0, 0, 2369, 2370, 5, 81, 0, 0, 2370, 2371, 5, 76, 0, 0, 2371, 2372, 5, 46, 0, 0, 2372, 2373, 5, 79, 0, 0, 2373, 2374, 5, 112, 0, 0, 2374, 2375, 5, 101, 0, 0, 2375, 2376, 5, 114, 0, 0, 2376, 2377, 5, 97, 0, 0, 2377, 2378, 5, 116, 0, 0, 2378, 2379, 5, 105, 0, 0, 2379, 2380, 5, 111, 0, 0, 2380, 2381, 5, 110, 0, 0, 2381, 2382, 5, 115, 0, 0, 2382, 2383, 5, 46, 0, 0, 2383, 2384, 5, 83, 0, 0, 2384, 2385, 5, 117, 0, 0, 2385, 2386, 5, 98, 0, 0, 2386, 2387, 5, 115, 0, 0, 2387, 2388, 5, 99, 0, 0, 2388, 2389, 5, 114, 0, 0, 2389, 2390, 5, 105, 0, 0, 2390, 2391, 5, 112, 0, 0, 2391, 2392, 5, 116, 0, 0, 2392, 2393, 5, 105, 0, 0, 2393, 2394, 5, 111, 0, 0, 2394, 2395, 5, 110, 0, 0, 2395, 403, 1, 0, 0, 0, 2396, 2397, 5, 69, 0, 0, 2397, 2398, 5, 114, 0, 0, 2398, 2399, 5, 114, 0, 0, 2399, 2400, 5, 111, 0, 0, 2400, 2401, 5, 114, 0, 0, 2401, 405, 1, 0, 0, 0, 2402, 2406, 3, 494, 246, 0, 2403, 2405, 3, 490, 244, 0, 2404, 2403, 1, 0, 0, 0, 2405, 2408, 1, 0, 0, 0, 2406, 2404, 1, 0, 0, 0, 2406, 2407, 1, 0, 0, 0, 2407, 2409, 1, 0, 0, 0, 2408, 2406, 1, 0, 0, 0, 2409, 2410, 3, 204, 101, 0, 2410, 407, 1, 0, 0, 0, 2411, 2415, 3, 494, 246, 0, 2412, 2414, 3, 490, 244, 0, 2413, 2412, 1, 0, 0, 0, 2414, 2417, 1, 0, 0, 0, 2415, 2413, 1, 0, 0, 0, 2415, 2416, 1, 0, 0, 0, 2416, 2418, 1, 0, 0, 0, 2417, 2415, 1, 0, 0, 0, 2418, 2419, 3, 244, 121, 0, 2419, 409, 1, 0, 0, 0, 2420, 2424, 3, 494, 246, 0, 2421, 2423, 3, 490, 244, 0, 2422, 2421, 1, 0, 0, 0, 2423, 2426, 1, 0, 0, 0, 2424, 2422, 1, 0, 0, 0, 2424, 2425, 1, 0, 0, 0, 2425, 2427, 1, 0, 0, 0, 2426, 2424, 1, 0, 0, 0, 2427, 2428, 3, 218, 108, 0, 2428, 411, 1, 0, 0, 0, 2429, 2432, 3, 232, 115, 0, 2430, 2432, 3, 234, 116, 0, 2431, 2429, 1, 0, 0, 0, 2431, 2430, 1, 0, 0, 0, 2432, 2433, 1, 0, 0, 0, 2433, 2434, 3, 34, 16, 0, 2434, 2438, 3, 494, 246, 0, 2435, 2437, 3, 490, 244, 0, 2436, 2435, 1, 0, 0, 0, 2437, 2440, 1, 0, 0, 0, 2438, 2436, 1, 0, 0, 0, 2438, 2439, 1, 0, 0, 0, 2439, 413, 1, 0, 0, 0, 2440, 2438, 1, 0, 0, 0, 2441, 2445, 3, 494, 246, 0, 2442, 2444, 3, 490, 244, 0, 2443, 2442, 1, 0, 0, 0, 2444, 2447, 1, 0, 0, 0, 2445, 2443, 1, 0, 0, 0, 2445, 2446, 1, 0, 0, 0, 2446, 2448, 1, 0, 0, 0, 2447, 2445, 1, 0, 0, 0, 2448, 2449, 5, 67, 0, 0, 2449, 2450, 5, 111, 0, 0, 2450, 2451, 5, 110, 0, 0, 2451, 2452, 5, 116, 0, 0, 2452, 2453, 5, 114, 0, 0, 2453, 2454, 5, 111, 0, 0, 2454, 2455, 5, 108, 0, 0, 2455, 2456, 5, 108, 0, 0, 2456, 2457, 5, 101, 0, 0, 2457, 2458, 5, 114, 0, 0, 2458, 415, 1, 0, 0, 0, 2459, 2463, 3, 494, 246, 0, 2460, 2462, 3, 490, 244, 0, 2461, 2460, 1, 0, 0, 0, 2462, 2465, 1, 0, 0, 0, 2463, 2461, 1, 0, 0, 0, 2463, 2464, 1, 0, 0, 0, 2464, 2466, 1, 0, 0, 0, 2465, 2463, 1, 0, 0, 0, 2466, 2467, 3, 212, 105, 0, 2467, 417, 1, 0, 0, 0, 2468, 2472, 3, 494, 246, 0, 2469, 2471, 3, 490, 244, 0, 2470, 2469, 1, 0, 0, 0, 2471, 2474, 1, 0, 0, 0, 2472, 2470, 1, 0, 0, 0, 2472, 2473, 1, 0, 0, 0, 2473, 2475, 1, 0, 0, 0, 2474, 2472, 1, 0, 0, 0, 2475, 2476, 3, 242, 120, 0, 2476, 419, 1, 0, 0, 0, 2477, 2481, 3, 494, 246, 0, 2478, 2480, 3, 490, 244, 0, 2479, 2478, 1, 0, 0, 0, 2480, 2483, 1, 0, 0, 0, 2481, 2479, 1, 0, 0, 0, 2481, 2482, 1, 0, 0, 0, 2482, 2484, 1, 0, 0, 0, 2483, 2481, 1, 0, 0, 0, 2484, 2485, 3, 200, 99, 0, 2485, 421, 1, 0, 0, 0, 2486, 2490, 3, 494, 246, 0, 2487, 2489, 3, 490, 244, 0, 2488, 2487, 1, 0, 0, 0, 2489, 2492, 1, 0, 0, 0, 2490, 2488, 1, 0, 0, 0, 2490, 2491, 1, 0, 0, 0, 2491, 2493, 1, 0, 0, 0, 2492, 2490, 1, 0, 0, 0, 2493, 2494, 3, 202, 100, 0, 2494, 423, 1, 0, 0, 0, 2495, 2499, 3, 494, 246, 0, 2496, 2498, 3, 490, 244, 0, 2497, 2496, 1, 0, 0, 0, 2498, 2501, 1, 0, 0, 0, 2499, 2497, 1, 0, 0, 0, 2499, 2500, 1, 0, 0, 0, 2500, 2502, 1, 0, 0, 0, 2501, 2499, 1, 0, 0, 0, 2502, 2503, 3, 246, 122, 0, 2503, 425, 1, 0, 0, 0, 2504, 2508, 3, 494, 246, 0, 2505, 2507, 3, 490, 244, 0, 2506, 2505, 1, 0, 0, 0, 2507, 2510, 1, 0, 0, 0, 2508, 2506, 1, 0, 0, 0, 2508, 2509, 1, 0, 0, 0, 2509, 2511, 1, 0, 0, 0, 2510, 2508, 1, 0, 0, 0, 2511, 2512, 3, 198, 98, 0, 2512, 427, 1, 0, 0, 0, 2513, 2517, 3, 494, 246, 0, 2514, 2516, 3, 490, 244, 0, 2515, 2514, 1, 0, 0, 0, 2516, 2519, 1, 0, 0, 0, 2517, 2515, 1, 0, 0, 0, 2517, 2518, 1, 0, 0, 0, 2518, 2520, 1, 0, 0, 0, 2519, 2517, 1, 0, 0, 0, 2520, 2521, 5, 69, 0, 0, 2521, 2522, 5, 114, 0, 0, 2522, 2523, 5, 114, 0, 0, 2523, 2524, 5, 111, 0, 0, 2524, 2525, 5, 114, 0, 0, 2525, 429, 1, 0, 0, 0, 2526, 2530, 3, 494, 246, 0, 2527, 2529, 3, 490, 244, 0, 2528, 2527, 1, 0, 0, 0, 2529, 2532, 1, 0, 0, 0, 2530, 2528, 1, 0, 0, 0, 2530, 2531, 1, 0, 0, 0, 2531, 2533, 1, 0, 0, 0, 2532, 2530, 1, 0, 0, 0, 2533, 2534, 3, 244, 121, 0, 2534, 431, 1, 0, 0, 0, 2535, 2539, 3, 494, 246, 0, 2536, 2538, 3, 490, 244, 0, 2537, 2536, 1, 0, 0, 0, 2538, 2541, 1, 0, 0, 0, 2539, 2537, 1, 0, 0, 0, 2539, 2540, 1, 0, 0, 0, 2540, 433, 1, 0, 0, 0, 2541, 2539, 1, 0, 0, 0, 2542, 2546, 3, 492, 245, 0, 2543, 2545, 3, 490, 244, 0, 2544, 2543, 1, 0, 0, 0, 2545, 2548, 1, 0, 0, 0, 2546, 2544, 1, 0, 0, 0, 2546, 2547, 1, 0, 0, 0, 2547, 435, 1, 0, 0, 0, 2548, 2546, 1, 0, 0, 0, 2549, 2553, 5, 34, 0, 0, 2550, 2552, 3, 458, 228, 0, 2551, 2550, 1, 0, 0, 0, 2552, 2555, 1, 0, 0, 0, 2553, 2551, 1, 0, 0, 0, 2553, 2554, 1, 0, 0, 0, 2554, 2556, 1, 0, 0, 0, 2555, 2553, 1, 0, 0, 0, 2556, 2566, 5, 34, 0, 0, 2557, 2561, 5, 39, 0, 0, 2558, 2560, 3, 460, 229, 0, 2559, 2558, 1, 0, 0, 0, 2560, 2563, 1, 0, 0, 0, 2561, 2559, 1, 0, 0, 0, 2561, 2562, 1, 0, 0, 0, 2562, 2564, 1, 0, 0, 0, 2563, 2561, 1, 0, 0, 0, 2564, 2566, 5, 39, 0, 0, 2565, 2549, 1, 0, 0, 0, 2565, 2557, 1, 0, 0, 0, 2566, 437, 1, 0, 0, 0, 2567, 2568, 5, 96, 0, 0, 2568, 2569, 6, 218, 4, 0, 2569, 2570, 1, 0, 0, 0, 2570, 2571, 6, 218, 5, 0, 2571, 439, 1, 0, 0, 0, 2572, 2574, 7, 7, 0, 0, 2573, 2572, 1, 0, 0, 0, 2574, 2575, 1, 0, 0, 0, 2575, 2573, 1, 0, 0, 0, 2575, 2576, 1, 0, 0, 0, 2576, 2577, 1, 0, 0, 0, 2577, 2578, 6, 219, 0, 0, 2578, 441, 1, 0, 0, 0, 2579, 2580, 7, 0, 0, 0, 2580, 2581, 1, 0, 0, 0, 2581, 2582, 6, 220, 0, 0, 2582, 443, 1, 0, 0, 0, 2583, 2584, 5, 60, 0, 0, 2584, 2585, 5, 33, 0, 0, 2585, 2586, 5, 45, 0, 0, 2586, 2587, 5, 45, 0, 0, 2587, 2591, 1, 0, 0, 0, 2588, 2590, 9, 0, 0, 0, 2589, 2588, 1, 0, 0, 0, 2590, 2593, 1, 0, 0, 0, 2591, 2592, 1, 0, 0, 0, 2591, 2589, 1, 0, 0, 0, 2592, 2594, 1, 0, 0, 0, 2593, 2591, 1, 0, 0, 0, 2594, 2595, 5, 45, 0, 0, 2595, 2596, 5, 45, 0, 0, 2596, 2597, 5, 62, 0, 0, 2597, 2598, 1, 0, 0, 0, 2598, 2599, 6, 221, 0, 0, 2599, 445, 1, 0, 0, 0, 2600, 2601, 5, 60, 0, 0, 2601, 2602, 5, 33, 0, 0, 2602, 2603, 5, 91, 0, 0, 2603, 2604, 5, 67, 0, 0, 2604, 2605, 5, 68, 0, 0, 2605, 2606, 5, 65, 0, 0, 2606, 2607, 5, 84, 0, 0, 2607, 2608, 5, 65, 0, 0, 2608, 2609, 5, 91, 0, 0, 2609, 2613, 1, 0, 0, 0, 2610, 2612, 9, 0, 0, 0, 2611, 2610, 1, 0, 0, 0, 2612, 2615, 1, 0, 0, 0, 2613, 2614, 1, 0, 0, 0, 2613, 2611, 1, 0, 0, 0, 2614, 2616, 1, 0, 0, 0, 2615, 2613, 1, 0, 0, 0, 2616, 2617, 5, 93, 0, 0, 2617, 2618, 5, 93, 0, 0, 2618, 2619, 5, 62, 0, 0, 2619, 2620, 1, 0, 0, 0, 2620, 2621, 6, 222, 0, 0, 2621, 447, 1, 0, 0, 0, 2622, 2623, 9, 0, 0, 0, 2623, 2624, 1, 0, 0, 0, 2624, 2625, 6, 223, 6, 0, 2625, 449, 1, 0, 0, 0, 2626, 2627, 5, 96, 0, 0, 2627, 2628, 6, 224, 7, 0, 2628, 2629, 1, 0, 0, 0, 2629, 2630, 6, 224, 8, 0, 2630, 2631, 6, 224, 2, 0, 2631, 451, 1, 0, 0, 0, 2632, 2633, 5, 36, 0, 0, 2633, 2634, 5, 123, 0, 0, 2634, 2635, 1, 0, 0, 0, 2635, 2636, 6, 225, 9, 0, 2636, 453, 1, 0, 0, 0, 2637, 2638, 8, 8, 0, 0, 2638, 455, 1, 0, 0, 0, 2639, 2641, 7, 9, 0, 0, 2640, 2639, 1, 0, 0, 0, 2641, 2642, 1, 0, 0, 0, 2642, 2640, 1, 0, 0, 0, 2642, 2643, 1, 0, 0, 0, 2643, 2644, 1, 0, 0, 0, 2644, 2645, 6, 227, 10, 0, 2645, 457, 1, 0, 0, 0, 2646, 2651, 8, 10, 0, 0, 2647, 2648, 5, 92, 0, 0, 2648, 2651, 3, 462, 230, 0, 2649, 2651, 3, 478, 238, 0, 2650, 2646, 1, 0, 0, 0, 2650, 2647, 1, 0, 0, 0, 2650, 2649, 1, 0, 0, 0, 2651, 459, 1, 0, 0, 0, 2652, 2657, 8, 11, 0, 0, 2653, 2654, 5, 92, 0, 0, 2654, 2657, 3, 462, 230, 0, 2655, 2657, 3, 478, 238, 0, 2656, 2652, 1, 0, 0, 0, 2656, 2653, 1, 0, 0, 0, 2656, 2655, 1, 0, 0, 0, 2657, 461, 1, 0, 0, 0, 2658, 2664, 3, 464, 231, 0, 2659, 2664, 5, 48, 0, 0, 2660, 2664, 3, 466, 232, 0, 2661, 2664, 3, 468, 233, 0, 2662, 2664, 3, 470, 234, 0, 2663, 2658, 1, 0, 0, 0, 2663, 2659, 1, 0, 0, 0, 2663, 2660, 1, 0, 0, 0, 2663, 2661, 1, 0, 0, 0, 2663, 2662, 1, 0, 0, 0, 2664, 463, 1, 0, 0, 0, 2665, 2668, 3, 472, 235, 0, 2666, 2668, 3, 474, 236, 0, 2667, 2665, 1, 0, 0, 0, 2667, 2666, 1, 0, 0, 0, 2668, 465, 1, 0, 0, 0, 2669, 2670, 5, 120, 0, 0, 2670, 2671, 3, 480, 239, 0, 2671, 2672, 3, 480, 239, 0, 2672, 467, 1, 0, 0, 0, 2673, 2674, 5, 117, 0, 0, 2674, 2675, 3, 480, 239, 0, 2675, 2676, 3, 480, 239, 0, 2676, 2677, 3, 480, 239, 0, 2677, 2678, 3, 480, 239, 0, 2678, 469, 1, 0, 0, 0, 2679, 2680, 5, 117, 0, 0, 2680, 2682, 5, 123, 0, 0, 2681, 2683, 3, 480, 239, 0, 2682, 2681, 1, 0, 0, 0, 2683, 2684, 1, 0, 0, 0, 2684, 2682, 1, 0, 0, 0, 2684, 2685, 1, 0, 0, 0, 2685, 2686, 1, 0, 0, 0, 2686, 2687, 5, 125, 0, 0, 2687, 471, 1, 0, 0, 0, 2688, 2689, 7, 12, 0, 0, 2689, 473, 1, 0, 0, 0, 2690, 2691, 8, 13, 0, 0, 2691, 475, 1, 0, 0, 0, 2692, 2695, 3, 472, 235, 0, 2693, 2695, 7, 14, 0, 0, 2694, 2692, 1, 0, 0, 0, 2694, 2693, 1, 0, 0, 0, 2695, 477, 1, 0, 0, 0, 2696, 2697, 5, 92, 0, 0, 2697, 2698, 7, 0, 0, 0, 2698, 479, 1, 0, 0, 0, 2699, 2700, 7, 15, 0, 0, 2700, 481, 1, 0, 0, 0, 2701, 2710, 5, 48, 0, 0, 2702, 2706, 7, 16, 0, 0, 2703, 2705, 7, 1, 0, 0, 2704, 2703, 1, 0, 0, 0, 2705, 2708, 1, 0, 0, 0, 2706, 2704, 1, 0, 0, 0, 2706, 2707, 1, 0, 0, 0, 2707, 2710, 1, 0, 0, 0, 2708, 2706, 1, 0, 0, 0, 2709, 2701, 1, 0, 0, 0, 2709, 2702, 1, 0, 0, 0, 2710, 483, 1, 0, 0, 0, 2711, 2713, 7, 17, 0, 0, 2712, 2714, 7, 18, 0, 0, 2713, 2712, 1, 0, 0, 0, 2713, 2714, 1, 0, 0, 0, 2714, 2716, 1, 0, 0, 0, 2715, 2717, 7, 1, 0, 0, 2716, 2715, 1, 0, 0, 0, 2717, 2718, 1, 0, 0, 0, 2718, 2716, 1, 0, 0, 0, 2718, 2719, 1, 0, 0, 0, 2719, 485, 1, 0, 0, 0, 2720, 2724, 7, 19, 0, 0, 2721, 2723, 7, 20, 0, 0, 2722, 2721, 1, 0, 0, 0, 2723, 2726, 1, 0, 0, 0, 2724, 2722, 1, 0, 0, 0, 2724, 2725, 1, 0, 0, 0, 2725, 487, 1, 0, 0, 0, 2726, 2724, 1, 0, 0, 0, 2727, 2731, 7, 21, 0, 0, 2728, 2729, 5, 92, 0, 0, 2729, 2731, 3, 468, 233, 0, 2730, 2727, 1, 0, 0, 0, 2730, 2728, 1, 0, 0, 0, 2731, 489, 1, 0, 0, 0, 2732, 2735, 3, 492, 245, 0, 2733, 2735, 7, 22, 0, 0, 2734, 2732, 1, 0, 0, 0, 2734, 2733, 1, 0, 0, 0, 2735, 491, 1, 0, 0, 0, 2736, 2740, 7, 21, 0, 0, 2737, 2738, 5, 92, 0, 0, 2738, 2740, 3, 468, 233, 0, 2739, 2736, 1, 0, 0, 0, 2739, 2737, 1, 0, 0, 0, 2740, 493, 1, 0, 0, 0, 2741, 2742, 7, 23, 0, 0, 2742, 495, 1, 0, 0, 0, 2743, 2754, 8, 24, 0, 0, 2744, 2754, 3, 502, 250, 0, 2745, 2749, 5, 91, 0, 0, 2746, 2748, 3, 500, 249, 0, 2747, 2746, 1, 0, 0, 0, 2748, 2751, 1, 0, 0, 0, 2749, 2747, 1, 0, 0, 0, 2749, 2750, 1, 0, 0, 0, 2750, 2752, 1, 0, 0, 0, 2751, 2749, 1, 0, 0, 0, 2752, 2754, 5, 93, 0, 0, 2753, 2743, 1, 0, 0, 0, 2753, 2744, 1, 0, 0, 0, 2753, 2745, 1, 0, 0, 0, 2754, 497, 1, 0, 0, 0, 2755, 2766, 8, 25, 0, 0, 2756, 2766, 3, 502, 250, 0, 2757, 2761, 5, 91, 0, 0, 2758, 2760, 3, 500, 249, 0, 2759, 2758, 1, 0, 0, 0, 2760, 2763, 1, 0, 0, 0, 2761, 2759, 1, 0, 0, 0, 2761, 2762, 1, 0, 0, 0, 2762, 2764, 1, 0, 0, 0, 2763, 2761, 1, 0, 0, 0, 2764, 2766, 5, 93, 0, 0, 2765, 2755, 1, 0, 0, 0, 2765, 2756, 1, 0, 0, 0, 2765, 2757, 1, 0, 0, 0, 2766, 499, 1, 0, 0, 0, 2767, 2770, 8, 26, 0, 0, 2768, 2770, 3, 502, 250, 0, 2769, 2767, 1, 0, 0, 0, 2769, 2768, 1, 0, 0, 0, 2770, 501, 1, 0, 0, 0, 2771, 2772, 5, 92, 0, 0, 2772, 2773, 8, 0, 0, 0, 2773, 503, 1, 0, 0, 0, 61, 0, 1, 510, 524, 534, 542, 707, 710, 719, 723, 726, 732, 735, 739, 741, 748, 754, 761, 768, 2406, 2415, 2424, 2431, 2438, 2445, 2463, 2472, 2481, 2490, 2499, 2508, 2517, 2530, 2539, 2546, 2553, 2561, 2565, 2575, 2591, 2613, 2642, 2650, 2656, 2663, 2667, 2684, 2694, 2706, 2709, 2713, 2718, 2724, 2730, 2734, 2739, 2749, 2753, 2761, 2765, 2769, 11, 0, 1, 0, 1, 7, 0, 4, 0, 0, 1, 9, 1, 1, 218, 2, 5, 1, 0, 0, 2, 0, 1, 224, 3, 7, 219, 0, 5, 0, 0, 6, 0, 0] \ No newline at end of file diff --git a/server/src/parser/grammar/BitloopsLexer.js b/server/src/parser/grammar/BitloopsLexer.js deleted file mode 100644 index 180b744..0000000 --- a/server/src/parser/grammar/BitloopsLexer.js +++ /dev/null @@ -1,1753 +0,0 @@ -// Generated from src/parser/grammar/BitloopsLexer.g4 by ANTLR 4.10.1 -// jshint ignore: start -import antlr4 from 'antlr4'; - - -import BitloopsLexerBase from './BitloopsLexerBase.js'; - -const serializedATN = [4,0,227,2774,6,-1,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,1,0,1,0,1,0,1,0,5,0,509,8,0,10,0,12,0,512,9,0,1,0, -1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,5,1,523,8,1,10,1,12,1,526,9,1,1,1,1,1,1, -2,1,2,1,2,5,2,533,8,2,10,2,12,2,536,9,2,1,2,1,2,1,2,5,2,541,8,2,10,2,12, -2,544,9,2,1,3,1,3,1,4,1,4,1,5,1,5,1,6,1,6,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1, -8,1,9,1,9,1,9,1,10,1,10,1,11,1,11,1,12,1,12,1,13,1,13,1,14,1,14,1,15,1,15, -1,15,1,15,1,16,1,16,1,17,1,17,1,17,1,18,1,18,1,18,1,19,1,19,1,20,1,20,1, -21,1,21,1,22,1,22,1,22,1,22,1,23,1,23,1,24,1,24,1,25,1,25,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,30,1,30,1,31,1,31,1,31,1, -32,1,32,1,32,1,33,1,33,1,33,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,36,1,36, -1,36,1,36,1,37,1,37,1,38,1,38,1,39,1,39,1,40,1,40,1,40,1,40,1,41,1,41,1, -41,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,44,1,44,1,44,1,45,1,45,1,45,1,46, -1,46,1,46,1,47,1,47,1,47,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,50,1, -50,1,50,1,50,1,50,1,51,1,51,1,51,1,52,1,52,1,52,1,53,1,53,1,53,1,54,1,54, -1,54,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,3,56,708,8,56,1,57,3,57,711,8,57,1,57,1,57,1,58,1,58,1,58,5,58,718,8, -58,10,58,12,58,721,9,58,1,58,3,58,724,8,58,1,58,3,58,727,8,58,1,58,1,58, -4,58,731,8,58,11,58,12,58,732,1,58,3,58,736,8,58,1,58,1,58,3,58,740,8,58, -3,58,742,8,58,1,59,1,59,1,59,4,59,747,8,59,11,59,12,59,748,1,60,1,60,4,60, -753,8,60,11,60,12,60,754,1,61,1,61,1,61,4,61,760,8,61,11,61,12,61,761,1, -62,1,62,1,62,4,62,767,8,62,11,62,12,62,768,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,64,1,65,1,65,1,65,1,66,1,66,1, -66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,1,66,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,69,1,69,1,69,1,69,1,69,1,70,1,70,1,70,1, -70,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,1,72,1,72,1,73,1,73,1,73,1,73, -1,73,1,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,1,74,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,77,1,77,1,77,1,77, -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,80,1, -80,1,80,1,80,1,80,1,80,1,80,1,80,1,80,1,81,1,81,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,84,1,84,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,86,1,86, -1,87,1,87,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1, -90,1,90,1,90,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,92,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,95,1,95,1,95,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,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,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,100,1,100,1,100,1,100,1,101,1,101,1,101,1,101,1, -102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1,102,1, -102,1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1,103,1, -103,1,103,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,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1,104,1, -105,1,105,1,105,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,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,107,1,107,1,107,1,107,1,108,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,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,111,1,111,1,111,1,111,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,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,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,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,116,1,116,1,116,1, -116,1,116,1,116,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,118,1, -118,1,118,1,118,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,120,1, -120,1,121,1,121,1,121,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,123,1,123,1,123,1,124,1,124,1,124,1,124,1, -124,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1,125,1, -125,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,128,1,128,1,128,1,128,1,128,1,128,1,128,1,129,1,129,1,129,1,129,1, -129,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,131,1,131,1,131,1,131,1,132,1,132,1,132,1,132,1,132,1,132,1,132,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, -135,1,135,1,135,1,135,1,135,1,135,1,136,1,136,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,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,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,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,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1, -144,1,145,1,145,1,145,1,145,1,145,1,145,1,145,1,146,1,146,1,146,1,146,1, -146,1,146,1,147,1,147,1,147,1,147,1,147,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,149,1,149,1,149,1,149,1,149,1, -150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152,1, -152,1,152,1,152,1,152,1,153,1,153,1,153,1,153,1,153,1,153,1,153,1,154,1, -154,1,154,1,154,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,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, -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,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,159,1,159,1,159,1,159,1,159,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,160,1,160,1,160,1,160,1, -160,1,160,1,160,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1, -161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1, -161,1,161,1,161,1,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,1,162,1, -162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,1,162,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,163,1,163,1,163,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,164,1,164,1,164,1, -164,1,164,1,164,1,164,1,164,1,164,1,164,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,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,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,167,1,167,1,167,1,167,1, -167,1,167,1,167,1,167,1,167,1,167,1,167,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,168,1,168,1, -168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1,168,1, -168,1,168,1,168,1,168,1,168,1,168,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,169,1,169,1,169,1,169,1,169,1, -169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1,169,1, -169,1,169,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,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1, -170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,1,170,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,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1, -171,1,171,1,171,1,171,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,172,1,172,1,172,1,172,1,172,1, -172,1,172,1,172,1,172,1,172,1,172,1,172,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,173,1,173,1,173,1,173,1,173,1, -173,1,173,1,173,1,173,1,173,1,173,1,173,1,173,1,174,1,174,1,174,1,174,1, -174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1, -174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1,174,1, -175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1, -175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1, -176,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1, -176,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1, -177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1, -177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1,177,1, -177,1,177,1,177,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1, -178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1,178,1, -178,1,178,1,178,1,178,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1, -179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,1,179,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,180,1,180,1,180,1,180,1,180,1,180,1,180,1,181,1,181,1, -181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1, -181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,181,1,182,1,182,1, -182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1,182,1, -182,1,182,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,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1,183,1, -183,1,183,1,183,1,183,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,184,1,185,1,185,1,185,1,186,1,186,1,186,1, -186,1,186,1,186,1,186,1,186,1,186,1,187,1,187,1,187,1,187,1,187,1,187,1, -187,1,187,1,187,1,188,1,188,1,189,1,189,1,189,1,189,1,189,1,189,1,189,1, -190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1,190,1, -190,1,190,1,190,1,190,1,190,1,191,1,191,1,191,1,191,1,191,1,191,1,191,1, -191,1,191,1,191,1,191,1,191,1,191,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,192,1,192,1,192,1,192,1,192,1,192,1, -192,1,192,1,192,1,192,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1, -193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,193,1,194,1, -194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1,194,1, -194,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,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,196,1,196,1, -196,1,196,1,197,1,197,1,197,1,197,1,197,1,197,1,198,1,198,1,198,1,198,1, -198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1,198,1, -198,1,198,1,198,1,198,1,198,1,198,1,198,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,199,1,199,1,199,1, -199,1,199,1,199,1,199,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,200,1, -200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,1,200,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,202,1,202,5,202,2405,8,202,10,202,12,202,2408,9,202,1, -202,1,202,1,203,1,203,5,203,2414,8,203,10,203,12,203,2417,9,203,1,203,1, -203,1,204,1,204,5,204,2423,8,204,10,204,12,204,2426,9,204,1,204,1,204,1, -205,1,205,3,205,2432,8,205,1,205,1,205,1,205,5,205,2437,8,205,10,205,12, -205,2440,9,205,1,206,1,206,5,206,2444,8,206,10,206,12,206,2447,9,206,1,206, -1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,206,1,207,1,207, -5,207,2462,8,207,10,207,12,207,2465,9,207,1,207,1,207,1,208,1,208,5,208, -2471,8,208,10,208,12,208,2474,9,208,1,208,1,208,1,209,1,209,5,209,2480,8, -209,10,209,12,209,2483,9,209,1,209,1,209,1,210,1,210,5,210,2489,8,210,10, -210,12,210,2492,9,210,1,210,1,210,1,211,1,211,5,211,2498,8,211,10,211,12, -211,2501,9,211,1,211,1,211,1,212,1,212,5,212,2507,8,212,10,212,12,212,2510, -9,212,1,212,1,212,1,213,1,213,5,213,2516,8,213,10,213,12,213,2519,9,213, -1,213,1,213,1,213,1,213,1,213,1,213,1,214,1,214,5,214,2529,8,214,10,214, -12,214,2532,9,214,1,214,1,214,1,215,1,215,5,215,2538,8,215,10,215,12,215, -2541,9,215,1,216,1,216,5,216,2545,8,216,10,216,12,216,2548,9,216,1,217,1, -217,5,217,2552,8,217,10,217,12,217,2555,9,217,1,217,1,217,1,217,5,217,2560, -8,217,10,217,12,217,2563,9,217,1,217,3,217,2566,8,217,1,218,1,218,1,218, -1,218,1,218,1,219,4,219,2574,8,219,11,219,12,219,2575,1,219,1,219,1,220, -1,220,1,220,1,220,1,221,1,221,1,221,1,221,1,221,1,221,5,221,2590,8,221,10, -221,12,221,2593,9,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,222,1,222,1,222,1,222,5,222,2612,8,222,10, -222,12,222,2615,9,222,1,222,1,222,1,222,1,222,1,222,1,222,1,223,1,223,1, -223,1,223,1,224,1,224,1,224,1,224,1,224,1,224,1,225,1,225,1,225,1,225,1, -225,1,226,1,226,1,227,4,227,2641,8,227,11,227,12,227,2642,1,227,1,227,1, -228,1,228,1,228,1,228,3,228,2651,8,228,1,229,1,229,1,229,1,229,3,229,2657, -8,229,1,230,1,230,1,230,1,230,1,230,3,230,2664,8,230,1,231,1,231,3,231,2668, -8,231,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,4,234,2683,8,234,11,234,12,234,2684,1,234,1,234,1,235,1,235, -1,236,1,236,1,237,1,237,3,237,2695,8,237,1,238,1,238,1,238,1,239,1,239,1, -240,1,240,1,240,5,240,2705,8,240,10,240,12,240,2708,9,240,3,240,2710,8,240, -1,241,1,241,3,241,2714,8,241,1,241,4,241,2717,8,241,11,241,12,241,2718,1, -242,1,242,5,242,2723,8,242,10,242,12,242,2726,9,242,1,243,1,243,1,243,3, -243,2731,8,243,1,244,1,244,3,244,2735,8,244,1,245,1,245,1,245,3,245,2740, -8,245,1,246,1,246,1,247,1,247,1,247,1,247,5,247,2748,8,247,10,247,12,247, -2751,9,247,1,247,3,247,2754,8,247,1,248,1,248,1,248,1,248,5,248,2760,8,248, -10,248,12,248,2763,9,248,1,248,3,248,2766,8,248,1,249,1,249,3,249,2770,8, -249,1,250,1,250,1,250,3,510,2591,2613,0,251,2,1,4,2,6,3,8,4,10,5,12,6,14, -7,16,8,18,9,20,10,22,11,24,12,26,13,28,14,30,15,32,16,34,17,36,18,38,19, -40,20,42,21,44,22,46,23,48,24,50,25,52,26,54,27,56,28,58,29,60,30,62,31, -64,32,66,33,68,34,70,35,72,36,74,37,76,38,78,39,80,40,82,41,84,42,86,43, -88,44,90,45,92,46,94,47,96,48,98,49,100,50,102,51,104,52,106,53,108,54,110, -55,112,56,114,57,116,58,118,59,120,60,122,61,124,62,126,63,128,64,130,65, -132,66,134,67,136,68,138,69,140,70,142,71,144,72,146,73,148,74,150,75,152, -76,154,77,156,78,158,79,160,80,162,81,164,82,166,83,168,84,170,85,172,86, -174,87,176,88,178,89,180,90,182,91,184,92,186,93,188,94,190,95,192,96,194, -97,196,98,198,99,200,100,202,101,204,102,206,103,208,104,210,105,212,106, -214,107,216,108,218,109,220,110,222,111,224,112,226,113,228,114,230,115, -232,116,234,117,236,118,238,119,240,120,242,121,244,122,246,123,248,124, -250,125,252,126,254,127,256,128,258,129,260,130,262,131,264,132,266,133, -268,134,270,135,272,136,274,137,276,138,278,139,280,140,282,141,284,142, -286,143,288,144,290,145,292,146,294,147,296,148,298,149,300,150,302,151, -304,152,306,153,308,154,310,155,312,156,314,157,316,158,318,159,320,160, -322,161,324,162,326,163,328,164,330,165,332,166,334,167,336,168,338,169, -340,170,342,171,344,172,346,173,348,174,350,175,352,176,354,177,356,178, -358,179,360,180,362,181,364,182,366,183,368,184,370,185,372,186,374,187, -376,188,378,189,380,190,382,191,384,192,386,193,388,194,390,195,392,196, -394,197,396,198,398,199,400,200,402,201,404,202,406,203,408,204,410,205, -412,206,414,207,416,208,418,209,420,210,422,211,424,212,426,213,428,214, -430,215,432,216,434,217,436,218,438,219,440,220,442,221,444,222,446,223, -448,224,450,0,452,225,454,226,456,227,458,0,460,0,462,0,464,0,466,0,468, -0,470,0,472,0,474,0,476,0,478,0,480,0,482,0,484,0,486,0,488,0,490,0,492, -0,494,0,496,0,498,0,500,0,502,0,2,0,1,27,3,0,10,10,13,13,8232,8233,1,0,48, -57,2,0,88,88,120,120,1,0,48,55,2,0,79,79,111,111,2,0,66,66,98,98,1,0,48, -49,4,0,9,9,11,12,32,32,160,160,1,0,96,96,3,0,9,10,13,13,32,32,4,0,10,10, -13,13,34,34,92,92,4,0,10,10,13,13,39,39,92,92,9,0,34,34,39,39,92,92,98,98, -102,102,110,110,114,114,116,116,118,118,12,0,10,10,13,13,34,34,39,39,48, -57,92,92,98,98,102,102,110,110,114,114,116,118,120,120,3,0,48,57,117,117, -120,120,3,0,48,57,65,70,97,102,1,0,49,57,2,0,69,69,101,101,2,0,43,43,45, -45,3,0,65,90,95,95,97,122,3,0,48,57,65,90,97,122,624,0,36,36,65,90,95,95, -97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748, -748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910, -929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514, -1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786, -1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037, -2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2208, -2228,2230,2247,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444, -2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524, -2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608, -2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703, -2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785, -2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877, -2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965, -2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077, -3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3168,3169,3200,3200, -3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296, -3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414, -3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585, -3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749, -3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904, -3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193, -4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304, -4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749, -4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882, -4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786, -5792,5866,5873,5880,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998, -6000,6016,6067,6103,6103,6108,6108,6176,6264,6272,6276,6279,6312,6314,6314, -6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688, -6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203, -7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413, -7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023, -8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130, -8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305, -8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484, -8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526, -8579,8580,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520, -11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680, -11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728, -11734,11736,11742,11823,11823,12293,12294,12337,12341,12347,12348,12353, -12438,12445,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704, -12735,12784,12799,13312,19903,19968,40956,40960,42124,42192,42237,42240, -42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42725,42775, -42783,42786,42888,42891,42943,42946,42954,42997,43009,43011,43013,43015, -43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261, -43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488, -43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616, -43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712, -43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785, -43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888, -44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256, -64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318, -64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914, -64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382, -65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549, -65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,66176, -66204,66208,66256,66304,66335,66349,66368,66370,66377,66384,66421,66432, -66461,66464,66499,66504,66511,66560,66717,66736,66771,66776,66811,66816, -66855,66864,66915,67072,67382,67392,67413,67424,67431,67584,67589,67592, -67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712, -67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030, -68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224, -68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480, -68497,68608,68680,68736,68786,68800,68850,68864,68899,69248,69289,69296, -69297,69376,69404,69415,69415,69424,69445,69552,69572,69600,69622,69635, -69687,69763,69807,69840,69864,69891,69926,69956,69956,69959,69959,69968, -70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144, -70161,70163,70187,70272,70278,70280,70280,70282,70285,70287,70301,70303, -70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450, -70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727, -70730,70751,70753,70784,70831,70852,70853,70855,70855,71040,71086,71128, -71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71680, -71723,71840,71903,71935,71942,71945,71945,71948,71955,71957,71958,71960, -71983,71999,71999,72001,72001,72096,72103,72106,72144,72161,72161,72163, -72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349, -72349,72384,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960, -72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066, -73097,73112,73112,73440,73458,73648,73648,73728,74649,74880,75075,77824, -78894,82944,83526,92160,92728,92736,92766,92880,92909,92928,92975,92992, -92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099, -94111,94176,94177,94179,94179,94208,100343,100352,101589,101632,101640,110592, -110878,110928,110930,110948,110951,110960,111355,113664,113770,113776,113788, -113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970, -119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003, -120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123, -120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512, -120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656, -120686,120688,120712,120714,120744,120746,120770,120772,120779,123136,123180, -123191,123197,123214,123214,123584,123627,124928,125124,125184,125251,125259, -125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503, -126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535, -126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548, -126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561, -126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588, -126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635, -126651,131072,173789,173824,177972,177984,178205,178208,183969,183984,191456, -194560,195101,196608,201546,389,0,48,57,95,95,768,879,1155,1159,1425,1469, -1471,1471,1473,1474,1476,1477,1479,1479,1552,1562,1611,1641,1648,1648,1750, -1756,1759,1764,1767,1768,1770,1773,1776,1785,1809,1809,1840,1866,1958,1968, -1984,1993,2027,2035,2045,2045,2070,2073,2075,2083,2085,2087,2089,2093,2137, -2139,2259,2273,2275,2306,2362,2362,2364,2364,2369,2376,2381,2381,2385,2391, -2402,2403,2406,2415,2433,2433,2492,2492,2497,2500,2509,2509,2530,2531,2534, -2543,2558,2558,2561,2562,2620,2620,2625,2626,2631,2632,2635,2637,2641,2641, -2662,2673,2677,2677,2689,2690,2748,2748,2753,2757,2759,2760,2765,2765,2786, -2787,2790,2799,2810,2815,2817,2817,2876,2876,2879,2879,2881,2884,2893,2893, -2901,2902,2914,2915,2918,2927,2946,2946,3008,3008,3021,3021,3046,3055,3072, -3072,3076,3076,3134,3136,3142,3144,3146,3149,3157,3158,3170,3171,3174,3183, -3201,3201,3260,3260,3263,3263,3270,3270,3276,3277,3298,3299,3302,3311,3328, -3329,3387,3388,3393,3396,3405,3405,3426,3427,3430,3439,3457,3457,3530,3530, -3538,3540,3542,3542,3558,3567,3633,3633,3636,3642,3655,3662,3664,3673,3761, -3761,3764,3772,3784,3789,3792,3801,3864,3865,3872,3881,3893,3893,3895,3895, -3897,3897,3953,3966,3968,3972,3974,3975,3981,3991,3993,4028,4038,4038,4141, -4144,4146,4151,4153,4154,4157,4158,4160,4169,4184,4185,4190,4192,4209,4212, -4226,4226,4229,4230,4237,4237,4240,4249,4253,4253,4957,4959,5906,5908,5938, -5940,5970,5971,6002,6003,6068,6069,6071,6077,6086,6086,6089,6099,6109,6109, -6112,6121,6155,6157,6160,6169,6277,6278,6313,6313,6432,6434,6439,6440,6450, -6450,6457,6459,6470,6479,6608,6617,6679,6680,6683,6683,6742,6742,6744,6750, -6752,6752,6754,6754,6757,6764,6771,6780,6783,6793,6800,6809,6832,6845,6847, -6848,6912,6915,6964,6964,6966,6970,6972,6972,6978,6978,6992,7001,7019,7027, -7040,7041,7074,7077,7080,7081,7083,7085,7088,7097,7142,7142,7144,7145,7149, -7149,7151,7153,7212,7219,7222,7223,7232,7241,7248,7257,7376,7378,7380,7392, -7394,7400,7405,7405,7412,7412,7416,7417,7616,7673,7675,7679,8204,8205,8255, -8256,8276,8276,8400,8412,8417,8417,8421,8432,11503,11505,11647,11647,11744, -11775,12330,12333,12441,12442,42528,42537,42607,42607,42612,42621,42654, -42655,42736,42737,43010,43010,43014,43014,43019,43019,43045,43046,43052, -43052,43204,43205,43216,43225,43232,43249,43263,43273,43302,43309,43335, -43345,43392,43394,43443,43443,43446,43449,43452,43453,43472,43481,43493, -43493,43504,43513,43561,43566,43569,43570,43573,43574,43587,43587,43596, -43596,43600,43609,43644,43644,43696,43696,43698,43700,43703,43704,43710, -43711,43713,43713,43756,43757,43766,43766,44005,44005,44008,44008,44013, -44013,44016,44025,64286,64286,65024,65039,65056,65071,65075,65076,65101, -65103,65296,65305,65343,65343,66045,66045,66272,66272,66422,66426,66720, -66729,68097,68099,68101,68102,68108,68111,68152,68154,68159,68159,68325, -68326,68900,68903,68912,68921,69291,69292,69446,69456,69633,69633,69688, -69702,69734,69743,69759,69761,69811,69814,69817,69818,69872,69881,69888, -69890,69927,69931,69933,69940,69942,69951,70003,70003,70016,70017,70070, -70078,70089,70092,70095,70105,70191,70193,70196,70196,70198,70199,70206, -70206,70367,70367,70371,70378,70384,70393,70400,70401,70459,70460,70464, -70464,70502,70508,70512,70516,70712,70719,70722,70724,70726,70726,70736, -70745,70750,70750,70835,70840,70842,70842,70847,70848,70850,70851,70864, -70873,71090,71093,71100,71101,71103,71104,71132,71133,71219,71226,71229, -71229,71231,71232,71248,71257,71339,71339,71341,71341,71344,71349,71351, -71351,71360,71369,71453,71455,71458,71461,71463,71467,71472,71481,71727, -71735,71737,71738,71904,71913,71995,71996,71998,71998,72003,72003,72016, -72025,72148,72151,72154,72155,72160,72160,72193,72202,72243,72248,72251, -72254,72263,72263,72273,72278,72281,72283,72330,72342,72344,72345,72752, -72758,72760,72765,72767,72767,72784,72793,72850,72871,72874,72880,72882, -72883,72885,72886,73009,73014,73018,73018,73020,73021,73023,73029,73031, -73031,73040,73049,73104,73105,73109,73109,73111,73111,73120,73129,73459, -73460,92768,92777,92912,92916,92976,92982,93008,93017,94031,94031,94095, -94098,94180,94180,113821,113822,119143,119145,119163,119170,119173,119179, -119210,119213,119362,119364,120782,120831,121344,121398,121403,121452,121461, -121461,121476,121476,121499,121503,121505,121519,122880,122886,122888,122904, -122907,122913,122915,122916,122918,122922,123184,123190,123200,123209,123628, -123641,125136,125142,125252,125258,125264,125273,130032,130041,917760,917999, -638,0,65,90,192,214,216,222,256,256,258,258,260,260,262,262,264,264,266, -266,268,268,270,270,272,272,274,274,276,276,278,278,280,280,282,282,284, -284,286,286,288,288,290,290,292,292,294,294,296,296,298,298,300,300,302, -302,304,304,306,306,308,308,310,310,313,313,315,315,317,317,319,319,321, -321,323,323,325,325,327,327,330,330,332,332,334,334,336,336,338,338,340, -340,342,342,344,344,346,346,348,348,350,350,352,352,354,354,356,356,358, -358,360,360,362,362,364,364,366,366,368,368,370,370,372,372,374,374,376, -377,379,379,381,381,385,386,388,388,390,391,393,395,398,401,403,404,406, -408,412,413,415,416,418,418,420,420,422,423,425,425,428,428,430,431,433, -435,437,437,439,440,444,444,452,452,455,455,458,458,461,461,463,463,465, -465,467,467,469,469,471,471,473,473,475,475,478,478,480,480,482,482,484, -484,486,486,488,488,490,490,492,492,494,494,497,497,500,500,502,504,506, -506,508,508,510,510,512,512,514,514,516,516,518,518,520,520,522,522,524, -524,526,526,528,528,530,530,532,532,534,534,536,536,538,538,540,540,542, -542,544,544,546,546,548,548,550,550,552,552,554,554,556,556,558,558,560, -560,562,562,570,571,573,574,577,577,579,582,584,584,586,586,588,588,590, -590,880,880,882,882,886,886,895,895,902,902,904,906,908,908,910,911,913, -929,931,939,975,975,978,980,984,984,986,986,988,988,990,990,992,992,994, -994,996,996,998,998,1000,1000,1002,1002,1004,1004,1006,1006,1012,1012,1015, -1015,1017,1018,1021,1071,1120,1120,1122,1122,1124,1124,1126,1126,1128,1128, -1130,1130,1132,1132,1134,1134,1136,1136,1138,1138,1140,1140,1142,1142,1144, -1144,1146,1146,1148,1148,1150,1150,1152,1152,1162,1162,1164,1164,1166,1166, -1168,1168,1170,1170,1172,1172,1174,1174,1176,1176,1178,1178,1180,1180,1182, -1182,1184,1184,1186,1186,1188,1188,1190,1190,1192,1192,1194,1194,1196,1196, -1198,1198,1200,1200,1202,1202,1204,1204,1206,1206,1208,1208,1210,1210,1212, -1212,1214,1214,1216,1217,1219,1219,1221,1221,1223,1223,1225,1225,1227,1227, -1229,1229,1232,1232,1234,1234,1236,1236,1238,1238,1240,1240,1242,1242,1244, -1244,1246,1246,1248,1248,1250,1250,1252,1252,1254,1254,1256,1256,1258,1258, -1260,1260,1262,1262,1264,1264,1266,1266,1268,1268,1270,1270,1272,1272,1274, -1274,1276,1276,1278,1278,1280,1280,1282,1282,1284,1284,1286,1286,1288,1288, -1290,1290,1292,1292,1294,1294,1296,1296,1298,1298,1300,1300,1302,1302,1304, -1304,1306,1306,1308,1308,1310,1310,1312,1312,1314,1314,1316,1316,1318,1318, -1320,1320,1322,1322,1324,1324,1326,1326,1329,1366,4256,4293,4295,4295,4301, -4301,5024,5109,7312,7354,7357,7359,7680,7680,7682,7682,7684,7684,7686,7686, -7688,7688,7690,7690,7692,7692,7694,7694,7696,7696,7698,7698,7700,7700,7702, -7702,7704,7704,7706,7706,7708,7708,7710,7710,7712,7712,7714,7714,7716,7716, -7718,7718,7720,7720,7722,7722,7724,7724,7726,7726,7728,7728,7730,7730,7732, -7732,7734,7734,7736,7736,7738,7738,7740,7740,7742,7742,7744,7744,7746,7746, -7748,7748,7750,7750,7752,7752,7754,7754,7756,7756,7758,7758,7760,7760,7762, -7762,7764,7764,7766,7766,7768,7768,7770,7770,7772,7772,7774,7774,7776,7776, -7778,7778,7780,7780,7782,7782,7784,7784,7786,7786,7788,7788,7790,7790,7792, -7792,7794,7794,7796,7796,7798,7798,7800,7800,7802,7802,7804,7804,7806,7806, -7808,7808,7810,7810,7812,7812,7814,7814,7816,7816,7818,7818,7820,7820,7822, -7822,7824,7824,7826,7826,7828,7828,7838,7838,7840,7840,7842,7842,7844,7844, -7846,7846,7848,7848,7850,7850,7852,7852,7854,7854,7856,7856,7858,7858,7860, -7860,7862,7862,7864,7864,7866,7866,7868,7868,7870,7870,7872,7872,7874,7874, -7876,7876,7878,7878,7880,7880,7882,7882,7884,7884,7886,7886,7888,7888,7890, -7890,7892,7892,7894,7894,7896,7896,7898,7898,7900,7900,7902,7902,7904,7904, -7906,7906,7908,7908,7910,7910,7912,7912,7914,7914,7916,7916,7918,7918,7920, -7920,7922,7922,7924,7924,7926,7926,7928,7928,7930,7930,7932,7932,7934,7934, -7944,7951,7960,7965,7976,7983,7992,7999,8008,8013,8025,8025,8027,8027,8029, -8029,8031,8031,8040,8047,8120,8123,8136,8139,8152,8155,8168,8172,8184,8187, -8450,8450,8455,8455,8459,8461,8464,8466,8469,8469,8473,8477,8484,8484,8486, -8486,8488,8488,8490,8493,8496,8499,8510,8511,8517,8517,8579,8579,11264,11310, -11360,11360,11362,11364,11367,11367,11369,11369,11371,11371,11373,11376, -11378,11378,11381,11381,11390,11392,11394,11394,11396,11396,11398,11398, -11400,11400,11402,11402,11404,11404,11406,11406,11408,11408,11410,11410, -11412,11412,11414,11414,11416,11416,11418,11418,11420,11420,11422,11422, -11424,11424,11426,11426,11428,11428,11430,11430,11432,11432,11434,11434, -11436,11436,11438,11438,11440,11440,11442,11442,11444,11444,11446,11446, -11448,11448,11450,11450,11452,11452,11454,11454,11456,11456,11458,11458, -11460,11460,11462,11462,11464,11464,11466,11466,11468,11468,11470,11470, -11472,11472,11474,11474,11476,11476,11478,11478,11480,11480,11482,11482, -11484,11484,11486,11486,11488,11488,11490,11490,11499,11499,11501,11501, -11506,11506,42560,42560,42562,42562,42564,42564,42566,42566,42568,42568, -42570,42570,42572,42572,42574,42574,42576,42576,42578,42578,42580,42580, -42582,42582,42584,42584,42586,42586,42588,42588,42590,42590,42592,42592, -42594,42594,42596,42596,42598,42598,42600,42600,42602,42602,42604,42604, -42624,42624,42626,42626,42628,42628,42630,42630,42632,42632,42634,42634, -42636,42636,42638,42638,42640,42640,42642,42642,42644,42644,42646,42646, -42648,42648,42650,42650,42786,42786,42788,42788,42790,42790,42792,42792, -42794,42794,42796,42796,42798,42798,42802,42802,42804,42804,42806,42806, -42808,42808,42810,42810,42812,42812,42814,42814,42816,42816,42818,42818, -42820,42820,42822,42822,42824,42824,42826,42826,42828,42828,42830,42830, -42832,42832,42834,42834,42836,42836,42838,42838,42840,42840,42842,42842, -42844,42844,42846,42846,42848,42848,42850,42850,42852,42852,42854,42854, -42856,42856,42858,42858,42860,42860,42862,42862,42873,42873,42875,42875, -42877,42878,42880,42880,42882,42882,42884,42884,42886,42886,42891,42891, -42893,42893,42896,42896,42898,42898,42902,42902,42904,42904,42906,42906, -42908,42908,42910,42910,42912,42912,42914,42914,42916,42916,42918,42918, -42920,42920,42922,42926,42928,42932,42934,42934,42936,42936,42938,42938, -42940,42940,42942,42942,42946,42946,42948,42951,42953,42953,42997,42997, -65313,65338,66560,66599,66736,66771,68736,68786,71840,71871,93760,93791, -119808,119833,119860,119885,119912,119937,119964,119964,119966,119967,119970, -119970,119973,119974,119977,119980,119982,119989,120016,120041,120068,120069, -120071,120074,120077,120084,120086,120092,120120,120121,120123,120126,120128, -120132,120134,120134,120138,120144,120172,120197,120224,120249,120276,120301, -120328,120353,120380,120405,120432,120457,120488,120512,120546,120570,120604, -120628,120662,120686,120720,120744,120778,120778,125184,125217,6,0,10,10, -13,13,42,42,47,47,91,92,8232,8233,5,0,10,10,13,13,47,47,91,92,8232,8233, -4,0,10,10,13,13,92,93,8232,8233,2816,0,2,1,0,0,0,0,4,1,0,0,0,0,6,1,0,0,0, -0,8,1,0,0,0,0,10,1,0,0,0,0,12,1,0,0,0,0,14,1,0,0,0,0,16,1,0,0,0,0,18,1,0, -0,0,0,20,1,0,0,0,0,22,1,0,0,0,0,24,1,0,0,0,0,26,1,0,0,0,0,28,1,0,0,0,0,30, -1,0,0,0,0,32,1,0,0,0,0,34,1,0,0,0,0,36,1,0,0,0,0,38,1,0,0,0,0,40,1,0,0,0, -0,42,1,0,0,0,0,44,1,0,0,0,0,46,1,0,0,0,0,48,1,0,0,0,0,50,1,0,0,0,0,52,1, -0,0,0,0,54,1,0,0,0,0,56,1,0,0,0,0,58,1,0,0,0,0,60,1,0,0,0,0,62,1,0,0,0,0, -64,1,0,0,0,0,66,1,0,0,0,0,68,1,0,0,0,0,70,1,0,0,0,0,72,1,0,0,0,0,74,1,0, -0,0,0,76,1,0,0,0,0,78,1,0,0,0,0,80,1,0,0,0,0,82,1,0,0,0,0,84,1,0,0,0,0,86, -1,0,0,0,0,88,1,0,0,0,0,90,1,0,0,0,0,92,1,0,0,0,0,94,1,0,0,0,0,96,1,0,0,0, -0,98,1,0,0,0,0,100,1,0,0,0,0,102,1,0,0,0,0,104,1,0,0,0,0,106,1,0,0,0,0,108, -1,0,0,0,0,110,1,0,0,0,0,112,1,0,0,0,0,114,1,0,0,0,0,116,1,0,0,0,0,118,1, -0,0,0,0,120,1,0,0,0,0,122,1,0,0,0,0,124,1,0,0,0,0,126,1,0,0,0,0,128,1,0, -0,0,0,130,1,0,0,0,0,132,1,0,0,0,0,134,1,0,0,0,0,136,1,0,0,0,0,138,1,0,0, -0,0,140,1,0,0,0,0,142,1,0,0,0,0,144,1,0,0,0,0,146,1,0,0,0,0,148,1,0,0,0, -0,150,1,0,0,0,0,152,1,0,0,0,0,154,1,0,0,0,0,156,1,0,0,0,0,158,1,0,0,0,0, -160,1,0,0,0,0,162,1,0,0,0,0,164,1,0,0,0,0,166,1,0,0,0,0,168,1,0,0,0,0,170, -1,0,0,0,0,172,1,0,0,0,0,174,1,0,0,0,0,176,1,0,0,0,0,178,1,0,0,0,0,180,1, -0,0,0,0,182,1,0,0,0,0,184,1,0,0,0,0,186,1,0,0,0,0,188,1,0,0,0,0,190,1,0, -0,0,0,192,1,0,0,0,0,194,1,0,0,0,0,196,1,0,0,0,0,198,1,0,0,0,0,200,1,0,0, -0,0,202,1,0,0,0,0,204,1,0,0,0,0,206,1,0,0,0,0,208,1,0,0,0,0,210,1,0,0,0, -0,212,1,0,0,0,0,214,1,0,0,0,0,216,1,0,0,0,0,218,1,0,0,0,0,220,1,0,0,0,0, -222,1,0,0,0,0,224,1,0,0,0,0,226,1,0,0,0,0,228,1,0,0,0,0,230,1,0,0,0,0,232, -1,0,0,0,0,234,1,0,0,0,0,236,1,0,0,0,0,238,1,0,0,0,0,240,1,0,0,0,0,242,1, -0,0,0,0,244,1,0,0,0,0,246,1,0,0,0,0,248,1,0,0,0,0,250,1,0,0,0,0,252,1,0, -0,0,0,254,1,0,0,0,0,256,1,0,0,0,0,258,1,0,0,0,0,260,1,0,0,0,0,262,1,0,0, -0,0,264,1,0,0,0,0,266,1,0,0,0,0,268,1,0,0,0,0,270,1,0,0,0,0,272,1,0,0,0, -0,274,1,0,0,0,0,276,1,0,0,0,0,278,1,0,0,0,0,280,1,0,0,0,0,282,1,0,0,0,0, -284,1,0,0,0,0,286,1,0,0,0,0,288,1,0,0,0,0,290,1,0,0,0,0,292,1,0,0,0,0,294, -1,0,0,0,0,296,1,0,0,0,0,298,1,0,0,0,0,300,1,0,0,0,0,302,1,0,0,0,0,304,1, -0,0,0,0,306,1,0,0,0,0,308,1,0,0,0,0,310,1,0,0,0,0,312,1,0,0,0,0,314,1,0, -0,0,0,316,1,0,0,0,0,318,1,0,0,0,0,320,1,0,0,0,0,322,1,0,0,0,0,324,1,0,0, -0,0,326,1,0,0,0,0,328,1,0,0,0,0,330,1,0,0,0,0,332,1,0,0,0,0,334,1,0,0,0, -0,336,1,0,0,0,0,338,1,0,0,0,0,340,1,0,0,0,0,342,1,0,0,0,0,344,1,0,0,0,0, -346,1,0,0,0,0,348,1,0,0,0,0,350,1,0,0,0,0,352,1,0,0,0,0,354,1,0,0,0,0,356, -1,0,0,0,0,358,1,0,0,0,0,360,1,0,0,0,0,362,1,0,0,0,0,364,1,0,0,0,0,366,1, -0,0,0,0,368,1,0,0,0,0,370,1,0,0,0,0,372,1,0,0,0,0,374,1,0,0,0,0,376,1,0, -0,0,0,378,1,0,0,0,0,380,1,0,0,0,0,382,1,0,0,0,0,384,1,0,0,0,0,386,1,0,0, -0,0,388,1,0,0,0,0,390,1,0,0,0,0,392,1,0,0,0,0,394,1,0,0,0,0,396,1,0,0,0, -0,398,1,0,0,0,0,400,1,0,0,0,0,402,1,0,0,0,0,404,1,0,0,0,0,406,1,0,0,0,0, -408,1,0,0,0,0,410,1,0,0,0,0,412,1,0,0,0,0,414,1,0,0,0,0,416,1,0,0,0,0,418, -1,0,0,0,0,420,1,0,0,0,0,422,1,0,0,0,0,424,1,0,0,0,0,426,1,0,0,0,0,428,1, -0,0,0,0,430,1,0,0,0,0,432,1,0,0,0,0,434,1,0,0,0,0,436,1,0,0,0,0,438,1,0, -0,0,0,440,1,0,0,0,0,442,1,0,0,0,0,444,1,0,0,0,0,446,1,0,0,0,0,448,1,0,0, -0,1,450,1,0,0,0,1,452,1,0,0,0,1,454,1,0,0,0,1,456,1,0,0,0,2,504,1,0,0,0, -4,518,1,0,0,0,6,529,1,0,0,0,8,545,1,0,0,0,10,547,1,0,0,0,12,549,1,0,0,0, -14,551,1,0,0,0,16,553,1,0,0,0,18,556,1,0,0,0,20,561,1,0,0,0,22,564,1,0,0, -0,24,566,1,0,0,0,26,568,1,0,0,0,28,570,1,0,0,0,30,572,1,0,0,0,32,574,1,0, -0,0,34,578,1,0,0,0,36,580,1,0,0,0,38,583,1,0,0,0,40,586,1,0,0,0,42,588,1, -0,0,0,44,590,1,0,0,0,46,592,1,0,0,0,48,596,1,0,0,0,50,598,1,0,0,0,52,600, -1,0,0,0,54,602,1,0,0,0,56,605,1,0,0,0,58,608,1,0,0,0,60,612,1,0,0,0,62,614, -1,0,0,0,64,616,1,0,0,0,66,619,1,0,0,0,68,622,1,0,0,0,70,625,1,0,0,0,72,628, -1,0,0,0,74,632,1,0,0,0,76,636,1,0,0,0,78,638,1,0,0,0,80,640,1,0,0,0,82,642, -1,0,0,0,84,646,1,0,0,0,86,649,1,0,0,0,88,653,1,0,0,0,90,656,1,0,0,0,92,659, -1,0,0,0,94,662,1,0,0,0,96,665,1,0,0,0,98,668,1,0,0,0,100,672,1,0,0,0,102, -676,1,0,0,0,104,681,1,0,0,0,106,684,1,0,0,0,108,687,1,0,0,0,110,690,1,0, -0,0,112,693,1,0,0,0,114,707,1,0,0,0,116,710,1,0,0,0,118,741,1,0,0,0,120, -743,1,0,0,0,122,750,1,0,0,0,124,756,1,0,0,0,126,763,1,0,0,0,128,770,1,0, -0,0,130,779,1,0,0,0,132,785,1,0,0,0,134,788,1,0,0,0,136,799,1,0,0,0,138, -806,1,0,0,0,140,811,1,0,0,0,142,816,1,0,0,0,144,820,1,0,0,0,146,824,1,0, -0,0,148,830,1,0,0,0,150,838,1,0,0,0,152,845,1,0,0,0,154,850,1,0,0,0,156, -859,1,0,0,0,158,863,1,0,0,0,160,870,1,0,0,0,162,876,1,0,0,0,164,885,1,0, -0,0,166,894,1,0,0,0,168,899,1,0,0,0,170,904,1,0,0,0,172,912,1,0,0,0,174, -915,1,0,0,0,176,921,1,0,0,0,178,928,1,0,0,0,180,931,1,0,0,0,182,935,1,0, -0,0,184,938,1,0,0,0,186,943,1,0,0,0,188,952,1,0,0,0,190,958,1,0,0,0,192, -965,1,0,0,0,194,976,1,0,0,0,196,984,1,0,0,0,198,990,1,0,0,0,200,999,1,0, -0,0,202,1005,1,0,0,0,204,1015,1,0,0,0,206,1019,1,0,0,0,208,1034,1,0,0,0, -210,1052,1,0,0,0,212,1067,1,0,0,0,214,1075,1,0,0,0,216,1087,1,0,0,0,218, -1101,1,0,0,0,220,1108,1,0,0,0,222,1120,1,0,0,0,224,1128,1,0,0,0,226,1139, -1,0,0,0,228,1147,1,0,0,0,230,1159,1,0,0,0,232,1176,1,0,0,0,234,1189,1,0, -0,0,236,1207,1,0,0,0,238,1210,1,0,0,0,240,1217,1,0,0,0,242,1224,1,0,0,0, -244,1236,1,0,0,0,246,1239,1,0,0,0,248,1244,1,0,0,0,250,1255,1,0,0,0,252, -1260,1,0,0,0,254,1272,1,0,0,0,256,1276,1,0,0,0,258,1284,1,0,0,0,260,1291, -1,0,0,0,262,1301,1,0,0,0,264,1308,1,0,0,0,266,1312,1,0,0,0,268,1319,1,0, -0,0,270,1325,1,0,0,0,272,1331,1,0,0,0,274,1337,1,0,0,0,276,1344,1,0,0,0, -278,1351,1,0,0,0,280,1358,1,0,0,0,282,1365,1,0,0,0,284,1373,1,0,0,0,286, -1381,1,0,0,0,288,1390,1,0,0,0,290,1399,1,0,0,0,292,1404,1,0,0,0,294,1411, -1,0,0,0,296,1417,1,0,0,0,298,1427,1,0,0,0,300,1434,1,0,0,0,302,1439,1,0, -0,0,304,1443,1,0,0,0,306,1447,1,0,0,0,308,1455,1,0,0,0,310,1462,1,0,0,0, -312,1472,1,0,0,0,314,1480,1,0,0,0,316,1489,1,0,0,0,318,1507,1,0,0,0,320, -1529,1,0,0,0,322,1550,1,0,0,0,324,1566,1,0,0,0,326,1591,1,0,0,0,328,1613, -1,0,0,0,330,1632,1,0,0,0,332,1658,1,0,0,0,334,1677,1,0,0,0,336,1702,1,0, -0,0,338,1731,1,0,0,0,340,1763,1,0,0,0,342,1796,1,0,0,0,344,1828,1,0,0,0, -346,1859,1,0,0,0,348,1885,1,0,0,0,350,1903,1,0,0,0,352,1931,1,0,0,0,354, -1955,1,0,0,0,356,1976,1,0,0,0,358,2006,1,0,0,0,360,2031,1,0,0,0,362,2056, -1,0,0,0,364,2073,1,0,0,0,366,2097,1,0,0,0,368,2118,1,0,0,0,370,2146,1,0, -0,0,372,2153,1,0,0,0,374,2156,1,0,0,0,376,2165,1,0,0,0,378,2174,1,0,0,0, -380,2176,1,0,0,0,382,2183,1,0,0,0,384,2200,1,0,0,0,386,2218,1,0,0,0,388, -2235,1,0,0,0,390,2254,1,0,0,0,392,2274,1,0,0,0,394,2295,1,0,0,0,396,2305, -1,0,0,0,398,2311,1,0,0,0,400,2339,1,0,0,0,402,2364,1,0,0,0,404,2396,1,0, -0,0,406,2402,1,0,0,0,408,2411,1,0,0,0,410,2420,1,0,0,0,412,2431,1,0,0,0, -414,2441,1,0,0,0,416,2459,1,0,0,0,418,2468,1,0,0,0,420,2477,1,0,0,0,422, -2486,1,0,0,0,424,2495,1,0,0,0,426,2504,1,0,0,0,428,2513,1,0,0,0,430,2526, -1,0,0,0,432,2535,1,0,0,0,434,2542,1,0,0,0,436,2565,1,0,0,0,438,2567,1,0, -0,0,440,2573,1,0,0,0,442,2579,1,0,0,0,444,2583,1,0,0,0,446,2600,1,0,0,0, -448,2622,1,0,0,0,450,2626,1,0,0,0,452,2632,1,0,0,0,454,2637,1,0,0,0,456, -2640,1,0,0,0,458,2650,1,0,0,0,460,2656,1,0,0,0,462,2663,1,0,0,0,464,2667, -1,0,0,0,466,2669,1,0,0,0,468,2673,1,0,0,0,470,2679,1,0,0,0,472,2688,1,0, -0,0,474,2690,1,0,0,0,476,2694,1,0,0,0,478,2696,1,0,0,0,480,2699,1,0,0,0, -482,2709,1,0,0,0,484,2711,1,0,0,0,486,2720,1,0,0,0,488,2730,1,0,0,0,490, -2734,1,0,0,0,492,2739,1,0,0,0,494,2741,1,0,0,0,496,2753,1,0,0,0,498,2765, -1,0,0,0,500,2769,1,0,0,0,502,2771,1,0,0,0,504,505,5,47,0,0,505,506,5,42, -0,0,506,510,1,0,0,0,507,509,9,0,0,0,508,507,1,0,0,0,509,512,1,0,0,0,510, -511,1,0,0,0,510,508,1,0,0,0,511,513,1,0,0,0,512,510,1,0,0,0,513,514,5,42, -0,0,514,515,5,47,0,0,515,516,1,0,0,0,516,517,6,0,0,0,517,3,1,0,0,0,518,519, -5,47,0,0,519,520,5,47,0,0,520,524,1,0,0,0,521,523,8,0,0,0,522,521,1,0,0, -0,523,526,1,0,0,0,524,522,1,0,0,0,524,525,1,0,0,0,525,527,1,0,0,0,526,524, -1,0,0,0,527,528,6,1,0,0,528,5,1,0,0,0,529,530,5,47,0,0,530,534,3,496,247, -0,531,533,3,498,248,0,532,531,1,0,0,0,533,536,1,0,0,0,534,532,1,0,0,0,534, -535,1,0,0,0,535,537,1,0,0,0,536,534,1,0,0,0,537,538,4,2,0,0,538,542,5,47, -0,0,539,541,3,490,244,0,540,539,1,0,0,0,541,544,1,0,0,0,542,540,1,0,0,0, -542,543,1,0,0,0,543,7,1,0,0,0,544,542,1,0,0,0,545,546,5,91,0,0,546,9,1,0, -0,0,547,548,5,93,0,0,548,11,1,0,0,0,549,550,5,40,0,0,550,13,1,0,0,0,551, -552,5,41,0,0,552,15,1,0,0,0,553,554,5,123,0,0,554,555,6,7,1,0,555,17,1,0, -0,0,556,557,4,8,1,0,557,558,5,125,0,0,558,559,1,0,0,0,559,560,6,8,2,0,560, -19,1,0,0,0,561,562,5,125,0,0,562,563,6,9,3,0,563,21,1,0,0,0,564,565,5,59, -0,0,565,23,1,0,0,0,566,567,5,44,0,0,567,25,1,0,0,0,568,569,5,61,0,0,569, -27,1,0,0,0,570,571,5,63,0,0,571,29,1,0,0,0,572,573,5,58,0,0,573,31,1,0,0, -0,574,575,5,46,0,0,575,576,5,46,0,0,576,577,5,46,0,0,577,33,1,0,0,0,578, -579,5,46,0,0,579,35,1,0,0,0,580,581,5,43,0,0,581,582,5,43,0,0,582,37,1,0, -0,0,583,584,5,45,0,0,584,585,5,45,0,0,585,39,1,0,0,0,586,587,5,43,0,0,587, -41,1,0,0,0,588,589,5,45,0,0,589,43,1,0,0,0,590,591,5,126,0,0,591,45,1,0, -0,0,592,593,5,78,0,0,593,594,5,79,0,0,594,595,5,84,0,0,595,47,1,0,0,0,596, -597,5,42,0,0,597,49,1,0,0,0,598,599,5,47,0,0,599,51,1,0,0,0,600,601,5,37, -0,0,601,53,1,0,0,0,602,603,5,62,0,0,603,604,5,62,0,0,604,55,1,0,0,0,605, -606,5,60,0,0,606,607,5,60,0,0,607,57,1,0,0,0,608,609,5,62,0,0,609,610,5, -62,0,0,610,611,5,62,0,0,611,59,1,0,0,0,612,613,5,60,0,0,613,61,1,0,0,0,614, -615,5,62,0,0,615,63,1,0,0,0,616,617,5,60,0,0,617,618,5,61,0,0,618,65,1,0, -0,0,619,620,5,62,0,0,620,621,5,61,0,0,621,67,1,0,0,0,622,623,5,61,0,0,623, -624,5,61,0,0,624,69,1,0,0,0,625,626,5,33,0,0,626,627,5,61,0,0,627,71,1,0, -0,0,628,629,5,61,0,0,629,630,5,61,0,0,630,631,5,61,0,0,631,73,1,0,0,0,632, -633,5,33,0,0,633,634,5,61,0,0,634,635,5,61,0,0,635,75,1,0,0,0,636,637,5, -38,0,0,637,77,1,0,0,0,638,639,5,94,0,0,639,79,1,0,0,0,640,641,5,124,0,0, -641,81,1,0,0,0,642,643,5,65,0,0,643,644,5,78,0,0,644,645,5,68,0,0,645,83, -1,0,0,0,646,647,5,79,0,0,647,648,5,82,0,0,648,85,1,0,0,0,649,650,5,88,0, -0,650,651,5,79,0,0,651,652,5,82,0,0,652,87,1,0,0,0,653,654,5,42,0,0,654, -655,5,61,0,0,655,89,1,0,0,0,656,657,5,47,0,0,657,658,5,61,0,0,658,91,1,0, -0,0,659,660,5,37,0,0,660,661,5,61,0,0,661,93,1,0,0,0,662,663,5,43,0,0,663, -664,5,61,0,0,664,95,1,0,0,0,665,666,5,45,0,0,666,667,5,61,0,0,667,97,1,0, -0,0,668,669,5,60,0,0,669,670,5,60,0,0,670,671,5,61,0,0,671,99,1,0,0,0,672, -673,5,62,0,0,673,674,5,62,0,0,674,675,5,61,0,0,675,101,1,0,0,0,676,677,5, -62,0,0,677,678,5,62,0,0,678,679,5,62,0,0,679,680,5,61,0,0,680,103,1,0,0, -0,681,682,5,38,0,0,682,683,5,61,0,0,683,105,1,0,0,0,684,685,5,94,0,0,685, -686,5,61,0,0,686,107,1,0,0,0,687,688,5,124,0,0,688,689,5,61,0,0,689,109, -1,0,0,0,690,691,5,61,0,0,691,692,5,62,0,0,692,111,1,0,0,0,693,694,5,110, -0,0,694,695,5,117,0,0,695,696,5,108,0,0,696,697,5,108,0,0,697,113,1,0,0, -0,698,699,5,116,0,0,699,700,5,114,0,0,700,701,5,117,0,0,701,708,5,101,0, -0,702,703,5,102,0,0,703,704,5,97,0,0,704,705,5,108,0,0,705,706,5,115,0,0, -706,708,5,101,0,0,707,698,1,0,0,0,707,702,1,0,0,0,708,115,1,0,0,0,709,711, -5,45,0,0,710,709,1,0,0,0,710,711,1,0,0,0,711,712,1,0,0,0,712,713,3,482,240, -0,713,117,1,0,0,0,714,715,3,482,240,0,715,719,5,46,0,0,716,718,7,1,0,0,717, -716,1,0,0,0,718,721,1,0,0,0,719,717,1,0,0,0,719,720,1,0,0,0,720,723,1,0, -0,0,721,719,1,0,0,0,722,724,3,484,241,0,723,722,1,0,0,0,723,724,1,0,0,0, -724,742,1,0,0,0,725,727,5,45,0,0,726,725,1,0,0,0,726,727,1,0,0,0,727,728, -1,0,0,0,728,730,5,46,0,0,729,731,7,1,0,0,730,729,1,0,0,0,731,732,1,0,0,0, -732,730,1,0,0,0,732,733,1,0,0,0,733,735,1,0,0,0,734,736,3,484,241,0,735, -734,1,0,0,0,735,736,1,0,0,0,736,742,1,0,0,0,737,739,3,482,240,0,738,740, -3,484,241,0,739,738,1,0,0,0,739,740,1,0,0,0,740,742,1,0,0,0,741,714,1,0, -0,0,741,726,1,0,0,0,741,737,1,0,0,0,742,119,1,0,0,0,743,744,5,48,0,0,744, -746,7,2,0,0,745,747,3,480,239,0,746,745,1,0,0,0,747,748,1,0,0,0,748,746, -1,0,0,0,748,749,1,0,0,0,749,121,1,0,0,0,750,752,5,48,0,0,751,753,7,3,0,0, -752,751,1,0,0,0,753,754,1,0,0,0,754,752,1,0,0,0,754,755,1,0,0,0,755,123, -1,0,0,0,756,757,5,48,0,0,757,759,7,4,0,0,758,760,7,3,0,0,759,758,1,0,0,0, -760,761,1,0,0,0,761,759,1,0,0,0,761,762,1,0,0,0,762,125,1,0,0,0,763,764, -5,48,0,0,764,766,7,5,0,0,765,767,7,6,0,0,766,765,1,0,0,0,767,768,1,0,0,0, -768,766,1,0,0,0,768,769,1,0,0,0,769,127,1,0,0,0,770,771,5,111,0,0,771,772, -5,112,0,0,772,773,5,116,0,0,773,774,5,105,0,0,774,775,5,111,0,0,775,776, -5,110,0,0,776,777,5,97,0,0,777,778,5,108,0,0,778,129,1,0,0,0,779,780,5,98, -0,0,780,781,5,114,0,0,781,782,5,101,0,0,782,783,5,97,0,0,783,784,5,107,0, -0,784,131,1,0,0,0,785,786,5,100,0,0,786,787,5,111,0,0,787,133,1,0,0,0,788, -789,5,105,0,0,789,790,5,110,0,0,790,791,5,115,0,0,791,792,5,116,0,0,792, -793,5,97,0,0,793,794,5,110,0,0,794,795,5,99,0,0,795,796,5,101,0,0,796,797, -5,111,0,0,797,798,5,102,0,0,798,135,1,0,0,0,799,800,5,116,0,0,800,801,5, -121,0,0,801,802,5,112,0,0,802,803,5,101,0,0,803,804,5,111,0,0,804,805,5, -102,0,0,805,137,1,0,0,0,806,807,5,99,0,0,807,808,5,97,0,0,808,809,5,115, -0,0,809,810,5,101,0,0,810,139,1,0,0,0,811,812,5,101,0,0,812,813,5,108,0, -0,813,814,5,115,0,0,814,815,5,101,0,0,815,141,1,0,0,0,816,817,5,110,0,0, -817,818,5,101,0,0,818,819,5,119,0,0,819,143,1,0,0,0,820,821,5,118,0,0,821, -822,5,97,0,0,822,823,5,114,0,0,823,145,1,0,0,0,824,825,5,99,0,0,825,826, -5,97,0,0,826,827,5,116,0,0,827,828,5,99,0,0,828,829,5,104,0,0,829,147,1, -0,0,0,830,831,5,102,0,0,831,832,5,105,0,0,832,833,5,110,0,0,833,834,5,97, -0,0,834,835,5,108,0,0,835,836,5,108,0,0,836,837,5,121,0,0,837,149,1,0,0, -0,838,839,5,114,0,0,839,840,5,101,0,0,840,841,5,116,0,0,841,842,5,117,0, -0,842,843,5,114,0,0,843,844,5,110,0,0,844,151,1,0,0,0,845,846,5,118,0,0, -846,847,5,111,0,0,847,848,5,105,0,0,848,849,5,100,0,0,849,153,1,0,0,0,850, -851,5,99,0,0,851,852,5,111,0,0,852,853,5,110,0,0,853,854,5,116,0,0,854,855, -5,105,0,0,855,856,5,110,0,0,856,857,5,117,0,0,857,858,5,101,0,0,858,155, -1,0,0,0,859,860,5,102,0,0,860,861,5,111,0,0,861,862,5,114,0,0,862,157,1, -0,0,0,863,864,5,115,0,0,864,865,5,119,0,0,865,866,5,105,0,0,866,867,5,116, -0,0,867,868,5,99,0,0,868,869,5,104,0,0,869,159,1,0,0,0,870,871,5,119,0,0, -871,872,5,104,0,0,872,873,5,105,0,0,873,874,5,108,0,0,874,875,5,101,0,0, -875,161,1,0,0,0,876,877,5,100,0,0,877,878,5,101,0,0,878,879,5,98,0,0,879, -880,5,117,0,0,880,881,5,103,0,0,881,882,5,103,0,0,882,883,5,101,0,0,883, -884,5,114,0,0,884,163,1,0,0,0,885,886,5,102,0,0,886,887,5,117,0,0,887,888, -5,110,0,0,888,889,5,99,0,0,889,890,5,116,0,0,890,891,5,105,0,0,891,892,5, -111,0,0,892,893,5,110,0,0,893,165,1,0,0,0,894,895,5,116,0,0,895,896,5,104, -0,0,896,897,5,105,0,0,897,898,5,115,0,0,898,167,1,0,0,0,899,900,5,119,0, -0,900,901,5,105,0,0,901,902,5,116,0,0,902,903,5,104,0,0,903,169,1,0,0,0, -904,905,5,100,0,0,905,906,5,101,0,0,906,907,5,102,0,0,907,908,5,97,0,0,908, -909,5,117,0,0,909,910,5,108,0,0,910,911,5,116,0,0,911,171,1,0,0,0,912,913, -5,105,0,0,913,914,5,102,0,0,914,173,1,0,0,0,915,916,5,116,0,0,916,917,5, -104,0,0,917,918,5,114,0,0,918,919,5,111,0,0,919,920,5,119,0,0,920,175,1, -0,0,0,921,922,5,100,0,0,922,923,5,101,0,0,923,924,5,108,0,0,924,925,5,101, -0,0,925,926,5,116,0,0,926,927,5,101,0,0,927,177,1,0,0,0,928,929,5,105,0, -0,929,930,5,110,0,0,930,179,1,0,0,0,931,932,5,116,0,0,932,933,5,114,0,0, -933,934,5,121,0,0,934,181,1,0,0,0,935,936,5,97,0,0,936,937,5,115,0,0,937, -183,1,0,0,0,938,939,5,102,0,0,939,940,5,114,0,0,940,941,5,111,0,0,941,942, -5,109,0,0,942,185,1,0,0,0,943,944,5,114,0,0,944,945,5,101,0,0,945,946,5, -97,0,0,946,947,5,100,0,0,947,948,5,111,0,0,948,949,5,110,0,0,949,950,5,108, -0,0,950,951,5,121,0,0,951,187,1,0,0,0,952,953,5,97,0,0,953,954,5,115,0,0, -954,955,5,121,0,0,955,956,5,110,0,0,956,957,5,99,0,0,957,189,1,0,0,0,958, -959,5,116,0,0,959,960,5,104,0,0,960,961,5,114,0,0,961,962,5,111,0,0,962, -963,5,119,0,0,963,964,5,115,0,0,964,191,1,0,0,0,965,966,5,97,0,0,966,967, -5,112,0,0,967,968,5,112,0,0,968,969,5,108,0,0,969,970,5,121,0,0,970,971, -5,82,0,0,971,972,5,117,0,0,972,973,5,108,0,0,973,974,5,101,0,0,974,975,5, -115,0,0,975,193,1,0,0,0,976,977,5,101,0,0,977,978,5,120,0,0,978,979,5,116, -0,0,979,980,5,101,0,0,980,981,5,110,0,0,981,982,5,100,0,0,982,983,5,115, -0,0,983,195,1,0,0,0,984,985,5,99,0,0,985,986,5,111,0,0,986,987,5,110,0,0, -987,988,5,115,0,0,988,989,5,116,0,0,989,197,1,0,0,0,990,991,5,82,0,0,991, -992,5,101,0,0,992,993,5,112,0,0,993,994,5,111,0,0,994,995,5,80,0,0,995,996, -5,111,0,0,996,997,5,114,0,0,997,998,5,116,0,0,998,199,1,0,0,0,999,1000,5, -80,0,0,1000,1001,5,114,0,0,1001,1002,5,111,0,0,1002,1003,5,112,0,0,1003, -1004,5,115,0,0,1004,201,1,0,0,0,1005,1006,5,82,0,0,1006,1007,5,101,0,0,1007, -1008,5,97,0,0,1008,1009,5,100,0,0,1009,1010,5,77,0,0,1010,1011,5,111,0,0, -1011,1012,5,100,0,0,1012,1013,5,101,0,0,1013,1014,5,108,0,0,1014,203,1,0, -0,0,1015,1016,5,68,0,0,1016,1017,5,84,0,0,1017,1018,5,79,0,0,1018,205,1, -0,0,0,1019,1020,5,82,0,0,1020,1021,5,69,0,0,1021,1022,5,83,0,0,1022,1023, -5,84,0,0,1023,1024,5,67,0,0,1024,1025,5,111,0,0,1025,1026,5,110,0,0,1026, -1027,5,116,0,0,1027,1028,5,114,0,0,1028,1029,5,111,0,0,1029,1030,5,108,0, -0,1030,1031,5,108,0,0,1031,1032,5,101,0,0,1032,1033,5,114,0,0,1033,207,1, -0,0,0,1034,1035,5,71,0,0,1035,1036,5,114,0,0,1036,1037,5,97,0,0,1037,1038, -5,112,0,0,1038,1039,5,104,0,0,1039,1040,5,81,0,0,1040,1041,5,76,0,0,1041, -1042,5,67,0,0,1042,1043,5,111,0,0,1043,1044,5,110,0,0,1044,1045,5,116,0, -0,1045,1046,5,114,0,0,1046,1047,5,111,0,0,1047,1048,5,108,0,0,1048,1049, -5,108,0,0,1049,1050,5,101,0,0,1050,1051,5,114,0,0,1051,209,1,0,0,0,1052, -1053,5,71,0,0,1053,1054,5,82,0,0,1054,1055,5,80,0,0,1055,1056,5,67,0,0,1056, -1057,5,67,0,0,1057,1058,5,111,0,0,1058,1059,5,110,0,0,1059,1060,5,116,0, -0,1060,1061,5,114,0,0,1061,1062,5,111,0,0,1062,1063,5,108,0,0,1063,1064, -5,108,0,0,1064,1065,5,101,0,0,1065,1066,5,114,0,0,1066,211,1,0,0,0,1067, -1068,5,85,0,0,1068,1069,5,115,0,0,1069,1070,5,101,0,0,1070,1071,5,67,0,0, -1071,1072,5,97,0,0,1072,1073,5,115,0,0,1073,1074,5,101,0,0,1074,213,1,0, -0,0,1075,1076,5,86,0,0,1076,1077,5,97,0,0,1077,1078,5,108,0,0,1078,1079, -5,117,0,0,1079,1080,5,101,0,0,1080,1081,5,79,0,0,1081,1082,5,98,0,0,1082, -1083,5,106,0,0,1083,1084,5,101,0,0,1084,1085,5,99,0,0,1085,1086,5,116,0, -0,1086,215,1,0,0,0,1087,1088,5,65,0,0,1088,1089,5,103,0,0,1089,1090,5,103, -0,0,1090,1091,5,114,0,0,1091,1092,5,101,0,0,1092,1093,5,103,0,0,1093,1094, -5,97,0,0,1094,1095,5,116,0,0,1095,1096,5,101,0,0,1096,1097,5,82,0,0,1097, -1098,5,111,0,0,1098,1099,5,111,0,0,1099,1100,5,116,0,0,1100,217,1,0,0,0, -1101,1102,5,69,0,0,1102,1103,5,110,0,0,1103,1104,5,116,0,0,1104,1105,5,105, -0,0,1105,1106,5,116,0,0,1106,1107,5,121,0,0,1107,219,1,0,0,0,1108,1109,5, -68,0,0,1109,1110,5,111,0,0,1110,1111,5,109,0,0,1111,1112,5,97,0,0,1112,1113, -5,105,0,0,1113,1114,5,110,0,0,1114,1115,5,69,0,0,1115,1116,5,118,0,0,1116, -1117,5,101,0,0,1117,1118,5,110,0,0,1118,1119,5,116,0,0,1119,221,1,0,0,0, -1120,1121,5,83,0,0,1121,1122,5,101,0,0,1122,1123,5,114,0,0,1123,1124,5,118, -0,0,1124,1125,5,105,0,0,1125,1126,5,99,0,0,1126,1127,5,101,0,0,1127,223, -1,0,0,0,1128,1129,5,82,0,0,1129,1130,5,101,0,0,1130,1131,5,112,0,0,1131, -1132,5,111,0,0,1132,1133,5,115,0,0,1133,1134,5,105,0,0,1134,1135,5,116,0, -0,1135,1136,5,111,0,0,1136,1137,5,114,0,0,1137,1138,5,121,0,0,1138,225,1, -0,0,0,1139,1140,5,70,0,0,1140,1141,5,97,0,0,1141,1142,5,99,0,0,1142,1143, -5,116,0,0,1143,1144,5,111,0,0,1144,1145,5,114,0,0,1145,1146,5,121,0,0,1146, -227,1,0,0,0,1147,1148,5,68,0,0,1148,1149,5,111,0,0,1149,1150,5,109,0,0,1150, -1151,5,97,0,0,1151,1152,5,105,0,0,1152,1153,5,110,0,0,1153,1154,5,69,0,0, -1154,1155,5,114,0,0,1155,1156,5,114,0,0,1156,1157,5,111,0,0,1157,1158,5, -114,0,0,1158,229,1,0,0,0,1159,1160,5,65,0,0,1160,1161,5,112,0,0,1161,1162, -5,112,0,0,1162,1163,5,108,0,0,1163,1164,5,105,0,0,1164,1165,5,99,0,0,1165, -1166,5,97,0,0,1166,1167,5,116,0,0,1167,1168,5,105,0,0,1168,1169,5,111,0, -0,1169,1170,5,110,0,0,1170,1171,5,69,0,0,1171,1172,5,114,0,0,1172,1173,5, -114,0,0,1173,1174,5,111,0,0,1174,1175,5,114,0,0,1175,231,1,0,0,0,1176,1177, -5,68,0,0,1177,1178,5,111,0,0,1178,1179,5,109,0,0,1179,1180,5,97,0,0,1180, -1181,5,105,0,0,1181,1182,5,110,0,0,1182,1183,5,69,0,0,1183,1184,5,114,0, -0,1184,1185,5,114,0,0,1185,1186,5,111,0,0,1186,1187,5,114,0,0,1187,1188, -5,115,0,0,1188,233,1,0,0,0,1189,1190,5,65,0,0,1190,1191,5,112,0,0,1191,1192, -5,112,0,0,1192,1193,5,108,0,0,1193,1194,5,105,0,0,1194,1195,5,99,0,0,1195, -1196,5,97,0,0,1196,1197,5,116,0,0,1197,1198,5,105,0,0,1198,1199,5,111,0, -0,1199,1200,5,110,0,0,1200,1201,5,69,0,0,1201,1202,5,114,0,0,1202,1203,5, -114,0,0,1203,1204,5,111,0,0,1204,1205,5,114,0,0,1205,1206,5,115,0,0,1206, -235,1,0,0,0,1207,1208,5,79,0,0,1208,1209,5,75,0,0,1209,237,1,0,0,0,1210, -1211,5,69,0,0,1211,1212,5,114,0,0,1212,1213,5,114,0,0,1213,1214,5,111,0, -0,1214,1215,5,114,0,0,1215,1216,5,115,0,0,1216,239,1,0,0,0,1217,1218,5,67, -0,0,1218,1219,5,111,0,0,1219,1220,5,110,0,0,1220,1221,5,102,0,0,1221,1222, -5,105,0,0,1222,1223,5,103,0,0,1223,241,1,0,0,0,1224,1225,5,80,0,0,1225,1226, -5,97,0,0,1226,1227,5,99,0,0,1227,1228,5,107,0,0,1228,1229,5,97,0,0,1229, -1230,5,103,0,0,1230,1231,5,101,0,0,1231,1232,5,80,0,0,1232,1233,5,111,0, -0,1233,1234,5,114,0,0,1234,1235,5,116,0,0,1235,243,1,0,0,0,1236,1237,5,86, -0,0,1237,1238,5,79,0,0,1238,245,1,0,0,0,1239,1240,5,82,0,0,1240,1241,5,117, -0,0,1241,1242,5,108,0,0,1242,1243,5,101,0,0,1243,247,1,0,0,0,1244,1245,5, -105,0,0,1245,1246,5,115,0,0,1246,1247,5,66,0,0,1247,1248,5,114,0,0,1248, -1249,5,111,0,0,1249,1250,5,107,0,0,1250,1251,5,101,0,0,1251,1252,5,110,0, -0,1252,1253,5,73,0,0,1253,1254,5,102,0,0,1254,249,1,0,0,0,1255,1256,5,82, -0,0,1256,1257,5,111,0,0,1257,1258,5,111,0,0,1258,1259,5,116,0,0,1259,251, -1,0,0,0,1260,1261,5,99,0,0,1261,1262,5,111,0,0,1262,1263,5,110,0,0,1263, -1264,5,115,0,0,1264,1265,5,116,0,0,1265,1266,5,114,0,0,1266,1267,5,117,0, -0,1267,1268,5,99,0,0,1268,1269,5,116,0,0,1269,1270,5,111,0,0,1270,1271,5, -114,0,0,1271,253,1,0,0,0,1272,1273,5,108,0,0,1273,1274,5,101,0,0,1274,1275, -5,116,0,0,1275,255,1,0,0,0,1276,1277,5,112,0,0,1277,1278,5,114,0,0,1278, -1279,5,105,0,0,1279,1280,5,118,0,0,1280,1281,5,97,0,0,1281,1282,5,116,0, -0,1282,1283,5,101,0,0,1283,257,1,0,0,0,1284,1285,5,112,0,0,1285,1286,5,117, -0,0,1286,1287,5,98,0,0,1287,1288,5,108,0,0,1288,1289,5,105,0,0,1289,1290, -5,99,0,0,1290,259,1,0,0,0,1291,1292,5,112,0,0,1292,1293,5,114,0,0,1293,1294, -5,111,0,0,1294,1295,5,116,0,0,1295,1296,5,101,0,0,1296,1297,5,99,0,0,1297, -1298,5,116,0,0,1298,1299,5,101,0,0,1299,1300,5,100,0,0,1300,261,1,0,0,0, -1301,1302,5,115,0,0,1302,1303,5,116,0,0,1303,1304,5,97,0,0,1304,1305,5,116, -0,0,1305,1306,5,105,0,0,1306,1307,5,99,0,0,1307,263,1,0,0,0,1308,1309,5, -97,0,0,1309,1310,5,110,0,0,1310,1311,5,121,0,0,1311,265,1,0,0,0,1312,1313, -5,100,0,0,1313,1314,5,111,0,0,1314,1315,5,117,0,0,1315,1316,5,98,0,0,1316, -1317,5,108,0,0,1317,1318,5,101,0,0,1318,267,1,0,0,0,1319,1320,5,102,0,0, -1320,1321,5,108,0,0,1321,1322,5,111,0,0,1322,1323,5,97,0,0,1323,1324,5,116, -0,0,1324,269,1,0,0,0,1325,1326,5,105,0,0,1326,1327,5,110,0,0,1327,1328,5, -116,0,0,1328,1329,5,51,0,0,1329,1330,5,50,0,0,1330,271,1,0,0,0,1331,1332, -5,105,0,0,1332,1333,5,110,0,0,1333,1334,5,116,0,0,1334,1335,5,54,0,0,1335, -1336,5,52,0,0,1336,273,1,0,0,0,1337,1338,5,117,0,0,1338,1339,5,105,0,0,1339, -1340,5,110,0,0,1340,1341,5,116,0,0,1341,1342,5,51,0,0,1342,1343,5,50,0,0, -1343,275,1,0,0,0,1344,1345,5,117,0,0,1345,1346,5,105,0,0,1346,1347,5,110, -0,0,1347,1348,5,116,0,0,1348,1349,5,54,0,0,1349,1350,5,52,0,0,1350,277,1, -0,0,0,1351,1352,5,115,0,0,1352,1353,5,105,0,0,1353,1354,5,110,0,0,1354,1355, -5,116,0,0,1355,1356,5,51,0,0,1356,1357,5,50,0,0,1357,279,1,0,0,0,1358,1359, -5,115,0,0,1359,1360,5,105,0,0,1360,1361,5,110,0,0,1361,1362,5,116,0,0,1362, -1363,5,54,0,0,1363,1364,5,52,0,0,1364,281,1,0,0,0,1365,1366,5,102,0,0,1366, -1367,5,105,0,0,1367,1368,5,120,0,0,1368,1369,5,101,0,0,1369,1370,5,100,0, -0,1370,1371,5,51,0,0,1371,1372,5,50,0,0,1372,283,1,0,0,0,1373,1374,5,102, -0,0,1374,1375,5,105,0,0,1375,1376,5,120,0,0,1376,1377,5,101,0,0,1377,1378, -5,100,0,0,1378,1379,5,54,0,0,1379,1380,5,52,0,0,1380,285,1,0,0,0,1381,1382, -5,115,0,0,1382,1383,5,102,0,0,1383,1384,5,105,0,0,1384,1385,5,120,0,0,1385, -1386,5,101,0,0,1386,1387,5,100,0,0,1387,1388,5,51,0,0,1388,1389,5,50,0,0, -1389,287,1,0,0,0,1390,1391,5,115,0,0,1391,1392,5,102,0,0,1392,1393,5,105, -0,0,1393,1394,5,120,0,0,1394,1395,5,101,0,0,1395,1396,5,100,0,0,1396,1397, -5,54,0,0,1397,1398,5,52,0,0,1398,289,1,0,0,0,1399,1400,5,98,0,0,1400,1401, -5,111,0,0,1401,1402,5,111,0,0,1402,1403,5,108,0,0,1403,291,1,0,0,0,1404, -1405,5,115,0,0,1405,1406,5,116,0,0,1406,1407,5,114,0,0,1407,1408,5,105,0, -0,1408,1409,5,110,0,0,1409,1410,5,103,0,0,1410,293,1,0,0,0,1411,1412,5,98, -0,0,1412,1413,5,121,0,0,1413,1414,5,116,0,0,1414,1415,5,101,0,0,1415,1416, -5,115,0,0,1416,295,1,0,0,0,1417,1418,5,116,0,0,1418,1419,5,105,0,0,1419, -1420,5,109,0,0,1420,1421,5,101,0,0,1421,1422,5,115,0,0,1422,1423,5,116,0, -0,1423,1424,5,97,0,0,1424,1425,5,109,0,0,1425,1426,5,112,0,0,1426,297,1, -0,0,0,1427,1428,5,83,0,0,1428,1429,5,116,0,0,1429,1430,5,114,0,0,1430,1431, -5,117,0,0,1431,1432,5,99,0,0,1432,1433,5,116,0,0,1433,299,1,0,0,0,1434,1435, -5,116,0,0,1435,1436,5,121,0,0,1436,1437,5,112,0,0,1437,1438,5,101,0,0,1438, -301,1,0,0,0,1439,1440,5,103,0,0,1440,1441,5,101,0,0,1441,1442,5,116,0,0, -1442,303,1,0,0,0,1443,1444,5,115,0,0,1444,1445,5,101,0,0,1445,1446,5,116, -0,0,1446,305,1,0,0,0,1447,1448,5,101,0,0,1448,1449,5,120,0,0,1449,1450,5, -101,0,0,1450,1451,5,99,0,0,1451,1452,5,117,0,0,1452,1453,5,116,0,0,1453, -1454,5,101,0,0,1454,307,1,0,0,0,1455,1456,5,99,0,0,1456,1457,5,114,0,0,1457, -1458,5,101,0,0,1458,1459,5,97,0,0,1459,1460,5,116,0,0,1460,1461,5,101,0, -0,1461,309,1,0,0,0,1462,1463,5,110,0,0,1463,1464,5,97,0,0,1464,1465,5,109, -0,0,1465,1466,5,101,0,0,1466,1467,5,115,0,0,1467,1468,5,112,0,0,1468,1469, -5,97,0,0,1469,1470,5,99,0,0,1470,1471,5,101,0,0,1471,311,1,0,0,0,1472,1473, -5,100,0,0,1473,1474,5,101,0,0,1474,1475,5,99,0,0,1475,1476,5,108,0,0,1476, -1477,5,97,0,0,1477,1478,5,114,0,0,1478,1479,5,101,0,0,1479,313,1,0,0,0,1480, -1481,5,74,0,0,1481,1482,5,101,0,0,1482,1483,5,115,0,0,1483,1484,5,116,0, -0,1484,1485,5,84,0,0,1485,1486,5,101,0,0,1486,1487,5,115,0,0,1487,1488,5, -116,0,0,1488,315,1,0,0,0,1489,1490,5,74,0,0,1490,1491,5,101,0,0,1491,1492, -5,115,0,0,1492,1493,5,116,0,0,1493,1494,5,84,0,0,1494,1495,5,101,0,0,1495, -1496,5,115,0,0,1496,1497,5,116,0,0,1497,1498,5,83,0,0,1498,1499,5,116,0, -0,1499,1500,5,97,0,0,1500,1501,5,116,0,0,1501,1502,5,101,0,0,1502,1503,5, -109,0,0,1503,1504,5,101,0,0,1504,1505,5,110,0,0,1505,1506,5,116,0,0,1506, -317,1,0,0,0,1507,1508,5,74,0,0,1508,1509,5,101,0,0,1509,1510,5,115,0,0,1510, -1511,5,116,0,0,1511,1512,5,84,0,0,1512,1513,5,101,0,0,1513,1514,5,115,0, -0,1514,1515,5,116,0,0,1515,1516,5,83,0,0,1516,1517,5,116,0,0,1517,1518,5, -97,0,0,1518,1519,5,116,0,0,1519,1520,5,101,0,0,1520,1521,5,109,0,0,1521, -1522,5,101,0,0,1522,1523,5,110,0,0,1523,1524,5,116,0,0,1524,1525,5,76,0, -0,1525,1526,5,105,0,0,1526,1527,5,115,0,0,1527,1528,5,116,0,0,1528,319,1, -0,0,0,1529,1530,5,74,0,0,1530,1531,5,101,0,0,1531,1532,5,115,0,0,1532,1533, -5,116,0,0,1533,1534,5,84,0,0,1534,1535,5,101,0,0,1535,1536,5,115,0,0,1536, -1537,5,116,0,0,1537,1538,5,70,0,0,1538,1539,5,117,0,0,1539,1540,5,110,0, -0,1540,1541,5,99,0,0,1541,1542,5,116,0,0,1542,1543,5,105,0,0,1543,1544,5, -111,0,0,1544,1545,5,110,0,0,1545,1546,5,66,0,0,1546,1547,5,111,0,0,1547, -1548,5,100,0,0,1548,1549,5,121,0,0,1549,321,1,0,0,0,1550,1551,5,74,0,0,1551, -1552,5,101,0,0,1552,1553,5,115,0,0,1553,1554,5,116,0,0,1554,1555,5,84,0, -0,1555,1556,5,101,0,0,1556,1557,5,115,0,0,1557,1558,5,116,0,0,1558,1559, -5,69,0,0,1559,1560,5,120,0,0,1560,1561,5,101,0,0,1561,1562,5,99,0,0,1562, -1563,5,117,0,0,1563,1564,5,116,0,0,1564,1565,5,101,0,0,1565,323,1,0,0,0, -1566,1567,5,74,0,0,1567,1568,5,101,0,0,1568,1569,5,115,0,0,1569,1570,5,116, -0,0,1570,1571,5,84,0,0,1571,1572,5,101,0,0,1572,1573,5,115,0,0,1573,1574, -5,116,0,0,1574,1575,5,83,0,0,1575,1576,5,116,0,0,1576,1577,5,114,0,0,1577, -1578,5,117,0,0,1578,1579,5,99,0,0,1579,1580,5,116,0,0,1580,1581,5,69,0,0, -1581,1582,5,118,0,0,1582,1583,5,97,0,0,1583,1584,5,108,0,0,1584,1585,5,117, -0,0,1585,1586,5,97,0,0,1586,1587,5,116,0,0,1587,1588,5,105,0,0,1588,1589, -5,111,0,0,1589,1590,5,110,0,0,1590,325,1,0,0,0,1591,1592,5,74,0,0,1592,1593, -5,101,0,0,1593,1594,5,115,0,0,1594,1595,5,116,0,0,1595,1596,5,84,0,0,1596, -1597,5,101,0,0,1597,1598,5,115,0,0,1598,1599,5,116,0,0,1599,1600,5,68,0, -0,1600,1601,5,84,0,0,1601,1602,5,79,0,0,1602,1603,5,69,0,0,1603,1604,5,118, -0,0,1604,1605,5,97,0,0,1605,1606,5,108,0,0,1606,1607,5,117,0,0,1607,1608, -5,97,0,0,1608,1609,5,116,0,0,1609,1610,5,105,0,0,1610,1611,5,111,0,0,1611, -1612,5,110,0,0,1612,327,1,0,0,0,1613,1614,5,74,0,0,1614,1615,5,101,0,0,1615, -1616,5,115,0,0,1616,1617,5,116,0,0,1617,1618,5,84,0,0,1618,1619,5,101,0, -0,1619,1620,5,115,0,0,1620,1621,5,116,0,0,1621,1622,5,69,0,0,1622,1623,5, -118,0,0,1623,1624,5,97,0,0,1624,1625,5,108,0,0,1625,1626,5,117,0,0,1626, -1627,5,97,0,0,1627,1628,5,116,0,0,1628,1629,5,105,0,0,1629,1630,5,111,0, -0,1630,1631,5,110,0,0,1631,329,1,0,0,0,1632,1633,5,74,0,0,1633,1634,5,101, -0,0,1634,1635,5,115,0,0,1635,1636,5,116,0,0,1636,1637,5,84,0,0,1637,1638, -5,101,0,0,1638,1639,5,115,0,0,1639,1640,5,116,0,0,1640,1641,5,82,0,0,1641, -1642,5,101,0,0,1642,1643,5,116,0,0,1643,1644,5,117,0,0,1644,1645,5,114,0, -0,1645,1646,5,110,0,0,1646,1647,5,79,0,0,1647,1648,5,107,0,0,1648,1649,5, -69,0,0,1649,1650,5,114,0,0,1650,1651,5,114,0,0,1651,1652,5,111,0,0,1652, -1653,5,114,0,0,1653,1654,5,84,0,0,1654,1655,5,121,0,0,1655,1656,5,112,0, -0,1656,1657,5,101,0,0,1657,331,1,0,0,0,1658,1659,5,74,0,0,1659,1660,5,101, -0,0,1660,1661,5,115,0,0,1661,1662,5,116,0,0,1662,1663,5,84,0,0,1663,1664, -5,101,0,0,1664,1665,5,115,0,0,1665,1666,5,116,0,0,1666,1667,5,69,0,0,1667, -1668,5,120,0,0,1668,1669,5,112,0,0,1669,1670,5,114,0,0,1670,1671,5,101,0, -0,1671,1672,5,115,0,0,1672,1673,5,115,0,0,1673,1674,5,105,0,0,1674,1675, -5,111,0,0,1675,1676,5,110,0,0,1676,333,1,0,0,0,1677,1678,5,74,0,0,1678,1679, -5,101,0,0,1679,1680,5,115,0,0,1680,1681,5,116,0,0,1681,1682,5,84,0,0,1682, -1683,5,101,0,0,1683,1684,5,115,0,0,1684,1685,5,116,0,0,1685,1686,5,67,0, -0,1686,1687,5,111,0,0,1687,1688,5,110,0,0,1688,1689,5,115,0,0,1689,1690, -5,116,0,0,1690,1691,5,68,0,0,1691,1692,5,101,0,0,1692,1693,5,99,0,0,1693, -1694,5,108,0,0,1694,1695,5,97,0,0,1695,1696,5,114,0,0,1696,1697,5,97,0,0, -1697,1698,5,116,0,0,1698,1699,5,105,0,0,1699,1700,5,111,0,0,1700,1701,5, -110,0,0,1701,335,1,0,0,0,1702,1703,5,74,0,0,1703,1704,5,101,0,0,1704,1705, -5,115,0,0,1705,1706,5,116,0,0,1706,1707,5,84,0,0,1707,1708,5,101,0,0,1708, -1709,5,115,0,0,1709,1710,5,116,0,0,1710,1711,5,77,0,0,1711,1712,5,101,0, -0,1712,1713,5,116,0,0,1713,1714,5,104,0,0,1714,1715,5,111,0,0,1715,1716, -5,100,0,0,1716,1717,5,68,0,0,1717,1718,5,101,0,0,1718,1719,5,102,0,0,1719, -1720,5,105,0,0,1720,1721,5,110,0,0,1721,1722,5,105,0,0,1722,1723,5,116,0, -0,1723,1724,5,105,0,0,1724,1725,5,111,0,0,1725,1726,5,110,0,0,1726,1727, -5,76,0,0,1727,1728,5,105,0,0,1728,1729,5,115,0,0,1729,1730,5,116,0,0,1730, -337,1,0,0,0,1731,1732,5,74,0,0,1732,1733,5,101,0,0,1733,1734,5,115,0,0,1734, -1735,5,116,0,0,1735,1736,5,84,0,0,1736,1737,5,101,0,0,1737,1738,5,115,0, -0,1738,1739,5,116,0,0,1739,1740,5,67,0,0,1740,1741,5,114,0,0,1741,1742,5, -101,0,0,1742,1743,5,97,0,0,1743,1744,5,116,0,0,1744,1745,5,101,0,0,1745, -1746,5,77,0,0,1746,1747,5,101,0,0,1747,1748,5,116,0,0,1748,1749,5,104,0, -0,1749,1750,5,111,0,0,1750,1751,5,100,0,0,1751,1752,5,68,0,0,1752,1753,5, -101,0,0,1753,1754,5,99,0,0,1754,1755,5,108,0,0,1755,1756,5,97,0,0,1756,1757, -5,114,0,0,1757,1758,5,97,0,0,1758,1759,5,116,0,0,1759,1760,5,105,0,0,1760, -1761,5,111,0,0,1761,1762,5,110,0,0,1762,339,1,0,0,0,1763,1764,5,74,0,0,1764, -1765,5,101,0,0,1765,1766,5,115,0,0,1766,1767,5,116,0,0,1767,1768,5,84,0, -0,1768,1769,5,101,0,0,1769,1770,5,115,0,0,1770,1771,5,116,0,0,1771,1772, -5,80,0,0,1772,1773,5,114,0,0,1773,1774,5,105,0,0,1774,1775,5,118,0,0,1775, -1776,5,97,0,0,1776,1777,5,116,0,0,1777,1778,5,101,0,0,1778,1779,5,77,0,0, -1779,1780,5,101,0,0,1780,1781,5,116,0,0,1781,1782,5,104,0,0,1782,1783,5, -111,0,0,1783,1784,5,100,0,0,1784,1785,5,68,0,0,1785,1786,5,101,0,0,1786, -1787,5,99,0,0,1787,1788,5,108,0,0,1788,1789,5,97,0,0,1789,1790,5,114,0,0, -1790,1791,5,97,0,0,1791,1792,5,116,0,0,1792,1793,5,105,0,0,1793,1794,5,111, -0,0,1794,1795,5,110,0,0,1795,341,1,0,0,0,1796,1797,5,74,0,0,1797,1798,5, -101,0,0,1798,1799,5,115,0,0,1799,1800,5,116,0,0,1800,1801,5,84,0,0,1801, -1802,5,101,0,0,1802,1803,5,115,0,0,1803,1804,5,116,0,0,1804,1805,5,80,0, -0,1805,1806,5,117,0,0,1806,1807,5,98,0,0,1807,1808,5,108,0,0,1808,1809,5, -105,0,0,1809,1810,5,99,0,0,1810,1811,5,77,0,0,1811,1812,5,101,0,0,1812,1813, -5,116,0,0,1813,1814,5,104,0,0,1814,1815,5,111,0,0,1815,1816,5,100,0,0,1816, -1817,5,68,0,0,1817,1818,5,101,0,0,1818,1819,5,99,0,0,1819,1820,5,108,0,0, -1820,1821,5,97,0,0,1821,1822,5,114,0,0,1822,1823,5,97,0,0,1823,1824,5,116, -0,0,1824,1825,5,105,0,0,1825,1826,5,111,0,0,1826,1827,5,110,0,0,1827,343, -1,0,0,0,1828,1829,5,74,0,0,1829,1830,5,101,0,0,1830,1831,5,115,0,0,1831, -1832,5,116,0,0,1832,1833,5,84,0,0,1833,1834,5,101,0,0,1834,1835,5,115,0, -0,1835,1836,5,116,0,0,1836,1837,5,86,0,0,1837,1838,5,97,0,0,1838,1839,5, -108,0,0,1839,1840,5,117,0,0,1840,1841,5,101,0,0,1841,1842,5,79,0,0,1842, -1843,5,98,0,0,1843,1844,5,106,0,0,1844,1845,5,101,0,0,1845,1846,5,99,0,0, -1846,1847,5,116,0,0,1847,1848,5,68,0,0,1848,1849,5,101,0,0,1849,1850,5,99, -0,0,1850,1851,5,108,0,0,1851,1852,5,97,0,0,1852,1853,5,114,0,0,1853,1854, -5,97,0,0,1854,1855,5,116,0,0,1855,1856,5,105,0,0,1856,1857,5,111,0,0,1857, -1858,5,110,0,0,1858,345,1,0,0,0,1859,1860,5,74,0,0,1860,1861,5,101,0,0,1861, -1862,5,115,0,0,1862,1863,5,116,0,0,1863,1864,5,84,0,0,1864,1865,5,101,0, -0,1865,1866,5,115,0,0,1866,1867,5,116,0,0,1867,1868,5,69,0,0,1868,1869,5, -110,0,0,1869,1870,5,116,0,0,1870,1871,5,105,0,0,1871,1872,5,116,0,0,1872, -1873,5,121,0,0,1873,1874,5,68,0,0,1874,1875,5,101,0,0,1875,1876,5,99,0,0, -1876,1877,5,108,0,0,1877,1878,5,97,0,0,1878,1879,5,114,0,0,1879,1880,5,97, -0,0,1880,1881,5,116,0,0,1881,1882,5,105,0,0,1882,1883,5,111,0,0,1883,1884, -5,110,0,0,1884,347,1,0,0,0,1885,1886,5,74,0,0,1886,1887,5,101,0,0,1887,1888, -5,115,0,0,1888,1889,5,116,0,0,1889,1890,5,84,0,0,1890,1891,5,101,0,0,1891, -1892,5,115,0,0,1892,1893,5,116,0,0,1893,1894,5,67,0,0,1894,1895,5,111,0, -0,1895,1896,5,110,0,0,1896,1897,5,100,0,0,1897,1898,5,105,0,0,1898,1899, -5,116,0,0,1899,1900,5,105,0,0,1900,1901,5,111,0,0,1901,1902,5,110,0,0,1902, -349,1,0,0,0,1903,1904,5,74,0,0,1904,1905,5,101,0,0,1905,1906,5,115,0,0,1906, -1907,5,116,0,0,1907,1908,5,84,0,0,1908,1909,5,101,0,0,1909,1910,5,115,0, -0,1910,1911,5,116,0,0,1911,1912,5,86,0,0,1912,1913,5,97,0,0,1913,1914,5, -114,0,0,1914,1915,5,105,0,0,1915,1916,5,97,0,0,1916,1917,5,98,0,0,1917,1918, -5,108,0,0,1918,1919,5,101,0,0,1919,1920,5,68,0,0,1920,1921,5,101,0,0,1921, -1922,5,99,0,0,1922,1923,5,108,0,0,1923,1924,5,97,0,0,1924,1925,5,114,0,0, -1925,1926,5,97,0,0,1926,1927,5,116,0,0,1927,1928,5,105,0,0,1928,1929,5,111, -0,0,1929,1930,5,110,0,0,1930,351,1,0,0,0,1931,1932,5,74,0,0,1932,1933,5, -101,0,0,1933,1934,5,115,0,0,1934,1935,5,116,0,0,1935,1936,5,84,0,0,1936, -1937,5,101,0,0,1937,1938,5,115,0,0,1938,1939,5,116,0,0,1939,1940,5,84,0, -0,1940,1941,5,104,0,0,1941,1942,5,105,0,0,1942,1943,5,115,0,0,1943,1944, -5,68,0,0,1944,1945,5,101,0,0,1945,1946,5,99,0,0,1946,1947,5,108,0,0,1947, -1948,5,97,0,0,1948,1949,5,114,0,0,1949,1950,5,97,0,0,1950,1951,5,116,0,0, -1951,1952,5,105,0,0,1952,1953,5,111,0,0,1953,1954,5,110,0,0,1954,353,1,0, -0,0,1955,1956,5,74,0,0,1956,1957,5,101,0,0,1957,1958,5,115,0,0,1958,1959, -5,116,0,0,1959,1960,5,84,0,0,1960,1961,5,101,0,0,1961,1962,5,115,0,0,1962, -1963,5,116,0,0,1963,1964,5,73,0,0,1964,1965,5,115,0,0,1965,1966,5,73,0,0, -1966,1967,5,110,0,0,1967,1968,5,115,0,0,1968,1969,5,116,0,0,1969,1970,5, -97,0,0,1970,1971,5,110,0,0,1971,1972,5,99,0,0,1972,1973,5,101,0,0,1973,1974, -5,79,0,0,1974,1975,5,102,0,0,1975,355,1,0,0,0,1976,1977,5,74,0,0,1977,1978, -5,101,0,0,1978,1979,5,115,0,0,1979,1980,5,116,0,0,1980,1981,5,84,0,0,1981, -1982,5,101,0,0,1982,1983,5,115,0,0,1983,1984,5,116,0,0,1984,1985,5,86,0, -0,1985,1986,5,97,0,0,1986,1987,5,108,0,0,1987,1988,5,117,0,0,1988,1989,5, -101,0,0,1989,1990,5,79,0,0,1990,1991,5,98,0,0,1991,1992,5,106,0,0,1992,1993, -5,101,0,0,1993,1994,5,99,0,0,1994,1995,5,116,0,0,1995,1996,5,69,0,0,1996, -1997,5,118,0,0,1997,1998,5,97,0,0,1998,1999,5,108,0,0,1999,2000,5,117,0, -0,2000,2001,5,97,0,0,2001,2002,5,116,0,0,2002,2003,5,105,0,0,2003,2004,5, -111,0,0,2004,2005,5,110,0,0,2005,357,1,0,0,0,2006,2007,5,74,0,0,2007,2008, -5,101,0,0,2008,2009,5,115,0,0,2009,2010,5,116,0,0,2010,2011,5,84,0,0,2011, -2012,5,101,0,0,2012,2013,5,115,0,0,2013,2014,5,116,0,0,2014,2015,5,69,0, -0,2015,2016,5,110,0,0,2016,2017,5,116,0,0,2017,2018,5,105,0,0,2018,2019, -5,116,0,0,2019,2020,5,121,0,0,2020,2021,5,69,0,0,2021,2022,5,118,0,0,2022, -2023,5,97,0,0,2023,2024,5,108,0,0,2024,2025,5,117,0,0,2025,2026,5,97,0,0, -2026,2027,5,116,0,0,2027,2028,5,105,0,0,2028,2029,5,111,0,0,2029,2030,5, -110,0,0,2030,359,1,0,0,0,2031,2032,5,74,0,0,2032,2033,5,101,0,0,2033,2034, -5,115,0,0,2034,2035,5,116,0,0,2035,2036,5,84,0,0,2036,2037,5,101,0,0,2037, -2038,5,115,0,0,2038,2039,5,116,0,0,2039,2040,5,83,0,0,2040,2041,5,105,0, -0,2041,2042,5,110,0,0,2042,2043,5,103,0,0,2043,2044,5,108,0,0,2044,2045, -5,101,0,0,2045,2046,5,69,0,0,2046,2047,5,120,0,0,2047,2048,5,112,0,0,2048, -2049,5,114,0,0,2049,2050,5,101,0,0,2050,2051,5,115,0,0,2051,2052,5,115,0, -0,2052,2053,5,105,0,0,2053,2054,5,111,0,0,2054,2055,5,110,0,0,2055,361,1, -0,0,0,2056,2057,5,74,0,0,2057,2058,5,101,0,0,2058,2059,5,115,0,0,2059,2060, -5,116,0,0,2060,2061,5,84,0,0,2061,2062,5,101,0,0,2062,2063,5,115,0,0,2063, -2064,5,116,0,0,2064,2065,5,71,0,0,2065,2066,5,101,0,0,2066,2067,5,116,0, -0,2067,2068,5,67,0,0,2068,2069,5,108,0,0,2069,2070,5,97,0,0,2070,2071,5, -115,0,0,2071,2072,5,115,0,0,2072,363,1,0,0,0,2073,2074,5,74,0,0,2074,2075, -5,101,0,0,2075,2076,5,115,0,0,2076,2077,5,116,0,0,2077,2078,5,84,0,0,2078, -2079,5,101,0,0,2079,2080,5,115,0,0,2080,2081,5,116,0,0,2081,2082,5,66,0, -0,2082,2083,5,117,0,0,2083,2084,5,105,0,0,2084,2085,5,108,0,0,2085,2086, -5,116,0,0,2086,2087,5,73,0,0,2087,2088,5,110,0,0,2088,2089,5,70,0,0,2089, -2090,5,117,0,0,2090,2091,5,110,0,0,2091,2092,5,99,0,0,2092,2093,5,116,0, -0,2093,2094,5,105,0,0,2094,2095,5,111,0,0,2095,2096,5,110,0,0,2096,365,1, -0,0,0,2097,2098,5,74,0,0,2098,2099,5,101,0,0,2099,2100,5,115,0,0,2100,2101, -5,116,0,0,2101,2102,5,84,0,0,2102,2103,5,101,0,0,2103,2104,5,115,0,0,2104, -2105,5,116,0,0,2105,2106,5,66,0,0,2106,2107,5,117,0,0,2107,2108,5,105,0, -0,2108,2109,5,108,0,0,2109,2110,5,116,0,0,2110,2111,5,73,0,0,2111,2112,5, -110,0,0,2112,2113,5,67,0,0,2113,2114,5,108,0,0,2114,2115,5,97,0,0,2115,2116, -5,115,0,0,2116,2117,5,115,0,0,2117,367,1,0,0,0,2118,2119,5,74,0,0,2119,2120, -5,101,0,0,2120,2121,5,115,0,0,2121,2122,5,116,0,0,2122,2123,5,84,0,0,2123, -2124,5,101,0,0,2124,2125,5,115,0,0,2125,2126,5,116,0,0,2126,2127,5,66,0, -0,2127,2128,5,105,0,0,2128,2129,5,116,0,0,2129,2130,5,108,0,0,2130,2131, -5,111,0,0,2131,2132,5,111,0,0,2132,2133,5,112,0,0,2133,2134,5,115,0,0,2134, -2135,5,80,0,0,2135,2136,5,114,0,0,2136,2137,5,105,0,0,2137,2138,5,109,0, -0,2138,2139,5,97,0,0,2139,2140,5,114,0,0,2140,2141,5,121,0,0,2141,2142,5, -84,0,0,2142,2143,5,121,0,0,2143,2144,5,112,0,0,2144,2145,5,101,0,0,2145, -369,1,0,0,0,2146,2147,5,85,0,0,2147,2148,5,85,0,0,2148,2149,5,73,0,0,2149, -2150,5,68,0,0,2150,2151,5,118,0,0,2151,2152,5,52,0,0,2152,371,1,0,0,0,2153, -2154,5,105,0,0,2154,2155,5,115,0,0,2155,373,1,0,0,0,2156,2157,5,103,0,0, -2157,2158,5,101,0,0,2158,2159,5,116,0,0,2159,2160,5,67,0,0,2160,2161,5,108, -0,0,2161,2162,5,97,0,0,2162,2163,5,115,0,0,2163,2164,5,115,0,0,2164,375, -1,0,0,0,2165,2166,5,116,0,0,2166,2167,5,111,0,0,2167,2168,5,83,0,0,2168, -2169,5,116,0,0,2169,2170,5,114,0,0,2170,2171,5,105,0,0,2171,2172,5,110,0, -0,2172,2173,5,103,0,0,2173,377,1,0,0,0,2174,2175,5,64,0,0,2175,379,1,0,0, -0,2176,2177,5,109,0,0,2177,2178,5,101,0,0,2178,2179,5,116,0,0,2179,2180, -5,104,0,0,2180,2181,5,111,0,0,2181,2182,5,100,0,0,2182,381,1,0,0,0,2183, -2184,5,82,0,0,2184,2185,5,69,0,0,2185,2186,5,83,0,0,2186,2187,5,84,0,0,2187, -2188,5,46,0,0,2188,2189,5,77,0,0,2189,2190,5,101,0,0,2190,2191,5,116,0,0, -2191,2192,5,104,0,0,2192,2193,5,111,0,0,2193,2194,5,100,0,0,2194,2195,5, -115,0,0,2195,2196,5,46,0,0,2196,2197,5,71,0,0,2197,2198,5,69,0,0,2198,2199, -5,84,0,0,2199,383,1,0,0,0,2200,2201,5,82,0,0,2201,2202,5,69,0,0,2202,2203, -5,83,0,0,2203,2204,5,84,0,0,2204,2205,5,46,0,0,2205,2206,5,77,0,0,2206,2207, -5,101,0,0,2207,2208,5,116,0,0,2208,2209,5,104,0,0,2209,2210,5,111,0,0,2210, -2211,5,100,0,0,2211,2212,5,115,0,0,2212,2213,5,46,0,0,2213,2214,5,80,0,0, -2214,2215,5,79,0,0,2215,2216,5,83,0,0,2216,2217,5,84,0,0,2217,385,1,0,0, -0,2218,2219,5,82,0,0,2219,2220,5,69,0,0,2220,2221,5,83,0,0,2221,2222,5,84, -0,0,2222,2223,5,46,0,0,2223,2224,5,77,0,0,2224,2225,5,101,0,0,2225,2226, -5,116,0,0,2226,2227,5,104,0,0,2227,2228,5,111,0,0,2228,2229,5,100,0,0,2229, -2230,5,115,0,0,2230,2231,5,46,0,0,2231,2232,5,80,0,0,2232,2233,5,85,0,0, -2233,2234,5,84,0,0,2234,387,1,0,0,0,2235,2236,5,82,0,0,2236,2237,5,69,0, -0,2237,2238,5,83,0,0,2238,2239,5,84,0,0,2239,2240,5,46,0,0,2240,2241,5,77, -0,0,2241,2242,5,101,0,0,2242,2243,5,116,0,0,2243,2244,5,104,0,0,2244,2245, -5,111,0,0,2245,2246,5,100,0,0,2246,2247,5,115,0,0,2247,2248,5,46,0,0,2248, -2249,5,80,0,0,2249,2250,5,65,0,0,2250,2251,5,84,0,0,2251,2252,5,67,0,0,2252, -2253,5,72,0,0,2253,389,1,0,0,0,2254,2255,5,82,0,0,2255,2256,5,69,0,0,2256, -2257,5,83,0,0,2257,2258,5,84,0,0,2258,2259,5,46,0,0,2259,2260,5,77,0,0,2260, -2261,5,101,0,0,2261,2262,5,116,0,0,2262,2263,5,104,0,0,2263,2264,5,111,0, -0,2264,2265,5,100,0,0,2265,2266,5,115,0,0,2266,2267,5,46,0,0,2267,2268,5, -68,0,0,2268,2269,5,69,0,0,2269,2270,5,76,0,0,2270,2271,5,69,0,0,2271,2272, -5,84,0,0,2272,2273,5,69,0,0,2273,391,1,0,0,0,2274,2275,5,82,0,0,2275,2276, -5,69,0,0,2276,2277,5,83,0,0,2277,2278,5,84,0,0,2278,2279,5,46,0,0,2279,2280, -5,77,0,0,2280,2281,5,101,0,0,2281,2282,5,116,0,0,2282,2283,5,104,0,0,2283, -2284,5,111,0,0,2284,2285,5,100,0,0,2285,2286,5,115,0,0,2286,2287,5,46,0, -0,2287,2288,5,79,0,0,2288,2289,5,80,0,0,2289,2290,5,84,0,0,2290,2291,5,73, -0,0,2291,2292,5,79,0,0,2292,2293,5,78,0,0,2293,2294,5,83,0,0,2294,393,1, -0,0,0,2295,2296,5,111,0,0,2296,2297,5,112,0,0,2297,2298,5,101,0,0,2298,2299, -5,114,0,0,2299,2300,5,97,0,0,2300,2301,5,116,0,0,2301,2302,5,105,0,0,2302, -2303,5,111,0,0,2303,2304,5,110,0,0,2304,395,1,0,0,0,2305,2306,5,105,0,0, -2306,2307,5,110,0,0,2307,2308,5,112,0,0,2308,2309,5,117,0,0,2309,2310,5, -116,0,0,2310,397,1,0,0,0,2311,2312,5,71,0,0,2312,2313,5,114,0,0,2313,2314, -5,97,0,0,2314,2315,5,112,0,0,2315,2316,5,104,0,0,2316,2317,5,81,0,0,2317, -2318,5,76,0,0,2318,2319,5,46,0,0,2319,2320,5,79,0,0,2320,2321,5,112,0,0, -2321,2322,5,101,0,0,2322,2323,5,114,0,0,2323,2324,5,97,0,0,2324,2325,5,116, -0,0,2325,2326,5,105,0,0,2326,2327,5,111,0,0,2327,2328,5,110,0,0,2328,2329, -5,115,0,0,2329,2330,5,46,0,0,2330,2331,5,77,0,0,2331,2332,5,117,0,0,2332, -2333,5,116,0,0,2333,2334,5,97,0,0,2334,2335,5,116,0,0,2335,2336,5,105,0, -0,2336,2337,5,111,0,0,2337,2338,5,110,0,0,2338,399,1,0,0,0,2339,2340,5,71, -0,0,2340,2341,5,114,0,0,2341,2342,5,97,0,0,2342,2343,5,112,0,0,2343,2344, -5,104,0,0,2344,2345,5,81,0,0,2345,2346,5,76,0,0,2346,2347,5,46,0,0,2347, -2348,5,79,0,0,2348,2349,5,112,0,0,2349,2350,5,101,0,0,2350,2351,5,114,0, -0,2351,2352,5,97,0,0,2352,2353,5,116,0,0,2353,2354,5,105,0,0,2354,2355,5, -111,0,0,2355,2356,5,110,0,0,2356,2357,5,115,0,0,2357,2358,5,46,0,0,2358, -2359,5,81,0,0,2359,2360,5,117,0,0,2360,2361,5,101,0,0,2361,2362,5,114,0, -0,2362,2363,5,121,0,0,2363,401,1,0,0,0,2364,2365,5,71,0,0,2365,2366,5,114, -0,0,2366,2367,5,97,0,0,2367,2368,5,112,0,0,2368,2369,5,104,0,0,2369,2370, -5,81,0,0,2370,2371,5,76,0,0,2371,2372,5,46,0,0,2372,2373,5,79,0,0,2373,2374, -5,112,0,0,2374,2375,5,101,0,0,2375,2376,5,114,0,0,2376,2377,5,97,0,0,2377, -2378,5,116,0,0,2378,2379,5,105,0,0,2379,2380,5,111,0,0,2380,2381,5,110,0, -0,2381,2382,5,115,0,0,2382,2383,5,46,0,0,2383,2384,5,83,0,0,2384,2385,5, -117,0,0,2385,2386,5,98,0,0,2386,2387,5,115,0,0,2387,2388,5,99,0,0,2388,2389, -5,114,0,0,2389,2390,5,105,0,0,2390,2391,5,112,0,0,2391,2392,5,116,0,0,2392, -2393,5,105,0,0,2393,2394,5,111,0,0,2394,2395,5,110,0,0,2395,403,1,0,0,0, -2396,2397,5,69,0,0,2397,2398,5,114,0,0,2398,2399,5,114,0,0,2399,2400,5,111, -0,0,2400,2401,5,114,0,0,2401,405,1,0,0,0,2402,2406,3,494,246,0,2403,2405, -3,490,244,0,2404,2403,1,0,0,0,2405,2408,1,0,0,0,2406,2404,1,0,0,0,2406,2407, -1,0,0,0,2407,2409,1,0,0,0,2408,2406,1,0,0,0,2409,2410,3,204,101,0,2410,407, -1,0,0,0,2411,2415,3,494,246,0,2412,2414,3,490,244,0,2413,2412,1,0,0,0,2414, -2417,1,0,0,0,2415,2413,1,0,0,0,2415,2416,1,0,0,0,2416,2418,1,0,0,0,2417, -2415,1,0,0,0,2418,2419,3,244,121,0,2419,409,1,0,0,0,2420,2424,3,494,246, -0,2421,2423,3,490,244,0,2422,2421,1,0,0,0,2423,2426,1,0,0,0,2424,2422,1, -0,0,0,2424,2425,1,0,0,0,2425,2427,1,0,0,0,2426,2424,1,0,0,0,2427,2428,3, -218,108,0,2428,411,1,0,0,0,2429,2432,3,232,115,0,2430,2432,3,234,116,0,2431, -2429,1,0,0,0,2431,2430,1,0,0,0,2432,2433,1,0,0,0,2433,2434,3,34,16,0,2434, -2438,3,494,246,0,2435,2437,3,490,244,0,2436,2435,1,0,0,0,2437,2440,1,0,0, -0,2438,2436,1,0,0,0,2438,2439,1,0,0,0,2439,413,1,0,0,0,2440,2438,1,0,0,0, -2441,2445,3,494,246,0,2442,2444,3,490,244,0,2443,2442,1,0,0,0,2444,2447, -1,0,0,0,2445,2443,1,0,0,0,2445,2446,1,0,0,0,2446,2448,1,0,0,0,2447,2445, -1,0,0,0,2448,2449,5,67,0,0,2449,2450,5,111,0,0,2450,2451,5,110,0,0,2451, -2452,5,116,0,0,2452,2453,5,114,0,0,2453,2454,5,111,0,0,2454,2455,5,108,0, -0,2455,2456,5,108,0,0,2456,2457,5,101,0,0,2457,2458,5,114,0,0,2458,415,1, -0,0,0,2459,2463,3,494,246,0,2460,2462,3,490,244,0,2461,2460,1,0,0,0,2462, -2465,1,0,0,0,2463,2461,1,0,0,0,2463,2464,1,0,0,0,2464,2466,1,0,0,0,2465, -2463,1,0,0,0,2466,2467,3,212,105,0,2467,417,1,0,0,0,2468,2472,3,494,246, -0,2469,2471,3,490,244,0,2470,2469,1,0,0,0,2471,2474,1,0,0,0,2472,2470,1, -0,0,0,2472,2473,1,0,0,0,2473,2475,1,0,0,0,2474,2472,1,0,0,0,2475,2476,3, -242,120,0,2476,419,1,0,0,0,2477,2481,3,494,246,0,2478,2480,3,490,244,0,2479, -2478,1,0,0,0,2480,2483,1,0,0,0,2481,2479,1,0,0,0,2481,2482,1,0,0,0,2482, -2484,1,0,0,0,2483,2481,1,0,0,0,2484,2485,3,200,99,0,2485,421,1,0,0,0,2486, -2490,3,494,246,0,2487,2489,3,490,244,0,2488,2487,1,0,0,0,2489,2492,1,0,0, -0,2490,2488,1,0,0,0,2490,2491,1,0,0,0,2491,2493,1,0,0,0,2492,2490,1,0,0, -0,2493,2494,3,202,100,0,2494,423,1,0,0,0,2495,2499,3,494,246,0,2496,2498, -3,490,244,0,2497,2496,1,0,0,0,2498,2501,1,0,0,0,2499,2497,1,0,0,0,2499,2500, -1,0,0,0,2500,2502,1,0,0,0,2501,2499,1,0,0,0,2502,2503,3,246,122,0,2503,425, -1,0,0,0,2504,2508,3,494,246,0,2505,2507,3,490,244,0,2506,2505,1,0,0,0,2507, -2510,1,0,0,0,2508,2506,1,0,0,0,2508,2509,1,0,0,0,2509,2511,1,0,0,0,2510, -2508,1,0,0,0,2511,2512,3,198,98,0,2512,427,1,0,0,0,2513,2517,3,494,246,0, -2514,2516,3,490,244,0,2515,2514,1,0,0,0,2516,2519,1,0,0,0,2517,2515,1,0, -0,0,2517,2518,1,0,0,0,2518,2520,1,0,0,0,2519,2517,1,0,0,0,2520,2521,5,69, -0,0,2521,2522,5,114,0,0,2522,2523,5,114,0,0,2523,2524,5,111,0,0,2524,2525, -5,114,0,0,2525,429,1,0,0,0,2526,2530,3,494,246,0,2527,2529,3,490,244,0,2528, -2527,1,0,0,0,2529,2532,1,0,0,0,2530,2528,1,0,0,0,2530,2531,1,0,0,0,2531, -2533,1,0,0,0,2532,2530,1,0,0,0,2533,2534,3,244,121,0,2534,431,1,0,0,0,2535, -2539,3,494,246,0,2536,2538,3,490,244,0,2537,2536,1,0,0,0,2538,2541,1,0,0, -0,2539,2537,1,0,0,0,2539,2540,1,0,0,0,2540,433,1,0,0,0,2541,2539,1,0,0,0, -2542,2546,3,492,245,0,2543,2545,3,490,244,0,2544,2543,1,0,0,0,2545,2548, -1,0,0,0,2546,2544,1,0,0,0,2546,2547,1,0,0,0,2547,435,1,0,0,0,2548,2546,1, -0,0,0,2549,2553,5,34,0,0,2550,2552,3,458,228,0,2551,2550,1,0,0,0,2552,2555, -1,0,0,0,2553,2551,1,0,0,0,2553,2554,1,0,0,0,2554,2556,1,0,0,0,2555,2553, -1,0,0,0,2556,2566,5,34,0,0,2557,2561,5,39,0,0,2558,2560,3,460,229,0,2559, -2558,1,0,0,0,2560,2563,1,0,0,0,2561,2559,1,0,0,0,2561,2562,1,0,0,0,2562, -2564,1,0,0,0,2563,2561,1,0,0,0,2564,2566,5,39,0,0,2565,2549,1,0,0,0,2565, -2557,1,0,0,0,2566,437,1,0,0,0,2567,2568,5,96,0,0,2568,2569,6,218,4,0,2569, -2570,1,0,0,0,2570,2571,6,218,5,0,2571,439,1,0,0,0,2572,2574,7,7,0,0,2573, -2572,1,0,0,0,2574,2575,1,0,0,0,2575,2573,1,0,0,0,2575,2576,1,0,0,0,2576, -2577,1,0,0,0,2577,2578,6,219,0,0,2578,441,1,0,0,0,2579,2580,7,0,0,0,2580, -2581,1,0,0,0,2581,2582,6,220,0,0,2582,443,1,0,0,0,2583,2584,5,60,0,0,2584, -2585,5,33,0,0,2585,2586,5,45,0,0,2586,2587,5,45,0,0,2587,2591,1,0,0,0,2588, -2590,9,0,0,0,2589,2588,1,0,0,0,2590,2593,1,0,0,0,2591,2592,1,0,0,0,2591, -2589,1,0,0,0,2592,2594,1,0,0,0,2593,2591,1,0,0,0,2594,2595,5,45,0,0,2595, -2596,5,45,0,0,2596,2597,5,62,0,0,2597,2598,1,0,0,0,2598,2599,6,221,0,0,2599, -445,1,0,0,0,2600,2601,5,60,0,0,2601,2602,5,33,0,0,2602,2603,5,91,0,0,2603, -2604,5,67,0,0,2604,2605,5,68,0,0,2605,2606,5,65,0,0,2606,2607,5,84,0,0,2607, -2608,5,65,0,0,2608,2609,5,91,0,0,2609,2613,1,0,0,0,2610,2612,9,0,0,0,2611, -2610,1,0,0,0,2612,2615,1,0,0,0,2613,2614,1,0,0,0,2613,2611,1,0,0,0,2614, -2616,1,0,0,0,2615,2613,1,0,0,0,2616,2617,5,93,0,0,2617,2618,5,93,0,0,2618, -2619,5,62,0,0,2619,2620,1,0,0,0,2620,2621,6,222,0,0,2621,447,1,0,0,0,2622, -2623,9,0,0,0,2623,2624,1,0,0,0,2624,2625,6,223,6,0,2625,449,1,0,0,0,2626, -2627,5,96,0,0,2627,2628,6,224,7,0,2628,2629,1,0,0,0,2629,2630,6,224,8,0, -2630,2631,6,224,2,0,2631,451,1,0,0,0,2632,2633,5,36,0,0,2633,2634,5,123, -0,0,2634,2635,1,0,0,0,2635,2636,6,225,9,0,2636,453,1,0,0,0,2637,2638,8,8, -0,0,2638,455,1,0,0,0,2639,2641,7,9,0,0,2640,2639,1,0,0,0,2641,2642,1,0,0, -0,2642,2640,1,0,0,0,2642,2643,1,0,0,0,2643,2644,1,0,0,0,2644,2645,6,227, -10,0,2645,457,1,0,0,0,2646,2651,8,10,0,0,2647,2648,5,92,0,0,2648,2651,3, -462,230,0,2649,2651,3,478,238,0,2650,2646,1,0,0,0,2650,2647,1,0,0,0,2650, -2649,1,0,0,0,2651,459,1,0,0,0,2652,2657,8,11,0,0,2653,2654,5,92,0,0,2654, -2657,3,462,230,0,2655,2657,3,478,238,0,2656,2652,1,0,0,0,2656,2653,1,0,0, -0,2656,2655,1,0,0,0,2657,461,1,0,0,0,2658,2664,3,464,231,0,2659,2664,5,48, -0,0,2660,2664,3,466,232,0,2661,2664,3,468,233,0,2662,2664,3,470,234,0,2663, -2658,1,0,0,0,2663,2659,1,0,0,0,2663,2660,1,0,0,0,2663,2661,1,0,0,0,2663, -2662,1,0,0,0,2664,463,1,0,0,0,2665,2668,3,472,235,0,2666,2668,3,474,236, -0,2667,2665,1,0,0,0,2667,2666,1,0,0,0,2668,465,1,0,0,0,2669,2670,5,120,0, -0,2670,2671,3,480,239,0,2671,2672,3,480,239,0,2672,467,1,0,0,0,2673,2674, -5,117,0,0,2674,2675,3,480,239,0,2675,2676,3,480,239,0,2676,2677,3,480,239, -0,2677,2678,3,480,239,0,2678,469,1,0,0,0,2679,2680,5,117,0,0,2680,2682,5, -123,0,0,2681,2683,3,480,239,0,2682,2681,1,0,0,0,2683,2684,1,0,0,0,2684,2682, -1,0,0,0,2684,2685,1,0,0,0,2685,2686,1,0,0,0,2686,2687,5,125,0,0,2687,471, -1,0,0,0,2688,2689,7,12,0,0,2689,473,1,0,0,0,2690,2691,8,13,0,0,2691,475, -1,0,0,0,2692,2695,3,472,235,0,2693,2695,7,14,0,0,2694,2692,1,0,0,0,2694, -2693,1,0,0,0,2695,477,1,0,0,0,2696,2697,5,92,0,0,2697,2698,7,0,0,0,2698, -479,1,0,0,0,2699,2700,7,15,0,0,2700,481,1,0,0,0,2701,2710,5,48,0,0,2702, -2706,7,16,0,0,2703,2705,7,1,0,0,2704,2703,1,0,0,0,2705,2708,1,0,0,0,2706, -2704,1,0,0,0,2706,2707,1,0,0,0,2707,2710,1,0,0,0,2708,2706,1,0,0,0,2709, -2701,1,0,0,0,2709,2702,1,0,0,0,2710,483,1,0,0,0,2711,2713,7,17,0,0,2712, -2714,7,18,0,0,2713,2712,1,0,0,0,2713,2714,1,0,0,0,2714,2716,1,0,0,0,2715, -2717,7,1,0,0,2716,2715,1,0,0,0,2717,2718,1,0,0,0,2718,2716,1,0,0,0,2718, -2719,1,0,0,0,2719,485,1,0,0,0,2720,2724,7,19,0,0,2721,2723,7,20,0,0,2722, -2721,1,0,0,0,2723,2726,1,0,0,0,2724,2722,1,0,0,0,2724,2725,1,0,0,0,2725, -487,1,0,0,0,2726,2724,1,0,0,0,2727,2731,7,21,0,0,2728,2729,5,92,0,0,2729, -2731,3,468,233,0,2730,2727,1,0,0,0,2730,2728,1,0,0,0,2731,489,1,0,0,0,2732, -2735,3,492,245,0,2733,2735,7,22,0,0,2734,2732,1,0,0,0,2734,2733,1,0,0,0, -2735,491,1,0,0,0,2736,2740,7,21,0,0,2737,2738,5,92,0,0,2738,2740,3,468,233, -0,2739,2736,1,0,0,0,2739,2737,1,0,0,0,2740,493,1,0,0,0,2741,2742,7,23,0, -0,2742,495,1,0,0,0,2743,2754,8,24,0,0,2744,2754,3,502,250,0,2745,2749,5, -91,0,0,2746,2748,3,500,249,0,2747,2746,1,0,0,0,2748,2751,1,0,0,0,2749,2747, -1,0,0,0,2749,2750,1,0,0,0,2750,2752,1,0,0,0,2751,2749,1,0,0,0,2752,2754, -5,93,0,0,2753,2743,1,0,0,0,2753,2744,1,0,0,0,2753,2745,1,0,0,0,2754,497, -1,0,0,0,2755,2766,8,25,0,0,2756,2766,3,502,250,0,2757,2761,5,91,0,0,2758, -2760,3,500,249,0,2759,2758,1,0,0,0,2760,2763,1,0,0,0,2761,2759,1,0,0,0,2761, -2762,1,0,0,0,2762,2764,1,0,0,0,2763,2761,1,0,0,0,2764,2766,5,93,0,0,2765, -2755,1,0,0,0,2765,2756,1,0,0,0,2765,2757,1,0,0,0,2766,499,1,0,0,0,2767,2770, -8,26,0,0,2768,2770,3,502,250,0,2769,2767,1,0,0,0,2769,2768,1,0,0,0,2770, -501,1,0,0,0,2771,2772,5,92,0,0,2772,2773,8,0,0,0,2773,503,1,0,0,0,61,0,1, -510,524,534,542,707,710,719,723,726,732,735,739,741,748,754,761,768,2406, -2415,2424,2431,2438,2445,2463,2472,2481,2490,2499,2508,2517,2530,2539,2546, -2553,2561,2565,2575,2591,2613,2642,2650,2656,2663,2667,2684,2694,2706,2709, -2713,2718,2724,2730,2734,2739,2749,2753,2761,2765,2769,11,0,1,0,1,7,0,4, -0,0,1,9,1,1,218,2,5,1,0,0,2,0,1,224,3,7,219,0,5,0,0,6,0,0]; - - -const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); - -const decisionsToDFA = atn.decisionToState.map( (ds, index) => new antlr4.dfa.DFA(ds, index) ); - -export default class BitloopsLexer extends BitloopsLexerBase { - - static grammarFileName = "BitloopsLexer.g4"; - static channelNames = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN", "ERROR" ]; - static modeNames = [ "DEFAULT_MODE", "TEMPLATE" ]; - static literalNames = [ null, null, null, null, "'['", "']'", "'('", "')'", - "'{'", null, "'}'", "';'", "','", "'='", "'?'", - "':'", "'...'", "'.'", "'++'", "'--'", "'+'", "'-'", - "'~'", "'NOT'", "'*'", "'/'", "'%'", "'>>'", "'<<'", - "'>>>'", "'<'", "'>'", "'<='", "'>='", "'=='", - "'!='", "'==='", "'!=='", "'&'", "'^'", "'|'", - "'AND'", "'OR'", "'XOR'", "'*='", "'/='", "'%='", - "'+='", "'-='", "'<<='", "'>>='", "'>>>='", "'&='", - "'^='", "'|='", "'=>'", "'null'", null, null, null, - null, null, null, null, "'optional'", "'break'", - "'do'", "'instanceof'", "'typeof'", "'case'", "'else'", - "'new'", "'var'", "'catch'", "'finally'", "'return'", - "'void'", "'continue'", "'for'", "'switch'", "'while'", - "'debugger'", "'function'", "'this'", "'with'", - "'default'", "'if'", "'throw'", "'delete'", "'in'", - "'try'", "'as'", "'from'", "'readonly'", "'async'", - "'throws'", "'applyRules'", "'extends'", "'const'", - "'RepoPort'", "'Props'", "'ReadModel'", "'DTO'", - "'RESTController'", "'GraphQLController'", "'GRPCController'", - "'UseCase'", "'ValueObject'", "'AggregateRoot'", - "'Entity'", "'DomainEvent'", "'Service'", "'Repository'", - "'Factory'", "'DomainError'", "'ApplicationError'", - "'DomainErrors'", "'ApplicationErrors'", "'OK'", - "'Errors'", "'Config'", "'PackagePort'", "'VO'", - "'Rule'", "'isBrokenIf'", "'Root'", "'constructor'", - "'let'", "'private'", "'public'", "'protected'", - "'static'", "'any'", "'double'", "'float'", "'int32'", - "'int64'", "'uint32'", "'uint64'", "'sint32'", - "'sint64'", "'fixed32'", "'fixed64'", "'sfixed32'", - "'sfixed64'", "'bool'", "'string'", "'bytes'", - "'timestamp'", "'Struct'", "'type'", "'get'", "'set'", - "'execute'", "'create'", "'namespace'", "'declare'", - "'JestTest'", "'JestTestStatement'", "'JestTestStatementList'", - "'JestTestFunctionBody'", "'JestTestExecute'", - "'JestTestStructEvaluation'", "'JestTestDTOEvaluation'", - "'JestTestEvaluation'", "'JestTestReturnOkErrorType'", - "'JestTestExpression'", "'JestTestConstDeclaration'", - "'JestTestMethodDefinitionList'", "'JestTestCreateMethodDeclaration'", - "'JestTestPrivateMethodDeclaration'", "'JestTestPublicMethodDeclaration'", - "'JestTestValueObjectDeclaration'", "'JestTestEntityDeclaration'", - "'JestTestCondition'", "'JestTestVariableDeclaration'", - "'JestTestThisDeclaration'", "'JestTestIsInstanceOf'", - "'JestTestValueObjectEvaluation'", "'JestTestEntityEvaluation'", - "'JestTestSingleExpression'", "'JestTestGetClass'", - "'JestTestBuiltInFunction'", "'JestTestBuiltInClass'", - "'JestTestBitloopsPrimaryType'", "'UUIDv4'", "'is'", - "'getClass'", "'toString'", "'@'", "'method'", - "'REST.Methods.GET'", "'REST.Methods.POST'", "'REST.Methods.PUT'", - "'REST.Methods.PATCH'", "'REST.Methods.DELETE'", - "'REST.Methods.OPTIONS'", "'operation'", "'input'", - "'GraphQL.Operations.Mutation'", "'GraphQL.Operations.Query'", - "'GraphQL.Operations.Subscription'", "'Error'", - null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, - null, null, null, null, null, null, "'${'" ]; - static symbolicNames = [ null, "MultiLineComment", "SingleLineComment", - "RegularExpressionLiteral", "OpenBracket", "CloseBracket", - "OpenParen", "CloseParen", "OpenBrace", "TemplateCloseBrace", - "CloseBrace", "SemiColon", "Comma", "Assign", - "QuestionMark", "Colon", "Ellipsis", "Dot", "PlusPlus", - "MinusMinus", "Plus", "Minus", "BitNot", "Not", - "Multiply", "Divide", "Modulus", "RightShiftArithmetic", - "LeftShiftArithmetic", "RightShiftLogical", "LessThan", - "MoreThan", "LessThanEquals", "GreaterThanEquals", - "Equals_", "NotEquals", "IdentityEquals", "IdentityNotEquals", - "BitAnd", "BitXOr", "BitOr", "And", "Or", "Xor", - "MultiplyAssign", "DivideAssign", "ModulusAssign", - "PlusAssign", "MinusAssign", "LeftShiftArithmeticAssign", - "RightShiftArithmeticAssign", "RightShiftLogicalAssign", - "BitAndAssign", "BitXorAssign", "BitOrAssign", - "ARROW", "NullLiteral", "BooleanLiteral", "IntegerLiteral", - "DecimalLiteral", "HexIntegerLiteral", "OctalIntegerLiteral", - "OctalIntegerLiteral2", "BinaryIntegerLiteral", - "Optional", "Break", "Do", "Instanceof", "Typeof", - "Case", "Else", "New", "Var", "Catch", "Finally", - "Return", "Void", "Continue", "For", "Switch", - "While", "Debugger", "Function_", "This", "With", - "Default", "If", "Throw", "Delete", "In", "Try", - "As", "From", "ReadOnly", "Async", "Throws", "ApplyRules", - "Extends", "Const", "RepoPort", "Props", "ReadModel", - "DTO", "RESTController", "GraphQLController", - "GRPCController", "UseCase", "ValueObject", "AggregateRoot", - "Entity", "DomainEvent", "Service", "Repository", - "Factory", "DomainError", "ApplicationError", - "DomainErrors", "ApplicationErrors", "OK", "Errors", - "Config", "PackagePort", "VO", "Rule", "IsBrokenIf", - "Root", "Constructor", "Let", "Private", "Public", - "Protected", "Static", "Any", "Double", "Float", - "Int32", "Int64", "Uint32", "Uint64", "Sint32", - "Sint64", "Fixed32", "Fixed64", "Sfixed32", "Sfixed64", - "Boolean", "String", "Bytes", "Timestamp", "Struct", - "TypeAlias", "Get", "Set", "Execute", "Create", - "Namespace", "Declare", "JestTest", "JestTestStatement", - "JestTestStatementList", "JestTestFunctionBody", - "JestTestExecute", "JestTestStructEvaluation", - "JestTestDTOEvaluation", "JestTestEvaluation", - "JestTestReturnOkErrorType", "JestTestExpression", - "JestTestConstDeclaration", "JestTestMethodDefinitionList", - "JestTestCreateMethodDeclaration", "JestTestPrivateMethodDeclaration", - "JestTestPublicMethodDeclaration", "JestTestValueObjectDeclaration", - "JestTestEntityDeclaration", "JestTestCondition", - "JestTestVariableDeclaration", "JestTestThisDeclaration", - "JestTestIsInstanceOf", "JestTestValueObjectEvaluation", - "JestTestEntityEvaluation", "JestTestSingleExpression", - "JestTestGetClass", "JestTestBuiltInFunction", - "JestTestBuiltInClass", "JestTestBitloopsPrimaryType", - "UUIDv4", "Is", "GetClass", "ToString", "At", - "Method", "MethodGet", "MethodPost", "MethodPut", - "MethodPatch", "MethodDelete", "MethodOptions", - "GraphQLOperation", "Input", "OperationMutation", - "OperationQuery", "OperationSubscription", "ErrorClass", - "DTOIdentifier", "ValueObjectIdentifier", "EntityIdentifier", - "ErrorIdentifier", "ControllerIdentifier", "UseCaseIdentifier", - "PackagePortIdentifier", "PropsIdentifier", "ReadModelIdentifier", - "RuleIdentifier", "RepoPortIdentifier", "DomainErrorIdentifier", - "ValueObjectEvaluationIdentifier", "UpperCaseIdentifier", - "Identifier", "StringLiteral", "BackTick", "WhiteSpaces", - "LineTerminator", "HtmlComment", "CDataComment", - "UnexpectedCharacter", "TemplateStringStartExpression", - "TemplateStringAtom", "WS" ]; - static ruleNames = [ "MultiLineComment", "SingleLineComment", "RegularExpressionLiteral", - "OpenBracket", "CloseBracket", "OpenParen", "CloseParen", - "OpenBrace", "TemplateCloseBrace", "CloseBrace", "SemiColon", - "Comma", "Assign", "QuestionMark", "Colon", "Ellipsis", - "Dot", "PlusPlus", "MinusMinus", "Plus", "Minus", - "BitNot", "Not", "Multiply", "Divide", "Modulus", - "RightShiftArithmetic", "LeftShiftArithmetic", "RightShiftLogical", - "LessThan", "MoreThan", "LessThanEquals", "GreaterThanEquals", - "Equals_", "NotEquals", "IdentityEquals", "IdentityNotEquals", - "BitAnd", "BitXOr", "BitOr", "And", "Or", "Xor", "MultiplyAssign", - "DivideAssign", "ModulusAssign", "PlusAssign", "MinusAssign", - "LeftShiftArithmeticAssign", "RightShiftArithmeticAssign", - "RightShiftLogicalAssign", "BitAndAssign", "BitXorAssign", - "BitOrAssign", "ARROW", "NullLiteral", "BooleanLiteral", - "IntegerLiteral", "DecimalLiteral", "HexIntegerLiteral", - "OctalIntegerLiteral", "OctalIntegerLiteral2", "BinaryIntegerLiteral", - "Optional", "Break", "Do", "Instanceof", "Typeof", - "Case", "Else", "New", "Var", "Catch", "Finally", - "Return", "Void", "Continue", "For", "Switch", "While", - "Debugger", "Function_", "This", "With", "Default", - "If", "Throw", "Delete", "In", "Try", "As", "From", - "ReadOnly", "Async", "Throws", "ApplyRules", "Extends", - "Const", "RepoPort", "Props", "ReadModel", "DTO", - "RESTController", "GraphQLController", "GRPCController", - "UseCase", "ValueObject", "AggregateRoot", "Entity", - "DomainEvent", "Service", "Repository", "Factory", - "DomainError", "ApplicationError", "DomainErrors", - "ApplicationErrors", "OK", "Errors", "Config", "PackagePort", - "VO", "Rule", "IsBrokenIf", "Root", "Constructor", - "Let", "Private", "Public", "Protected", "Static", - "Any", "Double", "Float", "Int32", "Int64", "Uint32", - "Uint64", "Sint32", "Sint64", "Fixed32", "Fixed64", - "Sfixed32", "Sfixed64", "Boolean", "String", "Bytes", - "Timestamp", "Struct", "TypeAlias", "Get", "Set", - "Execute", "Create", "Namespace", "Declare", "JestTest", - "JestTestStatement", "JestTestStatementList", "JestTestFunctionBody", - "JestTestExecute", "JestTestStructEvaluation", "JestTestDTOEvaluation", - "JestTestEvaluation", "JestTestReturnOkErrorType", - "JestTestExpression", "JestTestConstDeclaration", - "JestTestMethodDefinitionList", "JestTestCreateMethodDeclaration", - "JestTestPrivateMethodDeclaration", "JestTestPublicMethodDeclaration", - "JestTestValueObjectDeclaration", "JestTestEntityDeclaration", - "JestTestCondition", "JestTestVariableDeclaration", - "JestTestThisDeclaration", "JestTestIsInstanceOf", - "JestTestValueObjectEvaluation", "JestTestEntityEvaluation", - "JestTestSingleExpression", "JestTestGetClass", "JestTestBuiltInFunction", - "JestTestBuiltInClass", "JestTestBitloopsPrimaryType", - "UUIDv4", "Is", "GetClass", "ToString", "At", "Method", - "MethodGet", "MethodPost", "MethodPut", "MethodPatch", - "MethodDelete", "MethodOptions", "GraphQLOperation", - "Input", "OperationMutation", "OperationQuery", "OperationSubscription", - "ErrorClass", "DTOIdentifier", "ValueObjectIdentifier", - "EntityIdentifier", "ErrorIdentifier", "ControllerIdentifier", - "UseCaseIdentifier", "PackagePortIdentifier", "PropsIdentifier", - "ReadModelIdentifier", "RuleIdentifier", "RepoPortIdentifier", - "DomainErrorIdentifier", "ValueObjectEvaluationIdentifier", - "UpperCaseIdentifier", "Identifier", "StringLiteral", - "BackTick", "WhiteSpaces", "LineTerminator", "HtmlComment", - "CDataComment", "UnexpectedCharacter", "BackTickInside", - "TemplateStringStartExpression", "TemplateStringAtom", - "WS", "DoubleStringCharacter", "SingleStringCharacter", - "EscapeSequence", "CharacterEscapeSequence", "HexEscapeSequence", - "UnicodeEscapeSequence", "ExtendedUnicodeEscapeSequence", - "SingleEscapeCharacter", "NonEscapeCharacter", "EscapeCharacter", - "LineContinuation", "HexDigit", "DecimalIntegerLiteral", - "ExponentPart", "RegularEvaluationPart", "RegularEvaluationStart", - "IdentifierPart", "IdentifierStart", "UpperCaseStart", - "RegularExpressionFirstChar", "RegularExpressionChar", - "RegularExpressionClassChar", "RegularExpressionBackslashSequence" ]; - - constructor(input) { - super(input) - this._interp = new antlr4.atn.LexerATNSimulator(this, atn, decisionsToDFA, new antlr4.PredictionContextCache()); - } - - get atn() { - return atn; - } -} - -BitloopsLexer.EOF = antlr4.Token.EOF; -BitloopsLexer.MultiLineComment = 1; -BitloopsLexer.SingleLineComment = 2; -BitloopsLexer.RegularExpressionLiteral = 3; -BitloopsLexer.OpenBracket = 4; -BitloopsLexer.CloseBracket = 5; -BitloopsLexer.OpenParen = 6; -BitloopsLexer.CloseParen = 7; -BitloopsLexer.OpenBrace = 8; -BitloopsLexer.TemplateCloseBrace = 9; -BitloopsLexer.CloseBrace = 10; -BitloopsLexer.SemiColon = 11; -BitloopsLexer.Comma = 12; -BitloopsLexer.Assign = 13; -BitloopsLexer.QuestionMark = 14; -BitloopsLexer.Colon = 15; -BitloopsLexer.Ellipsis = 16; -BitloopsLexer.Dot = 17; -BitloopsLexer.PlusPlus = 18; -BitloopsLexer.MinusMinus = 19; -BitloopsLexer.Plus = 20; -BitloopsLexer.Minus = 21; -BitloopsLexer.BitNot = 22; -BitloopsLexer.Not = 23; -BitloopsLexer.Multiply = 24; -BitloopsLexer.Divide = 25; -BitloopsLexer.Modulus = 26; -BitloopsLexer.RightShiftArithmetic = 27; -BitloopsLexer.LeftShiftArithmetic = 28; -BitloopsLexer.RightShiftLogical = 29; -BitloopsLexer.LessThan = 30; -BitloopsLexer.MoreThan = 31; -BitloopsLexer.LessThanEquals = 32; -BitloopsLexer.GreaterThanEquals = 33; -BitloopsLexer.Equals_ = 34; -BitloopsLexer.NotEquals = 35; -BitloopsLexer.IdentityEquals = 36; -BitloopsLexer.IdentityNotEquals = 37; -BitloopsLexer.BitAnd = 38; -BitloopsLexer.BitXOr = 39; -BitloopsLexer.BitOr = 40; -BitloopsLexer.And = 41; -BitloopsLexer.Or = 42; -BitloopsLexer.Xor = 43; -BitloopsLexer.MultiplyAssign = 44; -BitloopsLexer.DivideAssign = 45; -BitloopsLexer.ModulusAssign = 46; -BitloopsLexer.PlusAssign = 47; -BitloopsLexer.MinusAssign = 48; -BitloopsLexer.LeftShiftArithmeticAssign = 49; -BitloopsLexer.RightShiftArithmeticAssign = 50; -BitloopsLexer.RightShiftLogicalAssign = 51; -BitloopsLexer.BitAndAssign = 52; -BitloopsLexer.BitXorAssign = 53; -BitloopsLexer.BitOrAssign = 54; -BitloopsLexer.ARROW = 55; -BitloopsLexer.NullLiteral = 56; -BitloopsLexer.BooleanLiteral = 57; -BitloopsLexer.IntegerLiteral = 58; -BitloopsLexer.DecimalLiteral = 59; -BitloopsLexer.HexIntegerLiteral = 60; -BitloopsLexer.OctalIntegerLiteral = 61; -BitloopsLexer.OctalIntegerLiteral2 = 62; -BitloopsLexer.BinaryIntegerLiteral = 63; -BitloopsLexer.Optional = 64; -BitloopsLexer.Break = 65; -BitloopsLexer.Do = 66; -BitloopsLexer.Instanceof = 67; -BitloopsLexer.Typeof = 68; -BitloopsLexer.Case = 69; -BitloopsLexer.Else = 70; -BitloopsLexer.New = 71; -BitloopsLexer.Var = 72; -BitloopsLexer.Catch = 73; -BitloopsLexer.Finally = 74; -BitloopsLexer.Return = 75; -BitloopsLexer.Void = 76; -BitloopsLexer.Continue = 77; -BitloopsLexer.For = 78; -BitloopsLexer.Switch = 79; -BitloopsLexer.While = 80; -BitloopsLexer.Debugger = 81; -BitloopsLexer.Function_ = 82; -BitloopsLexer.This = 83; -BitloopsLexer.With = 84; -BitloopsLexer.Default = 85; -BitloopsLexer.If = 86; -BitloopsLexer.Throw = 87; -BitloopsLexer.Delete = 88; -BitloopsLexer.In = 89; -BitloopsLexer.Try = 90; -BitloopsLexer.As = 91; -BitloopsLexer.From = 92; -BitloopsLexer.ReadOnly = 93; -BitloopsLexer.Async = 94; -BitloopsLexer.Throws = 95; -BitloopsLexer.ApplyRules = 96; -BitloopsLexer.Extends = 97; -BitloopsLexer.Const = 98; -BitloopsLexer.RepoPort = 99; -BitloopsLexer.Props = 100; -BitloopsLexer.ReadModel = 101; -BitloopsLexer.DTO = 102; -BitloopsLexer.RESTController = 103; -BitloopsLexer.GraphQLController = 104; -BitloopsLexer.GRPCController = 105; -BitloopsLexer.UseCase = 106; -BitloopsLexer.ValueObject = 107; -BitloopsLexer.AggregateRoot = 108; -BitloopsLexer.Entity = 109; -BitloopsLexer.DomainEvent = 110; -BitloopsLexer.Service = 111; -BitloopsLexer.Repository = 112; -BitloopsLexer.Factory = 113; -BitloopsLexer.DomainError = 114; -BitloopsLexer.ApplicationError = 115; -BitloopsLexer.DomainErrors = 116; -BitloopsLexer.ApplicationErrors = 117; -BitloopsLexer.OK = 118; -BitloopsLexer.Errors = 119; -BitloopsLexer.Config = 120; -BitloopsLexer.PackagePort = 121; -BitloopsLexer.VO = 122; -BitloopsLexer.Rule = 123; -BitloopsLexer.IsBrokenIf = 124; -BitloopsLexer.Root = 125; -BitloopsLexer.Constructor = 126; -BitloopsLexer.Let = 127; -BitloopsLexer.Private = 128; -BitloopsLexer.Public = 129; -BitloopsLexer.Protected = 130; -BitloopsLexer.Static = 131; -BitloopsLexer.Any = 132; -BitloopsLexer.Double = 133; -BitloopsLexer.Float = 134; -BitloopsLexer.Int32 = 135; -BitloopsLexer.Int64 = 136; -BitloopsLexer.Uint32 = 137; -BitloopsLexer.Uint64 = 138; -BitloopsLexer.Sint32 = 139; -BitloopsLexer.Sint64 = 140; -BitloopsLexer.Fixed32 = 141; -BitloopsLexer.Fixed64 = 142; -BitloopsLexer.Sfixed32 = 143; -BitloopsLexer.Sfixed64 = 144; -BitloopsLexer.Boolean = 145; -BitloopsLexer.String = 146; -BitloopsLexer.Bytes = 147; -BitloopsLexer.Timestamp = 148; -BitloopsLexer.Struct = 149; -BitloopsLexer.TypeAlias = 150; -BitloopsLexer.Get = 151; -BitloopsLexer.Set = 152; -BitloopsLexer.Execute = 153; -BitloopsLexer.Create = 154; -BitloopsLexer.Namespace = 155; -BitloopsLexer.Declare = 156; -BitloopsLexer.JestTest = 157; -BitloopsLexer.JestTestStatement = 158; -BitloopsLexer.JestTestStatementList = 159; -BitloopsLexer.JestTestFunctionBody = 160; -BitloopsLexer.JestTestExecute = 161; -BitloopsLexer.JestTestStructEvaluation = 162; -BitloopsLexer.JestTestDTOEvaluation = 163; -BitloopsLexer.JestTestEvaluation = 164; -BitloopsLexer.JestTestReturnOkErrorType = 165; -BitloopsLexer.JestTestExpression = 166; -BitloopsLexer.JestTestConstDeclaration = 167; -BitloopsLexer.JestTestMethodDefinitionList = 168; -BitloopsLexer.JestTestCreateMethodDeclaration = 169; -BitloopsLexer.JestTestPrivateMethodDeclaration = 170; -BitloopsLexer.JestTestPublicMethodDeclaration = 171; -BitloopsLexer.JestTestValueObjectDeclaration = 172; -BitloopsLexer.JestTestEntityDeclaration = 173; -BitloopsLexer.JestTestCondition = 174; -BitloopsLexer.JestTestVariableDeclaration = 175; -BitloopsLexer.JestTestThisDeclaration = 176; -BitloopsLexer.JestTestIsInstanceOf = 177; -BitloopsLexer.JestTestValueObjectEvaluation = 178; -BitloopsLexer.JestTestEntityEvaluation = 179; -BitloopsLexer.JestTestSingleExpression = 180; -BitloopsLexer.JestTestGetClass = 181; -BitloopsLexer.JestTestBuiltInFunction = 182; -BitloopsLexer.JestTestBuiltInClass = 183; -BitloopsLexer.JestTestBitloopsPrimaryType = 184; -BitloopsLexer.UUIDv4 = 185; -BitloopsLexer.Is = 186; -BitloopsLexer.GetClass = 187; -BitloopsLexer.ToString = 188; -BitloopsLexer.At = 189; -BitloopsLexer.Method = 190; -BitloopsLexer.MethodGet = 191; -BitloopsLexer.MethodPost = 192; -BitloopsLexer.MethodPut = 193; -BitloopsLexer.MethodPatch = 194; -BitloopsLexer.MethodDelete = 195; -BitloopsLexer.MethodOptions = 196; -BitloopsLexer.GraphQLOperation = 197; -BitloopsLexer.Input = 198; -BitloopsLexer.OperationMutation = 199; -BitloopsLexer.OperationQuery = 200; -BitloopsLexer.OperationSubscription = 201; -BitloopsLexer.ErrorClass = 202; -BitloopsLexer.DTOIdentifier = 203; -BitloopsLexer.ValueObjectIdentifier = 204; -BitloopsLexer.EntityIdentifier = 205; -BitloopsLexer.ErrorIdentifier = 206; -BitloopsLexer.ControllerIdentifier = 207; -BitloopsLexer.UseCaseIdentifier = 208; -BitloopsLexer.PackagePortIdentifier = 209; -BitloopsLexer.PropsIdentifier = 210; -BitloopsLexer.ReadModelIdentifier = 211; -BitloopsLexer.RuleIdentifier = 212; -BitloopsLexer.RepoPortIdentifier = 213; -BitloopsLexer.DomainErrorIdentifier = 214; -BitloopsLexer.ValueObjectEvaluationIdentifier = 215; -BitloopsLexer.UpperCaseIdentifier = 216; -BitloopsLexer.Identifier = 217; -BitloopsLexer.StringLiteral = 218; -BitloopsLexer.BackTick = 219; -BitloopsLexer.WhiteSpaces = 220; -BitloopsLexer.LineTerminator = 221; -BitloopsLexer.HtmlComment = 222; -BitloopsLexer.CDataComment = 223; -BitloopsLexer.UnexpectedCharacter = 224; -BitloopsLexer.TemplateStringStartExpression = 225; -BitloopsLexer.TemplateStringAtom = 226; -BitloopsLexer.WS = 227; - -BitloopsLexer.ERROR = 2; - -BitloopsLexer.TEMPLATE = 1; - - -BitloopsLexer.prototype.action = function(localctx, ruleIndex, actionIndex) { - switch (ruleIndex) { - case 7: - this.OpenBrace_action(localctx, actionIndex); - break; - case 9: - this.CloseBrace_action(localctx, actionIndex); - break; - case 218: - this.BackTick_action(localctx, actionIndex); - break; - case 224: - this.BackTickInside_action(localctx, actionIndex); - break; - default: - throw "No registered action for:" + ruleIndex; - } -}; - - -BitloopsLexer.prototype.OpenBrace_action = function(localctx , actionIndex) { - switch (actionIndex) { - case 0: - this.ProcessOpenBrace(); - break; - default: - throw "No registered action for:" + actionIndex; - } -}; - -BitloopsLexer.prototype.CloseBrace_action = function(localctx , actionIndex) { - switch (actionIndex) { - case 1: - this.ProcessCloseBrace(); - break; - default: - throw "No registered action for:" + actionIndex; - } -}; - -BitloopsLexer.prototype.BackTick_action = function(localctx , actionIndex) { - switch (actionIndex) { - case 2: - this.IncreaseTemplateDepth(); - break; - default: - throw "No registered action for:" + actionIndex; - } -}; - -BitloopsLexer.prototype.BackTickInside_action = function(localctx , actionIndex) { - switch (actionIndex) { - case 3: - this.DecreaseTemplateDepth(); - break; - default: - throw "No registered action for:" + actionIndex; - } -}; -BitloopsLexer.prototype.sempred = function(localctx, ruleIndex, predIndex) { - switch (ruleIndex) { - case 2: - return this.RegularExpressionLiteral_sempred(localctx, predIndex); - case 8: - return this.TemplateCloseBrace_sempred(localctx, predIndex); - default: - throw "No registered predicate for:" + ruleIndex; - } -}; - -BitloopsLexer.prototype.RegularExpressionLiteral_sempred = function(localctx, predIndex) { - switch(predIndex) { - case 0: - return this.IsRegexPossible(); - default: - throw "No predicate with index:" + predIndex; - } -}; - -BitloopsLexer.prototype.TemplateCloseBrace_sempred = function(localctx, predIndex) { - switch(predIndex) { - case 1: - return this.IsInTemplateString(); - default: - throw "No predicate with index:" + predIndex; - } -}; - - - - diff --git a/server/src/parser/grammar/BitloopsLexer.tokens b/server/src/parser/grammar/BitloopsLexer.tokens deleted file mode 100644 index 44df91e..0000000 --- a/server/src/parser/grammar/BitloopsLexer.tokens +++ /dev/null @@ -1,419 +0,0 @@ -MultiLineComment=1 -SingleLineComment=2 -RegularExpressionLiteral=3 -OpenBracket=4 -CloseBracket=5 -OpenParen=6 -CloseParen=7 -OpenBrace=8 -TemplateCloseBrace=9 -CloseBrace=10 -SemiColon=11 -Comma=12 -Assign=13 -QuestionMark=14 -Colon=15 -Ellipsis=16 -Dot=17 -PlusPlus=18 -MinusMinus=19 -Plus=20 -Minus=21 -BitNot=22 -Not=23 -Multiply=24 -Divide=25 -Modulus=26 -RightShiftArithmetic=27 -LeftShiftArithmetic=28 -RightShiftLogical=29 -LessThan=30 -MoreThan=31 -LessThanEquals=32 -GreaterThanEquals=33 -Equals_=34 -NotEquals=35 -IdentityEquals=36 -IdentityNotEquals=37 -BitAnd=38 -BitXOr=39 -BitOr=40 -And=41 -Or=42 -Xor=43 -MultiplyAssign=44 -DivideAssign=45 -ModulusAssign=46 -PlusAssign=47 -MinusAssign=48 -LeftShiftArithmeticAssign=49 -RightShiftArithmeticAssign=50 -RightShiftLogicalAssign=51 -BitAndAssign=52 -BitXorAssign=53 -BitOrAssign=54 -ARROW=55 -NullLiteral=56 -BooleanLiteral=57 -IntegerLiteral=58 -DecimalLiteral=59 -HexIntegerLiteral=60 -OctalIntegerLiteral=61 -OctalIntegerLiteral2=62 -BinaryIntegerLiteral=63 -Optional=64 -Break=65 -Do=66 -Instanceof=67 -Typeof=68 -Case=69 -Else=70 -New=71 -Var=72 -Catch=73 -Finally=74 -Return=75 -Void=76 -Continue=77 -For=78 -Switch=79 -While=80 -Debugger=81 -Function_=82 -This=83 -With=84 -Default=85 -If=86 -Throw=87 -Delete=88 -In=89 -Try=90 -As=91 -From=92 -ReadOnly=93 -Async=94 -Throws=95 -ApplyRules=96 -Extends=97 -Const=98 -RepoPort=99 -Props=100 -ReadModel=101 -DTO=102 -RESTController=103 -GraphQLController=104 -GRPCController=105 -UseCase=106 -ValueObject=107 -AggregateRoot=108 -Entity=109 -DomainEvent=110 -Service=111 -Repository=112 -Factory=113 -DomainError=114 -ApplicationError=115 -DomainErrors=116 -ApplicationErrors=117 -OK=118 -Errors=119 -Config=120 -PackagePort=121 -VO=122 -Rule=123 -IsBrokenIf=124 -Root=125 -Constructor=126 -Let=127 -Private=128 -Public=129 -Protected=130 -Static=131 -Any=132 -Double=133 -Float=134 -Int32=135 -Int64=136 -Uint32=137 -Uint64=138 -Sint32=139 -Sint64=140 -Fixed32=141 -Fixed64=142 -Sfixed32=143 -Sfixed64=144 -Boolean=145 -String=146 -Bytes=147 -Timestamp=148 -Struct=149 -TypeAlias=150 -Get=151 -Set=152 -Execute=153 -Create=154 -Namespace=155 -Declare=156 -JestTest=157 -JestTestStatement=158 -JestTestStatementList=159 -JestTestFunctionBody=160 -JestTestExecute=161 -JestTestStructEvaluation=162 -JestTestDTOEvaluation=163 -JestTestEvaluation=164 -JestTestReturnOkErrorType=165 -JestTestExpression=166 -JestTestConstDeclaration=167 -JestTestMethodDefinitionList=168 -JestTestCreateMethodDeclaration=169 -JestTestPrivateMethodDeclaration=170 -JestTestPublicMethodDeclaration=171 -JestTestValueObjectDeclaration=172 -JestTestEntityDeclaration=173 -JestTestCondition=174 -JestTestVariableDeclaration=175 -JestTestThisDeclaration=176 -JestTestIsInstanceOf=177 -JestTestValueObjectEvaluation=178 -JestTestEntityEvaluation=179 -JestTestSingleExpression=180 -JestTestGetClass=181 -JestTestBuiltInFunction=182 -JestTestBuiltInClass=183 -JestTestBitloopsPrimaryType=184 -UUIDv4=185 -Is=186 -GetClass=187 -ToString=188 -At=189 -Method=190 -MethodGet=191 -MethodPost=192 -MethodPut=193 -MethodPatch=194 -MethodDelete=195 -MethodOptions=196 -GraphQLOperation=197 -Input=198 -OperationMutation=199 -OperationQuery=200 -OperationSubscription=201 -ErrorClass=202 -DTOIdentifier=203 -ValueObjectIdentifier=204 -EntityIdentifier=205 -ErrorIdentifier=206 -ControllerIdentifier=207 -UseCaseIdentifier=208 -PackagePortIdentifier=209 -PropsIdentifier=210 -ReadModelIdentifier=211 -RuleIdentifier=212 -RepoPortIdentifier=213 -DomainErrorIdentifier=214 -ValueObjectEvaluationIdentifier=215 -UpperCaseIdentifier=216 -Identifier=217 -StringLiteral=218 -BackTick=219 -WhiteSpaces=220 -LineTerminator=221 -HtmlComment=222 -CDataComment=223 -UnexpectedCharacter=224 -TemplateStringStartExpression=225 -TemplateStringAtom=226 -WS=227 -'['=4 -']'=5 -'('=6 -')'=7 -'{'=8 -'}'=10 -';'=11 -','=12 -'='=13 -'?'=14 -':'=15 -'...'=16 -'.'=17 -'++'=18 -'--'=19 -'+'=20 -'-'=21 -'~'=22 -'NOT'=23 -'*'=24 -'/'=25 -'%'=26 -'>>'=27 -'<<'=28 -'>>>'=29 -'<'=30 -'>'=31 -'<='=32 -'>='=33 -'=='=34 -'!='=35 -'==='=36 -'!=='=37 -'&'=38 -'^'=39 -'|'=40 -'AND'=41 -'OR'=42 -'XOR'=43 -'*='=44 -'/='=45 -'%='=46 -'+='=47 -'-='=48 -'<<='=49 -'>>='=50 -'>>>='=51 -'&='=52 -'^='=53 -'|='=54 -'=>'=55 -'null'=56 -'optional'=64 -'break'=65 -'do'=66 -'instanceof'=67 -'typeof'=68 -'case'=69 -'else'=70 -'new'=71 -'var'=72 -'catch'=73 -'finally'=74 -'return'=75 -'void'=76 -'continue'=77 -'for'=78 -'switch'=79 -'while'=80 -'debugger'=81 -'function'=82 -'this'=83 -'with'=84 -'default'=85 -'if'=86 -'throw'=87 -'delete'=88 -'in'=89 -'try'=90 -'as'=91 -'from'=92 -'readonly'=93 -'async'=94 -'throws'=95 -'applyRules'=96 -'extends'=97 -'const'=98 -'RepoPort'=99 -'Props'=100 -'ReadModel'=101 -'DTO'=102 -'RESTController'=103 -'GraphQLController'=104 -'GRPCController'=105 -'UseCase'=106 -'ValueObject'=107 -'AggregateRoot'=108 -'Entity'=109 -'DomainEvent'=110 -'Service'=111 -'Repository'=112 -'Factory'=113 -'DomainError'=114 -'ApplicationError'=115 -'DomainErrors'=116 -'ApplicationErrors'=117 -'OK'=118 -'Errors'=119 -'Config'=120 -'PackagePort'=121 -'VO'=122 -'Rule'=123 -'isBrokenIf'=124 -'Root'=125 -'constructor'=126 -'let'=127 -'private'=128 -'public'=129 -'protected'=130 -'static'=131 -'any'=132 -'double'=133 -'float'=134 -'int32'=135 -'int64'=136 -'uint32'=137 -'uint64'=138 -'sint32'=139 -'sint64'=140 -'fixed32'=141 -'fixed64'=142 -'sfixed32'=143 -'sfixed64'=144 -'bool'=145 -'string'=146 -'bytes'=147 -'timestamp'=148 -'Struct'=149 -'type'=150 -'get'=151 -'set'=152 -'execute'=153 -'create'=154 -'namespace'=155 -'declare'=156 -'JestTest'=157 -'JestTestStatement'=158 -'JestTestStatementList'=159 -'JestTestFunctionBody'=160 -'JestTestExecute'=161 -'JestTestStructEvaluation'=162 -'JestTestDTOEvaluation'=163 -'JestTestEvaluation'=164 -'JestTestReturnOkErrorType'=165 -'JestTestExpression'=166 -'JestTestConstDeclaration'=167 -'JestTestMethodDefinitionList'=168 -'JestTestCreateMethodDeclaration'=169 -'JestTestPrivateMethodDeclaration'=170 -'JestTestPublicMethodDeclaration'=171 -'JestTestValueObjectDeclaration'=172 -'JestTestEntityDeclaration'=173 -'JestTestCondition'=174 -'JestTestVariableDeclaration'=175 -'JestTestThisDeclaration'=176 -'JestTestIsInstanceOf'=177 -'JestTestValueObjectEvaluation'=178 -'JestTestEntityEvaluation'=179 -'JestTestSingleExpression'=180 -'JestTestGetClass'=181 -'JestTestBuiltInFunction'=182 -'JestTestBuiltInClass'=183 -'JestTestBitloopsPrimaryType'=184 -'UUIDv4'=185 -'is'=186 -'getClass'=187 -'toString'=188 -'@'=189 -'method'=190 -'REST.Methods.GET'=191 -'REST.Methods.POST'=192 -'REST.Methods.PUT'=193 -'REST.Methods.PATCH'=194 -'REST.Methods.DELETE'=195 -'REST.Methods.OPTIONS'=196 -'operation'=197 -'input'=198 -'GraphQL.Operations.Mutation'=199 -'GraphQL.Operations.Query'=200 -'GraphQL.Operations.Subscription'=201 -'Error'=202 -'${'=225 diff --git a/server/src/parser/grammar/BitloopsLexerBase.d.ts b/server/src/parser/grammar/BitloopsLexerBase.d.ts deleted file mode 100644 index cabe1e8..0000000 --- a/server/src/parser/grammar/BitloopsLexerBase.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -export default class JavaScriptLexerBase extends antlr4.Lexer { - constructor(input: any); - scopeStrictModes: any[]; - lastToken: antlr4.Token; - useStrictDefault: boolean; - useStrictCurrent: boolean; - templateDepth: number; - getStrictDefault(): boolean; - setUseStrictDefault(value: any): void; - IsStrictMode(): boolean; - IsInTemplateString(): boolean; - getCurrentToken(): antlr4.Token; - ProcessOpenBrace(): void; - ProcessCloseBrace(): void; - ProcessStringLiteral(): void; - IncreaseTemplateDepth(): void; - DecreaseTemplateDepth(): void; - IsRegexPossible(): boolean; - IsStartOfFile(): boolean; -} -import antlr4 from 'antlr4'; diff --git a/server/src/parser/grammar/BitloopsLexerBase.js b/server/src/parser/grammar/BitloopsLexerBase.js deleted file mode 100644 index a0d40b1..0000000 --- a/server/src/parser/grammar/BitloopsLexerBase.js +++ /dev/null @@ -1,104 +0,0 @@ -import antlr4 from 'antlr4'; -import BitloopsLexer from './BitloopsLexer.js'; - -export default class JavaScriptLexerBase extends antlr4.Lexer { - constructor(input) { - super(input); - this.scopeStrictModes = new Array(); - this.lastToken = null; - this.useStrictDefault = false; - this.useStrictCurrent = false; - this.templateDepth = 0; - } - - getStrictDefault() { - return this.useStrictDefault; - } - - setUseStrictDefault(value) { - this.useStrictDefault = value; - this.useStrictCurrent = value; - } - - IsStrictMode() { - return this.useStrictCurrent; - } - - IsInTemplateString() { - return this.templateDepth > 0; - } - - getCurrentToken() { - return this.nextToken(); - } - - nextToken() { - var next = super.nextToken(); - - if (next.channel === antlr4.Token.DEFAULT_CHANNEL) { - this.lastToken = next; - } - return next; - } - - ProcessOpenBrace() { - this.useStrictCurrent = - this.scopeStrictModes.length > 0 && this.scopeStrictModes[this.scopeStrictModes.length - 1] - ? true - : this.useStrictDefault; - this.scopeStrictModes.push(this.useStrictCurrent); - } - - ProcessCloseBrace() { - this.useStrictCurrent = - this.scopeStrictModes.length > 0 ? this.scopeStrictModes.pop() : this.useStrictDefault; - } - - ProcessStringLiteral() { - if (this.lastToken === null || this.lastToken.type === BitloopsLexer.OpenBrace) { - if (super.text === '"use strict"' || super.text === "'use strict'") { - if (this.scopeStrictModes.length > 0) { - this.scopeStrictModes.pop(); - } - this.useStrictCurrent = true; - this.scopeStrictModes.push(this.useStrictCurrent); - } - } - } - - IncreaseTemplateDepth() { - this.templateDepth++; - } - - DecreaseTemplateDepth() { - this.templateDepth--; - } - - IsRegexPossible() { - if (this.lastToken === null) { - return true; - } - - switch (this.lastToken.type) { - case BitloopsLexer.Identifier: - case BitloopsLexer.NullLiteral: - case BitloopsLexer.BooleanLiteral: - case BitloopsLexer.This: - case BitloopsLexer.CloseBracket: - case BitloopsLexer.CloseParen: - case BitloopsLexer.OctalIntegerLiteral: - case BitloopsLexer.DecimalLiteral: - case BitloopsLexer.HexIntegerLiteral: - case BitloopsLexer.StringLiteral: - case BitloopsLexer.PlusPlus: - case BitloopsLexer.MinusMinus: - return false; - default: - return true; - } - } - - IsStartOfFile() { - return this.lastToken === null; - } -} diff --git a/server/src/parser/grammar/BitloopsParser.d.ts b/server/src/parser/grammar/BitloopsParser.d.ts deleted file mode 100644 index 7fae547..0000000 --- a/server/src/parser/grammar/BitloopsParser.d.ts +++ /dev/null @@ -1,3815 +0,0 @@ -declare class BitloopsParser extends antlr4.Parser { - static grammarFileName: string; - static literalNames: string[]; - static symbolicNames: string[]; - static ruleNames: string[]; - constructor(input: any); - _interp: antlr4.atn.ParserATNSimulator; - ruleNames: string[]; - literalNames: string[]; - symbolicNames: string[]; - get atn(): antlr4.atn.ATN; - sempred(localctx: any, ruleIndex: any, predIndex: any): boolean; - bitloopsPrimaryType_sempred(localctx: any, predIndex: any): boolean; - decoratorMemberExpression_sempred(localctx: any, predIndex: any): boolean; - expression_sempred(localctx: any, predIndex: any): boolean; - initializer(): InitializerContext; - bindingPattern(): BindingPatternContext; - fieldList(): FieldListContext; - evaluationFieldList(): EvaluationFieldListContext; - evaluationField(): EvaluationFieldContext; - propFields(): PropFieldsContext; - propsIdentifier(): PropsIdentifierContext; - bitloopsIdentifiers(): BitloopsIdentifiersContext; - primitives(): PrimitivesContext; - identifier(): IdentifierContext; - upperCaseIdentifier(): UpperCaseIdentifierContext; - struct(): StructContext; - regularErrorTypeEvaluation(): RegularErrorTypeEvaluationContext; - methodArguments(): MethodArgumentsContext; - openParen(): OpenParenContext; - closeParen(): CloseParenContext; - regularIdentifier(): RegularIdentifierContext; - regularStringEvaluation(): RegularStringEvaluationContext; - regularIntegerEvaluation(): RegularIntegerEvaluationContext; - regularDecimalEvaluation(): RegularDecimalEvaluationContext; - regularBooleanEvaluation(): RegularBooleanEvaluationContext; - regularStructEvaluation(): RegularStructEvaluationContext; - regularDTOEvaluation(): RegularDTOEvaluationContext; - field(): FieldContext; - bitloopsPrimaryType(_p: any): any; - _ctx: any; - bitloopsBuiltInClass(): BitloopsBuiltInClassContext; - predefinedType(): PredefinedTypeContext; - typeName(): TypeNameContext; - methodDefinitionList(): MethodDefinitionListContext; - methodDefinition(): MethodDefinitionContext; - typeQuery(): TypeQueryContext; - typeQueryExpression(): TypeQueryExpressionContext; - typeAnnotation(): TypeAnnotationContext; - parameterList(): ParameterListContext; - requiredParameterList(): RequiredParameterListContext; - parameter(): ParameterContext; - optionalParameter(): OptionalParameterContext; - restParameter(): RestParameterContext; - requiredParameter(): RequiredParameterContext; - accessibilityModifier(): AccessibilityModifierContext; - identifierOrPattern(): IdentifierOrPatternContext; - indexSignature(): IndexSignatureContext; - enumBody(): EnumBodyContext; - enumMemberList(): EnumMemberListContext; - enumMember(): EnumMemberContext; - namespaceDeclaration(): NamespaceDeclarationContext; - namespaceName(): NamespaceNameContext; - importAliasDeclaration(): ImportAliasDeclarationContext; - decoratorList(): DecoratorListContext; - decorator(): DecoratorContext; - decoratorMemberExpression(_p: any): DecoratorMemberExpressionContext; - decoratorCallExpression(): DecoratorCallExpressionContext; - program(): ProgramContext; - sourceElement(): SourceElementContext; - jestTestDeclaration(): JestTestDeclarationContext; - errorEvaluation(): ErrorEvaluationContext; - evaluation(): EvaluationContext; - condition(): ConditionContext; - returnStatement(): ReturnStatementContext; - constDeclaration(): ConstDeclarationContext; - variableDeclaration(): VariableDeclarationContext; - statement(): StatementContext; - builtInFunction(): BuiltInFunctionContext; - applyRuleStatementRulesList(): ApplyRuleStatementRulesListContext; - applyRulesRule(): ApplyRulesRuleContext; - block(): BlockContext; - statementList(): StatementListContext; - fromBlock(): FromBlockContext; - multipleImportStatement(): MultipleImportStatementContext; - variableDeclarationList(): VariableDeclarationListContext; - emptyStatement_(): EmptyStatement_Context; - expressionStatement(): ExpressionStatementContext; - ifStatement(): IfStatementContext; - iterationStatement(): IterationStatementContext; - varModifier(): VarModifierContext; - continueStatement(): ContinueStatementContext; - breakStatement(): BreakStatementContext; - withStatement(): WithStatementContext; - switchStatement(): SwitchStatementContext; - caseBlock(): CaseBlockContext; - caseClauses(): CaseClausesContext; - caseClause(): CaseClauseContext; - defaultClause(): DefaultClauseContext; - labelledStatement(): LabelledStatementContext; - throwStatement(): ThrowStatementContext; - tryStatement(): TryStatementContext; - catchProduction(): CatchProductionContext; - finallyProduction(): FinallyProductionContext; - debuggerStatement(): DebuggerStatementContext; - domainFieldDeclaration(): DomainFieldDeclarationContext; - isBrokenStatement(): IsBrokenStatementContext; - domainRuleBody(): DomainRuleBodyContext; - domainRuleDeclaration(): DomainRuleDeclarationContext; - aggregateDeclaration(): AggregateDeclarationContext; - domainConstDeclaration(): DomainConstDeclarationContext; - entityDeclaration(): EntityDeclarationContext; - entityBody(): EntityBodyContext; - valueObjectDeclaration(): ValueObjectDeclarationContext; - domainConstDeclarationList(): DomainConstDeclarationListContext; - publicMethodDeclarationList(): PublicMethodDeclarationListContext; - privateMethodDeclarationList(): PrivateMethodDeclarationListContext; - domainConstructorDeclaration(): DomainConstructorDeclarationContext; - useCaseIdentifier(): UseCaseIdentifierContext; - useCaseDeclaration(): UseCaseDeclarationContext; - propsDeclaration(): PropsDeclarationContext; - readModelDeclaration(): ReadModelDeclarationContext; - repoPortDeclaration(): RepoPortDeclarationContext; - repoPortIdentifier(): RepoPortIdentifierContext; - aggregateRootIdentifier(): AggregateRootIdentifierContext; - repoExtendsList(): RepoExtendsListContext; - repoPortMethodDefinitions(): RepoPortMethodDefinitionsContext; - repoPortExtendableIdentifierList(): RepoPortExtendableIdentifierListContext; - repoPortExtendableIdentifier(): RepoPortExtendableIdentifierContext; - dtoDeclaration(): DtoDeclarationContext; - structDeclaration(): StructDeclarationContext; - dtoEvaluationIdentifier(): DtoEvaluationIdentifierContext; - dtoEvaluation(): DtoEvaluationContext; - valueObjectEvaluation(): ValueObjectEvaluationContext; - domainEvaluationInput(): DomainEvaluationInputContext; - entityEvaluation(): EntityEvaluationContext; - structEvaluationIdentifier(): StructEvaluationIdentifierContext; - structEvaluation(): StructEvaluationContext; - builtInClassEvaluation(): BuiltInClassEvaluationContext; - propsEvaluation(): PropsEvaluationContext; - domainErrorDeclaration(): DomainErrorDeclarationContext; - applicationErrorDeclaration(): ApplicationErrorDeclarationContext; - domainErrorIdentifier(): DomainErrorIdentifierContext; - applicationErrorIdentifier(): ApplicationErrorIdentifierContext; - useCaseExecuteDeclaration(): UseCaseExecuteDeclarationContext; - restControllerParameters(): RestControllerParametersContext; - restControllerExecuteDeclaration(): RestControllerExecuteDeclarationContext; - restControllerMethodDeclaration(): RestControllerMethodDeclarationContext; - httpMethod(): HttpMethodContext; - controllerDeclaration(): ControllerDeclarationContext; - graphQLResolverOptions(): GraphQLResolverOptionsContext; - graphQLOperationTypeAssignment(): GraphQLOperationTypeAssignmentContext; - graphQLOperationInputTypeAssignment(): GraphQLOperationInputTypeAssignmentContext; - graphQLResolverInputType(): GraphQLResolverInputTypeContext; - graphQLOperation(): GraphQLOperationContext; - graphQLControllerExecuteDeclaration(): GraphQLControllerExecuteDeclarationContext; - graphQLControllerParameters(): GraphQLControllerParametersContext; - graphQLControllerReturnType(): GraphQLControllerReturnTypeContext; - dtoIdentifier(): DtoIdentifierContext; - dtoIdentifiers(): DtoIdentifiersContext; - errorIdentifier(): ErrorIdentifierContext; - errorIdentifiers(): ErrorIdentifiersContext; - valueObjectIdentifier(): ValueObjectIdentifierContext; - entityIdentifier(): EntityIdentifierContext; - domainRuleIdentifier(): DomainRuleIdentifierContext; - returnOkType(): ReturnOkTypeContext; - returnErrorsType(): ReturnErrorsTypeContext; - returnOkErrorType(): ReturnOkErrorTypeContext; - packagePortIdentifier(): PackagePortIdentifierContext; - packagePortDeclaration(): PackagePortDeclarationContext; - methodDeclaration(): MethodDeclarationContext; - privateMethodDeclaration(): PrivateMethodDeclarationContext; - publicMethodDeclaration(): PublicMethodDeclarationContext; - returnPublicMethodType(): ReturnPublicMethodTypeContext; - returnPrivateMethodType(): ReturnPrivateMethodTypeContext; - propertyMemberBase(): PropertyMemberBaseContext; - indexMemberDeclaration(): IndexMemberDeclarationContext; - generatorMethod(): GeneratorMethodContext; - generatorFunctionDeclaration(): GeneratorFunctionDeclarationContext; - generatorBlock(): GeneratorBlockContext; - generatorDefinition(): GeneratorDefinitionContext; - iteratorBlock(): IteratorBlockContext; - iteratorDefinition(): IteratorDefinitionContext; - formalParameterList(): FormalParameterListContext; - formalParameterArg(): FormalParameterArgContext; - lastFormalParameterArg(): LastFormalParameterArgContext; - functionBody(): FunctionBodyContext; - arrayLiteral(): ArrayLiteralContext; - elementList(): ElementListContext; - objectLiteral(): ObjectLiteralContext; - regularVariableEvaluationORliteralORexpression(): RegularVariableEvaluationORliteralORexpressionContext; - propertyAssignment(): PropertyAssignmentContext; - getAccessor(): GetAccessorContext; - setAccessor(): SetAccessorContext; - propertyName(): PropertyNameContext; - arguments(): ArgumentsContext; - argumentList(): ArgumentListContext; - argument(): ArgumentContext; - expressionSequence(): ExpressionSequenceContext; - functionExpressionDeclaration(): FunctionExpressionDeclarationContext; - expression(_p: any): ExpressionContext; - asExpression(): AsExpressionContext; - arrowFunctionDeclaration(): ArrowFunctionDeclarationContext; - arrowFunctionParameters(): ArrowFunctionParametersContext; - arrowFunctionBody(): ArrowFunctionBodyContext; - assignmentOperator(): AssignmentOperatorContext; - literal(): LiteralContext; - templateStringLiteral(): TemplateStringLiteralContext; - templateStringAtom(): TemplateStringAtomContext; - numericLiteral(): NumericLiteralContext; - identifierName(): IdentifierNameContext; - identifierOrKeyWord(): IdentifierOrKeyWordContext; - reservedWord(): ReservedWordContext; - keyword(): KeywordContext; - getter(): GetterContext; - setter(): SetterContext; - eos(): EosContext; - isInstanceOf(): IsInstanceOfContext; - classTypes(): ClassTypesContext; -} -declare namespace BitloopsParser { - export const EOF: -1; - export const MultiLineComment: number; - export const SingleLineComment: number; - export const RegularExpressionLiteral: number; - export const OpenBracket: number; - export const CloseBracket: number; - export const OpenParen: number; - export const CloseParen: number; - export const OpenBrace: number; - export const TemplateCloseBrace: number; - export const CloseBrace: number; - export const SemiColon: number; - export const Comma: number; - export const Assign: number; - export const QuestionMark: number; - export const Colon: number; - export const Ellipsis: number; - export const Dot: number; - export const PlusPlus: number; - export const MinusMinus: number; - export const Plus: number; - export const Minus: number; - export const BitNot: number; - export const Not: number; - export const Multiply: number; - export const Divide: number; - export const Modulus: number; - export const RightShiftArithmetic: number; - export const LeftShiftArithmetic: number; - export const RightShiftLogical: number; - export const LessThan: number; - export const MoreThan: number; - export const LessThanEquals: number; - export const GreaterThanEquals: number; - export const Equals_: number; - export const NotEquals: number; - export const IdentityEquals: number; - export const IdentityNotEquals: number; - export const BitAnd: number; - export const BitXOr: number; - export const BitOr: number; - export const And: number; - export const Or: number; - export const Xor: number; - export const MultiplyAssign: number; - export const DivideAssign: number; - export const ModulusAssign: number; - export const PlusAssign: number; - export const MinusAssign: number; - export const LeftShiftArithmeticAssign: number; - export const RightShiftArithmeticAssign: number; - export const RightShiftLogicalAssign: number; - export const BitAndAssign: number; - export const BitXorAssign: number; - export const BitOrAssign: number; - export const ARROW: number; - export const NullLiteral: number; - export const BooleanLiteral: number; - export const IntegerLiteral: number; - export const DecimalLiteral: number; - export const HexIntegerLiteral: number; - export const OctalIntegerLiteral: number; - export const OctalIntegerLiteral2: number; - export const BinaryIntegerLiteral: number; - export const Optional: number; - export const Break: number; - export const Do: number; - export const Instanceof: number; - export const Typeof: number; - export const Case: number; - export const Else: number; - export const New: number; - export const Var: number; - export const Catch: number; - export const Finally: number; - export const Return: number; - export const Void: number; - export const Continue: number; - export const For: number; - export const Switch: number; - export const While: number; - export const Debugger: number; - export const Function_: number; - export const This: number; - export const With: number; - export const Default: number; - export const If: number; - export const Throw: number; - export const Delete: number; - export const In: number; - export const Try: number; - export const As: number; - export const From: number; - export const ReadOnly: number; - export const Async: number; - export const Throws: number; - export const ApplyRules: number; - export const Extends: number; - export const Const: number; - export const RepoPort: number; - export const Props: number; - export const ReadModel: number; - export const DTO: number; - export const RESTController: number; - export const GraphQLController: number; - export const GRPCController: number; - export const UseCase: number; - export const ValueObject: number; - export const AggregateRoot: number; - export const Entity: number; - export const DomainEvent: number; - export const Service: number; - export const Repository: number; - export const Factory: number; - export const DomainError: number; - export const ApplicationError: number; - export const DomainErrors: number; - export const ApplicationErrors: number; - export const OK: number; - export const Errors: number; - export const Config: number; - export const PackagePort: number; - export const VO: number; - export const Rule: number; - export const IsBrokenIf: number; - export const Root: number; - export const Constructor: number; - export const Let: number; - export const Private: number; - export const Public: number; - export const Protected: number; - export const Static: number; - export const Any: number; - export const Double: number; - export const Float: number; - export const Int32: number; - export const Int64: number; - export const Uint32: number; - export const Uint64: number; - export const Sint32: number; - export const Sint64: number; - export const Fixed32: number; - export const Fixed64: number; - export const Sfixed32: number; - export const Sfixed64: number; - export const Boolean: number; - export const String: number; - export const Bytes: number; - export const Timestamp: number; - export const Struct: number; - export const TypeAlias: number; - export const Get: number; - export const Set: number; - export const Execute: number; - export const Create: number; - export const Namespace: number; - export const Declare: number; - export const JestTest: number; - export const JestTestStatement: number; - export const JestTestStatementList: number; - export const JestTestFunctionBody: number; - export const JestTestExecute: number; - export const JestTestStructEvaluation: number; - export const JestTestDTOEvaluation: number; - export const JestTestEvaluation: number; - export const JestTestReturnOkErrorType: number; - export const JestTestExpression: number; - export const JestTestConstDeclaration: number; - export const JestTestMethodDefinitionList: number; - export const JestTestCreateMethodDeclaration: number; - export const JestTestPrivateMethodDeclaration: number; - export const JestTestPublicMethodDeclaration: number; - export const JestTestValueObjectDeclaration: number; - export const JestTestEntityDeclaration: number; - export const JestTestCondition: number; - export const JestTestVariableDeclaration: number; - export const JestTestThisDeclaration: number; - export const JestTestIsInstanceOf: number; - export const JestTestValueObjectEvaluation: number; - export const JestTestEntityEvaluation: number; - export const JestTestSingleExpression: number; - export const JestTestGetClass: number; - export const JestTestBuiltInFunction: number; - export const JestTestBuiltInClass: number; - export const JestTestBitloopsPrimaryType: number; - export const UUIDv4: number; - export const Is: number; - export const GetClass: number; - export const ToString: number; - export const At: number; - export const Method: number; - export const MethodGet: number; - export const MethodPost: number; - export const MethodPut: number; - export const MethodPatch: number; - export const MethodDelete: number; - export const MethodOptions: number; - export const GraphQLOperation: number; - export const Input: number; - export const OperationMutation: number; - export const OperationQuery: number; - export const OperationSubscription: number; - export const ErrorClass: number; - export const DTOIdentifier: number; - export const ValueObjectIdentifier: number; - export const EntityIdentifier: number; - export const ErrorIdentifier: number; - export const ControllerIdentifier: number; - export const UseCaseIdentifier: number; - export const PackagePortIdentifier: number; - export const PropsIdentifier: number; - export const ReadModelIdentifier: number; - export const RuleIdentifier: number; - export const RepoPortIdentifier: number; - export const DomainErrorIdentifier: number; - export const ValueObjectEvaluationIdentifier: number; - export const UpperCaseIdentifier: number; - export const Identifier: number; - export const StringLiteral: number; - export const BackTick: number; - export const WhiteSpaces: number; - export const LineTerminator: number; - export const HtmlComment: number; - export const CDataComment: number; - export const UnexpectedCharacter: number; - export const TemplateStringStartExpression: number; - export const TemplateStringAtom: number; - export const WS: number; - export const RULE_initializer: number; - export const RULE_bindingPattern: number; - export const RULE_fieldList: number; - export const RULE_evaluationFieldList: number; - export const RULE_evaluationField: number; - export const RULE_propFields: number; - export const RULE_propsIdentifier: number; - export const RULE_bitloopsIdentifiers: number; - export const RULE_primitives: number; - export const RULE_identifier: number; - export const RULE_upperCaseIdentifier: number; - export const RULE_struct: number; - export const RULE_regularErrorTypeEvaluation: number; - export const RULE_methodArguments: number; - export const RULE_openParen: number; - export const RULE_closeParen: number; - export const RULE_regularIdentifier: number; - export const RULE_regularStringEvaluation: number; - export const RULE_regularIntegerEvaluation: number; - export const RULE_regularDecimalEvaluation: number; - export const RULE_regularBooleanEvaluation: number; - export const RULE_regularStructEvaluation: number; - export const RULE_regularDTOEvaluation: number; - export const RULE_field: number; - export const RULE_bitloopsPrimaryType: number; - export const RULE_bitloopsBuiltInClass: number; - export const RULE_predefinedType: number; - export const RULE_typeName: number; - export const RULE_methodDefinitionList: number; - export const RULE_methodDefinition: number; - export const RULE_typeQuery: number; - export const RULE_typeQueryExpression: number; - export const RULE_typeAnnotation: number; - export const RULE_parameterList: number; - export const RULE_requiredParameterList: number; - export const RULE_parameter: number; - export const RULE_optionalParameter: number; - export const RULE_restParameter: number; - export const RULE_requiredParameter: number; - export const RULE_accessibilityModifier: number; - export const RULE_identifierOrPattern: number; - export const RULE_indexSignature: number; - export const RULE_enumBody: number; - export const RULE_enumMemberList: number; - export const RULE_enumMember: number; - export const RULE_namespaceDeclaration: number; - export const RULE_namespaceName: number; - export const RULE_importAliasDeclaration: number; - export const RULE_decoratorList: number; - export const RULE_decorator: number; - export const RULE_decoratorMemberExpression: number; - export const RULE_decoratorCallExpression: number; - export const RULE_program: number; - export const RULE_sourceElement: number; - export const RULE_jestTestDeclaration: number; - export const RULE_errorEvaluation: number; - export const RULE_evaluation: number; - export const RULE_condition: number; - export const RULE_returnStatement: number; - export const RULE_constDeclaration: number; - export const RULE_variableDeclaration: number; - export const RULE_statement: number; - export const RULE_builtInFunction: number; - export const RULE_applyRuleStatementRulesList: number; - export const RULE_applyRulesRule: number; - export const RULE_block: number; - export const RULE_statementList: number; - export const RULE_fromBlock: number; - export const RULE_multipleImportStatement: number; - export const RULE_variableDeclarationList: number; - export const RULE_emptyStatement_: number; - export const RULE_expressionStatement: number; - export const RULE_ifStatement: number; - export const RULE_iterationStatement: number; - export const RULE_varModifier: number; - export const RULE_continueStatement: number; - export const RULE_breakStatement: number; - export const RULE_withStatement: number; - export const RULE_switchStatement: number; - export const RULE_caseBlock: number; - export const RULE_caseClauses: number; - export const RULE_caseClause: number; - export const RULE_defaultClause: number; - export const RULE_labelledStatement: number; - export const RULE_throwStatement: number; - export const RULE_tryStatement: number; - export const RULE_catchProduction: number; - export const RULE_finallyProduction: number; - export const RULE_debuggerStatement: number; - export const RULE_domainFieldDeclaration: number; - export const RULE_isBrokenStatement: number; - export const RULE_domainRuleBody: number; - export const RULE_domainRuleDeclaration: number; - export const RULE_aggregateDeclaration: number; - export const RULE_domainConstDeclaration: number; - export const RULE_entityDeclaration: number; - export const RULE_entityBody: number; - export const RULE_valueObjectDeclaration: number; - export const RULE_domainConstDeclarationList: number; - export const RULE_publicMethodDeclarationList: number; - export const RULE_privateMethodDeclarationList: number; - export const RULE_domainConstructorDeclaration: number; - export const RULE_useCaseIdentifier: number; - export const RULE_useCaseDeclaration: number; - export const RULE_propsDeclaration: number; - export const RULE_readModelDeclaration: number; - export const RULE_repoPortDeclaration: number; - export const RULE_repoPortIdentifier: number; - export const RULE_aggregateRootIdentifier: number; - export const RULE_repoExtendsList: number; - export const RULE_repoPortMethodDefinitions: number; - export const RULE_repoPortExtendableIdentifierList: number; - export const RULE_repoPortExtendableIdentifier: number; - export const RULE_dtoDeclaration: number; - export const RULE_structDeclaration: number; - export const RULE_dtoEvaluationIdentifier: number; - export const RULE_dtoEvaluation: number; - export const RULE_valueObjectEvaluation: number; - export const RULE_domainEvaluationInput: number; - export const RULE_entityEvaluation: number; - export const RULE_structEvaluationIdentifier: number; - export const RULE_structEvaluation: number; - export const RULE_builtInClassEvaluation: number; - export const RULE_propsEvaluation: number; - export const RULE_domainErrorDeclaration: number; - export const RULE_applicationErrorDeclaration: number; - export const RULE_domainErrorIdentifier: number; - export const RULE_applicationErrorIdentifier: number; - export const RULE_useCaseExecuteDeclaration: number; - export const RULE_restControllerParameters: number; - export const RULE_restControllerExecuteDeclaration: number; - export const RULE_restControllerMethodDeclaration: number; - export const RULE_httpMethod: number; - export const RULE_controllerDeclaration: number; - export const RULE_graphQLResolverOptions: number; - export const RULE_graphQLOperationTypeAssignment: number; - export const RULE_graphQLOperationInputTypeAssignment: number; - export const RULE_graphQLResolverInputType: number; - export const RULE_graphQLOperation: number; - export const RULE_graphQLControllerExecuteDeclaration: number; - export const RULE_graphQLControllerParameters: number; - export const RULE_graphQLControllerReturnType: number; - export const RULE_dtoIdentifier: number; - export const RULE_dtoIdentifiers: number; - export const RULE_errorIdentifier: number; - export const RULE_errorIdentifiers: number; - export const RULE_valueObjectIdentifier: number; - export const RULE_entityIdentifier: number; - export const RULE_domainRuleIdentifier: number; - export const RULE_returnOkType: number; - export const RULE_returnErrorsType: number; - export const RULE_returnOkErrorType: number; - export const RULE_packagePortIdentifier: number; - export const RULE_packagePortDeclaration: number; - export const RULE_methodDeclaration: number; - export const RULE_privateMethodDeclaration: number; - export const RULE_publicMethodDeclaration: number; - export const RULE_returnPublicMethodType: number; - export const RULE_returnPrivateMethodType: number; - export const RULE_propertyMemberBase: number; - export const RULE_indexMemberDeclaration: number; - export const RULE_generatorMethod: number; - export const RULE_generatorFunctionDeclaration: number; - export const RULE_generatorBlock: number; - export const RULE_generatorDefinition: number; - export const RULE_iteratorBlock: number; - export const RULE_iteratorDefinition: number; - export const RULE_formalParameterList: number; - export const RULE_formalParameterArg: number; - export const RULE_lastFormalParameterArg: number; - export const RULE_functionBody: number; - export const RULE_arrayLiteral: number; - export const RULE_elementList: number; - export const RULE_objectLiteral: number; - export const RULE_regularVariableEvaluationORliteralORexpression: number; - export const RULE_propertyAssignment: number; - export const RULE_getAccessor: number; - export const RULE_setAccessor: number; - export const RULE_propertyName: number; - export const RULE_arguments: number; - export const RULE_argumentList: number; - export const RULE_argument: number; - export const RULE_expressionSequence: number; - export const RULE_functionExpressionDeclaration: number; - export const RULE_expression: number; - export const RULE_asExpression: number; - export const RULE_arrowFunctionDeclaration: number; - export const RULE_arrowFunctionParameters: number; - export const RULE_arrowFunctionBody: number; - export const RULE_assignmentOperator: number; - export const RULE_literal: number; - export const RULE_templateStringLiteral: number; - export const RULE_templateStringAtom: number; - export const RULE_numericLiteral: number; - export const RULE_identifierName: number; - export const RULE_identifierOrKeyWord: number; - export const RULE_reservedWord: number; - export const RULE_keyword: number; - export const RULE_getter: number; - export const RULE_setter: number; - export const RULE_eos: number; - export const RULE_isInstanceOf: number; - export const RULE_classTypes: number; - export { DeleteKeywordContext }; - export { RegularDTOEvaluationStringContext }; - export { RegularStructEvaluationStringContext }; - export { RegularErrorTypeEvaluationStringContext }; - export { IdentifierStringContext }; - export { ExecuteExpressionContext }; - export { CreateExpressionContext }; - export { PrimitivePrimTypeContext }; - export { ArrayBitloopsPrimTypeContext }; - export { BitloopsBuiltInClassPrimTypeContext }; - export { BitloopsIdentifierPrimTypeContext }; - export { ApplyRulesStatementContext }; - export { DoStatementContext }; - export { ForVarStatementContext }; - export { ForVarInStatementContext }; - export { WhileStatementContext }; - export { ForStatementContext }; - export { ForInStatementContext }; - export { DomainEvaluationInputRegularContext }; - export { DomainEvaluationInputFieldListContext }; - export { RESTControllerDeclarationContext }; - export { GraphQLControllerDeclarationContext }; - export { PublicMethodDeclarationExpressionContext }; - export { PrivateMethodDeclarationExpressionContext }; - export { PropertyExpressionAssignmentContext }; - export { ComputedPropertyExpressionAssignmentContext }; - export { PropertyShorthandContext }; - export { PropertySetterContext }; - export { PropertyGetterContext }; - export { RestParameterInObjectContext }; - export { MethodPropertyContext }; - export { ParenthesizedExpressionContext }; - export { ToStringExpressionContext }; - export { AdditiveExpressionContext }; - export { RelationalExpressionContext }; - export { LogicalAndExpressionContext }; - export { LiteralExpressionContext }; - export { LogicalOrExpressionContext }; - export { ArrayLiteralExpressionContext }; - export { MemberDotExpressionContext }; - export { NotExpressionContext }; - export { EvaluationExpressionContext }; - export { IdentifierExpressionContext }; - export { ThisExpressionContext }; - export { AssignmentExpressionContext }; - export { MethodCallExpressionContext }; - export { LogicalXorExpressionContext }; - export { GetClassExpressionContext }; - export { EqualityExpressionContext }; - export { MultiplicativeExpressionContext }; - export { TemplateStringLiteralLabelContext }; - export { StringLiteralContext }; - export { RegularExpressionLiteralContext }; - export { BooleanLiteralContext }; - export { NumericLiteralLabelContext }; - export { NullLiteralContext }; - export { DecimalLiteralContext }; - export { IntegerLiteralContext }; - export { InitializerContext }; - export { BindingPatternContext }; - export { FieldListContext }; - export { EvaluationFieldListContext }; - export { EvaluationFieldContext }; - export { PropFieldsContext }; - export { PropsIdentifierContext }; - export { BitloopsIdentifiersContext }; - export { PrimitivesContext }; - export { IdentifierContext }; - export { UpperCaseIdentifierContext }; - export { StructContext }; - export { RegularErrorTypeEvaluationContext }; - export { MethodArgumentsContext }; - export { OpenParenContext }; - export { CloseParenContext }; - export { RegularIdentifierContext }; - export { RegularStringEvaluationContext }; - export { RegularIntegerEvaluationContext }; - export { RegularDecimalEvaluationContext }; - export { RegularBooleanEvaluationContext }; - export { RegularStructEvaluationContext }; - export { RegularDTOEvaluationContext }; - export { FieldContext }; - export { BitloopsPrimaryTypeContext }; - export { BitloopsBuiltInClassContext }; - export { PredefinedTypeContext }; - export { TypeNameContext }; - export { MethodDefinitionListContext }; - export { MethodDefinitionContext }; - export { TypeQueryContext }; - export { TypeQueryExpressionContext }; - export { TypeAnnotationContext }; - export { ParameterListContext }; - export { RequiredParameterListContext }; - export { ParameterContext }; - export { OptionalParameterContext }; - export { RestParameterContext }; - export { RequiredParameterContext }; - export { AccessibilityModifierContext }; - export { IdentifierOrPatternContext }; - export { IndexSignatureContext }; - export { EnumBodyContext }; - export { EnumMemberListContext }; - export { EnumMemberContext }; - export { NamespaceDeclarationContext }; - export { NamespaceNameContext }; - export { ImportAliasDeclarationContext }; - export { DecoratorListContext }; - export { DecoratorContext }; - export { DecoratorMemberExpressionContext }; - export { DecoratorCallExpressionContext }; - export { ProgramContext }; - export { SourceElementContext }; - export { JestTestDeclarationContext }; - export { ErrorEvaluationContext }; - export { EvaluationContext }; - export { ConditionContext }; - export { ReturnStatementContext }; - export { ConstDeclarationContext }; - export { VariableDeclarationContext }; - export { StatementContext }; - export { BuiltInFunctionContext }; - export { ApplyRuleStatementRulesListContext }; - export { ApplyRulesRuleContext }; - export { BlockContext }; - export { StatementListContext }; - export { FromBlockContext }; - export { MultipleImportStatementContext }; - export { VariableDeclarationListContext }; - export { EmptyStatement_Context }; - export { ExpressionStatementContext }; - export { IfStatementContext }; - export { IterationStatementContext }; - export { VarModifierContext }; - export { ContinueStatementContext }; - export { BreakStatementContext }; - export { WithStatementContext }; - export { SwitchStatementContext }; - export { CaseBlockContext }; - export { CaseClausesContext }; - export { CaseClauseContext }; - export { DefaultClauseContext }; - export { LabelledStatementContext }; - export { ThrowStatementContext }; - export { TryStatementContext }; - export { CatchProductionContext }; - export { FinallyProductionContext }; - export { DebuggerStatementContext }; - export { DomainFieldDeclarationContext }; - export { IsBrokenStatementContext }; - export { DomainRuleBodyContext }; - export { DomainRuleDeclarationContext }; - export { AggregateDeclarationContext }; - export { DomainConstDeclarationContext }; - export { EntityDeclarationContext }; - export { EntityBodyContext }; - export { ValueObjectDeclarationContext }; - export { DomainConstDeclarationListContext }; - export { PublicMethodDeclarationListContext }; - export { PrivateMethodDeclarationListContext }; - export { DomainConstructorDeclarationContext }; - export { UseCaseIdentifierContext }; - export { UseCaseDeclarationContext }; - export { PropsDeclarationContext }; - export { ReadModelDeclarationContext }; - export { RepoPortDeclarationContext }; - export { RepoPortIdentifierContext }; - export { AggregateRootIdentifierContext }; - export { RepoExtendsListContext }; - export { RepoPortMethodDefinitionsContext }; - export { RepoPortExtendableIdentifierListContext }; - export { RepoPortExtendableIdentifierContext }; - export { DtoDeclarationContext }; - export { StructDeclarationContext }; - export { DtoEvaluationIdentifierContext }; - export { DtoEvaluationContext }; - export { ValueObjectEvaluationContext }; - export { DomainEvaluationInputContext }; - export { EntityEvaluationContext }; - export { StructEvaluationIdentifierContext }; - export { StructEvaluationContext }; - export { BuiltInClassEvaluationContext }; - export { PropsEvaluationContext }; - export { DomainErrorDeclarationContext }; - export { ApplicationErrorDeclarationContext }; - export { DomainErrorIdentifierContext }; - export { ApplicationErrorIdentifierContext }; - export { UseCaseExecuteDeclarationContext }; - export { RestControllerParametersContext }; - export { RestControllerExecuteDeclarationContext }; - export { RestControllerMethodDeclarationContext }; - export { HttpMethodContext }; - export { ControllerDeclarationContext }; - export { GraphQLResolverOptionsContext }; - export { GraphQLOperationTypeAssignmentContext }; - export { GraphQLOperationInputTypeAssignmentContext }; - export { GraphQLResolverInputTypeContext }; - export { GraphQLOperationContext }; - export { GraphQLControllerExecuteDeclarationContext }; - export { GraphQLControllerParametersContext }; - export { GraphQLControllerReturnTypeContext }; - export { DtoIdentifierContext }; - export { DtoIdentifiersContext }; - export { ErrorIdentifierContext }; - export { ErrorIdentifiersContext }; - export { ValueObjectIdentifierContext }; - export { EntityIdentifierContext }; - export { DomainRuleIdentifierContext }; - export { ReturnOkTypeContext }; - export { ReturnErrorsTypeContext }; - export { ReturnOkErrorTypeContext }; - export { PackagePortIdentifierContext }; - export { PackagePortDeclarationContext }; - export { MethodDeclarationContext }; - export { PrivateMethodDeclarationContext }; - export { PublicMethodDeclarationContext }; - export { ReturnPublicMethodTypeContext }; - export { ReturnPrivateMethodTypeContext }; - export { PropertyMemberBaseContext }; - export { IndexMemberDeclarationContext }; - export { GeneratorMethodContext }; - export { GeneratorFunctionDeclarationContext }; - export { GeneratorBlockContext }; - export { GeneratorDefinitionContext }; - export { IteratorBlockContext }; - export { IteratorDefinitionContext }; - export { FormalParameterListContext }; - export { FormalParameterArgContext }; - export { LastFormalParameterArgContext }; - export { FunctionBodyContext }; - export { ArrayLiteralContext }; - export { ElementListContext }; - export { ObjectLiteralContext }; - export { RegularVariableEvaluationORliteralORexpressionContext }; - export { PropertyAssignmentContext }; - export { GetAccessorContext }; - export { SetAccessorContext }; - export { PropertyNameContext }; - export { ArgumentsContext }; - export { ArgumentListContext }; - export { ArgumentContext }; - export { ExpressionSequenceContext }; - export { FunctionExpressionDeclarationContext }; - export { ExpressionContext }; - export { AsExpressionContext }; - export { ArrowFunctionDeclarationContext }; - export { ArrowFunctionParametersContext }; - export { ArrowFunctionBodyContext }; - export { AssignmentOperatorContext }; - export { LiteralContext }; - export { TemplateStringLiteralContext }; - export { TemplateStringAtomContext }; - export { NumericLiteralContext }; - export { IdentifierNameContext }; - export { IdentifierOrKeyWordContext }; - export { ReservedWordContext }; - export { KeywordContext }; - export { GetterContext }; - export { SetterContext }; - export { EosContext }; - export { IsInstanceOfContext }; - export { ClassTypesContext }; -} -export default BitloopsParser; -import antlr4 from 'antlr4'; -declare class InitializerContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Assign(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class BindingPatternContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - arrayLiteral(): antlr4.ParserRuleContext; - objectLiteral(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class FieldListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - field: (i: any) => any; - SemiColon: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class EvaluationFieldListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - evaluationField: (i: any) => any; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class EvaluationFieldContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Identifier(): antlr4.Token; - Colon(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PropFieldsContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenBrace(): antlr4.Token; - CloseBrace(): antlr4.Token; - fieldList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PropsIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - PropsIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class BitloopsIdentifiersContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - UseCaseIdentifier(): antlr4.Token; - dtoIdentifier(): antlr4.ParserRuleContext; - ControllerIdentifier(): antlr4.Token; - ErrorIdentifier(): antlr4.Token; - propsIdentifier(): antlr4.ParserRuleContext; - ValueObjectIdentifier(): antlr4.Token; - EntityIdentifier(): antlr4.Token; - RepoPortIdentifier(): antlr4.Token; - ReadModelIdentifier(): antlr4.Token; - UpperCaseIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PrimitivesContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Any(): antlr4.Token; - Double(): antlr4.Token; - Float(): antlr4.Token; - Int32(): antlr4.Token; - Int64(): antlr4.Token; - Uint32(): antlr4.Token; - Uint64(): antlr4.Token; - Sint32(): antlr4.Token; - Sint64(): antlr4.Token; - Fixed32(): antlr4.Token; - Fixed64(): antlr4.Token; - Sfixed32(): antlr4.Token; - Sfixed64(): antlr4.Token; - Boolean(): antlr4.Token; - String(): antlr4.Token; - Bytes(): antlr4.Token; - Timestamp(): antlr4.Token; - Void(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class IdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Identifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class UpperCaseIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - UpperCaseIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class StructContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - UpperCaseIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RegularErrorTypeEvaluationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - errorIdentifier(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class MethodArgumentsContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenParen(): antlr4.Token; - CloseParen(): antlr4.Token; - argumentList: (i: any) => any; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class OpenParenContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenParen(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class CloseParenContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - CloseParen(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RegularIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - copyFrom(ctx: any): void; -} -declare class RegularStringEvaluationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - StringLiteral(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RegularIntegerEvaluationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - IntegerLiteral(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RegularDecimalEvaluationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - DecimalLiteral(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RegularBooleanEvaluationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - BooleanLiteral(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RegularStructEvaluationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - UpperCaseIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RegularDTOEvaluationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - DTOIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class FieldContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - bitloopsPrimaryType(): antlr4.ParserRuleContext; - identifier(): antlr4.ParserRuleContext; - Optional(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class BitloopsBuiltInClassContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - UUIDv4(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PredefinedTypeContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Any(): antlr4.Token; - Int32(): antlr4.Token; - Boolean(): antlr4.Token; - String(): antlr4.Token; - Struct(): antlr4.Token; - Void(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class TypeNameContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Identifier(): antlr4.Token; - namespaceName(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class MethodDefinitionListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - methodDefinition: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class MethodDefinitionContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - identifier(): antlr4.ParserRuleContext; - typeAnnotation(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class TypeQueryContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Typeof(): antlr4.Token; - typeQueryExpression(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class TypeQueryExpressionContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Identifier(): antlr4.Token; - identifierName: (i: any) => any; - Dot: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class TypeAnnotationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Colon(): antlr4.Token; - bitloopsPrimaryType(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ParameterListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - restParameter(): antlr4.ParserRuleContext; - parameter: (i: any) => any; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RequiredParameterListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - requiredParameter: (i: any) => any; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ParameterContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - requiredParameter(): antlr4.ParserRuleContext; - optionalParameter(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class OptionalParameterContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - identifierOrPattern(): antlr4.ParserRuleContext; - decoratorList(): antlr4.ParserRuleContext; - QuestionMark(): antlr4.Token; - initializer(): antlr4.ParserRuleContext; - accessibilityModifier(): antlr4.ParserRuleContext; - typeAnnotation(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RestParameterContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Ellipsis(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - typeAnnotation(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RequiredParameterContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - identifierOrPattern(): antlr4.ParserRuleContext; - decoratorList(): antlr4.ParserRuleContext; - accessibilityModifier(): antlr4.ParserRuleContext; - typeAnnotation(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class AccessibilityModifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Public(): antlr4.Token; - Private(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class IdentifierOrPatternContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - identifierName(): antlr4.ParserRuleContext; - bindingPattern(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class IndexSignatureContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenBracket(): antlr4.Token; - Identifier(): antlr4.Token; - Colon(): antlr4.Token; - CloseBracket(): antlr4.Token; - typeAnnotation(): antlr4.ParserRuleContext; - Int32(): antlr4.Token; - String(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class EnumBodyContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - enumMemberList(): antlr4.ParserRuleContext; - Comma(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class EnumMemberListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - enumMember: (i: any) => any; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class EnumMemberContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - propertyName(): antlr4.ParserRuleContext; - Assign(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class NamespaceDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Namespace(): antlr4.Token; - namespaceName(): antlr4.ParserRuleContext; - OpenBrace(): antlr4.Token; - CloseBrace(): antlr4.Token; - statementList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class NamespaceNameContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Identifier: (i: any) => any; - Dot: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ImportAliasDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Identifier(): antlr4.Token; - Assign(): antlr4.Token; - namespaceName(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DecoratorListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - decorator: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DecoratorContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - At(): antlr4.Token; - decoratorMemberExpression(): antlr4.ParserRuleContext; - decoratorCallExpression(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DecoratorMemberExpressionContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Identifier(): antlr4.Token; - OpenParen(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - decoratorMemberExpression(): antlr4.ParserRuleContext; - Dot(): antlr4.Token; - identifierName(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DecoratorCallExpressionContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - decoratorMemberExpression(): antlr4.ParserRuleContext; - arguments(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ProgramContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - sourceElement: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class SourceElementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - dtoDeclaration(): antlr4.ParserRuleContext; - domainErrorDeclaration(): antlr4.ParserRuleContext; - applicationErrorDeclaration(): antlr4.ParserRuleContext; - controllerDeclaration(): antlr4.ParserRuleContext; - jestTestDeclaration(): antlr4.ParserRuleContext; - propsDeclaration(): antlr4.ParserRuleContext; - structDeclaration(): antlr4.ParserRuleContext; - useCaseDeclaration(): antlr4.ParserRuleContext; - packagePortDeclaration(): antlr4.ParserRuleContext; - valueObjectDeclaration(): antlr4.ParserRuleContext; - domainRuleDeclaration(): antlr4.ParserRuleContext; - entityDeclaration(): antlr4.ParserRuleContext; - aggregateDeclaration(): antlr4.ParserRuleContext; - repoPortDeclaration(): antlr4.ParserRuleContext; - readModelDeclaration(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class JestTestDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - JestTestFunctionBody(): antlr4.Token; - OpenBrace(): antlr4.Token; - functionBody(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - SemiColon: (i: any) => any; - JestTestStatementList(): antlr4.Token; - statementList(): antlr4.ParserRuleContext; - JestTestStatement(): antlr4.Token; - statement(): antlr4.ParserRuleContext; - JestTestStructEvaluation(): antlr4.Token; - structEvaluation(): antlr4.ParserRuleContext; - JestTestDTOEvaluation(): antlr4.Token; - dtoEvaluation(): antlr4.ParserRuleContext; - JestTestEvaluation(): antlr4.Token; - evaluation(): antlr4.ParserRuleContext; - JestTestIsInstanceOf(): antlr4.Token; - isInstanceOf(): antlr4.ParserRuleContext; - JestTest(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - restControllerParameters(): antlr4.ParserRuleContext; - restControllerExecuteDeclaration(): antlr4.ParserRuleContext; - restControllerMethodDeclaration(): antlr4.ParserRuleContext; - JestTestBuiltInClass(): antlr4.Token; - builtInClassEvaluation(): antlr4.ParserRuleContext; - JestTestReturnOkErrorType(): antlr4.Token; - returnOkErrorType(): antlr4.ParserRuleContext; - JestTestConstDeclaration(): antlr4.Token; - constDeclaration(): antlr4.ParserRuleContext; - JestTestExpression(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - JestTestMethodDefinitionList(): antlr4.Token; - methodDefinitionList(): antlr4.ParserRuleContext; - JestTestCreateMethodDeclaration(): antlr4.Token; - domainConstructorDeclaration(): antlr4.ParserRuleContext; - JestTestPrivateMethodDeclaration(): antlr4.Token; - privateMethodDeclaration(): antlr4.ParserRuleContext; - JestTestPublicMethodDeclaration(): antlr4.Token; - publicMethodDeclaration(): antlr4.ParserRuleContext; - JestTestValueObjectDeclaration(): antlr4.Token; - valueObjectDeclaration(): antlr4.ParserRuleContext; - JestTestEntityDeclaration(): antlr4.Token; - entityDeclaration(): antlr4.ParserRuleContext; - JestTestCondition(): antlr4.Token; - condition(): antlr4.ParserRuleContext; - JestTestVariableDeclaration(): antlr4.Token; - variableDeclaration(): antlr4.ParserRuleContext; - JestTestValueObjectEvaluation(): antlr4.Token; - valueObjectEvaluation(): antlr4.ParserRuleContext; - JestTestEntityEvaluation(): antlr4.Token; - entityEvaluation(): antlr4.ParserRuleContext; - JestTestBuiltInFunction(): antlr4.Token; - builtInFunction(): antlr4.ParserRuleContext; - JestTestBitloopsPrimaryType(): antlr4.Token; - bitloopsPrimaryType(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ErrorEvaluationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - ErrorIdentifier(): antlr4.Token; - methodArguments(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class EvaluationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - isInstanceOf(): antlr4.ParserRuleContext; - builtInClassEvaluation(): antlr4.ParserRuleContext; - errorEvaluation(): antlr4.ParserRuleContext; - dtoEvaluation(): antlr4.ParserRuleContext; - valueObjectEvaluation(): antlr4.ParserRuleContext; - entityEvaluation(): antlr4.ParserRuleContext; - propsEvaluation(): antlr4.ParserRuleContext; - structEvaluation(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ConditionContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - expression(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ReturnStatementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Return(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ConstDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Const(): antlr4.Token; - identifier(): antlr4.ParserRuleContext; - Assign(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - typeAnnotation(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class VariableDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - identifier(): antlr4.ParserRuleContext; - typeAnnotation(): antlr4.ParserRuleContext; - Assign(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class StatementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - block(): antlr4.ParserRuleContext; - expression(): antlr4.ParserRuleContext; - constDeclaration(): antlr4.ParserRuleContext; - variableDeclaration(): antlr4.ParserRuleContext; - emptyStatement_(): antlr4.ParserRuleContext; - propsDeclaration(): antlr4.ParserRuleContext; - namespaceDeclaration(): antlr4.ParserRuleContext; - ifStatement(): antlr4.ParserRuleContext; - breakStatement(): antlr4.ParserRuleContext; - switchStatement(): antlr4.ParserRuleContext; - iterationStatement(): antlr4.ParserRuleContext; - returnStatement(): antlr4.ParserRuleContext; - throwStatement(): antlr4.ParserRuleContext; - tryStatement(): antlr4.ParserRuleContext; - arrowFunctionDeclaration(): antlr4.ParserRuleContext; - builtInFunction(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class BuiltInFunctionContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - copyFrom(ctx: any): void; -} -declare class ApplyRuleStatementRulesListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - applyRulesRule: (i: any) => any; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ApplyRulesRuleContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - domainRuleIdentifier(): antlr4.ParserRuleContext; - arguments(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class BlockContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenBrace(): antlr4.Token; - CloseBrace(): antlr4.Token; - statementList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class StatementListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - statement: (i: any) => any; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class FromBlockContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - From(): antlr4.Token; - StringLiteral(): antlr4.Token; - eos(): antlr4.ParserRuleContext; - Multiply(): antlr4.Token; - multipleImportStatement(): antlr4.ParserRuleContext; - As(): antlr4.Token; - identifierName(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class MultipleImportStatementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenBrace(): antlr4.Token; - identifierName: (i: any) => any; - CloseBrace(): antlr4.Token; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class VariableDeclarationListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - variableDeclaration: (i: any) => any; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class EmptyStatement_Context extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ExpressionStatementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - expressionSequence(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class IfStatementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - If(): antlr4.Token; - OpenParen(): antlr4.Token; - condition(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - statement: (i: any) => any; - Else(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class IterationStatementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - copyFrom(ctx: any): void; -} -declare class VarModifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Var(): antlr4.Token; - Let(): antlr4.Token; - Const(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ContinueStatementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Continue(): antlr4.Token; - eos(): antlr4.ParserRuleContext; - Identifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class BreakStatementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Break(): antlr4.Token; - eos(): antlr4.ParserRuleContext; - Identifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class WithStatementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - With(): antlr4.Token; - OpenParen(): antlr4.Token; - expressionSequence(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - statement(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class SwitchStatementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Switch(): antlr4.Token; - OpenParen(): antlr4.Token; - condition(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - caseBlock(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class CaseBlockContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenBrace(): antlr4.Token; - defaultClause(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - caseClauses: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class CaseClausesContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - caseClause: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class CaseClauseContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Case(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - Colon(): antlr4.Token; - OpenBrace(): antlr4.Token; - CloseBrace(): antlr4.Token; - statementList(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DefaultClauseContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Default(): antlr4.Token; - Colon(): antlr4.Token; - OpenBrace(): antlr4.Token; - CloseBrace(): antlr4.Token; - statementList(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class LabelledStatementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Identifier(): antlr4.Token; - Colon(): antlr4.Token; - statement(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ThrowStatementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Throw(): antlr4.Token; - expressionSequence(): antlr4.ParserRuleContext; - eos(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class TryStatementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Try(): antlr4.Token; - block(): antlr4.ParserRuleContext; - catchProduction(): antlr4.ParserRuleContext; - finallyProduction(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class CatchProductionContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Catch(): antlr4.Token; - OpenParen(): antlr4.Token; - Identifier(): antlr4.Token; - CloseParen(): antlr4.Token; - block(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class FinallyProductionContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Finally(): antlr4.Token; - block(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DebuggerStatementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Debugger(): antlr4.Token; - eos(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DomainFieldDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - fieldList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class IsBrokenStatementContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - IsBrokenIf(): antlr4.Token; - OpenParen(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DomainRuleBodyContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - functionBody(): antlr4.ParserRuleContext; - isBrokenStatement(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DomainRuleDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Rule(): antlr4.Token; - domainRuleIdentifier(): antlr4.ParserRuleContext; - Throws(): antlr4.Token; - ErrorIdentifier(): antlr4.Token; - OpenBrace(): antlr4.Token; - domainRuleBody(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class AggregateDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Root(): antlr4.Token; - Entity(): antlr4.Token; - entityIdentifier(): antlr4.ParserRuleContext; - entityBody(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DomainConstDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - constDeclaration(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class EntityDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Entity(): antlr4.Token; - entityIdentifier(): antlr4.ParserRuleContext; - entityBody(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class EntityBodyContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenBrace(): antlr4.Token; - domainConstDeclarationList(): antlr4.ParserRuleContext; - domainConstructorDeclaration(): antlr4.ParserRuleContext; - publicMethodDeclarationList(): antlr4.ParserRuleContext; - privateMethodDeclarationList(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ValueObjectDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - ValueObject(): antlr4.Token; - valueObjectIdentifier(): antlr4.ParserRuleContext; - OpenBrace(): antlr4.Token; - domainConstDeclarationList(): antlr4.ParserRuleContext; - domainConstructorDeclaration(): antlr4.ParserRuleContext; - privateMethodDeclarationList(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DomainConstDeclarationListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - domainConstDeclaration: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PublicMethodDeclarationListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - publicMethodDeclaration: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PrivateMethodDeclarationListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - privateMethodDeclaration: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DomainConstructorDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Constructor(): antlr4.Token; - Colon(): antlr4.Token; - returnOkErrorType(): antlr4.ParserRuleContext; - OpenBrace(): antlr4.Token; - functionBody(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class UseCaseIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - UseCaseIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class UseCaseDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - UseCase(): antlr4.Token; - useCaseIdentifier(): antlr4.ParserRuleContext; - OpenBrace(): antlr4.Token; - useCaseExecuteDeclaration(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PropsDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Props(): antlr4.Token; - PropsIdentifier(): antlr4.Token; - OpenBrace(): antlr4.Token; - fieldList(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ReadModelDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - ReadModel(): antlr4.Token; - ReadModelIdentifier(): antlr4.Token; - OpenBrace(): antlr4.Token; - fieldList(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RepoPortDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - RepoPort(): antlr4.Token; - repoPortIdentifier(): antlr4.ParserRuleContext; - LessThan(): antlr4.Token; - ReadModelIdentifier(): antlr4.Token; - MoreThan(): antlr4.Token; - repoExtendsList(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - repoPortMethodDefinitions(): antlr4.ParserRuleContext; - aggregateRootIdentifier(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RepoPortIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - RepoPortIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class AggregateRootIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - EntityIdentifier(): antlr4.Token; - ReadModelIdentifier(): antlr4.Token; - Identifier(): antlr4.Token; - UpperCaseIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RepoExtendsListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Extends(): antlr4.Token; - repoPortExtendableIdentifierList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RepoPortMethodDefinitionsContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenBrace(): antlr4.Token; - methodDefinitionList(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RepoPortExtendableIdentifierListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - repoPortExtendableIdentifier: (i: any) => any; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RepoPortExtendableIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - RepoPortIdentifier(): antlr4.Token; - UpperCaseIdentifier: (i: any) => any; - LessThan(): antlr4.Token; - MoreThan(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DtoDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - DTO(): antlr4.Token; - DTOIdentifier(): antlr4.Token; - OpenBrace(): antlr4.Token; - fieldList(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class StructDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Struct(): antlr4.Token; - UpperCaseIdentifier(): antlr4.Token; - OpenBrace(): antlr4.Token; - fieldList(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DtoEvaluationIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - dtoIdentifier(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DtoEvaluationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - dtoEvaluationIdentifier(): antlr4.ParserRuleContext; - OpenParen(): antlr4.Token; - OpenBrace(): antlr4.Token; - evaluationFieldList(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - CloseParen(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ValueObjectEvaluationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - valueObjectIdentifier(): antlr4.ParserRuleContext; - domainEvaluationInput(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DomainEvaluationInputContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - copyFrom(ctx: any): void; -} -declare class EntityEvaluationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - entityIdentifier(): antlr4.ParserRuleContext; - domainEvaluationInput(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class StructEvaluationIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - UpperCaseIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class StructEvaluationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - structEvaluationIdentifier(): antlr4.ParserRuleContext; - OpenParen(): antlr4.Token; - OpenBrace(): antlr4.Token; - evaluationFieldList(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - CloseParen(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class BuiltInClassEvaluationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - bitloopsBuiltInClass(): antlr4.ParserRuleContext; - methodArguments(): antlr4.ParserRuleContext; - Dot(): antlr4.Token; - identifier(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PropsEvaluationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenBrace(): antlr4.Token; - OpenParen(): antlr4.Token; - propsIdentifier(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - CloseParen(): antlr4.Token; - evaluationFieldList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DomainErrorDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - DomainError(): antlr4.Token; - domainErrorIdentifier(): antlr4.ParserRuleContext; - OpenBrace(): antlr4.Token; - CloseBrace(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - evaluationFieldList(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ApplicationErrorDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - ApplicationError(): antlr4.Token; - applicationErrorIdentifier(): antlr4.ParserRuleContext; - OpenBrace(): antlr4.Token; - CloseBrace(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - evaluationFieldList(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DomainErrorIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - DomainErrorIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ApplicationErrorIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - DomainErrorIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class UseCaseExecuteDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Execute(): antlr4.Token; - Colon(): antlr4.Token; - returnOkErrorType(): antlr4.ParserRuleContext; - OpenBrace(): antlr4.Token; - functionBody(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RestControllerParametersContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Identifier: (i: any) => any; - Comma(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RestControllerExecuteDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Execute(): antlr4.Token; - OpenParen(): antlr4.Token; - restControllerParameters(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - OpenBrace(): antlr4.Token; - functionBody(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RestControllerMethodDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Method(): antlr4.Token; - Colon(): antlr4.Token; - httpMethod(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class HttpMethodContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - MethodGet(): antlr4.Token; - MethodPut(): antlr4.Token; - MethodPost(): antlr4.Token; - MethodDelete(): antlr4.Token; - MethodPatch(): antlr4.Token; - MethodOptions(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ControllerDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - copyFrom(ctx: any): void; -} -declare class GraphQLResolverOptionsContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - graphQLOperationTypeAssignment(): antlr4.ParserRuleContext; - graphQLOperationInputTypeAssignment(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class GraphQLOperationTypeAssignmentContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - GraphQLOperation(): antlr4.Token; - Colon(): antlr4.Token; - graphQLOperation(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class GraphQLOperationInputTypeAssignmentContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Input(): antlr4.Token; - Colon(): antlr4.Token; - graphQLResolverInputType(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class GraphQLResolverInputTypeContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - DTOIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class GraphQLOperationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OperationMutation(): antlr4.Token; - OperationQuery(): antlr4.Token; - OperationSubscription(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class GraphQLControllerExecuteDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Execute(): antlr4.Token; - OpenParen(): antlr4.Token; - graphQLControllerParameters(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - Colon(): antlr4.Token; - graphQLControllerReturnType(): antlr4.ParserRuleContext; - OpenBrace(): antlr4.Token; - functionBody(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class GraphQLControllerParametersContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Identifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class GraphQLControllerReturnTypeContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - DTOIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DtoIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - DTOIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DtoIdentifiersContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - dtoIdentifier: (i: any) => any; - BitOr: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ErrorIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - ErrorIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ErrorIdentifiersContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - errorIdentifier: (i: any) => any; - BitOr: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ValueObjectIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - ValueObjectIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class EntityIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - EntityIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DomainRuleIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - RuleIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ReturnOkTypeContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OK(): antlr4.Token; - OpenParen(): antlr4.Token; - bitloopsPrimaryType(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ReturnErrorsTypeContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Errors(): antlr4.Token; - OpenParen(): antlr4.Token; - CloseParen(): antlr4.Token; - errorIdentifiers(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ReturnOkErrorTypeContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenParen(): antlr4.Token; - returnOkType(): antlr4.ParserRuleContext; - Comma(): antlr4.Token; - returnErrorsType(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PackagePortIdentifierContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - PackagePortIdentifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PackagePortDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - PackagePort(): antlr4.Token; - packagePortIdentifier(): antlr4.ParserRuleContext; - OpenBrace(): antlr4.Token; - methodDefinitionList(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class MethodDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - copyFrom(ctx: any): void; -} -declare class PrivateMethodDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - identifier(): antlr4.ParserRuleContext; - returnPrivateMethodType(): antlr4.ParserRuleContext; - OpenBrace(): antlr4.Token; - functionBody(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - Private(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PublicMethodDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - identifier(): antlr4.ParserRuleContext; - returnPublicMethodType(): antlr4.ParserRuleContext; - OpenBrace(): antlr4.Token; - functionBody(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - Public(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ReturnPublicMethodTypeContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Colon(): antlr4.Token; - returnOkErrorType(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ReturnPrivateMethodTypeContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - typeAnnotation(): antlr4.ParserRuleContext; - Colon(): antlr4.Token; - returnOkErrorType(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PropertyMemberBaseContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - accessibilityModifier(): antlr4.ParserRuleContext; - Static(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class IndexMemberDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - indexSignature(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class GeneratorMethodContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Identifier(): antlr4.Token; - OpenParen(): antlr4.Token; - CloseParen(): antlr4.Token; - OpenBrace(): antlr4.Token; - functionBody(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - Multiply(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class GeneratorFunctionDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Function_(): antlr4.Token; - Multiply(): antlr4.Token; - OpenParen(): antlr4.Token; - CloseParen(): antlr4.Token; - OpenBrace(): antlr4.Token; - functionBody(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - Identifier(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class GeneratorBlockContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenBrace(): antlr4.Token; - generatorDefinition: (i: any) => any; - CloseBrace(): antlr4.Token; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class GeneratorDefinitionContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Multiply(): antlr4.Token; - iteratorDefinition(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class IteratorBlockContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenBrace(): antlr4.Token; - iteratorDefinition: (i: any) => any; - CloseBrace(): antlr4.Token; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class IteratorDefinitionContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenBracket(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - CloseBracket(): antlr4.Token; - OpenParen(): antlr4.Token; - CloseParen(): antlr4.Token; - OpenBrace(): antlr4.Token; - functionBody(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class FormalParameterListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenParen(): antlr4.Token; - CloseParen(): antlr4.Token; - formalParameterArg: (i: any) => any; - lastFormalParameterArg(): antlr4.ParserRuleContext; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class FormalParameterArgContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - identifierOrKeyWord(): antlr4.ParserRuleContext; - decorator(): antlr4.ParserRuleContext; - accessibilityModifier(): antlr4.ParserRuleContext; - typeAnnotation(): antlr4.ParserRuleContext; - Assign(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class LastFormalParameterArgContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Ellipsis(): antlr4.Token; - Identifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class FunctionBodyContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - statementList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ArrayLiteralContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenBracket(): antlr4.Token; - CloseBracket(): antlr4.Token; - elementList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ElementListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - expression: (i: any) => any; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ObjectLiteralContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenBrace(): antlr4.Token; - CloseBrace(): antlr4.Token; - propertyAssignment: (i: any) => any; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RegularVariableEvaluationORliteralORexpressionContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - expression(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PropertyAssignmentContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - copyFrom(ctx: any): void; -} -declare class GetAccessorContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - getter(): antlr4.ParserRuleContext; - OpenParen(): antlr4.Token; - CloseParen(): antlr4.Token; - OpenBrace(): antlr4.Token; - functionBody(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - typeAnnotation(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class SetAccessorContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - setter(): antlr4.ParserRuleContext; - OpenParen(): antlr4.Token; - CloseParen(): antlr4.Token; - OpenBrace(): antlr4.Token; - functionBody(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - Identifier(): antlr4.Token; - bindingPattern(): antlr4.ParserRuleContext; - typeAnnotation(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PropertyNameContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - identifierName(): antlr4.ParserRuleContext; - StringLiteral(): antlr4.Token; - numericLiteral(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ArgumentsContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - OpenParen(): antlr4.Token; - CloseParen(): antlr4.Token; - argumentList(): antlr4.ParserRuleContext; - Comma(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ArgumentListContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - argument: (i: any) => any; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ArgumentContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - regularVariableEvaluationORliteralORexpression(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ExpressionSequenceContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - expression: (i: any) => any; - Comma: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class FunctionExpressionDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Function_(): antlr4.Token; - OpenParen(): antlr4.Token; - CloseParen(): antlr4.Token; - OpenBrace(): antlr4.Token; - functionBody(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - Identifier(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - typeAnnotation(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ExpressionContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - copyFrom(ctx: any): void; -} -declare class AsExpressionContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - predefinedType(): antlr4.ParserRuleContext; - OpenBracket(): antlr4.Token; - CloseBracket(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ArrowFunctionDeclarationContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - arrowFunctionParameters(): antlr4.ParserRuleContext; - ARROW(): antlr4.Token; - arrowFunctionBody(): antlr4.ParserRuleContext; - Async(): antlr4.Token; - typeAnnotation(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ArrowFunctionParametersContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Identifier(): antlr4.Token; - OpenParen(): antlr4.Token; - CloseParen(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ArrowFunctionBodyContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - expression(): antlr4.ParserRuleContext; - OpenBrace(): antlr4.Token; - functionBody(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class AssignmentOperatorContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - MultiplyAssign(): antlr4.Token; - DivideAssign(): antlr4.Token; - ModulusAssign(): antlr4.Token; - PlusAssign(): antlr4.Token; - MinusAssign(): antlr4.Token; - LeftShiftArithmeticAssign(): antlr4.Token; - RightShiftArithmeticAssign(): antlr4.Token; - RightShiftLogicalAssign(): antlr4.Token; - BitAndAssign(): antlr4.Token; - BitXorAssign(): antlr4.Token; - BitOrAssign(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class LiteralContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - copyFrom(ctx: any): void; -} -declare class TemplateStringLiteralContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - BackTick: (i: any) => any; - templateStringAtom: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class TemplateStringAtomContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - TemplateStringAtom(): antlr4.Token; - TemplateStringStartExpression(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - TemplateCloseBrace(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class NumericLiteralContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - copyFrom(ctx: any): void; -} -declare class IdentifierNameContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Identifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class IdentifierOrKeyWordContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Identifier(): antlr4.Token; - TypeAlias(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ReservedWordContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - keyword(): antlr4.ParserRuleContext; - NullLiteral(): antlr4.Token; - BooleanLiteral(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class KeywordContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Break(): antlr4.Token; - Do(): antlr4.Token; - Instanceof(): antlr4.Token; - Typeof(): antlr4.Token; - Case(): antlr4.Token; - Else(): antlr4.Token; - New(): antlr4.Token; - Var(): antlr4.Token; - Catch(): antlr4.Token; - Finally(): antlr4.Token; - Return(): antlr4.Token; - Void(): antlr4.Token; - Continue(): antlr4.Token; - For(): antlr4.Token; - Switch(): antlr4.Token; - While(): antlr4.Token; - Debugger(): antlr4.Token; - Function_(): antlr4.Token; - This(): antlr4.Token; - With(): antlr4.Token; - Default(): antlr4.Token; - If(): antlr4.Token; - Throw(): antlr4.Token; - Delete(): antlr4.Token; - In(): antlr4.Token; - Try(): antlr4.Token; - ReadOnly(): antlr4.Token; - Async(): antlr4.Token; - From(): antlr4.Token; - UseCase(): antlr4.Token; - Extends(): antlr4.Token; - Const(): antlr4.Token; - Let(): antlr4.Token; - Private(): antlr4.Token; - Public(): antlr4.Token; - Protected(): antlr4.Token; - Static(): antlr4.Token; - Get(): antlr4.Token; - Set(): antlr4.Token; - TypeAlias(): antlr4.Token; - String(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class GetterContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Get(): antlr4.Token; - propertyName(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class SetterContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - Set(): antlr4.Token; - propertyName(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class EosContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - SemiColon(): antlr4.Token; - EOF(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class IsInstanceOfContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - regularIdentifier(): antlr4.ParserRuleContext; - Is(): antlr4.Token; - classTypes(): antlr4.ParserRuleContext; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ClassTypesContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - ErrorClass(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DeleteKeywordContext extends RegularIdentifierContext { - constructor(parser: any, ctx: any); - Delete(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RegularDTOEvaluationStringContext extends RegularIdentifierContext { - constructor(parser: any, ctx: any); - regularDTOEvaluation(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RegularStructEvaluationStringContext extends RegularIdentifierContext { - constructor(parser: any, ctx: any); - regularStructEvaluation(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RegularErrorTypeEvaluationStringContext extends RegularIdentifierContext { - constructor(parser: any, ctx: any); - regularErrorTypeEvaluation(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class IdentifierStringContext extends RegularIdentifierContext { - constructor(parser: any, ctx: any); - Identifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ExecuteExpressionContext extends RegularIdentifierContext { - constructor(parser: any, ctx: any); - Execute(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class CreateExpressionContext extends RegularIdentifierContext { - constructor(parser: any, ctx: any); - Create(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PrimitivePrimTypeContext extends BitloopsPrimaryTypeContext { - constructor(parser: any, ctx: any); - primitives(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ArrayBitloopsPrimTypeContext extends BitloopsPrimaryTypeContext { - constructor(parser: any, ctx: any); - bitloopsPrimaryType(): antlr4.ParserRuleContext; - OpenBracket(): antlr4.Token; - CloseBracket(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class BitloopsBuiltInClassPrimTypeContext extends BitloopsPrimaryTypeContext { - constructor(parser: any, ctx: any); - bitloopsBuiltInClass(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class BitloopsIdentifierPrimTypeContext extends BitloopsPrimaryTypeContext { - constructor(parser: any, ctx: any); - bitloopsIdentifiers(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ApplyRulesStatementContext extends BuiltInFunctionContext { - constructor(parser: any, ctx: any); - ApplyRules(): antlr4.Token; - OpenParen(): antlr4.Token; - applyRuleStatementRulesList(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DoStatementContext extends IterationStatementContext { - constructor(parser: any, ctx: any); - Do(): antlr4.Token; - statement(): antlr4.ParserRuleContext; - While(): antlr4.Token; - OpenParen(): antlr4.Token; - expressionSequence(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - eos(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ForVarStatementContext extends IterationStatementContext { - constructor(parser: any, ctx: any); - For(): antlr4.Token; - OpenParen(): antlr4.Token; - varModifier(): antlr4.ParserRuleContext; - variableDeclarationList(): antlr4.ParserRuleContext; - SemiColon: (i: any) => any; - CloseParen(): antlr4.Token; - statement(): antlr4.ParserRuleContext; - expressionSequence: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ForVarInStatementContext extends IterationStatementContext { - constructor(parser: any, ctx: any); - For(): antlr4.Token; - OpenParen(): antlr4.Token; - varModifier(): antlr4.ParserRuleContext; - variableDeclaration(): antlr4.ParserRuleContext; - expressionSequence(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - statement(): antlr4.ParserRuleContext; - In(): antlr4.Token; - Identifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class WhileStatementContext extends IterationStatementContext { - constructor(parser: any, ctx: any); - While(): antlr4.Token; - OpenParen(): antlr4.Token; - expressionSequence(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - statement(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ForStatementContext extends IterationStatementContext { - constructor(parser: any, ctx: any); - For(): antlr4.Token; - OpenParen(): antlr4.Token; - SemiColon: (i: any) => any; - CloseParen(): antlr4.Token; - statement(): antlr4.ParserRuleContext; - expressionSequence: (i: any) => any; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ForInStatementContext extends IterationStatementContext { - constructor(parser: any, ctx: any); - For(): antlr4.Token; - OpenParen(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - expressionSequence(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - statement(): antlr4.ParserRuleContext; - In(): antlr4.Token; - Identifier(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DomainEvaluationInputRegularContext extends DomainEvaluationInputContext { - constructor(parser: any, ctx: any); - OpenParen(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DomainEvaluationInputFieldListContext extends DomainEvaluationInputContext { - constructor(parser: any, ctx: any); - OpenParen(): antlr4.Token; - OpenBrace(): antlr4.Token; - evaluationFieldList(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - CloseParen(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RESTControllerDeclarationContext extends ControllerDeclarationContext { - constructor(parser: any, ctx: any); - RESTController(): antlr4.Token; - ControllerIdentifier(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - OpenBrace(): antlr4.Token; - restControllerMethodDeclaration(): antlr4.ParserRuleContext; - restControllerExecuteDeclaration(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class GraphQLControllerDeclarationContext extends ControllerDeclarationContext { - constructor(parser: any, ctx: any); - GraphQLController(): antlr4.Token; - ControllerIdentifier(): antlr4.Token; - formalParameterList(): antlr4.ParserRuleContext; - OpenBrace(): antlr4.Token; - graphQLResolverOptions(): antlr4.ParserRuleContext; - graphQLControllerExecuteDeclaration(): antlr4.ParserRuleContext; - CloseBrace(): antlr4.Token; - SemiColon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PublicMethodDeclarationExpressionContext extends MethodDeclarationContext { - constructor(parser: any, ctx: any); - publicMethodDeclaration(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PrivateMethodDeclarationExpressionContext extends MethodDeclarationContext { - constructor(parser: any, ctx: any); - privateMethodDeclaration(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PropertyExpressionAssignmentContext extends PropertyAssignmentContext { - constructor(parser: any, ctx: any); - propertyName(): antlr4.ParserRuleContext; - regularVariableEvaluationORliteralORexpression(): antlr4.ParserRuleContext; - Colon(): antlr4.Token; - Assign(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ComputedPropertyExpressionAssignmentContext extends PropertyAssignmentContext { - constructor(parser: any, ctx: any); - OpenBracket(): antlr4.Token; - regularVariableEvaluationORliteralORexpression: (i: any) => any; - CloseBracket(): antlr4.Token; - Colon(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PropertyShorthandContext extends PropertyAssignmentContext { - constructor(parser: any, ctx: any); - identifierOrKeyWord(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PropertySetterContext extends PropertyAssignmentContext { - constructor(parser: any, ctx: any); - setAccessor(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class PropertyGetterContext extends PropertyAssignmentContext { - constructor(parser: any, ctx: any); - getAccessor(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RestParameterInObjectContext extends PropertyAssignmentContext { - constructor(parser: any, ctx: any); - restParameter(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class MethodPropertyContext extends PropertyAssignmentContext { - constructor(parser: any, ctx: any); - generatorMethod(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ParenthesizedExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - OpenParen(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - CloseParen(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ToStringExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - expression(): antlr4.ParserRuleContext; - Dot(): antlr4.Token; - ToString(): antlr4.Token; - OpenParen(): antlr4.Token; - CloseParen(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class AdditiveExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - op: any; - expression: (i: any) => any; - Plus(): antlr4.Token; - Minus(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RelationalExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - op: any; - expression: (i: any) => any; - LessThan(): antlr4.Token; - MoreThan(): antlr4.Token; - LessThanEquals(): antlr4.Token; - GreaterThanEquals(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class LogicalAndExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - op: any; - expression: (i: any) => any; - And(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class LiteralExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - literal(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class LogicalOrExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - op: any; - expression: (i: any) => any; - Or(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ArrayLiteralExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - arrayLiteral(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class MemberDotExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - expression(): antlr4.ParserRuleContext; - Dot(): antlr4.Token; - regularIdentifier(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class NotExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - Not(): antlr4.Token; - expression(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class EvaluationExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - evaluation(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class IdentifierExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - regularIdentifier(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class ThisExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - This(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class AssignmentExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - expression: (i: any) => any; - Assign(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class MethodCallExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - expression(): antlr4.ParserRuleContext; - methodArguments(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class LogicalXorExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - op: any; - expression: (i: any) => any; - Xor(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class GetClassExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - expression(): antlr4.ParserRuleContext; - Dot(): antlr4.Token; - GetClass(): antlr4.Token; - OpenParen(): antlr4.Token; - CloseParen(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class EqualityExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - op: any; - expression: (i: any) => any; - Equals_(): antlr4.Token; - NotEquals(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class MultiplicativeExpressionContext extends ExpressionContext { - constructor(parser: any, ctx: any); - op: any; - expression: (i: any) => any; - Multiply(): antlr4.Token; - Divide(): antlr4.Token; - Modulus(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class TemplateStringLiteralLabelContext extends LiteralContext { - constructor(parser: any, ctx: any); - templateStringLiteral(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class StringLiteralContext extends LiteralContext { - constructor(parser: any, ctx: any); - StringLiteral(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class RegularExpressionLiteralContext extends LiteralContext { - constructor(parser: any, ctx: any); - RegularExpressionLiteral(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class BooleanLiteralContext extends LiteralContext { - constructor(parser: any, ctx: any); - BooleanLiteral(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class NumericLiteralLabelContext extends LiteralContext { - constructor(parser: any, ctx: any); - numericLiteral(): antlr4.ParserRuleContext; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class NullLiteralContext extends LiteralContext { - constructor(parser: any, ctx: any); - NullLiteral(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class DecimalLiteralContext extends NumericLiteralContext { - constructor(parser: any, ctx: any); - DecimalLiteral(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class IntegerLiteralContext extends NumericLiteralContext { - constructor(parser: any, ctx: any); - IntegerLiteral(): antlr4.Token; - enterRule(listener: any): void; - exitRule(listener: any): void; - accept(visitor: any): any; -} -declare class BitloopsPrimaryTypeContext extends antlr4.ParserRuleContext { - constructor(parser: any, parent: any, invokingState: any); - parser: any; - ruleIndex: number; - copyFrom(ctx: any): void; -} diff --git a/server/src/parser/grammar/BitloopsParser.g4 b/server/src/parser/grammar/BitloopsParser.g4 deleted file mode 100644 index 38fef29..0000000 --- a/server/src/parser/grammar/BitloopsParser.g4 +++ /dev/null @@ -1,1457 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 2014 by Bart Kiers (original author) and Alexandre Vitorelli (contributor -> ported to CSharp) - * Copyright (c) 2017 by Ivan Kochurkin (Positive Technologies): - added ECMAScript 6 support, cleared and transformed to the universal grammar. - * Copyright (c) 2018 by Juan Alvarez (contributor -> ported to Go) - * Copyright (c) 2019 by Andrii Artiushok (contributor -> added TypeScript support) - * Copyright (c) 2022 by Bitloops S.A. (contributor -> added Bitloops support) - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, - * copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following - * conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES - * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT - * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, - * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING - * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR - * OTHER DEALINGS IN THE SOFTWARE. - */ -parser grammar BitloopsParser; - -options { - tokenVocab=BitloopsLexer; - // superClass=BitloopsParserBase; -} - -// SupportSyntax - -initializer - : '=' expression - ; - -bindingPattern - : (arrayLiteral | objectLiteral) - ; - -// Bitloops SPart -// A.1 Types - -// typeParameters -// : '<' typeParameterList? '>' -// ; - -// typeParameterList -// : typeParameter (Comma typeParameter)* -// ; - -fieldList - : field (SemiColon field)* SemiColon - ; - -evaluationFieldList - : evaluationField (',' evaluationField)* ','? - ; - -evaluationField - : Identifier Colon expression - ; - -// typeParameter -// : Identifier constraint? -// | typeParameters -// ; - -// constraint -// : 'extends' type_ -// ; - -// typeArguments -// : '<' typeArgumentList? '>' -// ; - -propFields - : OpenBrace fieldList? CloseBrace - ; - -// typeArgumentList -// : typeArgument (Comma typeArgument)* -// ; - -// typeArgument -// : type_ -// ; - -propsIdentifier -: PropsIdentifier -; - -bitloopsIdentifiers - : - UseCaseIdentifier - | dtoIdentifier - | ControllerIdentifier - | ErrorIdentifier - | propsIdentifier - | ValueObjectIdentifier - | EntityIdentifier - | RepoPortIdentifier - | ReadModelIdentifier - | UpperCaseIdentifier //TODO update this with the specific identifiers e.g. structidentifier - ; - -// type_ -// : unionOrIntersectionOrPrimaryType -// | functionType -// | constructorType -// | typeGeneric -// | StringLiteral -// | bitloopsIdentifiers -// | type_ '[' ']' -// ; - -// unionOrIntersectionOrPrimaryType -// : unionOrIntersectionOrPrimaryType '|' unionOrIntersectionOrPrimaryType #Union -// | unionOrIntersectionOrPrimaryType '&' unionOrIntersectionOrPrimaryType #Intersection -// // | primaryType #Primary -// | primitives #Primmitives -// ; - -// primaryType -// : OpenParen type_ CloseParen #ParenthesizedPrimType -// | predefinedType #PredefinedPrimType -// | typeReference #ReferencePrimType -// | objectType #ObjectPrimType -// // | primaryType {notLineTerminator()}? '[' ']' #ArrayPrimType -// | primaryType '[' ']' #ArrayPrimType -// | '[' tupleElementTypes ']' #TuplePrimType -// | typeQuery #QueryPrimType -// | This #ThisPrimType -// | typeReference Is primaryType #RedefinitionOfType -// ; - -primitives - : Any - | Double - | Float - | Int32 - | Int64 - | Uint32 - | Uint64 - | Sint32 - | Sint64 - | Fixed32 - | Fixed64 - | Sfixed32 - | Sfixed64 - | Boolean - | String - | Bytes - | Timestamp - | Void - ; - -identifier - : Identifier - ; - -upperCaseIdentifier - : UpperCaseIdentifier - ; - -struct - : UpperCaseIdentifier - ; - - -regularErrorTypeEvaluation - : errorIdentifier - ; - -methodArguments - : OpenParen (argumentList (Comma argumentList)*)? CloseParen - ; - -openParen - : OpenParen - ; - -closeParen - : CloseParen - ; - -regularIdentifier - : Identifier #IdentifierString - | regularDTOEvaluation # RegularDTOEvaluationString - | regularStructEvaluation # RegularStructEvaluationString - | regularErrorTypeEvaluation # RegularErrorTypeEvaluationString - // This has to be here since it is declared as a reserved word in Lexer, it doesnt match as Identifier - | Execute # ExecuteExpression - | Create # CreateExpression - | Delete # DeleteKeyword - ; - -regularStringEvaluation - : StringLiteral - ; - -regularIntegerEvaluation - : IntegerLiteral - ; - -regularDecimalEvaluation - : DecimalLiteral - ; - -regularBooleanEvaluation - : BooleanLiteral - ; - -regularStructEvaluation - : UpperCaseIdentifier - ; - -regularDTOEvaluation - : DTOIdentifier - ; - -// | RegularStringEvaluation | RegularBackTicksEvaluation -field - : Optional? bitloopsPrimaryType identifier - ; - -bitloopsPrimaryType - : primitives #PrimitivePrimType - | bitloopsBuiltInClass #BitloopsBuiltInClassPrimType - | bitloopsPrimaryType OpenBracket CloseBracket #ArrayBitloopsPrimType - | bitloopsIdentifiers #BitloopsIdentifierPrimType - ; - -bitloopsBuiltInClass - : UUIDv4 - ; - -predefinedType - : Any - | Int32 - | Boolean - | String - | Struct - | Void - ; - -// typeReference -// : typeName nestedTypeGeneric? -// ; - -// nestedTypeGeneric -// : typeIncludeGeneric -// | typeGeneric -// ; - -// I tried recursive include, but it's not working. -// typeGeneric -// : '<' typeArgumentList typeGeneric?'>' -// ; -// -// TODO: Fix recursive -// -// typeGeneric -// : '<' typeArgumentList '>' -// ; - -// typeIncludeGeneric -// :'<' typeArgumentList '<' typeArgumentList ('>' bindingPattern '>' | '>>') -// ; - -typeName - : Identifier - | namespaceName - ; - -// objectType -// : OpenBrace typeBody? CloseBrace -// ; - -// typeBody -// : typeMemberList (SemiColon | Comma)? -// ; - -// typeMemberList -// : typeMember ((SemiColon | Comma) typeMember)* -// ; - -// typeMember -// : propertySignatur -// | callSignature -// | constructSignature -// | indexSignature -// | methodSignature ('=>' type_)? -// ; - -methodDefinitionList - : methodDefinition* - ; - -methodDefinition - : identifier formalParameterList? typeAnnotation SemiColon - ; - - -// tupleElementTypes -// : type_ (Comma type_)* -// ; - -// functionType -// : typeParameters? OpenParen parameterList? CloseParen '=>' type_ - // ; - -// constructorType -// : 'new' typeParameters? OpenParen parameterList? CloseParen '=>' type_ -// ; - -typeQuery - : 'typeof' typeQueryExpression - ; - -typeQueryExpression - : Identifier - | (identifierName Dot)+ identifierName - ; - -// propertySignatur -// : ReadOnly? propertyName '?'? typeAnnotation? ('=>' type_)? -// ; - -typeAnnotation - : Colon bitloopsPrimaryType - ; - -// callSignature -// : typeParameters? OpenParen parameterList? CloseParen typeAnnotation? -// ; - -parameterList - : restParameter - | parameter (Comma parameter)* (Comma restParameter)? - ; - -requiredParameterList - : requiredParameter (Comma requiredParameter)* - ; - -parameter - : requiredParameter - | optionalParameter - ; - -optionalParameter - : decoratorList? ( accessibilityModifier? identifierOrPattern ('?' typeAnnotation? | typeAnnotation? initializer)) - ; - -restParameter - : Ellipsis expression typeAnnotation? - ; - -requiredParameter - : decoratorList? accessibilityModifier? identifierOrPattern typeAnnotation? - ; - -accessibilityModifier - : Public - | Private - // | Protected - ; - -identifierOrPattern - : identifierName - | bindingPattern - ; - -// constructSignature -// : 'new' typeParameters? OpenParen parameterList? CloseParen typeAnnotation? -// ; - -indexSignature - : '[' Identifier Colon (Int32|String) ']' typeAnnotation - ; - -// methodSignature -// : propertyName '?'? callSignature -// ; - -// typeAliasDeclaration -// : 'type' Identifier typeParameters? '=' type_ SemiColon -// ; - -// constructorDeclaration -// : accessibilityModifier? Constructor '(' formalParameterList? ')' ( ('{' functionBody '}') | SemiColon)? -// ; -//useCaseExecuteDeclaration -// : accessibilityModifier? Execute '(' formalParameterList? ')' ( ('{' functionBody '}') | SemiColon) -//; - -// A.5 Interface - -// interfaceDeclaration -// : Export? Declare? Interface Identifier typeParameters? interfaceExtendsClause? objectType SemiColon? -// ; - -// propsDeclaration -// : Props Identifier typeParameters? interfaceExtendsClause? objectType SemiColon? -// ; - -// interfaceExtendsClause -// : Extends classOrInterfaceTypeList -// ; - -// classOrInterfaceTypeList -// : typeReference (Comma typeReference)* -// ; - -// A.7 Interface - -// enumDeclaration -// : Const? Enum Identifier '{' enumBody? '}' -// ; - -enumBody - : enumMemberList Comma? - ; - -enumMemberList - : enumMember (Comma enumMember)* - ; - -enumMember - : propertyName ('=' expression)? - ; - -// A.8 Namespaces - -namespaceDeclaration - : Namespace namespaceName OpenBrace statementList? CloseBrace - ; - -namespaceName - : Identifier (Dot+ Identifier)* - ; - -importAliasDeclaration - : Identifier '=' namespaceName SemiColon - ; - -// Ext.2 Additions to 1.8: Decorators - -decoratorList - : decorator+ ; - -decorator - : '@' (decoratorMemberExpression | decoratorCallExpression) - ; - -decoratorMemberExpression - : Identifier - | decoratorMemberExpression Dot identifierName - | OpenParen expression CloseParen - ; - -decoratorCallExpression - : decoratorMemberExpression arguments; - -// ECMAPart -program - : sourceElement* - // : sourceElements? - // sourceElements? EOF? - ; - -sourceElement - : dtoDeclaration - | domainErrorDeclaration - | applicationErrorDeclaration - | controllerDeclaration - | jestTestDeclaration - | propsDeclaration - | structDeclaration - | useCaseDeclaration - | packagePortDeclaration - | valueObjectDeclaration - | domainRuleDeclaration - | entityDeclaration - | aggregateDeclaration - | repoPortDeclaration - | readModelDeclaration - ; - -// TODO fix JestTestReturnOkErrorType -jestTestDeclaration - : JestTestFunctionBody OpenBrace functionBody CloseBrace SemiColon? - // JestTestExecute '{' functionBody '}' SemiColon? - | JestTestStatementList OpenBrace statementList CloseBrace SemiColon? - | JestTestStatement OpenBrace statement SemiColon? CloseBrace SemiColon? - | JestTestStructEvaluation OpenBrace structEvaluation SemiColon? CloseBrace SemiColon? - | JestTestDTOEvaluation OpenBrace dtoEvaluation SemiColon? CloseBrace SemiColon? - | JestTestEvaluation OpenBrace evaluation SemiColon? CloseBrace SemiColon? - | JestTestIsInstanceOf OpenBrace isInstanceOf CloseBrace SemiColon? - | JestTest OpenBrace formalParameterList CloseBrace SemiColon? - | JestTest OpenBrace restControllerParameters CloseBrace - | JestTest OpenBrace restControllerExecuteDeclaration CloseBrace - | JestTest OpenBrace restControllerMethodDeclaration CloseBrace - // | JestTestGetClass OpenBrace getClassEvaluation CloseBrace - | JestTestBuiltInClass OpenBrace builtInClassEvaluation CloseBrace - | JestTestReturnOkErrorType OpenBrace returnOkErrorType CloseBrace SemiColon? - | JestTestConstDeclaration OpenBrace constDeclaration CloseBrace SemiColon? - | JestTestExpression OpenBrace expression CloseBrace SemiColon? - | JestTestMethodDefinitionList OpenBrace methodDefinitionList CloseBrace SemiColon? - | JestTestCreateMethodDeclaration OpenBrace domainConstructorDeclaration CloseBrace SemiColon? - | JestTestPrivateMethodDeclaration OpenBrace privateMethodDeclaration CloseBrace SemiColon? - | JestTestPublicMethodDeclaration OpenBrace publicMethodDeclaration CloseBrace SemiColon? - | JestTestValueObjectDeclaration OpenBrace valueObjectDeclaration CloseBrace SemiColon? - | JestTestEntityDeclaration OpenBrace entityDeclaration CloseBrace SemiColon? - | JestTestCondition OpenBrace condition CloseBrace SemiColon? - | JestTestVariableDeclaration OpenBrace variableDeclaration CloseBrace SemiColon? - // | JestTestThisDeclaration OpenBrace thisDeclaration CloseBrace SemiColon? - | JestTestValueObjectEvaluation OpenBrace valueObjectEvaluation CloseBrace SemiColon? - | JestTestEntityEvaluation OpenBrace entityEvaluation CloseBrace SemiColon? - | JestTestBuiltInFunction OpenBrace builtInFunction CloseBrace SemiColon? - | JestTestBitloopsPrimaryType OpenBrace bitloopsPrimaryType CloseBrace SemiColon? - ; - -errorEvaluation - : ErrorIdentifier methodArguments SemiColon? - ; - -evaluation - : isInstanceOf - // | getClassEvaluation - | builtInClassEvaluation - | errorEvaluation - | dtoEvaluation - | valueObjectEvaluation - | entityEvaluation - | propsEvaluation - | structEvaluation - ; - -condition - : expression - ; - -returnStatement - : Return expression - ; - -constDeclaration - : Const identifier typeAnnotation? '=' expression SemiColon? - ; - -variableDeclaration - : identifier typeAnnotation '=' expression SemiColon? - ; - -// thisDeclaration -// : ThisVariableEvaluation '=' expression SemiColon? -// ; - - -statement - : block - | expression - | constDeclaration - | variableDeclaration - // | thisDeclaration - // | expressionStatement - | emptyStatement_ - | propsDeclaration - | namespaceDeclaration //ADDED - | ifStatement - | breakStatement - | switchStatement - | iterationStatement - | returnStatement - // | returnErrorStatement TODO - // | labelledStatement - | throwStatement - | tryStatement - // | functionDeclaration - | arrowFunctionDeclaration - // | variableStatement - // | typeAliasDeclaration //ADDED - | builtInFunction // Using semantic analysis, allow it only inside domain - ; - -builtInFunction - : ApplyRules OpenParen applyRuleStatementRulesList CloseParen SemiColon? # ApplyRulesStatement - ; - -applyRuleStatementRulesList - : applyRulesRule (Comma applyRulesRule)* - ; - -applyRulesRule - : domainRuleIdentifier arguments - ; - -block - : OpenBrace statementList? CloseBrace - ; - -statementList - : statement+ SemiColon? - ; - -// abstractDeclaration -// : Abstract (Identifier callSignature | variableStatement) eos -// ; - -// importStatement -// : Import (fromBlock | importAliasDeclaration) -// ; - -fromBlock - : (Multiply | multipleImportStatement) (As identifierName)? From StringLiteral eos - ; - -multipleImportStatement - : (identifierName Comma)? OpenBrace identifierName (Comma identifierName)* CloseBrace - ; - -// exportStatement -// : Export Default? (fromBlock | statement) -// ; - -// variableStatement -// : bindingPattern typeAnnotation? initializer SemiColon? -// | accessibilityModifier? varModifier? ReadOnly? variableDeclarationList SemiColon? -// | Declare varModifier? variableDeclarationList SemiColon? -// ; - -variableDeclarationList - : variableDeclaration (Comma variableDeclaration)* - ; - -// variableDeclaration -// : ( identifierOrKeyWord | arrayLiteral | objectLiteral) typeAnnotation? expression? ('=' typeParameters? expression)? // ECMAScript 6: Array & Object Matching -// ; - -emptyStatement_ - : SemiColon - ; - -expressionStatement - // : {this.notOpenBraceAndNotFunction()}? expressionSequence SemiColon? - : expressionSequence SemiColon? - ; - -ifStatement - : If OpenParen condition CloseParen statement (Else statement)? - ; - - -iterationStatement - : Do statement While OpenParen expressionSequence CloseParen eos # DoStatement - | While OpenParen expressionSequence CloseParen statement # WhileStatement - | For OpenParen expressionSequence? SemiColon expressionSequence? SemiColon expressionSequence? CloseParen statement # ForStatement - | For OpenParen varModifier variableDeclarationList SemiColon expressionSequence? SemiColon expressionSequence? CloseParen - statement # ForVarStatement - // | For '(' expression (In | Identifier{this.p("of")}?) expressionSequence ')' statement # ForInStatement - // | For '(' varModifier variableDeclaration (In | Identifier{this.p("of")}?) expressionSequence ')' statement # ForVarInStatement - | For OpenParen expression (In | Identifier?) expressionSequence CloseParen statement # ForInStatement - | For OpenParen varModifier variableDeclaration (In | Identifier?) expressionSequence CloseParen statement # ForVarInStatement - ; - -varModifier - : Var - | Let - | Const - ; - -// continueStatement -// : Continue ({this.notLineTerminator()}? Identifier)? eos -// ; - -// breakStatement -// : Break ({this.notLineTerminator()}? Identifier)? eos -// ; - -// returnStatement -// : Return ({this.notLineTerminator()}? expressionSequence)? eos -// ; - -continueStatement - : Continue (Identifier)? eos - ; - -breakStatement - : Break (Identifier)? eos - ; - -// returnStatement -// : Return (expressionSequence)? eos -// ; - -// yieldStatement -// : Yield ({this.notLineTerminator()}? expressionSequence)? eos -// ; - -withStatement - : With OpenParen expressionSequence CloseParen statement - ; - -switchStatement - : Switch OpenParen condition CloseParen caseBlock - ; - -caseBlock - : OpenBrace caseClauses? defaultClause caseClauses? CloseBrace - ; - -caseClauses - : caseClause+ - ; - -caseClause - : Case expression Colon OpenBrace statementList? CloseBrace SemiColon? - | Case expression Colon statementList? SemiColon? - ; - -defaultClause - : Default Colon OpenBrace statementList? CloseBrace SemiColon? - | Default Colon statementList? SemiColon? - ; - -labelledStatement - : Identifier Colon statement - ; - -throwStatement - // : Throw {this.notLineTerminator()}? expressionSequence eos - : Throw expressionSequence eos - ; - -tryStatement - : Try block (catchProduction finallyProduction? | finallyProduction) - ; - -catchProduction - : Catch OpenParen Identifier CloseParen block - ; - -finallyProduction - : Finally block - ; - -debuggerStatement - : Debugger eos - ; - -// functionDeclaration -// : Function_ Identifier callSignature ( (OpenBrace functionBody CloseBrace) | SemiColon) -// ; - -//Ovveride ECMA -// classDeclaration -// : Abstract? Class Identifier typeParameters? classHeritage classTail -// ; - -// controllerDeclaration -// : RESTController ControllerIdentifier formalParameterList '{' restControllerMethodDeclaration restControllerExecuteDeclaration '}' SemiColon? -// | GraphQLController ControllerIdentifier formalParameterList '{' graphQLOperationAssignment '}' SemiColon? -// ; -domainFieldDeclaration -: fieldList -; - -isBrokenStatement -: IsBrokenIf OpenParen expression CloseParen SemiColon -; - -domainRuleBody -: functionBody isBrokenStatement -; - -domainRuleDeclaration -: Rule domainRuleIdentifier formalParameterList? Throws ErrorIdentifier OpenBrace domainRuleBody CloseBrace -; - -aggregateDeclaration - : Root Entity entityIdentifier entityBody SemiColon? - ; - -domainConstDeclaration - : constDeclaration - ; - -entityDeclaration - : Entity entityIdentifier entityBody SemiColon? -; - -entityBody - : OpenBrace domainConstDeclarationList domainConstructorDeclaration publicMethodDeclarationList privateMethodDeclarationList CloseBrace - ; - -valueObjectDeclaration - : ValueObject valueObjectIdentifier OpenBrace domainConstDeclarationList domainConstructorDeclaration privateMethodDeclarationList CloseBrace SemiColon? - ; -domainConstDeclarationList - : domainConstDeclaration* - ; - -publicMethodDeclarationList - : publicMethodDeclaration* - ; - -privateMethodDeclarationList - : privateMethodDeclaration* - ; - -domainConstructorDeclaration - : Constructor formalParameterList? Colon returnOkErrorType OpenBrace functionBody CloseBrace - ; - -useCaseIdentifier - : UseCaseIdentifier - ; - -useCaseDeclaration - : UseCase useCaseIdentifier formalParameterList? OpenBrace useCaseExecuteDeclaration CloseBrace SemiColon? - ; - -propsDeclaration - : Props PropsIdentifier OpenBrace fieldList CloseBrace SemiColon? - ; - -readModelDeclaration - : ReadModel ReadModelIdentifier OpenBrace fieldList CloseBrace SemiColon? - ; - -// RepoPort TodoRepoPort extends CRUDRepoPort; -repoPortDeclaration - : RepoPort repoPortIdentifier '<' ReadModelIdentifier '>' repoExtendsList SemiColon? - | RepoPort repoPortIdentifier '<' ReadModelIdentifier '>' repoExtendsList repoPortMethodDefinitions SemiColon? - | RepoPort repoPortIdentifier '<' aggregateRootIdentifier '>' repoExtendsList SemiColon? - | RepoPort repoPortIdentifier '<' aggregateRootIdentifier '>' repoExtendsList repoPortMethodDefinitions SemiColon? - ; - -repoPortIdentifier - : RepoPortIdentifier - ; - -//TODO change the order of identifier -// aggregateRootIdentifier - // : EntityIdentifier - // | DTOIdentifier - // | Identifier - // | UpperCaseIdentifier - // ; -aggregateRootIdentifier - : EntityIdentifier - | ReadModelIdentifier - | Identifier - | UpperCaseIdentifier - ; - -repoExtendsList - : Extends repoPortExtendableIdentifierList - ; - -repoPortMethodDefinitions - : OpenBrace methodDefinitionList CloseBrace - ; - -repoPortExtendableIdentifierList - : (repoPortExtendableIdentifier) (Comma (repoPortExtendableIdentifier))* - ; - -repoPortExtendableIdentifier - : RepoPortIdentifier - | UpperCaseIdentifier - | UpperCaseIdentifier '<' UpperCaseIdentifier '>' - ; - -dtoDeclaration - : DTO DTOIdentifier OpenBrace fieldList CloseBrace SemiColon? - ; - -structDeclaration - : Struct UpperCaseIdentifier OpenBrace fieldList CloseBrace SemiColon? - ; - -dtoEvaluationIdentifier - : dtoIdentifier - ; - -dtoEvaluation - : dtoEvaluationIdentifier OpenParen OpenBrace evaluationFieldList CloseBrace CloseParen - ; - -valueObjectEvaluation - : valueObjectIdentifier domainEvaluationInput - ; - -domainEvaluationInput - : OpenParen OpenBrace evaluationFieldList CloseBrace CloseParen # DomainEvaluationInputFieldList - | OpenParen expression CloseParen # DomainEvaluationInputRegular - // | OpenParen regularEvaluation CloseParen # DomainEvaluationInputRegular - ; - -entityEvaluation - : entityIdentifier domainEvaluationInput - ; - -structEvaluationIdentifier - : UpperCaseIdentifier - ; - -structEvaluation - : structEvaluationIdentifier OpenParen OpenBrace evaluationFieldList CloseBrace CloseParen - ; - -builtInClassEvaluation - : bitloopsBuiltInClass (Dot identifier)? methodArguments SemiColon? - ; - -propsEvaluation - : OpenBrace OpenParen propsIdentifier (evaluationFieldList) CloseBrace CloseParen - ; - -domainErrorDeclaration - : DomainError domainErrorIdentifier formalParameterList? '{' evaluationFieldList? '}' SemiColon? - ; - -applicationErrorDeclaration - : ApplicationError applicationErrorIdentifier formalParameterList? '{' evaluationFieldList? '}' SemiColon? - ; - -domainErrorIdentifier - : DomainErrorIdentifier; - -applicationErrorIdentifier - : DomainErrorIdentifier; - -useCaseExecuteDeclaration - : Execute formalParameterList? Colon returnOkErrorType OpenBrace functionBody CloseBrace - ; - -restControllerParameters - : Identifier Comma Identifier - ; - -restControllerExecuteDeclaration - : Execute OpenParen restControllerParameters CloseParen OpenBrace functionBody CloseBrace - ; - -restControllerMethodDeclaration - : Method Colon httpMethod SemiColon? - ; - -httpMethod - : MethodGet | MethodPut | MethodPost | MethodDelete | MethodPatch | MethodOptions - ; - - -controllerDeclaration - : RESTController ControllerIdentifier formalParameterList OpenBrace restControllerMethodDeclaration restControllerExecuteDeclaration CloseBrace SemiColon? # RESTControllerDeclaration - | GraphQLController ControllerIdentifier formalParameterList OpenBrace graphQLResolverOptions graphQLControllerExecuteDeclaration CloseBrace SemiColon? # GraphQLControllerDeclaration - ; - -graphQLResolverOptions - : graphQLOperationTypeAssignment graphQLOperationInputTypeAssignment? - ; - -graphQLOperationTypeAssignment - : GraphQLOperation Colon graphQLOperation SemiColon - ; -graphQLOperationInputTypeAssignment - : Input Colon graphQLResolverInputType SemiColon - ; - -graphQLResolverInputType - : DTOIdentifier; - -graphQLOperation - : OperationMutation - | OperationQuery - | OperationSubscription - ; - -graphQLControllerExecuteDeclaration - : Execute OpenParen graphQLControllerParameters CloseParen Colon graphQLControllerReturnType OpenBrace functionBody CloseBrace - ; - // graphQLControllerParameters - -graphQLControllerParameters - : Identifier - ; - -graphQLControllerReturnType - : DTOIdentifier - ; - -dtoIdentifier - : DTOIdentifier - ; - -dtoIdentifiers - : dtoIdentifier (BitOr dtoIdentifier)* - ; - -errorIdentifier - : ErrorIdentifier - ; - -errorIdentifiers - : errorIdentifier (BitOr errorIdentifier)* - ; - -valueObjectIdentifier - : ValueObjectIdentifier - ; - -entityIdentifier -: EntityIdentifier -; - -// aggregateIdentifier -// : AggregateIdentifier -// ; - -domainRuleIdentifier -: RuleIdentifier -; - -returnOkType - : OK OpenParen bitloopsPrimaryType CloseParen - ; - -returnErrorsType - : Errors OpenParen errorIdentifiers? CloseParen - ; - -returnOkErrorType - : OpenParen returnOkType Comma returnErrorsType CloseParen - ; - -packagePortIdentifier - : PackagePortIdentifier - ; - -packagePortDeclaration - : PackagePort packagePortIdentifier OpenBrace methodDefinitionList CloseBrace - ; - -// classHeritage -// : classExtendsClause? implementsClause? -// ; - -// classTail -// : '{' classElement* '}' -// ; - -// classExtendsClause -// : Extends typeReference -// ; - -// useCaseTail -// : '{' useCaseElement* '}' -// ; - -// implementsClause -// : Implements classOrInterfaceTypeList -// ; - -// Classes modified -// classElement -// : constructorDeclaration -// | decoratorList? propertyMemberDeclaration -// | indexMemberDeclaration -// | statement -// ; - -// useCaseElement -// : executeDeclaration -// | decoratorList? propertyMemberDeclaration -// | indexMemberDeclaration -// | statement -// ; - -// propertyMemberDeclaration - // : propertyMemberBase propertyName '?'? typeAnnotation? initializer? SemiColon # PropertyDeclarationExpression - // | propertyMemberBase propertyName callSignature ( ('{' functionBody '}') | SemiColon) # MethodDeclarationExpression - // | propertyMemberBase (getAccessor | setAccessor) # GetterSetterDeclarationExpression - // | abstractDeclaration # AbstractMemberDeclaration - -methodDeclaration - : publicMethodDeclaration # PublicMethodDeclarationExpression - | privateMethodDeclaration # PrivateMethodDeclarationExpression - ; - -privateMethodDeclaration - : Private? identifier formalParameterList? returnPrivateMethodType OpenBrace functionBody CloseBrace - ; - -publicMethodDeclaration - : Public? identifier formalParameterList? returnPublicMethodType OpenBrace functionBody CloseBrace - ; - -returnPublicMethodType - : Colon returnOkErrorType - ; - -returnPrivateMethodType - : typeAnnotation | (Colon returnOkErrorType) -; - -propertyMemberBase - : accessibilityModifier? Static? - ; - -indexMemberDeclaration - : indexSignature SemiColon - ; - -generatorMethod - : '*'? Identifier OpenParen formalParameterList? CloseParen OpenBrace functionBody CloseBrace - ; - -generatorFunctionDeclaration - : Function_ '*' Identifier? OpenParen formalParameterList? CloseParen OpenBrace functionBody CloseBrace - ; - -generatorBlock - : OpenBrace generatorDefinition (Comma generatorDefinition)* Comma? CloseBrace - ; - -generatorDefinition - : '*' iteratorDefinition - ; - -iteratorBlock - : OpenBrace iteratorDefinition (Comma iteratorDefinition)* Comma? CloseBrace - ; - -iteratorDefinition - : '[' expression ']' OpenParen formalParameterList? CloseParen OpenBrace functionBody CloseBrace - ; - -formalParameterList - : OpenParen CloseParen - | OpenParen - ( - formalParameterArg (Comma formalParameterArg)* (Comma lastFormalParameterArg)? - | lastFormalParameterArg - )? - CloseParen - ; - -formalParameterArg - : decorator? accessibilityModifier? identifierOrKeyWord typeAnnotation? ('=' expression)? // ECMAScript 6: Initialization - ; - -lastFormalParameterArg // ECMAScript 6: Rest Parameter - : Ellipsis Identifier - ; - -functionBody - : statementList? - ; - -// sourceElements -// : sourceElement+ -// ; - -arrayLiteral - : OpenBracket elementList? CloseBracket - ; - -elementList - : expression (Comma expression)* - ; - -objectLiteral - : OpenBrace (propertyAssignment (Comma propertyAssignment)* Comma?)? CloseBrace - ; - -// functionParameters -// : (propertyAssignment (Comma propertyAssignment)* Comma?) -// ; - -regularVariableEvaluationORliteralORexpression - : expression - ; - -// MODIFIED -propertyAssignment - : propertyName (Colon |'=') regularVariableEvaluationORliteralORexpression # PropertyExpressionAssignment - | '[' regularVariableEvaluationORliteralORexpression ']' Colon regularVariableEvaluationORliteralORexpression # ComputedPropertyExpressionAssignment - | getAccessor # PropertyGetter - | setAccessor # PropertySetter - | generatorMethod # MethodProperty - | identifierOrKeyWord # PropertyShorthand - | restParameter # RestParameterInObject - ; - -getAccessor - : getter OpenParen CloseParen typeAnnotation? OpenBrace functionBody CloseBrace - ; - -setAccessor - : setter OpenParen ( Identifier | bindingPattern) typeAnnotation? CloseParen OpenBrace functionBody CloseBrace - ; - -propertyName - : identifierName - | StringLiteral - | numericLiteral - ; - -arguments - : OpenParen (argumentList Comma?)? CloseParen - ; - -argumentList - : argument (Comma argument)* - ; - -argument // ECMAScript 6: Spread Operator - : (regularVariableEvaluationORliteralORexpression) - ; - -expressionSequence - : expression (Comma expression)* - ; - -functionExpressionDeclaration - : Function_ Identifier? OpenParen formalParameterList? CloseParen typeAnnotation? OpenBrace functionBody CloseBrace - ; - -expression - : Not expression # NotExpression - | OpenParen expression CloseParen # ParenthesizedExpression - | expression Dot regularIdentifier # MemberDotExpression - | expression methodArguments # MethodCallExpression - | expression Dot GetClass OpenParen CloseParen # GetClassExpression - | expression Dot ToString OpenParen CloseParen # ToStringExpression - | expression op=('*' | '/' | '%') expression # MultiplicativeExpression - | expression op=('+' | '-') expression # AdditiveExpression - | expression op=('<' | '>' | '<=' | '>=') expression # RelationalExpression - | expression op=('==' | '!=' ) expression # EqualityExpression - | expression op=And expression # LogicalAndExpression - | expression op=Or expression # LogicalOrExpression - | expression op=Xor expression # LogicalXorExpression - | expression '=' expression # AssignmentExpression - | literal # LiteralExpression - | evaluation # EvaluationExpression - | regularIdentifier # IdentifierExpression - | arrayLiteral # ArrayLiteralExpression - | This # ThisExpression - ; - -// more single expressions - // | functionExpressionDeclaration # FunctionExpression - // | arrowFunctionDeclaration # ArrowFunctionExpression // ECMAScript 6 - // | Class Identifier? classTail # ClassExpression - // | UseCase Identifier? useCaseTail # UseCaseExpression - // | expression '[' expressionSequence ']' # MemberIndexExpression - // Split to try `new Date()` first, then `new Date`. - // | New expression typeArguments? arguments # NewExpression - // | New expression typeArguments? # NewExpression - // | expression arguments # ArgumentsExpression - // | expression {this.notLineTerminator()}? '++' # PostIncrementExpression - // | expression {this.notLineTerminator()}? '--' # PostDecreaseExpression - // | expression '++' # PostIncrementExpression - // | expression '--' # PostDecreaseExpression - // | Delete expression # DeleteExpression - // | Void expression # VoidExpression - // | Typeof expression # TypeofExpression - // | '++' expression # PreIncrementExpression - // | '--' expression # PreDecreaseExpression - // | '+' expression # UnaryPlusExpression - // | '-' expression # UnaryMinusExpression - // | '~' expression # BitNotExpression - // | '!' expression # NotExpression - // | expression ('<<' | '>>' | '>>>') expression # BitShiftExpression - // | expression Instanceof expression # InstanceofExpression - // | expression In expression # InExpression - // | expression '&' expression # BitAndExpression - // | expression '^' expression # BitXOrExpression - // | expression '|' expression # BitOrExpression - // | expression '&&' expression # LogicalAndExpression - // | expression '||' expression # LogicalOrExpression - // | expression '?' expression ':' expression # TernaryExpression - // | expression '=' expression # AssignmentExpression - // | expression assignmentOperator expression # AssignmentOperatorExpression - // | expression templateStringLiteral # TemplateStringExpression // ECMAScript 6 - // | iteratorBlock # IteratorsExpression // ECMAScript 6 - // | generatorBlock # GeneratorsExpression // ECMAScript 6 - // | generatorFunctionDeclaration # GeneratorsFunctionExpression // ECMAScript 6 - // | yieldStatement # YieldExpression // ECMAScript 6 - // | Super # SuperExpression - // | arrayLiteral # ArrayLiteralExpression - // | objectLiteral # ObjectLiteralExpression - // | '(' expressionSequence ')' # ParenthesizedExpression - // | typeArguments expressionSequence? # GenericTypes - // | expression As asExpression # CastAsExpression - -asExpression - : predefinedType ('[' ']')? - | expression - ; - -arrowFunctionDeclaration - : Async? arrowFunctionParameters typeAnnotation? '=>' arrowFunctionBody - ; - -arrowFunctionParameters - : Identifier - | OpenParen formalParameterList? CloseParen - ; - -arrowFunctionBody - : expression - | OpenBrace functionBody CloseBrace - ; - -assignmentOperator - : '*=' - | '/=' - | '%=' - | '+=' - | '-=' - | '<<=' - | '>>=' - | '>>>=' - | '&=' - | '^=' - | '|=' - ; - -literal - : NullLiteral # NullLiteral - | BooleanLiteral # BooleanLiteral - | StringLiteral # StringLiteral - | templateStringLiteral # TemplateStringLiteralLabel - | RegularExpressionLiteral # RegularExpressionLiteral - | numericLiteral # NumericLiteralLabel - ; - -templateStringLiteral - : BackTick templateStringAtom* BackTick - ; - -templateStringAtom - : TemplateStringAtom - | TemplateStringStartExpression expression TemplateCloseBrace - ; - -numericLiteral - : IntegerLiteral #IntegerLiteral - | DecimalLiteral #DecimalLiteral - // | HexIntegerLiteral #HexIntegerLiteral - // | OctalIntegerLiteral #OctalIntegerLiteral - // | OctalIntegerLiteral2 #OctalIntegerLiteral2 - // | BinaryIntegerLiteral #BinaryIntegerLiteral - ; - - -identifierName - : Identifier - ; - -identifierOrKeyWord - : Identifier - | TypeAlias - // | Require - ; - -reservedWord - : keyword - | NullLiteral - | BooleanLiteral - ; - -keyword - : Break - | Do - | Instanceof - | Typeof - | Case - | Else - | New - | Var - | Catch - | Finally - | Return - | Void - | Continue - | For - | Switch - | While - | Debugger - | Function_ - | This - | With - | Default - | If - | Throw - | Delete - | In - | Try - | ReadOnly - | Async - | From - | UseCase - // | Class - // | Enum - | Extends - // | Super - | Const - // | Export - // | Import - // | Implements - | Let - | Private - | Public - // | Interface - // | Package - | Protected - | Static - // | Yield - | Get - | Set - // | Require - | TypeAlias - | String - ; - -getter - : Get propertyName - ; - -setter - : Set propertyName - ; - -eos - : SemiColon - | EOF - // | {this.lineTerminatorAhead()}? - // | {this.closeBrace()}? - ; - -isInstanceOf: regularIdentifier Is classTypes SemiColon?; - -classTypes: ErrorClass; diff --git a/server/src/parser/grammar/BitloopsParser.interp b/server/src/parser/grammar/BitloopsParser.interp deleted file mode 100644 index dd3b5c8..0000000 --- a/server/src/parser/grammar/BitloopsParser.interp +++ /dev/null @@ -1,668 +0,0 @@ -token literal names: -null -null -null -null -'[' -']' -'(' -')' -'{' -null -'}' -';' -',' -'=' -'?' -':' -'...' -'.' -'++' -'--' -'+' -'-' -'~' -'NOT' -'*' -'/' -'%' -'>>' -'<<' -'>>>' -'<' -'>' -'<=' -'>=' -'==' -'!=' -'===' -'!==' -'&' -'^' -'|' -'AND' -'OR' -'XOR' -'*=' -'/=' -'%=' -'+=' -'-=' -'<<=' -'>>=' -'>>>=' -'&=' -'^=' -'|=' -'=>' -'null' -null -null -null -null -null -null -null -'optional' -'break' -'do' -'instanceof' -'typeof' -'case' -'else' -'new' -'var' -'catch' -'finally' -'return' -'void' -'continue' -'for' -'switch' -'while' -'debugger' -'function' -'this' -'with' -'default' -'if' -'throw' -'delete' -'in' -'try' -'as' -'from' -'readonly' -'async' -'throws' -'applyRules' -'extends' -'const' -'RepoPort' -'Props' -'ReadModel' -'DTO' -'RESTController' -'GraphQLController' -'GRPCController' -'UseCase' -'ValueObject' -'AggregateRoot' -'Entity' -'DomainEvent' -'Service' -'Repository' -'Factory' -'DomainError' -'ApplicationError' -'DomainErrors' -'ApplicationErrors' -'OK' -'Errors' -'Config' -'PackagePort' -'VO' -'Rule' -'isBrokenIf' -'Root' -'constructor' -'let' -'private' -'public' -'protected' -'static' -'any' -'double' -'float' -'int32' -'int64' -'uint32' -'uint64' -'sint32' -'sint64' -'fixed32' -'fixed64' -'sfixed32' -'sfixed64' -'bool' -'string' -'bytes' -'timestamp' -'Struct' -'type' -'get' -'set' -'execute' -'create' -'namespace' -'declare' -'JestTest' -'JestTestStatement' -'JestTestStatementList' -'JestTestFunctionBody' -'JestTestExecute' -'JestTestStructEvaluation' -'JestTestDTOEvaluation' -'JestTestEvaluation' -'JestTestReturnOkErrorType' -'JestTestExpression' -'JestTestConstDeclaration' -'JestTestMethodDefinitionList' -'JestTestCreateMethodDeclaration' -'JestTestPrivateMethodDeclaration' -'JestTestPublicMethodDeclaration' -'JestTestValueObjectDeclaration' -'JestTestEntityDeclaration' -'JestTestCondition' -'JestTestVariableDeclaration' -'JestTestThisDeclaration' -'JestTestIsInstanceOf' -'JestTestValueObjectEvaluation' -'JestTestEntityEvaluation' -'JestTestSingleExpression' -'JestTestGetClass' -'JestTestBuiltInFunction' -'JestTestBuiltInClass' -'JestTestBitloopsPrimaryType' -'UUIDv4' -'is' -'getClass' -'toString' -'@' -'method' -'REST.Methods.GET' -'REST.Methods.POST' -'REST.Methods.PUT' -'REST.Methods.PATCH' -'REST.Methods.DELETE' -'REST.Methods.OPTIONS' -'operation' -'input' -'GraphQL.Operations.Mutation' -'GraphQL.Operations.Query' -'GraphQL.Operations.Subscription' -'Error' -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -null -'${' -null -null - -token symbolic names: -null -MultiLineComment -SingleLineComment -RegularExpressionLiteral -OpenBracket -CloseBracket -OpenParen -CloseParen -OpenBrace -TemplateCloseBrace -CloseBrace -SemiColon -Comma -Assign -QuestionMark -Colon -Ellipsis -Dot -PlusPlus -MinusMinus -Plus -Minus -BitNot -Not -Multiply -Divide -Modulus -RightShiftArithmetic -LeftShiftArithmetic -RightShiftLogical -LessThan -MoreThan -LessThanEquals -GreaterThanEquals -Equals_ -NotEquals -IdentityEquals -IdentityNotEquals -BitAnd -BitXOr -BitOr -And -Or -Xor -MultiplyAssign -DivideAssign -ModulusAssign -PlusAssign -MinusAssign -LeftShiftArithmeticAssign -RightShiftArithmeticAssign -RightShiftLogicalAssign -BitAndAssign -BitXorAssign -BitOrAssign -ARROW -NullLiteral -BooleanLiteral -IntegerLiteral -DecimalLiteral -HexIntegerLiteral -OctalIntegerLiteral -OctalIntegerLiteral2 -BinaryIntegerLiteral -Optional -Break -Do -Instanceof -Typeof -Case -Else -New -Var -Catch -Finally -Return -Void -Continue -For -Switch -While -Debugger -Function_ -This -With -Default -If -Throw -Delete -In -Try -As -From -ReadOnly -Async -Throws -ApplyRules -Extends -Const -RepoPort -Props -ReadModel -DTO -RESTController -GraphQLController -GRPCController -UseCase -ValueObject -AggregateRoot -Entity -DomainEvent -Service -Repository -Factory -DomainError -ApplicationError -DomainErrors -ApplicationErrors -OK -Errors -Config -PackagePort -VO -Rule -IsBrokenIf -Root -Constructor -Let -Private -Public -Protected -Static -Any -Double -Float -Int32 -Int64 -Uint32 -Uint64 -Sint32 -Sint64 -Fixed32 -Fixed64 -Sfixed32 -Sfixed64 -Boolean -String -Bytes -Timestamp -Struct -TypeAlias -Get -Set -Execute -Create -Namespace -Declare -JestTest -JestTestStatement -JestTestStatementList -JestTestFunctionBody -JestTestExecute -JestTestStructEvaluation -JestTestDTOEvaluation -JestTestEvaluation -JestTestReturnOkErrorType -JestTestExpression -JestTestConstDeclaration -JestTestMethodDefinitionList -JestTestCreateMethodDeclaration -JestTestPrivateMethodDeclaration -JestTestPublicMethodDeclaration -JestTestValueObjectDeclaration -JestTestEntityDeclaration -JestTestCondition -JestTestVariableDeclaration -JestTestThisDeclaration -JestTestIsInstanceOf -JestTestValueObjectEvaluation -JestTestEntityEvaluation -JestTestSingleExpression -JestTestGetClass -JestTestBuiltInFunction -JestTestBuiltInClass -JestTestBitloopsPrimaryType -UUIDv4 -Is -GetClass -ToString -At -Method -MethodGet -MethodPost -MethodPut -MethodPatch -MethodDelete -MethodOptions -GraphQLOperation -Input -OperationMutation -OperationQuery -OperationSubscription -ErrorClass -DTOIdentifier -ValueObjectIdentifier -EntityIdentifier -ErrorIdentifier -ControllerIdentifier -UseCaseIdentifier -PackagePortIdentifier -PropsIdentifier -ReadModelIdentifier -RuleIdentifier -RepoPortIdentifier -DomainErrorIdentifier -ValueObjectEvaluationIdentifier -UpperCaseIdentifier -Identifier -StringLiteral -BackTick -WhiteSpaces -LineTerminator -HtmlComment -CDataComment -UnexpectedCharacter -TemplateStringStartExpression -TemplateStringAtom -WS - -rule names: -initializer -bindingPattern -fieldList -evaluationFieldList -evaluationField -propFields -propsIdentifier -bitloopsIdentifiers -primitives -identifier -upperCaseIdentifier -struct -regularErrorTypeEvaluation -methodArguments -openParen -closeParen -regularIdentifier -regularStringEvaluation -regularIntegerEvaluation -regularDecimalEvaluation -regularBooleanEvaluation -regularStructEvaluation -regularDTOEvaluation -field -bitloopsPrimaryType -bitloopsBuiltInClass -predefinedType -typeName -methodDefinitionList -methodDefinition -typeQuery -typeQueryExpression -typeAnnotation -parameterList -requiredParameterList -parameter -optionalParameter -restParameter -requiredParameter -accessibilityModifier -identifierOrPattern -indexSignature -enumBody -enumMemberList -enumMember -namespaceDeclaration -namespaceName -importAliasDeclaration -decoratorList -decorator -decoratorMemberExpression -decoratorCallExpression -program -sourceElement -jestTestDeclaration -errorEvaluation -evaluation -condition -returnStatement -constDeclaration -variableDeclaration -statement -builtInFunction -applyRuleStatementRulesList -applyRulesRule -block -statementList -fromBlock -multipleImportStatement -variableDeclarationList -emptyStatement_ -expressionStatement -ifStatement -iterationStatement -varModifier -continueStatement -breakStatement -withStatement -switchStatement -caseBlock -caseClauses -caseClause -defaultClause -labelledStatement -throwStatement -tryStatement -catchProduction -finallyProduction -debuggerStatement -domainFieldDeclaration -isBrokenStatement -domainRuleBody -domainRuleDeclaration -aggregateDeclaration -domainConstDeclaration -entityDeclaration -entityBody -valueObjectDeclaration -domainConstDeclarationList -publicMethodDeclarationList -privateMethodDeclarationList -domainConstructorDeclaration -useCaseIdentifier -useCaseDeclaration -propsDeclaration -readModelDeclaration -repoPortDeclaration -repoPortIdentifier -aggregateRootIdentifier -repoExtendsList -repoPortMethodDefinitions -repoPortExtendableIdentifierList -repoPortExtendableIdentifier -dtoDeclaration -structDeclaration -dtoEvaluationIdentifier -dtoEvaluation -valueObjectEvaluation -domainEvaluationInput -entityEvaluation -structEvaluationIdentifier -structEvaluation -builtInClassEvaluation -propsEvaluation -domainErrorDeclaration -applicationErrorDeclaration -domainErrorIdentifier -applicationErrorIdentifier -useCaseExecuteDeclaration -restControllerParameters -restControllerExecuteDeclaration -restControllerMethodDeclaration -httpMethod -controllerDeclaration -graphQLResolverOptions -graphQLOperationTypeAssignment -graphQLOperationInputTypeAssignment -graphQLResolverInputType -graphQLOperation -graphQLControllerExecuteDeclaration -graphQLControllerParameters -graphQLControllerReturnType -dtoIdentifier -dtoIdentifiers -errorIdentifier -errorIdentifiers -valueObjectIdentifier -entityIdentifier -domainRuleIdentifier -returnOkType -returnErrorsType -returnOkErrorType -packagePortIdentifier -packagePortDeclaration -methodDeclaration -privateMethodDeclaration -publicMethodDeclaration -returnPublicMethodType -returnPrivateMethodType -propertyMemberBase -indexMemberDeclaration -generatorMethod -generatorFunctionDeclaration -generatorBlock -generatorDefinition -iteratorBlock -iteratorDefinition -formalParameterList -formalParameterArg -lastFormalParameterArg -functionBody -arrayLiteral -elementList -objectLiteral -regularVariableEvaluationORliteralORexpression -propertyAssignment -getAccessor -setAccessor -propertyName -arguments -argumentList -argument -expressionSequence -functionExpressionDeclaration -expression -asExpression -arrowFunctionDeclaration -arrowFunctionParameters -arrowFunctionBody -assignmentOperator -literal -templateStringLiteral -templateStringAtom -numericLiteral -identifierName -identifierOrKeyWord -reservedWord -keyword -getter -setter -eos -isInstanceOf -classTypes - - -atn: -[4, 1, 227, 2087, 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, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 3, 1, 412, 8, 1, 1, 2, 1, 2, 1, 2, 5, 2, 417, 8, 2, 10, 2, 12, 2, 420, 9, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 5, 3, 427, 8, 3, 10, 3, 12, 3, 430, 9, 3, 1, 3, 3, 3, 433, 8, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 3, 5, 441, 8, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 457, 8, 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, 13, 5, 13, 473, 8, 13, 10, 13, 12, 13, 476, 9, 13, 3, 13, 478, 8, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 493, 8, 16, 1, 17, 1, 17, 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 22, 1, 22, 1, 23, 3, 23, 508, 8, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24, 517, 8, 24, 1, 24, 1, 24, 1, 24, 5, 24, 522, 8, 24, 10, 24, 12, 24, 525, 9, 24, 1, 25, 1, 25, 1, 26, 1, 26, 1, 27, 1, 27, 3, 27, 533, 8, 27, 1, 28, 5, 28, 536, 8, 28, 10, 28, 12, 28, 539, 9, 28, 1, 29, 1, 29, 3, 29, 543, 8, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 4, 31, 555, 8, 31, 11, 31, 12, 31, 556, 1, 31, 1, 31, 3, 31, 561, 8, 31, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33, 570, 8, 33, 10, 33, 12, 33, 573, 9, 33, 1, 33, 1, 33, 3, 33, 577, 8, 33, 3, 33, 579, 8, 33, 1, 34, 1, 34, 1, 34, 5, 34, 584, 8, 34, 10, 34, 12, 34, 587, 9, 34, 1, 35, 1, 35, 3, 35, 591, 8, 35, 1, 36, 3, 36, 594, 8, 36, 1, 36, 3, 36, 597, 8, 36, 1, 36, 1, 36, 1, 36, 3, 36, 602, 8, 36, 1, 36, 3, 36, 605, 8, 36, 1, 36, 3, 36, 608, 8, 36, 1, 37, 1, 37, 1, 37, 3, 37, 613, 8, 37, 1, 38, 3, 38, 616, 8, 38, 1, 38, 3, 38, 619, 8, 38, 1, 38, 1, 38, 3, 38, 623, 8, 38, 1, 39, 1, 39, 1, 40, 1, 40, 3, 40, 629, 8, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 3, 42, 640, 8, 42, 1, 43, 1, 43, 1, 43, 5, 43, 645, 8, 43, 10, 43, 12, 43, 648, 9, 43, 1, 44, 1, 44, 1, 44, 3, 44, 653, 8, 44, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 659, 8, 45, 1, 45, 1, 45, 1, 46, 1, 46, 4, 46, 665, 8, 46, 11, 46, 12, 46, 666, 1, 46, 5, 46, 670, 8, 46, 10, 46, 12, 46, 673, 9, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 4, 48, 681, 8, 48, 11, 48, 12, 48, 682, 1, 49, 1, 49, 1, 49, 3, 49, 688, 8, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 3, 50, 696, 8, 50, 1, 50, 1, 50, 1, 50, 5, 50, 701, 8, 50, 10, 50, 12, 50, 704, 9, 50, 1, 51, 1, 51, 1, 51, 1, 52, 5, 52, 710, 8, 52, 10, 52, 12, 52, 713, 9, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 3, 53, 730, 8, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 737, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 744, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 750, 8, 54, 1, 54, 1, 54, 3, 54, 754, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 760, 8, 54, 1, 54, 1, 54, 3, 54, 764, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 770, 8, 54, 1, 54, 1, 54, 3, 54, 774, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 780, 8, 54, 1, 54, 1, 54, 3, 54, 784, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 791, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 798, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 825, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 832, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 839, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 846, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 853, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 860, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 867, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 874, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 881, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 888, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 895, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 902, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 909, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 916, 8, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 3, 54, 923, 8, 54, 3, 54, 925, 8, 54, 1, 55, 1, 55, 1, 55, 3, 55, 930, 8, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 3, 56, 940, 8, 56, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 3, 59, 950, 8, 59, 1, 59, 1, 59, 1, 59, 3, 59, 955, 8, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 3, 60, 962, 8, 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, 61, 1, 61, 1, 61, 3, 61, 980, 8, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 3, 62, 987, 8, 62, 1, 63, 1, 63, 1, 63, 5, 63, 992, 8, 63, 10, 63, 12, 63, 995, 9, 63, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 3, 65, 1002, 8, 65, 1, 65, 1, 65, 1, 66, 4, 66, 1007, 8, 66, 11, 66, 12, 66, 1008, 1, 66, 3, 66, 1012, 8, 66, 1, 67, 1, 67, 3, 67, 1016, 8, 67, 1, 67, 1, 67, 3, 67, 1020, 8, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 3, 68, 1029, 8, 68, 1, 68, 1, 68, 1, 68, 1, 68, 5, 68, 1035, 8, 68, 10, 68, 12, 68, 1038, 9, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 5, 69, 1045, 8, 69, 10, 69, 12, 69, 1048, 9, 69, 1, 70, 1, 70, 1, 71, 1, 71, 3, 71, 1054, 8, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 1, 72, 3, 72, 1063, 8, 72, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 3, 73, 1082, 8, 73, 1, 73, 1, 73, 3, 73, 1086, 8, 73, 1, 73, 1, 73, 3, 73, 1090, 8, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 3, 73, 1100, 8, 73, 1, 73, 1, 73, 3, 73, 1104, 8, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 3, 73, 1114, 8, 73, 3, 73, 1116, 8, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 1, 73, 3, 73, 1128, 8, 73, 3, 73, 1130, 8, 73, 1, 73, 1, 73, 1, 73, 1, 73, 3, 73, 1136, 8, 73, 1, 74, 1, 74, 1, 75, 1, 75, 3, 75, 1142, 8, 75, 1, 75, 1, 75, 1, 76, 1, 76, 3, 76, 1148, 8, 76, 1, 76, 1, 76, 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, 79, 1, 79, 3, 79, 1166, 8, 79, 1, 79, 1, 79, 3, 79, 1170, 8, 79, 1, 79, 1, 79, 1, 80, 4, 80, 1175, 8, 80, 11, 80, 12, 80, 1176, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 3, 81, 1184, 8, 81, 1, 81, 1, 81, 3, 81, 1188, 8, 81, 1, 81, 1, 81, 1, 81, 1, 81, 3, 81, 1194, 8, 81, 1, 81, 3, 81, 1197, 8, 81, 3, 81, 1199, 8, 81, 1, 82, 1, 82, 1, 82, 1, 82, 3, 82, 1205, 8, 82, 1, 82, 1, 82, 3, 82, 1209, 8, 82, 1, 82, 1, 82, 1, 82, 3, 82, 1214, 8, 82, 1, 82, 3, 82, 1217, 8, 82, 3, 82, 1219, 8, 82, 1, 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 3, 85, 1233, 8, 85, 1, 85, 3, 85, 1236, 8, 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 1, 92, 3, 92, 1264, 8, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 3, 93, 1277, 8, 93, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 3, 95, 1285, 8, 95, 1, 96, 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, 97, 1, 97, 3, 97, 1302, 8, 97, 1, 98, 5, 98, 1305, 8, 98, 10, 98, 12, 98, 1308, 9, 98, 1, 99, 5, 99, 1311, 8, 99, 10, 99, 12, 99, 1314, 9, 99, 1, 100, 5, 100, 1317, 8, 100, 10, 100, 12, 100, 1320, 9, 100, 1, 101, 1, 101, 3, 101, 1324, 8, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, 3, 103, 1337, 8, 103, 1, 103, 1, 103, 1, 103, 1, 103, 3, 103, 1343, 8, 103, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 1, 104, 3, 104, 1351, 8, 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 3, 105, 1359, 8, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 3, 106, 1368, 8, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 3, 106, 1378, 8, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 3, 106, 1387, 8, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 3, 106, 1397, 8, 106, 3, 106, 1399, 8, 106, 1, 107, 1, 107, 1, 108, 1, 108, 1, 109, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 5, 111, 1415, 8, 111, 10, 111, 12, 111, 1418, 9, 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 1, 112, 3, 112, 1426, 8, 112, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 1, 113, 3, 113, 1434, 8, 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 3, 114, 1442, 8, 114, 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, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 3, 118, 1466, 8, 118, 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, 122, 3, 122, 1483, 8, 122, 1, 122, 1, 122, 3, 122, 1487, 8, 122, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 3, 124, 1499, 8, 124, 1, 124, 1, 124, 3, 124, 1503, 8, 124, 1, 124, 1, 124, 3, 124, 1507, 8, 124, 1, 125, 1, 125, 1, 125, 3, 125, 1512, 8, 125, 1, 125, 1, 125, 3, 125, 1516, 8, 125, 1, 125, 1, 125, 3, 125, 1520, 8, 125, 1, 126, 1, 126, 1, 127, 1, 127, 1, 128, 1, 128, 3, 128, 1528, 8, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 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, 131, 3, 131, 1552, 8, 131, 1, 132, 1, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 3, 133, 1564, 8, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 1, 133, 3, 133, 1574, 8, 133, 3, 133, 1576, 8, 133, 1, 134, 1, 134, 3, 134, 1580, 8, 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, 138, 1, 138, 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, 141, 1, 141, 1, 142, 1, 142, 1, 143, 1, 143, 1, 143, 5, 143, 1615, 8, 143, 10, 143, 12, 143, 1618, 9, 143, 1, 144, 1, 144, 1, 145, 1, 145, 1, 145, 5, 145, 1625, 8, 145, 10, 145, 12, 145, 1628, 9, 145, 1, 146, 1, 146, 1, 147, 1, 147, 1, 148, 1, 148, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 150, 1, 150, 1, 150, 3, 150, 1644, 8, 150, 1, 150, 1, 150, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 152, 1, 152, 1, 153, 1, 153, 1, 153, 1, 153, 1, 153, 1, 153, 1, 154, 1, 154, 3, 154, 1664, 8, 154, 1, 155, 3, 155, 1667, 8, 155, 1, 155, 1, 155, 3, 155, 1671, 8, 155, 1, 155, 1, 155, 1, 155, 1, 155, 1, 155, 1, 156, 3, 156, 1679, 8, 156, 1, 156, 1, 156, 3, 156, 1683, 8, 156, 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 1, 157, 1, 157, 1, 157, 1, 158, 1, 158, 1, 158, 3, 158, 1696, 8, 158, 1, 159, 3, 159, 1699, 8, 159, 1, 159, 3, 159, 1702, 8, 159, 1, 160, 1, 160, 1, 160, 1, 161, 3, 161, 1708, 8, 161, 1, 161, 1, 161, 1, 161, 3, 161, 1713, 8, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 162, 1, 162, 1, 162, 3, 162, 1723, 8, 162, 1, 162, 1, 162, 3, 162, 1727, 8, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 163, 1, 163, 1, 163, 1, 163, 5, 163, 1738, 8, 163, 10, 163, 12, 163, 1741, 9, 163, 1, 163, 3, 163, 1744, 8, 163, 1, 163, 1, 163, 1, 164, 1, 164, 1, 164, 1, 165, 1, 165, 1, 165, 1, 165, 5, 165, 1755, 8, 165, 10, 165, 12, 165, 1758, 9, 165, 1, 165, 3, 165, 1761, 8, 165, 1, 165, 1, 165, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 3, 166, 1770, 8, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 166, 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 1, 167, 5, 167, 1783, 8, 167, 10, 167, 12, 167, 1786, 9, 167, 1, 167, 1, 167, 3, 167, 1790, 8, 167, 1, 167, 3, 167, 1793, 8, 167, 1, 167, 3, 167, 1796, 8, 167, 1, 168, 3, 168, 1799, 8, 168, 1, 168, 3, 168, 1802, 8, 168, 1, 168, 1, 168, 3, 168, 1806, 8, 168, 1, 168, 1, 168, 3, 168, 1810, 8, 168, 1, 169, 1, 169, 1, 169, 1, 170, 3, 170, 1816, 8, 170, 1, 171, 1, 171, 3, 171, 1820, 8, 171, 1, 171, 1, 171, 1, 172, 1, 172, 1, 172, 5, 172, 1827, 8, 172, 10, 172, 12, 172, 1830, 9, 172, 1, 173, 1, 173, 1, 173, 1, 173, 5, 173, 1836, 8, 173, 10, 173, 12, 173, 1839, 9, 173, 1, 173, 3, 173, 1842, 8, 173, 3, 173, 1844, 8, 173, 1, 173, 1, 173, 1, 174, 1, 174, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 1, 175, 3, 175, 1865, 8, 175, 1, 176, 1, 176, 1, 176, 1, 176, 3, 176, 1871, 8, 176, 1, 176, 1, 176, 1, 176, 1, 176, 1, 177, 1, 177, 1, 177, 1, 177, 3, 177, 1881, 8, 177, 1, 177, 3, 177, 1884, 8, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 177, 1, 178, 1, 178, 1, 178, 3, 178, 1894, 8, 178, 1, 179, 1, 179, 1, 179, 3, 179, 1899, 8, 179, 3, 179, 1901, 8, 179, 1, 179, 1, 179, 1, 180, 1, 180, 1, 180, 5, 180, 1908, 8, 180, 10, 180, 12, 180, 1911, 9, 180, 1, 181, 1, 181, 1, 182, 1, 182, 1, 182, 5, 182, 1918, 8, 182, 10, 182, 12, 182, 1921, 9, 182, 1, 183, 1, 183, 3, 183, 1925, 8, 183, 1, 183, 1, 183, 3, 183, 1929, 8, 183, 1, 183, 1, 183, 3, 183, 1933, 8, 183, 1, 183, 1, 183, 1, 183, 1, 183, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 3, 184, 1951, 8, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 1, 184, 5, 184, 1992, 8, 184, 10, 184, 12, 184, 1995, 9, 184, 1, 185, 1, 185, 1, 185, 3, 185, 2000, 8, 185, 1, 185, 3, 185, 2003, 8, 185, 1, 186, 3, 186, 2006, 8, 186, 1, 186, 1, 186, 3, 186, 2010, 8, 186, 1, 186, 1, 186, 1, 186, 1, 187, 1, 187, 1, 187, 3, 187, 2018, 8, 187, 1, 187, 3, 187, 2021, 8, 187, 1, 188, 1, 188, 1, 188, 1, 188, 1, 188, 3, 188, 2028, 8, 188, 1, 189, 1, 189, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 1, 190, 3, 190, 2038, 8, 190, 1, 191, 1, 191, 5, 191, 2042, 8, 191, 10, 191, 12, 191, 2045, 9, 191, 1, 191, 1, 191, 1, 192, 1, 192, 1, 192, 1, 192, 1, 192, 3, 192, 2054, 8, 192, 1, 193, 1, 193, 3, 193, 2058, 8, 193, 1, 194, 1, 194, 1, 195, 1, 195, 1, 196, 1, 196, 1, 196, 3, 196, 2067, 8, 196, 1, 197, 1, 197, 1, 198, 1, 198, 1, 198, 1, 199, 1, 199, 1, 199, 1, 200, 1, 200, 1, 201, 1, 201, 1, 201, 1, 201, 3, 201, 2083, 8, 201, 1, 202, 1, 202, 1, 202, 0, 3, 48, 100, 368, 203, 0, 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, 0, 17, 2, 0, 76, 76, 132, 148, 5, 0, 76, 76, 132, 132, 135, 135, 145, 146, 149, 149, 1, 0, 128, 129, 2, 0, 135, 135, 146, 146, 3, 0, 72, 72, 98, 98, 127, 127, 3, 0, 205, 205, 211, 211, 216, 217, 1, 0, 191, 196, 1, 0, 199, 201, 2, 0, 13, 13, 15, 15, 1, 0, 24, 26, 1, 0, 20, 21, 1, 0, 30, 33, 1, 0, 34, 35, 1, 0, 44, 54, 2, 0, 150, 150, 217, 217, 7, 0, 65, 90, 92, 94, 97, 98, 106, 106, 127, 131, 146, 146, 150, 152, 1, 1, 11, 11, 2204, 0, 406, 1, 0, 0, 0, 2, 411, 1, 0, 0, 0, 4, 413, 1, 0, 0, 0, 6, 423, 1, 0, 0, 0, 8, 434, 1, 0, 0, 0, 10, 438, 1, 0, 0, 0, 12, 444, 1, 0, 0, 0, 14, 456, 1, 0, 0, 0, 16, 458, 1, 0, 0, 0, 18, 460, 1, 0, 0, 0, 20, 462, 1, 0, 0, 0, 22, 464, 1, 0, 0, 0, 24, 466, 1, 0, 0, 0, 26, 468, 1, 0, 0, 0, 28, 481, 1, 0, 0, 0, 30, 483, 1, 0, 0, 0, 32, 492, 1, 0, 0, 0, 34, 494, 1, 0, 0, 0, 36, 496, 1, 0, 0, 0, 38, 498, 1, 0, 0, 0, 40, 500, 1, 0, 0, 0, 42, 502, 1, 0, 0, 0, 44, 504, 1, 0, 0, 0, 46, 507, 1, 0, 0, 0, 48, 516, 1, 0, 0, 0, 50, 526, 1, 0, 0, 0, 52, 528, 1, 0, 0, 0, 54, 532, 1, 0, 0, 0, 56, 537, 1, 0, 0, 0, 58, 540, 1, 0, 0, 0, 60, 547, 1, 0, 0, 0, 62, 560, 1, 0, 0, 0, 64, 562, 1, 0, 0, 0, 66, 578, 1, 0, 0, 0, 68, 580, 1, 0, 0, 0, 70, 590, 1, 0, 0, 0, 72, 593, 1, 0, 0, 0, 74, 609, 1, 0, 0, 0, 76, 615, 1, 0, 0, 0, 78, 624, 1, 0, 0, 0, 80, 628, 1, 0, 0, 0, 82, 630, 1, 0, 0, 0, 84, 637, 1, 0, 0, 0, 86, 641, 1, 0, 0, 0, 88, 649, 1, 0, 0, 0, 90, 654, 1, 0, 0, 0, 92, 662, 1, 0, 0, 0, 94, 674, 1, 0, 0, 0, 96, 680, 1, 0, 0, 0, 98, 684, 1, 0, 0, 0, 100, 695, 1, 0, 0, 0, 102, 705, 1, 0, 0, 0, 104, 711, 1, 0, 0, 0, 106, 729, 1, 0, 0, 0, 108, 924, 1, 0, 0, 0, 110, 926, 1, 0, 0, 0, 112, 939, 1, 0, 0, 0, 114, 941, 1, 0, 0, 0, 116, 943, 1, 0, 0, 0, 118, 946, 1, 0, 0, 0, 120, 956, 1, 0, 0, 0, 122, 979, 1, 0, 0, 0, 124, 981, 1, 0, 0, 0, 126, 988, 1, 0, 0, 0, 128, 996, 1, 0, 0, 0, 130, 999, 1, 0, 0, 0, 132, 1006, 1, 0, 0, 0, 134, 1015, 1, 0, 0, 0, 136, 1028, 1, 0, 0, 0, 138, 1041, 1, 0, 0, 0, 140, 1049, 1, 0, 0, 0, 142, 1051, 1, 0, 0, 0, 144, 1055, 1, 0, 0, 0, 146, 1135, 1, 0, 0, 0, 148, 1137, 1, 0, 0, 0, 150, 1139, 1, 0, 0, 0, 152, 1145, 1, 0, 0, 0, 154, 1151, 1, 0, 0, 0, 156, 1157, 1, 0, 0, 0, 158, 1163, 1, 0, 0, 0, 160, 1174, 1, 0, 0, 0, 162, 1198, 1, 0, 0, 0, 164, 1218, 1, 0, 0, 0, 166, 1220, 1, 0, 0, 0, 168, 1224, 1, 0, 0, 0, 170, 1228, 1, 0, 0, 0, 172, 1237, 1, 0, 0, 0, 174, 1243, 1, 0, 0, 0, 176, 1246, 1, 0, 0, 0, 178, 1249, 1, 0, 0, 0, 180, 1251, 1, 0, 0, 0, 182, 1257, 1, 0, 0, 0, 184, 1260, 1, 0, 0, 0, 186, 1271, 1, 0, 0, 0, 188, 1278, 1, 0, 0, 0, 190, 1280, 1, 0, 0, 0, 192, 1286, 1, 0, 0, 0, 194, 1293, 1, 0, 0, 0, 196, 1306, 1, 0, 0, 0, 198, 1312, 1, 0, 0, 0, 200, 1318, 1, 0, 0, 0, 202, 1321, 1, 0, 0, 0, 204, 1331, 1, 0, 0, 0, 206, 1333, 1, 0, 0, 0, 208, 1344, 1, 0, 0, 0, 210, 1352, 1, 0, 0, 0, 212, 1398, 1, 0, 0, 0, 214, 1400, 1, 0, 0, 0, 216, 1402, 1, 0, 0, 0, 218, 1404, 1, 0, 0, 0, 220, 1407, 1, 0, 0, 0, 222, 1411, 1, 0, 0, 0, 224, 1425, 1, 0, 0, 0, 226, 1427, 1, 0, 0, 0, 228, 1435, 1, 0, 0, 0, 230, 1443, 1, 0, 0, 0, 232, 1445, 1, 0, 0, 0, 234, 1452, 1, 0, 0, 0, 236, 1465, 1, 0, 0, 0, 238, 1467, 1, 0, 0, 0, 240, 1470, 1, 0, 0, 0, 242, 1472, 1, 0, 0, 0, 244, 1479, 1, 0, 0, 0, 246, 1488, 1, 0, 0, 0, 248, 1495, 1, 0, 0, 0, 250, 1508, 1, 0, 0, 0, 252, 1521, 1, 0, 0, 0, 254, 1523, 1, 0, 0, 0, 256, 1525, 1, 0, 0, 0, 258, 1535, 1, 0, 0, 0, 260, 1539, 1, 0, 0, 0, 262, 1547, 1, 0, 0, 0, 264, 1553, 1, 0, 0, 0, 266, 1575, 1, 0, 0, 0, 268, 1577, 1, 0, 0, 0, 270, 1581, 1, 0, 0, 0, 272, 1586, 1, 0, 0, 0, 274, 1591, 1, 0, 0, 0, 276, 1593, 1, 0, 0, 0, 278, 1595, 1, 0, 0, 0, 280, 1605, 1, 0, 0, 0, 282, 1607, 1, 0, 0, 0, 284, 1609, 1, 0, 0, 0, 286, 1611, 1, 0, 0, 0, 288, 1619, 1, 0, 0, 0, 290, 1621, 1, 0, 0, 0, 292, 1629, 1, 0, 0, 0, 294, 1631, 1, 0, 0, 0, 296, 1633, 1, 0, 0, 0, 298, 1635, 1, 0, 0, 0, 300, 1640, 1, 0, 0, 0, 302, 1647, 1, 0, 0, 0, 304, 1653, 1, 0, 0, 0, 306, 1655, 1, 0, 0, 0, 308, 1663, 1, 0, 0, 0, 310, 1666, 1, 0, 0, 0, 312, 1678, 1, 0, 0, 0, 314, 1689, 1, 0, 0, 0, 316, 1695, 1, 0, 0, 0, 318, 1698, 1, 0, 0, 0, 320, 1703, 1, 0, 0, 0, 322, 1707, 1, 0, 0, 0, 324, 1719, 1, 0, 0, 0, 326, 1733, 1, 0, 0, 0, 328, 1747, 1, 0, 0, 0, 330, 1750, 1, 0, 0, 0, 332, 1764, 1, 0, 0, 0, 334, 1795, 1, 0, 0, 0, 336, 1798, 1, 0, 0, 0, 338, 1811, 1, 0, 0, 0, 340, 1815, 1, 0, 0, 0, 342, 1817, 1, 0, 0, 0, 344, 1823, 1, 0, 0, 0, 346, 1831, 1, 0, 0, 0, 348, 1847, 1, 0, 0, 0, 350, 1864, 1, 0, 0, 0, 352, 1866, 1, 0, 0, 0, 354, 1876, 1, 0, 0, 0, 356, 1893, 1, 0, 0, 0, 358, 1895, 1, 0, 0, 0, 360, 1904, 1, 0, 0, 0, 362, 1912, 1, 0, 0, 0, 364, 1914, 1, 0, 0, 0, 366, 1922, 1, 0, 0, 0, 368, 1950, 1, 0, 0, 0, 370, 2002, 1, 0, 0, 0, 372, 2005, 1, 0, 0, 0, 374, 2020, 1, 0, 0, 0, 376, 2027, 1, 0, 0, 0, 378, 2029, 1, 0, 0, 0, 380, 2037, 1, 0, 0, 0, 382, 2039, 1, 0, 0, 0, 384, 2053, 1, 0, 0, 0, 386, 2057, 1, 0, 0, 0, 388, 2059, 1, 0, 0, 0, 390, 2061, 1, 0, 0, 0, 392, 2066, 1, 0, 0, 0, 394, 2068, 1, 0, 0, 0, 396, 2070, 1, 0, 0, 0, 398, 2073, 1, 0, 0, 0, 400, 2076, 1, 0, 0, 0, 402, 2078, 1, 0, 0, 0, 404, 2084, 1, 0, 0, 0, 406, 407, 5, 13, 0, 0, 407, 408, 3, 368, 184, 0, 408, 1, 1, 0, 0, 0, 409, 412, 3, 342, 171, 0, 410, 412, 3, 346, 173, 0, 411, 409, 1, 0, 0, 0, 411, 410, 1, 0, 0, 0, 412, 3, 1, 0, 0, 0, 413, 418, 3, 46, 23, 0, 414, 415, 5, 11, 0, 0, 415, 417, 3, 46, 23, 0, 416, 414, 1, 0, 0, 0, 417, 420, 1, 0, 0, 0, 418, 416, 1, 0, 0, 0, 418, 419, 1, 0, 0, 0, 419, 421, 1, 0, 0, 0, 420, 418, 1, 0, 0, 0, 421, 422, 5, 11, 0, 0, 422, 5, 1, 0, 0, 0, 423, 428, 3, 8, 4, 0, 424, 425, 5, 12, 0, 0, 425, 427, 3, 8, 4, 0, 426, 424, 1, 0, 0, 0, 427, 430, 1, 0, 0, 0, 428, 426, 1, 0, 0, 0, 428, 429, 1, 0, 0, 0, 429, 432, 1, 0, 0, 0, 430, 428, 1, 0, 0, 0, 431, 433, 5, 12, 0, 0, 432, 431, 1, 0, 0, 0, 432, 433, 1, 0, 0, 0, 433, 7, 1, 0, 0, 0, 434, 435, 5, 217, 0, 0, 435, 436, 5, 15, 0, 0, 436, 437, 3, 368, 184, 0, 437, 9, 1, 0, 0, 0, 438, 440, 5, 8, 0, 0, 439, 441, 3, 4, 2, 0, 440, 439, 1, 0, 0, 0, 440, 441, 1, 0, 0, 0, 441, 442, 1, 0, 0, 0, 442, 443, 5, 10, 0, 0, 443, 11, 1, 0, 0, 0, 444, 445, 5, 210, 0, 0, 445, 13, 1, 0, 0, 0, 446, 457, 5, 208, 0, 0, 447, 457, 3, 284, 142, 0, 448, 457, 5, 207, 0, 0, 449, 457, 5, 206, 0, 0, 450, 457, 3, 12, 6, 0, 451, 457, 5, 204, 0, 0, 452, 457, 5, 205, 0, 0, 453, 457, 5, 213, 0, 0, 454, 457, 5, 211, 0, 0, 455, 457, 5, 216, 0, 0, 456, 446, 1, 0, 0, 0, 456, 447, 1, 0, 0, 0, 456, 448, 1, 0, 0, 0, 456, 449, 1, 0, 0, 0, 456, 450, 1, 0, 0, 0, 456, 451, 1, 0, 0, 0, 456, 452, 1, 0, 0, 0, 456, 453, 1, 0, 0, 0, 456, 454, 1, 0, 0, 0, 456, 455, 1, 0, 0, 0, 457, 15, 1, 0, 0, 0, 458, 459, 7, 0, 0, 0, 459, 17, 1, 0, 0, 0, 460, 461, 5, 217, 0, 0, 461, 19, 1, 0, 0, 0, 462, 463, 5, 216, 0, 0, 463, 21, 1, 0, 0, 0, 464, 465, 5, 216, 0, 0, 465, 23, 1, 0, 0, 0, 466, 467, 3, 288, 144, 0, 467, 25, 1, 0, 0, 0, 468, 477, 5, 6, 0, 0, 469, 474, 3, 360, 180, 0, 470, 471, 5, 12, 0, 0, 471, 473, 3, 360, 180, 0, 472, 470, 1, 0, 0, 0, 473, 476, 1, 0, 0, 0, 474, 472, 1, 0, 0, 0, 474, 475, 1, 0, 0, 0, 475, 478, 1, 0, 0, 0, 476, 474, 1, 0, 0, 0, 477, 469, 1, 0, 0, 0, 477, 478, 1, 0, 0, 0, 478, 479, 1, 0, 0, 0, 479, 480, 5, 7, 0, 0, 480, 27, 1, 0, 0, 0, 481, 482, 5, 6, 0, 0, 482, 29, 1, 0, 0, 0, 483, 484, 5, 7, 0, 0, 484, 31, 1, 0, 0, 0, 485, 493, 5, 217, 0, 0, 486, 493, 3, 44, 22, 0, 487, 493, 3, 42, 21, 0, 488, 493, 3, 24, 12, 0, 489, 493, 5, 153, 0, 0, 490, 493, 5, 154, 0, 0, 491, 493, 5, 88, 0, 0, 492, 485, 1, 0, 0, 0, 492, 486, 1, 0, 0, 0, 492, 487, 1, 0, 0, 0, 492, 488, 1, 0, 0, 0, 492, 489, 1, 0, 0, 0, 492, 490, 1, 0, 0, 0, 492, 491, 1, 0, 0, 0, 493, 33, 1, 0, 0, 0, 494, 495, 5, 218, 0, 0, 495, 35, 1, 0, 0, 0, 496, 497, 5, 58, 0, 0, 497, 37, 1, 0, 0, 0, 498, 499, 5, 59, 0, 0, 499, 39, 1, 0, 0, 0, 500, 501, 5, 57, 0, 0, 501, 41, 1, 0, 0, 0, 502, 503, 5, 216, 0, 0, 503, 43, 1, 0, 0, 0, 504, 505, 5, 203, 0, 0, 505, 45, 1, 0, 0, 0, 506, 508, 5, 64, 0, 0, 507, 506, 1, 0, 0, 0, 507, 508, 1, 0, 0, 0, 508, 509, 1, 0, 0, 0, 509, 510, 3, 48, 24, 0, 510, 511, 3, 18, 9, 0, 511, 47, 1, 0, 0, 0, 512, 513, 6, 24, -1, 0, 513, 517, 3, 16, 8, 0, 514, 517, 3, 50, 25, 0, 515, 517, 3, 14, 7, 0, 516, 512, 1, 0, 0, 0, 516, 514, 1, 0, 0, 0, 516, 515, 1, 0, 0, 0, 517, 523, 1, 0, 0, 0, 518, 519, 10, 2, 0, 0, 519, 520, 5, 4, 0, 0, 520, 522, 5, 5, 0, 0, 521, 518, 1, 0, 0, 0, 522, 525, 1, 0, 0, 0, 523, 521, 1, 0, 0, 0, 523, 524, 1, 0, 0, 0, 524, 49, 1, 0, 0, 0, 525, 523, 1, 0, 0, 0, 526, 527, 5, 185, 0, 0, 527, 51, 1, 0, 0, 0, 528, 529, 7, 1, 0, 0, 529, 53, 1, 0, 0, 0, 530, 533, 5, 217, 0, 0, 531, 533, 3, 92, 46, 0, 532, 530, 1, 0, 0, 0, 532, 531, 1, 0, 0, 0, 533, 55, 1, 0, 0, 0, 534, 536, 3, 58, 29, 0, 535, 534, 1, 0, 0, 0, 536, 539, 1, 0, 0, 0, 537, 535, 1, 0, 0, 0, 537, 538, 1, 0, 0, 0, 538, 57, 1, 0, 0, 0, 539, 537, 1, 0, 0, 0, 540, 542, 3, 18, 9, 0, 541, 543, 3, 334, 167, 0, 542, 541, 1, 0, 0, 0, 542, 543, 1, 0, 0, 0, 543, 544, 1, 0, 0, 0, 544, 545, 3, 64, 32, 0, 545, 546, 5, 11, 0, 0, 546, 59, 1, 0, 0, 0, 547, 548, 5, 68, 0, 0, 548, 549, 3, 62, 31, 0, 549, 61, 1, 0, 0, 0, 550, 561, 5, 217, 0, 0, 551, 552, 3, 388, 194, 0, 552, 553, 5, 17, 0, 0, 553, 555, 1, 0, 0, 0, 554, 551, 1, 0, 0, 0, 555, 556, 1, 0, 0, 0, 556, 554, 1, 0, 0, 0, 556, 557, 1, 0, 0, 0, 557, 558, 1, 0, 0, 0, 558, 559, 3, 388, 194, 0, 559, 561, 1, 0, 0, 0, 560, 550, 1, 0, 0, 0, 560, 554, 1, 0, 0, 0, 561, 63, 1, 0, 0, 0, 562, 563, 5, 15, 0, 0, 563, 564, 3, 48, 24, 0, 564, 65, 1, 0, 0, 0, 565, 579, 3, 74, 37, 0, 566, 571, 3, 70, 35, 0, 567, 568, 5, 12, 0, 0, 568, 570, 3, 70, 35, 0, 569, 567, 1, 0, 0, 0, 570, 573, 1, 0, 0, 0, 571, 569, 1, 0, 0, 0, 571, 572, 1, 0, 0, 0, 572, 576, 1, 0, 0, 0, 573, 571, 1, 0, 0, 0, 574, 575, 5, 12, 0, 0, 575, 577, 3, 74, 37, 0, 576, 574, 1, 0, 0, 0, 576, 577, 1, 0, 0, 0, 577, 579, 1, 0, 0, 0, 578, 565, 1, 0, 0, 0, 578, 566, 1, 0, 0, 0, 579, 67, 1, 0, 0, 0, 580, 585, 3, 76, 38, 0, 581, 582, 5, 12, 0, 0, 582, 584, 3, 76, 38, 0, 583, 581, 1, 0, 0, 0, 584, 587, 1, 0, 0, 0, 585, 583, 1, 0, 0, 0, 585, 586, 1, 0, 0, 0, 586, 69, 1, 0, 0, 0, 587, 585, 1, 0, 0, 0, 588, 591, 3, 76, 38, 0, 589, 591, 3, 72, 36, 0, 590, 588, 1, 0, 0, 0, 590, 589, 1, 0, 0, 0, 591, 71, 1, 0, 0, 0, 592, 594, 3, 96, 48, 0, 593, 592, 1, 0, 0, 0, 593, 594, 1, 0, 0, 0, 594, 596, 1, 0, 0, 0, 595, 597, 3, 78, 39, 0, 596, 595, 1, 0, 0, 0, 596, 597, 1, 0, 0, 0, 597, 598, 1, 0, 0, 0, 598, 607, 3, 80, 40, 0, 599, 601, 5, 14, 0, 0, 600, 602, 3, 64, 32, 0, 601, 600, 1, 0, 0, 0, 601, 602, 1, 0, 0, 0, 602, 608, 1, 0, 0, 0, 603, 605, 3, 64, 32, 0, 604, 603, 1, 0, 0, 0, 604, 605, 1, 0, 0, 0, 605, 606, 1, 0, 0, 0, 606, 608, 3, 0, 0, 0, 607, 599, 1, 0, 0, 0, 607, 604, 1, 0, 0, 0, 608, 73, 1, 0, 0, 0, 609, 610, 5, 16, 0, 0, 610, 612, 3, 368, 184, 0, 611, 613, 3, 64, 32, 0, 612, 611, 1, 0, 0, 0, 612, 613, 1, 0, 0, 0, 613, 75, 1, 0, 0, 0, 614, 616, 3, 96, 48, 0, 615, 614, 1, 0, 0, 0, 615, 616, 1, 0, 0, 0, 616, 618, 1, 0, 0, 0, 617, 619, 3, 78, 39, 0, 618, 617, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, 619, 620, 1, 0, 0, 0, 620, 622, 3, 80, 40, 0, 621, 623, 3, 64, 32, 0, 622, 621, 1, 0, 0, 0, 622, 623, 1, 0, 0, 0, 623, 77, 1, 0, 0, 0, 624, 625, 7, 2, 0, 0, 625, 79, 1, 0, 0, 0, 626, 629, 3, 388, 194, 0, 627, 629, 3, 2, 1, 0, 628, 626, 1, 0, 0, 0, 628, 627, 1, 0, 0, 0, 629, 81, 1, 0, 0, 0, 630, 631, 5, 4, 0, 0, 631, 632, 5, 217, 0, 0, 632, 633, 5, 15, 0, 0, 633, 634, 7, 3, 0, 0, 634, 635, 5, 5, 0, 0, 635, 636, 3, 64, 32, 0, 636, 83, 1, 0, 0, 0, 637, 639, 3, 86, 43, 0, 638, 640, 5, 12, 0, 0, 639, 638, 1, 0, 0, 0, 639, 640, 1, 0, 0, 0, 640, 85, 1, 0, 0, 0, 641, 646, 3, 88, 44, 0, 642, 643, 5, 12, 0, 0, 643, 645, 3, 88, 44, 0, 644, 642, 1, 0, 0, 0, 645, 648, 1, 0, 0, 0, 646, 644, 1, 0, 0, 0, 646, 647, 1, 0, 0, 0, 647, 87, 1, 0, 0, 0, 648, 646, 1, 0, 0, 0, 649, 652, 3, 356, 178, 0, 650, 651, 5, 13, 0, 0, 651, 653, 3, 368, 184, 0, 652, 650, 1, 0, 0, 0, 652, 653, 1, 0, 0, 0, 653, 89, 1, 0, 0, 0, 654, 655, 5, 155, 0, 0, 655, 656, 3, 92, 46, 0, 656, 658, 5, 8, 0, 0, 657, 659, 3, 132, 66, 0, 658, 657, 1, 0, 0, 0, 658, 659, 1, 0, 0, 0, 659, 660, 1, 0, 0, 0, 660, 661, 5, 10, 0, 0, 661, 91, 1, 0, 0, 0, 662, 671, 5, 217, 0, 0, 663, 665, 5, 17, 0, 0, 664, 663, 1, 0, 0, 0, 665, 666, 1, 0, 0, 0, 666, 664, 1, 0, 0, 0, 666, 667, 1, 0, 0, 0, 667, 668, 1, 0, 0, 0, 668, 670, 5, 217, 0, 0, 669, 664, 1, 0, 0, 0, 670, 673, 1, 0, 0, 0, 671, 669, 1, 0, 0, 0, 671, 672, 1, 0, 0, 0, 672, 93, 1, 0, 0, 0, 673, 671, 1, 0, 0, 0, 674, 675, 5, 217, 0, 0, 675, 676, 5, 13, 0, 0, 676, 677, 3, 92, 46, 0, 677, 678, 5, 11, 0, 0, 678, 95, 1, 0, 0, 0, 679, 681, 3, 98, 49, 0, 680, 679, 1, 0, 0, 0, 681, 682, 1, 0, 0, 0, 682, 680, 1, 0, 0, 0, 682, 683, 1, 0, 0, 0, 683, 97, 1, 0, 0, 0, 684, 687, 5, 189, 0, 0, 685, 688, 3, 100, 50, 0, 686, 688, 3, 102, 51, 0, 687, 685, 1, 0, 0, 0, 687, 686, 1, 0, 0, 0, 688, 99, 1, 0, 0, 0, 689, 690, 6, 50, -1, 0, 690, 696, 5, 217, 0, 0, 691, 692, 5, 6, 0, 0, 692, 693, 3, 368, 184, 0, 693, 694, 5, 7, 0, 0, 694, 696, 1, 0, 0, 0, 695, 689, 1, 0, 0, 0, 695, 691, 1, 0, 0, 0, 696, 702, 1, 0, 0, 0, 697, 698, 10, 2, 0, 0, 698, 699, 5, 17, 0, 0, 699, 701, 3, 388, 194, 0, 700, 697, 1, 0, 0, 0, 701, 704, 1, 0, 0, 0, 702, 700, 1, 0, 0, 0, 702, 703, 1, 0, 0, 0, 703, 101, 1, 0, 0, 0, 704, 702, 1, 0, 0, 0, 705, 706, 3, 100, 50, 0, 706, 707, 3, 358, 179, 0, 707, 103, 1, 0, 0, 0, 708, 710, 3, 106, 53, 0, 709, 708, 1, 0, 0, 0, 710, 713, 1, 0, 0, 0, 711, 709, 1, 0, 0, 0, 711, 712, 1, 0, 0, 0, 712, 105, 1, 0, 0, 0, 713, 711, 1, 0, 0, 0, 714, 730, 3, 226, 113, 0, 715, 730, 3, 248, 124, 0, 716, 730, 3, 250, 125, 0, 717, 730, 3, 266, 133, 0, 718, 730, 3, 108, 54, 0, 719, 730, 3, 208, 104, 0, 720, 730, 3, 228, 114, 0, 721, 730, 3, 206, 103, 0, 722, 730, 3, 306, 153, 0, 723, 730, 3, 194, 97, 0, 724, 730, 3, 184, 92, 0, 725, 730, 3, 190, 95, 0, 726, 730, 3, 186, 93, 0, 727, 730, 3, 212, 106, 0, 728, 730, 3, 210, 105, 0, 729, 714, 1, 0, 0, 0, 729, 715, 1, 0, 0, 0, 729, 716, 1, 0, 0, 0, 729, 717, 1, 0, 0, 0, 729, 718, 1, 0, 0, 0, 729, 719, 1, 0, 0, 0, 729, 720, 1, 0, 0, 0, 729, 721, 1, 0, 0, 0, 729, 722, 1, 0, 0, 0, 729, 723, 1, 0, 0, 0, 729, 724, 1, 0, 0, 0, 729, 725, 1, 0, 0, 0, 729, 726, 1, 0, 0, 0, 729, 727, 1, 0, 0, 0, 729, 728, 1, 0, 0, 0, 730, 107, 1, 0, 0, 0, 731, 732, 5, 160, 0, 0, 732, 733, 5, 8, 0, 0, 733, 734, 3, 340, 170, 0, 734, 736, 5, 10, 0, 0, 735, 737, 5, 11, 0, 0, 736, 735, 1, 0, 0, 0, 736, 737, 1, 0, 0, 0, 737, 925, 1, 0, 0, 0, 738, 739, 5, 159, 0, 0, 739, 740, 5, 8, 0, 0, 740, 741, 3, 132, 66, 0, 741, 743, 5, 10, 0, 0, 742, 744, 5, 11, 0, 0, 743, 742, 1, 0, 0, 0, 743, 744, 1, 0, 0, 0, 744, 925, 1, 0, 0, 0, 745, 746, 5, 158, 0, 0, 746, 747, 5, 8, 0, 0, 747, 749, 3, 122, 61, 0, 748, 750, 5, 11, 0, 0, 749, 748, 1, 0, 0, 0, 749, 750, 1, 0, 0, 0, 750, 751, 1, 0, 0, 0, 751, 753, 5, 10, 0, 0, 752, 754, 5, 11, 0, 0, 753, 752, 1, 0, 0, 0, 753, 754, 1, 0, 0, 0, 754, 925, 1, 0, 0, 0, 755, 756, 5, 162, 0, 0, 756, 757, 5, 8, 0, 0, 757, 759, 3, 242, 121, 0, 758, 760, 5, 11, 0, 0, 759, 758, 1, 0, 0, 0, 759, 760, 1, 0, 0, 0, 760, 761, 1, 0, 0, 0, 761, 763, 5, 10, 0, 0, 762, 764, 5, 11, 0, 0, 763, 762, 1, 0, 0, 0, 763, 764, 1, 0, 0, 0, 764, 925, 1, 0, 0, 0, 765, 766, 5, 163, 0, 0, 766, 767, 5, 8, 0, 0, 767, 769, 3, 232, 116, 0, 768, 770, 5, 11, 0, 0, 769, 768, 1, 0, 0, 0, 769, 770, 1, 0, 0, 0, 770, 771, 1, 0, 0, 0, 771, 773, 5, 10, 0, 0, 772, 774, 5, 11, 0, 0, 773, 772, 1, 0, 0, 0, 773, 774, 1, 0, 0, 0, 774, 925, 1, 0, 0, 0, 775, 776, 5, 164, 0, 0, 776, 777, 5, 8, 0, 0, 777, 779, 3, 112, 56, 0, 778, 780, 5, 11, 0, 0, 779, 778, 1, 0, 0, 0, 779, 780, 1, 0, 0, 0, 780, 781, 1, 0, 0, 0, 781, 783, 5, 10, 0, 0, 782, 784, 5, 11, 0, 0, 783, 782, 1, 0, 0, 0, 783, 784, 1, 0, 0, 0, 784, 925, 1, 0, 0, 0, 785, 786, 5, 177, 0, 0, 786, 787, 5, 8, 0, 0, 787, 788, 3, 402, 201, 0, 788, 790, 5, 10, 0, 0, 789, 791, 5, 11, 0, 0, 790, 789, 1, 0, 0, 0, 790, 791, 1, 0, 0, 0, 791, 925, 1, 0, 0, 0, 792, 793, 5, 157, 0, 0, 793, 794, 5, 8, 0, 0, 794, 795, 3, 334, 167, 0, 795, 797, 5, 10, 0, 0, 796, 798, 5, 11, 0, 0, 797, 796, 1, 0, 0, 0, 797, 798, 1, 0, 0, 0, 798, 925, 1, 0, 0, 0, 799, 800, 5, 157, 0, 0, 800, 801, 5, 8, 0, 0, 801, 802, 3, 258, 129, 0, 802, 803, 5, 10, 0, 0, 803, 925, 1, 0, 0, 0, 804, 805, 5, 157, 0, 0, 805, 806, 5, 8, 0, 0, 806, 807, 3, 260, 130, 0, 807, 808, 5, 10, 0, 0, 808, 925, 1, 0, 0, 0, 809, 810, 5, 157, 0, 0, 810, 811, 5, 8, 0, 0, 811, 812, 3, 262, 131, 0, 812, 813, 5, 10, 0, 0, 813, 925, 1, 0, 0, 0, 814, 815, 5, 183, 0, 0, 815, 816, 5, 8, 0, 0, 816, 817, 3, 244, 122, 0, 817, 818, 5, 10, 0, 0, 818, 925, 1, 0, 0, 0, 819, 820, 5, 165, 0, 0, 820, 821, 5, 8, 0, 0, 821, 822, 3, 302, 151, 0, 822, 824, 5, 10, 0, 0, 823, 825, 5, 11, 0, 0, 824, 823, 1, 0, 0, 0, 824, 825, 1, 0, 0, 0, 825, 925, 1, 0, 0, 0, 826, 827, 5, 167, 0, 0, 827, 828, 5, 8, 0, 0, 828, 829, 3, 118, 59, 0, 829, 831, 5, 10, 0, 0, 830, 832, 5, 11, 0, 0, 831, 830, 1, 0, 0, 0, 831, 832, 1, 0, 0, 0, 832, 925, 1, 0, 0, 0, 833, 834, 5, 166, 0, 0, 834, 835, 5, 8, 0, 0, 835, 836, 3, 368, 184, 0, 836, 838, 5, 10, 0, 0, 837, 839, 5, 11, 0, 0, 838, 837, 1, 0, 0, 0, 838, 839, 1, 0, 0, 0, 839, 925, 1, 0, 0, 0, 840, 841, 5, 168, 0, 0, 841, 842, 5, 8, 0, 0, 842, 843, 3, 56, 28, 0, 843, 845, 5, 10, 0, 0, 844, 846, 5, 11, 0, 0, 845, 844, 1, 0, 0, 0, 845, 846, 1, 0, 0, 0, 846, 925, 1, 0, 0, 0, 847, 848, 5, 169, 0, 0, 848, 849, 5, 8, 0, 0, 849, 850, 3, 202, 101, 0, 850, 852, 5, 10, 0, 0, 851, 853, 5, 11, 0, 0, 852, 851, 1, 0, 0, 0, 852, 853, 1, 0, 0, 0, 853, 925, 1, 0, 0, 0, 854, 855, 5, 170, 0, 0, 855, 856, 5, 8, 0, 0, 856, 857, 3, 310, 155, 0, 857, 859, 5, 10, 0, 0, 858, 860, 5, 11, 0, 0, 859, 858, 1, 0, 0, 0, 859, 860, 1, 0, 0, 0, 860, 925, 1, 0, 0, 0, 861, 862, 5, 171, 0, 0, 862, 863, 5, 8, 0, 0, 863, 864, 3, 312, 156, 0, 864, 866, 5, 10, 0, 0, 865, 867, 5, 11, 0, 0, 866, 865, 1, 0, 0, 0, 866, 867, 1, 0, 0, 0, 867, 925, 1, 0, 0, 0, 868, 869, 5, 172, 0, 0, 869, 870, 5, 8, 0, 0, 870, 871, 3, 194, 97, 0, 871, 873, 5, 10, 0, 0, 872, 874, 5, 11, 0, 0, 873, 872, 1, 0, 0, 0, 873, 874, 1, 0, 0, 0, 874, 925, 1, 0, 0, 0, 875, 876, 5, 173, 0, 0, 876, 877, 5, 8, 0, 0, 877, 878, 3, 190, 95, 0, 878, 880, 5, 10, 0, 0, 879, 881, 5, 11, 0, 0, 880, 879, 1, 0, 0, 0, 880, 881, 1, 0, 0, 0, 881, 925, 1, 0, 0, 0, 882, 883, 5, 174, 0, 0, 883, 884, 5, 8, 0, 0, 884, 885, 3, 114, 57, 0, 885, 887, 5, 10, 0, 0, 886, 888, 5, 11, 0, 0, 887, 886, 1, 0, 0, 0, 887, 888, 1, 0, 0, 0, 888, 925, 1, 0, 0, 0, 889, 890, 5, 175, 0, 0, 890, 891, 5, 8, 0, 0, 891, 892, 3, 120, 60, 0, 892, 894, 5, 10, 0, 0, 893, 895, 5, 11, 0, 0, 894, 893, 1, 0, 0, 0, 894, 895, 1, 0, 0, 0, 895, 925, 1, 0, 0, 0, 896, 897, 5, 178, 0, 0, 897, 898, 5, 8, 0, 0, 898, 899, 3, 234, 117, 0, 899, 901, 5, 10, 0, 0, 900, 902, 5, 11, 0, 0, 901, 900, 1, 0, 0, 0, 901, 902, 1, 0, 0, 0, 902, 925, 1, 0, 0, 0, 903, 904, 5, 179, 0, 0, 904, 905, 5, 8, 0, 0, 905, 906, 3, 238, 119, 0, 906, 908, 5, 10, 0, 0, 907, 909, 5, 11, 0, 0, 908, 907, 1, 0, 0, 0, 908, 909, 1, 0, 0, 0, 909, 925, 1, 0, 0, 0, 910, 911, 5, 182, 0, 0, 911, 912, 5, 8, 0, 0, 912, 913, 3, 124, 62, 0, 913, 915, 5, 10, 0, 0, 914, 916, 5, 11, 0, 0, 915, 914, 1, 0, 0, 0, 915, 916, 1, 0, 0, 0, 916, 925, 1, 0, 0, 0, 917, 918, 5, 184, 0, 0, 918, 919, 5, 8, 0, 0, 919, 920, 3, 48, 24, 0, 920, 922, 5, 10, 0, 0, 921, 923, 5, 11, 0, 0, 922, 921, 1, 0, 0, 0, 922, 923, 1, 0, 0, 0, 923, 925, 1, 0, 0, 0, 924, 731, 1, 0, 0, 0, 924, 738, 1, 0, 0, 0, 924, 745, 1, 0, 0, 0, 924, 755, 1, 0, 0, 0, 924, 765, 1, 0, 0, 0, 924, 775, 1, 0, 0, 0, 924, 785, 1, 0, 0, 0, 924, 792, 1, 0, 0, 0, 924, 799, 1, 0, 0, 0, 924, 804, 1, 0, 0, 0, 924, 809, 1, 0, 0, 0, 924, 814, 1, 0, 0, 0, 924, 819, 1, 0, 0, 0, 924, 826, 1, 0, 0, 0, 924, 833, 1, 0, 0, 0, 924, 840, 1, 0, 0, 0, 924, 847, 1, 0, 0, 0, 924, 854, 1, 0, 0, 0, 924, 861, 1, 0, 0, 0, 924, 868, 1, 0, 0, 0, 924, 875, 1, 0, 0, 0, 924, 882, 1, 0, 0, 0, 924, 889, 1, 0, 0, 0, 924, 896, 1, 0, 0, 0, 924, 903, 1, 0, 0, 0, 924, 910, 1, 0, 0, 0, 924, 917, 1, 0, 0, 0, 925, 109, 1, 0, 0, 0, 926, 927, 5, 206, 0, 0, 927, 929, 3, 26, 13, 0, 928, 930, 5, 11, 0, 0, 929, 928, 1, 0, 0, 0, 929, 930, 1, 0, 0, 0, 930, 111, 1, 0, 0, 0, 931, 940, 3, 402, 201, 0, 932, 940, 3, 244, 122, 0, 933, 940, 3, 110, 55, 0, 934, 940, 3, 232, 116, 0, 935, 940, 3, 234, 117, 0, 936, 940, 3, 238, 119, 0, 937, 940, 3, 246, 123, 0, 938, 940, 3, 242, 121, 0, 939, 931, 1, 0, 0, 0, 939, 932, 1, 0, 0, 0, 939, 933, 1, 0, 0, 0, 939, 934, 1, 0, 0, 0, 939, 935, 1, 0, 0, 0, 939, 936, 1, 0, 0, 0, 939, 937, 1, 0, 0, 0, 939, 938, 1, 0, 0, 0, 940, 113, 1, 0, 0, 0, 941, 942, 3, 368, 184, 0, 942, 115, 1, 0, 0, 0, 943, 944, 5, 75, 0, 0, 944, 945, 3, 368, 184, 0, 945, 117, 1, 0, 0, 0, 946, 947, 5, 98, 0, 0, 947, 949, 3, 18, 9, 0, 948, 950, 3, 64, 32, 0, 949, 948, 1, 0, 0, 0, 949, 950, 1, 0, 0, 0, 950, 951, 1, 0, 0, 0, 951, 952, 5, 13, 0, 0, 952, 954, 3, 368, 184, 0, 953, 955, 5, 11, 0, 0, 954, 953, 1, 0, 0, 0, 954, 955, 1, 0, 0, 0, 955, 119, 1, 0, 0, 0, 956, 957, 3, 18, 9, 0, 957, 958, 3, 64, 32, 0, 958, 959, 5, 13, 0, 0, 959, 961, 3, 368, 184, 0, 960, 962, 5, 11, 0, 0, 961, 960, 1, 0, 0, 0, 961, 962, 1, 0, 0, 0, 962, 121, 1, 0, 0, 0, 963, 980, 3, 130, 65, 0, 964, 980, 3, 368, 184, 0, 965, 980, 3, 118, 59, 0, 966, 980, 3, 120, 60, 0, 967, 980, 3, 140, 70, 0, 968, 980, 3, 208, 104, 0, 969, 980, 3, 90, 45, 0, 970, 980, 3, 144, 72, 0, 971, 980, 3, 152, 76, 0, 972, 980, 3, 156, 78, 0, 973, 980, 3, 146, 73, 0, 974, 980, 3, 116, 58, 0, 975, 980, 3, 168, 84, 0, 976, 980, 3, 170, 85, 0, 977, 980, 3, 372, 186, 0, 978, 980, 3, 124, 62, 0, 979, 963, 1, 0, 0, 0, 979, 964, 1, 0, 0, 0, 979, 965, 1, 0, 0, 0, 979, 966, 1, 0, 0, 0, 979, 967, 1, 0, 0, 0, 979, 968, 1, 0, 0, 0, 979, 969, 1, 0, 0, 0, 979, 970, 1, 0, 0, 0, 979, 971, 1, 0, 0, 0, 979, 972, 1, 0, 0, 0, 979, 973, 1, 0, 0, 0, 979, 974, 1, 0, 0, 0, 979, 975, 1, 0, 0, 0, 979, 976, 1, 0, 0, 0, 979, 977, 1, 0, 0, 0, 979, 978, 1, 0, 0, 0, 980, 123, 1, 0, 0, 0, 981, 982, 5, 96, 0, 0, 982, 983, 5, 6, 0, 0, 983, 984, 3, 126, 63, 0, 984, 986, 5, 7, 0, 0, 985, 987, 5, 11, 0, 0, 986, 985, 1, 0, 0, 0, 986, 987, 1, 0, 0, 0, 987, 125, 1, 0, 0, 0, 988, 993, 3, 128, 64, 0, 989, 990, 5, 12, 0, 0, 990, 992, 3, 128, 64, 0, 991, 989, 1, 0, 0, 0, 992, 995, 1, 0, 0, 0, 993, 991, 1, 0, 0, 0, 993, 994, 1, 0, 0, 0, 994, 127, 1, 0, 0, 0, 995, 993, 1, 0, 0, 0, 996, 997, 3, 296, 148, 0, 997, 998, 3, 358, 179, 0, 998, 129, 1, 0, 0, 0, 999, 1001, 5, 8, 0, 0, 1000, 1002, 3, 132, 66, 0, 1001, 1000, 1, 0, 0, 0, 1001, 1002, 1, 0, 0, 0, 1002, 1003, 1, 0, 0, 0, 1003, 1004, 5, 10, 0, 0, 1004, 131, 1, 0, 0, 0, 1005, 1007, 3, 122, 61, 0, 1006, 1005, 1, 0, 0, 0, 1007, 1008, 1, 0, 0, 0, 1008, 1006, 1, 0, 0, 0, 1008, 1009, 1, 0, 0, 0, 1009, 1011, 1, 0, 0, 0, 1010, 1012, 5, 11, 0, 0, 1011, 1010, 1, 0, 0, 0, 1011, 1012, 1, 0, 0, 0, 1012, 133, 1, 0, 0, 0, 1013, 1016, 5, 24, 0, 0, 1014, 1016, 3, 136, 68, 0, 1015, 1013, 1, 0, 0, 0, 1015, 1014, 1, 0, 0, 0, 1016, 1019, 1, 0, 0, 0, 1017, 1018, 5, 91, 0, 0, 1018, 1020, 3, 388, 194, 0, 1019, 1017, 1, 0, 0, 0, 1019, 1020, 1, 0, 0, 0, 1020, 1021, 1, 0, 0, 0, 1021, 1022, 5, 92, 0, 0, 1022, 1023, 5, 218, 0, 0, 1023, 1024, 3, 400, 200, 0, 1024, 135, 1, 0, 0, 0, 1025, 1026, 3, 388, 194, 0, 1026, 1027, 5, 12, 0, 0, 1027, 1029, 1, 0, 0, 0, 1028, 1025, 1, 0, 0, 0, 1028, 1029, 1, 0, 0, 0, 1029, 1030, 1, 0, 0, 0, 1030, 1031, 5, 8, 0, 0, 1031, 1036, 3, 388, 194, 0, 1032, 1033, 5, 12, 0, 0, 1033, 1035, 3, 388, 194, 0, 1034, 1032, 1, 0, 0, 0, 1035, 1038, 1, 0, 0, 0, 1036, 1034, 1, 0, 0, 0, 1036, 1037, 1, 0, 0, 0, 1037, 1039, 1, 0, 0, 0, 1038, 1036, 1, 0, 0, 0, 1039, 1040, 5, 10, 0, 0, 1040, 137, 1, 0, 0, 0, 1041, 1046, 3, 120, 60, 0, 1042, 1043, 5, 12, 0, 0, 1043, 1045, 3, 120, 60, 0, 1044, 1042, 1, 0, 0, 0, 1045, 1048, 1, 0, 0, 0, 1046, 1044, 1, 0, 0, 0, 1046, 1047, 1, 0, 0, 0, 1047, 139, 1, 0, 0, 0, 1048, 1046, 1, 0, 0, 0, 1049, 1050, 5, 11, 0, 0, 1050, 141, 1, 0, 0, 0, 1051, 1053, 3, 364, 182, 0, 1052, 1054, 5, 11, 0, 0, 1053, 1052, 1, 0, 0, 0, 1053, 1054, 1, 0, 0, 0, 1054, 143, 1, 0, 0, 0, 1055, 1056, 5, 86, 0, 0, 1056, 1057, 5, 6, 0, 0, 1057, 1058, 3, 114, 57, 0, 1058, 1059, 5, 7, 0, 0, 1059, 1062, 3, 122, 61, 0, 1060, 1061, 5, 70, 0, 0, 1061, 1063, 3, 122, 61, 0, 1062, 1060, 1, 0, 0, 0, 1062, 1063, 1, 0, 0, 0, 1063, 145, 1, 0, 0, 0, 1064, 1065, 5, 66, 0, 0, 1065, 1066, 3, 122, 61, 0, 1066, 1067, 5, 80, 0, 0, 1067, 1068, 5, 6, 0, 0, 1068, 1069, 3, 364, 182, 0, 1069, 1070, 5, 7, 0, 0, 1070, 1071, 3, 400, 200, 0, 1071, 1136, 1, 0, 0, 0, 1072, 1073, 5, 80, 0, 0, 1073, 1074, 5, 6, 0, 0, 1074, 1075, 3, 364, 182, 0, 1075, 1076, 5, 7, 0, 0, 1076, 1077, 3, 122, 61, 0, 1077, 1136, 1, 0, 0, 0, 1078, 1079, 5, 78, 0, 0, 1079, 1081, 5, 6, 0, 0, 1080, 1082, 3, 364, 182, 0, 1081, 1080, 1, 0, 0, 0, 1081, 1082, 1, 0, 0, 0, 1082, 1083, 1, 0, 0, 0, 1083, 1085, 5, 11, 0, 0, 1084, 1086, 3, 364, 182, 0, 1085, 1084, 1, 0, 0, 0, 1085, 1086, 1, 0, 0, 0, 1086, 1087, 1, 0, 0, 0, 1087, 1089, 5, 11, 0, 0, 1088, 1090, 3, 364, 182, 0, 1089, 1088, 1, 0, 0, 0, 1089, 1090, 1, 0, 0, 0, 1090, 1091, 1, 0, 0, 0, 1091, 1092, 5, 7, 0, 0, 1092, 1136, 3, 122, 61, 0, 1093, 1094, 5, 78, 0, 0, 1094, 1095, 5, 6, 0, 0, 1095, 1096, 3, 148, 74, 0, 1096, 1097, 3, 138, 69, 0, 1097, 1099, 5, 11, 0, 0, 1098, 1100, 3, 364, 182, 0, 1099, 1098, 1, 0, 0, 0, 1099, 1100, 1, 0, 0, 0, 1100, 1101, 1, 0, 0, 0, 1101, 1103, 5, 11, 0, 0, 1102, 1104, 3, 364, 182, 0, 1103, 1102, 1, 0, 0, 0, 1103, 1104, 1, 0, 0, 0, 1104, 1105, 1, 0, 0, 0, 1105, 1106, 5, 7, 0, 0, 1106, 1107, 3, 122, 61, 0, 1107, 1136, 1, 0, 0, 0, 1108, 1109, 5, 78, 0, 0, 1109, 1110, 5, 6, 0, 0, 1110, 1115, 3, 368, 184, 0, 1111, 1116, 5, 89, 0, 0, 1112, 1114, 5, 217, 0, 0, 1113, 1112, 1, 0, 0, 0, 1113, 1114, 1, 0, 0, 0, 1114, 1116, 1, 0, 0, 0, 1115, 1111, 1, 0, 0, 0, 1115, 1113, 1, 0, 0, 0, 1116, 1117, 1, 0, 0, 0, 1117, 1118, 3, 364, 182, 0, 1118, 1119, 5, 7, 0, 0, 1119, 1120, 3, 122, 61, 0, 1120, 1136, 1, 0, 0, 0, 1121, 1122, 5, 78, 0, 0, 1122, 1123, 5, 6, 0, 0, 1123, 1124, 3, 148, 74, 0, 1124, 1129, 3, 120, 60, 0, 1125, 1130, 5, 89, 0, 0, 1126, 1128, 5, 217, 0, 0, 1127, 1126, 1, 0, 0, 0, 1127, 1128, 1, 0, 0, 0, 1128, 1130, 1, 0, 0, 0, 1129, 1125, 1, 0, 0, 0, 1129, 1127, 1, 0, 0, 0, 1130, 1131, 1, 0, 0, 0, 1131, 1132, 3, 364, 182, 0, 1132, 1133, 5, 7, 0, 0, 1133, 1134, 3, 122, 61, 0, 1134, 1136, 1, 0, 0, 0, 1135, 1064, 1, 0, 0, 0, 1135, 1072, 1, 0, 0, 0, 1135, 1078, 1, 0, 0, 0, 1135, 1093, 1, 0, 0, 0, 1135, 1108, 1, 0, 0, 0, 1135, 1121, 1, 0, 0, 0, 1136, 147, 1, 0, 0, 0, 1137, 1138, 7, 4, 0, 0, 1138, 149, 1, 0, 0, 0, 1139, 1141, 5, 77, 0, 0, 1140, 1142, 5, 217, 0, 0, 1141, 1140, 1, 0, 0, 0, 1141, 1142, 1, 0, 0, 0, 1142, 1143, 1, 0, 0, 0, 1143, 1144, 3, 400, 200, 0, 1144, 151, 1, 0, 0, 0, 1145, 1147, 5, 65, 0, 0, 1146, 1148, 5, 217, 0, 0, 1147, 1146, 1, 0, 0, 0, 1147, 1148, 1, 0, 0, 0, 1148, 1149, 1, 0, 0, 0, 1149, 1150, 3, 400, 200, 0, 1150, 153, 1, 0, 0, 0, 1151, 1152, 5, 84, 0, 0, 1152, 1153, 5, 6, 0, 0, 1153, 1154, 3, 364, 182, 0, 1154, 1155, 5, 7, 0, 0, 1155, 1156, 3, 122, 61, 0, 1156, 155, 1, 0, 0, 0, 1157, 1158, 5, 79, 0, 0, 1158, 1159, 5, 6, 0, 0, 1159, 1160, 3, 114, 57, 0, 1160, 1161, 5, 7, 0, 0, 1161, 1162, 3, 158, 79, 0, 1162, 157, 1, 0, 0, 0, 1163, 1165, 5, 8, 0, 0, 1164, 1166, 3, 160, 80, 0, 1165, 1164, 1, 0, 0, 0, 1165, 1166, 1, 0, 0, 0, 1166, 1167, 1, 0, 0, 0, 1167, 1169, 3, 164, 82, 0, 1168, 1170, 3, 160, 80, 0, 1169, 1168, 1, 0, 0, 0, 1169, 1170, 1, 0, 0, 0, 1170, 1171, 1, 0, 0, 0, 1171, 1172, 5, 10, 0, 0, 1172, 159, 1, 0, 0, 0, 1173, 1175, 3, 162, 81, 0, 1174, 1173, 1, 0, 0, 0, 1175, 1176, 1, 0, 0, 0, 1176, 1174, 1, 0, 0, 0, 1176, 1177, 1, 0, 0, 0, 1177, 161, 1, 0, 0, 0, 1178, 1179, 5, 69, 0, 0, 1179, 1180, 3, 368, 184, 0, 1180, 1181, 5, 15, 0, 0, 1181, 1183, 5, 8, 0, 0, 1182, 1184, 3, 132, 66, 0, 1183, 1182, 1, 0, 0, 0, 1183, 1184, 1, 0, 0, 0, 1184, 1185, 1, 0, 0, 0, 1185, 1187, 5, 10, 0, 0, 1186, 1188, 5, 11, 0, 0, 1187, 1186, 1, 0, 0, 0, 1187, 1188, 1, 0, 0, 0, 1188, 1199, 1, 0, 0, 0, 1189, 1190, 5, 69, 0, 0, 1190, 1191, 3, 368, 184, 0, 1191, 1193, 5, 15, 0, 0, 1192, 1194, 3, 132, 66, 0, 1193, 1192, 1, 0, 0, 0, 1193, 1194, 1, 0, 0, 0, 1194, 1196, 1, 0, 0, 0, 1195, 1197, 5, 11, 0, 0, 1196, 1195, 1, 0, 0, 0, 1196, 1197, 1, 0, 0, 0, 1197, 1199, 1, 0, 0, 0, 1198, 1178, 1, 0, 0, 0, 1198, 1189, 1, 0, 0, 0, 1199, 163, 1, 0, 0, 0, 1200, 1201, 5, 85, 0, 0, 1201, 1202, 5, 15, 0, 0, 1202, 1204, 5, 8, 0, 0, 1203, 1205, 3, 132, 66, 0, 1204, 1203, 1, 0, 0, 0, 1204, 1205, 1, 0, 0, 0, 1205, 1206, 1, 0, 0, 0, 1206, 1208, 5, 10, 0, 0, 1207, 1209, 5, 11, 0, 0, 1208, 1207, 1, 0, 0, 0, 1208, 1209, 1, 0, 0, 0, 1209, 1219, 1, 0, 0, 0, 1210, 1211, 5, 85, 0, 0, 1211, 1213, 5, 15, 0, 0, 1212, 1214, 3, 132, 66, 0, 1213, 1212, 1, 0, 0, 0, 1213, 1214, 1, 0, 0, 0, 1214, 1216, 1, 0, 0, 0, 1215, 1217, 5, 11, 0, 0, 1216, 1215, 1, 0, 0, 0, 1216, 1217, 1, 0, 0, 0, 1217, 1219, 1, 0, 0, 0, 1218, 1200, 1, 0, 0, 0, 1218, 1210, 1, 0, 0, 0, 1219, 165, 1, 0, 0, 0, 1220, 1221, 5, 217, 0, 0, 1221, 1222, 5, 15, 0, 0, 1222, 1223, 3, 122, 61, 0, 1223, 167, 1, 0, 0, 0, 1224, 1225, 5, 87, 0, 0, 1225, 1226, 3, 364, 182, 0, 1226, 1227, 3, 400, 200, 0, 1227, 169, 1, 0, 0, 0, 1228, 1229, 5, 90, 0, 0, 1229, 1235, 3, 130, 65, 0, 1230, 1232, 3, 172, 86, 0, 1231, 1233, 3, 174, 87, 0, 1232, 1231, 1, 0, 0, 0, 1232, 1233, 1, 0, 0, 0, 1233, 1236, 1, 0, 0, 0, 1234, 1236, 3, 174, 87, 0, 1235, 1230, 1, 0, 0, 0, 1235, 1234, 1, 0, 0, 0, 1236, 171, 1, 0, 0, 0, 1237, 1238, 5, 73, 0, 0, 1238, 1239, 5, 6, 0, 0, 1239, 1240, 5, 217, 0, 0, 1240, 1241, 5, 7, 0, 0, 1241, 1242, 3, 130, 65, 0, 1242, 173, 1, 0, 0, 0, 1243, 1244, 5, 74, 0, 0, 1244, 1245, 3, 130, 65, 0, 1245, 175, 1, 0, 0, 0, 1246, 1247, 5, 81, 0, 0, 1247, 1248, 3, 400, 200, 0, 1248, 177, 1, 0, 0, 0, 1249, 1250, 3, 4, 2, 0, 1250, 179, 1, 0, 0, 0, 1251, 1252, 5, 124, 0, 0, 1252, 1253, 5, 6, 0, 0, 1253, 1254, 3, 368, 184, 0, 1254, 1255, 5, 7, 0, 0, 1255, 1256, 5, 11, 0, 0, 1256, 181, 1, 0, 0, 0, 1257, 1258, 3, 340, 170, 0, 1258, 1259, 3, 180, 90, 0, 1259, 183, 1, 0, 0, 0, 1260, 1261, 5, 123, 0, 0, 1261, 1263, 3, 296, 148, 0, 1262, 1264, 3, 334, 167, 0, 1263, 1262, 1, 0, 0, 0, 1263, 1264, 1, 0, 0, 0, 1264, 1265, 1, 0, 0, 0, 1265, 1266, 5, 95, 0, 0, 1266, 1267, 5, 206, 0, 0, 1267, 1268, 5, 8, 0, 0, 1268, 1269, 3, 182, 91, 0, 1269, 1270, 5, 10, 0, 0, 1270, 185, 1, 0, 0, 0, 1271, 1272, 5, 125, 0, 0, 1272, 1273, 5, 109, 0, 0, 1273, 1274, 3, 294, 147, 0, 1274, 1276, 3, 192, 96, 0, 1275, 1277, 5, 11, 0, 0, 1276, 1275, 1, 0, 0, 0, 1276, 1277, 1, 0, 0, 0, 1277, 187, 1, 0, 0, 0, 1278, 1279, 3, 118, 59, 0, 1279, 189, 1, 0, 0, 0, 1280, 1281, 5, 109, 0, 0, 1281, 1282, 3, 294, 147, 0, 1282, 1284, 3, 192, 96, 0, 1283, 1285, 5, 11, 0, 0, 1284, 1283, 1, 0, 0, 0, 1284, 1285, 1, 0, 0, 0, 1285, 191, 1, 0, 0, 0, 1286, 1287, 5, 8, 0, 0, 1287, 1288, 3, 196, 98, 0, 1288, 1289, 3, 202, 101, 0, 1289, 1290, 3, 198, 99, 0, 1290, 1291, 3, 200, 100, 0, 1291, 1292, 5, 10, 0, 0, 1292, 193, 1, 0, 0, 0, 1293, 1294, 5, 107, 0, 0, 1294, 1295, 3, 292, 146, 0, 1295, 1296, 5, 8, 0, 0, 1296, 1297, 3, 196, 98, 0, 1297, 1298, 3, 202, 101, 0, 1298, 1299, 3, 200, 100, 0, 1299, 1301, 5, 10, 0, 0, 1300, 1302, 5, 11, 0, 0, 1301, 1300, 1, 0, 0, 0, 1301, 1302, 1, 0, 0, 0, 1302, 195, 1, 0, 0, 0, 1303, 1305, 3, 188, 94, 0, 1304, 1303, 1, 0, 0, 0, 1305, 1308, 1, 0, 0, 0, 1306, 1304, 1, 0, 0, 0, 1306, 1307, 1, 0, 0, 0, 1307, 197, 1, 0, 0, 0, 1308, 1306, 1, 0, 0, 0, 1309, 1311, 3, 312, 156, 0, 1310, 1309, 1, 0, 0, 0, 1311, 1314, 1, 0, 0, 0, 1312, 1310, 1, 0, 0, 0, 1312, 1313, 1, 0, 0, 0, 1313, 199, 1, 0, 0, 0, 1314, 1312, 1, 0, 0, 0, 1315, 1317, 3, 310, 155, 0, 1316, 1315, 1, 0, 0, 0, 1317, 1320, 1, 0, 0, 0, 1318, 1316, 1, 0, 0, 0, 1318, 1319, 1, 0, 0, 0, 1319, 201, 1, 0, 0, 0, 1320, 1318, 1, 0, 0, 0, 1321, 1323, 5, 126, 0, 0, 1322, 1324, 3, 334, 167, 0, 1323, 1322, 1, 0, 0, 0, 1323, 1324, 1, 0, 0, 0, 1324, 1325, 1, 0, 0, 0, 1325, 1326, 5, 15, 0, 0, 1326, 1327, 3, 302, 151, 0, 1327, 1328, 5, 8, 0, 0, 1328, 1329, 3, 340, 170, 0, 1329, 1330, 5, 10, 0, 0, 1330, 203, 1, 0, 0, 0, 1331, 1332, 5, 208, 0, 0, 1332, 205, 1, 0, 0, 0, 1333, 1334, 5, 106, 0, 0, 1334, 1336, 3, 204, 102, 0, 1335, 1337, 3, 334, 167, 0, 1336, 1335, 1, 0, 0, 0, 1336, 1337, 1, 0, 0, 0, 1337, 1338, 1, 0, 0, 0, 1338, 1339, 5, 8, 0, 0, 1339, 1340, 3, 256, 128, 0, 1340, 1342, 5, 10, 0, 0, 1341, 1343, 5, 11, 0, 0, 1342, 1341, 1, 0, 0, 0, 1342, 1343, 1, 0, 0, 0, 1343, 207, 1, 0, 0, 0, 1344, 1345, 5, 100, 0, 0, 1345, 1346, 5, 210, 0, 0, 1346, 1347, 5, 8, 0, 0, 1347, 1348, 3, 4, 2, 0, 1348, 1350, 5, 10, 0, 0, 1349, 1351, 5, 11, 0, 0, 1350, 1349, 1, 0, 0, 0, 1350, 1351, 1, 0, 0, 0, 1351, 209, 1, 0, 0, 0, 1352, 1353, 5, 101, 0, 0, 1353, 1354, 5, 211, 0, 0, 1354, 1355, 5, 8, 0, 0, 1355, 1356, 3, 4, 2, 0, 1356, 1358, 5, 10, 0, 0, 1357, 1359, 5, 11, 0, 0, 1358, 1357, 1, 0, 0, 0, 1358, 1359, 1, 0, 0, 0, 1359, 211, 1, 0, 0, 0, 1360, 1361, 5, 99, 0, 0, 1361, 1362, 3, 214, 107, 0, 1362, 1363, 5, 30, 0, 0, 1363, 1364, 5, 211, 0, 0, 1364, 1365, 5, 31, 0, 0, 1365, 1367, 3, 218, 109, 0, 1366, 1368, 5, 11, 0, 0, 1367, 1366, 1, 0, 0, 0, 1367, 1368, 1, 0, 0, 0, 1368, 1399, 1, 0, 0, 0, 1369, 1370, 5, 99, 0, 0, 1370, 1371, 3, 214, 107, 0, 1371, 1372, 5, 30, 0, 0, 1372, 1373, 5, 211, 0, 0, 1373, 1374, 5, 31, 0, 0, 1374, 1375, 3, 218, 109, 0, 1375, 1377, 3, 220, 110, 0, 1376, 1378, 5, 11, 0, 0, 1377, 1376, 1, 0, 0, 0, 1377, 1378, 1, 0, 0, 0, 1378, 1399, 1, 0, 0, 0, 1379, 1380, 5, 99, 0, 0, 1380, 1381, 3, 214, 107, 0, 1381, 1382, 5, 30, 0, 0, 1382, 1383, 3, 216, 108, 0, 1383, 1384, 5, 31, 0, 0, 1384, 1386, 3, 218, 109, 0, 1385, 1387, 5, 11, 0, 0, 1386, 1385, 1, 0, 0, 0, 1386, 1387, 1, 0, 0, 0, 1387, 1399, 1, 0, 0, 0, 1388, 1389, 5, 99, 0, 0, 1389, 1390, 3, 214, 107, 0, 1390, 1391, 5, 30, 0, 0, 1391, 1392, 3, 216, 108, 0, 1392, 1393, 5, 31, 0, 0, 1393, 1394, 3, 218, 109, 0, 1394, 1396, 3, 220, 110, 0, 1395, 1397, 5, 11, 0, 0, 1396, 1395, 1, 0, 0, 0, 1396, 1397, 1, 0, 0, 0, 1397, 1399, 1, 0, 0, 0, 1398, 1360, 1, 0, 0, 0, 1398, 1369, 1, 0, 0, 0, 1398, 1379, 1, 0, 0, 0, 1398, 1388, 1, 0, 0, 0, 1399, 213, 1, 0, 0, 0, 1400, 1401, 5, 213, 0, 0, 1401, 215, 1, 0, 0, 0, 1402, 1403, 7, 5, 0, 0, 1403, 217, 1, 0, 0, 0, 1404, 1405, 5, 97, 0, 0, 1405, 1406, 3, 222, 111, 0, 1406, 219, 1, 0, 0, 0, 1407, 1408, 5, 8, 0, 0, 1408, 1409, 3, 56, 28, 0, 1409, 1410, 5, 10, 0, 0, 1410, 221, 1, 0, 0, 0, 1411, 1416, 3, 224, 112, 0, 1412, 1413, 5, 12, 0, 0, 1413, 1415, 3, 224, 112, 0, 1414, 1412, 1, 0, 0, 0, 1415, 1418, 1, 0, 0, 0, 1416, 1414, 1, 0, 0, 0, 1416, 1417, 1, 0, 0, 0, 1417, 223, 1, 0, 0, 0, 1418, 1416, 1, 0, 0, 0, 1419, 1426, 5, 213, 0, 0, 1420, 1426, 5, 216, 0, 0, 1421, 1422, 5, 216, 0, 0, 1422, 1423, 5, 30, 0, 0, 1423, 1424, 5, 216, 0, 0, 1424, 1426, 5, 31, 0, 0, 1425, 1419, 1, 0, 0, 0, 1425, 1420, 1, 0, 0, 0, 1425, 1421, 1, 0, 0, 0, 1426, 225, 1, 0, 0, 0, 1427, 1428, 5, 102, 0, 0, 1428, 1429, 5, 203, 0, 0, 1429, 1430, 5, 8, 0, 0, 1430, 1431, 3, 4, 2, 0, 1431, 1433, 5, 10, 0, 0, 1432, 1434, 5, 11, 0, 0, 1433, 1432, 1, 0, 0, 0, 1433, 1434, 1, 0, 0, 0, 1434, 227, 1, 0, 0, 0, 1435, 1436, 5, 149, 0, 0, 1436, 1437, 5, 216, 0, 0, 1437, 1438, 5, 8, 0, 0, 1438, 1439, 3, 4, 2, 0, 1439, 1441, 5, 10, 0, 0, 1440, 1442, 5, 11, 0, 0, 1441, 1440, 1, 0, 0, 0, 1441, 1442, 1, 0, 0, 0, 1442, 229, 1, 0, 0, 0, 1443, 1444, 3, 284, 142, 0, 1444, 231, 1, 0, 0, 0, 1445, 1446, 3, 230, 115, 0, 1446, 1447, 5, 6, 0, 0, 1447, 1448, 5, 8, 0, 0, 1448, 1449, 3, 6, 3, 0, 1449, 1450, 5, 10, 0, 0, 1450, 1451, 5, 7, 0, 0, 1451, 233, 1, 0, 0, 0, 1452, 1453, 3, 292, 146, 0, 1453, 1454, 3, 236, 118, 0, 1454, 235, 1, 0, 0, 0, 1455, 1456, 5, 6, 0, 0, 1456, 1457, 5, 8, 0, 0, 1457, 1458, 3, 6, 3, 0, 1458, 1459, 5, 10, 0, 0, 1459, 1460, 5, 7, 0, 0, 1460, 1466, 1, 0, 0, 0, 1461, 1462, 5, 6, 0, 0, 1462, 1463, 3, 368, 184, 0, 1463, 1464, 5, 7, 0, 0, 1464, 1466, 1, 0, 0, 0, 1465, 1455, 1, 0, 0, 0, 1465, 1461, 1, 0, 0, 0, 1466, 237, 1, 0, 0, 0, 1467, 1468, 3, 294, 147, 0, 1468, 1469, 3, 236, 118, 0, 1469, 239, 1, 0, 0, 0, 1470, 1471, 5, 216, 0, 0, 1471, 241, 1, 0, 0, 0, 1472, 1473, 3, 240, 120, 0, 1473, 1474, 5, 6, 0, 0, 1474, 1475, 5, 8, 0, 0, 1475, 1476, 3, 6, 3, 0, 1476, 1477, 5, 10, 0, 0, 1477, 1478, 5, 7, 0, 0, 1478, 243, 1, 0, 0, 0, 1479, 1482, 3, 50, 25, 0, 1480, 1481, 5, 17, 0, 0, 1481, 1483, 3, 18, 9, 0, 1482, 1480, 1, 0, 0, 0, 1482, 1483, 1, 0, 0, 0, 1483, 1484, 1, 0, 0, 0, 1484, 1486, 3, 26, 13, 0, 1485, 1487, 5, 11, 0, 0, 1486, 1485, 1, 0, 0, 0, 1486, 1487, 1, 0, 0, 0, 1487, 245, 1, 0, 0, 0, 1488, 1489, 5, 8, 0, 0, 1489, 1490, 5, 6, 0, 0, 1490, 1491, 3, 12, 6, 0, 1491, 1492, 3, 6, 3, 0, 1492, 1493, 5, 10, 0, 0, 1493, 1494, 5, 7, 0, 0, 1494, 247, 1, 0, 0, 0, 1495, 1496, 5, 114, 0, 0, 1496, 1498, 3, 252, 126, 0, 1497, 1499, 3, 334, 167, 0, 1498, 1497, 1, 0, 0, 0, 1498, 1499, 1, 0, 0, 0, 1499, 1500, 1, 0, 0, 0, 1500, 1502, 5, 8, 0, 0, 1501, 1503, 3, 6, 3, 0, 1502, 1501, 1, 0, 0, 0, 1502, 1503, 1, 0, 0, 0, 1503, 1504, 1, 0, 0, 0, 1504, 1506, 5, 10, 0, 0, 1505, 1507, 5, 11, 0, 0, 1506, 1505, 1, 0, 0, 0, 1506, 1507, 1, 0, 0, 0, 1507, 249, 1, 0, 0, 0, 1508, 1509, 5, 115, 0, 0, 1509, 1511, 3, 254, 127, 0, 1510, 1512, 3, 334, 167, 0, 1511, 1510, 1, 0, 0, 0, 1511, 1512, 1, 0, 0, 0, 1512, 1513, 1, 0, 0, 0, 1513, 1515, 5, 8, 0, 0, 1514, 1516, 3, 6, 3, 0, 1515, 1514, 1, 0, 0, 0, 1515, 1516, 1, 0, 0, 0, 1516, 1517, 1, 0, 0, 0, 1517, 1519, 5, 10, 0, 0, 1518, 1520, 5, 11, 0, 0, 1519, 1518, 1, 0, 0, 0, 1519, 1520, 1, 0, 0, 0, 1520, 251, 1, 0, 0, 0, 1521, 1522, 5, 214, 0, 0, 1522, 253, 1, 0, 0, 0, 1523, 1524, 5, 214, 0, 0, 1524, 255, 1, 0, 0, 0, 1525, 1527, 5, 153, 0, 0, 1526, 1528, 3, 334, 167, 0, 1527, 1526, 1, 0, 0, 0, 1527, 1528, 1, 0, 0, 0, 1528, 1529, 1, 0, 0, 0, 1529, 1530, 5, 15, 0, 0, 1530, 1531, 3, 302, 151, 0, 1531, 1532, 5, 8, 0, 0, 1532, 1533, 3, 340, 170, 0, 1533, 1534, 5, 10, 0, 0, 1534, 257, 1, 0, 0, 0, 1535, 1536, 5, 217, 0, 0, 1536, 1537, 5, 12, 0, 0, 1537, 1538, 5, 217, 0, 0, 1538, 259, 1, 0, 0, 0, 1539, 1540, 5, 153, 0, 0, 1540, 1541, 5, 6, 0, 0, 1541, 1542, 3, 258, 129, 0, 1542, 1543, 5, 7, 0, 0, 1543, 1544, 5, 8, 0, 0, 1544, 1545, 3, 340, 170, 0, 1545, 1546, 5, 10, 0, 0, 1546, 261, 1, 0, 0, 0, 1547, 1548, 5, 190, 0, 0, 1548, 1549, 5, 15, 0, 0, 1549, 1551, 3, 264, 132, 0, 1550, 1552, 5, 11, 0, 0, 1551, 1550, 1, 0, 0, 0, 1551, 1552, 1, 0, 0, 0, 1552, 263, 1, 0, 0, 0, 1553, 1554, 7, 6, 0, 0, 1554, 265, 1, 0, 0, 0, 1555, 1556, 5, 103, 0, 0, 1556, 1557, 5, 207, 0, 0, 1557, 1558, 3, 334, 167, 0, 1558, 1559, 5, 8, 0, 0, 1559, 1560, 3, 262, 131, 0, 1560, 1561, 3, 260, 130, 0, 1561, 1563, 5, 10, 0, 0, 1562, 1564, 5, 11, 0, 0, 1563, 1562, 1, 0, 0, 0, 1563, 1564, 1, 0, 0, 0, 1564, 1576, 1, 0, 0, 0, 1565, 1566, 5, 104, 0, 0, 1566, 1567, 5, 207, 0, 0, 1567, 1568, 3, 334, 167, 0, 1568, 1569, 5, 8, 0, 0, 1569, 1570, 3, 268, 134, 0, 1570, 1571, 3, 278, 139, 0, 1571, 1573, 5, 10, 0, 0, 1572, 1574, 5, 11, 0, 0, 1573, 1572, 1, 0, 0, 0, 1573, 1574, 1, 0, 0, 0, 1574, 1576, 1, 0, 0, 0, 1575, 1555, 1, 0, 0, 0, 1575, 1565, 1, 0, 0, 0, 1576, 267, 1, 0, 0, 0, 1577, 1579, 3, 270, 135, 0, 1578, 1580, 3, 272, 136, 0, 1579, 1578, 1, 0, 0, 0, 1579, 1580, 1, 0, 0, 0, 1580, 269, 1, 0, 0, 0, 1581, 1582, 5, 197, 0, 0, 1582, 1583, 5, 15, 0, 0, 1583, 1584, 3, 276, 138, 0, 1584, 1585, 5, 11, 0, 0, 1585, 271, 1, 0, 0, 0, 1586, 1587, 5, 198, 0, 0, 1587, 1588, 5, 15, 0, 0, 1588, 1589, 3, 274, 137, 0, 1589, 1590, 5, 11, 0, 0, 1590, 273, 1, 0, 0, 0, 1591, 1592, 5, 203, 0, 0, 1592, 275, 1, 0, 0, 0, 1593, 1594, 7, 7, 0, 0, 1594, 277, 1, 0, 0, 0, 1595, 1596, 5, 153, 0, 0, 1596, 1597, 5, 6, 0, 0, 1597, 1598, 3, 280, 140, 0, 1598, 1599, 5, 7, 0, 0, 1599, 1600, 5, 15, 0, 0, 1600, 1601, 3, 282, 141, 0, 1601, 1602, 5, 8, 0, 0, 1602, 1603, 3, 340, 170, 0, 1603, 1604, 5, 10, 0, 0, 1604, 279, 1, 0, 0, 0, 1605, 1606, 5, 217, 0, 0, 1606, 281, 1, 0, 0, 0, 1607, 1608, 5, 203, 0, 0, 1608, 283, 1, 0, 0, 0, 1609, 1610, 5, 203, 0, 0, 1610, 285, 1, 0, 0, 0, 1611, 1616, 3, 284, 142, 0, 1612, 1613, 5, 40, 0, 0, 1613, 1615, 3, 284, 142, 0, 1614, 1612, 1, 0, 0, 0, 1615, 1618, 1, 0, 0, 0, 1616, 1614, 1, 0, 0, 0, 1616, 1617, 1, 0, 0, 0, 1617, 287, 1, 0, 0, 0, 1618, 1616, 1, 0, 0, 0, 1619, 1620, 5, 206, 0, 0, 1620, 289, 1, 0, 0, 0, 1621, 1626, 3, 288, 144, 0, 1622, 1623, 5, 40, 0, 0, 1623, 1625, 3, 288, 144, 0, 1624, 1622, 1, 0, 0, 0, 1625, 1628, 1, 0, 0, 0, 1626, 1624, 1, 0, 0, 0, 1626, 1627, 1, 0, 0, 0, 1627, 291, 1, 0, 0, 0, 1628, 1626, 1, 0, 0, 0, 1629, 1630, 5, 204, 0, 0, 1630, 293, 1, 0, 0, 0, 1631, 1632, 5, 205, 0, 0, 1632, 295, 1, 0, 0, 0, 1633, 1634, 5, 212, 0, 0, 1634, 297, 1, 0, 0, 0, 1635, 1636, 5, 118, 0, 0, 1636, 1637, 5, 6, 0, 0, 1637, 1638, 3, 48, 24, 0, 1638, 1639, 5, 7, 0, 0, 1639, 299, 1, 0, 0, 0, 1640, 1641, 5, 119, 0, 0, 1641, 1643, 5, 6, 0, 0, 1642, 1644, 3, 290, 145, 0, 1643, 1642, 1, 0, 0, 0, 1643, 1644, 1, 0, 0, 0, 1644, 1645, 1, 0, 0, 0, 1645, 1646, 5, 7, 0, 0, 1646, 301, 1, 0, 0, 0, 1647, 1648, 5, 6, 0, 0, 1648, 1649, 3, 298, 149, 0, 1649, 1650, 5, 12, 0, 0, 1650, 1651, 3, 300, 150, 0, 1651, 1652, 5, 7, 0, 0, 1652, 303, 1, 0, 0, 0, 1653, 1654, 5, 209, 0, 0, 1654, 305, 1, 0, 0, 0, 1655, 1656, 5, 121, 0, 0, 1656, 1657, 3, 304, 152, 0, 1657, 1658, 5, 8, 0, 0, 1658, 1659, 3, 56, 28, 0, 1659, 1660, 5, 10, 0, 0, 1660, 307, 1, 0, 0, 0, 1661, 1664, 3, 312, 156, 0, 1662, 1664, 3, 310, 155, 0, 1663, 1661, 1, 0, 0, 0, 1663, 1662, 1, 0, 0, 0, 1664, 309, 1, 0, 0, 0, 1665, 1667, 5, 128, 0, 0, 1666, 1665, 1, 0, 0, 0, 1666, 1667, 1, 0, 0, 0, 1667, 1668, 1, 0, 0, 0, 1668, 1670, 3, 18, 9, 0, 1669, 1671, 3, 334, 167, 0, 1670, 1669, 1, 0, 0, 0, 1670, 1671, 1, 0, 0, 0, 1671, 1672, 1, 0, 0, 0, 1672, 1673, 3, 316, 158, 0, 1673, 1674, 5, 8, 0, 0, 1674, 1675, 3, 340, 170, 0, 1675, 1676, 5, 10, 0, 0, 1676, 311, 1, 0, 0, 0, 1677, 1679, 5, 129, 0, 0, 1678, 1677, 1, 0, 0, 0, 1678, 1679, 1, 0, 0, 0, 1679, 1680, 1, 0, 0, 0, 1680, 1682, 3, 18, 9, 0, 1681, 1683, 3, 334, 167, 0, 1682, 1681, 1, 0, 0, 0, 1682, 1683, 1, 0, 0, 0, 1683, 1684, 1, 0, 0, 0, 1684, 1685, 3, 314, 157, 0, 1685, 1686, 5, 8, 0, 0, 1686, 1687, 3, 340, 170, 0, 1687, 1688, 5, 10, 0, 0, 1688, 313, 1, 0, 0, 0, 1689, 1690, 5, 15, 0, 0, 1690, 1691, 3, 302, 151, 0, 1691, 315, 1, 0, 0, 0, 1692, 1696, 3, 64, 32, 0, 1693, 1694, 5, 15, 0, 0, 1694, 1696, 3, 302, 151, 0, 1695, 1692, 1, 0, 0, 0, 1695, 1693, 1, 0, 0, 0, 1696, 317, 1, 0, 0, 0, 1697, 1699, 3, 78, 39, 0, 1698, 1697, 1, 0, 0, 0, 1698, 1699, 1, 0, 0, 0, 1699, 1701, 1, 0, 0, 0, 1700, 1702, 5, 131, 0, 0, 1701, 1700, 1, 0, 0, 0, 1701, 1702, 1, 0, 0, 0, 1702, 319, 1, 0, 0, 0, 1703, 1704, 3, 82, 41, 0, 1704, 1705, 5, 11, 0, 0, 1705, 321, 1, 0, 0, 0, 1706, 1708, 5, 24, 0, 0, 1707, 1706, 1, 0, 0, 0, 1707, 1708, 1, 0, 0, 0, 1708, 1709, 1, 0, 0, 0, 1709, 1710, 5, 217, 0, 0, 1710, 1712, 5, 6, 0, 0, 1711, 1713, 3, 334, 167, 0, 1712, 1711, 1, 0, 0, 0, 1712, 1713, 1, 0, 0, 0, 1713, 1714, 1, 0, 0, 0, 1714, 1715, 5, 7, 0, 0, 1715, 1716, 5, 8, 0, 0, 1716, 1717, 3, 340, 170, 0, 1717, 1718, 5, 10, 0, 0, 1718, 323, 1, 0, 0, 0, 1719, 1720, 5, 82, 0, 0, 1720, 1722, 5, 24, 0, 0, 1721, 1723, 5, 217, 0, 0, 1722, 1721, 1, 0, 0, 0, 1722, 1723, 1, 0, 0, 0, 1723, 1724, 1, 0, 0, 0, 1724, 1726, 5, 6, 0, 0, 1725, 1727, 3, 334, 167, 0, 1726, 1725, 1, 0, 0, 0, 1726, 1727, 1, 0, 0, 0, 1727, 1728, 1, 0, 0, 0, 1728, 1729, 5, 7, 0, 0, 1729, 1730, 5, 8, 0, 0, 1730, 1731, 3, 340, 170, 0, 1731, 1732, 5, 10, 0, 0, 1732, 325, 1, 0, 0, 0, 1733, 1734, 5, 8, 0, 0, 1734, 1739, 3, 328, 164, 0, 1735, 1736, 5, 12, 0, 0, 1736, 1738, 3, 328, 164, 0, 1737, 1735, 1, 0, 0, 0, 1738, 1741, 1, 0, 0, 0, 1739, 1737, 1, 0, 0, 0, 1739, 1740, 1, 0, 0, 0, 1740, 1743, 1, 0, 0, 0, 1741, 1739, 1, 0, 0, 0, 1742, 1744, 5, 12, 0, 0, 1743, 1742, 1, 0, 0, 0, 1743, 1744, 1, 0, 0, 0, 1744, 1745, 1, 0, 0, 0, 1745, 1746, 5, 10, 0, 0, 1746, 327, 1, 0, 0, 0, 1747, 1748, 5, 24, 0, 0, 1748, 1749, 3, 332, 166, 0, 1749, 329, 1, 0, 0, 0, 1750, 1751, 5, 8, 0, 0, 1751, 1756, 3, 332, 166, 0, 1752, 1753, 5, 12, 0, 0, 1753, 1755, 3, 332, 166, 0, 1754, 1752, 1, 0, 0, 0, 1755, 1758, 1, 0, 0, 0, 1756, 1754, 1, 0, 0, 0, 1756, 1757, 1, 0, 0, 0, 1757, 1760, 1, 0, 0, 0, 1758, 1756, 1, 0, 0, 0, 1759, 1761, 5, 12, 0, 0, 1760, 1759, 1, 0, 0, 0, 1760, 1761, 1, 0, 0, 0, 1761, 1762, 1, 0, 0, 0, 1762, 1763, 5, 10, 0, 0, 1763, 331, 1, 0, 0, 0, 1764, 1765, 5, 4, 0, 0, 1765, 1766, 3, 368, 184, 0, 1766, 1767, 5, 5, 0, 0, 1767, 1769, 5, 6, 0, 0, 1768, 1770, 3, 334, 167, 0, 1769, 1768, 1, 0, 0, 0, 1769, 1770, 1, 0, 0, 0, 1770, 1771, 1, 0, 0, 0, 1771, 1772, 5, 7, 0, 0, 1772, 1773, 5, 8, 0, 0, 1773, 1774, 3, 340, 170, 0, 1774, 1775, 5, 10, 0, 0, 1775, 333, 1, 0, 0, 0, 1776, 1777, 5, 6, 0, 0, 1777, 1796, 5, 7, 0, 0, 1778, 1792, 5, 6, 0, 0, 1779, 1784, 3, 336, 168, 0, 1780, 1781, 5, 12, 0, 0, 1781, 1783, 3, 336, 168, 0, 1782, 1780, 1, 0, 0, 0, 1783, 1786, 1, 0, 0, 0, 1784, 1782, 1, 0, 0, 0, 1784, 1785, 1, 0, 0, 0, 1785, 1789, 1, 0, 0, 0, 1786, 1784, 1, 0, 0, 0, 1787, 1788, 5, 12, 0, 0, 1788, 1790, 3, 338, 169, 0, 1789, 1787, 1, 0, 0, 0, 1789, 1790, 1, 0, 0, 0, 1790, 1793, 1, 0, 0, 0, 1791, 1793, 3, 338, 169, 0, 1792, 1779, 1, 0, 0, 0, 1792, 1791, 1, 0, 0, 0, 1792, 1793, 1, 0, 0, 0, 1793, 1794, 1, 0, 0, 0, 1794, 1796, 5, 7, 0, 0, 1795, 1776, 1, 0, 0, 0, 1795, 1778, 1, 0, 0, 0, 1796, 335, 1, 0, 0, 0, 1797, 1799, 3, 98, 49, 0, 1798, 1797, 1, 0, 0, 0, 1798, 1799, 1, 0, 0, 0, 1799, 1801, 1, 0, 0, 0, 1800, 1802, 3, 78, 39, 0, 1801, 1800, 1, 0, 0, 0, 1801, 1802, 1, 0, 0, 0, 1802, 1803, 1, 0, 0, 0, 1803, 1805, 3, 390, 195, 0, 1804, 1806, 3, 64, 32, 0, 1805, 1804, 1, 0, 0, 0, 1805, 1806, 1, 0, 0, 0, 1806, 1809, 1, 0, 0, 0, 1807, 1808, 5, 13, 0, 0, 1808, 1810, 3, 368, 184, 0, 1809, 1807, 1, 0, 0, 0, 1809, 1810, 1, 0, 0, 0, 1810, 337, 1, 0, 0, 0, 1811, 1812, 5, 16, 0, 0, 1812, 1813, 5, 217, 0, 0, 1813, 339, 1, 0, 0, 0, 1814, 1816, 3, 132, 66, 0, 1815, 1814, 1, 0, 0, 0, 1815, 1816, 1, 0, 0, 0, 1816, 341, 1, 0, 0, 0, 1817, 1819, 5, 4, 0, 0, 1818, 1820, 3, 344, 172, 0, 1819, 1818, 1, 0, 0, 0, 1819, 1820, 1, 0, 0, 0, 1820, 1821, 1, 0, 0, 0, 1821, 1822, 5, 5, 0, 0, 1822, 343, 1, 0, 0, 0, 1823, 1828, 3, 368, 184, 0, 1824, 1825, 5, 12, 0, 0, 1825, 1827, 3, 368, 184, 0, 1826, 1824, 1, 0, 0, 0, 1827, 1830, 1, 0, 0, 0, 1828, 1826, 1, 0, 0, 0, 1828, 1829, 1, 0, 0, 0, 1829, 345, 1, 0, 0, 0, 1830, 1828, 1, 0, 0, 0, 1831, 1843, 5, 8, 0, 0, 1832, 1837, 3, 350, 175, 0, 1833, 1834, 5, 12, 0, 0, 1834, 1836, 3, 350, 175, 0, 1835, 1833, 1, 0, 0, 0, 1836, 1839, 1, 0, 0, 0, 1837, 1835, 1, 0, 0, 0, 1837, 1838, 1, 0, 0, 0, 1838, 1841, 1, 0, 0, 0, 1839, 1837, 1, 0, 0, 0, 1840, 1842, 5, 12, 0, 0, 1841, 1840, 1, 0, 0, 0, 1841, 1842, 1, 0, 0, 0, 1842, 1844, 1, 0, 0, 0, 1843, 1832, 1, 0, 0, 0, 1843, 1844, 1, 0, 0, 0, 1844, 1845, 1, 0, 0, 0, 1845, 1846, 5, 10, 0, 0, 1846, 347, 1, 0, 0, 0, 1847, 1848, 3, 368, 184, 0, 1848, 349, 1, 0, 0, 0, 1849, 1850, 3, 356, 178, 0, 1850, 1851, 7, 8, 0, 0, 1851, 1852, 3, 348, 174, 0, 1852, 1865, 1, 0, 0, 0, 1853, 1854, 5, 4, 0, 0, 1854, 1855, 3, 348, 174, 0, 1855, 1856, 5, 5, 0, 0, 1856, 1857, 5, 15, 0, 0, 1857, 1858, 3, 348, 174, 0, 1858, 1865, 1, 0, 0, 0, 1859, 1865, 3, 352, 176, 0, 1860, 1865, 3, 354, 177, 0, 1861, 1865, 3, 322, 161, 0, 1862, 1865, 3, 390, 195, 0, 1863, 1865, 3, 74, 37, 0, 1864, 1849, 1, 0, 0, 0, 1864, 1853, 1, 0, 0, 0, 1864, 1859, 1, 0, 0, 0, 1864, 1860, 1, 0, 0, 0, 1864, 1861, 1, 0, 0, 0, 1864, 1862, 1, 0, 0, 0, 1864, 1863, 1, 0, 0, 0, 1865, 351, 1, 0, 0, 0, 1866, 1867, 3, 396, 198, 0, 1867, 1868, 5, 6, 0, 0, 1868, 1870, 5, 7, 0, 0, 1869, 1871, 3, 64, 32, 0, 1870, 1869, 1, 0, 0, 0, 1870, 1871, 1, 0, 0, 0, 1871, 1872, 1, 0, 0, 0, 1872, 1873, 5, 8, 0, 0, 1873, 1874, 3, 340, 170, 0, 1874, 1875, 5, 10, 0, 0, 1875, 353, 1, 0, 0, 0, 1876, 1877, 3, 398, 199, 0, 1877, 1880, 5, 6, 0, 0, 1878, 1881, 5, 217, 0, 0, 1879, 1881, 3, 2, 1, 0, 1880, 1878, 1, 0, 0, 0, 1880, 1879, 1, 0, 0, 0, 1881, 1883, 1, 0, 0, 0, 1882, 1884, 3, 64, 32, 0, 1883, 1882, 1, 0, 0, 0, 1883, 1884, 1, 0, 0, 0, 1884, 1885, 1, 0, 0, 0, 1885, 1886, 5, 7, 0, 0, 1886, 1887, 5, 8, 0, 0, 1887, 1888, 3, 340, 170, 0, 1888, 1889, 5, 10, 0, 0, 1889, 355, 1, 0, 0, 0, 1890, 1894, 3, 388, 194, 0, 1891, 1894, 5, 218, 0, 0, 1892, 1894, 3, 386, 193, 0, 1893, 1890, 1, 0, 0, 0, 1893, 1891, 1, 0, 0, 0, 1893, 1892, 1, 0, 0, 0, 1894, 357, 1, 0, 0, 0, 1895, 1900, 5, 6, 0, 0, 1896, 1898, 3, 360, 180, 0, 1897, 1899, 5, 12, 0, 0, 1898, 1897, 1, 0, 0, 0, 1898, 1899, 1, 0, 0, 0, 1899, 1901, 1, 0, 0, 0, 1900, 1896, 1, 0, 0, 0, 1900, 1901, 1, 0, 0, 0, 1901, 1902, 1, 0, 0, 0, 1902, 1903, 5, 7, 0, 0, 1903, 359, 1, 0, 0, 0, 1904, 1909, 3, 362, 181, 0, 1905, 1906, 5, 12, 0, 0, 1906, 1908, 3, 362, 181, 0, 1907, 1905, 1, 0, 0, 0, 1908, 1911, 1, 0, 0, 0, 1909, 1907, 1, 0, 0, 0, 1909, 1910, 1, 0, 0, 0, 1910, 361, 1, 0, 0, 0, 1911, 1909, 1, 0, 0, 0, 1912, 1913, 3, 348, 174, 0, 1913, 363, 1, 0, 0, 0, 1914, 1919, 3, 368, 184, 0, 1915, 1916, 5, 12, 0, 0, 1916, 1918, 3, 368, 184, 0, 1917, 1915, 1, 0, 0, 0, 1918, 1921, 1, 0, 0, 0, 1919, 1917, 1, 0, 0, 0, 1919, 1920, 1, 0, 0, 0, 1920, 365, 1, 0, 0, 0, 1921, 1919, 1, 0, 0, 0, 1922, 1924, 5, 82, 0, 0, 1923, 1925, 5, 217, 0, 0, 1924, 1923, 1, 0, 0, 0, 1924, 1925, 1, 0, 0, 0, 1925, 1926, 1, 0, 0, 0, 1926, 1928, 5, 6, 0, 0, 1927, 1929, 3, 334, 167, 0, 1928, 1927, 1, 0, 0, 0, 1928, 1929, 1, 0, 0, 0, 1929, 1930, 1, 0, 0, 0, 1930, 1932, 5, 7, 0, 0, 1931, 1933, 3, 64, 32, 0, 1932, 1931, 1, 0, 0, 0, 1932, 1933, 1, 0, 0, 0, 1933, 1934, 1, 0, 0, 0, 1934, 1935, 5, 8, 0, 0, 1935, 1936, 3, 340, 170, 0, 1936, 1937, 5, 10, 0, 0, 1937, 367, 1, 0, 0, 0, 1938, 1939, 6, 184, -1, 0, 1939, 1940, 5, 23, 0, 0, 1940, 1951, 3, 368, 184, 19, 1941, 1942, 5, 6, 0, 0, 1942, 1943, 3, 368, 184, 0, 1943, 1944, 5, 7, 0, 0, 1944, 1951, 1, 0, 0, 0, 1945, 1951, 3, 380, 190, 0, 1946, 1951, 3, 112, 56, 0, 1947, 1951, 3, 32, 16, 0, 1948, 1951, 3, 342, 171, 0, 1949, 1951, 5, 83, 0, 0, 1950, 1938, 1, 0, 0, 0, 1950, 1941, 1, 0, 0, 0, 1950, 1945, 1, 0, 0, 0, 1950, 1946, 1, 0, 0, 0, 1950, 1947, 1, 0, 0, 0, 1950, 1948, 1, 0, 0, 0, 1950, 1949, 1, 0, 0, 0, 1951, 1993, 1, 0, 0, 0, 1952, 1953, 10, 13, 0, 0, 1953, 1954, 7, 9, 0, 0, 1954, 1992, 3, 368, 184, 14, 1955, 1956, 10, 12, 0, 0, 1956, 1957, 7, 10, 0, 0, 1957, 1992, 3, 368, 184, 13, 1958, 1959, 10, 11, 0, 0, 1959, 1960, 7, 11, 0, 0, 1960, 1992, 3, 368, 184, 12, 1961, 1962, 10, 10, 0, 0, 1962, 1963, 7, 12, 0, 0, 1963, 1992, 3, 368, 184, 11, 1964, 1965, 10, 9, 0, 0, 1965, 1966, 5, 41, 0, 0, 1966, 1992, 3, 368, 184, 10, 1967, 1968, 10, 8, 0, 0, 1968, 1969, 5, 42, 0, 0, 1969, 1992, 3, 368, 184, 9, 1970, 1971, 10, 7, 0, 0, 1971, 1972, 5, 43, 0, 0, 1972, 1992, 3, 368, 184, 8, 1973, 1974, 10, 6, 0, 0, 1974, 1975, 5, 13, 0, 0, 1975, 1992, 3, 368, 184, 7, 1976, 1977, 10, 17, 0, 0, 1977, 1978, 5, 17, 0, 0, 1978, 1992, 3, 32, 16, 0, 1979, 1980, 10, 16, 0, 0, 1980, 1992, 3, 26, 13, 0, 1981, 1982, 10, 15, 0, 0, 1982, 1983, 5, 17, 0, 0, 1983, 1984, 5, 187, 0, 0, 1984, 1985, 5, 6, 0, 0, 1985, 1992, 5, 7, 0, 0, 1986, 1987, 10, 14, 0, 0, 1987, 1988, 5, 17, 0, 0, 1988, 1989, 5, 188, 0, 0, 1989, 1990, 5, 6, 0, 0, 1990, 1992, 5, 7, 0, 0, 1991, 1952, 1, 0, 0, 0, 1991, 1955, 1, 0, 0, 0, 1991, 1958, 1, 0, 0, 0, 1991, 1961, 1, 0, 0, 0, 1991, 1964, 1, 0, 0, 0, 1991, 1967, 1, 0, 0, 0, 1991, 1970, 1, 0, 0, 0, 1991, 1973, 1, 0, 0, 0, 1991, 1976, 1, 0, 0, 0, 1991, 1979, 1, 0, 0, 0, 1991, 1981, 1, 0, 0, 0, 1991, 1986, 1, 0, 0, 0, 1992, 1995, 1, 0, 0, 0, 1993, 1991, 1, 0, 0, 0, 1993, 1994, 1, 0, 0, 0, 1994, 369, 1, 0, 0, 0, 1995, 1993, 1, 0, 0, 0, 1996, 1999, 3, 52, 26, 0, 1997, 1998, 5, 4, 0, 0, 1998, 2000, 5, 5, 0, 0, 1999, 1997, 1, 0, 0, 0, 1999, 2000, 1, 0, 0, 0, 2000, 2003, 1, 0, 0, 0, 2001, 2003, 3, 368, 184, 0, 2002, 1996, 1, 0, 0, 0, 2002, 2001, 1, 0, 0, 0, 2003, 371, 1, 0, 0, 0, 2004, 2006, 5, 94, 0, 0, 2005, 2004, 1, 0, 0, 0, 2005, 2006, 1, 0, 0, 0, 2006, 2007, 1, 0, 0, 0, 2007, 2009, 3, 374, 187, 0, 2008, 2010, 3, 64, 32, 0, 2009, 2008, 1, 0, 0, 0, 2009, 2010, 1, 0, 0, 0, 2010, 2011, 1, 0, 0, 0, 2011, 2012, 5, 55, 0, 0, 2012, 2013, 3, 376, 188, 0, 2013, 373, 1, 0, 0, 0, 2014, 2021, 5, 217, 0, 0, 2015, 2017, 5, 6, 0, 0, 2016, 2018, 3, 334, 167, 0, 2017, 2016, 1, 0, 0, 0, 2017, 2018, 1, 0, 0, 0, 2018, 2019, 1, 0, 0, 0, 2019, 2021, 5, 7, 0, 0, 2020, 2014, 1, 0, 0, 0, 2020, 2015, 1, 0, 0, 0, 2021, 375, 1, 0, 0, 0, 2022, 2028, 3, 368, 184, 0, 2023, 2024, 5, 8, 0, 0, 2024, 2025, 3, 340, 170, 0, 2025, 2026, 5, 10, 0, 0, 2026, 2028, 1, 0, 0, 0, 2027, 2022, 1, 0, 0, 0, 2027, 2023, 1, 0, 0, 0, 2028, 377, 1, 0, 0, 0, 2029, 2030, 7, 13, 0, 0, 2030, 379, 1, 0, 0, 0, 2031, 2038, 5, 56, 0, 0, 2032, 2038, 5, 57, 0, 0, 2033, 2038, 5, 218, 0, 0, 2034, 2038, 3, 382, 191, 0, 2035, 2038, 5, 3, 0, 0, 2036, 2038, 3, 386, 193, 0, 2037, 2031, 1, 0, 0, 0, 2037, 2032, 1, 0, 0, 0, 2037, 2033, 1, 0, 0, 0, 2037, 2034, 1, 0, 0, 0, 2037, 2035, 1, 0, 0, 0, 2037, 2036, 1, 0, 0, 0, 2038, 381, 1, 0, 0, 0, 2039, 2043, 5, 219, 0, 0, 2040, 2042, 3, 384, 192, 0, 2041, 2040, 1, 0, 0, 0, 2042, 2045, 1, 0, 0, 0, 2043, 2041, 1, 0, 0, 0, 2043, 2044, 1, 0, 0, 0, 2044, 2046, 1, 0, 0, 0, 2045, 2043, 1, 0, 0, 0, 2046, 2047, 5, 219, 0, 0, 2047, 383, 1, 0, 0, 0, 2048, 2054, 5, 226, 0, 0, 2049, 2050, 5, 225, 0, 0, 2050, 2051, 3, 368, 184, 0, 2051, 2052, 5, 9, 0, 0, 2052, 2054, 1, 0, 0, 0, 2053, 2048, 1, 0, 0, 0, 2053, 2049, 1, 0, 0, 0, 2054, 385, 1, 0, 0, 0, 2055, 2058, 5, 58, 0, 0, 2056, 2058, 5, 59, 0, 0, 2057, 2055, 1, 0, 0, 0, 2057, 2056, 1, 0, 0, 0, 2058, 387, 1, 0, 0, 0, 2059, 2060, 5, 217, 0, 0, 2060, 389, 1, 0, 0, 0, 2061, 2062, 7, 14, 0, 0, 2062, 391, 1, 0, 0, 0, 2063, 2067, 3, 394, 197, 0, 2064, 2067, 5, 56, 0, 0, 2065, 2067, 5, 57, 0, 0, 2066, 2063, 1, 0, 0, 0, 2066, 2064, 1, 0, 0, 0, 2066, 2065, 1, 0, 0, 0, 2067, 393, 1, 0, 0, 0, 2068, 2069, 7, 15, 0, 0, 2069, 395, 1, 0, 0, 0, 2070, 2071, 5, 151, 0, 0, 2071, 2072, 3, 356, 178, 0, 2072, 397, 1, 0, 0, 0, 2073, 2074, 5, 152, 0, 0, 2074, 2075, 3, 356, 178, 0, 2075, 399, 1, 0, 0, 0, 2076, 2077, 7, 16, 0, 0, 2077, 401, 1, 0, 0, 0, 2078, 2079, 3, 32, 16, 0, 2079, 2080, 5, 186, 0, 0, 2080, 2082, 3, 404, 202, 0, 2081, 2083, 5, 11, 0, 0, 2082, 2081, 1, 0, 0, 0, 2082, 2083, 1, 0, 0, 0, 2083, 403, 1, 0, 0, 0, 2084, 2085, 5, 202, 0, 0, 2085, 405, 1, 0, 0, 0, 215, 411, 418, 428, 432, 440, 456, 474, 477, 492, 507, 516, 523, 532, 537, 542, 556, 560, 571, 576, 578, 585, 590, 593, 596, 601, 604, 607, 612, 615, 618, 622, 628, 639, 646, 652, 658, 666, 671, 682, 687, 695, 702, 711, 729, 736, 743, 749, 753, 759, 763, 769, 773, 779, 783, 790, 797, 824, 831, 838, 845, 852, 859, 866, 873, 880, 887, 894, 901, 908, 915, 922, 924, 929, 939, 949, 954, 961, 979, 986, 993, 1001, 1008, 1011, 1015, 1019, 1028, 1036, 1046, 1053, 1062, 1081, 1085, 1089, 1099, 1103, 1113, 1115, 1127, 1129, 1135, 1141, 1147, 1165, 1169, 1176, 1183, 1187, 1193, 1196, 1198, 1204, 1208, 1213, 1216, 1218, 1232, 1235, 1263, 1276, 1284, 1301, 1306, 1312, 1318, 1323, 1336, 1342, 1350, 1358, 1367, 1377, 1386, 1396, 1398, 1416, 1425, 1433, 1441, 1465, 1482, 1486, 1498, 1502, 1506, 1511, 1515, 1519, 1527, 1551, 1563, 1573, 1575, 1579, 1616, 1626, 1643, 1663, 1666, 1670, 1678, 1682, 1695, 1698, 1701, 1707, 1712, 1722, 1726, 1739, 1743, 1756, 1760, 1769, 1784, 1789, 1792, 1795, 1798, 1801, 1805, 1809, 1815, 1819, 1828, 1837, 1841, 1843, 1864, 1870, 1880, 1883, 1893, 1898, 1900, 1909, 1919, 1924, 1928, 1932, 1950, 1991, 1993, 1999, 2002, 2005, 2009, 2017, 2020, 2027, 2037, 2043, 2053, 2057, 2066, 2082] \ No newline at end of file diff --git a/server/src/parser/grammar/BitloopsParser.js b/server/src/parser/grammar/BitloopsParser.js deleted file mode 100644 index 39a511a..0000000 --- a/server/src/parser/grammar/BitloopsParser.js +++ /dev/null @@ -1,24404 +0,0 @@ -// Generated from src/parser/grammar/BitloopsParser.g4 by ANTLR 4.10.1 -// jshint ignore: start -import antlr4 from 'antlr4'; -import BitloopsParserListener from './BitloopsParserListener.js'; -import BitloopsParserVisitor from './BitloopsParserVisitor.js'; - -const serializedATN = [4,1,227,2087,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,1,0,1,0,1,0,1,1,1,1,3,1,412,8,1,1,2,1,2,1,2,5,2,417,8,2,10,2, -12,2,420,9,2,1,2,1,2,1,3,1,3,1,3,5,3,427,8,3,10,3,12,3,430,9,3,1,3,3,3,433, -8,3,1,4,1,4,1,4,1,4,1,5,1,5,3,5,441,8,5,1,5,1,5,1,6,1,6,1,7,1,7,1,7,1,7, -1,7,1,7,1,7,1,7,1,7,1,7,3,7,457,8,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,13,5,13,473,8,13,10,13,12,13,476,9,13,3,13,478, -8,13,1,13,1,13,1,14,1,14,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,3, -16,493,8,16,1,17,1,17,1,18,1,18,1,19,1,19,1,20,1,20,1,21,1,21,1,22,1,22, -1,23,3,23,508,8,23,1,23,1,23,1,23,1,24,1,24,1,24,1,24,3,24,517,8,24,1,24, -1,24,1,24,5,24,522,8,24,10,24,12,24,525,9,24,1,25,1,25,1,26,1,26,1,27,1, -27,3,27,533,8,27,1,28,5,28,536,8,28,10,28,12,28,539,9,28,1,29,1,29,3,29, -543,8,29,1,29,1,29,1,29,1,30,1,30,1,30,1,31,1,31,1,31,1,31,4,31,555,8,31, -11,31,12,31,556,1,31,1,31,3,31,561,8,31,1,32,1,32,1,32,1,33,1,33,1,33,1, -33,5,33,570,8,33,10,33,12,33,573,9,33,1,33,1,33,3,33,577,8,33,3,33,579,8, -33,1,34,1,34,1,34,5,34,584,8,34,10,34,12,34,587,9,34,1,35,1,35,3,35,591, -8,35,1,36,3,36,594,8,36,1,36,3,36,597,8,36,1,36,1,36,1,36,3,36,602,8,36, -1,36,3,36,605,8,36,1,36,3,36,608,8,36,1,37,1,37,1,37,3,37,613,8,37,1,38, -3,38,616,8,38,1,38,3,38,619,8,38,1,38,1,38,3,38,623,8,38,1,39,1,39,1,40, -1,40,3,40,629,8,40,1,41,1,41,1,41,1,41,1,41,1,41,1,41,1,42,1,42,3,42,640, -8,42,1,43,1,43,1,43,5,43,645,8,43,10,43,12,43,648,9,43,1,44,1,44,1,44,3, -44,653,8,44,1,45,1,45,1,45,1,45,3,45,659,8,45,1,45,1,45,1,46,1,46,4,46,665, -8,46,11,46,12,46,666,1,46,5,46,670,8,46,10,46,12,46,673,9,46,1,47,1,47,1, -47,1,47,1,47,1,48,4,48,681,8,48,11,48,12,48,682,1,49,1,49,1,49,3,49,688, -8,49,1,50,1,50,1,50,1,50,1,50,1,50,3,50,696,8,50,1,50,1,50,1,50,5,50,701, -8,50,10,50,12,50,704,9,50,1,51,1,51,1,51,1,52,5,52,710,8,52,10,52,12,52, -713,9,52,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53,1,53, -1,53,1,53,3,53,730,8,53,1,54,1,54,1,54,1,54,1,54,3,54,737,8,54,1,54,1,54, -1,54,1,54,1,54,3,54,744,8,54,1,54,1,54,1,54,1,54,3,54,750,8,54,1,54,1,54, -3,54,754,8,54,1,54,1,54,1,54,1,54,3,54,760,8,54,1,54,1,54,3,54,764,8,54, -1,54,1,54,1,54,1,54,3,54,770,8,54,1,54,1,54,3,54,774,8,54,1,54,1,54,1,54, -1,54,3,54,780,8,54,1,54,1,54,3,54,784,8,54,1,54,1,54,1,54,1,54,1,54,3,54, -791,8,54,1,54,1,54,1,54,1,54,1,54,3,54,798,8,54,1,54,1,54,1,54,1,54,1,54, -1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1, -54,1,54,1,54,1,54,1,54,1,54,3,54,825,8,54,1,54,1,54,1,54,1,54,1,54,3,54, -832,8,54,1,54,1,54,1,54,1,54,1,54,3,54,839,8,54,1,54,1,54,1,54,1,54,1,54, -3,54,846,8,54,1,54,1,54,1,54,1,54,1,54,3,54,853,8,54,1,54,1,54,1,54,1,54, -1,54,3,54,860,8,54,1,54,1,54,1,54,1,54,1,54,3,54,867,8,54,1,54,1,54,1,54, -1,54,1,54,3,54,874,8,54,1,54,1,54,1,54,1,54,1,54,3,54,881,8,54,1,54,1,54, -1,54,1,54,1,54,3,54,888,8,54,1,54,1,54,1,54,1,54,1,54,3,54,895,8,54,1,54, -1,54,1,54,1,54,1,54,3,54,902,8,54,1,54,1,54,1,54,1,54,1,54,3,54,909,8,54, -1,54,1,54,1,54,1,54,1,54,3,54,916,8,54,1,54,1,54,1,54,1,54,1,54,3,54,923, -8,54,3,54,925,8,54,1,55,1,55,1,55,3,55,930,8,55,1,56,1,56,1,56,1,56,1,56, -1,56,1,56,1,56,3,56,940,8,56,1,57,1,57,1,58,1,58,1,58,1,59,1,59,1,59,3,59, -950,8,59,1,59,1,59,1,59,3,59,955,8,59,1,60,1,60,1,60,1,60,1,60,3,60,962, -8,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, -61,1,61,1,61,3,61,980,8,61,1,62,1,62,1,62,1,62,1,62,3,62,987,8,62,1,63,1, -63,1,63,5,63,992,8,63,10,63,12,63,995,9,63,1,64,1,64,1,64,1,65,1,65,3,65, -1002,8,65,1,65,1,65,1,66,4,66,1007,8,66,11,66,12,66,1008,1,66,3,66,1012, -8,66,1,67,1,67,3,67,1016,8,67,1,67,1,67,3,67,1020,8,67,1,67,1,67,1,67,1, -67,1,68,1,68,1,68,3,68,1029,8,68,1,68,1,68,1,68,1,68,5,68,1035,8,68,10,68, -12,68,1038,9,68,1,68,1,68,1,69,1,69,1,69,5,69,1045,8,69,10,69,12,69,1048, -9,69,1,70,1,70,1,71,1,71,3,71,1054,8,71,1,72,1,72,1,72,1,72,1,72,1,72,1, -72,3,72,1063,8,72,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73, -1,73,1,73,1,73,1,73,1,73,1,73,3,73,1082,8,73,1,73,1,73,3,73,1086,8,73,1, -73,1,73,3,73,1090,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3,73,1100, -8,73,1,73,1,73,3,73,1104,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,3, -73,1114,8,73,3,73,1116,8,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73,1,73, -1,73,3,73,1128,8,73,3,73,1130,8,73,1,73,1,73,1,73,1,73,3,73,1136,8,73,1, -74,1,74,1,75,1,75,3,75,1142,8,75,1,75,1,75,1,76,1,76,3,76,1148,8,76,1,76, -1,76,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,79,1, -79,3,79,1166,8,79,1,79,1,79,3,79,1170,8,79,1,79,1,79,1,80,4,80,1175,8,80, -11,80,12,80,1176,1,81,1,81,1,81,1,81,1,81,3,81,1184,8,81,1,81,1,81,3,81, -1188,8,81,1,81,1,81,1,81,1,81,3,81,1194,8,81,1,81,3,81,1197,8,81,3,81,1199, -8,81,1,82,1,82,1,82,1,82,3,82,1205,8,82,1,82,1,82,3,82,1209,8,82,1,82,1, -82,1,82,3,82,1214,8,82,1,82,3,82,1217,8,82,3,82,1219,8,82,1,83,1,83,1,83, -1,83,1,84,1,84,1,84,1,84,1,85,1,85,1,85,1,85,3,85,1233,8,85,1,85,3,85,1236, -8,85,1,86,1,86,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,88,1,88,1,88,1,89,1, -89,1,90,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,1,92,1,92,1,92,3,92,1264, -8,92,1,92,1,92,1,92,1,92,1,92,1,92,1,93,1,93,1,93,1,93,1,93,3,93,1277,8, -93,1,94,1,94,1,95,1,95,1,95,1,95,3,95,1285,8,95,1,96,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,97,1,97,3,97,1302,8,97,1,98,5, -98,1305,8,98,10,98,12,98,1308,9,98,1,99,5,99,1311,8,99,10,99,12,99,1314, -9,99,1,100,5,100,1317,8,100,10,100,12,100,1320,9,100,1,101,1,101,3,101,1324, -8,101,1,101,1,101,1,101,1,101,1,101,1,101,1,102,1,102,1,103,1,103,1,103, -3,103,1337,8,103,1,103,1,103,1,103,1,103,3,103,1343,8,103,1,104,1,104,1, -104,1,104,1,104,1,104,3,104,1351,8,104,1,105,1,105,1,105,1,105,1,105,1,105, -3,105,1359,8,105,1,106,1,106,1,106,1,106,1,106,1,106,1,106,3,106,1368,8, -106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,1,106,3,106,1378,8,106,1,106, -1,106,1,106,1,106,1,106,1,106,1,106,3,106,1387,8,106,1,106,1,106,1,106,1, -106,1,106,1,106,1,106,1,106,3,106,1397,8,106,3,106,1399,8,106,1,107,1,107, -1,108,1,108,1,109,1,109,1,109,1,110,1,110,1,110,1,110,1,111,1,111,1,111, -5,111,1415,8,111,10,111,12,111,1418,9,111,1,112,1,112,1,112,1,112,1,112, -1,112,3,112,1426,8,112,1,113,1,113,1,113,1,113,1,113,1,113,3,113,1434,8, -113,1,114,1,114,1,114,1,114,1,114,1,114,3,114,1442,8,114,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,118,1,118,1,118, -1,118,1,118,1,118,1,118,1,118,1,118,1,118,3,118,1466,8,118,1,119,1,119,1, -119,1,120,1,120,1,121,1,121,1,121,1,121,1,121,1,121,1,121,1,122,1,122,1, -122,3,122,1483,8,122,1,122,1,122,3,122,1487,8,122,1,123,1,123,1,123,1,123, -1,123,1,123,1,123,1,124,1,124,1,124,3,124,1499,8,124,1,124,1,124,3,124,1503, -8,124,1,124,1,124,3,124,1507,8,124,1,125,1,125,1,125,3,125,1512,8,125,1, -125,1,125,3,125,1516,8,125,1,125,1,125,3,125,1520,8,125,1,126,1,126,1,127, -1,127,1,128,1,128,3,128,1528,8,128,1,128,1,128,1,128,1,128,1,128,1,128,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,131,3,131,1552,8,131,1,132,1,132,1,133,1,133,1,133,1,133, -1,133,1,133,1,133,1,133,3,133,1564,8,133,1,133,1,133,1,133,1,133,1,133,1, -133,1,133,1,133,3,133,1574,8,133,3,133,1576,8,133,1,134,1,134,3,134,1580, -8,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,138,1,138,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,141,1,141,1,142,1,142,1,143,1,143,1,143,5,143,1615,8, -143,10,143,12,143,1618,9,143,1,144,1,144,1,145,1,145,1,145,5,145,1625,8, -145,10,145,12,145,1628,9,145,1,146,1,146,1,147,1,147,1,148,1,148,1,149,1, -149,1,149,1,149,1,149,1,150,1,150,1,150,3,150,1644,8,150,1,150,1,150,1,151, -1,151,1,151,1,151,1,151,1,151,1,152,1,152,1,153,1,153,1,153,1,153,1,153, -1,153,1,154,1,154,3,154,1664,8,154,1,155,3,155,1667,8,155,1,155,1,155,3, -155,1671,8,155,1,155,1,155,1,155,1,155,1,155,1,156,3,156,1679,8,156,1,156, -1,156,3,156,1683,8,156,1,156,1,156,1,156,1,156,1,156,1,157,1,157,1,157,1, -158,1,158,1,158,3,158,1696,8,158,1,159,3,159,1699,8,159,1,159,3,159,1702, -8,159,1,160,1,160,1,160,1,161,3,161,1708,8,161,1,161,1,161,1,161,3,161,1713, -8,161,1,161,1,161,1,161,1,161,1,161,1,162,1,162,1,162,3,162,1723,8,162,1, -162,1,162,3,162,1727,8,162,1,162,1,162,1,162,1,162,1,162,1,163,1,163,1,163, -1,163,5,163,1738,8,163,10,163,12,163,1741,9,163,1,163,3,163,1744,8,163,1, -163,1,163,1,164,1,164,1,164,1,165,1,165,1,165,1,165,5,165,1755,8,165,10, -165,12,165,1758,9,165,1,165,3,165,1761,8,165,1,165,1,165,1,166,1,166,1,166, -1,166,1,166,3,166,1770,8,166,1,166,1,166,1,166,1,166,1,166,1,167,1,167,1, -167,1,167,1,167,1,167,5,167,1783,8,167,10,167,12,167,1786,9,167,1,167,1, -167,3,167,1790,8,167,1,167,3,167,1793,8,167,1,167,3,167,1796,8,167,1,168, -3,168,1799,8,168,1,168,3,168,1802,8,168,1,168,1,168,3,168,1806,8,168,1,168, -1,168,3,168,1810,8,168,1,169,1,169,1,169,1,170,3,170,1816,8,170,1,171,1, -171,3,171,1820,8,171,1,171,1,171,1,172,1,172,1,172,5,172,1827,8,172,10,172, -12,172,1830,9,172,1,173,1,173,1,173,1,173,5,173,1836,8,173,10,173,12,173, -1839,9,173,1,173,3,173,1842,8,173,3,173,1844,8,173,1,173,1,173,1,174,1,174, -1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175,1,175, -1,175,1,175,1,175,3,175,1865,8,175,1,176,1,176,1,176,1,176,3,176,1871,8, -176,1,176,1,176,1,176,1,176,1,177,1,177,1,177,1,177,3,177,1881,8,177,1,177, -3,177,1884,8,177,1,177,1,177,1,177,1,177,1,177,1,178,1,178,1,178,3,178,1894, -8,178,1,179,1,179,1,179,3,179,1899,8,179,3,179,1901,8,179,1,179,1,179,1, -180,1,180,1,180,5,180,1908,8,180,10,180,12,180,1911,9,180,1,181,1,181,1, -182,1,182,1,182,5,182,1918,8,182,10,182,12,182,1921,9,182,1,183,1,183,3, -183,1925,8,183,1,183,1,183,3,183,1929,8,183,1,183,1,183,3,183,1933,8,183, -1,183,1,183,1,183,1,183,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184, -1,184,1,184,1,184,1,184,3,184,1951,8,184,1,184,1,184,1,184,1,184,1,184,1, -184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1, -184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1, -184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,1,184,5,184,1992,8,184, -10,184,12,184,1995,9,184,1,185,1,185,1,185,3,185,2000,8,185,1,185,3,185, -2003,8,185,1,186,3,186,2006,8,186,1,186,1,186,3,186,2010,8,186,1,186,1,186, -1,186,1,187,1,187,1,187,3,187,2018,8,187,1,187,3,187,2021,8,187,1,188,1, -188,1,188,1,188,1,188,3,188,2028,8,188,1,189,1,189,1,190,1,190,1,190,1,190, -1,190,1,190,3,190,2038,8,190,1,191,1,191,5,191,2042,8,191,10,191,12,191, -2045,9,191,1,191,1,191,1,192,1,192,1,192,1,192,1,192,3,192,2054,8,192,1, -193,1,193,3,193,2058,8,193,1,194,1,194,1,195,1,195,1,196,1,196,1,196,3,196, -2067,8,196,1,197,1,197,1,198,1,198,1,198,1,199,1,199,1,199,1,200,1,200,1, -201,1,201,1,201,1,201,3,201,2083,8,201,1,202,1,202,1,202,0,3,48,100,368, -203,0,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,0,17,2,0,76,76,132,148,5,0,76,76,132, -132,135,135,145,146,149,149,1,0,128,129,2,0,135,135,146,146,3,0,72,72,98, -98,127,127,3,0,205,205,211,211,216,217,1,0,191,196,1,0,199,201,2,0,13,13, -15,15,1,0,24,26,1,0,20,21,1,0,30,33,1,0,34,35,1,0,44,54,2,0,150,150,217, -217,7,0,65,90,92,94,97,98,106,106,127,131,146,146,150,152,1,1,11,11,2204, -0,406,1,0,0,0,2,411,1,0,0,0,4,413,1,0,0,0,6,423,1,0,0,0,8,434,1,0,0,0,10, -438,1,0,0,0,12,444,1,0,0,0,14,456,1,0,0,0,16,458,1,0,0,0,18,460,1,0,0,0, -20,462,1,0,0,0,22,464,1,0,0,0,24,466,1,0,0,0,26,468,1,0,0,0,28,481,1,0,0, -0,30,483,1,0,0,0,32,492,1,0,0,0,34,494,1,0,0,0,36,496,1,0,0,0,38,498,1,0, -0,0,40,500,1,0,0,0,42,502,1,0,0,0,44,504,1,0,0,0,46,507,1,0,0,0,48,516,1, -0,0,0,50,526,1,0,0,0,52,528,1,0,0,0,54,532,1,0,0,0,56,537,1,0,0,0,58,540, -1,0,0,0,60,547,1,0,0,0,62,560,1,0,0,0,64,562,1,0,0,0,66,578,1,0,0,0,68,580, -1,0,0,0,70,590,1,0,0,0,72,593,1,0,0,0,74,609,1,0,0,0,76,615,1,0,0,0,78,624, -1,0,0,0,80,628,1,0,0,0,82,630,1,0,0,0,84,637,1,0,0,0,86,641,1,0,0,0,88,649, -1,0,0,0,90,654,1,0,0,0,92,662,1,0,0,0,94,674,1,0,0,0,96,680,1,0,0,0,98,684, -1,0,0,0,100,695,1,0,0,0,102,705,1,0,0,0,104,711,1,0,0,0,106,729,1,0,0,0, -108,924,1,0,0,0,110,926,1,0,0,0,112,939,1,0,0,0,114,941,1,0,0,0,116,943, -1,0,0,0,118,946,1,0,0,0,120,956,1,0,0,0,122,979,1,0,0,0,124,981,1,0,0,0, -126,988,1,0,0,0,128,996,1,0,0,0,130,999,1,0,0,0,132,1006,1,0,0,0,134,1015, -1,0,0,0,136,1028,1,0,0,0,138,1041,1,0,0,0,140,1049,1,0,0,0,142,1051,1,0, -0,0,144,1055,1,0,0,0,146,1135,1,0,0,0,148,1137,1,0,0,0,150,1139,1,0,0,0, -152,1145,1,0,0,0,154,1151,1,0,0,0,156,1157,1,0,0,0,158,1163,1,0,0,0,160, -1174,1,0,0,0,162,1198,1,0,0,0,164,1218,1,0,0,0,166,1220,1,0,0,0,168,1224, -1,0,0,0,170,1228,1,0,0,0,172,1237,1,0,0,0,174,1243,1,0,0,0,176,1246,1,0, -0,0,178,1249,1,0,0,0,180,1251,1,0,0,0,182,1257,1,0,0,0,184,1260,1,0,0,0, -186,1271,1,0,0,0,188,1278,1,0,0,0,190,1280,1,0,0,0,192,1286,1,0,0,0,194, -1293,1,0,0,0,196,1306,1,0,0,0,198,1312,1,0,0,0,200,1318,1,0,0,0,202,1321, -1,0,0,0,204,1331,1,0,0,0,206,1333,1,0,0,0,208,1344,1,0,0,0,210,1352,1,0, -0,0,212,1398,1,0,0,0,214,1400,1,0,0,0,216,1402,1,0,0,0,218,1404,1,0,0,0, -220,1407,1,0,0,0,222,1411,1,0,0,0,224,1425,1,0,0,0,226,1427,1,0,0,0,228, -1435,1,0,0,0,230,1443,1,0,0,0,232,1445,1,0,0,0,234,1452,1,0,0,0,236,1465, -1,0,0,0,238,1467,1,0,0,0,240,1470,1,0,0,0,242,1472,1,0,0,0,244,1479,1,0, -0,0,246,1488,1,0,0,0,248,1495,1,0,0,0,250,1508,1,0,0,0,252,1521,1,0,0,0, -254,1523,1,0,0,0,256,1525,1,0,0,0,258,1535,1,0,0,0,260,1539,1,0,0,0,262, -1547,1,0,0,0,264,1553,1,0,0,0,266,1575,1,0,0,0,268,1577,1,0,0,0,270,1581, -1,0,0,0,272,1586,1,0,0,0,274,1591,1,0,0,0,276,1593,1,0,0,0,278,1595,1,0, -0,0,280,1605,1,0,0,0,282,1607,1,0,0,0,284,1609,1,0,0,0,286,1611,1,0,0,0, -288,1619,1,0,0,0,290,1621,1,0,0,0,292,1629,1,0,0,0,294,1631,1,0,0,0,296, -1633,1,0,0,0,298,1635,1,0,0,0,300,1640,1,0,0,0,302,1647,1,0,0,0,304,1653, -1,0,0,0,306,1655,1,0,0,0,308,1663,1,0,0,0,310,1666,1,0,0,0,312,1678,1,0, -0,0,314,1689,1,0,0,0,316,1695,1,0,0,0,318,1698,1,0,0,0,320,1703,1,0,0,0, -322,1707,1,0,0,0,324,1719,1,0,0,0,326,1733,1,0,0,0,328,1747,1,0,0,0,330, -1750,1,0,0,0,332,1764,1,0,0,0,334,1795,1,0,0,0,336,1798,1,0,0,0,338,1811, -1,0,0,0,340,1815,1,0,0,0,342,1817,1,0,0,0,344,1823,1,0,0,0,346,1831,1,0, -0,0,348,1847,1,0,0,0,350,1864,1,0,0,0,352,1866,1,0,0,0,354,1876,1,0,0,0, -356,1893,1,0,0,0,358,1895,1,0,0,0,360,1904,1,0,0,0,362,1912,1,0,0,0,364, -1914,1,0,0,0,366,1922,1,0,0,0,368,1950,1,0,0,0,370,2002,1,0,0,0,372,2005, -1,0,0,0,374,2020,1,0,0,0,376,2027,1,0,0,0,378,2029,1,0,0,0,380,2037,1,0, -0,0,382,2039,1,0,0,0,384,2053,1,0,0,0,386,2057,1,0,0,0,388,2059,1,0,0,0, -390,2061,1,0,0,0,392,2066,1,0,0,0,394,2068,1,0,0,0,396,2070,1,0,0,0,398, -2073,1,0,0,0,400,2076,1,0,0,0,402,2078,1,0,0,0,404,2084,1,0,0,0,406,407, -5,13,0,0,407,408,3,368,184,0,408,1,1,0,0,0,409,412,3,342,171,0,410,412,3, -346,173,0,411,409,1,0,0,0,411,410,1,0,0,0,412,3,1,0,0,0,413,418,3,46,23, -0,414,415,5,11,0,0,415,417,3,46,23,0,416,414,1,0,0,0,417,420,1,0,0,0,418, -416,1,0,0,0,418,419,1,0,0,0,419,421,1,0,0,0,420,418,1,0,0,0,421,422,5,11, -0,0,422,5,1,0,0,0,423,428,3,8,4,0,424,425,5,12,0,0,425,427,3,8,4,0,426,424, -1,0,0,0,427,430,1,0,0,0,428,426,1,0,0,0,428,429,1,0,0,0,429,432,1,0,0,0, -430,428,1,0,0,0,431,433,5,12,0,0,432,431,1,0,0,0,432,433,1,0,0,0,433,7,1, -0,0,0,434,435,5,217,0,0,435,436,5,15,0,0,436,437,3,368,184,0,437,9,1,0,0, -0,438,440,5,8,0,0,439,441,3,4,2,0,440,439,1,0,0,0,440,441,1,0,0,0,441,442, -1,0,0,0,442,443,5,10,0,0,443,11,1,0,0,0,444,445,5,210,0,0,445,13,1,0,0,0, -446,457,5,208,0,0,447,457,3,284,142,0,448,457,5,207,0,0,449,457,5,206,0, -0,450,457,3,12,6,0,451,457,5,204,0,0,452,457,5,205,0,0,453,457,5,213,0,0, -454,457,5,211,0,0,455,457,5,216,0,0,456,446,1,0,0,0,456,447,1,0,0,0,456, -448,1,0,0,0,456,449,1,0,0,0,456,450,1,0,0,0,456,451,1,0,0,0,456,452,1,0, -0,0,456,453,1,0,0,0,456,454,1,0,0,0,456,455,1,0,0,0,457,15,1,0,0,0,458,459, -7,0,0,0,459,17,1,0,0,0,460,461,5,217,0,0,461,19,1,0,0,0,462,463,5,216,0, -0,463,21,1,0,0,0,464,465,5,216,0,0,465,23,1,0,0,0,466,467,3,288,144,0,467, -25,1,0,0,0,468,477,5,6,0,0,469,474,3,360,180,0,470,471,5,12,0,0,471,473, -3,360,180,0,472,470,1,0,0,0,473,476,1,0,0,0,474,472,1,0,0,0,474,475,1,0, -0,0,475,478,1,0,0,0,476,474,1,0,0,0,477,469,1,0,0,0,477,478,1,0,0,0,478, -479,1,0,0,0,479,480,5,7,0,0,480,27,1,0,0,0,481,482,5,6,0,0,482,29,1,0,0, -0,483,484,5,7,0,0,484,31,1,0,0,0,485,493,5,217,0,0,486,493,3,44,22,0,487, -493,3,42,21,0,488,493,3,24,12,0,489,493,5,153,0,0,490,493,5,154,0,0,491, -493,5,88,0,0,492,485,1,0,0,0,492,486,1,0,0,0,492,487,1,0,0,0,492,488,1,0, -0,0,492,489,1,0,0,0,492,490,1,0,0,0,492,491,1,0,0,0,493,33,1,0,0,0,494,495, -5,218,0,0,495,35,1,0,0,0,496,497,5,58,0,0,497,37,1,0,0,0,498,499,5,59,0, -0,499,39,1,0,0,0,500,501,5,57,0,0,501,41,1,0,0,0,502,503,5,216,0,0,503,43, -1,0,0,0,504,505,5,203,0,0,505,45,1,0,0,0,506,508,5,64,0,0,507,506,1,0,0, -0,507,508,1,0,0,0,508,509,1,0,0,0,509,510,3,48,24,0,510,511,3,18,9,0,511, -47,1,0,0,0,512,513,6,24,-1,0,513,517,3,16,8,0,514,517,3,50,25,0,515,517, -3,14,7,0,516,512,1,0,0,0,516,514,1,0,0,0,516,515,1,0,0,0,517,523,1,0,0,0, -518,519,10,2,0,0,519,520,5,4,0,0,520,522,5,5,0,0,521,518,1,0,0,0,522,525, -1,0,0,0,523,521,1,0,0,0,523,524,1,0,0,0,524,49,1,0,0,0,525,523,1,0,0,0,526, -527,5,185,0,0,527,51,1,0,0,0,528,529,7,1,0,0,529,53,1,0,0,0,530,533,5,217, -0,0,531,533,3,92,46,0,532,530,1,0,0,0,532,531,1,0,0,0,533,55,1,0,0,0,534, -536,3,58,29,0,535,534,1,0,0,0,536,539,1,0,0,0,537,535,1,0,0,0,537,538,1, -0,0,0,538,57,1,0,0,0,539,537,1,0,0,0,540,542,3,18,9,0,541,543,3,334,167, -0,542,541,1,0,0,0,542,543,1,0,0,0,543,544,1,0,0,0,544,545,3,64,32,0,545, -546,5,11,0,0,546,59,1,0,0,0,547,548,5,68,0,0,548,549,3,62,31,0,549,61,1, -0,0,0,550,561,5,217,0,0,551,552,3,388,194,0,552,553,5,17,0,0,553,555,1,0, -0,0,554,551,1,0,0,0,555,556,1,0,0,0,556,554,1,0,0,0,556,557,1,0,0,0,557, -558,1,0,0,0,558,559,3,388,194,0,559,561,1,0,0,0,560,550,1,0,0,0,560,554, -1,0,0,0,561,63,1,0,0,0,562,563,5,15,0,0,563,564,3,48,24,0,564,65,1,0,0,0, -565,579,3,74,37,0,566,571,3,70,35,0,567,568,5,12,0,0,568,570,3,70,35,0,569, -567,1,0,0,0,570,573,1,0,0,0,571,569,1,0,0,0,571,572,1,0,0,0,572,576,1,0, -0,0,573,571,1,0,0,0,574,575,5,12,0,0,575,577,3,74,37,0,576,574,1,0,0,0,576, -577,1,0,0,0,577,579,1,0,0,0,578,565,1,0,0,0,578,566,1,0,0,0,579,67,1,0,0, -0,580,585,3,76,38,0,581,582,5,12,0,0,582,584,3,76,38,0,583,581,1,0,0,0,584, -587,1,0,0,0,585,583,1,0,0,0,585,586,1,0,0,0,586,69,1,0,0,0,587,585,1,0,0, -0,588,591,3,76,38,0,589,591,3,72,36,0,590,588,1,0,0,0,590,589,1,0,0,0,591, -71,1,0,0,0,592,594,3,96,48,0,593,592,1,0,0,0,593,594,1,0,0,0,594,596,1,0, -0,0,595,597,3,78,39,0,596,595,1,0,0,0,596,597,1,0,0,0,597,598,1,0,0,0,598, -607,3,80,40,0,599,601,5,14,0,0,600,602,3,64,32,0,601,600,1,0,0,0,601,602, -1,0,0,0,602,608,1,0,0,0,603,605,3,64,32,0,604,603,1,0,0,0,604,605,1,0,0, -0,605,606,1,0,0,0,606,608,3,0,0,0,607,599,1,0,0,0,607,604,1,0,0,0,608,73, -1,0,0,0,609,610,5,16,0,0,610,612,3,368,184,0,611,613,3,64,32,0,612,611,1, -0,0,0,612,613,1,0,0,0,613,75,1,0,0,0,614,616,3,96,48,0,615,614,1,0,0,0,615, -616,1,0,0,0,616,618,1,0,0,0,617,619,3,78,39,0,618,617,1,0,0,0,618,619,1, -0,0,0,619,620,1,0,0,0,620,622,3,80,40,0,621,623,3,64,32,0,622,621,1,0,0, -0,622,623,1,0,0,0,623,77,1,0,0,0,624,625,7,2,0,0,625,79,1,0,0,0,626,629, -3,388,194,0,627,629,3,2,1,0,628,626,1,0,0,0,628,627,1,0,0,0,629,81,1,0,0, -0,630,631,5,4,0,0,631,632,5,217,0,0,632,633,5,15,0,0,633,634,7,3,0,0,634, -635,5,5,0,0,635,636,3,64,32,0,636,83,1,0,0,0,637,639,3,86,43,0,638,640,5, -12,0,0,639,638,1,0,0,0,639,640,1,0,0,0,640,85,1,0,0,0,641,646,3,88,44,0, -642,643,5,12,0,0,643,645,3,88,44,0,644,642,1,0,0,0,645,648,1,0,0,0,646,644, -1,0,0,0,646,647,1,0,0,0,647,87,1,0,0,0,648,646,1,0,0,0,649,652,3,356,178, -0,650,651,5,13,0,0,651,653,3,368,184,0,652,650,1,0,0,0,652,653,1,0,0,0,653, -89,1,0,0,0,654,655,5,155,0,0,655,656,3,92,46,0,656,658,5,8,0,0,657,659,3, -132,66,0,658,657,1,0,0,0,658,659,1,0,0,0,659,660,1,0,0,0,660,661,5,10,0, -0,661,91,1,0,0,0,662,671,5,217,0,0,663,665,5,17,0,0,664,663,1,0,0,0,665, -666,1,0,0,0,666,664,1,0,0,0,666,667,1,0,0,0,667,668,1,0,0,0,668,670,5,217, -0,0,669,664,1,0,0,0,670,673,1,0,0,0,671,669,1,0,0,0,671,672,1,0,0,0,672, -93,1,0,0,0,673,671,1,0,0,0,674,675,5,217,0,0,675,676,5,13,0,0,676,677,3, -92,46,0,677,678,5,11,0,0,678,95,1,0,0,0,679,681,3,98,49,0,680,679,1,0,0, -0,681,682,1,0,0,0,682,680,1,0,0,0,682,683,1,0,0,0,683,97,1,0,0,0,684,687, -5,189,0,0,685,688,3,100,50,0,686,688,3,102,51,0,687,685,1,0,0,0,687,686, -1,0,0,0,688,99,1,0,0,0,689,690,6,50,-1,0,690,696,5,217,0,0,691,692,5,6,0, -0,692,693,3,368,184,0,693,694,5,7,0,0,694,696,1,0,0,0,695,689,1,0,0,0,695, -691,1,0,0,0,696,702,1,0,0,0,697,698,10,2,0,0,698,699,5,17,0,0,699,701,3, -388,194,0,700,697,1,0,0,0,701,704,1,0,0,0,702,700,1,0,0,0,702,703,1,0,0, -0,703,101,1,0,0,0,704,702,1,0,0,0,705,706,3,100,50,0,706,707,3,358,179,0, -707,103,1,0,0,0,708,710,3,106,53,0,709,708,1,0,0,0,710,713,1,0,0,0,711,709, -1,0,0,0,711,712,1,0,0,0,712,105,1,0,0,0,713,711,1,0,0,0,714,730,3,226,113, -0,715,730,3,248,124,0,716,730,3,250,125,0,717,730,3,266,133,0,718,730,3, -108,54,0,719,730,3,208,104,0,720,730,3,228,114,0,721,730,3,206,103,0,722, -730,3,306,153,0,723,730,3,194,97,0,724,730,3,184,92,0,725,730,3,190,95,0, -726,730,3,186,93,0,727,730,3,212,106,0,728,730,3,210,105,0,729,714,1,0,0, -0,729,715,1,0,0,0,729,716,1,0,0,0,729,717,1,0,0,0,729,718,1,0,0,0,729,719, -1,0,0,0,729,720,1,0,0,0,729,721,1,0,0,0,729,722,1,0,0,0,729,723,1,0,0,0, -729,724,1,0,0,0,729,725,1,0,0,0,729,726,1,0,0,0,729,727,1,0,0,0,729,728, -1,0,0,0,730,107,1,0,0,0,731,732,5,160,0,0,732,733,5,8,0,0,733,734,3,340, -170,0,734,736,5,10,0,0,735,737,5,11,0,0,736,735,1,0,0,0,736,737,1,0,0,0, -737,925,1,0,0,0,738,739,5,159,0,0,739,740,5,8,0,0,740,741,3,132,66,0,741, -743,5,10,0,0,742,744,5,11,0,0,743,742,1,0,0,0,743,744,1,0,0,0,744,925,1, -0,0,0,745,746,5,158,0,0,746,747,5,8,0,0,747,749,3,122,61,0,748,750,5,11, -0,0,749,748,1,0,0,0,749,750,1,0,0,0,750,751,1,0,0,0,751,753,5,10,0,0,752, -754,5,11,0,0,753,752,1,0,0,0,753,754,1,0,0,0,754,925,1,0,0,0,755,756,5,162, -0,0,756,757,5,8,0,0,757,759,3,242,121,0,758,760,5,11,0,0,759,758,1,0,0,0, -759,760,1,0,0,0,760,761,1,0,0,0,761,763,5,10,0,0,762,764,5,11,0,0,763,762, -1,0,0,0,763,764,1,0,0,0,764,925,1,0,0,0,765,766,5,163,0,0,766,767,5,8,0, -0,767,769,3,232,116,0,768,770,5,11,0,0,769,768,1,0,0,0,769,770,1,0,0,0,770, -771,1,0,0,0,771,773,5,10,0,0,772,774,5,11,0,0,773,772,1,0,0,0,773,774,1, -0,0,0,774,925,1,0,0,0,775,776,5,164,0,0,776,777,5,8,0,0,777,779,3,112,56, -0,778,780,5,11,0,0,779,778,1,0,0,0,779,780,1,0,0,0,780,781,1,0,0,0,781,783, -5,10,0,0,782,784,5,11,0,0,783,782,1,0,0,0,783,784,1,0,0,0,784,925,1,0,0, -0,785,786,5,177,0,0,786,787,5,8,0,0,787,788,3,402,201,0,788,790,5,10,0,0, -789,791,5,11,0,0,790,789,1,0,0,0,790,791,1,0,0,0,791,925,1,0,0,0,792,793, -5,157,0,0,793,794,5,8,0,0,794,795,3,334,167,0,795,797,5,10,0,0,796,798,5, -11,0,0,797,796,1,0,0,0,797,798,1,0,0,0,798,925,1,0,0,0,799,800,5,157,0,0, -800,801,5,8,0,0,801,802,3,258,129,0,802,803,5,10,0,0,803,925,1,0,0,0,804, -805,5,157,0,0,805,806,5,8,0,0,806,807,3,260,130,0,807,808,5,10,0,0,808,925, -1,0,0,0,809,810,5,157,0,0,810,811,5,8,0,0,811,812,3,262,131,0,812,813,5, -10,0,0,813,925,1,0,0,0,814,815,5,183,0,0,815,816,5,8,0,0,816,817,3,244,122, -0,817,818,5,10,0,0,818,925,1,0,0,0,819,820,5,165,0,0,820,821,5,8,0,0,821, -822,3,302,151,0,822,824,5,10,0,0,823,825,5,11,0,0,824,823,1,0,0,0,824,825, -1,0,0,0,825,925,1,0,0,0,826,827,5,167,0,0,827,828,5,8,0,0,828,829,3,118, -59,0,829,831,5,10,0,0,830,832,5,11,0,0,831,830,1,0,0,0,831,832,1,0,0,0,832, -925,1,0,0,0,833,834,5,166,0,0,834,835,5,8,0,0,835,836,3,368,184,0,836,838, -5,10,0,0,837,839,5,11,0,0,838,837,1,0,0,0,838,839,1,0,0,0,839,925,1,0,0, -0,840,841,5,168,0,0,841,842,5,8,0,0,842,843,3,56,28,0,843,845,5,10,0,0,844, -846,5,11,0,0,845,844,1,0,0,0,845,846,1,0,0,0,846,925,1,0,0,0,847,848,5,169, -0,0,848,849,5,8,0,0,849,850,3,202,101,0,850,852,5,10,0,0,851,853,5,11,0, -0,852,851,1,0,0,0,852,853,1,0,0,0,853,925,1,0,0,0,854,855,5,170,0,0,855, -856,5,8,0,0,856,857,3,310,155,0,857,859,5,10,0,0,858,860,5,11,0,0,859,858, -1,0,0,0,859,860,1,0,0,0,860,925,1,0,0,0,861,862,5,171,0,0,862,863,5,8,0, -0,863,864,3,312,156,0,864,866,5,10,0,0,865,867,5,11,0,0,866,865,1,0,0,0, -866,867,1,0,0,0,867,925,1,0,0,0,868,869,5,172,0,0,869,870,5,8,0,0,870,871, -3,194,97,0,871,873,5,10,0,0,872,874,5,11,0,0,873,872,1,0,0,0,873,874,1,0, -0,0,874,925,1,0,0,0,875,876,5,173,0,0,876,877,5,8,0,0,877,878,3,190,95,0, -878,880,5,10,0,0,879,881,5,11,0,0,880,879,1,0,0,0,880,881,1,0,0,0,881,925, -1,0,0,0,882,883,5,174,0,0,883,884,5,8,0,0,884,885,3,114,57,0,885,887,5,10, -0,0,886,888,5,11,0,0,887,886,1,0,0,0,887,888,1,0,0,0,888,925,1,0,0,0,889, -890,5,175,0,0,890,891,5,8,0,0,891,892,3,120,60,0,892,894,5,10,0,0,893,895, -5,11,0,0,894,893,1,0,0,0,894,895,1,0,0,0,895,925,1,0,0,0,896,897,5,178,0, -0,897,898,5,8,0,0,898,899,3,234,117,0,899,901,5,10,0,0,900,902,5,11,0,0, -901,900,1,0,0,0,901,902,1,0,0,0,902,925,1,0,0,0,903,904,5,179,0,0,904,905, -5,8,0,0,905,906,3,238,119,0,906,908,5,10,0,0,907,909,5,11,0,0,908,907,1, -0,0,0,908,909,1,0,0,0,909,925,1,0,0,0,910,911,5,182,0,0,911,912,5,8,0,0, -912,913,3,124,62,0,913,915,5,10,0,0,914,916,5,11,0,0,915,914,1,0,0,0,915, -916,1,0,0,0,916,925,1,0,0,0,917,918,5,184,0,0,918,919,5,8,0,0,919,920,3, -48,24,0,920,922,5,10,0,0,921,923,5,11,0,0,922,921,1,0,0,0,922,923,1,0,0, -0,923,925,1,0,0,0,924,731,1,0,0,0,924,738,1,0,0,0,924,745,1,0,0,0,924,755, -1,0,0,0,924,765,1,0,0,0,924,775,1,0,0,0,924,785,1,0,0,0,924,792,1,0,0,0, -924,799,1,0,0,0,924,804,1,0,0,0,924,809,1,0,0,0,924,814,1,0,0,0,924,819, -1,0,0,0,924,826,1,0,0,0,924,833,1,0,0,0,924,840,1,0,0,0,924,847,1,0,0,0, -924,854,1,0,0,0,924,861,1,0,0,0,924,868,1,0,0,0,924,875,1,0,0,0,924,882, -1,0,0,0,924,889,1,0,0,0,924,896,1,0,0,0,924,903,1,0,0,0,924,910,1,0,0,0, -924,917,1,0,0,0,925,109,1,0,0,0,926,927,5,206,0,0,927,929,3,26,13,0,928, -930,5,11,0,0,929,928,1,0,0,0,929,930,1,0,0,0,930,111,1,0,0,0,931,940,3,402, -201,0,932,940,3,244,122,0,933,940,3,110,55,0,934,940,3,232,116,0,935,940, -3,234,117,0,936,940,3,238,119,0,937,940,3,246,123,0,938,940,3,242,121,0, -939,931,1,0,0,0,939,932,1,0,0,0,939,933,1,0,0,0,939,934,1,0,0,0,939,935, -1,0,0,0,939,936,1,0,0,0,939,937,1,0,0,0,939,938,1,0,0,0,940,113,1,0,0,0, -941,942,3,368,184,0,942,115,1,0,0,0,943,944,5,75,0,0,944,945,3,368,184,0, -945,117,1,0,0,0,946,947,5,98,0,0,947,949,3,18,9,0,948,950,3,64,32,0,949, -948,1,0,0,0,949,950,1,0,0,0,950,951,1,0,0,0,951,952,5,13,0,0,952,954,3,368, -184,0,953,955,5,11,0,0,954,953,1,0,0,0,954,955,1,0,0,0,955,119,1,0,0,0,956, -957,3,18,9,0,957,958,3,64,32,0,958,959,5,13,0,0,959,961,3,368,184,0,960, -962,5,11,0,0,961,960,1,0,0,0,961,962,1,0,0,0,962,121,1,0,0,0,963,980,3,130, -65,0,964,980,3,368,184,0,965,980,3,118,59,0,966,980,3,120,60,0,967,980,3, -140,70,0,968,980,3,208,104,0,969,980,3,90,45,0,970,980,3,144,72,0,971,980, -3,152,76,0,972,980,3,156,78,0,973,980,3,146,73,0,974,980,3,116,58,0,975, -980,3,168,84,0,976,980,3,170,85,0,977,980,3,372,186,0,978,980,3,124,62,0, -979,963,1,0,0,0,979,964,1,0,0,0,979,965,1,0,0,0,979,966,1,0,0,0,979,967, -1,0,0,0,979,968,1,0,0,0,979,969,1,0,0,0,979,970,1,0,0,0,979,971,1,0,0,0, -979,972,1,0,0,0,979,973,1,0,0,0,979,974,1,0,0,0,979,975,1,0,0,0,979,976, -1,0,0,0,979,977,1,0,0,0,979,978,1,0,0,0,980,123,1,0,0,0,981,982,5,96,0,0, -982,983,5,6,0,0,983,984,3,126,63,0,984,986,5,7,0,0,985,987,5,11,0,0,986, -985,1,0,0,0,986,987,1,0,0,0,987,125,1,0,0,0,988,993,3,128,64,0,989,990,5, -12,0,0,990,992,3,128,64,0,991,989,1,0,0,0,992,995,1,0,0,0,993,991,1,0,0, -0,993,994,1,0,0,0,994,127,1,0,0,0,995,993,1,0,0,0,996,997,3,296,148,0,997, -998,3,358,179,0,998,129,1,0,0,0,999,1001,5,8,0,0,1000,1002,3,132,66,0,1001, -1000,1,0,0,0,1001,1002,1,0,0,0,1002,1003,1,0,0,0,1003,1004,5,10,0,0,1004, -131,1,0,0,0,1005,1007,3,122,61,0,1006,1005,1,0,0,0,1007,1008,1,0,0,0,1008, -1006,1,0,0,0,1008,1009,1,0,0,0,1009,1011,1,0,0,0,1010,1012,5,11,0,0,1011, -1010,1,0,0,0,1011,1012,1,0,0,0,1012,133,1,0,0,0,1013,1016,5,24,0,0,1014, -1016,3,136,68,0,1015,1013,1,0,0,0,1015,1014,1,0,0,0,1016,1019,1,0,0,0,1017, -1018,5,91,0,0,1018,1020,3,388,194,0,1019,1017,1,0,0,0,1019,1020,1,0,0,0, -1020,1021,1,0,0,0,1021,1022,5,92,0,0,1022,1023,5,218,0,0,1023,1024,3,400, -200,0,1024,135,1,0,0,0,1025,1026,3,388,194,0,1026,1027,5,12,0,0,1027,1029, -1,0,0,0,1028,1025,1,0,0,0,1028,1029,1,0,0,0,1029,1030,1,0,0,0,1030,1031, -5,8,0,0,1031,1036,3,388,194,0,1032,1033,5,12,0,0,1033,1035,3,388,194,0,1034, -1032,1,0,0,0,1035,1038,1,0,0,0,1036,1034,1,0,0,0,1036,1037,1,0,0,0,1037, -1039,1,0,0,0,1038,1036,1,0,0,0,1039,1040,5,10,0,0,1040,137,1,0,0,0,1041, -1046,3,120,60,0,1042,1043,5,12,0,0,1043,1045,3,120,60,0,1044,1042,1,0,0, -0,1045,1048,1,0,0,0,1046,1044,1,0,0,0,1046,1047,1,0,0,0,1047,139,1,0,0,0, -1048,1046,1,0,0,0,1049,1050,5,11,0,0,1050,141,1,0,0,0,1051,1053,3,364,182, -0,1052,1054,5,11,0,0,1053,1052,1,0,0,0,1053,1054,1,0,0,0,1054,143,1,0,0, -0,1055,1056,5,86,0,0,1056,1057,5,6,0,0,1057,1058,3,114,57,0,1058,1059,5, -7,0,0,1059,1062,3,122,61,0,1060,1061,5,70,0,0,1061,1063,3,122,61,0,1062, -1060,1,0,0,0,1062,1063,1,0,0,0,1063,145,1,0,0,0,1064,1065,5,66,0,0,1065, -1066,3,122,61,0,1066,1067,5,80,0,0,1067,1068,5,6,0,0,1068,1069,3,364,182, -0,1069,1070,5,7,0,0,1070,1071,3,400,200,0,1071,1136,1,0,0,0,1072,1073,5, -80,0,0,1073,1074,5,6,0,0,1074,1075,3,364,182,0,1075,1076,5,7,0,0,1076,1077, -3,122,61,0,1077,1136,1,0,0,0,1078,1079,5,78,0,0,1079,1081,5,6,0,0,1080,1082, -3,364,182,0,1081,1080,1,0,0,0,1081,1082,1,0,0,0,1082,1083,1,0,0,0,1083,1085, -5,11,0,0,1084,1086,3,364,182,0,1085,1084,1,0,0,0,1085,1086,1,0,0,0,1086, -1087,1,0,0,0,1087,1089,5,11,0,0,1088,1090,3,364,182,0,1089,1088,1,0,0,0, -1089,1090,1,0,0,0,1090,1091,1,0,0,0,1091,1092,5,7,0,0,1092,1136,3,122,61, -0,1093,1094,5,78,0,0,1094,1095,5,6,0,0,1095,1096,3,148,74,0,1096,1097,3, -138,69,0,1097,1099,5,11,0,0,1098,1100,3,364,182,0,1099,1098,1,0,0,0,1099, -1100,1,0,0,0,1100,1101,1,0,0,0,1101,1103,5,11,0,0,1102,1104,3,364,182,0, -1103,1102,1,0,0,0,1103,1104,1,0,0,0,1104,1105,1,0,0,0,1105,1106,5,7,0,0, -1106,1107,3,122,61,0,1107,1136,1,0,0,0,1108,1109,5,78,0,0,1109,1110,5,6, -0,0,1110,1115,3,368,184,0,1111,1116,5,89,0,0,1112,1114,5,217,0,0,1113,1112, -1,0,0,0,1113,1114,1,0,0,0,1114,1116,1,0,0,0,1115,1111,1,0,0,0,1115,1113, -1,0,0,0,1116,1117,1,0,0,0,1117,1118,3,364,182,0,1118,1119,5,7,0,0,1119,1120, -3,122,61,0,1120,1136,1,0,0,0,1121,1122,5,78,0,0,1122,1123,5,6,0,0,1123,1124, -3,148,74,0,1124,1129,3,120,60,0,1125,1130,5,89,0,0,1126,1128,5,217,0,0,1127, -1126,1,0,0,0,1127,1128,1,0,0,0,1128,1130,1,0,0,0,1129,1125,1,0,0,0,1129, -1127,1,0,0,0,1130,1131,1,0,0,0,1131,1132,3,364,182,0,1132,1133,5,7,0,0,1133, -1134,3,122,61,0,1134,1136,1,0,0,0,1135,1064,1,0,0,0,1135,1072,1,0,0,0,1135, -1078,1,0,0,0,1135,1093,1,0,0,0,1135,1108,1,0,0,0,1135,1121,1,0,0,0,1136, -147,1,0,0,0,1137,1138,7,4,0,0,1138,149,1,0,0,0,1139,1141,5,77,0,0,1140,1142, -5,217,0,0,1141,1140,1,0,0,0,1141,1142,1,0,0,0,1142,1143,1,0,0,0,1143,1144, -3,400,200,0,1144,151,1,0,0,0,1145,1147,5,65,0,0,1146,1148,5,217,0,0,1147, -1146,1,0,0,0,1147,1148,1,0,0,0,1148,1149,1,0,0,0,1149,1150,3,400,200,0,1150, -153,1,0,0,0,1151,1152,5,84,0,0,1152,1153,5,6,0,0,1153,1154,3,364,182,0,1154, -1155,5,7,0,0,1155,1156,3,122,61,0,1156,155,1,0,0,0,1157,1158,5,79,0,0,1158, -1159,5,6,0,0,1159,1160,3,114,57,0,1160,1161,5,7,0,0,1161,1162,3,158,79,0, -1162,157,1,0,0,0,1163,1165,5,8,0,0,1164,1166,3,160,80,0,1165,1164,1,0,0, -0,1165,1166,1,0,0,0,1166,1167,1,0,0,0,1167,1169,3,164,82,0,1168,1170,3,160, -80,0,1169,1168,1,0,0,0,1169,1170,1,0,0,0,1170,1171,1,0,0,0,1171,1172,5,10, -0,0,1172,159,1,0,0,0,1173,1175,3,162,81,0,1174,1173,1,0,0,0,1175,1176,1, -0,0,0,1176,1174,1,0,0,0,1176,1177,1,0,0,0,1177,161,1,0,0,0,1178,1179,5,69, -0,0,1179,1180,3,368,184,0,1180,1181,5,15,0,0,1181,1183,5,8,0,0,1182,1184, -3,132,66,0,1183,1182,1,0,0,0,1183,1184,1,0,0,0,1184,1185,1,0,0,0,1185,1187, -5,10,0,0,1186,1188,5,11,0,0,1187,1186,1,0,0,0,1187,1188,1,0,0,0,1188,1199, -1,0,0,0,1189,1190,5,69,0,0,1190,1191,3,368,184,0,1191,1193,5,15,0,0,1192, -1194,3,132,66,0,1193,1192,1,0,0,0,1193,1194,1,0,0,0,1194,1196,1,0,0,0,1195, -1197,5,11,0,0,1196,1195,1,0,0,0,1196,1197,1,0,0,0,1197,1199,1,0,0,0,1198, -1178,1,0,0,0,1198,1189,1,0,0,0,1199,163,1,0,0,0,1200,1201,5,85,0,0,1201, -1202,5,15,0,0,1202,1204,5,8,0,0,1203,1205,3,132,66,0,1204,1203,1,0,0,0,1204, -1205,1,0,0,0,1205,1206,1,0,0,0,1206,1208,5,10,0,0,1207,1209,5,11,0,0,1208, -1207,1,0,0,0,1208,1209,1,0,0,0,1209,1219,1,0,0,0,1210,1211,5,85,0,0,1211, -1213,5,15,0,0,1212,1214,3,132,66,0,1213,1212,1,0,0,0,1213,1214,1,0,0,0,1214, -1216,1,0,0,0,1215,1217,5,11,0,0,1216,1215,1,0,0,0,1216,1217,1,0,0,0,1217, -1219,1,0,0,0,1218,1200,1,0,0,0,1218,1210,1,0,0,0,1219,165,1,0,0,0,1220,1221, -5,217,0,0,1221,1222,5,15,0,0,1222,1223,3,122,61,0,1223,167,1,0,0,0,1224, -1225,5,87,0,0,1225,1226,3,364,182,0,1226,1227,3,400,200,0,1227,169,1,0,0, -0,1228,1229,5,90,0,0,1229,1235,3,130,65,0,1230,1232,3,172,86,0,1231,1233, -3,174,87,0,1232,1231,1,0,0,0,1232,1233,1,0,0,0,1233,1236,1,0,0,0,1234,1236, -3,174,87,0,1235,1230,1,0,0,0,1235,1234,1,0,0,0,1236,171,1,0,0,0,1237,1238, -5,73,0,0,1238,1239,5,6,0,0,1239,1240,5,217,0,0,1240,1241,5,7,0,0,1241,1242, -3,130,65,0,1242,173,1,0,0,0,1243,1244,5,74,0,0,1244,1245,3,130,65,0,1245, -175,1,0,0,0,1246,1247,5,81,0,0,1247,1248,3,400,200,0,1248,177,1,0,0,0,1249, -1250,3,4,2,0,1250,179,1,0,0,0,1251,1252,5,124,0,0,1252,1253,5,6,0,0,1253, -1254,3,368,184,0,1254,1255,5,7,0,0,1255,1256,5,11,0,0,1256,181,1,0,0,0,1257, -1258,3,340,170,0,1258,1259,3,180,90,0,1259,183,1,0,0,0,1260,1261,5,123,0, -0,1261,1263,3,296,148,0,1262,1264,3,334,167,0,1263,1262,1,0,0,0,1263,1264, -1,0,0,0,1264,1265,1,0,0,0,1265,1266,5,95,0,0,1266,1267,5,206,0,0,1267,1268, -5,8,0,0,1268,1269,3,182,91,0,1269,1270,5,10,0,0,1270,185,1,0,0,0,1271,1272, -5,125,0,0,1272,1273,5,109,0,0,1273,1274,3,294,147,0,1274,1276,3,192,96,0, -1275,1277,5,11,0,0,1276,1275,1,0,0,0,1276,1277,1,0,0,0,1277,187,1,0,0,0, -1278,1279,3,118,59,0,1279,189,1,0,0,0,1280,1281,5,109,0,0,1281,1282,3,294, -147,0,1282,1284,3,192,96,0,1283,1285,5,11,0,0,1284,1283,1,0,0,0,1284,1285, -1,0,0,0,1285,191,1,0,0,0,1286,1287,5,8,0,0,1287,1288,3,196,98,0,1288,1289, -3,202,101,0,1289,1290,3,198,99,0,1290,1291,3,200,100,0,1291,1292,5,10,0, -0,1292,193,1,0,0,0,1293,1294,5,107,0,0,1294,1295,3,292,146,0,1295,1296,5, -8,0,0,1296,1297,3,196,98,0,1297,1298,3,202,101,0,1298,1299,3,200,100,0,1299, -1301,5,10,0,0,1300,1302,5,11,0,0,1301,1300,1,0,0,0,1301,1302,1,0,0,0,1302, -195,1,0,0,0,1303,1305,3,188,94,0,1304,1303,1,0,0,0,1305,1308,1,0,0,0,1306, -1304,1,0,0,0,1306,1307,1,0,0,0,1307,197,1,0,0,0,1308,1306,1,0,0,0,1309,1311, -3,312,156,0,1310,1309,1,0,0,0,1311,1314,1,0,0,0,1312,1310,1,0,0,0,1312,1313, -1,0,0,0,1313,199,1,0,0,0,1314,1312,1,0,0,0,1315,1317,3,310,155,0,1316,1315, -1,0,0,0,1317,1320,1,0,0,0,1318,1316,1,0,0,0,1318,1319,1,0,0,0,1319,201,1, -0,0,0,1320,1318,1,0,0,0,1321,1323,5,126,0,0,1322,1324,3,334,167,0,1323,1322, -1,0,0,0,1323,1324,1,0,0,0,1324,1325,1,0,0,0,1325,1326,5,15,0,0,1326,1327, -3,302,151,0,1327,1328,5,8,0,0,1328,1329,3,340,170,0,1329,1330,5,10,0,0,1330, -203,1,0,0,0,1331,1332,5,208,0,0,1332,205,1,0,0,0,1333,1334,5,106,0,0,1334, -1336,3,204,102,0,1335,1337,3,334,167,0,1336,1335,1,0,0,0,1336,1337,1,0,0, -0,1337,1338,1,0,0,0,1338,1339,5,8,0,0,1339,1340,3,256,128,0,1340,1342,5, -10,0,0,1341,1343,5,11,0,0,1342,1341,1,0,0,0,1342,1343,1,0,0,0,1343,207,1, -0,0,0,1344,1345,5,100,0,0,1345,1346,5,210,0,0,1346,1347,5,8,0,0,1347,1348, -3,4,2,0,1348,1350,5,10,0,0,1349,1351,5,11,0,0,1350,1349,1,0,0,0,1350,1351, -1,0,0,0,1351,209,1,0,0,0,1352,1353,5,101,0,0,1353,1354,5,211,0,0,1354,1355, -5,8,0,0,1355,1356,3,4,2,0,1356,1358,5,10,0,0,1357,1359,5,11,0,0,1358,1357, -1,0,0,0,1358,1359,1,0,0,0,1359,211,1,0,0,0,1360,1361,5,99,0,0,1361,1362, -3,214,107,0,1362,1363,5,30,0,0,1363,1364,5,211,0,0,1364,1365,5,31,0,0,1365, -1367,3,218,109,0,1366,1368,5,11,0,0,1367,1366,1,0,0,0,1367,1368,1,0,0,0, -1368,1399,1,0,0,0,1369,1370,5,99,0,0,1370,1371,3,214,107,0,1371,1372,5,30, -0,0,1372,1373,5,211,0,0,1373,1374,5,31,0,0,1374,1375,3,218,109,0,1375,1377, -3,220,110,0,1376,1378,5,11,0,0,1377,1376,1,0,0,0,1377,1378,1,0,0,0,1378, -1399,1,0,0,0,1379,1380,5,99,0,0,1380,1381,3,214,107,0,1381,1382,5,30,0,0, -1382,1383,3,216,108,0,1383,1384,5,31,0,0,1384,1386,3,218,109,0,1385,1387, -5,11,0,0,1386,1385,1,0,0,0,1386,1387,1,0,0,0,1387,1399,1,0,0,0,1388,1389, -5,99,0,0,1389,1390,3,214,107,0,1390,1391,5,30,0,0,1391,1392,3,216,108,0, -1392,1393,5,31,0,0,1393,1394,3,218,109,0,1394,1396,3,220,110,0,1395,1397, -5,11,0,0,1396,1395,1,0,0,0,1396,1397,1,0,0,0,1397,1399,1,0,0,0,1398,1360, -1,0,0,0,1398,1369,1,0,0,0,1398,1379,1,0,0,0,1398,1388,1,0,0,0,1399,213,1, -0,0,0,1400,1401,5,213,0,0,1401,215,1,0,0,0,1402,1403,7,5,0,0,1403,217,1, -0,0,0,1404,1405,5,97,0,0,1405,1406,3,222,111,0,1406,219,1,0,0,0,1407,1408, -5,8,0,0,1408,1409,3,56,28,0,1409,1410,5,10,0,0,1410,221,1,0,0,0,1411,1416, -3,224,112,0,1412,1413,5,12,0,0,1413,1415,3,224,112,0,1414,1412,1,0,0,0,1415, -1418,1,0,0,0,1416,1414,1,0,0,0,1416,1417,1,0,0,0,1417,223,1,0,0,0,1418,1416, -1,0,0,0,1419,1426,5,213,0,0,1420,1426,5,216,0,0,1421,1422,5,216,0,0,1422, -1423,5,30,0,0,1423,1424,5,216,0,0,1424,1426,5,31,0,0,1425,1419,1,0,0,0,1425, -1420,1,0,0,0,1425,1421,1,0,0,0,1426,225,1,0,0,0,1427,1428,5,102,0,0,1428, -1429,5,203,0,0,1429,1430,5,8,0,0,1430,1431,3,4,2,0,1431,1433,5,10,0,0,1432, -1434,5,11,0,0,1433,1432,1,0,0,0,1433,1434,1,0,0,0,1434,227,1,0,0,0,1435, -1436,5,149,0,0,1436,1437,5,216,0,0,1437,1438,5,8,0,0,1438,1439,3,4,2,0,1439, -1441,5,10,0,0,1440,1442,5,11,0,0,1441,1440,1,0,0,0,1441,1442,1,0,0,0,1442, -229,1,0,0,0,1443,1444,3,284,142,0,1444,231,1,0,0,0,1445,1446,3,230,115,0, -1446,1447,5,6,0,0,1447,1448,5,8,0,0,1448,1449,3,6,3,0,1449,1450,5,10,0,0, -1450,1451,5,7,0,0,1451,233,1,0,0,0,1452,1453,3,292,146,0,1453,1454,3,236, -118,0,1454,235,1,0,0,0,1455,1456,5,6,0,0,1456,1457,5,8,0,0,1457,1458,3,6, -3,0,1458,1459,5,10,0,0,1459,1460,5,7,0,0,1460,1466,1,0,0,0,1461,1462,5,6, -0,0,1462,1463,3,368,184,0,1463,1464,5,7,0,0,1464,1466,1,0,0,0,1465,1455, -1,0,0,0,1465,1461,1,0,0,0,1466,237,1,0,0,0,1467,1468,3,294,147,0,1468,1469, -3,236,118,0,1469,239,1,0,0,0,1470,1471,5,216,0,0,1471,241,1,0,0,0,1472,1473, -3,240,120,0,1473,1474,5,6,0,0,1474,1475,5,8,0,0,1475,1476,3,6,3,0,1476,1477, -5,10,0,0,1477,1478,5,7,0,0,1478,243,1,0,0,0,1479,1482,3,50,25,0,1480,1481, -5,17,0,0,1481,1483,3,18,9,0,1482,1480,1,0,0,0,1482,1483,1,0,0,0,1483,1484, -1,0,0,0,1484,1486,3,26,13,0,1485,1487,5,11,0,0,1486,1485,1,0,0,0,1486,1487, -1,0,0,0,1487,245,1,0,0,0,1488,1489,5,8,0,0,1489,1490,5,6,0,0,1490,1491,3, -12,6,0,1491,1492,3,6,3,0,1492,1493,5,10,0,0,1493,1494,5,7,0,0,1494,247,1, -0,0,0,1495,1496,5,114,0,0,1496,1498,3,252,126,0,1497,1499,3,334,167,0,1498, -1497,1,0,0,0,1498,1499,1,0,0,0,1499,1500,1,0,0,0,1500,1502,5,8,0,0,1501, -1503,3,6,3,0,1502,1501,1,0,0,0,1502,1503,1,0,0,0,1503,1504,1,0,0,0,1504, -1506,5,10,0,0,1505,1507,5,11,0,0,1506,1505,1,0,0,0,1506,1507,1,0,0,0,1507, -249,1,0,0,0,1508,1509,5,115,0,0,1509,1511,3,254,127,0,1510,1512,3,334,167, -0,1511,1510,1,0,0,0,1511,1512,1,0,0,0,1512,1513,1,0,0,0,1513,1515,5,8,0, -0,1514,1516,3,6,3,0,1515,1514,1,0,0,0,1515,1516,1,0,0,0,1516,1517,1,0,0, -0,1517,1519,5,10,0,0,1518,1520,5,11,0,0,1519,1518,1,0,0,0,1519,1520,1,0, -0,0,1520,251,1,0,0,0,1521,1522,5,214,0,0,1522,253,1,0,0,0,1523,1524,5,214, -0,0,1524,255,1,0,0,0,1525,1527,5,153,0,0,1526,1528,3,334,167,0,1527,1526, -1,0,0,0,1527,1528,1,0,0,0,1528,1529,1,0,0,0,1529,1530,5,15,0,0,1530,1531, -3,302,151,0,1531,1532,5,8,0,0,1532,1533,3,340,170,0,1533,1534,5,10,0,0,1534, -257,1,0,0,0,1535,1536,5,217,0,0,1536,1537,5,12,0,0,1537,1538,5,217,0,0,1538, -259,1,0,0,0,1539,1540,5,153,0,0,1540,1541,5,6,0,0,1541,1542,3,258,129,0, -1542,1543,5,7,0,0,1543,1544,5,8,0,0,1544,1545,3,340,170,0,1545,1546,5,10, -0,0,1546,261,1,0,0,0,1547,1548,5,190,0,0,1548,1549,5,15,0,0,1549,1551,3, -264,132,0,1550,1552,5,11,0,0,1551,1550,1,0,0,0,1551,1552,1,0,0,0,1552,263, -1,0,0,0,1553,1554,7,6,0,0,1554,265,1,0,0,0,1555,1556,5,103,0,0,1556,1557, -5,207,0,0,1557,1558,3,334,167,0,1558,1559,5,8,0,0,1559,1560,3,262,131,0, -1560,1561,3,260,130,0,1561,1563,5,10,0,0,1562,1564,5,11,0,0,1563,1562,1, -0,0,0,1563,1564,1,0,0,0,1564,1576,1,0,0,0,1565,1566,5,104,0,0,1566,1567, -5,207,0,0,1567,1568,3,334,167,0,1568,1569,5,8,0,0,1569,1570,3,268,134,0, -1570,1571,3,278,139,0,1571,1573,5,10,0,0,1572,1574,5,11,0,0,1573,1572,1, -0,0,0,1573,1574,1,0,0,0,1574,1576,1,0,0,0,1575,1555,1,0,0,0,1575,1565,1, -0,0,0,1576,267,1,0,0,0,1577,1579,3,270,135,0,1578,1580,3,272,136,0,1579, -1578,1,0,0,0,1579,1580,1,0,0,0,1580,269,1,0,0,0,1581,1582,5,197,0,0,1582, -1583,5,15,0,0,1583,1584,3,276,138,0,1584,1585,5,11,0,0,1585,271,1,0,0,0, -1586,1587,5,198,0,0,1587,1588,5,15,0,0,1588,1589,3,274,137,0,1589,1590,5, -11,0,0,1590,273,1,0,0,0,1591,1592,5,203,0,0,1592,275,1,0,0,0,1593,1594,7, -7,0,0,1594,277,1,0,0,0,1595,1596,5,153,0,0,1596,1597,5,6,0,0,1597,1598,3, -280,140,0,1598,1599,5,7,0,0,1599,1600,5,15,0,0,1600,1601,3,282,141,0,1601, -1602,5,8,0,0,1602,1603,3,340,170,0,1603,1604,5,10,0,0,1604,279,1,0,0,0,1605, -1606,5,217,0,0,1606,281,1,0,0,0,1607,1608,5,203,0,0,1608,283,1,0,0,0,1609, -1610,5,203,0,0,1610,285,1,0,0,0,1611,1616,3,284,142,0,1612,1613,5,40,0,0, -1613,1615,3,284,142,0,1614,1612,1,0,0,0,1615,1618,1,0,0,0,1616,1614,1,0, -0,0,1616,1617,1,0,0,0,1617,287,1,0,0,0,1618,1616,1,0,0,0,1619,1620,5,206, -0,0,1620,289,1,0,0,0,1621,1626,3,288,144,0,1622,1623,5,40,0,0,1623,1625, -3,288,144,0,1624,1622,1,0,0,0,1625,1628,1,0,0,0,1626,1624,1,0,0,0,1626,1627, -1,0,0,0,1627,291,1,0,0,0,1628,1626,1,0,0,0,1629,1630,5,204,0,0,1630,293, -1,0,0,0,1631,1632,5,205,0,0,1632,295,1,0,0,0,1633,1634,5,212,0,0,1634,297, -1,0,0,0,1635,1636,5,118,0,0,1636,1637,5,6,0,0,1637,1638,3,48,24,0,1638,1639, -5,7,0,0,1639,299,1,0,0,0,1640,1641,5,119,0,0,1641,1643,5,6,0,0,1642,1644, -3,290,145,0,1643,1642,1,0,0,0,1643,1644,1,0,0,0,1644,1645,1,0,0,0,1645,1646, -5,7,0,0,1646,301,1,0,0,0,1647,1648,5,6,0,0,1648,1649,3,298,149,0,1649,1650, -5,12,0,0,1650,1651,3,300,150,0,1651,1652,5,7,0,0,1652,303,1,0,0,0,1653,1654, -5,209,0,0,1654,305,1,0,0,0,1655,1656,5,121,0,0,1656,1657,3,304,152,0,1657, -1658,5,8,0,0,1658,1659,3,56,28,0,1659,1660,5,10,0,0,1660,307,1,0,0,0,1661, -1664,3,312,156,0,1662,1664,3,310,155,0,1663,1661,1,0,0,0,1663,1662,1,0,0, -0,1664,309,1,0,0,0,1665,1667,5,128,0,0,1666,1665,1,0,0,0,1666,1667,1,0,0, -0,1667,1668,1,0,0,0,1668,1670,3,18,9,0,1669,1671,3,334,167,0,1670,1669,1, -0,0,0,1670,1671,1,0,0,0,1671,1672,1,0,0,0,1672,1673,3,316,158,0,1673,1674, -5,8,0,0,1674,1675,3,340,170,0,1675,1676,5,10,0,0,1676,311,1,0,0,0,1677,1679, -5,129,0,0,1678,1677,1,0,0,0,1678,1679,1,0,0,0,1679,1680,1,0,0,0,1680,1682, -3,18,9,0,1681,1683,3,334,167,0,1682,1681,1,0,0,0,1682,1683,1,0,0,0,1683, -1684,1,0,0,0,1684,1685,3,314,157,0,1685,1686,5,8,0,0,1686,1687,3,340,170, -0,1687,1688,5,10,0,0,1688,313,1,0,0,0,1689,1690,5,15,0,0,1690,1691,3,302, -151,0,1691,315,1,0,0,0,1692,1696,3,64,32,0,1693,1694,5,15,0,0,1694,1696, -3,302,151,0,1695,1692,1,0,0,0,1695,1693,1,0,0,0,1696,317,1,0,0,0,1697,1699, -3,78,39,0,1698,1697,1,0,0,0,1698,1699,1,0,0,0,1699,1701,1,0,0,0,1700,1702, -5,131,0,0,1701,1700,1,0,0,0,1701,1702,1,0,0,0,1702,319,1,0,0,0,1703,1704, -3,82,41,0,1704,1705,5,11,0,0,1705,321,1,0,0,0,1706,1708,5,24,0,0,1707,1706, -1,0,0,0,1707,1708,1,0,0,0,1708,1709,1,0,0,0,1709,1710,5,217,0,0,1710,1712, -5,6,0,0,1711,1713,3,334,167,0,1712,1711,1,0,0,0,1712,1713,1,0,0,0,1713,1714, -1,0,0,0,1714,1715,5,7,0,0,1715,1716,5,8,0,0,1716,1717,3,340,170,0,1717,1718, -5,10,0,0,1718,323,1,0,0,0,1719,1720,5,82,0,0,1720,1722,5,24,0,0,1721,1723, -5,217,0,0,1722,1721,1,0,0,0,1722,1723,1,0,0,0,1723,1724,1,0,0,0,1724,1726, -5,6,0,0,1725,1727,3,334,167,0,1726,1725,1,0,0,0,1726,1727,1,0,0,0,1727,1728, -1,0,0,0,1728,1729,5,7,0,0,1729,1730,5,8,0,0,1730,1731,3,340,170,0,1731,1732, -5,10,0,0,1732,325,1,0,0,0,1733,1734,5,8,0,0,1734,1739,3,328,164,0,1735,1736, -5,12,0,0,1736,1738,3,328,164,0,1737,1735,1,0,0,0,1738,1741,1,0,0,0,1739, -1737,1,0,0,0,1739,1740,1,0,0,0,1740,1743,1,0,0,0,1741,1739,1,0,0,0,1742, -1744,5,12,0,0,1743,1742,1,0,0,0,1743,1744,1,0,0,0,1744,1745,1,0,0,0,1745, -1746,5,10,0,0,1746,327,1,0,0,0,1747,1748,5,24,0,0,1748,1749,3,332,166,0, -1749,329,1,0,0,0,1750,1751,5,8,0,0,1751,1756,3,332,166,0,1752,1753,5,12, -0,0,1753,1755,3,332,166,0,1754,1752,1,0,0,0,1755,1758,1,0,0,0,1756,1754, -1,0,0,0,1756,1757,1,0,0,0,1757,1760,1,0,0,0,1758,1756,1,0,0,0,1759,1761, -5,12,0,0,1760,1759,1,0,0,0,1760,1761,1,0,0,0,1761,1762,1,0,0,0,1762,1763, -5,10,0,0,1763,331,1,0,0,0,1764,1765,5,4,0,0,1765,1766,3,368,184,0,1766,1767, -5,5,0,0,1767,1769,5,6,0,0,1768,1770,3,334,167,0,1769,1768,1,0,0,0,1769,1770, -1,0,0,0,1770,1771,1,0,0,0,1771,1772,5,7,0,0,1772,1773,5,8,0,0,1773,1774, -3,340,170,0,1774,1775,5,10,0,0,1775,333,1,0,0,0,1776,1777,5,6,0,0,1777,1796, -5,7,0,0,1778,1792,5,6,0,0,1779,1784,3,336,168,0,1780,1781,5,12,0,0,1781, -1783,3,336,168,0,1782,1780,1,0,0,0,1783,1786,1,0,0,0,1784,1782,1,0,0,0,1784, -1785,1,0,0,0,1785,1789,1,0,0,0,1786,1784,1,0,0,0,1787,1788,5,12,0,0,1788, -1790,3,338,169,0,1789,1787,1,0,0,0,1789,1790,1,0,0,0,1790,1793,1,0,0,0,1791, -1793,3,338,169,0,1792,1779,1,0,0,0,1792,1791,1,0,0,0,1792,1793,1,0,0,0,1793, -1794,1,0,0,0,1794,1796,5,7,0,0,1795,1776,1,0,0,0,1795,1778,1,0,0,0,1796, -335,1,0,0,0,1797,1799,3,98,49,0,1798,1797,1,0,0,0,1798,1799,1,0,0,0,1799, -1801,1,0,0,0,1800,1802,3,78,39,0,1801,1800,1,0,0,0,1801,1802,1,0,0,0,1802, -1803,1,0,0,0,1803,1805,3,390,195,0,1804,1806,3,64,32,0,1805,1804,1,0,0,0, -1805,1806,1,0,0,0,1806,1809,1,0,0,0,1807,1808,5,13,0,0,1808,1810,3,368,184, -0,1809,1807,1,0,0,0,1809,1810,1,0,0,0,1810,337,1,0,0,0,1811,1812,5,16,0, -0,1812,1813,5,217,0,0,1813,339,1,0,0,0,1814,1816,3,132,66,0,1815,1814,1, -0,0,0,1815,1816,1,0,0,0,1816,341,1,0,0,0,1817,1819,5,4,0,0,1818,1820,3,344, -172,0,1819,1818,1,0,0,0,1819,1820,1,0,0,0,1820,1821,1,0,0,0,1821,1822,5, -5,0,0,1822,343,1,0,0,0,1823,1828,3,368,184,0,1824,1825,5,12,0,0,1825,1827, -3,368,184,0,1826,1824,1,0,0,0,1827,1830,1,0,0,0,1828,1826,1,0,0,0,1828,1829, -1,0,0,0,1829,345,1,0,0,0,1830,1828,1,0,0,0,1831,1843,5,8,0,0,1832,1837,3, -350,175,0,1833,1834,5,12,0,0,1834,1836,3,350,175,0,1835,1833,1,0,0,0,1836, -1839,1,0,0,0,1837,1835,1,0,0,0,1837,1838,1,0,0,0,1838,1841,1,0,0,0,1839, -1837,1,0,0,0,1840,1842,5,12,0,0,1841,1840,1,0,0,0,1841,1842,1,0,0,0,1842, -1844,1,0,0,0,1843,1832,1,0,0,0,1843,1844,1,0,0,0,1844,1845,1,0,0,0,1845, -1846,5,10,0,0,1846,347,1,0,0,0,1847,1848,3,368,184,0,1848,349,1,0,0,0,1849, -1850,3,356,178,0,1850,1851,7,8,0,0,1851,1852,3,348,174,0,1852,1865,1,0,0, -0,1853,1854,5,4,0,0,1854,1855,3,348,174,0,1855,1856,5,5,0,0,1856,1857,5, -15,0,0,1857,1858,3,348,174,0,1858,1865,1,0,0,0,1859,1865,3,352,176,0,1860, -1865,3,354,177,0,1861,1865,3,322,161,0,1862,1865,3,390,195,0,1863,1865,3, -74,37,0,1864,1849,1,0,0,0,1864,1853,1,0,0,0,1864,1859,1,0,0,0,1864,1860, -1,0,0,0,1864,1861,1,0,0,0,1864,1862,1,0,0,0,1864,1863,1,0,0,0,1865,351,1, -0,0,0,1866,1867,3,396,198,0,1867,1868,5,6,0,0,1868,1870,5,7,0,0,1869,1871, -3,64,32,0,1870,1869,1,0,0,0,1870,1871,1,0,0,0,1871,1872,1,0,0,0,1872,1873, -5,8,0,0,1873,1874,3,340,170,0,1874,1875,5,10,0,0,1875,353,1,0,0,0,1876,1877, -3,398,199,0,1877,1880,5,6,0,0,1878,1881,5,217,0,0,1879,1881,3,2,1,0,1880, -1878,1,0,0,0,1880,1879,1,0,0,0,1881,1883,1,0,0,0,1882,1884,3,64,32,0,1883, -1882,1,0,0,0,1883,1884,1,0,0,0,1884,1885,1,0,0,0,1885,1886,5,7,0,0,1886, -1887,5,8,0,0,1887,1888,3,340,170,0,1888,1889,5,10,0,0,1889,355,1,0,0,0,1890, -1894,3,388,194,0,1891,1894,5,218,0,0,1892,1894,3,386,193,0,1893,1890,1,0, -0,0,1893,1891,1,0,0,0,1893,1892,1,0,0,0,1894,357,1,0,0,0,1895,1900,5,6,0, -0,1896,1898,3,360,180,0,1897,1899,5,12,0,0,1898,1897,1,0,0,0,1898,1899,1, -0,0,0,1899,1901,1,0,0,0,1900,1896,1,0,0,0,1900,1901,1,0,0,0,1901,1902,1, -0,0,0,1902,1903,5,7,0,0,1903,359,1,0,0,0,1904,1909,3,362,181,0,1905,1906, -5,12,0,0,1906,1908,3,362,181,0,1907,1905,1,0,0,0,1908,1911,1,0,0,0,1909, -1907,1,0,0,0,1909,1910,1,0,0,0,1910,361,1,0,0,0,1911,1909,1,0,0,0,1912,1913, -3,348,174,0,1913,363,1,0,0,0,1914,1919,3,368,184,0,1915,1916,5,12,0,0,1916, -1918,3,368,184,0,1917,1915,1,0,0,0,1918,1921,1,0,0,0,1919,1917,1,0,0,0,1919, -1920,1,0,0,0,1920,365,1,0,0,0,1921,1919,1,0,0,0,1922,1924,5,82,0,0,1923, -1925,5,217,0,0,1924,1923,1,0,0,0,1924,1925,1,0,0,0,1925,1926,1,0,0,0,1926, -1928,5,6,0,0,1927,1929,3,334,167,0,1928,1927,1,0,0,0,1928,1929,1,0,0,0,1929, -1930,1,0,0,0,1930,1932,5,7,0,0,1931,1933,3,64,32,0,1932,1931,1,0,0,0,1932, -1933,1,0,0,0,1933,1934,1,0,0,0,1934,1935,5,8,0,0,1935,1936,3,340,170,0,1936, -1937,5,10,0,0,1937,367,1,0,0,0,1938,1939,6,184,-1,0,1939,1940,5,23,0,0,1940, -1951,3,368,184,19,1941,1942,5,6,0,0,1942,1943,3,368,184,0,1943,1944,5,7, -0,0,1944,1951,1,0,0,0,1945,1951,3,380,190,0,1946,1951,3,112,56,0,1947,1951, -3,32,16,0,1948,1951,3,342,171,0,1949,1951,5,83,0,0,1950,1938,1,0,0,0,1950, -1941,1,0,0,0,1950,1945,1,0,0,0,1950,1946,1,0,0,0,1950,1947,1,0,0,0,1950, -1948,1,0,0,0,1950,1949,1,0,0,0,1951,1993,1,0,0,0,1952,1953,10,13,0,0,1953, -1954,7,9,0,0,1954,1992,3,368,184,14,1955,1956,10,12,0,0,1956,1957,7,10,0, -0,1957,1992,3,368,184,13,1958,1959,10,11,0,0,1959,1960,7,11,0,0,1960,1992, -3,368,184,12,1961,1962,10,10,0,0,1962,1963,7,12,0,0,1963,1992,3,368,184, -11,1964,1965,10,9,0,0,1965,1966,5,41,0,0,1966,1992,3,368,184,10,1967,1968, -10,8,0,0,1968,1969,5,42,0,0,1969,1992,3,368,184,9,1970,1971,10,7,0,0,1971, -1972,5,43,0,0,1972,1992,3,368,184,8,1973,1974,10,6,0,0,1974,1975,5,13,0, -0,1975,1992,3,368,184,7,1976,1977,10,17,0,0,1977,1978,5,17,0,0,1978,1992, -3,32,16,0,1979,1980,10,16,0,0,1980,1992,3,26,13,0,1981,1982,10,15,0,0,1982, -1983,5,17,0,0,1983,1984,5,187,0,0,1984,1985,5,6,0,0,1985,1992,5,7,0,0,1986, -1987,10,14,0,0,1987,1988,5,17,0,0,1988,1989,5,188,0,0,1989,1990,5,6,0,0, -1990,1992,5,7,0,0,1991,1952,1,0,0,0,1991,1955,1,0,0,0,1991,1958,1,0,0,0, -1991,1961,1,0,0,0,1991,1964,1,0,0,0,1991,1967,1,0,0,0,1991,1970,1,0,0,0, -1991,1973,1,0,0,0,1991,1976,1,0,0,0,1991,1979,1,0,0,0,1991,1981,1,0,0,0, -1991,1986,1,0,0,0,1992,1995,1,0,0,0,1993,1991,1,0,0,0,1993,1994,1,0,0,0, -1994,369,1,0,0,0,1995,1993,1,0,0,0,1996,1999,3,52,26,0,1997,1998,5,4,0,0, -1998,2000,5,5,0,0,1999,1997,1,0,0,0,1999,2000,1,0,0,0,2000,2003,1,0,0,0, -2001,2003,3,368,184,0,2002,1996,1,0,0,0,2002,2001,1,0,0,0,2003,371,1,0,0, -0,2004,2006,5,94,0,0,2005,2004,1,0,0,0,2005,2006,1,0,0,0,2006,2007,1,0,0, -0,2007,2009,3,374,187,0,2008,2010,3,64,32,0,2009,2008,1,0,0,0,2009,2010, -1,0,0,0,2010,2011,1,0,0,0,2011,2012,5,55,0,0,2012,2013,3,376,188,0,2013, -373,1,0,0,0,2014,2021,5,217,0,0,2015,2017,5,6,0,0,2016,2018,3,334,167,0, -2017,2016,1,0,0,0,2017,2018,1,0,0,0,2018,2019,1,0,0,0,2019,2021,5,7,0,0, -2020,2014,1,0,0,0,2020,2015,1,0,0,0,2021,375,1,0,0,0,2022,2028,3,368,184, -0,2023,2024,5,8,0,0,2024,2025,3,340,170,0,2025,2026,5,10,0,0,2026,2028,1, -0,0,0,2027,2022,1,0,0,0,2027,2023,1,0,0,0,2028,377,1,0,0,0,2029,2030,7,13, -0,0,2030,379,1,0,0,0,2031,2038,5,56,0,0,2032,2038,5,57,0,0,2033,2038,5,218, -0,0,2034,2038,3,382,191,0,2035,2038,5,3,0,0,2036,2038,3,386,193,0,2037,2031, -1,0,0,0,2037,2032,1,0,0,0,2037,2033,1,0,0,0,2037,2034,1,0,0,0,2037,2035, -1,0,0,0,2037,2036,1,0,0,0,2038,381,1,0,0,0,2039,2043,5,219,0,0,2040,2042, -3,384,192,0,2041,2040,1,0,0,0,2042,2045,1,0,0,0,2043,2041,1,0,0,0,2043,2044, -1,0,0,0,2044,2046,1,0,0,0,2045,2043,1,0,0,0,2046,2047,5,219,0,0,2047,383, -1,0,0,0,2048,2054,5,226,0,0,2049,2050,5,225,0,0,2050,2051,3,368,184,0,2051, -2052,5,9,0,0,2052,2054,1,0,0,0,2053,2048,1,0,0,0,2053,2049,1,0,0,0,2054, -385,1,0,0,0,2055,2058,5,58,0,0,2056,2058,5,59,0,0,2057,2055,1,0,0,0,2057, -2056,1,0,0,0,2058,387,1,0,0,0,2059,2060,5,217,0,0,2060,389,1,0,0,0,2061, -2062,7,14,0,0,2062,391,1,0,0,0,2063,2067,3,394,197,0,2064,2067,5,56,0,0, -2065,2067,5,57,0,0,2066,2063,1,0,0,0,2066,2064,1,0,0,0,2066,2065,1,0,0,0, -2067,393,1,0,0,0,2068,2069,7,15,0,0,2069,395,1,0,0,0,2070,2071,5,151,0,0, -2071,2072,3,356,178,0,2072,397,1,0,0,0,2073,2074,5,152,0,0,2074,2075,3,356, -178,0,2075,399,1,0,0,0,2076,2077,7,16,0,0,2077,401,1,0,0,0,2078,2079,3,32, -16,0,2079,2080,5,186,0,0,2080,2082,3,404,202,0,2081,2083,5,11,0,0,2082,2081, -1,0,0,0,2082,2083,1,0,0,0,2083,403,1,0,0,0,2084,2085,5,202,0,0,2085,405, -1,0,0,0,215,411,418,428,432,440,456,474,477,492,507,516,523,532,537,542, -556,560,571,576,578,585,590,593,596,601,604,607,612,615,618,622,628,639, -646,652,658,666,671,682,687,695,702,711,729,736,743,749,753,759,763,769, -773,779,783,790,797,824,831,838,845,852,859,866,873,880,887,894,901,908, -915,922,924,929,939,949,954,961,979,986,993,1001,1008,1011,1015,1019,1028, -1036,1046,1053,1062,1081,1085,1089,1099,1103,1113,1115,1127,1129,1135,1141, -1147,1165,1169,1176,1183,1187,1193,1196,1198,1204,1208,1213,1216,1218,1232, -1235,1263,1276,1284,1301,1306,1312,1318,1323,1336,1342,1350,1358,1367,1377, -1386,1396,1398,1416,1425,1433,1441,1465,1482,1486,1498,1502,1506,1511,1515, -1519,1527,1551,1563,1573,1575,1579,1616,1626,1643,1663,1666,1670,1678,1682, -1695,1698,1701,1707,1712,1722,1726,1739,1743,1756,1760,1769,1784,1789,1792, -1795,1798,1801,1805,1809,1815,1819,1828,1837,1841,1843,1864,1870,1880,1883, -1893,1898,1900,1909,1919,1924,1928,1932,1950,1991,1993,1999,2002,2005,2009, -2017,2020,2027,2037,2043,2053,2057,2066,2082]; - - -const atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN); - -const decisionsToDFA = atn.decisionToState.map( (ds, index) => new antlr4.dfa.DFA(ds, index) ); - -const sharedContextCache = new antlr4.PredictionContextCache(); - -export default class BitloopsParser extends antlr4.Parser { - - static grammarFileName = "BitloopsParser.g4"; - static literalNames = [ null, null, null, null, "'['", "']'", "'('", - "')'", "'{'", null, "'}'", "';'", "','", "'='", - "'?'", "':'", "'...'", "'.'", "'++'", "'--'", - "'+'", "'-'", "'~'", "'NOT'", "'*'", "'/'", - "'%'", "'>>'", "'<<'", "'>>>'", "'<'", "'>'", - "'<='", "'>='", "'=='", "'!='", "'==='", "'!=='", - "'&'", "'^'", "'|'", "'AND'", "'OR'", "'XOR'", - "'*='", "'/='", "'%='", "'+='", "'-='", "'<<='", - "'>>='", "'>>>='", "'&='", "'^='", "'|='", "'=>'", - "'null'", null, null, null, null, null, null, - null, "'optional'", "'break'", "'do'", "'instanceof'", - "'typeof'", "'case'", "'else'", "'new'", "'var'", - "'catch'", "'finally'", "'return'", "'void'", - "'continue'", "'for'", "'switch'", "'while'", - "'debugger'", "'function'", "'this'", "'with'", - "'default'", "'if'", "'throw'", "'delete'", - "'in'", "'try'", "'as'", "'from'", "'readonly'", - "'async'", "'throws'", "'applyRules'", "'extends'", - "'const'", "'RepoPort'", "'Props'", "'ReadModel'", - "'DTO'", "'RESTController'", "'GraphQLController'", - "'GRPCController'", "'UseCase'", "'ValueObject'", - "'AggregateRoot'", "'Entity'", "'DomainEvent'", - "'Service'", "'Repository'", "'Factory'", "'DomainError'", - "'ApplicationError'", "'DomainErrors'", "'ApplicationErrors'", - "'OK'", "'Errors'", "'Config'", "'PackagePort'", - "'VO'", "'Rule'", "'isBrokenIf'", "'Root'", - "'constructor'", "'let'", "'private'", "'public'", - "'protected'", "'static'", "'any'", "'double'", - "'float'", "'int32'", "'int64'", "'uint32'", - "'uint64'", "'sint32'", "'sint64'", "'fixed32'", - "'fixed64'", "'sfixed32'", "'sfixed64'", "'bool'", - "'string'", "'bytes'", "'timestamp'", "'Struct'", - "'type'", "'get'", "'set'", "'execute'", "'create'", - "'namespace'", "'declare'", "'JestTest'", "'JestTestStatement'", - "'JestTestStatementList'", "'JestTestFunctionBody'", - "'JestTestExecute'", "'JestTestStructEvaluation'", - "'JestTestDTOEvaluation'", "'JestTestEvaluation'", - "'JestTestReturnOkErrorType'", "'JestTestExpression'", - "'JestTestConstDeclaration'", "'JestTestMethodDefinitionList'", - "'JestTestCreateMethodDeclaration'", "'JestTestPrivateMethodDeclaration'", - "'JestTestPublicMethodDeclaration'", "'JestTestValueObjectDeclaration'", - "'JestTestEntityDeclaration'", "'JestTestCondition'", - "'JestTestVariableDeclaration'", "'JestTestThisDeclaration'", - "'JestTestIsInstanceOf'", "'JestTestValueObjectEvaluation'", - "'JestTestEntityEvaluation'", "'JestTestSingleExpression'", - "'JestTestGetClass'", "'JestTestBuiltInFunction'", - "'JestTestBuiltInClass'", "'JestTestBitloopsPrimaryType'", - "'UUIDv4'", "'is'", "'getClass'", "'toString'", - "'@'", "'method'", "'REST.Methods.GET'", "'REST.Methods.POST'", - "'REST.Methods.PUT'", "'REST.Methods.PATCH'", - "'REST.Methods.DELETE'", "'REST.Methods.OPTIONS'", - "'operation'", "'input'", "'GraphQL.Operations.Mutation'", - "'GraphQL.Operations.Query'", "'GraphQL.Operations.Subscription'", - "'Error'", null, null, null, null, null, null, - null, null, null, null, null, null, null, null, - null, null, null, null, null, null, null, null, - "'${'" ]; - static symbolicNames = [ null, "MultiLineComment", "SingleLineComment", - "RegularExpressionLiteral", "OpenBracket", - "CloseBracket", "OpenParen", "CloseParen", - "OpenBrace", "TemplateCloseBrace", "CloseBrace", - "SemiColon", "Comma", "Assign", "QuestionMark", - "Colon", "Ellipsis", "Dot", "PlusPlus", "MinusMinus", - "Plus", "Minus", "BitNot", "Not", "Multiply", - "Divide", "Modulus", "RightShiftArithmetic", - "LeftShiftArithmetic", "RightShiftLogical", - "LessThan", "MoreThan", "LessThanEquals", "GreaterThanEquals", - "Equals_", "NotEquals", "IdentityEquals", "IdentityNotEquals", - "BitAnd", "BitXOr", "BitOr", "And", "Or", "Xor", - "MultiplyAssign", "DivideAssign", "ModulusAssign", - "PlusAssign", "MinusAssign", "LeftShiftArithmeticAssign", - "RightShiftArithmeticAssign", "RightShiftLogicalAssign", - "BitAndAssign", "BitXorAssign", "BitOrAssign", - "ARROW", "NullLiteral", "BooleanLiteral", "IntegerLiteral", - "DecimalLiteral", "HexIntegerLiteral", "OctalIntegerLiteral", - "OctalIntegerLiteral2", "BinaryIntegerLiteral", - "Optional", "Break", "Do", "Instanceof", "Typeof", - "Case", "Else", "New", "Var", "Catch", "Finally", - "Return", "Void", "Continue", "For", "Switch", - "While", "Debugger", "Function_", "This", "With", - "Default", "If", "Throw", "Delete", "In", "Try", - "As", "From", "ReadOnly", "Async", "Throws", - "ApplyRules", "Extends", "Const", "RepoPort", - "Props", "ReadModel", "DTO", "RESTController", - "GraphQLController", "GRPCController", "UseCase", - "ValueObject", "AggregateRoot", "Entity", "DomainEvent", - "Service", "Repository", "Factory", "DomainError", - "ApplicationError", "DomainErrors", "ApplicationErrors", - "OK", "Errors", "Config", "PackagePort", "VO", - "Rule", "IsBrokenIf", "Root", "Constructor", - "Let", "Private", "Public", "Protected", "Static", - "Any", "Double", "Float", "Int32", "Int64", - "Uint32", "Uint64", "Sint32", "Sint64", "Fixed32", - "Fixed64", "Sfixed32", "Sfixed64", "Boolean", - "String", "Bytes", "Timestamp", "Struct", "TypeAlias", - "Get", "Set", "Execute", "Create", "Namespace", - "Declare", "JestTest", "JestTestStatement", - "JestTestStatementList", "JestTestFunctionBody", - "JestTestExecute", "JestTestStructEvaluation", - "JestTestDTOEvaluation", "JestTestEvaluation", - "JestTestReturnOkErrorType", "JestTestExpression", - "JestTestConstDeclaration", "JestTestMethodDefinitionList", - "JestTestCreateMethodDeclaration", "JestTestPrivateMethodDeclaration", - "JestTestPublicMethodDeclaration", "JestTestValueObjectDeclaration", - "JestTestEntityDeclaration", "JestTestCondition", - "JestTestVariableDeclaration", "JestTestThisDeclaration", - "JestTestIsInstanceOf", "JestTestValueObjectEvaluation", - "JestTestEntityEvaluation", "JestTestSingleExpression", - "JestTestGetClass", "JestTestBuiltInFunction", - "JestTestBuiltInClass", "JestTestBitloopsPrimaryType", - "UUIDv4", "Is", "GetClass", "ToString", "At", - "Method", "MethodGet", "MethodPost", "MethodPut", - "MethodPatch", "MethodDelete", "MethodOptions", - "GraphQLOperation", "Input", "OperationMutation", - "OperationQuery", "OperationSubscription", - "ErrorClass", "DTOIdentifier", "ValueObjectIdentifier", - "EntityIdentifier", "ErrorIdentifier", "ControllerIdentifier", - "UseCaseIdentifier", "PackagePortIdentifier", - "PropsIdentifier", "ReadModelIdentifier", "RuleIdentifier", - "RepoPortIdentifier", "DomainErrorIdentifier", - "ValueObjectEvaluationIdentifier", "UpperCaseIdentifier", - "Identifier", "StringLiteral", "BackTick", - "WhiteSpaces", "LineTerminator", "HtmlComment", - "CDataComment", "UnexpectedCharacter", "TemplateStringStartExpression", - "TemplateStringAtom", "WS" ]; - static ruleNames = [ "initializer", "bindingPattern", "fieldList", "evaluationFieldList", - "evaluationField", "propFields", "propsIdentifier", - "bitloopsIdentifiers", "primitives", "identifier", - "upperCaseIdentifier", "struct", "regularErrorTypeEvaluation", - "methodArguments", "openParen", "closeParen", "regularIdentifier", - "regularStringEvaluation", "regularIntegerEvaluation", - "regularDecimalEvaluation", "regularBooleanEvaluation", - "regularStructEvaluation", "regularDTOEvaluation", - "field", "bitloopsPrimaryType", "bitloopsBuiltInClass", - "predefinedType", "typeName", "methodDefinitionList", - "methodDefinition", "typeQuery", "typeQueryExpression", - "typeAnnotation", "parameterList", "requiredParameterList", - "parameter", "optionalParameter", "restParameter", - "requiredParameter", "accessibilityModifier", "identifierOrPattern", - "indexSignature", "enumBody", "enumMemberList", - "enumMember", "namespaceDeclaration", "namespaceName", - "importAliasDeclaration", "decoratorList", "decorator", - "decoratorMemberExpression", "decoratorCallExpression", - "program", "sourceElement", "jestTestDeclaration", - "errorEvaluation", "evaluation", "condition", "returnStatement", - "constDeclaration", "variableDeclaration", "statement", - "builtInFunction", "applyRuleStatementRulesList", - "applyRulesRule", "block", "statementList", "fromBlock", - "multipleImportStatement", "variableDeclarationList", - "emptyStatement_", "expressionStatement", "ifStatement", - "iterationStatement", "varModifier", "continueStatement", - "breakStatement", "withStatement", "switchStatement", - "caseBlock", "caseClauses", "caseClause", "defaultClause", - "labelledStatement", "throwStatement", "tryStatement", - "catchProduction", "finallyProduction", "debuggerStatement", - "domainFieldDeclaration", "isBrokenStatement", - "domainRuleBody", "domainRuleDeclaration", "aggregateDeclaration", - "domainConstDeclaration", "entityDeclaration", - "entityBody", "valueObjectDeclaration", "domainConstDeclarationList", - "publicMethodDeclarationList", "privateMethodDeclarationList", - "domainConstructorDeclaration", "useCaseIdentifier", - "useCaseDeclaration", "propsDeclaration", "readModelDeclaration", - "repoPortDeclaration", "repoPortIdentifier", "aggregateRootIdentifier", - "repoExtendsList", "repoPortMethodDefinitions", - "repoPortExtendableIdentifierList", "repoPortExtendableIdentifier", - "dtoDeclaration", "structDeclaration", "dtoEvaluationIdentifier", - "dtoEvaluation", "valueObjectEvaluation", "domainEvaluationInput", - "entityEvaluation", "structEvaluationIdentifier", - "structEvaluation", "builtInClassEvaluation", "propsEvaluation", - "domainErrorDeclaration", "applicationErrorDeclaration", - "domainErrorIdentifier", "applicationErrorIdentifier", - "useCaseExecuteDeclaration", "restControllerParameters", - "restControllerExecuteDeclaration", "restControllerMethodDeclaration", - "httpMethod", "controllerDeclaration", "graphQLResolverOptions", - "graphQLOperationTypeAssignment", "graphQLOperationInputTypeAssignment", - "graphQLResolverInputType", "graphQLOperation", - "graphQLControllerExecuteDeclaration", "graphQLControllerParameters", - "graphQLControllerReturnType", "dtoIdentifier", - "dtoIdentifiers", "errorIdentifier", "errorIdentifiers", - "valueObjectIdentifier", "entityIdentifier", "domainRuleIdentifier", - "returnOkType", "returnErrorsType", "returnOkErrorType", - "packagePortIdentifier", "packagePortDeclaration", - "methodDeclaration", "privateMethodDeclaration", - "publicMethodDeclaration", "returnPublicMethodType", - "returnPrivateMethodType", "propertyMemberBase", - "indexMemberDeclaration", "generatorMethod", "generatorFunctionDeclaration", - "generatorBlock", "generatorDefinition", "iteratorBlock", - "iteratorDefinition", "formalParameterList", "formalParameterArg", - "lastFormalParameterArg", "functionBody", "arrayLiteral", - "elementList", "objectLiteral", "regularVariableEvaluationORliteralORexpression", - "propertyAssignment", "getAccessor", "setAccessor", - "propertyName", "arguments", "argumentList", "argument", - "expressionSequence", "functionExpressionDeclaration", - "expression", "asExpression", "arrowFunctionDeclaration", - "arrowFunctionParameters", "arrowFunctionBody", - "assignmentOperator", "literal", "templateStringLiteral", - "templateStringAtom", "numericLiteral", "identifierName", - "identifierOrKeyWord", "reservedWord", "keyword", - "getter", "setter", "eos", "isInstanceOf", "classTypes" ]; - - constructor(input) { - super(input); - this._interp = new antlr4.atn.ParserATNSimulator(this, atn, decisionsToDFA, sharedContextCache); - this.ruleNames = BitloopsParser.ruleNames; - this.literalNames = BitloopsParser.literalNames; - this.symbolicNames = BitloopsParser.symbolicNames; - } - - get atn() { - return atn; - } - - sempred(localctx, ruleIndex, predIndex) { - switch(ruleIndex) { - case 24: - return this.bitloopsPrimaryType_sempred(localctx, predIndex); - case 50: - return this.decoratorMemberExpression_sempred(localctx, predIndex); - case 184: - return this.expression_sempred(localctx, predIndex); - default: - throw "No predicate with index:" + ruleIndex; - } - } - - bitloopsPrimaryType_sempred(localctx, predIndex) { - switch(predIndex) { - case 0: - return this.precpred(this._ctx, 2); - default: - throw "No predicate with index:" + predIndex; - } - }; - - decoratorMemberExpression_sempred(localctx, predIndex) { - switch(predIndex) { - case 1: - return this.precpred(this._ctx, 2); - default: - throw "No predicate with index:" + predIndex; - } - }; - - expression_sempred(localctx, predIndex) { - switch(predIndex) { - case 2: - return this.precpred(this._ctx, 13); - case 3: - return this.precpred(this._ctx, 12); - case 4: - return this.precpred(this._ctx, 11); - case 5: - return this.precpred(this._ctx, 10); - case 6: - return this.precpred(this._ctx, 9); - case 7: - return this.precpred(this._ctx, 8); - case 8: - return this.precpred(this._ctx, 7); - case 9: - return this.precpred(this._ctx, 6); - case 10: - return this.precpred(this._ctx, 17); - case 11: - return this.precpred(this._ctx, 16); - case 12: - return this.precpred(this._ctx, 15); - case 13: - return this.precpred(this._ctx, 14); - default: - throw "No predicate with index:" + predIndex; - } - }; - - - - - initializer() { - let localctx = new InitializerContext(this, this._ctx, this.state); - this.enterRule(localctx, 0, BitloopsParser.RULE_initializer); - try { - this.enterOuterAlt(localctx, 1); - this.state = 406; - this.match(BitloopsParser.Assign); - this.state = 407; - this.expression(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - bindingPattern() { - let localctx = new BindingPatternContext(this, this._ctx, this.state); - this.enterRule(localctx, 2, BitloopsParser.RULE_bindingPattern); - try { - this.enterOuterAlt(localctx, 1); - this.state = 411; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.OpenBracket: - this.state = 409; - this.arrayLiteral(); - break; - case BitloopsParser.OpenBrace: - this.state = 410; - this.objectLiteral(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - fieldList() { - let localctx = new FieldListContext(this, this._ctx, this.state); - this.enterRule(localctx, 4, BitloopsParser.RULE_fieldList); - try { - this.enterOuterAlt(localctx, 1); - this.state = 413; - this.field(); - this.state = 418; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,1,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 414; - this.match(BitloopsParser.SemiColon); - this.state = 415; - this.field(); - } - this.state = 420; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,1,this._ctx); - } - - this.state = 421; - this.match(BitloopsParser.SemiColon); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - evaluationFieldList() { - let localctx = new EvaluationFieldListContext(this, this._ctx, this.state); - this.enterRule(localctx, 6, BitloopsParser.RULE_evaluationFieldList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 423; - this.evaluationField(); - this.state = 428; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,2,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 424; - this.match(BitloopsParser.Comma); - this.state = 425; - this.evaluationField(); - } - this.state = 430; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,2,this._ctx); - } - - this.state = 432; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Comma) { - this.state = 431; - this.match(BitloopsParser.Comma); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - evaluationField() { - let localctx = new EvaluationFieldContext(this, this._ctx, this.state); - this.enterRule(localctx, 8, BitloopsParser.RULE_evaluationField); - try { - this.enterOuterAlt(localctx, 1); - this.state = 434; - this.match(BitloopsParser.Identifier); - this.state = 435; - this.match(BitloopsParser.Colon); - this.state = 436; - this.expression(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - propFields() { - let localctx = new PropFieldsContext(this, this._ctx, this.state); - this.enterRule(localctx, 10, BitloopsParser.RULE_propFields); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 438; - this.match(BitloopsParser.OpenBrace); - this.state = 440; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Optional || _la===BitloopsParser.Void || ((((_la - 132)) & ~0x1f) == 0 && ((1 << (_la - 132)) & ((1 << (BitloopsParser.Any - 132)) | (1 << (BitloopsParser.Double - 132)) | (1 << (BitloopsParser.Float - 132)) | (1 << (BitloopsParser.Int32 - 132)) | (1 << (BitloopsParser.Int64 - 132)) | (1 << (BitloopsParser.Uint32 - 132)) | (1 << (BitloopsParser.Uint64 - 132)) | (1 << (BitloopsParser.Sint32 - 132)) | (1 << (BitloopsParser.Sint64 - 132)) | (1 << (BitloopsParser.Fixed32 - 132)) | (1 << (BitloopsParser.Fixed64 - 132)) | (1 << (BitloopsParser.Sfixed32 - 132)) | (1 << (BitloopsParser.Sfixed64 - 132)) | (1 << (BitloopsParser.Boolean - 132)) | (1 << (BitloopsParser.String - 132)) | (1 << (BitloopsParser.Bytes - 132)) | (1 << (BitloopsParser.Timestamp - 132)))) !== 0) || ((((_la - 185)) & ~0x1f) == 0 && ((1 << (_la - 185)) & ((1 << (BitloopsParser.UUIDv4 - 185)) | (1 << (BitloopsParser.DTOIdentifier - 185)) | (1 << (BitloopsParser.ValueObjectIdentifier - 185)) | (1 << (BitloopsParser.EntityIdentifier - 185)) | (1 << (BitloopsParser.ErrorIdentifier - 185)) | (1 << (BitloopsParser.ControllerIdentifier - 185)) | (1 << (BitloopsParser.UseCaseIdentifier - 185)) | (1 << (BitloopsParser.PropsIdentifier - 185)) | (1 << (BitloopsParser.ReadModelIdentifier - 185)) | (1 << (BitloopsParser.RepoPortIdentifier - 185)) | (1 << (BitloopsParser.UpperCaseIdentifier - 185)))) !== 0)) { - this.state = 439; - this.fieldList(); - } - - this.state = 442; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - propsIdentifier() { - let localctx = new PropsIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 12, BitloopsParser.RULE_propsIdentifier); - try { - this.enterOuterAlt(localctx, 1); - this.state = 444; - this.match(BitloopsParser.PropsIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - bitloopsIdentifiers() { - let localctx = new BitloopsIdentifiersContext(this, this._ctx, this.state); - this.enterRule(localctx, 14, BitloopsParser.RULE_bitloopsIdentifiers); - try { - this.state = 456; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.UseCaseIdentifier: - this.enterOuterAlt(localctx, 1); - this.state = 446; - this.match(BitloopsParser.UseCaseIdentifier); - break; - case BitloopsParser.DTOIdentifier: - this.enterOuterAlt(localctx, 2); - this.state = 447; - this.dtoIdentifier(); - break; - case BitloopsParser.ControllerIdentifier: - this.enterOuterAlt(localctx, 3); - this.state = 448; - this.match(BitloopsParser.ControllerIdentifier); - break; - case BitloopsParser.ErrorIdentifier: - this.enterOuterAlt(localctx, 4); - this.state = 449; - this.match(BitloopsParser.ErrorIdentifier); - break; - case BitloopsParser.PropsIdentifier: - this.enterOuterAlt(localctx, 5); - this.state = 450; - this.propsIdentifier(); - break; - case BitloopsParser.ValueObjectIdentifier: - this.enterOuterAlt(localctx, 6); - this.state = 451; - this.match(BitloopsParser.ValueObjectIdentifier); - break; - case BitloopsParser.EntityIdentifier: - this.enterOuterAlt(localctx, 7); - this.state = 452; - this.match(BitloopsParser.EntityIdentifier); - break; - case BitloopsParser.RepoPortIdentifier: - this.enterOuterAlt(localctx, 8); - this.state = 453; - this.match(BitloopsParser.RepoPortIdentifier); - break; - case BitloopsParser.ReadModelIdentifier: - this.enterOuterAlt(localctx, 9); - this.state = 454; - this.match(BitloopsParser.ReadModelIdentifier); - break; - case BitloopsParser.UpperCaseIdentifier: - this.enterOuterAlt(localctx, 10); - this.state = 455; - this.match(BitloopsParser.UpperCaseIdentifier); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - primitives() { - let localctx = new PrimitivesContext(this, this._ctx, this.state); - this.enterRule(localctx, 16, BitloopsParser.RULE_primitives); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 458; - _la = this._input.LA(1); - if(!(_la===BitloopsParser.Void || ((((_la - 132)) & ~0x1f) == 0 && ((1 << (_la - 132)) & ((1 << (BitloopsParser.Any - 132)) | (1 << (BitloopsParser.Double - 132)) | (1 << (BitloopsParser.Float - 132)) | (1 << (BitloopsParser.Int32 - 132)) | (1 << (BitloopsParser.Int64 - 132)) | (1 << (BitloopsParser.Uint32 - 132)) | (1 << (BitloopsParser.Uint64 - 132)) | (1 << (BitloopsParser.Sint32 - 132)) | (1 << (BitloopsParser.Sint64 - 132)) | (1 << (BitloopsParser.Fixed32 - 132)) | (1 << (BitloopsParser.Fixed64 - 132)) | (1 << (BitloopsParser.Sfixed32 - 132)) | (1 << (BitloopsParser.Sfixed64 - 132)) | (1 << (BitloopsParser.Boolean - 132)) | (1 << (BitloopsParser.String - 132)) | (1 << (BitloopsParser.Bytes - 132)) | (1 << (BitloopsParser.Timestamp - 132)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - identifier() { - let localctx = new IdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 18, BitloopsParser.RULE_identifier); - try { - this.enterOuterAlt(localctx, 1); - this.state = 460; - this.match(BitloopsParser.Identifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - upperCaseIdentifier() { - let localctx = new UpperCaseIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 20, BitloopsParser.RULE_upperCaseIdentifier); - try { - this.enterOuterAlt(localctx, 1); - this.state = 462; - this.match(BitloopsParser.UpperCaseIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - struct() { - let localctx = new StructContext(this, this._ctx, this.state); - this.enterRule(localctx, 22, BitloopsParser.RULE_struct); - try { - this.enterOuterAlt(localctx, 1); - this.state = 464; - this.match(BitloopsParser.UpperCaseIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - regularErrorTypeEvaluation() { - let localctx = new RegularErrorTypeEvaluationContext(this, this._ctx, this.state); - this.enterRule(localctx, 24, BitloopsParser.RULE_regularErrorTypeEvaluation); - try { - this.enterOuterAlt(localctx, 1); - this.state = 466; - this.errorIdentifier(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - methodArguments() { - let localctx = new MethodArgumentsContext(this, this._ctx, this.state); - this.enterRule(localctx, 26, BitloopsParser.RULE_methodArguments); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 468; - this.match(BitloopsParser.OpenParen); - this.state = 477; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << BitloopsParser.RegularExpressionLiteral) | (1 << BitloopsParser.OpenBracket) | (1 << BitloopsParser.OpenParen) | (1 << BitloopsParser.OpenBrace) | (1 << BitloopsParser.Not))) !== 0) || ((((_la - 56)) & ~0x1f) == 0 && ((1 << (_la - 56)) & ((1 << (BitloopsParser.NullLiteral - 56)) | (1 << (BitloopsParser.BooleanLiteral - 56)) | (1 << (BitloopsParser.IntegerLiteral - 56)) | (1 << (BitloopsParser.DecimalLiteral - 56)) | (1 << (BitloopsParser.This - 56)))) !== 0) || _la===BitloopsParser.Delete || _la===BitloopsParser.Execute || _la===BitloopsParser.Create || ((((_la - 185)) & ~0x1f) == 0 && ((1 << (_la - 185)) & ((1 << (BitloopsParser.UUIDv4 - 185)) | (1 << (BitloopsParser.DTOIdentifier - 185)) | (1 << (BitloopsParser.ValueObjectIdentifier - 185)) | (1 << (BitloopsParser.EntityIdentifier - 185)) | (1 << (BitloopsParser.ErrorIdentifier - 185)) | (1 << (BitloopsParser.UpperCaseIdentifier - 185)))) !== 0) || ((((_la - 217)) & ~0x1f) == 0 && ((1 << (_la - 217)) & ((1 << (BitloopsParser.Identifier - 217)) | (1 << (BitloopsParser.StringLiteral - 217)) | (1 << (BitloopsParser.BackTick - 217)))) !== 0)) { - this.state = 469; - this.argumentList(); - this.state = 474; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===BitloopsParser.Comma) { - this.state = 470; - this.match(BitloopsParser.Comma); - this.state = 471; - this.argumentList(); - this.state = 476; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } - - this.state = 479; - this.match(BitloopsParser.CloseParen); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - openParen() { - let localctx = new OpenParenContext(this, this._ctx, this.state); - this.enterRule(localctx, 28, BitloopsParser.RULE_openParen); - try { - this.enterOuterAlt(localctx, 1); - this.state = 481; - this.match(BitloopsParser.OpenParen); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - closeParen() { - let localctx = new CloseParenContext(this, this._ctx, this.state); - this.enterRule(localctx, 30, BitloopsParser.RULE_closeParen); - try { - this.enterOuterAlt(localctx, 1); - this.state = 483; - this.match(BitloopsParser.CloseParen); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - regularIdentifier() { - let localctx = new RegularIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 32, BitloopsParser.RULE_regularIdentifier); - try { - this.state = 492; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.Identifier: - localctx = new IdentifierStringContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 485; - this.match(BitloopsParser.Identifier); - break; - case BitloopsParser.DTOIdentifier: - localctx = new RegularDTOEvaluationStringContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 486; - this.regularDTOEvaluation(); - break; - case BitloopsParser.UpperCaseIdentifier: - localctx = new RegularStructEvaluationStringContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 487; - this.regularStructEvaluation(); - break; - case BitloopsParser.ErrorIdentifier: - localctx = new RegularErrorTypeEvaluationStringContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 488; - this.regularErrorTypeEvaluation(); - break; - case BitloopsParser.Execute: - localctx = new ExecuteExpressionContext(this, localctx); - this.enterOuterAlt(localctx, 5); - this.state = 489; - this.match(BitloopsParser.Execute); - break; - case BitloopsParser.Create: - localctx = new CreateExpressionContext(this, localctx); - this.enterOuterAlt(localctx, 6); - this.state = 490; - this.match(BitloopsParser.Create); - break; - case BitloopsParser.Delete: - localctx = new DeleteKeywordContext(this, localctx); - this.enterOuterAlt(localctx, 7); - this.state = 491; - this.match(BitloopsParser.Delete); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - regularStringEvaluation() { - let localctx = new RegularStringEvaluationContext(this, this._ctx, this.state); - this.enterRule(localctx, 34, BitloopsParser.RULE_regularStringEvaluation); - try { - this.enterOuterAlt(localctx, 1); - this.state = 494; - this.match(BitloopsParser.StringLiteral); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - regularIntegerEvaluation() { - let localctx = new RegularIntegerEvaluationContext(this, this._ctx, this.state); - this.enterRule(localctx, 36, BitloopsParser.RULE_regularIntegerEvaluation); - try { - this.enterOuterAlt(localctx, 1); - this.state = 496; - this.match(BitloopsParser.IntegerLiteral); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - regularDecimalEvaluation() { - let localctx = new RegularDecimalEvaluationContext(this, this._ctx, this.state); - this.enterRule(localctx, 38, BitloopsParser.RULE_regularDecimalEvaluation); - try { - this.enterOuterAlt(localctx, 1); - this.state = 498; - this.match(BitloopsParser.DecimalLiteral); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - regularBooleanEvaluation() { - let localctx = new RegularBooleanEvaluationContext(this, this._ctx, this.state); - this.enterRule(localctx, 40, BitloopsParser.RULE_regularBooleanEvaluation); - try { - this.enterOuterAlt(localctx, 1); - this.state = 500; - this.match(BitloopsParser.BooleanLiteral); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - regularStructEvaluation() { - let localctx = new RegularStructEvaluationContext(this, this._ctx, this.state); - this.enterRule(localctx, 42, BitloopsParser.RULE_regularStructEvaluation); - try { - this.enterOuterAlt(localctx, 1); - this.state = 502; - this.match(BitloopsParser.UpperCaseIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - regularDTOEvaluation() { - let localctx = new RegularDTOEvaluationContext(this, this._ctx, this.state); - this.enterRule(localctx, 44, BitloopsParser.RULE_regularDTOEvaluation); - try { - this.enterOuterAlt(localctx, 1); - this.state = 504; - this.match(BitloopsParser.DTOIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - field() { - let localctx = new FieldContext(this, this._ctx, this.state); - this.enterRule(localctx, 46, BitloopsParser.RULE_field); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 507; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Optional) { - this.state = 506; - this.match(BitloopsParser.Optional); - } - - this.state = 509; - this.bitloopsPrimaryType(0); - this.state = 510; - this.identifier(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - bitloopsPrimaryType(_p) { - if(_p===undefined) { - _p = 0; - } - const _parentctx = this._ctx; - const _parentState = this.state; - let localctx = new BitloopsPrimaryTypeContext(this, this._ctx, _parentState); - let _prevctx = localctx; - const _startState = 48; - this.enterRecursionRule(localctx, 48, BitloopsParser.RULE_bitloopsPrimaryType, _p); - try { - this.enterOuterAlt(localctx, 1); - this.state = 516; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.Void: - case BitloopsParser.Any: - case BitloopsParser.Double: - case BitloopsParser.Float: - case BitloopsParser.Int32: - case BitloopsParser.Int64: - case BitloopsParser.Uint32: - case BitloopsParser.Uint64: - case BitloopsParser.Sint32: - case BitloopsParser.Sint64: - case BitloopsParser.Fixed32: - case BitloopsParser.Fixed64: - case BitloopsParser.Sfixed32: - case BitloopsParser.Sfixed64: - case BitloopsParser.Boolean: - case BitloopsParser.String: - case BitloopsParser.Bytes: - case BitloopsParser.Timestamp: - localctx = new PrimitivePrimTypeContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - - this.state = 513; - this.primitives(); - break; - case BitloopsParser.UUIDv4: - localctx = new BitloopsBuiltInClassPrimTypeContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 514; - this.bitloopsBuiltInClass(); - break; - case BitloopsParser.DTOIdentifier: - case BitloopsParser.ValueObjectIdentifier: - case BitloopsParser.EntityIdentifier: - case BitloopsParser.ErrorIdentifier: - case BitloopsParser.ControllerIdentifier: - case BitloopsParser.UseCaseIdentifier: - case BitloopsParser.PropsIdentifier: - case BitloopsParser.ReadModelIdentifier: - case BitloopsParser.RepoPortIdentifier: - case BitloopsParser.UpperCaseIdentifier: - localctx = new BitloopsIdentifierPrimTypeContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 515; - this.bitloopsIdentifiers(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this._ctx.stop = this._input.LT(-1); - this.state = 523; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,11,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - if(this._parseListeners!==null) { - this.triggerExitRuleEvent(); - } - _prevctx = localctx; - localctx = new ArrayBitloopsPrimTypeContext(this, new BitloopsPrimaryTypeContext(this, _parentctx, _parentState)); - this.pushNewRecursionContext(localctx, _startState, BitloopsParser.RULE_bitloopsPrimaryType); - this.state = 518; - if (!( this.precpred(this._ctx, 2))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)"); - } - this.state = 519; - this.match(BitloopsParser.OpenBracket); - this.state = 520; - this.match(BitloopsParser.CloseBracket); - } - this.state = 525; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,11,this._ctx); - } - - } catch( error) { - if(error instanceof antlr4.error.RecognitionException) { - localctx.exception = error; - this._errHandler.reportError(this, error); - this._errHandler.recover(this, error); - } else { - throw error; - } - } finally { - this.unrollRecursionContexts(_parentctx) - } - return localctx; - } - - - - bitloopsBuiltInClass() { - let localctx = new BitloopsBuiltInClassContext(this, this._ctx, this.state); - this.enterRule(localctx, 50, BitloopsParser.RULE_bitloopsBuiltInClass); - try { - this.enterOuterAlt(localctx, 1); - this.state = 526; - this.match(BitloopsParser.UUIDv4); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - predefinedType() { - let localctx = new PredefinedTypeContext(this, this._ctx, this.state); - this.enterRule(localctx, 52, BitloopsParser.RULE_predefinedType); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 528; - _la = this._input.LA(1); - if(!(_la===BitloopsParser.Void || ((((_la - 132)) & ~0x1f) == 0 && ((1 << (_la - 132)) & ((1 << (BitloopsParser.Any - 132)) | (1 << (BitloopsParser.Int32 - 132)) | (1 << (BitloopsParser.Boolean - 132)) | (1 << (BitloopsParser.String - 132)) | (1 << (BitloopsParser.Struct - 132)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - typeName() { - let localctx = new TypeNameContext(this, this._ctx, this.state); - this.enterRule(localctx, 54, BitloopsParser.RULE_typeName); - try { - this.state = 532; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,12,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 530; - this.match(BitloopsParser.Identifier); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 531; - this.namespaceName(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - methodDefinitionList() { - let localctx = new MethodDefinitionListContext(this, this._ctx, this.state); - this.enterRule(localctx, 56, BitloopsParser.RULE_methodDefinitionList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 537; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===BitloopsParser.Identifier) { - this.state = 534; - this.methodDefinition(); - this.state = 539; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - methodDefinition() { - let localctx = new MethodDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 58, BitloopsParser.RULE_methodDefinition); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 540; - this.identifier(); - this.state = 542; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.OpenParen) { - this.state = 541; - this.formalParameterList(); - } - - this.state = 544; - this.typeAnnotation(); - this.state = 545; - this.match(BitloopsParser.SemiColon); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - typeQuery() { - let localctx = new TypeQueryContext(this, this._ctx, this.state); - this.enterRule(localctx, 60, BitloopsParser.RULE_typeQuery); - try { - this.enterOuterAlt(localctx, 1); - this.state = 547; - this.match(BitloopsParser.Typeof); - this.state = 548; - this.typeQueryExpression(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - typeQueryExpression() { - let localctx = new TypeQueryExpressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 62, BitloopsParser.RULE_typeQueryExpression); - try { - this.state = 560; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,16,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 550; - this.match(BitloopsParser.Identifier); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 554; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 551; - this.identifierName(); - this.state = 552; - this.match(BitloopsParser.Dot); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 556; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,15, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - this.state = 558; - this.identifierName(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - typeAnnotation() { - let localctx = new TypeAnnotationContext(this, this._ctx, this.state); - this.enterRule(localctx, 64, BitloopsParser.RULE_typeAnnotation); - try { - this.enterOuterAlt(localctx, 1); - this.state = 562; - this.match(BitloopsParser.Colon); - this.state = 563; - this.bitloopsPrimaryType(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - parameterList() { - let localctx = new ParameterListContext(this, this._ctx, this.state); - this.enterRule(localctx, 66, BitloopsParser.RULE_parameterList); - var _la = 0; // Token type - try { - this.state = 578; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.Ellipsis: - this.enterOuterAlt(localctx, 1); - this.state = 565; - this.restParameter(); - break; - case BitloopsParser.OpenBracket: - case BitloopsParser.OpenBrace: - case BitloopsParser.Private: - case BitloopsParser.Public: - case BitloopsParser.At: - case BitloopsParser.Identifier: - this.enterOuterAlt(localctx, 2); - this.state = 566; - this.parameter(); - this.state = 571; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,17,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 567; - this.match(BitloopsParser.Comma); - this.state = 568; - this.parameter(); - } - this.state = 573; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,17,this._ctx); - } - - this.state = 576; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Comma) { - this.state = 574; - this.match(BitloopsParser.Comma); - this.state = 575; - this.restParameter(); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - requiredParameterList() { - let localctx = new RequiredParameterListContext(this, this._ctx, this.state); - this.enterRule(localctx, 68, BitloopsParser.RULE_requiredParameterList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 580; - this.requiredParameter(); - this.state = 585; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===BitloopsParser.Comma) { - this.state = 581; - this.match(BitloopsParser.Comma); - this.state = 582; - this.requiredParameter(); - this.state = 587; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - parameter() { - let localctx = new ParameterContext(this, this._ctx, this.state); - this.enterRule(localctx, 70, BitloopsParser.RULE_parameter); - try { - this.state = 590; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,21,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 588; - this.requiredParameter(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 589; - this.optionalParameter(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - optionalParameter() { - let localctx = new OptionalParameterContext(this, this._ctx, this.state); - this.enterRule(localctx, 72, BitloopsParser.RULE_optionalParameter); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 593; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.At) { - this.state = 592; - this.decoratorList(); - } - - this.state = 596; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Private || _la===BitloopsParser.Public) { - this.state = 595; - this.accessibilityModifier(); - } - - this.state = 598; - this.identifierOrPattern(); - this.state = 607; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.QuestionMark: - this.state = 599; - this.match(BitloopsParser.QuestionMark); - this.state = 601; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Colon) { - this.state = 600; - this.typeAnnotation(); - } - - break; - case BitloopsParser.Assign: - case BitloopsParser.Colon: - this.state = 604; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Colon) { - this.state = 603; - this.typeAnnotation(); - } - - this.state = 606; - this.initializer(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - restParameter() { - let localctx = new RestParameterContext(this, this._ctx, this.state); - this.enterRule(localctx, 74, BitloopsParser.RULE_restParameter); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 609; - this.match(BitloopsParser.Ellipsis); - this.state = 610; - this.expression(0); - this.state = 612; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Colon) { - this.state = 611; - this.typeAnnotation(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - requiredParameter() { - let localctx = new RequiredParameterContext(this, this._ctx, this.state); - this.enterRule(localctx, 76, BitloopsParser.RULE_requiredParameter); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 615; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.At) { - this.state = 614; - this.decoratorList(); - } - - this.state = 618; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Private || _la===BitloopsParser.Public) { - this.state = 617; - this.accessibilityModifier(); - } - - this.state = 620; - this.identifierOrPattern(); - this.state = 622; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Colon) { - this.state = 621; - this.typeAnnotation(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - accessibilityModifier() { - let localctx = new AccessibilityModifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 78, BitloopsParser.RULE_accessibilityModifier); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 624; - _la = this._input.LA(1); - if(!(_la===BitloopsParser.Private || _la===BitloopsParser.Public)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - identifierOrPattern() { - let localctx = new IdentifierOrPatternContext(this, this._ctx, this.state); - this.enterRule(localctx, 80, BitloopsParser.RULE_identifierOrPattern); - try { - this.state = 628; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.Identifier: - this.enterOuterAlt(localctx, 1); - this.state = 626; - this.identifierName(); - break; - case BitloopsParser.OpenBracket: - case BitloopsParser.OpenBrace: - this.enterOuterAlt(localctx, 2); - this.state = 627; - this.bindingPattern(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - indexSignature() { - let localctx = new IndexSignatureContext(this, this._ctx, this.state); - this.enterRule(localctx, 82, BitloopsParser.RULE_indexSignature); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 630; - this.match(BitloopsParser.OpenBracket); - this.state = 631; - this.match(BitloopsParser.Identifier); - this.state = 632; - this.match(BitloopsParser.Colon); - this.state = 633; - _la = this._input.LA(1); - if(!(_la===BitloopsParser.Int32 || _la===BitloopsParser.String)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 634; - this.match(BitloopsParser.CloseBracket); - this.state = 635; - this.typeAnnotation(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - enumBody() { - let localctx = new EnumBodyContext(this, this._ctx, this.state); - this.enterRule(localctx, 84, BitloopsParser.RULE_enumBody); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 637; - this.enumMemberList(); - this.state = 639; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Comma) { - this.state = 638; - this.match(BitloopsParser.Comma); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - enumMemberList() { - let localctx = new EnumMemberListContext(this, this._ctx, this.state); - this.enterRule(localctx, 86, BitloopsParser.RULE_enumMemberList); - try { - this.enterOuterAlt(localctx, 1); - this.state = 641; - this.enumMember(); - this.state = 646; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,33,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 642; - this.match(BitloopsParser.Comma); - this.state = 643; - this.enumMember(); - } - this.state = 648; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,33,this._ctx); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - enumMember() { - let localctx = new EnumMemberContext(this, this._ctx, this.state); - this.enterRule(localctx, 88, BitloopsParser.RULE_enumMember); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 649; - this.propertyName(); - this.state = 652; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Assign) { - this.state = 650; - this.match(BitloopsParser.Assign); - this.state = 651; - this.expression(0); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - namespaceDeclaration() { - let localctx = new NamespaceDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 90, BitloopsParser.RULE_namespaceDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 654; - this.match(BitloopsParser.Namespace); - this.state = 655; - this.namespaceName(); - this.state = 656; - this.match(BitloopsParser.OpenBrace); - this.state = 658; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << BitloopsParser.RegularExpressionLiteral) | (1 << BitloopsParser.OpenBracket) | (1 << BitloopsParser.OpenParen) | (1 << BitloopsParser.OpenBrace) | (1 << BitloopsParser.SemiColon) | (1 << BitloopsParser.Not))) !== 0) || ((((_la - 56)) & ~0x1f) == 0 && ((1 << (_la - 56)) & ((1 << (BitloopsParser.NullLiteral - 56)) | (1 << (BitloopsParser.BooleanLiteral - 56)) | (1 << (BitloopsParser.IntegerLiteral - 56)) | (1 << (BitloopsParser.DecimalLiteral - 56)) | (1 << (BitloopsParser.Break - 56)) | (1 << (BitloopsParser.Do - 56)) | (1 << (BitloopsParser.Return - 56)) | (1 << (BitloopsParser.For - 56)) | (1 << (BitloopsParser.Switch - 56)) | (1 << (BitloopsParser.While - 56)) | (1 << (BitloopsParser.This - 56)) | (1 << (BitloopsParser.If - 56)) | (1 << (BitloopsParser.Throw - 56)))) !== 0) || ((((_la - 88)) & ~0x1f) == 0 && ((1 << (_la - 88)) & ((1 << (BitloopsParser.Delete - 88)) | (1 << (BitloopsParser.Try - 88)) | (1 << (BitloopsParser.Async - 88)) | (1 << (BitloopsParser.ApplyRules - 88)) | (1 << (BitloopsParser.Const - 88)) | (1 << (BitloopsParser.Props - 88)))) !== 0) || ((((_la - 153)) & ~0x1f) == 0 && ((1 << (_la - 153)) & ((1 << (BitloopsParser.Execute - 153)) | (1 << (BitloopsParser.Create - 153)) | (1 << (BitloopsParser.Namespace - 153)))) !== 0) || ((((_la - 185)) & ~0x1f) == 0 && ((1 << (_la - 185)) & ((1 << (BitloopsParser.UUIDv4 - 185)) | (1 << (BitloopsParser.DTOIdentifier - 185)) | (1 << (BitloopsParser.ValueObjectIdentifier - 185)) | (1 << (BitloopsParser.EntityIdentifier - 185)) | (1 << (BitloopsParser.ErrorIdentifier - 185)) | (1 << (BitloopsParser.UpperCaseIdentifier - 185)))) !== 0) || ((((_la - 217)) & ~0x1f) == 0 && ((1 << (_la - 217)) & ((1 << (BitloopsParser.Identifier - 217)) | (1 << (BitloopsParser.StringLiteral - 217)) | (1 << (BitloopsParser.BackTick - 217)))) !== 0)) { - this.state = 657; - this.statementList(); - } - - this.state = 660; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - namespaceName() { - let localctx = new NamespaceNameContext(this, this._ctx, this.state); - this.enterRule(localctx, 92, BitloopsParser.RULE_namespaceName); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 662; - this.match(BitloopsParser.Identifier); - this.state = 671; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===BitloopsParser.Dot) { - this.state = 664; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 663; - this.match(BitloopsParser.Dot); - this.state = 666; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===BitloopsParser.Dot); - this.state = 668; - this.match(BitloopsParser.Identifier); - this.state = 673; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - importAliasDeclaration() { - let localctx = new ImportAliasDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 94, BitloopsParser.RULE_importAliasDeclaration); - try { - this.enterOuterAlt(localctx, 1); - this.state = 674; - this.match(BitloopsParser.Identifier); - this.state = 675; - this.match(BitloopsParser.Assign); - this.state = 676; - this.namespaceName(); - this.state = 677; - this.match(BitloopsParser.SemiColon); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - decoratorList() { - let localctx = new DecoratorListContext(this, this._ctx, this.state); - this.enterRule(localctx, 96, BitloopsParser.RULE_decoratorList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 680; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 679; - this.decorator(); - this.state = 682; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===BitloopsParser.At); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - decorator() { - let localctx = new DecoratorContext(this, this._ctx, this.state); - this.enterRule(localctx, 98, BitloopsParser.RULE_decorator); - try { - this.enterOuterAlt(localctx, 1); - this.state = 684; - this.match(BitloopsParser.At); - this.state = 687; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,39,this._ctx); - switch(la_) { - case 1: - this.state = 685; - this.decoratorMemberExpression(0); - break; - - case 2: - this.state = 686; - this.decoratorCallExpression(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - decoratorMemberExpression(_p) { - if(_p===undefined) { - _p = 0; - } - const _parentctx = this._ctx; - const _parentState = this.state; - let localctx = new DecoratorMemberExpressionContext(this, this._ctx, _parentState); - let _prevctx = localctx; - const _startState = 100; - this.enterRecursionRule(localctx, 100, BitloopsParser.RULE_decoratorMemberExpression, _p); - try { - this.enterOuterAlt(localctx, 1); - this.state = 695; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.Identifier: - this.state = 690; - this.match(BitloopsParser.Identifier); - break; - case BitloopsParser.OpenParen: - this.state = 691; - this.match(BitloopsParser.OpenParen); - this.state = 692; - this.expression(0); - this.state = 693; - this.match(BitloopsParser.CloseParen); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this._ctx.stop = this._input.LT(-1); - this.state = 702; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,41,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - if(this._parseListeners!==null) { - this.triggerExitRuleEvent(); - } - _prevctx = localctx; - localctx = new DecoratorMemberExpressionContext(this, _parentctx, _parentState); - this.pushNewRecursionContext(localctx, _startState, BitloopsParser.RULE_decoratorMemberExpression); - this.state = 697; - if (!( this.precpred(this._ctx, 2))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 2)"); - } - this.state = 698; - this.match(BitloopsParser.Dot); - this.state = 699; - this.identifierName(); - } - this.state = 704; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,41,this._ctx); - } - - } catch( error) { - if(error instanceof antlr4.error.RecognitionException) { - localctx.exception = error; - this._errHandler.reportError(this, error); - this._errHandler.recover(this, error); - } else { - throw error; - } - } finally { - this.unrollRecursionContexts(_parentctx) - } - return localctx; - } - - - - decoratorCallExpression() { - let localctx = new DecoratorCallExpressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 102, BitloopsParser.RULE_decoratorCallExpression); - try { - this.enterOuterAlt(localctx, 1); - this.state = 705; - this.decoratorMemberExpression(0); - this.state = 706; - this.arguments(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - program() { - let localctx = new ProgramContext(this, this._ctx, this.state); - this.enterRule(localctx, 104, BitloopsParser.RULE_program); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 711; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(((((_la - 99)) & ~0x1f) == 0 && ((1 << (_la - 99)) & ((1 << (BitloopsParser.RepoPort - 99)) | (1 << (BitloopsParser.Props - 99)) | (1 << (BitloopsParser.ReadModel - 99)) | (1 << (BitloopsParser.DTO - 99)) | (1 << (BitloopsParser.RESTController - 99)) | (1 << (BitloopsParser.GraphQLController - 99)) | (1 << (BitloopsParser.UseCase - 99)) | (1 << (BitloopsParser.ValueObject - 99)) | (1 << (BitloopsParser.Entity - 99)) | (1 << (BitloopsParser.DomainError - 99)) | (1 << (BitloopsParser.ApplicationError - 99)) | (1 << (BitloopsParser.PackagePort - 99)) | (1 << (BitloopsParser.Rule - 99)) | (1 << (BitloopsParser.Root - 99)))) !== 0) || ((((_la - 149)) & ~0x1f) == 0 && ((1 << (_la - 149)) & ((1 << (BitloopsParser.Struct - 149)) | (1 << (BitloopsParser.JestTest - 149)) | (1 << (BitloopsParser.JestTestStatement - 149)) | (1 << (BitloopsParser.JestTestStatementList - 149)) | (1 << (BitloopsParser.JestTestFunctionBody - 149)) | (1 << (BitloopsParser.JestTestStructEvaluation - 149)) | (1 << (BitloopsParser.JestTestDTOEvaluation - 149)) | (1 << (BitloopsParser.JestTestEvaluation - 149)) | (1 << (BitloopsParser.JestTestReturnOkErrorType - 149)) | (1 << (BitloopsParser.JestTestExpression - 149)) | (1 << (BitloopsParser.JestTestConstDeclaration - 149)) | (1 << (BitloopsParser.JestTestMethodDefinitionList - 149)) | (1 << (BitloopsParser.JestTestCreateMethodDeclaration - 149)) | (1 << (BitloopsParser.JestTestPrivateMethodDeclaration - 149)) | (1 << (BitloopsParser.JestTestPublicMethodDeclaration - 149)) | (1 << (BitloopsParser.JestTestValueObjectDeclaration - 149)) | (1 << (BitloopsParser.JestTestEntityDeclaration - 149)) | (1 << (BitloopsParser.JestTestCondition - 149)) | (1 << (BitloopsParser.JestTestVariableDeclaration - 149)) | (1 << (BitloopsParser.JestTestIsInstanceOf - 149)) | (1 << (BitloopsParser.JestTestValueObjectEvaluation - 149)) | (1 << (BitloopsParser.JestTestEntityEvaluation - 149)))) !== 0) || ((((_la - 182)) & ~0x1f) == 0 && ((1 << (_la - 182)) & ((1 << (BitloopsParser.JestTestBuiltInFunction - 182)) | (1 << (BitloopsParser.JestTestBuiltInClass - 182)) | (1 << (BitloopsParser.JestTestBitloopsPrimaryType - 182)))) !== 0)) { - this.state = 708; - this.sourceElement(); - this.state = 713; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - sourceElement() { - let localctx = new SourceElementContext(this, this._ctx, this.state); - this.enterRule(localctx, 106, BitloopsParser.RULE_sourceElement); - try { - this.state = 729; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.DTO: - this.enterOuterAlt(localctx, 1); - this.state = 714; - this.dtoDeclaration(); - break; - case BitloopsParser.DomainError: - this.enterOuterAlt(localctx, 2); - this.state = 715; - this.domainErrorDeclaration(); - break; - case BitloopsParser.ApplicationError: - this.enterOuterAlt(localctx, 3); - this.state = 716; - this.applicationErrorDeclaration(); - break; - case BitloopsParser.RESTController: - case BitloopsParser.GraphQLController: - this.enterOuterAlt(localctx, 4); - this.state = 717; - this.controllerDeclaration(); - break; - case BitloopsParser.JestTest: - case BitloopsParser.JestTestStatement: - case BitloopsParser.JestTestStatementList: - case BitloopsParser.JestTestFunctionBody: - case BitloopsParser.JestTestStructEvaluation: - case BitloopsParser.JestTestDTOEvaluation: - case BitloopsParser.JestTestEvaluation: - case BitloopsParser.JestTestReturnOkErrorType: - case BitloopsParser.JestTestExpression: - case BitloopsParser.JestTestConstDeclaration: - case BitloopsParser.JestTestMethodDefinitionList: - case BitloopsParser.JestTestCreateMethodDeclaration: - case BitloopsParser.JestTestPrivateMethodDeclaration: - case BitloopsParser.JestTestPublicMethodDeclaration: - case BitloopsParser.JestTestValueObjectDeclaration: - case BitloopsParser.JestTestEntityDeclaration: - case BitloopsParser.JestTestCondition: - case BitloopsParser.JestTestVariableDeclaration: - case BitloopsParser.JestTestIsInstanceOf: - case BitloopsParser.JestTestValueObjectEvaluation: - case BitloopsParser.JestTestEntityEvaluation: - case BitloopsParser.JestTestBuiltInFunction: - case BitloopsParser.JestTestBuiltInClass: - case BitloopsParser.JestTestBitloopsPrimaryType: - this.enterOuterAlt(localctx, 5); - this.state = 718; - this.jestTestDeclaration(); - break; - case BitloopsParser.Props: - this.enterOuterAlt(localctx, 6); - this.state = 719; - this.propsDeclaration(); - break; - case BitloopsParser.Struct: - this.enterOuterAlt(localctx, 7); - this.state = 720; - this.structDeclaration(); - break; - case BitloopsParser.UseCase: - this.enterOuterAlt(localctx, 8); - this.state = 721; - this.useCaseDeclaration(); - break; - case BitloopsParser.PackagePort: - this.enterOuterAlt(localctx, 9); - this.state = 722; - this.packagePortDeclaration(); - break; - case BitloopsParser.ValueObject: - this.enterOuterAlt(localctx, 10); - this.state = 723; - this.valueObjectDeclaration(); - break; - case BitloopsParser.Rule: - this.enterOuterAlt(localctx, 11); - this.state = 724; - this.domainRuleDeclaration(); - break; - case BitloopsParser.Entity: - this.enterOuterAlt(localctx, 12); - this.state = 725; - this.entityDeclaration(); - break; - case BitloopsParser.Root: - this.enterOuterAlt(localctx, 13); - this.state = 726; - this.aggregateDeclaration(); - break; - case BitloopsParser.RepoPort: - this.enterOuterAlt(localctx, 14); - this.state = 727; - this.repoPortDeclaration(); - break; - case BitloopsParser.ReadModel: - this.enterOuterAlt(localctx, 15); - this.state = 728; - this.readModelDeclaration(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - jestTestDeclaration() { - let localctx = new JestTestDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 108, BitloopsParser.RULE_jestTestDeclaration); - var _la = 0; // Token type - try { - this.state = 924; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,71,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 731; - this.match(BitloopsParser.JestTestFunctionBody); - this.state = 732; - this.match(BitloopsParser.OpenBrace); - this.state = 733; - this.functionBody(); - this.state = 734; - this.match(BitloopsParser.CloseBrace); - this.state = 736; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 735; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 738; - this.match(BitloopsParser.JestTestStatementList); - this.state = 739; - this.match(BitloopsParser.OpenBrace); - this.state = 740; - this.statementList(); - this.state = 741; - this.match(BitloopsParser.CloseBrace); - this.state = 743; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 742; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 745; - this.match(BitloopsParser.JestTestStatement); - this.state = 746; - this.match(BitloopsParser.OpenBrace); - this.state = 747; - this.statement(); - this.state = 749; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 748; - this.match(BitloopsParser.SemiColon); - } - - this.state = 751; - this.match(BitloopsParser.CloseBrace); - this.state = 753; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 752; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 755; - this.match(BitloopsParser.JestTestStructEvaluation); - this.state = 756; - this.match(BitloopsParser.OpenBrace); - this.state = 757; - this.structEvaluation(); - this.state = 759; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 758; - this.match(BitloopsParser.SemiColon); - } - - this.state = 761; - this.match(BitloopsParser.CloseBrace); - this.state = 763; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 762; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 765; - this.match(BitloopsParser.JestTestDTOEvaluation); - this.state = 766; - this.match(BitloopsParser.OpenBrace); - this.state = 767; - this.dtoEvaluation(); - this.state = 769; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 768; - this.match(BitloopsParser.SemiColon); - } - - this.state = 771; - this.match(BitloopsParser.CloseBrace); - this.state = 773; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 772; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 775; - this.match(BitloopsParser.JestTestEvaluation); - this.state = 776; - this.match(BitloopsParser.OpenBrace); - this.state = 777; - this.evaluation(); - this.state = 779; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 778; - this.match(BitloopsParser.SemiColon); - } - - this.state = 781; - this.match(BitloopsParser.CloseBrace); - this.state = 783; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 782; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 785; - this.match(BitloopsParser.JestTestIsInstanceOf); - this.state = 786; - this.match(BitloopsParser.OpenBrace); - this.state = 787; - this.isInstanceOf(); - this.state = 788; - this.match(BitloopsParser.CloseBrace); - this.state = 790; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 789; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 792; - this.match(BitloopsParser.JestTest); - this.state = 793; - this.match(BitloopsParser.OpenBrace); - this.state = 794; - this.formalParameterList(); - this.state = 795; - this.match(BitloopsParser.CloseBrace); - this.state = 797; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 796; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 9: - this.enterOuterAlt(localctx, 9); - this.state = 799; - this.match(BitloopsParser.JestTest); - this.state = 800; - this.match(BitloopsParser.OpenBrace); - this.state = 801; - this.restControllerParameters(); - this.state = 802; - this.match(BitloopsParser.CloseBrace); - break; - - case 10: - this.enterOuterAlt(localctx, 10); - this.state = 804; - this.match(BitloopsParser.JestTest); - this.state = 805; - this.match(BitloopsParser.OpenBrace); - this.state = 806; - this.restControllerExecuteDeclaration(); - this.state = 807; - this.match(BitloopsParser.CloseBrace); - break; - - case 11: - this.enterOuterAlt(localctx, 11); - this.state = 809; - this.match(BitloopsParser.JestTest); - this.state = 810; - this.match(BitloopsParser.OpenBrace); - this.state = 811; - this.restControllerMethodDeclaration(); - this.state = 812; - this.match(BitloopsParser.CloseBrace); - break; - - case 12: - this.enterOuterAlt(localctx, 12); - this.state = 814; - this.match(BitloopsParser.JestTestBuiltInClass); - this.state = 815; - this.match(BitloopsParser.OpenBrace); - this.state = 816; - this.builtInClassEvaluation(); - this.state = 817; - this.match(BitloopsParser.CloseBrace); - break; - - case 13: - this.enterOuterAlt(localctx, 13); - this.state = 819; - this.match(BitloopsParser.JestTestReturnOkErrorType); - this.state = 820; - this.match(BitloopsParser.OpenBrace); - this.state = 821; - this.returnOkErrorType(); - this.state = 822; - this.match(BitloopsParser.CloseBrace); - this.state = 824; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 823; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 14: - this.enterOuterAlt(localctx, 14); - this.state = 826; - this.match(BitloopsParser.JestTestConstDeclaration); - this.state = 827; - this.match(BitloopsParser.OpenBrace); - this.state = 828; - this.constDeclaration(); - this.state = 829; - this.match(BitloopsParser.CloseBrace); - this.state = 831; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 830; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 15: - this.enterOuterAlt(localctx, 15); - this.state = 833; - this.match(BitloopsParser.JestTestExpression); - this.state = 834; - this.match(BitloopsParser.OpenBrace); - this.state = 835; - this.expression(0); - this.state = 836; - this.match(BitloopsParser.CloseBrace); - this.state = 838; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 837; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 16: - this.enterOuterAlt(localctx, 16); - this.state = 840; - this.match(BitloopsParser.JestTestMethodDefinitionList); - this.state = 841; - this.match(BitloopsParser.OpenBrace); - this.state = 842; - this.methodDefinitionList(); - this.state = 843; - this.match(BitloopsParser.CloseBrace); - this.state = 845; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 844; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 17: - this.enterOuterAlt(localctx, 17); - this.state = 847; - this.match(BitloopsParser.JestTestCreateMethodDeclaration); - this.state = 848; - this.match(BitloopsParser.OpenBrace); - this.state = 849; - this.domainConstructorDeclaration(); - this.state = 850; - this.match(BitloopsParser.CloseBrace); - this.state = 852; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 851; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 18: - this.enterOuterAlt(localctx, 18); - this.state = 854; - this.match(BitloopsParser.JestTestPrivateMethodDeclaration); - this.state = 855; - this.match(BitloopsParser.OpenBrace); - this.state = 856; - this.privateMethodDeclaration(); - this.state = 857; - this.match(BitloopsParser.CloseBrace); - this.state = 859; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 858; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 19: - this.enterOuterAlt(localctx, 19); - this.state = 861; - this.match(BitloopsParser.JestTestPublicMethodDeclaration); - this.state = 862; - this.match(BitloopsParser.OpenBrace); - this.state = 863; - this.publicMethodDeclaration(); - this.state = 864; - this.match(BitloopsParser.CloseBrace); - this.state = 866; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 865; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 20: - this.enterOuterAlt(localctx, 20); - this.state = 868; - this.match(BitloopsParser.JestTestValueObjectDeclaration); - this.state = 869; - this.match(BitloopsParser.OpenBrace); - this.state = 870; - this.valueObjectDeclaration(); - this.state = 871; - this.match(BitloopsParser.CloseBrace); - this.state = 873; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 872; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 21: - this.enterOuterAlt(localctx, 21); - this.state = 875; - this.match(BitloopsParser.JestTestEntityDeclaration); - this.state = 876; - this.match(BitloopsParser.OpenBrace); - this.state = 877; - this.entityDeclaration(); - this.state = 878; - this.match(BitloopsParser.CloseBrace); - this.state = 880; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 879; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 22: - this.enterOuterAlt(localctx, 22); - this.state = 882; - this.match(BitloopsParser.JestTestCondition); - this.state = 883; - this.match(BitloopsParser.OpenBrace); - this.state = 884; - this.condition(); - this.state = 885; - this.match(BitloopsParser.CloseBrace); - this.state = 887; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 886; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 23: - this.enterOuterAlt(localctx, 23); - this.state = 889; - this.match(BitloopsParser.JestTestVariableDeclaration); - this.state = 890; - this.match(BitloopsParser.OpenBrace); - this.state = 891; - this.variableDeclaration(); - this.state = 892; - this.match(BitloopsParser.CloseBrace); - this.state = 894; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 893; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 24: - this.enterOuterAlt(localctx, 24); - this.state = 896; - this.match(BitloopsParser.JestTestValueObjectEvaluation); - this.state = 897; - this.match(BitloopsParser.OpenBrace); - this.state = 898; - this.valueObjectEvaluation(); - this.state = 899; - this.match(BitloopsParser.CloseBrace); - this.state = 901; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 900; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 25: - this.enterOuterAlt(localctx, 25); - this.state = 903; - this.match(BitloopsParser.JestTestEntityEvaluation); - this.state = 904; - this.match(BitloopsParser.OpenBrace); - this.state = 905; - this.entityEvaluation(); - this.state = 906; - this.match(BitloopsParser.CloseBrace); - this.state = 908; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 907; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 26: - this.enterOuterAlt(localctx, 26); - this.state = 910; - this.match(BitloopsParser.JestTestBuiltInFunction); - this.state = 911; - this.match(BitloopsParser.OpenBrace); - this.state = 912; - this.builtInFunction(); - this.state = 913; - this.match(BitloopsParser.CloseBrace); - this.state = 915; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 914; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 27: - this.enterOuterAlt(localctx, 27); - this.state = 917; - this.match(BitloopsParser.JestTestBitloopsPrimaryType); - this.state = 918; - this.match(BitloopsParser.OpenBrace); - this.state = 919; - this.bitloopsPrimaryType(0); - this.state = 920; - this.match(BitloopsParser.CloseBrace); - this.state = 922; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 921; - this.match(BitloopsParser.SemiColon); - } - - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - errorEvaluation() { - let localctx = new ErrorEvaluationContext(this, this._ctx, this.state); - this.enterRule(localctx, 110, BitloopsParser.RULE_errorEvaluation); - try { - this.enterOuterAlt(localctx, 1); - this.state = 926; - this.match(BitloopsParser.ErrorIdentifier); - this.state = 927; - this.methodArguments(); - this.state = 929; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,72,this._ctx); - if(la_===1) { - this.state = 928; - this.match(BitloopsParser.SemiColon); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - evaluation() { - let localctx = new EvaluationContext(this, this._ctx, this.state); - this.enterRule(localctx, 112, BitloopsParser.RULE_evaluation); - try { - this.state = 939; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,73,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 931; - this.isInstanceOf(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 932; - this.builtInClassEvaluation(); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 933; - this.errorEvaluation(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 934; - this.dtoEvaluation(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 935; - this.valueObjectEvaluation(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 936; - this.entityEvaluation(); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 937; - this.propsEvaluation(); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 938; - this.structEvaluation(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - condition() { - let localctx = new ConditionContext(this, this._ctx, this.state); - this.enterRule(localctx, 114, BitloopsParser.RULE_condition); - try { - this.enterOuterAlt(localctx, 1); - this.state = 941; - this.expression(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - returnStatement() { - let localctx = new ReturnStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 116, BitloopsParser.RULE_returnStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 943; - this.match(BitloopsParser.Return); - this.state = 944; - this.expression(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - constDeclaration() { - let localctx = new ConstDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 118, BitloopsParser.RULE_constDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 946; - this.match(BitloopsParser.Const); - this.state = 947; - this.identifier(); - this.state = 949; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Colon) { - this.state = 948; - this.typeAnnotation(); - } - - this.state = 951; - this.match(BitloopsParser.Assign); - this.state = 952; - this.expression(0); - this.state = 954; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,75,this._ctx); - if(la_===1) { - this.state = 953; - this.match(BitloopsParser.SemiColon); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - variableDeclaration() { - let localctx = new VariableDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 120, BitloopsParser.RULE_variableDeclaration); - try { - this.enterOuterAlt(localctx, 1); - this.state = 956; - this.identifier(); - this.state = 957; - this.typeAnnotation(); - this.state = 958; - this.match(BitloopsParser.Assign); - this.state = 959; - this.expression(0); - this.state = 961; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,76,this._ctx); - if(la_===1) { - this.state = 960; - this.match(BitloopsParser.SemiColon); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - statement() { - let localctx = new StatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 122, BitloopsParser.RULE_statement); - try { - this.state = 979; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,77,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 963; - this.block(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 964; - this.expression(0); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 965; - this.constDeclaration(); - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 966; - this.variableDeclaration(); - break; - - case 5: - this.enterOuterAlt(localctx, 5); - this.state = 967; - this.emptyStatement_(); - break; - - case 6: - this.enterOuterAlt(localctx, 6); - this.state = 968; - this.propsDeclaration(); - break; - - case 7: - this.enterOuterAlt(localctx, 7); - this.state = 969; - this.namespaceDeclaration(); - break; - - case 8: - this.enterOuterAlt(localctx, 8); - this.state = 970; - this.ifStatement(); - break; - - case 9: - this.enterOuterAlt(localctx, 9); - this.state = 971; - this.breakStatement(); - break; - - case 10: - this.enterOuterAlt(localctx, 10); - this.state = 972; - this.switchStatement(); - break; - - case 11: - this.enterOuterAlt(localctx, 11); - this.state = 973; - this.iterationStatement(); - break; - - case 12: - this.enterOuterAlt(localctx, 12); - this.state = 974; - this.returnStatement(); - break; - - case 13: - this.enterOuterAlt(localctx, 13); - this.state = 975; - this.throwStatement(); - break; - - case 14: - this.enterOuterAlt(localctx, 14); - this.state = 976; - this.tryStatement(); - break; - - case 15: - this.enterOuterAlt(localctx, 15); - this.state = 977; - this.arrowFunctionDeclaration(); - break; - - case 16: - this.enterOuterAlt(localctx, 16); - this.state = 978; - this.builtInFunction(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - builtInFunction() { - let localctx = new BuiltInFunctionContext(this, this._ctx, this.state); - this.enterRule(localctx, 124, BitloopsParser.RULE_builtInFunction); - try { - localctx = new ApplyRulesStatementContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 981; - this.match(BitloopsParser.ApplyRules); - this.state = 982; - this.match(BitloopsParser.OpenParen); - this.state = 983; - this.applyRuleStatementRulesList(); - this.state = 984; - this.match(BitloopsParser.CloseParen); - this.state = 986; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,78,this._ctx); - if(la_===1) { - this.state = 985; - this.match(BitloopsParser.SemiColon); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - applyRuleStatementRulesList() { - let localctx = new ApplyRuleStatementRulesListContext(this, this._ctx, this.state); - this.enterRule(localctx, 126, BitloopsParser.RULE_applyRuleStatementRulesList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 988; - this.applyRulesRule(); - this.state = 993; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===BitloopsParser.Comma) { - this.state = 989; - this.match(BitloopsParser.Comma); - this.state = 990; - this.applyRulesRule(); - this.state = 995; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - applyRulesRule() { - let localctx = new ApplyRulesRuleContext(this, this._ctx, this.state); - this.enterRule(localctx, 128, BitloopsParser.RULE_applyRulesRule); - try { - this.enterOuterAlt(localctx, 1); - this.state = 996; - this.domainRuleIdentifier(); - this.state = 997; - this.arguments(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - block() { - let localctx = new BlockContext(this, this._ctx, this.state); - this.enterRule(localctx, 130, BitloopsParser.RULE_block); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 999; - this.match(BitloopsParser.OpenBrace); - this.state = 1001; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << BitloopsParser.RegularExpressionLiteral) | (1 << BitloopsParser.OpenBracket) | (1 << BitloopsParser.OpenParen) | (1 << BitloopsParser.OpenBrace) | (1 << BitloopsParser.SemiColon) | (1 << BitloopsParser.Not))) !== 0) || ((((_la - 56)) & ~0x1f) == 0 && ((1 << (_la - 56)) & ((1 << (BitloopsParser.NullLiteral - 56)) | (1 << (BitloopsParser.BooleanLiteral - 56)) | (1 << (BitloopsParser.IntegerLiteral - 56)) | (1 << (BitloopsParser.DecimalLiteral - 56)) | (1 << (BitloopsParser.Break - 56)) | (1 << (BitloopsParser.Do - 56)) | (1 << (BitloopsParser.Return - 56)) | (1 << (BitloopsParser.For - 56)) | (1 << (BitloopsParser.Switch - 56)) | (1 << (BitloopsParser.While - 56)) | (1 << (BitloopsParser.This - 56)) | (1 << (BitloopsParser.If - 56)) | (1 << (BitloopsParser.Throw - 56)))) !== 0) || ((((_la - 88)) & ~0x1f) == 0 && ((1 << (_la - 88)) & ((1 << (BitloopsParser.Delete - 88)) | (1 << (BitloopsParser.Try - 88)) | (1 << (BitloopsParser.Async - 88)) | (1 << (BitloopsParser.ApplyRules - 88)) | (1 << (BitloopsParser.Const - 88)) | (1 << (BitloopsParser.Props - 88)))) !== 0) || ((((_la - 153)) & ~0x1f) == 0 && ((1 << (_la - 153)) & ((1 << (BitloopsParser.Execute - 153)) | (1 << (BitloopsParser.Create - 153)) | (1 << (BitloopsParser.Namespace - 153)))) !== 0) || ((((_la - 185)) & ~0x1f) == 0 && ((1 << (_la - 185)) & ((1 << (BitloopsParser.UUIDv4 - 185)) | (1 << (BitloopsParser.DTOIdentifier - 185)) | (1 << (BitloopsParser.ValueObjectIdentifier - 185)) | (1 << (BitloopsParser.EntityIdentifier - 185)) | (1 << (BitloopsParser.ErrorIdentifier - 185)) | (1 << (BitloopsParser.UpperCaseIdentifier - 185)))) !== 0) || ((((_la - 217)) & ~0x1f) == 0 && ((1 << (_la - 217)) & ((1 << (BitloopsParser.Identifier - 217)) | (1 << (BitloopsParser.StringLiteral - 217)) | (1 << (BitloopsParser.BackTick - 217)))) !== 0)) { - this.state = 1000; - this.statementList(); - } - - this.state = 1003; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - statementList() { - let localctx = new StatementListContext(this, this._ctx, this.state); - this.enterRule(localctx, 132, BitloopsParser.RULE_statementList); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1006; - this._errHandler.sync(this); - var _alt = 1; - do { - switch (_alt) { - case 1: - this.state = 1005; - this.statement(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 1008; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,81, this._ctx); - } while ( _alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER ); - this.state = 1011; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,82,this._ctx); - if(la_===1) { - this.state = 1010; - this.match(BitloopsParser.SemiColon); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - fromBlock() { - let localctx = new FromBlockContext(this, this._ctx, this.state); - this.enterRule(localctx, 134, BitloopsParser.RULE_fromBlock); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1015; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.Multiply: - this.state = 1013; - this.match(BitloopsParser.Multiply); - break; - case BitloopsParser.OpenBrace: - case BitloopsParser.Identifier: - this.state = 1014; - this.multipleImportStatement(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 1019; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.As) { - this.state = 1017; - this.match(BitloopsParser.As); - this.state = 1018; - this.identifierName(); - } - - this.state = 1021; - this.match(BitloopsParser.From); - this.state = 1022; - this.match(BitloopsParser.StringLiteral); - this.state = 1023; - this.eos(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - multipleImportStatement() { - let localctx = new MultipleImportStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 136, BitloopsParser.RULE_multipleImportStatement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1028; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Identifier) { - this.state = 1025; - this.identifierName(); - this.state = 1026; - this.match(BitloopsParser.Comma); - } - - this.state = 1030; - this.match(BitloopsParser.OpenBrace); - this.state = 1031; - this.identifierName(); - this.state = 1036; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===BitloopsParser.Comma) { - this.state = 1032; - this.match(BitloopsParser.Comma); - this.state = 1033; - this.identifierName(); - this.state = 1038; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 1039; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - variableDeclarationList() { - let localctx = new VariableDeclarationListContext(this, this._ctx, this.state); - this.enterRule(localctx, 138, BitloopsParser.RULE_variableDeclarationList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1041; - this.variableDeclaration(); - this.state = 1046; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===BitloopsParser.Comma) { - this.state = 1042; - this.match(BitloopsParser.Comma); - this.state = 1043; - this.variableDeclaration(); - this.state = 1048; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - emptyStatement_() { - let localctx = new EmptyStatement_Context(this, this._ctx, this.state); - this.enterRule(localctx, 140, BitloopsParser.RULE_emptyStatement_); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1049; - this.match(BitloopsParser.SemiColon); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - expressionStatement() { - let localctx = new ExpressionStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 142, BitloopsParser.RULE_expressionStatement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1051; - this.expressionSequence(); - this.state = 1053; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1052; - this.match(BitloopsParser.SemiColon); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - ifStatement() { - let localctx = new IfStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 144, BitloopsParser.RULE_ifStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1055; - this.match(BitloopsParser.If); - this.state = 1056; - this.match(BitloopsParser.OpenParen); - this.state = 1057; - this.condition(); - this.state = 1058; - this.match(BitloopsParser.CloseParen); - this.state = 1059; - this.statement(); - this.state = 1062; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,89,this._ctx); - if(la_===1) { - this.state = 1060; - this.match(BitloopsParser.Else); - this.state = 1061; - this.statement(); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - iterationStatement() { - let localctx = new IterationStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 146, BitloopsParser.RULE_iterationStatement); - var _la = 0; // Token type - try { - this.state = 1135; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,99,this._ctx); - switch(la_) { - case 1: - localctx = new DoStatementContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1064; - this.match(BitloopsParser.Do); - this.state = 1065; - this.statement(); - this.state = 1066; - this.match(BitloopsParser.While); - this.state = 1067; - this.match(BitloopsParser.OpenParen); - this.state = 1068; - this.expressionSequence(); - this.state = 1069; - this.match(BitloopsParser.CloseParen); - this.state = 1070; - this.eos(); - break; - - case 2: - localctx = new WhileStatementContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1072; - this.match(BitloopsParser.While); - this.state = 1073; - this.match(BitloopsParser.OpenParen); - this.state = 1074; - this.expressionSequence(); - this.state = 1075; - this.match(BitloopsParser.CloseParen); - this.state = 1076; - this.statement(); - break; - - case 3: - localctx = new ForStatementContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 1078; - this.match(BitloopsParser.For); - this.state = 1079; - this.match(BitloopsParser.OpenParen); - this.state = 1081; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << BitloopsParser.RegularExpressionLiteral) | (1 << BitloopsParser.OpenBracket) | (1 << BitloopsParser.OpenParen) | (1 << BitloopsParser.OpenBrace) | (1 << BitloopsParser.Not))) !== 0) || ((((_la - 56)) & ~0x1f) == 0 && ((1 << (_la - 56)) & ((1 << (BitloopsParser.NullLiteral - 56)) | (1 << (BitloopsParser.BooleanLiteral - 56)) | (1 << (BitloopsParser.IntegerLiteral - 56)) | (1 << (BitloopsParser.DecimalLiteral - 56)) | (1 << (BitloopsParser.This - 56)))) !== 0) || _la===BitloopsParser.Delete || _la===BitloopsParser.Execute || _la===BitloopsParser.Create || ((((_la - 185)) & ~0x1f) == 0 && ((1 << (_la - 185)) & ((1 << (BitloopsParser.UUIDv4 - 185)) | (1 << (BitloopsParser.DTOIdentifier - 185)) | (1 << (BitloopsParser.ValueObjectIdentifier - 185)) | (1 << (BitloopsParser.EntityIdentifier - 185)) | (1 << (BitloopsParser.ErrorIdentifier - 185)) | (1 << (BitloopsParser.UpperCaseIdentifier - 185)))) !== 0) || ((((_la - 217)) & ~0x1f) == 0 && ((1 << (_la - 217)) & ((1 << (BitloopsParser.Identifier - 217)) | (1 << (BitloopsParser.StringLiteral - 217)) | (1 << (BitloopsParser.BackTick - 217)))) !== 0)) { - this.state = 1080; - this.expressionSequence(); - } - - this.state = 1083; - this.match(BitloopsParser.SemiColon); - this.state = 1085; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << BitloopsParser.RegularExpressionLiteral) | (1 << BitloopsParser.OpenBracket) | (1 << BitloopsParser.OpenParen) | (1 << BitloopsParser.OpenBrace) | (1 << BitloopsParser.Not))) !== 0) || ((((_la - 56)) & ~0x1f) == 0 && ((1 << (_la - 56)) & ((1 << (BitloopsParser.NullLiteral - 56)) | (1 << (BitloopsParser.BooleanLiteral - 56)) | (1 << (BitloopsParser.IntegerLiteral - 56)) | (1 << (BitloopsParser.DecimalLiteral - 56)) | (1 << (BitloopsParser.This - 56)))) !== 0) || _la===BitloopsParser.Delete || _la===BitloopsParser.Execute || _la===BitloopsParser.Create || ((((_la - 185)) & ~0x1f) == 0 && ((1 << (_la - 185)) & ((1 << (BitloopsParser.UUIDv4 - 185)) | (1 << (BitloopsParser.DTOIdentifier - 185)) | (1 << (BitloopsParser.ValueObjectIdentifier - 185)) | (1 << (BitloopsParser.EntityIdentifier - 185)) | (1 << (BitloopsParser.ErrorIdentifier - 185)) | (1 << (BitloopsParser.UpperCaseIdentifier - 185)))) !== 0) || ((((_la - 217)) & ~0x1f) == 0 && ((1 << (_la - 217)) & ((1 << (BitloopsParser.Identifier - 217)) | (1 << (BitloopsParser.StringLiteral - 217)) | (1 << (BitloopsParser.BackTick - 217)))) !== 0)) { - this.state = 1084; - this.expressionSequence(); - } - - this.state = 1087; - this.match(BitloopsParser.SemiColon); - this.state = 1089; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << BitloopsParser.RegularExpressionLiteral) | (1 << BitloopsParser.OpenBracket) | (1 << BitloopsParser.OpenParen) | (1 << BitloopsParser.OpenBrace) | (1 << BitloopsParser.Not))) !== 0) || ((((_la - 56)) & ~0x1f) == 0 && ((1 << (_la - 56)) & ((1 << (BitloopsParser.NullLiteral - 56)) | (1 << (BitloopsParser.BooleanLiteral - 56)) | (1 << (BitloopsParser.IntegerLiteral - 56)) | (1 << (BitloopsParser.DecimalLiteral - 56)) | (1 << (BitloopsParser.This - 56)))) !== 0) || _la===BitloopsParser.Delete || _la===BitloopsParser.Execute || _la===BitloopsParser.Create || ((((_la - 185)) & ~0x1f) == 0 && ((1 << (_la - 185)) & ((1 << (BitloopsParser.UUIDv4 - 185)) | (1 << (BitloopsParser.DTOIdentifier - 185)) | (1 << (BitloopsParser.ValueObjectIdentifier - 185)) | (1 << (BitloopsParser.EntityIdentifier - 185)) | (1 << (BitloopsParser.ErrorIdentifier - 185)) | (1 << (BitloopsParser.UpperCaseIdentifier - 185)))) !== 0) || ((((_la - 217)) & ~0x1f) == 0 && ((1 << (_la - 217)) & ((1 << (BitloopsParser.Identifier - 217)) | (1 << (BitloopsParser.StringLiteral - 217)) | (1 << (BitloopsParser.BackTick - 217)))) !== 0)) { - this.state = 1088; - this.expressionSequence(); - } - - this.state = 1091; - this.match(BitloopsParser.CloseParen); - this.state = 1092; - this.statement(); - break; - - case 4: - localctx = new ForVarStatementContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 1093; - this.match(BitloopsParser.For); - this.state = 1094; - this.match(BitloopsParser.OpenParen); - this.state = 1095; - this.varModifier(); - this.state = 1096; - this.variableDeclarationList(); - this.state = 1097; - this.match(BitloopsParser.SemiColon); - this.state = 1099; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << BitloopsParser.RegularExpressionLiteral) | (1 << BitloopsParser.OpenBracket) | (1 << BitloopsParser.OpenParen) | (1 << BitloopsParser.OpenBrace) | (1 << BitloopsParser.Not))) !== 0) || ((((_la - 56)) & ~0x1f) == 0 && ((1 << (_la - 56)) & ((1 << (BitloopsParser.NullLiteral - 56)) | (1 << (BitloopsParser.BooleanLiteral - 56)) | (1 << (BitloopsParser.IntegerLiteral - 56)) | (1 << (BitloopsParser.DecimalLiteral - 56)) | (1 << (BitloopsParser.This - 56)))) !== 0) || _la===BitloopsParser.Delete || _la===BitloopsParser.Execute || _la===BitloopsParser.Create || ((((_la - 185)) & ~0x1f) == 0 && ((1 << (_la - 185)) & ((1 << (BitloopsParser.UUIDv4 - 185)) | (1 << (BitloopsParser.DTOIdentifier - 185)) | (1 << (BitloopsParser.ValueObjectIdentifier - 185)) | (1 << (BitloopsParser.EntityIdentifier - 185)) | (1 << (BitloopsParser.ErrorIdentifier - 185)) | (1 << (BitloopsParser.UpperCaseIdentifier - 185)))) !== 0) || ((((_la - 217)) & ~0x1f) == 0 && ((1 << (_la - 217)) & ((1 << (BitloopsParser.Identifier - 217)) | (1 << (BitloopsParser.StringLiteral - 217)) | (1 << (BitloopsParser.BackTick - 217)))) !== 0)) { - this.state = 1098; - this.expressionSequence(); - } - - this.state = 1101; - this.match(BitloopsParser.SemiColon); - this.state = 1103; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << BitloopsParser.RegularExpressionLiteral) | (1 << BitloopsParser.OpenBracket) | (1 << BitloopsParser.OpenParen) | (1 << BitloopsParser.OpenBrace) | (1 << BitloopsParser.Not))) !== 0) || ((((_la - 56)) & ~0x1f) == 0 && ((1 << (_la - 56)) & ((1 << (BitloopsParser.NullLiteral - 56)) | (1 << (BitloopsParser.BooleanLiteral - 56)) | (1 << (BitloopsParser.IntegerLiteral - 56)) | (1 << (BitloopsParser.DecimalLiteral - 56)) | (1 << (BitloopsParser.This - 56)))) !== 0) || _la===BitloopsParser.Delete || _la===BitloopsParser.Execute || _la===BitloopsParser.Create || ((((_la - 185)) & ~0x1f) == 0 && ((1 << (_la - 185)) & ((1 << (BitloopsParser.UUIDv4 - 185)) | (1 << (BitloopsParser.DTOIdentifier - 185)) | (1 << (BitloopsParser.ValueObjectIdentifier - 185)) | (1 << (BitloopsParser.EntityIdentifier - 185)) | (1 << (BitloopsParser.ErrorIdentifier - 185)) | (1 << (BitloopsParser.UpperCaseIdentifier - 185)))) !== 0) || ((((_la - 217)) & ~0x1f) == 0 && ((1 << (_la - 217)) & ((1 << (BitloopsParser.Identifier - 217)) | (1 << (BitloopsParser.StringLiteral - 217)) | (1 << (BitloopsParser.BackTick - 217)))) !== 0)) { - this.state = 1102; - this.expressionSequence(); - } - - this.state = 1105; - this.match(BitloopsParser.CloseParen); - this.state = 1106; - this.statement(); - break; - - case 5: - localctx = new ForInStatementContext(this, localctx); - this.enterOuterAlt(localctx, 5); - this.state = 1108; - this.match(BitloopsParser.For); - this.state = 1109; - this.match(BitloopsParser.OpenParen); - this.state = 1110; - this.expression(0); - this.state = 1115; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.In: - this.state = 1111; - this.match(BitloopsParser.In); - break; - case BitloopsParser.RegularExpressionLiteral: - case BitloopsParser.OpenBracket: - case BitloopsParser.OpenParen: - case BitloopsParser.OpenBrace: - case BitloopsParser.Not: - case BitloopsParser.NullLiteral: - case BitloopsParser.BooleanLiteral: - case BitloopsParser.IntegerLiteral: - case BitloopsParser.DecimalLiteral: - case BitloopsParser.This: - case BitloopsParser.Delete: - case BitloopsParser.Execute: - case BitloopsParser.Create: - case BitloopsParser.UUIDv4: - case BitloopsParser.DTOIdentifier: - case BitloopsParser.ValueObjectIdentifier: - case BitloopsParser.EntityIdentifier: - case BitloopsParser.ErrorIdentifier: - case BitloopsParser.UpperCaseIdentifier: - case BitloopsParser.Identifier: - case BitloopsParser.StringLiteral: - case BitloopsParser.BackTick: - this.state = 1113; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,95,this._ctx); - if(la_===1) { - this.state = 1112; - this.match(BitloopsParser.Identifier); - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 1117; - this.expressionSequence(); - this.state = 1118; - this.match(BitloopsParser.CloseParen); - this.state = 1119; - this.statement(); - break; - - case 6: - localctx = new ForVarInStatementContext(this, localctx); - this.enterOuterAlt(localctx, 6); - this.state = 1121; - this.match(BitloopsParser.For); - this.state = 1122; - this.match(BitloopsParser.OpenParen); - this.state = 1123; - this.varModifier(); - this.state = 1124; - this.variableDeclaration(); - this.state = 1129; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.In: - this.state = 1125; - this.match(BitloopsParser.In); - break; - case BitloopsParser.RegularExpressionLiteral: - case BitloopsParser.OpenBracket: - case BitloopsParser.OpenParen: - case BitloopsParser.OpenBrace: - case BitloopsParser.Not: - case BitloopsParser.NullLiteral: - case BitloopsParser.BooleanLiteral: - case BitloopsParser.IntegerLiteral: - case BitloopsParser.DecimalLiteral: - case BitloopsParser.This: - case BitloopsParser.Delete: - case BitloopsParser.Execute: - case BitloopsParser.Create: - case BitloopsParser.UUIDv4: - case BitloopsParser.DTOIdentifier: - case BitloopsParser.ValueObjectIdentifier: - case BitloopsParser.EntityIdentifier: - case BitloopsParser.ErrorIdentifier: - case BitloopsParser.UpperCaseIdentifier: - case BitloopsParser.Identifier: - case BitloopsParser.StringLiteral: - case BitloopsParser.BackTick: - this.state = 1127; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,97,this._ctx); - if(la_===1) { - this.state = 1126; - this.match(BitloopsParser.Identifier); - - } - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 1131; - this.expressionSequence(); - this.state = 1132; - this.match(BitloopsParser.CloseParen); - this.state = 1133; - this.statement(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - varModifier() { - let localctx = new VarModifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 148, BitloopsParser.RULE_varModifier); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1137; - _la = this._input.LA(1); - if(!(_la===BitloopsParser.Var || _la===BitloopsParser.Const || _la===BitloopsParser.Let)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - continueStatement() { - let localctx = new ContinueStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 150, BitloopsParser.RULE_continueStatement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1139; - this.match(BitloopsParser.Continue); - this.state = 1141; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Identifier) { - this.state = 1140; - this.match(BitloopsParser.Identifier); - } - - this.state = 1143; - this.eos(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - breakStatement() { - let localctx = new BreakStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 152, BitloopsParser.RULE_breakStatement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1145; - this.match(BitloopsParser.Break); - this.state = 1147; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Identifier) { - this.state = 1146; - this.match(BitloopsParser.Identifier); - } - - this.state = 1149; - this.eos(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - withStatement() { - let localctx = new WithStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 154, BitloopsParser.RULE_withStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1151; - this.match(BitloopsParser.With); - this.state = 1152; - this.match(BitloopsParser.OpenParen); - this.state = 1153; - this.expressionSequence(); - this.state = 1154; - this.match(BitloopsParser.CloseParen); - this.state = 1155; - this.statement(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - switchStatement() { - let localctx = new SwitchStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 156, BitloopsParser.RULE_switchStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1157; - this.match(BitloopsParser.Switch); - this.state = 1158; - this.match(BitloopsParser.OpenParen); - this.state = 1159; - this.condition(); - this.state = 1160; - this.match(BitloopsParser.CloseParen); - this.state = 1161; - this.caseBlock(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - caseBlock() { - let localctx = new CaseBlockContext(this, this._ctx, this.state); - this.enterRule(localctx, 158, BitloopsParser.RULE_caseBlock); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1163; - this.match(BitloopsParser.OpenBrace); - this.state = 1165; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Case) { - this.state = 1164; - this.caseClauses(); - } - - this.state = 1167; - this.defaultClause(); - this.state = 1169; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Case) { - this.state = 1168; - this.caseClauses(); - } - - this.state = 1171; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - caseClauses() { - let localctx = new CaseClausesContext(this, this._ctx, this.state); - this.enterRule(localctx, 160, BitloopsParser.RULE_caseClauses); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1174; - this._errHandler.sync(this); - _la = this._input.LA(1); - do { - this.state = 1173; - this.caseClause(); - this.state = 1176; - this._errHandler.sync(this); - _la = this._input.LA(1); - } while(_la===BitloopsParser.Case); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - caseClause() { - let localctx = new CaseClauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 162, BitloopsParser.RULE_caseClause); - var _la = 0; // Token type - try { - this.state = 1198; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,109,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1178; - this.match(BitloopsParser.Case); - this.state = 1179; - this.expression(0); - this.state = 1180; - this.match(BitloopsParser.Colon); - this.state = 1181; - this.match(BitloopsParser.OpenBrace); - this.state = 1183; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << BitloopsParser.RegularExpressionLiteral) | (1 << BitloopsParser.OpenBracket) | (1 << BitloopsParser.OpenParen) | (1 << BitloopsParser.OpenBrace) | (1 << BitloopsParser.SemiColon) | (1 << BitloopsParser.Not))) !== 0) || ((((_la - 56)) & ~0x1f) == 0 && ((1 << (_la - 56)) & ((1 << (BitloopsParser.NullLiteral - 56)) | (1 << (BitloopsParser.BooleanLiteral - 56)) | (1 << (BitloopsParser.IntegerLiteral - 56)) | (1 << (BitloopsParser.DecimalLiteral - 56)) | (1 << (BitloopsParser.Break - 56)) | (1 << (BitloopsParser.Do - 56)) | (1 << (BitloopsParser.Return - 56)) | (1 << (BitloopsParser.For - 56)) | (1 << (BitloopsParser.Switch - 56)) | (1 << (BitloopsParser.While - 56)) | (1 << (BitloopsParser.This - 56)) | (1 << (BitloopsParser.If - 56)) | (1 << (BitloopsParser.Throw - 56)))) !== 0) || ((((_la - 88)) & ~0x1f) == 0 && ((1 << (_la - 88)) & ((1 << (BitloopsParser.Delete - 88)) | (1 << (BitloopsParser.Try - 88)) | (1 << (BitloopsParser.Async - 88)) | (1 << (BitloopsParser.ApplyRules - 88)) | (1 << (BitloopsParser.Const - 88)) | (1 << (BitloopsParser.Props - 88)))) !== 0) || ((((_la - 153)) & ~0x1f) == 0 && ((1 << (_la - 153)) & ((1 << (BitloopsParser.Execute - 153)) | (1 << (BitloopsParser.Create - 153)) | (1 << (BitloopsParser.Namespace - 153)))) !== 0) || ((((_la - 185)) & ~0x1f) == 0 && ((1 << (_la - 185)) & ((1 << (BitloopsParser.UUIDv4 - 185)) | (1 << (BitloopsParser.DTOIdentifier - 185)) | (1 << (BitloopsParser.ValueObjectIdentifier - 185)) | (1 << (BitloopsParser.EntityIdentifier - 185)) | (1 << (BitloopsParser.ErrorIdentifier - 185)) | (1 << (BitloopsParser.UpperCaseIdentifier - 185)))) !== 0) || ((((_la - 217)) & ~0x1f) == 0 && ((1 << (_la - 217)) & ((1 << (BitloopsParser.Identifier - 217)) | (1 << (BitloopsParser.StringLiteral - 217)) | (1 << (BitloopsParser.BackTick - 217)))) !== 0)) { - this.state = 1182; - this.statementList(); - } - - this.state = 1185; - this.match(BitloopsParser.CloseBrace); - this.state = 1187; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1186; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1189; - this.match(BitloopsParser.Case); - this.state = 1190; - this.expression(0); - this.state = 1191; - this.match(BitloopsParser.Colon); - this.state = 1193; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,107,this._ctx); - if(la_===1) { - this.state = 1192; - this.statementList(); - - } - this.state = 1196; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1195; - this.match(BitloopsParser.SemiColon); - } - - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - defaultClause() { - let localctx = new DefaultClauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 164, BitloopsParser.RULE_defaultClause); - var _la = 0; // Token type - try { - this.state = 1218; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,114,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1200; - this.match(BitloopsParser.Default); - this.state = 1201; - this.match(BitloopsParser.Colon); - this.state = 1202; - this.match(BitloopsParser.OpenBrace); - this.state = 1204; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << BitloopsParser.RegularExpressionLiteral) | (1 << BitloopsParser.OpenBracket) | (1 << BitloopsParser.OpenParen) | (1 << BitloopsParser.OpenBrace) | (1 << BitloopsParser.SemiColon) | (1 << BitloopsParser.Not))) !== 0) || ((((_la - 56)) & ~0x1f) == 0 && ((1 << (_la - 56)) & ((1 << (BitloopsParser.NullLiteral - 56)) | (1 << (BitloopsParser.BooleanLiteral - 56)) | (1 << (BitloopsParser.IntegerLiteral - 56)) | (1 << (BitloopsParser.DecimalLiteral - 56)) | (1 << (BitloopsParser.Break - 56)) | (1 << (BitloopsParser.Do - 56)) | (1 << (BitloopsParser.Return - 56)) | (1 << (BitloopsParser.For - 56)) | (1 << (BitloopsParser.Switch - 56)) | (1 << (BitloopsParser.While - 56)) | (1 << (BitloopsParser.This - 56)) | (1 << (BitloopsParser.If - 56)) | (1 << (BitloopsParser.Throw - 56)))) !== 0) || ((((_la - 88)) & ~0x1f) == 0 && ((1 << (_la - 88)) & ((1 << (BitloopsParser.Delete - 88)) | (1 << (BitloopsParser.Try - 88)) | (1 << (BitloopsParser.Async - 88)) | (1 << (BitloopsParser.ApplyRules - 88)) | (1 << (BitloopsParser.Const - 88)) | (1 << (BitloopsParser.Props - 88)))) !== 0) || ((((_la - 153)) & ~0x1f) == 0 && ((1 << (_la - 153)) & ((1 << (BitloopsParser.Execute - 153)) | (1 << (BitloopsParser.Create - 153)) | (1 << (BitloopsParser.Namespace - 153)))) !== 0) || ((((_la - 185)) & ~0x1f) == 0 && ((1 << (_la - 185)) & ((1 << (BitloopsParser.UUIDv4 - 185)) | (1 << (BitloopsParser.DTOIdentifier - 185)) | (1 << (BitloopsParser.ValueObjectIdentifier - 185)) | (1 << (BitloopsParser.EntityIdentifier - 185)) | (1 << (BitloopsParser.ErrorIdentifier - 185)) | (1 << (BitloopsParser.UpperCaseIdentifier - 185)))) !== 0) || ((((_la - 217)) & ~0x1f) == 0 && ((1 << (_la - 217)) & ((1 << (BitloopsParser.Identifier - 217)) | (1 << (BitloopsParser.StringLiteral - 217)) | (1 << (BitloopsParser.BackTick - 217)))) !== 0)) { - this.state = 1203; - this.statementList(); - } - - this.state = 1206; - this.match(BitloopsParser.CloseBrace); - this.state = 1208; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1207; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1210; - this.match(BitloopsParser.Default); - this.state = 1211; - this.match(BitloopsParser.Colon); - this.state = 1213; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,112,this._ctx); - if(la_===1) { - this.state = 1212; - this.statementList(); - - } - this.state = 1216; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1215; - this.match(BitloopsParser.SemiColon); - } - - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - labelledStatement() { - let localctx = new LabelledStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 166, BitloopsParser.RULE_labelledStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1220; - this.match(BitloopsParser.Identifier); - this.state = 1221; - this.match(BitloopsParser.Colon); - this.state = 1222; - this.statement(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - throwStatement() { - let localctx = new ThrowStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 168, BitloopsParser.RULE_throwStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1224; - this.match(BitloopsParser.Throw); - this.state = 1225; - this.expressionSequence(); - this.state = 1226; - this.eos(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - tryStatement() { - let localctx = new TryStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 170, BitloopsParser.RULE_tryStatement); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1228; - this.match(BitloopsParser.Try); - this.state = 1229; - this.block(); - this.state = 1235; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.Catch: - this.state = 1230; - this.catchProduction(); - this.state = 1232; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Finally) { - this.state = 1231; - this.finallyProduction(); - } - - break; - case BitloopsParser.Finally: - this.state = 1234; - this.finallyProduction(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - catchProduction() { - let localctx = new CatchProductionContext(this, this._ctx, this.state); - this.enterRule(localctx, 172, BitloopsParser.RULE_catchProduction); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1237; - this.match(BitloopsParser.Catch); - this.state = 1238; - this.match(BitloopsParser.OpenParen); - this.state = 1239; - this.match(BitloopsParser.Identifier); - this.state = 1240; - this.match(BitloopsParser.CloseParen); - this.state = 1241; - this.block(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - finallyProduction() { - let localctx = new FinallyProductionContext(this, this._ctx, this.state); - this.enterRule(localctx, 174, BitloopsParser.RULE_finallyProduction); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1243; - this.match(BitloopsParser.Finally); - this.state = 1244; - this.block(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - debuggerStatement() { - let localctx = new DebuggerStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 176, BitloopsParser.RULE_debuggerStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1246; - this.match(BitloopsParser.Debugger); - this.state = 1247; - this.eos(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - domainFieldDeclaration() { - let localctx = new DomainFieldDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 178, BitloopsParser.RULE_domainFieldDeclaration); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1249; - this.fieldList(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - isBrokenStatement() { - let localctx = new IsBrokenStatementContext(this, this._ctx, this.state); - this.enterRule(localctx, 180, BitloopsParser.RULE_isBrokenStatement); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1251; - this.match(BitloopsParser.IsBrokenIf); - this.state = 1252; - this.match(BitloopsParser.OpenParen); - this.state = 1253; - this.expression(0); - this.state = 1254; - this.match(BitloopsParser.CloseParen); - this.state = 1255; - this.match(BitloopsParser.SemiColon); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - domainRuleBody() { - let localctx = new DomainRuleBodyContext(this, this._ctx, this.state); - this.enterRule(localctx, 182, BitloopsParser.RULE_domainRuleBody); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1257; - this.functionBody(); - this.state = 1258; - this.isBrokenStatement(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - domainRuleDeclaration() { - let localctx = new DomainRuleDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 184, BitloopsParser.RULE_domainRuleDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1260; - this.match(BitloopsParser.Rule); - this.state = 1261; - this.domainRuleIdentifier(); - this.state = 1263; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.OpenParen) { - this.state = 1262; - this.formalParameterList(); - } - - this.state = 1265; - this.match(BitloopsParser.Throws); - this.state = 1266; - this.match(BitloopsParser.ErrorIdentifier); - this.state = 1267; - this.match(BitloopsParser.OpenBrace); - this.state = 1268; - this.domainRuleBody(); - this.state = 1269; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - aggregateDeclaration() { - let localctx = new AggregateDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 186, BitloopsParser.RULE_aggregateDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1271; - this.match(BitloopsParser.Root); - this.state = 1272; - this.match(BitloopsParser.Entity); - this.state = 1273; - this.entityIdentifier(); - this.state = 1274; - this.entityBody(); - this.state = 1276; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1275; - this.match(BitloopsParser.SemiColon); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - domainConstDeclaration() { - let localctx = new DomainConstDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 188, BitloopsParser.RULE_domainConstDeclaration); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1278; - this.constDeclaration(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - entityDeclaration() { - let localctx = new EntityDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 190, BitloopsParser.RULE_entityDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1280; - this.match(BitloopsParser.Entity); - this.state = 1281; - this.entityIdentifier(); - this.state = 1282; - this.entityBody(); - this.state = 1284; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1283; - this.match(BitloopsParser.SemiColon); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - entityBody() { - let localctx = new EntityBodyContext(this, this._ctx, this.state); - this.enterRule(localctx, 192, BitloopsParser.RULE_entityBody); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1286; - this.match(BitloopsParser.OpenBrace); - this.state = 1287; - this.domainConstDeclarationList(); - this.state = 1288; - this.domainConstructorDeclaration(); - this.state = 1289; - this.publicMethodDeclarationList(); - this.state = 1290; - this.privateMethodDeclarationList(); - this.state = 1291; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - valueObjectDeclaration() { - let localctx = new ValueObjectDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 194, BitloopsParser.RULE_valueObjectDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1293; - this.match(BitloopsParser.ValueObject); - this.state = 1294; - this.valueObjectIdentifier(); - this.state = 1295; - this.match(BitloopsParser.OpenBrace); - this.state = 1296; - this.domainConstDeclarationList(); - this.state = 1297; - this.domainConstructorDeclaration(); - this.state = 1298; - this.privateMethodDeclarationList(); - this.state = 1299; - this.match(BitloopsParser.CloseBrace); - this.state = 1301; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1300; - this.match(BitloopsParser.SemiColon); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - domainConstDeclarationList() { - let localctx = new DomainConstDeclarationListContext(this, this._ctx, this.state); - this.enterRule(localctx, 196, BitloopsParser.RULE_domainConstDeclarationList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1306; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===BitloopsParser.Const) { - this.state = 1303; - this.domainConstDeclaration(); - this.state = 1308; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - publicMethodDeclarationList() { - let localctx = new PublicMethodDeclarationListContext(this, this._ctx, this.state); - this.enterRule(localctx, 198, BitloopsParser.RULE_publicMethodDeclarationList); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1312; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,122,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 1309; - this.publicMethodDeclaration(); - } - this.state = 1314; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,122,this._ctx); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - privateMethodDeclarationList() { - let localctx = new PrivateMethodDeclarationListContext(this, this._ctx, this.state); - this.enterRule(localctx, 200, BitloopsParser.RULE_privateMethodDeclarationList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1318; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===BitloopsParser.Private || _la===BitloopsParser.Identifier) { - this.state = 1315; - this.privateMethodDeclaration(); - this.state = 1320; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - domainConstructorDeclaration() { - let localctx = new DomainConstructorDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 202, BitloopsParser.RULE_domainConstructorDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1321; - this.match(BitloopsParser.Constructor); - this.state = 1323; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.OpenParen) { - this.state = 1322; - this.formalParameterList(); - } - - this.state = 1325; - this.match(BitloopsParser.Colon); - this.state = 1326; - this.returnOkErrorType(); - this.state = 1327; - this.match(BitloopsParser.OpenBrace); - this.state = 1328; - this.functionBody(); - this.state = 1329; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - useCaseIdentifier() { - let localctx = new UseCaseIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 204, BitloopsParser.RULE_useCaseIdentifier); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1331; - this.match(BitloopsParser.UseCaseIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - useCaseDeclaration() { - let localctx = new UseCaseDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 206, BitloopsParser.RULE_useCaseDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1333; - this.match(BitloopsParser.UseCase); - this.state = 1334; - this.useCaseIdentifier(); - this.state = 1336; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.OpenParen) { - this.state = 1335; - this.formalParameterList(); - } - - this.state = 1338; - this.match(BitloopsParser.OpenBrace); - this.state = 1339; - this.useCaseExecuteDeclaration(); - this.state = 1340; - this.match(BitloopsParser.CloseBrace); - this.state = 1342; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1341; - this.match(BitloopsParser.SemiColon); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - propsDeclaration() { - let localctx = new PropsDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 208, BitloopsParser.RULE_propsDeclaration); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1344; - this.match(BitloopsParser.Props); - this.state = 1345; - this.match(BitloopsParser.PropsIdentifier); - this.state = 1346; - this.match(BitloopsParser.OpenBrace); - this.state = 1347; - this.fieldList(); - this.state = 1348; - this.match(BitloopsParser.CloseBrace); - this.state = 1350; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,127,this._ctx); - if(la_===1) { - this.state = 1349; - this.match(BitloopsParser.SemiColon); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - readModelDeclaration() { - let localctx = new ReadModelDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 210, BitloopsParser.RULE_readModelDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1352; - this.match(BitloopsParser.ReadModel); - this.state = 1353; - this.match(BitloopsParser.ReadModelIdentifier); - this.state = 1354; - this.match(BitloopsParser.OpenBrace); - this.state = 1355; - this.fieldList(); - this.state = 1356; - this.match(BitloopsParser.CloseBrace); - this.state = 1358; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1357; - this.match(BitloopsParser.SemiColon); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - repoPortDeclaration() { - let localctx = new RepoPortDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 212, BitloopsParser.RULE_repoPortDeclaration); - var _la = 0; // Token type - try { - this.state = 1398; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,133,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1360; - this.match(BitloopsParser.RepoPort); - this.state = 1361; - this.repoPortIdentifier(); - this.state = 1362; - this.match(BitloopsParser.LessThan); - this.state = 1363; - this.match(BitloopsParser.ReadModelIdentifier); - this.state = 1364; - this.match(BitloopsParser.MoreThan); - this.state = 1365; - this.repoExtendsList(); - this.state = 1367; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1366; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1369; - this.match(BitloopsParser.RepoPort); - this.state = 1370; - this.repoPortIdentifier(); - this.state = 1371; - this.match(BitloopsParser.LessThan); - this.state = 1372; - this.match(BitloopsParser.ReadModelIdentifier); - this.state = 1373; - this.match(BitloopsParser.MoreThan); - this.state = 1374; - this.repoExtendsList(); - this.state = 1375; - this.repoPortMethodDefinitions(); - this.state = 1377; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1376; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 1379; - this.match(BitloopsParser.RepoPort); - this.state = 1380; - this.repoPortIdentifier(); - this.state = 1381; - this.match(BitloopsParser.LessThan); - this.state = 1382; - this.aggregateRootIdentifier(); - this.state = 1383; - this.match(BitloopsParser.MoreThan); - this.state = 1384; - this.repoExtendsList(); - this.state = 1386; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1385; - this.match(BitloopsParser.SemiColon); - } - - break; - - case 4: - this.enterOuterAlt(localctx, 4); - this.state = 1388; - this.match(BitloopsParser.RepoPort); - this.state = 1389; - this.repoPortIdentifier(); - this.state = 1390; - this.match(BitloopsParser.LessThan); - this.state = 1391; - this.aggregateRootIdentifier(); - this.state = 1392; - this.match(BitloopsParser.MoreThan); - this.state = 1393; - this.repoExtendsList(); - this.state = 1394; - this.repoPortMethodDefinitions(); - this.state = 1396; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1395; - this.match(BitloopsParser.SemiColon); - } - - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - repoPortIdentifier() { - let localctx = new RepoPortIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 214, BitloopsParser.RULE_repoPortIdentifier); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1400; - this.match(BitloopsParser.RepoPortIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - aggregateRootIdentifier() { - let localctx = new AggregateRootIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 216, BitloopsParser.RULE_aggregateRootIdentifier); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1402; - _la = this._input.LA(1); - if(!(((((_la - 205)) & ~0x1f) == 0 && ((1 << (_la - 205)) & ((1 << (BitloopsParser.EntityIdentifier - 205)) | (1 << (BitloopsParser.ReadModelIdentifier - 205)) | (1 << (BitloopsParser.UpperCaseIdentifier - 205)) | (1 << (BitloopsParser.Identifier - 205)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - repoExtendsList() { - let localctx = new RepoExtendsListContext(this, this._ctx, this.state); - this.enterRule(localctx, 218, BitloopsParser.RULE_repoExtendsList); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1404; - this.match(BitloopsParser.Extends); - this.state = 1405; - this.repoPortExtendableIdentifierList(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - repoPortMethodDefinitions() { - let localctx = new RepoPortMethodDefinitionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 220, BitloopsParser.RULE_repoPortMethodDefinitions); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1407; - this.match(BitloopsParser.OpenBrace); - this.state = 1408; - this.methodDefinitionList(); - this.state = 1409; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - repoPortExtendableIdentifierList() { - let localctx = new RepoPortExtendableIdentifierListContext(this, this._ctx, this.state); - this.enterRule(localctx, 222, BitloopsParser.RULE_repoPortExtendableIdentifierList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1411; - this.repoPortExtendableIdentifier(); - this.state = 1416; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===BitloopsParser.Comma) { - this.state = 1412; - this.match(BitloopsParser.Comma); - - this.state = 1413; - this.repoPortExtendableIdentifier(); - this.state = 1418; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - repoPortExtendableIdentifier() { - let localctx = new RepoPortExtendableIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 224, BitloopsParser.RULE_repoPortExtendableIdentifier); - try { - this.state = 1425; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,135,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1419; - this.match(BitloopsParser.RepoPortIdentifier); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1420; - this.match(BitloopsParser.UpperCaseIdentifier); - break; - - case 3: - this.enterOuterAlt(localctx, 3); - this.state = 1421; - this.match(BitloopsParser.UpperCaseIdentifier); - this.state = 1422; - this.match(BitloopsParser.LessThan); - this.state = 1423; - this.match(BitloopsParser.UpperCaseIdentifier); - this.state = 1424; - this.match(BitloopsParser.MoreThan); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - dtoDeclaration() { - let localctx = new DtoDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 226, BitloopsParser.RULE_dtoDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1427; - this.match(BitloopsParser.DTO); - this.state = 1428; - this.match(BitloopsParser.DTOIdentifier); - this.state = 1429; - this.match(BitloopsParser.OpenBrace); - this.state = 1430; - this.fieldList(); - this.state = 1431; - this.match(BitloopsParser.CloseBrace); - this.state = 1433; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1432; - this.match(BitloopsParser.SemiColon); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - structDeclaration() { - let localctx = new StructDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 228, BitloopsParser.RULE_structDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1435; - this.match(BitloopsParser.Struct); - this.state = 1436; - this.match(BitloopsParser.UpperCaseIdentifier); - this.state = 1437; - this.match(BitloopsParser.OpenBrace); - this.state = 1438; - this.fieldList(); - this.state = 1439; - this.match(BitloopsParser.CloseBrace); - this.state = 1441; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1440; - this.match(BitloopsParser.SemiColon); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - dtoEvaluationIdentifier() { - let localctx = new DtoEvaluationIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 230, BitloopsParser.RULE_dtoEvaluationIdentifier); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1443; - this.dtoIdentifier(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - dtoEvaluation() { - let localctx = new DtoEvaluationContext(this, this._ctx, this.state); - this.enterRule(localctx, 232, BitloopsParser.RULE_dtoEvaluation); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1445; - this.dtoEvaluationIdentifier(); - this.state = 1446; - this.match(BitloopsParser.OpenParen); - this.state = 1447; - this.match(BitloopsParser.OpenBrace); - this.state = 1448; - this.evaluationFieldList(); - this.state = 1449; - this.match(BitloopsParser.CloseBrace); - this.state = 1450; - this.match(BitloopsParser.CloseParen); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - valueObjectEvaluation() { - let localctx = new ValueObjectEvaluationContext(this, this._ctx, this.state); - this.enterRule(localctx, 234, BitloopsParser.RULE_valueObjectEvaluation); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1452; - this.valueObjectIdentifier(); - this.state = 1453; - this.domainEvaluationInput(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - domainEvaluationInput() { - let localctx = new DomainEvaluationInputContext(this, this._ctx, this.state); - this.enterRule(localctx, 236, BitloopsParser.RULE_domainEvaluationInput); - try { - this.state = 1465; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,138,this._ctx); - switch(la_) { - case 1: - localctx = new DomainEvaluationInputFieldListContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1455; - this.match(BitloopsParser.OpenParen); - this.state = 1456; - this.match(BitloopsParser.OpenBrace); - this.state = 1457; - this.evaluationFieldList(); - this.state = 1458; - this.match(BitloopsParser.CloseBrace); - this.state = 1459; - this.match(BitloopsParser.CloseParen); - break; - - case 2: - localctx = new DomainEvaluationInputRegularContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1461; - this.match(BitloopsParser.OpenParen); - this.state = 1462; - this.expression(0); - this.state = 1463; - this.match(BitloopsParser.CloseParen); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - entityEvaluation() { - let localctx = new EntityEvaluationContext(this, this._ctx, this.state); - this.enterRule(localctx, 238, BitloopsParser.RULE_entityEvaluation); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1467; - this.entityIdentifier(); - this.state = 1468; - this.domainEvaluationInput(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - structEvaluationIdentifier() { - let localctx = new StructEvaluationIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 240, BitloopsParser.RULE_structEvaluationIdentifier); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1470; - this.match(BitloopsParser.UpperCaseIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - structEvaluation() { - let localctx = new StructEvaluationContext(this, this._ctx, this.state); - this.enterRule(localctx, 242, BitloopsParser.RULE_structEvaluation); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1472; - this.structEvaluationIdentifier(); - this.state = 1473; - this.match(BitloopsParser.OpenParen); - this.state = 1474; - this.match(BitloopsParser.OpenBrace); - this.state = 1475; - this.evaluationFieldList(); - this.state = 1476; - this.match(BitloopsParser.CloseBrace); - this.state = 1477; - this.match(BitloopsParser.CloseParen); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - builtInClassEvaluation() { - let localctx = new BuiltInClassEvaluationContext(this, this._ctx, this.state); - this.enterRule(localctx, 244, BitloopsParser.RULE_builtInClassEvaluation); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1479; - this.bitloopsBuiltInClass(); - this.state = 1482; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Dot) { - this.state = 1480; - this.match(BitloopsParser.Dot); - this.state = 1481; - this.identifier(); - } - - this.state = 1484; - this.methodArguments(); - this.state = 1486; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,140,this._ctx); - if(la_===1) { - this.state = 1485; - this.match(BitloopsParser.SemiColon); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - propsEvaluation() { - let localctx = new PropsEvaluationContext(this, this._ctx, this.state); - this.enterRule(localctx, 246, BitloopsParser.RULE_propsEvaluation); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1488; - this.match(BitloopsParser.OpenBrace); - this.state = 1489; - this.match(BitloopsParser.OpenParen); - this.state = 1490; - this.propsIdentifier(); - - this.state = 1491; - this.evaluationFieldList(); - this.state = 1492; - this.match(BitloopsParser.CloseBrace); - this.state = 1493; - this.match(BitloopsParser.CloseParen); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - domainErrorDeclaration() { - let localctx = new DomainErrorDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 248, BitloopsParser.RULE_domainErrorDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1495; - this.match(BitloopsParser.DomainError); - this.state = 1496; - this.domainErrorIdentifier(); - this.state = 1498; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.OpenParen) { - this.state = 1497; - this.formalParameterList(); - } - - this.state = 1500; - this.match(BitloopsParser.OpenBrace); - this.state = 1502; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Identifier) { - this.state = 1501; - this.evaluationFieldList(); - } - - this.state = 1504; - this.match(BitloopsParser.CloseBrace); - this.state = 1506; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1505; - this.match(BitloopsParser.SemiColon); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - applicationErrorDeclaration() { - let localctx = new ApplicationErrorDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 250, BitloopsParser.RULE_applicationErrorDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1508; - this.match(BitloopsParser.ApplicationError); - this.state = 1509; - this.applicationErrorIdentifier(); - this.state = 1511; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.OpenParen) { - this.state = 1510; - this.formalParameterList(); - } - - this.state = 1513; - this.match(BitloopsParser.OpenBrace); - this.state = 1515; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Identifier) { - this.state = 1514; - this.evaluationFieldList(); - } - - this.state = 1517; - this.match(BitloopsParser.CloseBrace); - this.state = 1519; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1518; - this.match(BitloopsParser.SemiColon); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - domainErrorIdentifier() { - let localctx = new DomainErrorIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 252, BitloopsParser.RULE_domainErrorIdentifier); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1521; - this.match(BitloopsParser.DomainErrorIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - applicationErrorIdentifier() { - let localctx = new ApplicationErrorIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 254, BitloopsParser.RULE_applicationErrorIdentifier); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1523; - this.match(BitloopsParser.DomainErrorIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - useCaseExecuteDeclaration() { - let localctx = new UseCaseExecuteDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 256, BitloopsParser.RULE_useCaseExecuteDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1525; - this.match(BitloopsParser.Execute); - this.state = 1527; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.OpenParen) { - this.state = 1526; - this.formalParameterList(); - } - - this.state = 1529; - this.match(BitloopsParser.Colon); - this.state = 1530; - this.returnOkErrorType(); - this.state = 1531; - this.match(BitloopsParser.OpenBrace); - this.state = 1532; - this.functionBody(); - this.state = 1533; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - restControllerParameters() { - let localctx = new RestControllerParametersContext(this, this._ctx, this.state); - this.enterRule(localctx, 258, BitloopsParser.RULE_restControllerParameters); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1535; - this.match(BitloopsParser.Identifier); - this.state = 1536; - this.match(BitloopsParser.Comma); - this.state = 1537; - this.match(BitloopsParser.Identifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - restControllerExecuteDeclaration() { - let localctx = new RestControllerExecuteDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 260, BitloopsParser.RULE_restControllerExecuteDeclaration); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1539; - this.match(BitloopsParser.Execute); - this.state = 1540; - this.match(BitloopsParser.OpenParen); - this.state = 1541; - this.restControllerParameters(); - this.state = 1542; - this.match(BitloopsParser.CloseParen); - this.state = 1543; - this.match(BitloopsParser.OpenBrace); - this.state = 1544; - this.functionBody(); - this.state = 1545; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - restControllerMethodDeclaration() { - let localctx = new RestControllerMethodDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 262, BitloopsParser.RULE_restControllerMethodDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1547; - this.match(BitloopsParser.Method); - this.state = 1548; - this.match(BitloopsParser.Colon); - this.state = 1549; - this.httpMethod(); - this.state = 1551; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1550; - this.match(BitloopsParser.SemiColon); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - httpMethod() { - let localctx = new HttpMethodContext(this, this._ctx, this.state); - this.enterRule(localctx, 264, BitloopsParser.RULE_httpMethod); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1553; - _la = this._input.LA(1); - if(!(((((_la - 191)) & ~0x1f) == 0 && ((1 << (_la - 191)) & ((1 << (BitloopsParser.MethodGet - 191)) | (1 << (BitloopsParser.MethodPost - 191)) | (1 << (BitloopsParser.MethodPut - 191)) | (1 << (BitloopsParser.MethodPatch - 191)) | (1 << (BitloopsParser.MethodDelete - 191)) | (1 << (BitloopsParser.MethodOptions - 191)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - controllerDeclaration() { - let localctx = new ControllerDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 266, BitloopsParser.RULE_controllerDeclaration); - var _la = 0; // Token type - try { - this.state = 1575; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.RESTController: - localctx = new RESTControllerDeclarationContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1555; - this.match(BitloopsParser.RESTController); - this.state = 1556; - this.match(BitloopsParser.ControllerIdentifier); - this.state = 1557; - this.formalParameterList(); - this.state = 1558; - this.match(BitloopsParser.OpenBrace); - this.state = 1559; - this.restControllerMethodDeclaration(); - this.state = 1560; - this.restControllerExecuteDeclaration(); - this.state = 1561; - this.match(BitloopsParser.CloseBrace); - this.state = 1563; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1562; - this.match(BitloopsParser.SemiColon); - } - - break; - case BitloopsParser.GraphQLController: - localctx = new GraphQLControllerDeclarationContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1565; - this.match(BitloopsParser.GraphQLController); - this.state = 1566; - this.match(BitloopsParser.ControllerIdentifier); - this.state = 1567; - this.formalParameterList(); - this.state = 1568; - this.match(BitloopsParser.OpenBrace); - this.state = 1569; - this.graphQLResolverOptions(); - this.state = 1570; - this.graphQLControllerExecuteDeclaration(); - this.state = 1571; - this.match(BitloopsParser.CloseBrace); - this.state = 1573; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.SemiColon) { - this.state = 1572; - this.match(BitloopsParser.SemiColon); - } - - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - graphQLResolverOptions() { - let localctx = new GraphQLResolverOptionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 268, BitloopsParser.RULE_graphQLResolverOptions); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1577; - this.graphQLOperationTypeAssignment(); - this.state = 1579; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Input) { - this.state = 1578; - this.graphQLOperationInputTypeAssignment(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - graphQLOperationTypeAssignment() { - let localctx = new GraphQLOperationTypeAssignmentContext(this, this._ctx, this.state); - this.enterRule(localctx, 270, BitloopsParser.RULE_graphQLOperationTypeAssignment); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1581; - this.match(BitloopsParser.GraphQLOperation); - this.state = 1582; - this.match(BitloopsParser.Colon); - this.state = 1583; - this.graphQLOperation(); - this.state = 1584; - this.match(BitloopsParser.SemiColon); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - graphQLOperationInputTypeAssignment() { - let localctx = new GraphQLOperationInputTypeAssignmentContext(this, this._ctx, this.state); - this.enterRule(localctx, 272, BitloopsParser.RULE_graphQLOperationInputTypeAssignment); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1586; - this.match(BitloopsParser.Input); - this.state = 1587; - this.match(BitloopsParser.Colon); - this.state = 1588; - this.graphQLResolverInputType(); - this.state = 1589; - this.match(BitloopsParser.SemiColon); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - graphQLResolverInputType() { - let localctx = new GraphQLResolverInputTypeContext(this, this._ctx, this.state); - this.enterRule(localctx, 274, BitloopsParser.RULE_graphQLResolverInputType); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1591; - this.match(BitloopsParser.DTOIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - graphQLOperation() { - let localctx = new GraphQLOperationContext(this, this._ctx, this.state); - this.enterRule(localctx, 276, BitloopsParser.RULE_graphQLOperation); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1593; - _la = this._input.LA(1); - if(!(((((_la - 199)) & ~0x1f) == 0 && ((1 << (_la - 199)) & ((1 << (BitloopsParser.OperationMutation - 199)) | (1 << (BitloopsParser.OperationQuery - 199)) | (1 << (BitloopsParser.OperationSubscription - 199)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - graphQLControllerExecuteDeclaration() { - let localctx = new GraphQLControllerExecuteDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 278, BitloopsParser.RULE_graphQLControllerExecuteDeclaration); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1595; - this.match(BitloopsParser.Execute); - this.state = 1596; - this.match(BitloopsParser.OpenParen); - this.state = 1597; - this.graphQLControllerParameters(); - this.state = 1598; - this.match(BitloopsParser.CloseParen); - this.state = 1599; - this.match(BitloopsParser.Colon); - this.state = 1600; - this.graphQLControllerReturnType(); - this.state = 1601; - this.match(BitloopsParser.OpenBrace); - this.state = 1602; - this.functionBody(); - this.state = 1603; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - graphQLControllerParameters() { - let localctx = new GraphQLControllerParametersContext(this, this._ctx, this.state); - this.enterRule(localctx, 280, BitloopsParser.RULE_graphQLControllerParameters); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1605; - this.match(BitloopsParser.Identifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - graphQLControllerReturnType() { - let localctx = new GraphQLControllerReturnTypeContext(this, this._ctx, this.state); - this.enterRule(localctx, 282, BitloopsParser.RULE_graphQLControllerReturnType); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1607; - this.match(BitloopsParser.DTOIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - dtoIdentifier() { - let localctx = new DtoIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 284, BitloopsParser.RULE_dtoIdentifier); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1609; - this.match(BitloopsParser.DTOIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - dtoIdentifiers() { - let localctx = new DtoIdentifiersContext(this, this._ctx, this.state); - this.enterRule(localctx, 286, BitloopsParser.RULE_dtoIdentifiers); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1611; - this.dtoIdentifier(); - this.state = 1616; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===BitloopsParser.BitOr) { - this.state = 1612; - this.match(BitloopsParser.BitOr); - this.state = 1613; - this.dtoIdentifier(); - this.state = 1618; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - errorIdentifier() { - let localctx = new ErrorIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 288, BitloopsParser.RULE_errorIdentifier); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1619; - this.match(BitloopsParser.ErrorIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - errorIdentifiers() { - let localctx = new ErrorIdentifiersContext(this, this._ctx, this.state); - this.enterRule(localctx, 290, BitloopsParser.RULE_errorIdentifiers); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1621; - this.errorIdentifier(); - this.state = 1626; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===BitloopsParser.BitOr) { - this.state = 1622; - this.match(BitloopsParser.BitOr); - this.state = 1623; - this.errorIdentifier(); - this.state = 1628; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - valueObjectIdentifier() { - let localctx = new ValueObjectIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 292, BitloopsParser.RULE_valueObjectIdentifier); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1629; - this.match(BitloopsParser.ValueObjectIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - entityIdentifier() { - let localctx = new EntityIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 294, BitloopsParser.RULE_entityIdentifier); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1631; - this.match(BitloopsParser.EntityIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - domainRuleIdentifier() { - let localctx = new DomainRuleIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 296, BitloopsParser.RULE_domainRuleIdentifier); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1633; - this.match(BitloopsParser.RuleIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - returnOkType() { - let localctx = new ReturnOkTypeContext(this, this._ctx, this.state); - this.enterRule(localctx, 298, BitloopsParser.RULE_returnOkType); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1635; - this.match(BitloopsParser.OK); - this.state = 1636; - this.match(BitloopsParser.OpenParen); - this.state = 1637; - this.bitloopsPrimaryType(0); - this.state = 1638; - this.match(BitloopsParser.CloseParen); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - returnErrorsType() { - let localctx = new ReturnErrorsTypeContext(this, this._ctx, this.state); - this.enterRule(localctx, 300, BitloopsParser.RULE_returnErrorsType); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1640; - this.match(BitloopsParser.Errors); - this.state = 1641; - this.match(BitloopsParser.OpenParen); - this.state = 1643; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.ErrorIdentifier) { - this.state = 1642; - this.errorIdentifiers(); - } - - this.state = 1645; - this.match(BitloopsParser.CloseParen); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - returnOkErrorType() { - let localctx = new ReturnOkErrorTypeContext(this, this._ctx, this.state); - this.enterRule(localctx, 302, BitloopsParser.RULE_returnOkErrorType); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1647; - this.match(BitloopsParser.OpenParen); - this.state = 1648; - this.returnOkType(); - this.state = 1649; - this.match(BitloopsParser.Comma); - this.state = 1650; - this.returnErrorsType(); - this.state = 1651; - this.match(BitloopsParser.CloseParen); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - packagePortIdentifier() { - let localctx = new PackagePortIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 304, BitloopsParser.RULE_packagePortIdentifier); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1653; - this.match(BitloopsParser.PackagePortIdentifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - packagePortDeclaration() { - let localctx = new PackagePortDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 306, BitloopsParser.RULE_packagePortDeclaration); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1655; - this.match(BitloopsParser.PackagePort); - this.state = 1656; - this.packagePortIdentifier(); - this.state = 1657; - this.match(BitloopsParser.OpenBrace); - this.state = 1658; - this.methodDefinitionList(); - this.state = 1659; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - methodDeclaration() { - let localctx = new MethodDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 308, BitloopsParser.RULE_methodDeclaration); - try { - this.state = 1663; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,156,this._ctx); - switch(la_) { - case 1: - localctx = new PublicMethodDeclarationExpressionContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1661; - this.publicMethodDeclaration(); - break; - - case 2: - localctx = new PrivateMethodDeclarationExpressionContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1662; - this.privateMethodDeclaration(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - privateMethodDeclaration() { - let localctx = new PrivateMethodDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 310, BitloopsParser.RULE_privateMethodDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1666; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Private) { - this.state = 1665; - this.match(BitloopsParser.Private); - } - - this.state = 1668; - this.identifier(); - this.state = 1670; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.OpenParen) { - this.state = 1669; - this.formalParameterList(); - } - - this.state = 1672; - this.returnPrivateMethodType(); - this.state = 1673; - this.match(BitloopsParser.OpenBrace); - this.state = 1674; - this.functionBody(); - this.state = 1675; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - publicMethodDeclaration() { - let localctx = new PublicMethodDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 312, BitloopsParser.RULE_publicMethodDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1678; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Public) { - this.state = 1677; - this.match(BitloopsParser.Public); - } - - this.state = 1680; - this.identifier(); - this.state = 1682; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.OpenParen) { - this.state = 1681; - this.formalParameterList(); - } - - this.state = 1684; - this.returnPublicMethodType(); - this.state = 1685; - this.match(BitloopsParser.OpenBrace); - this.state = 1686; - this.functionBody(); - this.state = 1687; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - returnPublicMethodType() { - let localctx = new ReturnPublicMethodTypeContext(this, this._ctx, this.state); - this.enterRule(localctx, 314, BitloopsParser.RULE_returnPublicMethodType); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1689; - this.match(BitloopsParser.Colon); - this.state = 1690; - this.returnOkErrorType(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - returnPrivateMethodType() { - let localctx = new ReturnPrivateMethodTypeContext(this, this._ctx, this.state); - this.enterRule(localctx, 316, BitloopsParser.RULE_returnPrivateMethodType); - try { - this.state = 1695; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,161,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1692; - this.typeAnnotation(); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1693; - this.match(BitloopsParser.Colon); - this.state = 1694; - this.returnOkErrorType(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - propertyMemberBase() { - let localctx = new PropertyMemberBaseContext(this, this._ctx, this.state); - this.enterRule(localctx, 318, BitloopsParser.RULE_propertyMemberBase); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1698; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Private || _la===BitloopsParser.Public) { - this.state = 1697; - this.accessibilityModifier(); - } - - this.state = 1701; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Static) { - this.state = 1700; - this.match(BitloopsParser.Static); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - indexMemberDeclaration() { - let localctx = new IndexMemberDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 320, BitloopsParser.RULE_indexMemberDeclaration); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1703; - this.indexSignature(); - this.state = 1704; - this.match(BitloopsParser.SemiColon); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - generatorMethod() { - let localctx = new GeneratorMethodContext(this, this._ctx, this.state); - this.enterRule(localctx, 322, BitloopsParser.RULE_generatorMethod); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1707; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Multiply) { - this.state = 1706; - this.match(BitloopsParser.Multiply); - } - - this.state = 1709; - this.match(BitloopsParser.Identifier); - this.state = 1710; - this.match(BitloopsParser.OpenParen); - this.state = 1712; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.OpenParen) { - this.state = 1711; - this.formalParameterList(); - } - - this.state = 1714; - this.match(BitloopsParser.CloseParen); - this.state = 1715; - this.match(BitloopsParser.OpenBrace); - this.state = 1716; - this.functionBody(); - this.state = 1717; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - generatorFunctionDeclaration() { - let localctx = new GeneratorFunctionDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 324, BitloopsParser.RULE_generatorFunctionDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1719; - this.match(BitloopsParser.Function_); - this.state = 1720; - this.match(BitloopsParser.Multiply); - this.state = 1722; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Identifier) { - this.state = 1721; - this.match(BitloopsParser.Identifier); - } - - this.state = 1724; - this.match(BitloopsParser.OpenParen); - this.state = 1726; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.OpenParen) { - this.state = 1725; - this.formalParameterList(); - } - - this.state = 1728; - this.match(BitloopsParser.CloseParen); - this.state = 1729; - this.match(BitloopsParser.OpenBrace); - this.state = 1730; - this.functionBody(); - this.state = 1731; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - generatorBlock() { - let localctx = new GeneratorBlockContext(this, this._ctx, this.state); - this.enterRule(localctx, 326, BitloopsParser.RULE_generatorBlock); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1733; - this.match(BitloopsParser.OpenBrace); - this.state = 1734; - this.generatorDefinition(); - this.state = 1739; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,168,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 1735; - this.match(BitloopsParser.Comma); - this.state = 1736; - this.generatorDefinition(); - } - this.state = 1741; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,168,this._ctx); - } - - this.state = 1743; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Comma) { - this.state = 1742; - this.match(BitloopsParser.Comma); - } - - this.state = 1745; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - generatorDefinition() { - let localctx = new GeneratorDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 328, BitloopsParser.RULE_generatorDefinition); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1747; - this.match(BitloopsParser.Multiply); - this.state = 1748; - this.iteratorDefinition(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - iteratorBlock() { - let localctx = new IteratorBlockContext(this, this._ctx, this.state); - this.enterRule(localctx, 330, BitloopsParser.RULE_iteratorBlock); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1750; - this.match(BitloopsParser.OpenBrace); - this.state = 1751; - this.iteratorDefinition(); - this.state = 1756; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,170,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 1752; - this.match(BitloopsParser.Comma); - this.state = 1753; - this.iteratorDefinition(); - } - this.state = 1758; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,170,this._ctx); - } - - this.state = 1760; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Comma) { - this.state = 1759; - this.match(BitloopsParser.Comma); - } - - this.state = 1762; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - iteratorDefinition() { - let localctx = new IteratorDefinitionContext(this, this._ctx, this.state); - this.enterRule(localctx, 332, BitloopsParser.RULE_iteratorDefinition); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1764; - this.match(BitloopsParser.OpenBracket); - this.state = 1765; - this.expression(0); - this.state = 1766; - this.match(BitloopsParser.CloseBracket); - this.state = 1767; - this.match(BitloopsParser.OpenParen); - this.state = 1769; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.OpenParen) { - this.state = 1768; - this.formalParameterList(); - } - - this.state = 1771; - this.match(BitloopsParser.CloseParen); - this.state = 1772; - this.match(BitloopsParser.OpenBrace); - this.state = 1773; - this.functionBody(); - this.state = 1774; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - formalParameterList() { - let localctx = new FormalParameterListContext(this, this._ctx, this.state); - this.enterRule(localctx, 334, BitloopsParser.RULE_formalParameterList); - var _la = 0; // Token type - try { - this.state = 1795; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,176,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 1776; - this.match(BitloopsParser.OpenParen); - this.state = 1777; - this.match(BitloopsParser.CloseParen); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 1778; - this.match(BitloopsParser.OpenParen); - this.state = 1792; - this._errHandler.sync(this); - switch (this._input.LA(1)) { - case BitloopsParser.Private: - case BitloopsParser.Public: - case BitloopsParser.TypeAlias: - case BitloopsParser.At: - case BitloopsParser.Identifier: - this.state = 1779; - this.formalParameterArg(); - this.state = 1784; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,173,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 1780; - this.match(BitloopsParser.Comma); - this.state = 1781; - this.formalParameterArg(); - } - this.state = 1786; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,173,this._ctx); - } - - this.state = 1789; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Comma) { - this.state = 1787; - this.match(BitloopsParser.Comma); - this.state = 1788; - this.lastFormalParameterArg(); - } - - break; - case BitloopsParser.Ellipsis: - this.state = 1791; - this.lastFormalParameterArg(); - break; - case BitloopsParser.CloseParen: - break; - default: - break; - } - this.state = 1794; - this.match(BitloopsParser.CloseParen); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - formalParameterArg() { - let localctx = new FormalParameterArgContext(this, this._ctx, this.state); - this.enterRule(localctx, 336, BitloopsParser.RULE_formalParameterArg); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1798; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.At) { - this.state = 1797; - this.decorator(); - } - - this.state = 1801; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Private || _la===BitloopsParser.Public) { - this.state = 1800; - this.accessibilityModifier(); - } - - this.state = 1803; - this.identifierOrKeyWord(); - this.state = 1805; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Colon) { - this.state = 1804; - this.typeAnnotation(); - } - - this.state = 1809; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Assign) { - this.state = 1807; - this.match(BitloopsParser.Assign); - this.state = 1808; - this.expression(0); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - lastFormalParameterArg() { - let localctx = new LastFormalParameterArgContext(this, this._ctx, this.state); - this.enterRule(localctx, 338, BitloopsParser.RULE_lastFormalParameterArg); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1811; - this.match(BitloopsParser.Ellipsis); - this.state = 1812; - this.match(BitloopsParser.Identifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - functionBody() { - let localctx = new FunctionBodyContext(this, this._ctx, this.state); - this.enterRule(localctx, 340, BitloopsParser.RULE_functionBody); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1815; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << BitloopsParser.RegularExpressionLiteral) | (1 << BitloopsParser.OpenBracket) | (1 << BitloopsParser.OpenParen) | (1 << BitloopsParser.OpenBrace) | (1 << BitloopsParser.SemiColon) | (1 << BitloopsParser.Not))) !== 0) || ((((_la - 56)) & ~0x1f) == 0 && ((1 << (_la - 56)) & ((1 << (BitloopsParser.NullLiteral - 56)) | (1 << (BitloopsParser.BooleanLiteral - 56)) | (1 << (BitloopsParser.IntegerLiteral - 56)) | (1 << (BitloopsParser.DecimalLiteral - 56)) | (1 << (BitloopsParser.Break - 56)) | (1 << (BitloopsParser.Do - 56)) | (1 << (BitloopsParser.Return - 56)) | (1 << (BitloopsParser.For - 56)) | (1 << (BitloopsParser.Switch - 56)) | (1 << (BitloopsParser.While - 56)) | (1 << (BitloopsParser.This - 56)) | (1 << (BitloopsParser.If - 56)) | (1 << (BitloopsParser.Throw - 56)))) !== 0) || ((((_la - 88)) & ~0x1f) == 0 && ((1 << (_la - 88)) & ((1 << (BitloopsParser.Delete - 88)) | (1 << (BitloopsParser.Try - 88)) | (1 << (BitloopsParser.Async - 88)) | (1 << (BitloopsParser.ApplyRules - 88)) | (1 << (BitloopsParser.Const - 88)) | (1 << (BitloopsParser.Props - 88)))) !== 0) || ((((_la - 153)) & ~0x1f) == 0 && ((1 << (_la - 153)) & ((1 << (BitloopsParser.Execute - 153)) | (1 << (BitloopsParser.Create - 153)) | (1 << (BitloopsParser.Namespace - 153)))) !== 0) || ((((_la - 185)) & ~0x1f) == 0 && ((1 << (_la - 185)) & ((1 << (BitloopsParser.UUIDv4 - 185)) | (1 << (BitloopsParser.DTOIdentifier - 185)) | (1 << (BitloopsParser.ValueObjectIdentifier - 185)) | (1 << (BitloopsParser.EntityIdentifier - 185)) | (1 << (BitloopsParser.ErrorIdentifier - 185)) | (1 << (BitloopsParser.UpperCaseIdentifier - 185)))) !== 0) || ((((_la - 217)) & ~0x1f) == 0 && ((1 << (_la - 217)) & ((1 << (BitloopsParser.Identifier - 217)) | (1 << (BitloopsParser.StringLiteral - 217)) | (1 << (BitloopsParser.BackTick - 217)))) !== 0)) { - this.state = 1814; - this.statementList(); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - arrayLiteral() { - let localctx = new ArrayLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 342, BitloopsParser.RULE_arrayLiteral); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1817; - this.match(BitloopsParser.OpenBracket); - this.state = 1819; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << BitloopsParser.RegularExpressionLiteral) | (1 << BitloopsParser.OpenBracket) | (1 << BitloopsParser.OpenParen) | (1 << BitloopsParser.OpenBrace) | (1 << BitloopsParser.Not))) !== 0) || ((((_la - 56)) & ~0x1f) == 0 && ((1 << (_la - 56)) & ((1 << (BitloopsParser.NullLiteral - 56)) | (1 << (BitloopsParser.BooleanLiteral - 56)) | (1 << (BitloopsParser.IntegerLiteral - 56)) | (1 << (BitloopsParser.DecimalLiteral - 56)) | (1 << (BitloopsParser.This - 56)))) !== 0) || _la===BitloopsParser.Delete || _la===BitloopsParser.Execute || _la===BitloopsParser.Create || ((((_la - 185)) & ~0x1f) == 0 && ((1 << (_la - 185)) & ((1 << (BitloopsParser.UUIDv4 - 185)) | (1 << (BitloopsParser.DTOIdentifier - 185)) | (1 << (BitloopsParser.ValueObjectIdentifier - 185)) | (1 << (BitloopsParser.EntityIdentifier - 185)) | (1 << (BitloopsParser.ErrorIdentifier - 185)) | (1 << (BitloopsParser.UpperCaseIdentifier - 185)))) !== 0) || ((((_la - 217)) & ~0x1f) == 0 && ((1 << (_la - 217)) & ((1 << (BitloopsParser.Identifier - 217)) | (1 << (BitloopsParser.StringLiteral - 217)) | (1 << (BitloopsParser.BackTick - 217)))) !== 0)) { - this.state = 1818; - this.elementList(); - } - - this.state = 1821; - this.match(BitloopsParser.CloseBracket); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - elementList() { - let localctx = new ElementListContext(this, this._ctx, this.state); - this.enterRule(localctx, 344, BitloopsParser.RULE_elementList); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1823; - this.expression(0); - this.state = 1828; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===BitloopsParser.Comma) { - this.state = 1824; - this.match(BitloopsParser.Comma); - this.state = 1825; - this.expression(0); - this.state = 1830; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - objectLiteral() { - let localctx = new ObjectLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 346, BitloopsParser.RULE_objectLiteral); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1831; - this.match(BitloopsParser.OpenBrace); - this.state = 1843; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << BitloopsParser.OpenBracket) | (1 << BitloopsParser.Ellipsis) | (1 << BitloopsParser.Multiply))) !== 0) || _la===BitloopsParser.IntegerLiteral || _la===BitloopsParser.DecimalLiteral || ((((_la - 150)) & ~0x1f) == 0 && ((1 << (_la - 150)) & ((1 << (BitloopsParser.TypeAlias - 150)) | (1 << (BitloopsParser.Get - 150)) | (1 << (BitloopsParser.Set - 150)))) !== 0) || _la===BitloopsParser.Identifier || _la===BitloopsParser.StringLiteral) { - this.state = 1832; - this.propertyAssignment(); - this.state = 1837; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,184,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 1833; - this.match(BitloopsParser.Comma); - this.state = 1834; - this.propertyAssignment(); - } - this.state = 1839; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,184,this._ctx); - } - - this.state = 1841; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Comma) { - this.state = 1840; - this.match(BitloopsParser.Comma); - } - - } - - this.state = 1845; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - regularVariableEvaluationORliteralORexpression() { - let localctx = new RegularVariableEvaluationORliteralORexpressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 348, BitloopsParser.RULE_regularVariableEvaluationORliteralORexpression); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1847; - this.expression(0); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - propertyAssignment() { - let localctx = new PropertyAssignmentContext(this, this._ctx, this.state); - this.enterRule(localctx, 350, BitloopsParser.RULE_propertyAssignment); - var _la = 0; // Token type - try { - this.state = 1864; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,187,this._ctx); - switch(la_) { - case 1: - localctx = new PropertyExpressionAssignmentContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 1849; - this.propertyName(); - this.state = 1850; - _la = this._input.LA(1); - if(!(_la===BitloopsParser.Assign || _la===BitloopsParser.Colon)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1851; - this.regularVariableEvaluationORliteralORexpression(); - break; - - case 2: - localctx = new ComputedPropertyExpressionAssignmentContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 1853; - this.match(BitloopsParser.OpenBracket); - this.state = 1854; - this.regularVariableEvaluationORliteralORexpression(); - this.state = 1855; - this.match(BitloopsParser.CloseBracket); - this.state = 1856; - this.match(BitloopsParser.Colon); - this.state = 1857; - this.regularVariableEvaluationORliteralORexpression(); - break; - - case 3: - localctx = new PropertyGetterContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 1859; - this.getAccessor(); - break; - - case 4: - localctx = new PropertySetterContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 1860; - this.setAccessor(); - break; - - case 5: - localctx = new MethodPropertyContext(this, localctx); - this.enterOuterAlt(localctx, 5); - this.state = 1861; - this.generatorMethod(); - break; - - case 6: - localctx = new PropertyShorthandContext(this, localctx); - this.enterOuterAlt(localctx, 6); - this.state = 1862; - this.identifierOrKeyWord(); - break; - - case 7: - localctx = new RestParameterInObjectContext(this, localctx); - this.enterOuterAlt(localctx, 7); - this.state = 1863; - this.restParameter(); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - getAccessor() { - let localctx = new GetAccessorContext(this, this._ctx, this.state); - this.enterRule(localctx, 352, BitloopsParser.RULE_getAccessor); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1866; - this.getter(); - this.state = 1867; - this.match(BitloopsParser.OpenParen); - this.state = 1868; - this.match(BitloopsParser.CloseParen); - this.state = 1870; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Colon) { - this.state = 1869; - this.typeAnnotation(); - } - - this.state = 1872; - this.match(BitloopsParser.OpenBrace); - this.state = 1873; - this.functionBody(); - this.state = 1874; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - setAccessor() { - let localctx = new SetAccessorContext(this, this._ctx, this.state); - this.enterRule(localctx, 354, BitloopsParser.RULE_setAccessor); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1876; - this.setter(); - this.state = 1877; - this.match(BitloopsParser.OpenParen); - this.state = 1880; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.Identifier: - this.state = 1878; - this.match(BitloopsParser.Identifier); - break; - case BitloopsParser.OpenBracket: - case BitloopsParser.OpenBrace: - this.state = 1879; - this.bindingPattern(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - this.state = 1883; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Colon) { - this.state = 1882; - this.typeAnnotation(); - } - - this.state = 1885; - this.match(BitloopsParser.CloseParen); - this.state = 1886; - this.match(BitloopsParser.OpenBrace); - this.state = 1887; - this.functionBody(); - this.state = 1888; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - propertyName() { - let localctx = new PropertyNameContext(this, this._ctx, this.state); - this.enterRule(localctx, 356, BitloopsParser.RULE_propertyName); - try { - this.state = 1893; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.Identifier: - this.enterOuterAlt(localctx, 1); - this.state = 1890; - this.identifierName(); - break; - case BitloopsParser.StringLiteral: - this.enterOuterAlt(localctx, 2); - this.state = 1891; - this.match(BitloopsParser.StringLiteral); - break; - case BitloopsParser.IntegerLiteral: - case BitloopsParser.DecimalLiteral: - this.enterOuterAlt(localctx, 3); - this.state = 1892; - this.numericLiteral(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - arguments() { - let localctx = new ArgumentsContext(this, this._ctx, this.state); - this.enterRule(localctx, 358, BitloopsParser.RULE_arguments); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1895; - this.match(BitloopsParser.OpenParen); - this.state = 1900; - this._errHandler.sync(this); - _la = this._input.LA(1); - if((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << BitloopsParser.RegularExpressionLiteral) | (1 << BitloopsParser.OpenBracket) | (1 << BitloopsParser.OpenParen) | (1 << BitloopsParser.OpenBrace) | (1 << BitloopsParser.Not))) !== 0) || ((((_la - 56)) & ~0x1f) == 0 && ((1 << (_la - 56)) & ((1 << (BitloopsParser.NullLiteral - 56)) | (1 << (BitloopsParser.BooleanLiteral - 56)) | (1 << (BitloopsParser.IntegerLiteral - 56)) | (1 << (BitloopsParser.DecimalLiteral - 56)) | (1 << (BitloopsParser.This - 56)))) !== 0) || _la===BitloopsParser.Delete || _la===BitloopsParser.Execute || _la===BitloopsParser.Create || ((((_la - 185)) & ~0x1f) == 0 && ((1 << (_la - 185)) & ((1 << (BitloopsParser.UUIDv4 - 185)) | (1 << (BitloopsParser.DTOIdentifier - 185)) | (1 << (BitloopsParser.ValueObjectIdentifier - 185)) | (1 << (BitloopsParser.EntityIdentifier - 185)) | (1 << (BitloopsParser.ErrorIdentifier - 185)) | (1 << (BitloopsParser.UpperCaseIdentifier - 185)))) !== 0) || ((((_la - 217)) & ~0x1f) == 0 && ((1 << (_la - 217)) & ((1 << (BitloopsParser.Identifier - 217)) | (1 << (BitloopsParser.StringLiteral - 217)) | (1 << (BitloopsParser.BackTick - 217)))) !== 0)) { - this.state = 1896; - this.argumentList(); - this.state = 1898; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Comma) { - this.state = 1897; - this.match(BitloopsParser.Comma); - } - - } - - this.state = 1902; - this.match(BitloopsParser.CloseParen); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - argumentList() { - let localctx = new ArgumentListContext(this, this._ctx, this.state); - this.enterRule(localctx, 360, BitloopsParser.RULE_argumentList); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1904; - this.argument(); - this.state = 1909; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,194,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - this.state = 1905; - this.match(BitloopsParser.Comma); - this.state = 1906; - this.argument(); - } - this.state = 1911; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,194,this._ctx); - } - - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - argument() { - let localctx = new ArgumentContext(this, this._ctx, this.state); - this.enterRule(localctx, 362, BitloopsParser.RULE_argument); - try { - this.enterOuterAlt(localctx, 1); - this.state = 1912; - this.regularVariableEvaluationORliteralORexpression(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - expressionSequence() { - let localctx = new ExpressionSequenceContext(this, this._ctx, this.state); - this.enterRule(localctx, 364, BitloopsParser.RULE_expressionSequence); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1914; - this.expression(0); - this.state = 1919; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===BitloopsParser.Comma) { - this.state = 1915; - this.match(BitloopsParser.Comma); - this.state = 1916; - this.expression(0); - this.state = 1921; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - functionExpressionDeclaration() { - let localctx = new FunctionExpressionDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 366, BitloopsParser.RULE_functionExpressionDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1922; - this.match(BitloopsParser.Function_); - this.state = 1924; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Identifier) { - this.state = 1923; - this.match(BitloopsParser.Identifier); - } - - this.state = 1926; - this.match(BitloopsParser.OpenParen); - this.state = 1928; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.OpenParen) { - this.state = 1927; - this.formalParameterList(); - } - - this.state = 1930; - this.match(BitloopsParser.CloseParen); - this.state = 1932; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Colon) { - this.state = 1931; - this.typeAnnotation(); - } - - this.state = 1934; - this.match(BitloopsParser.OpenBrace); - this.state = 1935; - this.functionBody(); - this.state = 1936; - this.match(BitloopsParser.CloseBrace); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - expression(_p) { - if(_p===undefined) { - _p = 0; - } - const _parentctx = this._ctx; - const _parentState = this.state; - let localctx = new ExpressionContext(this, this._ctx, _parentState); - let _prevctx = localctx; - const _startState = 368; - this.enterRecursionRule(localctx, 368, BitloopsParser.RULE_expression, _p); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 1950; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,199,this._ctx); - switch(la_) { - case 1: - localctx = new NotExpressionContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - - this.state = 1939; - this.match(BitloopsParser.Not); - this.state = 1940; - this.expression(19); - break; - - case 2: - localctx = new ParenthesizedExpressionContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1941; - this.match(BitloopsParser.OpenParen); - this.state = 1942; - this.expression(0); - this.state = 1943; - this.match(BitloopsParser.CloseParen); - break; - - case 3: - localctx = new LiteralExpressionContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1945; - this.literal(); - break; - - case 4: - localctx = new EvaluationExpressionContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1946; - this.evaluation(); - break; - - case 5: - localctx = new IdentifierExpressionContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1947; - this.regularIdentifier(); - break; - - case 6: - localctx = new ArrayLiteralExpressionContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1948; - this.arrayLiteral(); - break; - - case 7: - localctx = new ThisExpressionContext(this, localctx); - this._ctx = localctx; - _prevctx = localctx; - this.state = 1949; - this.match(BitloopsParser.This); - break; - - } - this._ctx.stop = this._input.LT(-1); - this.state = 1993; - this._errHandler.sync(this); - var _alt = this._interp.adaptivePredict(this._input,201,this._ctx) - while(_alt!=2 && _alt!=antlr4.atn.ATN.INVALID_ALT_NUMBER) { - if(_alt===1) { - if(this._parseListeners!==null) { - this.triggerExitRuleEvent(); - } - _prevctx = localctx; - this.state = 1991; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,200,this._ctx); - switch(la_) { - case 1: - localctx = new MultiplicativeExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState)); - this.pushNewRecursionContext(localctx, _startState, BitloopsParser.RULE_expression); - this.state = 1952; - if (!( this.precpred(this._ctx, 13))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 13)"); - } - this.state = 1953; - localctx.op = this._input.LT(1); - _la = this._input.LA(1); - if(!((((_la) & ~0x1f) == 0 && ((1 << _la) & ((1 << BitloopsParser.Multiply) | (1 << BitloopsParser.Divide) | (1 << BitloopsParser.Modulus))) !== 0))) { - localctx.op = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1954; - this.expression(14); - break; - - case 2: - localctx = new AdditiveExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState)); - this.pushNewRecursionContext(localctx, _startState, BitloopsParser.RULE_expression); - this.state = 1955; - if (!( this.precpred(this._ctx, 12))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 12)"); - } - this.state = 1956; - localctx.op = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===BitloopsParser.Plus || _la===BitloopsParser.Minus)) { - localctx.op = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1957; - this.expression(13); - break; - - case 3: - localctx = new RelationalExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState)); - this.pushNewRecursionContext(localctx, _startState, BitloopsParser.RULE_expression); - this.state = 1958; - if (!( this.precpred(this._ctx, 11))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 11)"); - } - this.state = 1959; - localctx.op = this._input.LT(1); - _la = this._input.LA(1); - if(!(((((_la - 30)) & ~0x1f) == 0 && ((1 << (_la - 30)) & ((1 << (BitloopsParser.LessThan - 30)) | (1 << (BitloopsParser.MoreThan - 30)) | (1 << (BitloopsParser.LessThanEquals - 30)) | (1 << (BitloopsParser.GreaterThanEquals - 30)))) !== 0))) { - localctx.op = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1960; - this.expression(12); - break; - - case 4: - localctx = new EqualityExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState)); - this.pushNewRecursionContext(localctx, _startState, BitloopsParser.RULE_expression); - this.state = 1961; - if (!( this.precpred(this._ctx, 10))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 10)"); - } - this.state = 1962; - localctx.op = this._input.LT(1); - _la = this._input.LA(1); - if(!(_la===BitloopsParser.Equals_ || _la===BitloopsParser.NotEquals)) { - localctx.op = this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - this.state = 1963; - this.expression(11); - break; - - case 5: - localctx = new LogicalAndExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState)); - this.pushNewRecursionContext(localctx, _startState, BitloopsParser.RULE_expression); - this.state = 1964; - if (!( this.precpred(this._ctx, 9))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 9)"); - } - this.state = 1965; - localctx.op = this.match(BitloopsParser.And); - this.state = 1966; - this.expression(10); - break; - - case 6: - localctx = new LogicalOrExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState)); - this.pushNewRecursionContext(localctx, _startState, BitloopsParser.RULE_expression); - this.state = 1967; - if (!( this.precpred(this._ctx, 8))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 8)"); - } - this.state = 1968; - localctx.op = this.match(BitloopsParser.Or); - this.state = 1969; - this.expression(9); - break; - - case 7: - localctx = new LogicalXorExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState)); - this.pushNewRecursionContext(localctx, _startState, BitloopsParser.RULE_expression); - this.state = 1970; - if (!( this.precpred(this._ctx, 7))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 7)"); - } - this.state = 1971; - localctx.op = this.match(BitloopsParser.Xor); - this.state = 1972; - this.expression(8); - break; - - case 8: - localctx = new AssignmentExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState)); - this.pushNewRecursionContext(localctx, _startState, BitloopsParser.RULE_expression); - this.state = 1973; - if (!( this.precpred(this._ctx, 6))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 6)"); - } - this.state = 1974; - this.match(BitloopsParser.Assign); - this.state = 1975; - this.expression(7); - break; - - case 9: - localctx = new MemberDotExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState)); - this.pushNewRecursionContext(localctx, _startState, BitloopsParser.RULE_expression); - this.state = 1976; - if (!( this.precpred(this._ctx, 17))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 17)"); - } - this.state = 1977; - this.match(BitloopsParser.Dot); - this.state = 1978; - this.regularIdentifier(); - break; - - case 10: - localctx = new MethodCallExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState)); - this.pushNewRecursionContext(localctx, _startState, BitloopsParser.RULE_expression); - this.state = 1979; - if (!( this.precpred(this._ctx, 16))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 16)"); - } - this.state = 1980; - this.methodArguments(); - break; - - case 11: - localctx = new GetClassExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState)); - this.pushNewRecursionContext(localctx, _startState, BitloopsParser.RULE_expression); - this.state = 1981; - if (!( this.precpred(this._ctx, 15))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 15)"); - } - this.state = 1982; - this.match(BitloopsParser.Dot); - this.state = 1983; - this.match(BitloopsParser.GetClass); - this.state = 1984; - this.match(BitloopsParser.OpenParen); - this.state = 1985; - this.match(BitloopsParser.CloseParen); - break; - - case 12: - localctx = new ToStringExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState)); - this.pushNewRecursionContext(localctx, _startState, BitloopsParser.RULE_expression); - this.state = 1986; - if (!( this.precpred(this._ctx, 14))) { - throw new antlr4.error.FailedPredicateException(this, "this.precpred(this._ctx, 14)"); - } - this.state = 1987; - this.match(BitloopsParser.Dot); - this.state = 1988; - this.match(BitloopsParser.ToString); - this.state = 1989; - this.match(BitloopsParser.OpenParen); - this.state = 1990; - this.match(BitloopsParser.CloseParen); - break; - - } - } - this.state = 1995; - this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input,201,this._ctx); - } - - } catch( error) { - if(error instanceof antlr4.error.RecognitionException) { - localctx.exception = error; - this._errHandler.reportError(this, error); - this._errHandler.recover(this, error); - } else { - throw error; - } - } finally { - this.unrollRecursionContexts(_parentctx) - } - return localctx; - } - - - - asExpression() { - let localctx = new AsExpressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 370, BitloopsParser.RULE_asExpression); - var _la = 0; // Token type - try { - this.state = 2002; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.Void: - case BitloopsParser.Any: - case BitloopsParser.Int32: - case BitloopsParser.Boolean: - case BitloopsParser.String: - case BitloopsParser.Struct: - this.enterOuterAlt(localctx, 1); - this.state = 1996; - this.predefinedType(); - this.state = 1999; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.OpenBracket) { - this.state = 1997; - this.match(BitloopsParser.OpenBracket); - this.state = 1998; - this.match(BitloopsParser.CloseBracket); - } - - break; - case BitloopsParser.RegularExpressionLiteral: - case BitloopsParser.OpenBracket: - case BitloopsParser.OpenParen: - case BitloopsParser.OpenBrace: - case BitloopsParser.Not: - case BitloopsParser.NullLiteral: - case BitloopsParser.BooleanLiteral: - case BitloopsParser.IntegerLiteral: - case BitloopsParser.DecimalLiteral: - case BitloopsParser.This: - case BitloopsParser.Delete: - case BitloopsParser.Execute: - case BitloopsParser.Create: - case BitloopsParser.UUIDv4: - case BitloopsParser.DTOIdentifier: - case BitloopsParser.ValueObjectIdentifier: - case BitloopsParser.EntityIdentifier: - case BitloopsParser.ErrorIdentifier: - case BitloopsParser.UpperCaseIdentifier: - case BitloopsParser.Identifier: - case BitloopsParser.StringLiteral: - case BitloopsParser.BackTick: - this.enterOuterAlt(localctx, 2); - this.state = 2001; - this.expression(0); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - arrowFunctionDeclaration() { - let localctx = new ArrowFunctionDeclarationContext(this, this._ctx, this.state); - this.enterRule(localctx, 372, BitloopsParser.RULE_arrowFunctionDeclaration); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2005; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Async) { - this.state = 2004; - this.match(BitloopsParser.Async); - } - - this.state = 2007; - this.arrowFunctionParameters(); - this.state = 2009; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.Colon) { - this.state = 2008; - this.typeAnnotation(); - } - - this.state = 2011; - this.match(BitloopsParser.ARROW); - this.state = 2012; - this.arrowFunctionBody(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - arrowFunctionParameters() { - let localctx = new ArrowFunctionParametersContext(this, this._ctx, this.state); - this.enterRule(localctx, 374, BitloopsParser.RULE_arrowFunctionParameters); - var _la = 0; // Token type - try { - this.state = 2020; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.Identifier: - this.enterOuterAlt(localctx, 1); - this.state = 2014; - this.match(BitloopsParser.Identifier); - break; - case BitloopsParser.OpenParen: - this.enterOuterAlt(localctx, 2); - this.state = 2015; - this.match(BitloopsParser.OpenParen); - this.state = 2017; - this._errHandler.sync(this); - _la = this._input.LA(1); - if(_la===BitloopsParser.OpenParen) { - this.state = 2016; - this.formalParameterList(); - } - - this.state = 2019; - this.match(BitloopsParser.CloseParen); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - arrowFunctionBody() { - let localctx = new ArrowFunctionBodyContext(this, this._ctx, this.state); - this.enterRule(localctx, 376, BitloopsParser.RULE_arrowFunctionBody); - try { - this.state = 2027; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,208,this._ctx); - switch(la_) { - case 1: - this.enterOuterAlt(localctx, 1); - this.state = 2022; - this.expression(0); - break; - - case 2: - this.enterOuterAlt(localctx, 2); - this.state = 2023; - this.match(BitloopsParser.OpenBrace); - this.state = 2024; - this.functionBody(); - this.state = 2025; - this.match(BitloopsParser.CloseBrace); - break; - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - assignmentOperator() { - let localctx = new AssignmentOperatorContext(this, this._ctx, this.state); - this.enterRule(localctx, 378, BitloopsParser.RULE_assignmentOperator); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2029; - _la = this._input.LA(1); - if(!(((((_la - 44)) & ~0x1f) == 0 && ((1 << (_la - 44)) & ((1 << (BitloopsParser.MultiplyAssign - 44)) | (1 << (BitloopsParser.DivideAssign - 44)) | (1 << (BitloopsParser.ModulusAssign - 44)) | (1 << (BitloopsParser.PlusAssign - 44)) | (1 << (BitloopsParser.MinusAssign - 44)) | (1 << (BitloopsParser.LeftShiftArithmeticAssign - 44)) | (1 << (BitloopsParser.RightShiftArithmeticAssign - 44)) | (1 << (BitloopsParser.RightShiftLogicalAssign - 44)) | (1 << (BitloopsParser.BitAndAssign - 44)) | (1 << (BitloopsParser.BitXorAssign - 44)) | (1 << (BitloopsParser.BitOrAssign - 44)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - literal() { - let localctx = new LiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 380, BitloopsParser.RULE_literal); - try { - this.state = 2037; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.NullLiteral: - localctx = new NullLiteralContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 2031; - this.match(BitloopsParser.NullLiteral); - break; - case BitloopsParser.BooleanLiteral: - localctx = new BooleanLiteralContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 2032; - this.match(BitloopsParser.BooleanLiteral); - break; - case BitloopsParser.StringLiteral: - localctx = new StringLiteralContext(this, localctx); - this.enterOuterAlt(localctx, 3); - this.state = 2033; - this.match(BitloopsParser.StringLiteral); - break; - case BitloopsParser.BackTick: - localctx = new TemplateStringLiteralLabelContext(this, localctx); - this.enterOuterAlt(localctx, 4); - this.state = 2034; - this.templateStringLiteral(); - break; - case BitloopsParser.RegularExpressionLiteral: - localctx = new RegularExpressionLiteralContext(this, localctx); - this.enterOuterAlt(localctx, 5); - this.state = 2035; - this.match(BitloopsParser.RegularExpressionLiteral); - break; - case BitloopsParser.IntegerLiteral: - case BitloopsParser.DecimalLiteral: - localctx = new NumericLiteralLabelContext(this, localctx); - this.enterOuterAlt(localctx, 6); - this.state = 2036; - this.numericLiteral(); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - templateStringLiteral() { - let localctx = new TemplateStringLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 382, BitloopsParser.RULE_templateStringLiteral); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2039; - this.match(BitloopsParser.BackTick); - this.state = 2043; - this._errHandler.sync(this); - _la = this._input.LA(1); - while(_la===BitloopsParser.TemplateStringStartExpression || _la===BitloopsParser.TemplateStringAtom) { - this.state = 2040; - this.templateStringAtom(); - this.state = 2045; - this._errHandler.sync(this); - _la = this._input.LA(1); - } - this.state = 2046; - this.match(BitloopsParser.BackTick); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - templateStringAtom() { - let localctx = new TemplateStringAtomContext(this, this._ctx, this.state); - this.enterRule(localctx, 384, BitloopsParser.RULE_templateStringAtom); - try { - this.state = 2053; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.TemplateStringAtom: - this.enterOuterAlt(localctx, 1); - this.state = 2048; - this.match(BitloopsParser.TemplateStringAtom); - break; - case BitloopsParser.TemplateStringStartExpression: - this.enterOuterAlt(localctx, 2); - this.state = 2049; - this.match(BitloopsParser.TemplateStringStartExpression); - this.state = 2050; - this.expression(0); - this.state = 2051; - this.match(BitloopsParser.TemplateCloseBrace); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - numericLiteral() { - let localctx = new NumericLiteralContext(this, this._ctx, this.state); - this.enterRule(localctx, 386, BitloopsParser.RULE_numericLiteral); - try { - this.state = 2057; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.IntegerLiteral: - localctx = new IntegerLiteralContext(this, localctx); - this.enterOuterAlt(localctx, 1); - this.state = 2055; - this.match(BitloopsParser.IntegerLiteral); - break; - case BitloopsParser.DecimalLiteral: - localctx = new DecimalLiteralContext(this, localctx); - this.enterOuterAlt(localctx, 2); - this.state = 2056; - this.match(BitloopsParser.DecimalLiteral); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - identifierName() { - let localctx = new IdentifierNameContext(this, this._ctx, this.state); - this.enterRule(localctx, 388, BitloopsParser.RULE_identifierName); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2059; - this.match(BitloopsParser.Identifier); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - identifierOrKeyWord() { - let localctx = new IdentifierOrKeyWordContext(this, this._ctx, this.state); - this.enterRule(localctx, 390, BitloopsParser.RULE_identifierOrKeyWord); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2061; - _la = this._input.LA(1); - if(!(_la===BitloopsParser.TypeAlias || _la===BitloopsParser.Identifier)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - reservedWord() { - let localctx = new ReservedWordContext(this, this._ctx, this.state); - this.enterRule(localctx, 392, BitloopsParser.RULE_reservedWord); - try { - this.state = 2066; - this._errHandler.sync(this); - switch(this._input.LA(1)) { - case BitloopsParser.Break: - case BitloopsParser.Do: - case BitloopsParser.Instanceof: - case BitloopsParser.Typeof: - case BitloopsParser.Case: - case BitloopsParser.Else: - case BitloopsParser.New: - case BitloopsParser.Var: - case BitloopsParser.Catch: - case BitloopsParser.Finally: - case BitloopsParser.Return: - case BitloopsParser.Void: - case BitloopsParser.Continue: - case BitloopsParser.For: - case BitloopsParser.Switch: - case BitloopsParser.While: - case BitloopsParser.Debugger: - case BitloopsParser.Function_: - case BitloopsParser.This: - case BitloopsParser.With: - case BitloopsParser.Default: - case BitloopsParser.If: - case BitloopsParser.Throw: - case BitloopsParser.Delete: - case BitloopsParser.In: - case BitloopsParser.Try: - case BitloopsParser.From: - case BitloopsParser.ReadOnly: - case BitloopsParser.Async: - case BitloopsParser.Extends: - case BitloopsParser.Const: - case BitloopsParser.UseCase: - case BitloopsParser.Let: - case BitloopsParser.Private: - case BitloopsParser.Public: - case BitloopsParser.Protected: - case BitloopsParser.Static: - case BitloopsParser.String: - case BitloopsParser.TypeAlias: - case BitloopsParser.Get: - case BitloopsParser.Set: - this.enterOuterAlt(localctx, 1); - this.state = 2063; - this.keyword(); - break; - case BitloopsParser.NullLiteral: - this.enterOuterAlt(localctx, 2); - this.state = 2064; - this.match(BitloopsParser.NullLiteral); - break; - case BitloopsParser.BooleanLiteral: - this.enterOuterAlt(localctx, 3); - this.state = 2065; - this.match(BitloopsParser.BooleanLiteral); - break; - default: - throw new antlr4.error.NoViableAltException(this); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - keyword() { - let localctx = new KeywordContext(this, this._ctx, this.state); - this.enterRule(localctx, 394, BitloopsParser.RULE_keyword); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2068; - _la = this._input.LA(1); - if(!(((((_la - 65)) & ~0x1f) == 0 && ((1 << (_la - 65)) & ((1 << (BitloopsParser.Break - 65)) | (1 << (BitloopsParser.Do - 65)) | (1 << (BitloopsParser.Instanceof - 65)) | (1 << (BitloopsParser.Typeof - 65)) | (1 << (BitloopsParser.Case - 65)) | (1 << (BitloopsParser.Else - 65)) | (1 << (BitloopsParser.New - 65)) | (1 << (BitloopsParser.Var - 65)) | (1 << (BitloopsParser.Catch - 65)) | (1 << (BitloopsParser.Finally - 65)) | (1 << (BitloopsParser.Return - 65)) | (1 << (BitloopsParser.Void - 65)) | (1 << (BitloopsParser.Continue - 65)) | (1 << (BitloopsParser.For - 65)) | (1 << (BitloopsParser.Switch - 65)) | (1 << (BitloopsParser.While - 65)) | (1 << (BitloopsParser.Debugger - 65)) | (1 << (BitloopsParser.Function_ - 65)) | (1 << (BitloopsParser.This - 65)) | (1 << (BitloopsParser.With - 65)) | (1 << (BitloopsParser.Default - 65)) | (1 << (BitloopsParser.If - 65)) | (1 << (BitloopsParser.Throw - 65)) | (1 << (BitloopsParser.Delete - 65)) | (1 << (BitloopsParser.In - 65)) | (1 << (BitloopsParser.Try - 65)) | (1 << (BitloopsParser.From - 65)) | (1 << (BitloopsParser.ReadOnly - 65)) | (1 << (BitloopsParser.Async - 65)))) !== 0) || ((((_la - 97)) & ~0x1f) == 0 && ((1 << (_la - 97)) & ((1 << (BitloopsParser.Extends - 97)) | (1 << (BitloopsParser.Const - 97)) | (1 << (BitloopsParser.UseCase - 97)) | (1 << (BitloopsParser.Let - 97)) | (1 << (BitloopsParser.Private - 97)))) !== 0) || ((((_la - 129)) & ~0x1f) == 0 && ((1 << (_la - 129)) & ((1 << (BitloopsParser.Public - 129)) | (1 << (BitloopsParser.Protected - 129)) | (1 << (BitloopsParser.Static - 129)) | (1 << (BitloopsParser.String - 129)) | (1 << (BitloopsParser.TypeAlias - 129)) | (1 << (BitloopsParser.Get - 129)) | (1 << (BitloopsParser.Set - 129)))) !== 0))) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - getter() { - let localctx = new GetterContext(this, this._ctx, this.state); - this.enterRule(localctx, 396, BitloopsParser.RULE_getter); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2070; - this.match(BitloopsParser.Get); - this.state = 2071; - this.propertyName(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - setter() { - let localctx = new SetterContext(this, this._ctx, this.state); - this.enterRule(localctx, 398, BitloopsParser.RULE_setter); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2073; - this.match(BitloopsParser.Set); - this.state = 2074; - this.propertyName(); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - eos() { - let localctx = new EosContext(this, this._ctx, this.state); - this.enterRule(localctx, 400, BitloopsParser.RULE_eos); - var _la = 0; // Token type - try { - this.enterOuterAlt(localctx, 1); - this.state = 2076; - _la = this._input.LA(1); - if(!(_la===BitloopsParser.EOF || _la===BitloopsParser.SemiColon)) { - this._errHandler.recoverInline(this); - } - else { - this._errHandler.reportMatch(this); - this.consume(); - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - isInstanceOf() { - let localctx = new IsInstanceOfContext(this, this._ctx, this.state); - this.enterRule(localctx, 402, BitloopsParser.RULE_isInstanceOf); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2078; - this.regularIdentifier(); - this.state = 2079; - this.match(BitloopsParser.Is); - this.state = 2080; - this.classTypes(); - this.state = 2082; - this._errHandler.sync(this); - var la_ = this._interp.adaptivePredict(this._input,214,this._ctx); - if(la_===1) { - this.state = 2081; - this.match(BitloopsParser.SemiColon); - - } - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - - - classTypes() { - let localctx = new ClassTypesContext(this, this._ctx, this.state); - this.enterRule(localctx, 404, BitloopsParser.RULE_classTypes); - try { - this.enterOuterAlt(localctx, 1); - this.state = 2084; - this.match(BitloopsParser.ErrorClass); - } catch (re) { - if(re instanceof antlr4.error.RecognitionException) { - localctx.exception = re; - this._errHandler.reportError(this, re); - this._errHandler.recover(this, re); - } else { - throw re; - } - } finally { - this.exitRule(); - } - return localctx; - } - - -} - -BitloopsParser.EOF = antlr4.Token.EOF; -BitloopsParser.MultiLineComment = 1; -BitloopsParser.SingleLineComment = 2; -BitloopsParser.RegularExpressionLiteral = 3; -BitloopsParser.OpenBracket = 4; -BitloopsParser.CloseBracket = 5; -BitloopsParser.OpenParen = 6; -BitloopsParser.CloseParen = 7; -BitloopsParser.OpenBrace = 8; -BitloopsParser.TemplateCloseBrace = 9; -BitloopsParser.CloseBrace = 10; -BitloopsParser.SemiColon = 11; -BitloopsParser.Comma = 12; -BitloopsParser.Assign = 13; -BitloopsParser.QuestionMark = 14; -BitloopsParser.Colon = 15; -BitloopsParser.Ellipsis = 16; -BitloopsParser.Dot = 17; -BitloopsParser.PlusPlus = 18; -BitloopsParser.MinusMinus = 19; -BitloopsParser.Plus = 20; -BitloopsParser.Minus = 21; -BitloopsParser.BitNot = 22; -BitloopsParser.Not = 23; -BitloopsParser.Multiply = 24; -BitloopsParser.Divide = 25; -BitloopsParser.Modulus = 26; -BitloopsParser.RightShiftArithmetic = 27; -BitloopsParser.LeftShiftArithmetic = 28; -BitloopsParser.RightShiftLogical = 29; -BitloopsParser.LessThan = 30; -BitloopsParser.MoreThan = 31; -BitloopsParser.LessThanEquals = 32; -BitloopsParser.GreaterThanEquals = 33; -BitloopsParser.Equals_ = 34; -BitloopsParser.NotEquals = 35; -BitloopsParser.IdentityEquals = 36; -BitloopsParser.IdentityNotEquals = 37; -BitloopsParser.BitAnd = 38; -BitloopsParser.BitXOr = 39; -BitloopsParser.BitOr = 40; -BitloopsParser.And = 41; -BitloopsParser.Or = 42; -BitloopsParser.Xor = 43; -BitloopsParser.MultiplyAssign = 44; -BitloopsParser.DivideAssign = 45; -BitloopsParser.ModulusAssign = 46; -BitloopsParser.PlusAssign = 47; -BitloopsParser.MinusAssign = 48; -BitloopsParser.LeftShiftArithmeticAssign = 49; -BitloopsParser.RightShiftArithmeticAssign = 50; -BitloopsParser.RightShiftLogicalAssign = 51; -BitloopsParser.BitAndAssign = 52; -BitloopsParser.BitXorAssign = 53; -BitloopsParser.BitOrAssign = 54; -BitloopsParser.ARROW = 55; -BitloopsParser.NullLiteral = 56; -BitloopsParser.BooleanLiteral = 57; -BitloopsParser.IntegerLiteral = 58; -BitloopsParser.DecimalLiteral = 59; -BitloopsParser.HexIntegerLiteral = 60; -BitloopsParser.OctalIntegerLiteral = 61; -BitloopsParser.OctalIntegerLiteral2 = 62; -BitloopsParser.BinaryIntegerLiteral = 63; -BitloopsParser.Optional = 64; -BitloopsParser.Break = 65; -BitloopsParser.Do = 66; -BitloopsParser.Instanceof = 67; -BitloopsParser.Typeof = 68; -BitloopsParser.Case = 69; -BitloopsParser.Else = 70; -BitloopsParser.New = 71; -BitloopsParser.Var = 72; -BitloopsParser.Catch = 73; -BitloopsParser.Finally = 74; -BitloopsParser.Return = 75; -BitloopsParser.Void = 76; -BitloopsParser.Continue = 77; -BitloopsParser.For = 78; -BitloopsParser.Switch = 79; -BitloopsParser.While = 80; -BitloopsParser.Debugger = 81; -BitloopsParser.Function_ = 82; -BitloopsParser.This = 83; -BitloopsParser.With = 84; -BitloopsParser.Default = 85; -BitloopsParser.If = 86; -BitloopsParser.Throw = 87; -BitloopsParser.Delete = 88; -BitloopsParser.In = 89; -BitloopsParser.Try = 90; -BitloopsParser.As = 91; -BitloopsParser.From = 92; -BitloopsParser.ReadOnly = 93; -BitloopsParser.Async = 94; -BitloopsParser.Throws = 95; -BitloopsParser.ApplyRules = 96; -BitloopsParser.Extends = 97; -BitloopsParser.Const = 98; -BitloopsParser.RepoPort = 99; -BitloopsParser.Props = 100; -BitloopsParser.ReadModel = 101; -BitloopsParser.DTO = 102; -BitloopsParser.RESTController = 103; -BitloopsParser.GraphQLController = 104; -BitloopsParser.GRPCController = 105; -BitloopsParser.UseCase = 106; -BitloopsParser.ValueObject = 107; -BitloopsParser.AggregateRoot = 108; -BitloopsParser.Entity = 109; -BitloopsParser.DomainEvent = 110; -BitloopsParser.Service = 111; -BitloopsParser.Repository = 112; -BitloopsParser.Factory = 113; -BitloopsParser.DomainError = 114; -BitloopsParser.ApplicationError = 115; -BitloopsParser.DomainErrors = 116; -BitloopsParser.ApplicationErrors = 117; -BitloopsParser.OK = 118; -BitloopsParser.Errors = 119; -BitloopsParser.Config = 120; -BitloopsParser.PackagePort = 121; -BitloopsParser.VO = 122; -BitloopsParser.Rule = 123; -BitloopsParser.IsBrokenIf = 124; -BitloopsParser.Root = 125; -BitloopsParser.Constructor = 126; -BitloopsParser.Let = 127; -BitloopsParser.Private = 128; -BitloopsParser.Public = 129; -BitloopsParser.Protected = 130; -BitloopsParser.Static = 131; -BitloopsParser.Any = 132; -BitloopsParser.Double = 133; -BitloopsParser.Float = 134; -BitloopsParser.Int32 = 135; -BitloopsParser.Int64 = 136; -BitloopsParser.Uint32 = 137; -BitloopsParser.Uint64 = 138; -BitloopsParser.Sint32 = 139; -BitloopsParser.Sint64 = 140; -BitloopsParser.Fixed32 = 141; -BitloopsParser.Fixed64 = 142; -BitloopsParser.Sfixed32 = 143; -BitloopsParser.Sfixed64 = 144; -BitloopsParser.Boolean = 145; -BitloopsParser.String = 146; -BitloopsParser.Bytes = 147; -BitloopsParser.Timestamp = 148; -BitloopsParser.Struct = 149; -BitloopsParser.TypeAlias = 150; -BitloopsParser.Get = 151; -BitloopsParser.Set = 152; -BitloopsParser.Execute = 153; -BitloopsParser.Create = 154; -BitloopsParser.Namespace = 155; -BitloopsParser.Declare = 156; -BitloopsParser.JestTest = 157; -BitloopsParser.JestTestStatement = 158; -BitloopsParser.JestTestStatementList = 159; -BitloopsParser.JestTestFunctionBody = 160; -BitloopsParser.JestTestExecute = 161; -BitloopsParser.JestTestStructEvaluation = 162; -BitloopsParser.JestTestDTOEvaluation = 163; -BitloopsParser.JestTestEvaluation = 164; -BitloopsParser.JestTestReturnOkErrorType = 165; -BitloopsParser.JestTestExpression = 166; -BitloopsParser.JestTestConstDeclaration = 167; -BitloopsParser.JestTestMethodDefinitionList = 168; -BitloopsParser.JestTestCreateMethodDeclaration = 169; -BitloopsParser.JestTestPrivateMethodDeclaration = 170; -BitloopsParser.JestTestPublicMethodDeclaration = 171; -BitloopsParser.JestTestValueObjectDeclaration = 172; -BitloopsParser.JestTestEntityDeclaration = 173; -BitloopsParser.JestTestCondition = 174; -BitloopsParser.JestTestVariableDeclaration = 175; -BitloopsParser.JestTestThisDeclaration = 176; -BitloopsParser.JestTestIsInstanceOf = 177; -BitloopsParser.JestTestValueObjectEvaluation = 178; -BitloopsParser.JestTestEntityEvaluation = 179; -BitloopsParser.JestTestSingleExpression = 180; -BitloopsParser.JestTestGetClass = 181; -BitloopsParser.JestTestBuiltInFunction = 182; -BitloopsParser.JestTestBuiltInClass = 183; -BitloopsParser.JestTestBitloopsPrimaryType = 184; -BitloopsParser.UUIDv4 = 185; -BitloopsParser.Is = 186; -BitloopsParser.GetClass = 187; -BitloopsParser.ToString = 188; -BitloopsParser.At = 189; -BitloopsParser.Method = 190; -BitloopsParser.MethodGet = 191; -BitloopsParser.MethodPost = 192; -BitloopsParser.MethodPut = 193; -BitloopsParser.MethodPatch = 194; -BitloopsParser.MethodDelete = 195; -BitloopsParser.MethodOptions = 196; -BitloopsParser.GraphQLOperation = 197; -BitloopsParser.Input = 198; -BitloopsParser.OperationMutation = 199; -BitloopsParser.OperationQuery = 200; -BitloopsParser.OperationSubscription = 201; -BitloopsParser.ErrorClass = 202; -BitloopsParser.DTOIdentifier = 203; -BitloopsParser.ValueObjectIdentifier = 204; -BitloopsParser.EntityIdentifier = 205; -BitloopsParser.ErrorIdentifier = 206; -BitloopsParser.ControllerIdentifier = 207; -BitloopsParser.UseCaseIdentifier = 208; -BitloopsParser.PackagePortIdentifier = 209; -BitloopsParser.PropsIdentifier = 210; -BitloopsParser.ReadModelIdentifier = 211; -BitloopsParser.RuleIdentifier = 212; -BitloopsParser.RepoPortIdentifier = 213; -BitloopsParser.DomainErrorIdentifier = 214; -BitloopsParser.ValueObjectEvaluationIdentifier = 215; -BitloopsParser.UpperCaseIdentifier = 216; -BitloopsParser.Identifier = 217; -BitloopsParser.StringLiteral = 218; -BitloopsParser.BackTick = 219; -BitloopsParser.WhiteSpaces = 220; -BitloopsParser.LineTerminator = 221; -BitloopsParser.HtmlComment = 222; -BitloopsParser.CDataComment = 223; -BitloopsParser.UnexpectedCharacter = 224; -BitloopsParser.TemplateStringStartExpression = 225; -BitloopsParser.TemplateStringAtom = 226; -BitloopsParser.WS = 227; - -BitloopsParser.RULE_initializer = 0; -BitloopsParser.RULE_bindingPattern = 1; -BitloopsParser.RULE_fieldList = 2; -BitloopsParser.RULE_evaluationFieldList = 3; -BitloopsParser.RULE_evaluationField = 4; -BitloopsParser.RULE_propFields = 5; -BitloopsParser.RULE_propsIdentifier = 6; -BitloopsParser.RULE_bitloopsIdentifiers = 7; -BitloopsParser.RULE_primitives = 8; -BitloopsParser.RULE_identifier = 9; -BitloopsParser.RULE_upperCaseIdentifier = 10; -BitloopsParser.RULE_struct = 11; -BitloopsParser.RULE_regularErrorTypeEvaluation = 12; -BitloopsParser.RULE_methodArguments = 13; -BitloopsParser.RULE_openParen = 14; -BitloopsParser.RULE_closeParen = 15; -BitloopsParser.RULE_regularIdentifier = 16; -BitloopsParser.RULE_regularStringEvaluation = 17; -BitloopsParser.RULE_regularIntegerEvaluation = 18; -BitloopsParser.RULE_regularDecimalEvaluation = 19; -BitloopsParser.RULE_regularBooleanEvaluation = 20; -BitloopsParser.RULE_regularStructEvaluation = 21; -BitloopsParser.RULE_regularDTOEvaluation = 22; -BitloopsParser.RULE_field = 23; -BitloopsParser.RULE_bitloopsPrimaryType = 24; -BitloopsParser.RULE_bitloopsBuiltInClass = 25; -BitloopsParser.RULE_predefinedType = 26; -BitloopsParser.RULE_typeName = 27; -BitloopsParser.RULE_methodDefinitionList = 28; -BitloopsParser.RULE_methodDefinition = 29; -BitloopsParser.RULE_typeQuery = 30; -BitloopsParser.RULE_typeQueryExpression = 31; -BitloopsParser.RULE_typeAnnotation = 32; -BitloopsParser.RULE_parameterList = 33; -BitloopsParser.RULE_requiredParameterList = 34; -BitloopsParser.RULE_parameter = 35; -BitloopsParser.RULE_optionalParameter = 36; -BitloopsParser.RULE_restParameter = 37; -BitloopsParser.RULE_requiredParameter = 38; -BitloopsParser.RULE_accessibilityModifier = 39; -BitloopsParser.RULE_identifierOrPattern = 40; -BitloopsParser.RULE_indexSignature = 41; -BitloopsParser.RULE_enumBody = 42; -BitloopsParser.RULE_enumMemberList = 43; -BitloopsParser.RULE_enumMember = 44; -BitloopsParser.RULE_namespaceDeclaration = 45; -BitloopsParser.RULE_namespaceName = 46; -BitloopsParser.RULE_importAliasDeclaration = 47; -BitloopsParser.RULE_decoratorList = 48; -BitloopsParser.RULE_decorator = 49; -BitloopsParser.RULE_decoratorMemberExpression = 50; -BitloopsParser.RULE_decoratorCallExpression = 51; -BitloopsParser.RULE_program = 52; -BitloopsParser.RULE_sourceElement = 53; -BitloopsParser.RULE_jestTestDeclaration = 54; -BitloopsParser.RULE_errorEvaluation = 55; -BitloopsParser.RULE_evaluation = 56; -BitloopsParser.RULE_condition = 57; -BitloopsParser.RULE_returnStatement = 58; -BitloopsParser.RULE_constDeclaration = 59; -BitloopsParser.RULE_variableDeclaration = 60; -BitloopsParser.RULE_statement = 61; -BitloopsParser.RULE_builtInFunction = 62; -BitloopsParser.RULE_applyRuleStatementRulesList = 63; -BitloopsParser.RULE_applyRulesRule = 64; -BitloopsParser.RULE_block = 65; -BitloopsParser.RULE_statementList = 66; -BitloopsParser.RULE_fromBlock = 67; -BitloopsParser.RULE_multipleImportStatement = 68; -BitloopsParser.RULE_variableDeclarationList = 69; -BitloopsParser.RULE_emptyStatement_ = 70; -BitloopsParser.RULE_expressionStatement = 71; -BitloopsParser.RULE_ifStatement = 72; -BitloopsParser.RULE_iterationStatement = 73; -BitloopsParser.RULE_varModifier = 74; -BitloopsParser.RULE_continueStatement = 75; -BitloopsParser.RULE_breakStatement = 76; -BitloopsParser.RULE_withStatement = 77; -BitloopsParser.RULE_switchStatement = 78; -BitloopsParser.RULE_caseBlock = 79; -BitloopsParser.RULE_caseClauses = 80; -BitloopsParser.RULE_caseClause = 81; -BitloopsParser.RULE_defaultClause = 82; -BitloopsParser.RULE_labelledStatement = 83; -BitloopsParser.RULE_throwStatement = 84; -BitloopsParser.RULE_tryStatement = 85; -BitloopsParser.RULE_catchProduction = 86; -BitloopsParser.RULE_finallyProduction = 87; -BitloopsParser.RULE_debuggerStatement = 88; -BitloopsParser.RULE_domainFieldDeclaration = 89; -BitloopsParser.RULE_isBrokenStatement = 90; -BitloopsParser.RULE_domainRuleBody = 91; -BitloopsParser.RULE_domainRuleDeclaration = 92; -BitloopsParser.RULE_aggregateDeclaration = 93; -BitloopsParser.RULE_domainConstDeclaration = 94; -BitloopsParser.RULE_entityDeclaration = 95; -BitloopsParser.RULE_entityBody = 96; -BitloopsParser.RULE_valueObjectDeclaration = 97; -BitloopsParser.RULE_domainConstDeclarationList = 98; -BitloopsParser.RULE_publicMethodDeclarationList = 99; -BitloopsParser.RULE_privateMethodDeclarationList = 100; -BitloopsParser.RULE_domainConstructorDeclaration = 101; -BitloopsParser.RULE_useCaseIdentifier = 102; -BitloopsParser.RULE_useCaseDeclaration = 103; -BitloopsParser.RULE_propsDeclaration = 104; -BitloopsParser.RULE_readModelDeclaration = 105; -BitloopsParser.RULE_repoPortDeclaration = 106; -BitloopsParser.RULE_repoPortIdentifier = 107; -BitloopsParser.RULE_aggregateRootIdentifier = 108; -BitloopsParser.RULE_repoExtendsList = 109; -BitloopsParser.RULE_repoPortMethodDefinitions = 110; -BitloopsParser.RULE_repoPortExtendableIdentifierList = 111; -BitloopsParser.RULE_repoPortExtendableIdentifier = 112; -BitloopsParser.RULE_dtoDeclaration = 113; -BitloopsParser.RULE_structDeclaration = 114; -BitloopsParser.RULE_dtoEvaluationIdentifier = 115; -BitloopsParser.RULE_dtoEvaluation = 116; -BitloopsParser.RULE_valueObjectEvaluation = 117; -BitloopsParser.RULE_domainEvaluationInput = 118; -BitloopsParser.RULE_entityEvaluation = 119; -BitloopsParser.RULE_structEvaluationIdentifier = 120; -BitloopsParser.RULE_structEvaluation = 121; -BitloopsParser.RULE_builtInClassEvaluation = 122; -BitloopsParser.RULE_propsEvaluation = 123; -BitloopsParser.RULE_domainErrorDeclaration = 124; -BitloopsParser.RULE_applicationErrorDeclaration = 125; -BitloopsParser.RULE_domainErrorIdentifier = 126; -BitloopsParser.RULE_applicationErrorIdentifier = 127; -BitloopsParser.RULE_useCaseExecuteDeclaration = 128; -BitloopsParser.RULE_restControllerParameters = 129; -BitloopsParser.RULE_restControllerExecuteDeclaration = 130; -BitloopsParser.RULE_restControllerMethodDeclaration = 131; -BitloopsParser.RULE_httpMethod = 132; -BitloopsParser.RULE_controllerDeclaration = 133; -BitloopsParser.RULE_graphQLResolverOptions = 134; -BitloopsParser.RULE_graphQLOperationTypeAssignment = 135; -BitloopsParser.RULE_graphQLOperationInputTypeAssignment = 136; -BitloopsParser.RULE_graphQLResolverInputType = 137; -BitloopsParser.RULE_graphQLOperation = 138; -BitloopsParser.RULE_graphQLControllerExecuteDeclaration = 139; -BitloopsParser.RULE_graphQLControllerParameters = 140; -BitloopsParser.RULE_graphQLControllerReturnType = 141; -BitloopsParser.RULE_dtoIdentifier = 142; -BitloopsParser.RULE_dtoIdentifiers = 143; -BitloopsParser.RULE_errorIdentifier = 144; -BitloopsParser.RULE_errorIdentifiers = 145; -BitloopsParser.RULE_valueObjectIdentifier = 146; -BitloopsParser.RULE_entityIdentifier = 147; -BitloopsParser.RULE_domainRuleIdentifier = 148; -BitloopsParser.RULE_returnOkType = 149; -BitloopsParser.RULE_returnErrorsType = 150; -BitloopsParser.RULE_returnOkErrorType = 151; -BitloopsParser.RULE_packagePortIdentifier = 152; -BitloopsParser.RULE_packagePortDeclaration = 153; -BitloopsParser.RULE_methodDeclaration = 154; -BitloopsParser.RULE_privateMethodDeclaration = 155; -BitloopsParser.RULE_publicMethodDeclaration = 156; -BitloopsParser.RULE_returnPublicMethodType = 157; -BitloopsParser.RULE_returnPrivateMethodType = 158; -BitloopsParser.RULE_propertyMemberBase = 159; -BitloopsParser.RULE_indexMemberDeclaration = 160; -BitloopsParser.RULE_generatorMethod = 161; -BitloopsParser.RULE_generatorFunctionDeclaration = 162; -BitloopsParser.RULE_generatorBlock = 163; -BitloopsParser.RULE_generatorDefinition = 164; -BitloopsParser.RULE_iteratorBlock = 165; -BitloopsParser.RULE_iteratorDefinition = 166; -BitloopsParser.RULE_formalParameterList = 167; -BitloopsParser.RULE_formalParameterArg = 168; -BitloopsParser.RULE_lastFormalParameterArg = 169; -BitloopsParser.RULE_functionBody = 170; -BitloopsParser.RULE_arrayLiteral = 171; -BitloopsParser.RULE_elementList = 172; -BitloopsParser.RULE_objectLiteral = 173; -BitloopsParser.RULE_regularVariableEvaluationORliteralORexpression = 174; -BitloopsParser.RULE_propertyAssignment = 175; -BitloopsParser.RULE_getAccessor = 176; -BitloopsParser.RULE_setAccessor = 177; -BitloopsParser.RULE_propertyName = 178; -BitloopsParser.RULE_arguments = 179; -BitloopsParser.RULE_argumentList = 180; -BitloopsParser.RULE_argument = 181; -BitloopsParser.RULE_expressionSequence = 182; -BitloopsParser.RULE_functionExpressionDeclaration = 183; -BitloopsParser.RULE_expression = 184; -BitloopsParser.RULE_asExpression = 185; -BitloopsParser.RULE_arrowFunctionDeclaration = 186; -BitloopsParser.RULE_arrowFunctionParameters = 187; -BitloopsParser.RULE_arrowFunctionBody = 188; -BitloopsParser.RULE_assignmentOperator = 189; -BitloopsParser.RULE_literal = 190; -BitloopsParser.RULE_templateStringLiteral = 191; -BitloopsParser.RULE_templateStringAtom = 192; -BitloopsParser.RULE_numericLiteral = 193; -BitloopsParser.RULE_identifierName = 194; -BitloopsParser.RULE_identifierOrKeyWord = 195; -BitloopsParser.RULE_reservedWord = 196; -BitloopsParser.RULE_keyword = 197; -BitloopsParser.RULE_getter = 198; -BitloopsParser.RULE_setter = 199; -BitloopsParser.RULE_eos = 200; -BitloopsParser.RULE_isInstanceOf = 201; -BitloopsParser.RULE_classTypes = 202; - -class InitializerContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_initializer; - } - - Assign() { - return this.getToken(BitloopsParser.Assign, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterInitializer(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitInitializer(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitInitializer(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class BindingPatternContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_bindingPattern; - } - - arrayLiteral() { - return this.getTypedRuleContext(ArrayLiteralContext,0); - }; - - objectLiteral() { - return this.getTypedRuleContext(ObjectLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterBindingPattern(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitBindingPattern(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitBindingPattern(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class FieldListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_fieldList; - } - - field = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(FieldContext); - } else { - return this.getTypedRuleContext(FieldContext,i); - } - }; - - SemiColon = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.SemiColon); - } else { - return this.getToken(BitloopsParser.SemiColon, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterFieldList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitFieldList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitFieldList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class EvaluationFieldListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_evaluationFieldList; - } - - evaluationField = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(EvaluationFieldContext); - } else { - return this.getTypedRuleContext(EvaluationFieldContext,i); - } - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterEvaluationFieldList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitEvaluationFieldList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitEvaluationFieldList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class EvaluationFieldContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_evaluationField; - } - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterEvaluationField(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitEvaluationField(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitEvaluationField(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class PropFieldsContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_propFields; - } - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - fieldList() { - return this.getTypedRuleContext(FieldListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPropFields(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPropFields(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPropFields(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class PropsIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_propsIdentifier; - } - - PropsIdentifier() { - return this.getToken(BitloopsParser.PropsIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPropsIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPropsIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPropsIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class BitloopsIdentifiersContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_bitloopsIdentifiers; - } - - UseCaseIdentifier() { - return this.getToken(BitloopsParser.UseCaseIdentifier, 0); - }; - - dtoIdentifier() { - return this.getTypedRuleContext(DtoIdentifierContext,0); - }; - - ControllerIdentifier() { - return this.getToken(BitloopsParser.ControllerIdentifier, 0); - }; - - ErrorIdentifier() { - return this.getToken(BitloopsParser.ErrorIdentifier, 0); - }; - - propsIdentifier() { - return this.getTypedRuleContext(PropsIdentifierContext,0); - }; - - ValueObjectIdentifier() { - return this.getToken(BitloopsParser.ValueObjectIdentifier, 0); - }; - - EntityIdentifier() { - return this.getToken(BitloopsParser.EntityIdentifier, 0); - }; - - RepoPortIdentifier() { - return this.getToken(BitloopsParser.RepoPortIdentifier, 0); - }; - - ReadModelIdentifier() { - return this.getToken(BitloopsParser.ReadModelIdentifier, 0); - }; - - UpperCaseIdentifier() { - return this.getToken(BitloopsParser.UpperCaseIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterBitloopsIdentifiers(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitBitloopsIdentifiers(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitBitloopsIdentifiers(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class PrimitivesContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_primitives; - } - - Any() { - return this.getToken(BitloopsParser.Any, 0); - }; - - Double() { - return this.getToken(BitloopsParser.Double, 0); - }; - - Float() { - return this.getToken(BitloopsParser.Float, 0); - }; - - Int32() { - return this.getToken(BitloopsParser.Int32, 0); - }; - - Int64() { - return this.getToken(BitloopsParser.Int64, 0); - }; - - Uint32() { - return this.getToken(BitloopsParser.Uint32, 0); - }; - - Uint64() { - return this.getToken(BitloopsParser.Uint64, 0); - }; - - Sint32() { - return this.getToken(BitloopsParser.Sint32, 0); - }; - - Sint64() { - return this.getToken(BitloopsParser.Sint64, 0); - }; - - Fixed32() { - return this.getToken(BitloopsParser.Fixed32, 0); - }; - - Fixed64() { - return this.getToken(BitloopsParser.Fixed64, 0); - }; - - Sfixed32() { - return this.getToken(BitloopsParser.Sfixed32, 0); - }; - - Sfixed64() { - return this.getToken(BitloopsParser.Sfixed64, 0); - }; - - Boolean() { - return this.getToken(BitloopsParser.Boolean, 0); - }; - - String() { - return this.getToken(BitloopsParser.String, 0); - }; - - Bytes() { - return this.getToken(BitloopsParser.Bytes, 0); - }; - - Timestamp() { - return this.getToken(BitloopsParser.Timestamp, 0); - }; - - Void() { - return this.getToken(BitloopsParser.Void, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPrimitives(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPrimitives(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPrimitives(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class IdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_identifier; - } - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class UpperCaseIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_upperCaseIdentifier; - } - - UpperCaseIdentifier() { - return this.getToken(BitloopsParser.UpperCaseIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterUpperCaseIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitUpperCaseIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitUpperCaseIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class StructContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_struct; - } - - UpperCaseIdentifier() { - return this.getToken(BitloopsParser.UpperCaseIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterStruct(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitStruct(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitStruct(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RegularErrorTypeEvaluationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_regularErrorTypeEvaluation; - } - - errorIdentifier() { - return this.getTypedRuleContext(ErrorIdentifierContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRegularErrorTypeEvaluation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRegularErrorTypeEvaluation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRegularErrorTypeEvaluation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class MethodArgumentsContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_methodArguments; - } - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - argumentList = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ArgumentListContext); - } else { - return this.getTypedRuleContext(ArgumentListContext,i); - } - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterMethodArguments(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitMethodArguments(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitMethodArguments(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class OpenParenContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_openParen; - } - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterOpenParen(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitOpenParen(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitOpenParen(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class CloseParenContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_closeParen; - } - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterCloseParen(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitCloseParen(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitCloseParen(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RegularIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_regularIdentifier; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class DeleteKeywordContext extends RegularIdentifierContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - Delete() { - return this.getToken(BitloopsParser.Delete, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDeleteKeyword(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDeleteKeyword(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDeleteKeyword(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.DeleteKeywordContext = DeleteKeywordContext; - -class RegularDTOEvaluationStringContext extends RegularIdentifierContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - regularDTOEvaluation() { - return this.getTypedRuleContext(RegularDTOEvaluationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRegularDTOEvaluationString(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRegularDTOEvaluationString(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRegularDTOEvaluationString(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.RegularDTOEvaluationStringContext = RegularDTOEvaluationStringContext; - -class RegularStructEvaluationStringContext extends RegularIdentifierContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - regularStructEvaluation() { - return this.getTypedRuleContext(RegularStructEvaluationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRegularStructEvaluationString(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRegularStructEvaluationString(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRegularStructEvaluationString(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.RegularStructEvaluationStringContext = RegularStructEvaluationStringContext; - -class RegularErrorTypeEvaluationStringContext extends RegularIdentifierContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - regularErrorTypeEvaluation() { - return this.getTypedRuleContext(RegularErrorTypeEvaluationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRegularErrorTypeEvaluationString(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRegularErrorTypeEvaluationString(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRegularErrorTypeEvaluationString(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.RegularErrorTypeEvaluationStringContext = RegularErrorTypeEvaluationStringContext; - -class IdentifierStringContext extends RegularIdentifierContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterIdentifierString(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitIdentifierString(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitIdentifierString(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.IdentifierStringContext = IdentifierStringContext; - -class ExecuteExpressionContext extends RegularIdentifierContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - Execute() { - return this.getToken(BitloopsParser.Execute, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterExecuteExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitExecuteExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitExecuteExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.ExecuteExpressionContext = ExecuteExpressionContext; - -class CreateExpressionContext extends RegularIdentifierContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - Create() { - return this.getToken(BitloopsParser.Create, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterCreateExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitCreateExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitCreateExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.CreateExpressionContext = CreateExpressionContext; - -class RegularStringEvaluationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_regularStringEvaluation; - } - - StringLiteral() { - return this.getToken(BitloopsParser.StringLiteral, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRegularStringEvaluation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRegularStringEvaluation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRegularStringEvaluation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RegularIntegerEvaluationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_regularIntegerEvaluation; - } - - IntegerLiteral() { - return this.getToken(BitloopsParser.IntegerLiteral, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRegularIntegerEvaluation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRegularIntegerEvaluation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRegularIntegerEvaluation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RegularDecimalEvaluationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_regularDecimalEvaluation; - } - - DecimalLiteral() { - return this.getToken(BitloopsParser.DecimalLiteral, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRegularDecimalEvaluation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRegularDecimalEvaluation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRegularDecimalEvaluation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RegularBooleanEvaluationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_regularBooleanEvaluation; - } - - BooleanLiteral() { - return this.getToken(BitloopsParser.BooleanLiteral, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRegularBooleanEvaluation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRegularBooleanEvaluation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRegularBooleanEvaluation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RegularStructEvaluationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_regularStructEvaluation; - } - - UpperCaseIdentifier() { - return this.getToken(BitloopsParser.UpperCaseIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRegularStructEvaluation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRegularStructEvaluation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRegularStructEvaluation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RegularDTOEvaluationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_regularDTOEvaluation; - } - - DTOIdentifier() { - return this.getToken(BitloopsParser.DTOIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRegularDTOEvaluation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRegularDTOEvaluation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRegularDTOEvaluation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class FieldContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_field; - } - - bitloopsPrimaryType() { - return this.getTypedRuleContext(BitloopsPrimaryTypeContext,0); - }; - - identifier() { - return this.getTypedRuleContext(IdentifierContext,0); - }; - - Optional() { - return this.getToken(BitloopsParser.Optional, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterField(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitField(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitField(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class BitloopsPrimaryTypeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_bitloopsPrimaryType; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class PrimitivePrimTypeContext extends BitloopsPrimaryTypeContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - primitives() { - return this.getTypedRuleContext(PrimitivesContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPrimitivePrimType(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPrimitivePrimType(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPrimitivePrimType(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.PrimitivePrimTypeContext = PrimitivePrimTypeContext; - -class ArrayBitloopsPrimTypeContext extends BitloopsPrimaryTypeContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - bitloopsPrimaryType() { - return this.getTypedRuleContext(BitloopsPrimaryTypeContext,0); - }; - - OpenBracket() { - return this.getToken(BitloopsParser.OpenBracket, 0); - }; - - CloseBracket() { - return this.getToken(BitloopsParser.CloseBracket, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterArrayBitloopsPrimType(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitArrayBitloopsPrimType(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitArrayBitloopsPrimType(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.ArrayBitloopsPrimTypeContext = ArrayBitloopsPrimTypeContext; - -class BitloopsBuiltInClassPrimTypeContext extends BitloopsPrimaryTypeContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - bitloopsBuiltInClass() { - return this.getTypedRuleContext(BitloopsBuiltInClassContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterBitloopsBuiltInClassPrimType(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitBitloopsBuiltInClassPrimType(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitBitloopsBuiltInClassPrimType(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.BitloopsBuiltInClassPrimTypeContext = BitloopsBuiltInClassPrimTypeContext; - -class BitloopsIdentifierPrimTypeContext extends BitloopsPrimaryTypeContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - bitloopsIdentifiers() { - return this.getTypedRuleContext(BitloopsIdentifiersContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterBitloopsIdentifierPrimType(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitBitloopsIdentifierPrimType(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitBitloopsIdentifierPrimType(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.BitloopsIdentifierPrimTypeContext = BitloopsIdentifierPrimTypeContext; - -class BitloopsBuiltInClassContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_bitloopsBuiltInClass; - } - - UUIDv4() { - return this.getToken(BitloopsParser.UUIDv4, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterBitloopsBuiltInClass(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitBitloopsBuiltInClass(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitBitloopsBuiltInClass(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class PredefinedTypeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_predefinedType; - } - - Any() { - return this.getToken(BitloopsParser.Any, 0); - }; - - Int32() { - return this.getToken(BitloopsParser.Int32, 0); - }; - - Boolean() { - return this.getToken(BitloopsParser.Boolean, 0); - }; - - String() { - return this.getToken(BitloopsParser.String, 0); - }; - - Struct() { - return this.getToken(BitloopsParser.Struct, 0); - }; - - Void() { - return this.getToken(BitloopsParser.Void, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPredefinedType(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPredefinedType(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPredefinedType(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class TypeNameContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_typeName; - } - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - namespaceName() { - return this.getTypedRuleContext(NamespaceNameContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterTypeName(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitTypeName(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitTypeName(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class MethodDefinitionListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_methodDefinitionList; - } - - methodDefinition = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(MethodDefinitionContext); - } else { - return this.getTypedRuleContext(MethodDefinitionContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterMethodDefinitionList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitMethodDefinitionList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitMethodDefinitionList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class MethodDefinitionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_methodDefinition; - } - - identifier() { - return this.getTypedRuleContext(IdentifierContext,0); - }; - - typeAnnotation() { - return this.getTypedRuleContext(TypeAnnotationContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterMethodDefinition(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitMethodDefinition(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitMethodDefinition(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class TypeQueryContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_typeQuery; - } - - Typeof() { - return this.getToken(BitloopsParser.Typeof, 0); - }; - - typeQueryExpression() { - return this.getTypedRuleContext(TypeQueryExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterTypeQuery(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitTypeQuery(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitTypeQuery(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class TypeQueryExpressionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_typeQueryExpression; - } - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - identifierName = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentifierNameContext); - } else { - return this.getTypedRuleContext(IdentifierNameContext,i); - } - }; - - Dot = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Dot); - } else { - return this.getToken(BitloopsParser.Dot, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterTypeQueryExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitTypeQueryExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitTypeQueryExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class TypeAnnotationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_typeAnnotation; - } - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - bitloopsPrimaryType() { - return this.getTypedRuleContext(BitloopsPrimaryTypeContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterTypeAnnotation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitTypeAnnotation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitTypeAnnotation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ParameterListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_parameterList; - } - - restParameter() { - return this.getTypedRuleContext(RestParameterContext,0); - }; - - parameter = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ParameterContext); - } else { - return this.getTypedRuleContext(ParameterContext,i); - } - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterParameterList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitParameterList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitParameterList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RequiredParameterListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_requiredParameterList; - } - - requiredParameter = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(RequiredParameterContext); - } else { - return this.getTypedRuleContext(RequiredParameterContext,i); - } - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRequiredParameterList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRequiredParameterList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRequiredParameterList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ParameterContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_parameter; - } - - requiredParameter() { - return this.getTypedRuleContext(RequiredParameterContext,0); - }; - - optionalParameter() { - return this.getTypedRuleContext(OptionalParameterContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterParameter(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitParameter(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitParameter(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class OptionalParameterContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_optionalParameter; - } - - identifierOrPattern() { - return this.getTypedRuleContext(IdentifierOrPatternContext,0); - }; - - decoratorList() { - return this.getTypedRuleContext(DecoratorListContext,0); - }; - - QuestionMark() { - return this.getToken(BitloopsParser.QuestionMark, 0); - }; - - initializer() { - return this.getTypedRuleContext(InitializerContext,0); - }; - - accessibilityModifier() { - return this.getTypedRuleContext(AccessibilityModifierContext,0); - }; - - typeAnnotation() { - return this.getTypedRuleContext(TypeAnnotationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterOptionalParameter(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitOptionalParameter(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitOptionalParameter(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RestParameterContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_restParameter; - } - - Ellipsis() { - return this.getToken(BitloopsParser.Ellipsis, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - typeAnnotation() { - return this.getTypedRuleContext(TypeAnnotationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRestParameter(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRestParameter(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRestParameter(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RequiredParameterContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_requiredParameter; - } - - identifierOrPattern() { - return this.getTypedRuleContext(IdentifierOrPatternContext,0); - }; - - decoratorList() { - return this.getTypedRuleContext(DecoratorListContext,0); - }; - - accessibilityModifier() { - return this.getTypedRuleContext(AccessibilityModifierContext,0); - }; - - typeAnnotation() { - return this.getTypedRuleContext(TypeAnnotationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRequiredParameter(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRequiredParameter(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRequiredParameter(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class AccessibilityModifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_accessibilityModifier; - } - - Public() { - return this.getToken(BitloopsParser.Public, 0); - }; - - Private() { - return this.getToken(BitloopsParser.Private, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterAccessibilityModifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitAccessibilityModifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitAccessibilityModifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class IdentifierOrPatternContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_identifierOrPattern; - } - - identifierName() { - return this.getTypedRuleContext(IdentifierNameContext,0); - }; - - bindingPattern() { - return this.getTypedRuleContext(BindingPatternContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterIdentifierOrPattern(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitIdentifierOrPattern(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitIdentifierOrPattern(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class IndexSignatureContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_indexSignature; - } - - OpenBracket() { - return this.getToken(BitloopsParser.OpenBracket, 0); - }; - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - CloseBracket() { - return this.getToken(BitloopsParser.CloseBracket, 0); - }; - - typeAnnotation() { - return this.getTypedRuleContext(TypeAnnotationContext,0); - }; - - Int32() { - return this.getToken(BitloopsParser.Int32, 0); - }; - - String() { - return this.getToken(BitloopsParser.String, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterIndexSignature(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitIndexSignature(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitIndexSignature(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class EnumBodyContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_enumBody; - } - - enumMemberList() { - return this.getTypedRuleContext(EnumMemberListContext,0); - }; - - Comma() { - return this.getToken(BitloopsParser.Comma, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterEnumBody(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitEnumBody(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitEnumBody(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class EnumMemberListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_enumMemberList; - } - - enumMember = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(EnumMemberContext); - } else { - return this.getTypedRuleContext(EnumMemberContext,i); - } - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterEnumMemberList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitEnumMemberList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitEnumMemberList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class EnumMemberContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_enumMember; - } - - propertyName() { - return this.getTypedRuleContext(PropertyNameContext,0); - }; - - Assign() { - return this.getToken(BitloopsParser.Assign, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterEnumMember(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitEnumMember(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitEnumMember(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class NamespaceDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_namespaceDeclaration; - } - - Namespace() { - return this.getToken(BitloopsParser.Namespace, 0); - }; - - namespaceName() { - return this.getTypedRuleContext(NamespaceNameContext,0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - statementList() { - return this.getTypedRuleContext(StatementListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterNamespaceDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitNamespaceDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitNamespaceDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class NamespaceNameContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_namespaceName; - } - - Identifier = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Identifier); - } else { - return this.getToken(BitloopsParser.Identifier, i); - } - }; - - - Dot = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Dot); - } else { - return this.getToken(BitloopsParser.Dot, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterNamespaceName(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitNamespaceName(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitNamespaceName(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ImportAliasDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_importAliasDeclaration; - } - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - Assign() { - return this.getToken(BitloopsParser.Assign, 0); - }; - - namespaceName() { - return this.getTypedRuleContext(NamespaceNameContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterImportAliasDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitImportAliasDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitImportAliasDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DecoratorListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_decoratorList; - } - - decorator = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(DecoratorContext); - } else { - return this.getTypedRuleContext(DecoratorContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDecoratorList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDecoratorList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDecoratorList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DecoratorContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_decorator; - } - - At() { - return this.getToken(BitloopsParser.At, 0); - }; - - decoratorMemberExpression() { - return this.getTypedRuleContext(DecoratorMemberExpressionContext,0); - }; - - decoratorCallExpression() { - return this.getTypedRuleContext(DecoratorCallExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDecorator(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDecorator(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDecorator(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DecoratorMemberExpressionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_decoratorMemberExpression; - } - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - decoratorMemberExpression() { - return this.getTypedRuleContext(DecoratorMemberExpressionContext,0); - }; - - Dot() { - return this.getToken(BitloopsParser.Dot, 0); - }; - - identifierName() { - return this.getTypedRuleContext(IdentifierNameContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDecoratorMemberExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDecoratorMemberExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDecoratorMemberExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DecoratorCallExpressionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_decoratorCallExpression; - } - - decoratorMemberExpression() { - return this.getTypedRuleContext(DecoratorMemberExpressionContext,0); - }; - - arguments() { - return this.getTypedRuleContext(ArgumentsContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDecoratorCallExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDecoratorCallExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDecoratorCallExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ProgramContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_program; - } - - sourceElement = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(SourceElementContext); - } else { - return this.getTypedRuleContext(SourceElementContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterProgram(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitProgram(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitProgram(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class SourceElementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_sourceElement; - } - - dtoDeclaration() { - return this.getTypedRuleContext(DtoDeclarationContext,0); - }; - - domainErrorDeclaration() { - return this.getTypedRuleContext(DomainErrorDeclarationContext,0); - }; - - applicationErrorDeclaration() { - return this.getTypedRuleContext(ApplicationErrorDeclarationContext,0); - }; - - controllerDeclaration() { - return this.getTypedRuleContext(ControllerDeclarationContext,0); - }; - - jestTestDeclaration() { - return this.getTypedRuleContext(JestTestDeclarationContext,0); - }; - - propsDeclaration() { - return this.getTypedRuleContext(PropsDeclarationContext,0); - }; - - structDeclaration() { - return this.getTypedRuleContext(StructDeclarationContext,0); - }; - - useCaseDeclaration() { - return this.getTypedRuleContext(UseCaseDeclarationContext,0); - }; - - packagePortDeclaration() { - return this.getTypedRuleContext(PackagePortDeclarationContext,0); - }; - - valueObjectDeclaration() { - return this.getTypedRuleContext(ValueObjectDeclarationContext,0); - }; - - domainRuleDeclaration() { - return this.getTypedRuleContext(DomainRuleDeclarationContext,0); - }; - - entityDeclaration() { - return this.getTypedRuleContext(EntityDeclarationContext,0); - }; - - aggregateDeclaration() { - return this.getTypedRuleContext(AggregateDeclarationContext,0); - }; - - repoPortDeclaration() { - return this.getTypedRuleContext(RepoPortDeclarationContext,0); - }; - - readModelDeclaration() { - return this.getTypedRuleContext(ReadModelDeclarationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterSourceElement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitSourceElement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitSourceElement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class JestTestDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_jestTestDeclaration; - } - - JestTestFunctionBody() { - return this.getToken(BitloopsParser.JestTestFunctionBody, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - functionBody() { - return this.getTypedRuleContext(FunctionBodyContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - SemiColon = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.SemiColon); - } else { - return this.getToken(BitloopsParser.SemiColon, i); - } - }; - - - JestTestStatementList() { - return this.getToken(BitloopsParser.JestTestStatementList, 0); - }; - - statementList() { - return this.getTypedRuleContext(StatementListContext,0); - }; - - JestTestStatement() { - return this.getToken(BitloopsParser.JestTestStatement, 0); - }; - - statement() { - return this.getTypedRuleContext(StatementContext,0); - }; - - JestTestStructEvaluation() { - return this.getToken(BitloopsParser.JestTestStructEvaluation, 0); - }; - - structEvaluation() { - return this.getTypedRuleContext(StructEvaluationContext,0); - }; - - JestTestDTOEvaluation() { - return this.getToken(BitloopsParser.JestTestDTOEvaluation, 0); - }; - - dtoEvaluation() { - return this.getTypedRuleContext(DtoEvaluationContext,0); - }; - - JestTestEvaluation() { - return this.getToken(BitloopsParser.JestTestEvaluation, 0); - }; - - evaluation() { - return this.getTypedRuleContext(EvaluationContext,0); - }; - - JestTestIsInstanceOf() { - return this.getToken(BitloopsParser.JestTestIsInstanceOf, 0); - }; - - isInstanceOf() { - return this.getTypedRuleContext(IsInstanceOfContext,0); - }; - - JestTest() { - return this.getToken(BitloopsParser.JestTest, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - restControllerParameters() { - return this.getTypedRuleContext(RestControllerParametersContext,0); - }; - - restControllerExecuteDeclaration() { - return this.getTypedRuleContext(RestControllerExecuteDeclarationContext,0); - }; - - restControllerMethodDeclaration() { - return this.getTypedRuleContext(RestControllerMethodDeclarationContext,0); - }; - - JestTestBuiltInClass() { - return this.getToken(BitloopsParser.JestTestBuiltInClass, 0); - }; - - builtInClassEvaluation() { - return this.getTypedRuleContext(BuiltInClassEvaluationContext,0); - }; - - JestTestReturnOkErrorType() { - return this.getToken(BitloopsParser.JestTestReturnOkErrorType, 0); - }; - - returnOkErrorType() { - return this.getTypedRuleContext(ReturnOkErrorTypeContext,0); - }; - - JestTestConstDeclaration() { - return this.getToken(BitloopsParser.JestTestConstDeclaration, 0); - }; - - constDeclaration() { - return this.getTypedRuleContext(ConstDeclarationContext,0); - }; - - JestTestExpression() { - return this.getToken(BitloopsParser.JestTestExpression, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - JestTestMethodDefinitionList() { - return this.getToken(BitloopsParser.JestTestMethodDefinitionList, 0); - }; - - methodDefinitionList() { - return this.getTypedRuleContext(MethodDefinitionListContext,0); - }; - - JestTestCreateMethodDeclaration() { - return this.getToken(BitloopsParser.JestTestCreateMethodDeclaration, 0); - }; - - domainConstructorDeclaration() { - return this.getTypedRuleContext(DomainConstructorDeclarationContext,0); - }; - - JestTestPrivateMethodDeclaration() { - return this.getToken(BitloopsParser.JestTestPrivateMethodDeclaration, 0); - }; - - privateMethodDeclaration() { - return this.getTypedRuleContext(PrivateMethodDeclarationContext,0); - }; - - JestTestPublicMethodDeclaration() { - return this.getToken(BitloopsParser.JestTestPublicMethodDeclaration, 0); - }; - - publicMethodDeclaration() { - return this.getTypedRuleContext(PublicMethodDeclarationContext,0); - }; - - JestTestValueObjectDeclaration() { - return this.getToken(BitloopsParser.JestTestValueObjectDeclaration, 0); - }; - - valueObjectDeclaration() { - return this.getTypedRuleContext(ValueObjectDeclarationContext,0); - }; - - JestTestEntityDeclaration() { - return this.getToken(BitloopsParser.JestTestEntityDeclaration, 0); - }; - - entityDeclaration() { - return this.getTypedRuleContext(EntityDeclarationContext,0); - }; - - JestTestCondition() { - return this.getToken(BitloopsParser.JestTestCondition, 0); - }; - - condition() { - return this.getTypedRuleContext(ConditionContext,0); - }; - - JestTestVariableDeclaration() { - return this.getToken(BitloopsParser.JestTestVariableDeclaration, 0); - }; - - variableDeclaration() { - return this.getTypedRuleContext(VariableDeclarationContext,0); - }; - - JestTestValueObjectEvaluation() { - return this.getToken(BitloopsParser.JestTestValueObjectEvaluation, 0); - }; - - valueObjectEvaluation() { - return this.getTypedRuleContext(ValueObjectEvaluationContext,0); - }; - - JestTestEntityEvaluation() { - return this.getToken(BitloopsParser.JestTestEntityEvaluation, 0); - }; - - entityEvaluation() { - return this.getTypedRuleContext(EntityEvaluationContext,0); - }; - - JestTestBuiltInFunction() { - return this.getToken(BitloopsParser.JestTestBuiltInFunction, 0); - }; - - builtInFunction() { - return this.getTypedRuleContext(BuiltInFunctionContext,0); - }; - - JestTestBitloopsPrimaryType() { - return this.getToken(BitloopsParser.JestTestBitloopsPrimaryType, 0); - }; - - bitloopsPrimaryType() { - return this.getTypedRuleContext(BitloopsPrimaryTypeContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterJestTestDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitJestTestDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitJestTestDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ErrorEvaluationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_errorEvaluation; - } - - ErrorIdentifier() { - return this.getToken(BitloopsParser.ErrorIdentifier, 0); - }; - - methodArguments() { - return this.getTypedRuleContext(MethodArgumentsContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterErrorEvaluation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitErrorEvaluation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitErrorEvaluation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class EvaluationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_evaluation; - } - - isInstanceOf() { - return this.getTypedRuleContext(IsInstanceOfContext,0); - }; - - builtInClassEvaluation() { - return this.getTypedRuleContext(BuiltInClassEvaluationContext,0); - }; - - errorEvaluation() { - return this.getTypedRuleContext(ErrorEvaluationContext,0); - }; - - dtoEvaluation() { - return this.getTypedRuleContext(DtoEvaluationContext,0); - }; - - valueObjectEvaluation() { - return this.getTypedRuleContext(ValueObjectEvaluationContext,0); - }; - - entityEvaluation() { - return this.getTypedRuleContext(EntityEvaluationContext,0); - }; - - propsEvaluation() { - return this.getTypedRuleContext(PropsEvaluationContext,0); - }; - - structEvaluation() { - return this.getTypedRuleContext(StructEvaluationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterEvaluation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitEvaluation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitEvaluation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ConditionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_condition; - } - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterCondition(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitCondition(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitCondition(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ReturnStatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_returnStatement; - } - - Return() { - return this.getToken(BitloopsParser.Return, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterReturnStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitReturnStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitReturnStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ConstDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_constDeclaration; - } - - Const() { - return this.getToken(BitloopsParser.Const, 0); - }; - - identifier() { - return this.getTypedRuleContext(IdentifierContext,0); - }; - - Assign() { - return this.getToken(BitloopsParser.Assign, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - typeAnnotation() { - return this.getTypedRuleContext(TypeAnnotationContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterConstDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitConstDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitConstDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class VariableDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_variableDeclaration; - } - - identifier() { - return this.getTypedRuleContext(IdentifierContext,0); - }; - - typeAnnotation() { - return this.getTypedRuleContext(TypeAnnotationContext,0); - }; - - Assign() { - return this.getToken(BitloopsParser.Assign, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterVariableDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitVariableDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitVariableDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class StatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_statement; - } - - block() { - return this.getTypedRuleContext(BlockContext,0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - constDeclaration() { - return this.getTypedRuleContext(ConstDeclarationContext,0); - }; - - variableDeclaration() { - return this.getTypedRuleContext(VariableDeclarationContext,0); - }; - - emptyStatement_() { - return this.getTypedRuleContext(EmptyStatement_Context,0); - }; - - propsDeclaration() { - return this.getTypedRuleContext(PropsDeclarationContext,0); - }; - - namespaceDeclaration() { - return this.getTypedRuleContext(NamespaceDeclarationContext,0); - }; - - ifStatement() { - return this.getTypedRuleContext(IfStatementContext,0); - }; - - breakStatement() { - return this.getTypedRuleContext(BreakStatementContext,0); - }; - - switchStatement() { - return this.getTypedRuleContext(SwitchStatementContext,0); - }; - - iterationStatement() { - return this.getTypedRuleContext(IterationStatementContext,0); - }; - - returnStatement() { - return this.getTypedRuleContext(ReturnStatementContext,0); - }; - - throwStatement() { - return this.getTypedRuleContext(ThrowStatementContext,0); - }; - - tryStatement() { - return this.getTypedRuleContext(TryStatementContext,0); - }; - - arrowFunctionDeclaration() { - return this.getTypedRuleContext(ArrowFunctionDeclarationContext,0); - }; - - builtInFunction() { - return this.getTypedRuleContext(BuiltInFunctionContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class BuiltInFunctionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_builtInFunction; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class ApplyRulesStatementContext extends BuiltInFunctionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - ApplyRules() { - return this.getToken(BitloopsParser.ApplyRules, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - applyRuleStatementRulesList() { - return this.getTypedRuleContext(ApplyRuleStatementRulesListContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterApplyRulesStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitApplyRulesStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitApplyRulesStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.ApplyRulesStatementContext = ApplyRulesStatementContext; - -class ApplyRuleStatementRulesListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_applyRuleStatementRulesList; - } - - applyRulesRule = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ApplyRulesRuleContext); - } else { - return this.getTypedRuleContext(ApplyRulesRuleContext,i); - } - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterApplyRuleStatementRulesList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitApplyRuleStatementRulesList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitApplyRuleStatementRulesList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ApplyRulesRuleContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_applyRulesRule; - } - - domainRuleIdentifier() { - return this.getTypedRuleContext(DomainRuleIdentifierContext,0); - }; - - arguments() { - return this.getTypedRuleContext(ArgumentsContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterApplyRulesRule(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitApplyRulesRule(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitApplyRulesRule(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class BlockContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_block; - } - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - statementList() { - return this.getTypedRuleContext(StatementListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterBlock(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitBlock(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitBlock(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class StatementListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_statementList; - } - - statement = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(StatementContext); - } else { - return this.getTypedRuleContext(StatementContext,i); - } - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterStatementList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitStatementList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitStatementList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class FromBlockContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_fromBlock; - } - - From() { - return this.getToken(BitloopsParser.From, 0); - }; - - StringLiteral() { - return this.getToken(BitloopsParser.StringLiteral, 0); - }; - - eos() { - return this.getTypedRuleContext(EosContext,0); - }; - - Multiply() { - return this.getToken(BitloopsParser.Multiply, 0); - }; - - multipleImportStatement() { - return this.getTypedRuleContext(MultipleImportStatementContext,0); - }; - - As() { - return this.getToken(BitloopsParser.As, 0); - }; - - identifierName() { - return this.getTypedRuleContext(IdentifierNameContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterFromBlock(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitFromBlock(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitFromBlock(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class MultipleImportStatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_multipleImportStatement; - } - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - identifierName = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IdentifierNameContext); - } else { - return this.getTypedRuleContext(IdentifierNameContext,i); - } - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterMultipleImportStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitMultipleImportStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitMultipleImportStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class VariableDeclarationListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_variableDeclarationList; - } - - variableDeclaration = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(VariableDeclarationContext); - } else { - return this.getTypedRuleContext(VariableDeclarationContext,i); - } - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterVariableDeclarationList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitVariableDeclarationList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitVariableDeclarationList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class EmptyStatement_Context extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_emptyStatement_; - } - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterEmptyStatement_(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitEmptyStatement_(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitEmptyStatement_(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ExpressionStatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_expressionStatement; - } - - expressionSequence() { - return this.getTypedRuleContext(ExpressionSequenceContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterExpressionStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitExpressionStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitExpressionStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class IfStatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_ifStatement; - } - - If() { - return this.getToken(BitloopsParser.If, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - condition() { - return this.getTypedRuleContext(ConditionContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - statement = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(StatementContext); - } else { - return this.getTypedRuleContext(StatementContext,i); - } - }; - - Else() { - return this.getToken(BitloopsParser.Else, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterIfStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitIfStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitIfStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class IterationStatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_iterationStatement; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class DoStatementContext extends IterationStatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - Do() { - return this.getToken(BitloopsParser.Do, 0); - }; - - statement() { - return this.getTypedRuleContext(StatementContext,0); - }; - - While() { - return this.getToken(BitloopsParser.While, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - expressionSequence() { - return this.getTypedRuleContext(ExpressionSequenceContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - eos() { - return this.getTypedRuleContext(EosContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDoStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDoStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDoStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.DoStatementContext = DoStatementContext; - -class ForVarStatementContext extends IterationStatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - For() { - return this.getToken(BitloopsParser.For, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - varModifier() { - return this.getTypedRuleContext(VarModifierContext,0); - }; - - variableDeclarationList() { - return this.getTypedRuleContext(VariableDeclarationListContext,0); - }; - - SemiColon = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.SemiColon); - } else { - return this.getToken(BitloopsParser.SemiColon, i); - } - }; - - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - statement() { - return this.getTypedRuleContext(StatementContext,0); - }; - - expressionSequence = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionSequenceContext); - } else { - return this.getTypedRuleContext(ExpressionSequenceContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterForVarStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitForVarStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitForVarStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.ForVarStatementContext = ForVarStatementContext; - -class ForVarInStatementContext extends IterationStatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - For() { - return this.getToken(BitloopsParser.For, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - varModifier() { - return this.getTypedRuleContext(VarModifierContext,0); - }; - - variableDeclaration() { - return this.getTypedRuleContext(VariableDeclarationContext,0); - }; - - expressionSequence() { - return this.getTypedRuleContext(ExpressionSequenceContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - statement() { - return this.getTypedRuleContext(StatementContext,0); - }; - - In() { - return this.getToken(BitloopsParser.In, 0); - }; - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterForVarInStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitForVarInStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitForVarInStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.ForVarInStatementContext = ForVarInStatementContext; - -class WhileStatementContext extends IterationStatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - While() { - return this.getToken(BitloopsParser.While, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - expressionSequence() { - return this.getTypedRuleContext(ExpressionSequenceContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - statement() { - return this.getTypedRuleContext(StatementContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterWhileStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitWhileStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitWhileStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.WhileStatementContext = WhileStatementContext; - -class ForStatementContext extends IterationStatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - For() { - return this.getToken(BitloopsParser.For, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - SemiColon = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.SemiColon); - } else { - return this.getToken(BitloopsParser.SemiColon, i); - } - }; - - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - statement() { - return this.getTypedRuleContext(StatementContext,0); - }; - - expressionSequence = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionSequenceContext); - } else { - return this.getTypedRuleContext(ExpressionSequenceContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterForStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitForStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitForStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.ForStatementContext = ForStatementContext; - -class ForInStatementContext extends IterationStatementContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - For() { - return this.getToken(BitloopsParser.For, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - expressionSequence() { - return this.getTypedRuleContext(ExpressionSequenceContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - statement() { - return this.getTypedRuleContext(StatementContext,0); - }; - - In() { - return this.getToken(BitloopsParser.In, 0); - }; - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterForInStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitForInStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitForInStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.ForInStatementContext = ForInStatementContext; - -class VarModifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_varModifier; - } - - Var() { - return this.getToken(BitloopsParser.Var, 0); - }; - - Let() { - return this.getToken(BitloopsParser.Let, 0); - }; - - Const() { - return this.getToken(BitloopsParser.Const, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterVarModifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitVarModifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitVarModifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ContinueStatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_continueStatement; - } - - Continue() { - return this.getToken(BitloopsParser.Continue, 0); - }; - - eos() { - return this.getTypedRuleContext(EosContext,0); - }; - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterContinueStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitContinueStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitContinueStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class BreakStatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_breakStatement; - } - - Break() { - return this.getToken(BitloopsParser.Break, 0); - }; - - eos() { - return this.getTypedRuleContext(EosContext,0); - }; - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterBreakStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitBreakStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitBreakStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class WithStatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_withStatement; - } - - With() { - return this.getToken(BitloopsParser.With, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - expressionSequence() { - return this.getTypedRuleContext(ExpressionSequenceContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - statement() { - return this.getTypedRuleContext(StatementContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterWithStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitWithStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitWithStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class SwitchStatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_switchStatement; - } - - Switch() { - return this.getToken(BitloopsParser.Switch, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - condition() { - return this.getTypedRuleContext(ConditionContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - caseBlock() { - return this.getTypedRuleContext(CaseBlockContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterSwitchStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitSwitchStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitSwitchStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class CaseBlockContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_caseBlock; - } - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - defaultClause() { - return this.getTypedRuleContext(DefaultClauseContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - caseClauses = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(CaseClausesContext); - } else { - return this.getTypedRuleContext(CaseClausesContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterCaseBlock(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitCaseBlock(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitCaseBlock(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class CaseClausesContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_caseClauses; - } - - caseClause = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(CaseClauseContext); - } else { - return this.getTypedRuleContext(CaseClauseContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterCaseClauses(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitCaseClauses(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitCaseClauses(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class CaseClauseContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_caseClause; - } - - Case() { - return this.getToken(BitloopsParser.Case, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - statementList() { - return this.getTypedRuleContext(StatementListContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterCaseClause(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitCaseClause(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitCaseClause(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DefaultClauseContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_defaultClause; - } - - Default() { - return this.getToken(BitloopsParser.Default, 0); - }; - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - statementList() { - return this.getTypedRuleContext(StatementListContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDefaultClause(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDefaultClause(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDefaultClause(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class LabelledStatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_labelledStatement; - } - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - statement() { - return this.getTypedRuleContext(StatementContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterLabelledStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitLabelledStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitLabelledStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ThrowStatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_throwStatement; - } - - Throw() { - return this.getToken(BitloopsParser.Throw, 0); - }; - - expressionSequence() { - return this.getTypedRuleContext(ExpressionSequenceContext,0); - }; - - eos() { - return this.getTypedRuleContext(EosContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterThrowStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitThrowStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitThrowStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class TryStatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_tryStatement; - } - - Try() { - return this.getToken(BitloopsParser.Try, 0); - }; - - block() { - return this.getTypedRuleContext(BlockContext,0); - }; - - catchProduction() { - return this.getTypedRuleContext(CatchProductionContext,0); - }; - - finallyProduction() { - return this.getTypedRuleContext(FinallyProductionContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterTryStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitTryStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitTryStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class CatchProductionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_catchProduction; - } - - Catch() { - return this.getToken(BitloopsParser.Catch, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - block() { - return this.getTypedRuleContext(BlockContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterCatchProduction(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitCatchProduction(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitCatchProduction(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class FinallyProductionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_finallyProduction; - } - - Finally() { - return this.getToken(BitloopsParser.Finally, 0); - }; - - block() { - return this.getTypedRuleContext(BlockContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterFinallyProduction(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitFinallyProduction(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitFinallyProduction(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DebuggerStatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_debuggerStatement; - } - - Debugger() { - return this.getToken(BitloopsParser.Debugger, 0); - }; - - eos() { - return this.getTypedRuleContext(EosContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDebuggerStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDebuggerStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDebuggerStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DomainFieldDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_domainFieldDeclaration; - } - - fieldList() { - return this.getTypedRuleContext(FieldListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDomainFieldDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDomainFieldDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDomainFieldDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class IsBrokenStatementContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_isBrokenStatement; - } - - IsBrokenIf() { - return this.getToken(BitloopsParser.IsBrokenIf, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterIsBrokenStatement(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitIsBrokenStatement(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitIsBrokenStatement(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DomainRuleBodyContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_domainRuleBody; - } - - functionBody() { - return this.getTypedRuleContext(FunctionBodyContext,0); - }; - - isBrokenStatement() { - return this.getTypedRuleContext(IsBrokenStatementContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDomainRuleBody(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDomainRuleBody(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDomainRuleBody(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DomainRuleDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_domainRuleDeclaration; - } - - Rule() { - return this.getToken(BitloopsParser.Rule, 0); - }; - - domainRuleIdentifier() { - return this.getTypedRuleContext(DomainRuleIdentifierContext,0); - }; - - Throws() { - return this.getToken(BitloopsParser.Throws, 0); - }; - - ErrorIdentifier() { - return this.getToken(BitloopsParser.ErrorIdentifier, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - domainRuleBody() { - return this.getTypedRuleContext(DomainRuleBodyContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDomainRuleDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDomainRuleDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDomainRuleDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class AggregateDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_aggregateDeclaration; - } - - Root() { - return this.getToken(BitloopsParser.Root, 0); - }; - - Entity() { - return this.getToken(BitloopsParser.Entity, 0); - }; - - entityIdentifier() { - return this.getTypedRuleContext(EntityIdentifierContext,0); - }; - - entityBody() { - return this.getTypedRuleContext(EntityBodyContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterAggregateDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitAggregateDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitAggregateDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DomainConstDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_domainConstDeclaration; - } - - constDeclaration() { - return this.getTypedRuleContext(ConstDeclarationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDomainConstDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDomainConstDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDomainConstDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class EntityDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_entityDeclaration; - } - - Entity() { - return this.getToken(BitloopsParser.Entity, 0); - }; - - entityIdentifier() { - return this.getTypedRuleContext(EntityIdentifierContext,0); - }; - - entityBody() { - return this.getTypedRuleContext(EntityBodyContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterEntityDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitEntityDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitEntityDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class EntityBodyContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_entityBody; - } - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - domainConstDeclarationList() { - return this.getTypedRuleContext(DomainConstDeclarationListContext,0); - }; - - domainConstructorDeclaration() { - return this.getTypedRuleContext(DomainConstructorDeclarationContext,0); - }; - - publicMethodDeclarationList() { - return this.getTypedRuleContext(PublicMethodDeclarationListContext,0); - }; - - privateMethodDeclarationList() { - return this.getTypedRuleContext(PrivateMethodDeclarationListContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterEntityBody(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitEntityBody(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitEntityBody(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ValueObjectDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_valueObjectDeclaration; - } - - ValueObject() { - return this.getToken(BitloopsParser.ValueObject, 0); - }; - - valueObjectIdentifier() { - return this.getTypedRuleContext(ValueObjectIdentifierContext,0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - domainConstDeclarationList() { - return this.getTypedRuleContext(DomainConstDeclarationListContext,0); - }; - - domainConstructorDeclaration() { - return this.getTypedRuleContext(DomainConstructorDeclarationContext,0); - }; - - privateMethodDeclarationList() { - return this.getTypedRuleContext(PrivateMethodDeclarationListContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterValueObjectDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitValueObjectDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitValueObjectDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DomainConstDeclarationListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_domainConstDeclarationList; - } - - domainConstDeclaration = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(DomainConstDeclarationContext); - } else { - return this.getTypedRuleContext(DomainConstDeclarationContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDomainConstDeclarationList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDomainConstDeclarationList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDomainConstDeclarationList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class PublicMethodDeclarationListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_publicMethodDeclarationList; - } - - publicMethodDeclaration = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(PublicMethodDeclarationContext); - } else { - return this.getTypedRuleContext(PublicMethodDeclarationContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPublicMethodDeclarationList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPublicMethodDeclarationList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPublicMethodDeclarationList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class PrivateMethodDeclarationListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_privateMethodDeclarationList; - } - - privateMethodDeclaration = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(PrivateMethodDeclarationContext); - } else { - return this.getTypedRuleContext(PrivateMethodDeclarationContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPrivateMethodDeclarationList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPrivateMethodDeclarationList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPrivateMethodDeclarationList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DomainConstructorDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_domainConstructorDeclaration; - } - - Constructor() { - return this.getToken(BitloopsParser.Constructor, 0); - }; - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - returnOkErrorType() { - return this.getTypedRuleContext(ReturnOkErrorTypeContext,0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - functionBody() { - return this.getTypedRuleContext(FunctionBodyContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDomainConstructorDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDomainConstructorDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDomainConstructorDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class UseCaseIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_useCaseIdentifier; - } - - UseCaseIdentifier() { - return this.getToken(BitloopsParser.UseCaseIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterUseCaseIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitUseCaseIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitUseCaseIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class UseCaseDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_useCaseDeclaration; - } - - UseCase() { - return this.getToken(BitloopsParser.UseCase, 0); - }; - - useCaseIdentifier() { - return this.getTypedRuleContext(UseCaseIdentifierContext,0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - useCaseExecuteDeclaration() { - return this.getTypedRuleContext(UseCaseExecuteDeclarationContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterUseCaseDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitUseCaseDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitUseCaseDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class PropsDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_propsDeclaration; - } - - Props() { - return this.getToken(BitloopsParser.Props, 0); - }; - - PropsIdentifier() { - return this.getToken(BitloopsParser.PropsIdentifier, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - fieldList() { - return this.getTypedRuleContext(FieldListContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPropsDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPropsDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPropsDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ReadModelDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_readModelDeclaration; - } - - ReadModel() { - return this.getToken(BitloopsParser.ReadModel, 0); - }; - - ReadModelIdentifier() { - return this.getToken(BitloopsParser.ReadModelIdentifier, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - fieldList() { - return this.getTypedRuleContext(FieldListContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterReadModelDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitReadModelDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitReadModelDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RepoPortDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_repoPortDeclaration; - } - - RepoPort() { - return this.getToken(BitloopsParser.RepoPort, 0); - }; - - repoPortIdentifier() { - return this.getTypedRuleContext(RepoPortIdentifierContext,0); - }; - - LessThan() { - return this.getToken(BitloopsParser.LessThan, 0); - }; - - ReadModelIdentifier() { - return this.getToken(BitloopsParser.ReadModelIdentifier, 0); - }; - - MoreThan() { - return this.getToken(BitloopsParser.MoreThan, 0); - }; - - repoExtendsList() { - return this.getTypedRuleContext(RepoExtendsListContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - repoPortMethodDefinitions() { - return this.getTypedRuleContext(RepoPortMethodDefinitionsContext,0); - }; - - aggregateRootIdentifier() { - return this.getTypedRuleContext(AggregateRootIdentifierContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRepoPortDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRepoPortDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRepoPortDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RepoPortIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_repoPortIdentifier; - } - - RepoPortIdentifier() { - return this.getToken(BitloopsParser.RepoPortIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRepoPortIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRepoPortIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRepoPortIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class AggregateRootIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_aggregateRootIdentifier; - } - - EntityIdentifier() { - return this.getToken(BitloopsParser.EntityIdentifier, 0); - }; - - ReadModelIdentifier() { - return this.getToken(BitloopsParser.ReadModelIdentifier, 0); - }; - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - UpperCaseIdentifier() { - return this.getToken(BitloopsParser.UpperCaseIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterAggregateRootIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitAggregateRootIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitAggregateRootIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RepoExtendsListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_repoExtendsList; - } - - Extends() { - return this.getToken(BitloopsParser.Extends, 0); - }; - - repoPortExtendableIdentifierList() { - return this.getTypedRuleContext(RepoPortExtendableIdentifierListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRepoExtendsList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRepoExtendsList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRepoExtendsList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RepoPortMethodDefinitionsContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_repoPortMethodDefinitions; - } - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - methodDefinitionList() { - return this.getTypedRuleContext(MethodDefinitionListContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRepoPortMethodDefinitions(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRepoPortMethodDefinitions(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRepoPortMethodDefinitions(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RepoPortExtendableIdentifierListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_repoPortExtendableIdentifierList; - } - - repoPortExtendableIdentifier = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(RepoPortExtendableIdentifierContext); - } else { - return this.getTypedRuleContext(RepoPortExtendableIdentifierContext,i); - } - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRepoPortExtendableIdentifierList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRepoPortExtendableIdentifierList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRepoPortExtendableIdentifierList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RepoPortExtendableIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_repoPortExtendableIdentifier; - } - - RepoPortIdentifier() { - return this.getToken(BitloopsParser.RepoPortIdentifier, 0); - }; - - UpperCaseIdentifier = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.UpperCaseIdentifier); - } else { - return this.getToken(BitloopsParser.UpperCaseIdentifier, i); - } - }; - - - LessThan() { - return this.getToken(BitloopsParser.LessThan, 0); - }; - - MoreThan() { - return this.getToken(BitloopsParser.MoreThan, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRepoPortExtendableIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRepoPortExtendableIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRepoPortExtendableIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DtoDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_dtoDeclaration; - } - - DTO() { - return this.getToken(BitloopsParser.DTO, 0); - }; - - DTOIdentifier() { - return this.getToken(BitloopsParser.DTOIdentifier, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - fieldList() { - return this.getTypedRuleContext(FieldListContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDtoDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDtoDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDtoDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class StructDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_structDeclaration; - } - - Struct() { - return this.getToken(BitloopsParser.Struct, 0); - }; - - UpperCaseIdentifier() { - return this.getToken(BitloopsParser.UpperCaseIdentifier, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - fieldList() { - return this.getTypedRuleContext(FieldListContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterStructDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitStructDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitStructDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DtoEvaluationIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_dtoEvaluationIdentifier; - } - - dtoIdentifier() { - return this.getTypedRuleContext(DtoIdentifierContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDtoEvaluationIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDtoEvaluationIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDtoEvaluationIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DtoEvaluationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_dtoEvaluation; - } - - dtoEvaluationIdentifier() { - return this.getTypedRuleContext(DtoEvaluationIdentifierContext,0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - evaluationFieldList() { - return this.getTypedRuleContext(EvaluationFieldListContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDtoEvaluation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDtoEvaluation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDtoEvaluation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ValueObjectEvaluationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_valueObjectEvaluation; - } - - valueObjectIdentifier() { - return this.getTypedRuleContext(ValueObjectIdentifierContext,0); - }; - - domainEvaluationInput() { - return this.getTypedRuleContext(DomainEvaluationInputContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterValueObjectEvaluation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitValueObjectEvaluation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitValueObjectEvaluation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DomainEvaluationInputContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_domainEvaluationInput; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class DomainEvaluationInputRegularContext extends DomainEvaluationInputContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDomainEvaluationInputRegular(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDomainEvaluationInputRegular(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDomainEvaluationInputRegular(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.DomainEvaluationInputRegularContext = DomainEvaluationInputRegularContext; - -class DomainEvaluationInputFieldListContext extends DomainEvaluationInputContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - evaluationFieldList() { - return this.getTypedRuleContext(EvaluationFieldListContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDomainEvaluationInputFieldList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDomainEvaluationInputFieldList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDomainEvaluationInputFieldList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.DomainEvaluationInputFieldListContext = DomainEvaluationInputFieldListContext; - -class EntityEvaluationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_entityEvaluation; - } - - entityIdentifier() { - return this.getTypedRuleContext(EntityIdentifierContext,0); - }; - - domainEvaluationInput() { - return this.getTypedRuleContext(DomainEvaluationInputContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterEntityEvaluation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitEntityEvaluation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitEntityEvaluation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class StructEvaluationIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_structEvaluationIdentifier; - } - - UpperCaseIdentifier() { - return this.getToken(BitloopsParser.UpperCaseIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterStructEvaluationIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitStructEvaluationIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitStructEvaluationIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class StructEvaluationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_structEvaluation; - } - - structEvaluationIdentifier() { - return this.getTypedRuleContext(StructEvaluationIdentifierContext,0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - evaluationFieldList() { - return this.getTypedRuleContext(EvaluationFieldListContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterStructEvaluation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitStructEvaluation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitStructEvaluation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class BuiltInClassEvaluationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_builtInClassEvaluation; - } - - bitloopsBuiltInClass() { - return this.getTypedRuleContext(BitloopsBuiltInClassContext,0); - }; - - methodArguments() { - return this.getTypedRuleContext(MethodArgumentsContext,0); - }; - - Dot() { - return this.getToken(BitloopsParser.Dot, 0); - }; - - identifier() { - return this.getTypedRuleContext(IdentifierContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterBuiltInClassEvaluation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitBuiltInClassEvaluation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitBuiltInClassEvaluation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class PropsEvaluationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_propsEvaluation; - } - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - propsIdentifier() { - return this.getTypedRuleContext(PropsIdentifierContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - evaluationFieldList() { - return this.getTypedRuleContext(EvaluationFieldListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPropsEvaluation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPropsEvaluation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPropsEvaluation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DomainErrorDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_domainErrorDeclaration; - } - - DomainError() { - return this.getToken(BitloopsParser.DomainError, 0); - }; - - domainErrorIdentifier() { - return this.getTypedRuleContext(DomainErrorIdentifierContext,0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - evaluationFieldList() { - return this.getTypedRuleContext(EvaluationFieldListContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDomainErrorDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDomainErrorDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDomainErrorDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ApplicationErrorDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_applicationErrorDeclaration; - } - - ApplicationError() { - return this.getToken(BitloopsParser.ApplicationError, 0); - }; - - applicationErrorIdentifier() { - return this.getTypedRuleContext(ApplicationErrorIdentifierContext,0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - evaluationFieldList() { - return this.getTypedRuleContext(EvaluationFieldListContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterApplicationErrorDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitApplicationErrorDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitApplicationErrorDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DomainErrorIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_domainErrorIdentifier; - } - - DomainErrorIdentifier() { - return this.getToken(BitloopsParser.DomainErrorIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDomainErrorIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDomainErrorIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDomainErrorIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ApplicationErrorIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_applicationErrorIdentifier; - } - - DomainErrorIdentifier() { - return this.getToken(BitloopsParser.DomainErrorIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterApplicationErrorIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitApplicationErrorIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitApplicationErrorIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class UseCaseExecuteDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_useCaseExecuteDeclaration; - } - - Execute() { - return this.getToken(BitloopsParser.Execute, 0); - }; - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - returnOkErrorType() { - return this.getTypedRuleContext(ReturnOkErrorTypeContext,0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - functionBody() { - return this.getTypedRuleContext(FunctionBodyContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterUseCaseExecuteDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitUseCaseExecuteDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitUseCaseExecuteDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RestControllerParametersContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_restControllerParameters; - } - - Identifier = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Identifier); - } else { - return this.getToken(BitloopsParser.Identifier, i); - } - }; - - - Comma() { - return this.getToken(BitloopsParser.Comma, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRestControllerParameters(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRestControllerParameters(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRestControllerParameters(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RestControllerExecuteDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_restControllerExecuteDeclaration; - } - - Execute() { - return this.getToken(BitloopsParser.Execute, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - restControllerParameters() { - return this.getTypedRuleContext(RestControllerParametersContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - functionBody() { - return this.getTypedRuleContext(FunctionBodyContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRestControllerExecuteDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRestControllerExecuteDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRestControllerExecuteDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RestControllerMethodDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_restControllerMethodDeclaration; - } - - Method() { - return this.getToken(BitloopsParser.Method, 0); - }; - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - httpMethod() { - return this.getTypedRuleContext(HttpMethodContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRestControllerMethodDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRestControllerMethodDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRestControllerMethodDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class HttpMethodContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_httpMethod; - } - - MethodGet() { - return this.getToken(BitloopsParser.MethodGet, 0); - }; - - MethodPut() { - return this.getToken(BitloopsParser.MethodPut, 0); - }; - - MethodPost() { - return this.getToken(BitloopsParser.MethodPost, 0); - }; - - MethodDelete() { - return this.getToken(BitloopsParser.MethodDelete, 0); - }; - - MethodPatch() { - return this.getToken(BitloopsParser.MethodPatch, 0); - }; - - MethodOptions() { - return this.getToken(BitloopsParser.MethodOptions, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterHttpMethod(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitHttpMethod(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitHttpMethod(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ControllerDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_controllerDeclaration; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class RESTControllerDeclarationContext extends ControllerDeclarationContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - RESTController() { - return this.getToken(BitloopsParser.RESTController, 0); - }; - - ControllerIdentifier() { - return this.getToken(BitloopsParser.ControllerIdentifier, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - restControllerMethodDeclaration() { - return this.getTypedRuleContext(RestControllerMethodDeclarationContext,0); - }; - - restControllerExecuteDeclaration() { - return this.getTypedRuleContext(RestControllerExecuteDeclarationContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRESTControllerDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRESTControllerDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRESTControllerDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.RESTControllerDeclarationContext = RESTControllerDeclarationContext; - -class GraphQLControllerDeclarationContext extends ControllerDeclarationContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - GraphQLController() { - return this.getToken(BitloopsParser.GraphQLController, 0); - }; - - ControllerIdentifier() { - return this.getToken(BitloopsParser.ControllerIdentifier, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - graphQLResolverOptions() { - return this.getTypedRuleContext(GraphQLResolverOptionsContext,0); - }; - - graphQLControllerExecuteDeclaration() { - return this.getTypedRuleContext(GraphQLControllerExecuteDeclarationContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGraphQLControllerDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGraphQLControllerDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGraphQLControllerDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.GraphQLControllerDeclarationContext = GraphQLControllerDeclarationContext; - -class GraphQLResolverOptionsContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_graphQLResolverOptions; - } - - graphQLOperationTypeAssignment() { - return this.getTypedRuleContext(GraphQLOperationTypeAssignmentContext,0); - }; - - graphQLOperationInputTypeAssignment() { - return this.getTypedRuleContext(GraphQLOperationInputTypeAssignmentContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGraphQLResolverOptions(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGraphQLResolverOptions(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGraphQLResolverOptions(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class GraphQLOperationTypeAssignmentContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_graphQLOperationTypeAssignment; - } - - GraphQLOperation() { - return this.getToken(BitloopsParser.GraphQLOperation, 0); - }; - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - graphQLOperation() { - return this.getTypedRuleContext(GraphQLOperationContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGraphQLOperationTypeAssignment(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGraphQLOperationTypeAssignment(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGraphQLOperationTypeAssignment(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class GraphQLOperationInputTypeAssignmentContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_graphQLOperationInputTypeAssignment; - } - - Input() { - return this.getToken(BitloopsParser.Input, 0); - }; - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - graphQLResolverInputType() { - return this.getTypedRuleContext(GraphQLResolverInputTypeContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGraphQLOperationInputTypeAssignment(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGraphQLOperationInputTypeAssignment(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGraphQLOperationInputTypeAssignment(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class GraphQLResolverInputTypeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_graphQLResolverInputType; - } - - DTOIdentifier() { - return this.getToken(BitloopsParser.DTOIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGraphQLResolverInputType(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGraphQLResolverInputType(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGraphQLResolverInputType(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class GraphQLOperationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_graphQLOperation; - } - - OperationMutation() { - return this.getToken(BitloopsParser.OperationMutation, 0); - }; - - OperationQuery() { - return this.getToken(BitloopsParser.OperationQuery, 0); - }; - - OperationSubscription() { - return this.getToken(BitloopsParser.OperationSubscription, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGraphQLOperation(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGraphQLOperation(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGraphQLOperation(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class GraphQLControllerExecuteDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_graphQLControllerExecuteDeclaration; - } - - Execute() { - return this.getToken(BitloopsParser.Execute, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - graphQLControllerParameters() { - return this.getTypedRuleContext(GraphQLControllerParametersContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - graphQLControllerReturnType() { - return this.getTypedRuleContext(GraphQLControllerReturnTypeContext,0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - functionBody() { - return this.getTypedRuleContext(FunctionBodyContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGraphQLControllerExecuteDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGraphQLControllerExecuteDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGraphQLControllerExecuteDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class GraphQLControllerParametersContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_graphQLControllerParameters; - } - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGraphQLControllerParameters(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGraphQLControllerParameters(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGraphQLControllerParameters(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class GraphQLControllerReturnTypeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_graphQLControllerReturnType; - } - - DTOIdentifier() { - return this.getToken(BitloopsParser.DTOIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGraphQLControllerReturnType(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGraphQLControllerReturnType(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGraphQLControllerReturnType(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DtoIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_dtoIdentifier; - } - - DTOIdentifier() { - return this.getToken(BitloopsParser.DTOIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDtoIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDtoIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDtoIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DtoIdentifiersContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_dtoIdentifiers; - } - - dtoIdentifier = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(DtoIdentifierContext); - } else { - return this.getTypedRuleContext(DtoIdentifierContext,i); - } - }; - - BitOr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.BitOr); - } else { - return this.getToken(BitloopsParser.BitOr, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDtoIdentifiers(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDtoIdentifiers(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDtoIdentifiers(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ErrorIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_errorIdentifier; - } - - ErrorIdentifier() { - return this.getToken(BitloopsParser.ErrorIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterErrorIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitErrorIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitErrorIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ErrorIdentifiersContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_errorIdentifiers; - } - - errorIdentifier = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ErrorIdentifierContext); - } else { - return this.getTypedRuleContext(ErrorIdentifierContext,i); - } - }; - - BitOr = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.BitOr); - } else { - return this.getToken(BitloopsParser.BitOr, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterErrorIdentifiers(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitErrorIdentifiers(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitErrorIdentifiers(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ValueObjectIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_valueObjectIdentifier; - } - - ValueObjectIdentifier() { - return this.getToken(BitloopsParser.ValueObjectIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterValueObjectIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitValueObjectIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitValueObjectIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class EntityIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_entityIdentifier; - } - - EntityIdentifier() { - return this.getToken(BitloopsParser.EntityIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterEntityIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitEntityIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitEntityIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class DomainRuleIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_domainRuleIdentifier; - } - - RuleIdentifier() { - return this.getToken(BitloopsParser.RuleIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDomainRuleIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDomainRuleIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDomainRuleIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ReturnOkTypeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_returnOkType; - } - - OK() { - return this.getToken(BitloopsParser.OK, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - bitloopsPrimaryType() { - return this.getTypedRuleContext(BitloopsPrimaryTypeContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterReturnOkType(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitReturnOkType(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitReturnOkType(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ReturnErrorsTypeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_returnErrorsType; - } - - Errors() { - return this.getToken(BitloopsParser.Errors, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - errorIdentifiers() { - return this.getTypedRuleContext(ErrorIdentifiersContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterReturnErrorsType(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitReturnErrorsType(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitReturnErrorsType(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ReturnOkErrorTypeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_returnOkErrorType; - } - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - returnOkType() { - return this.getTypedRuleContext(ReturnOkTypeContext,0); - }; - - Comma() { - return this.getToken(BitloopsParser.Comma, 0); - }; - - returnErrorsType() { - return this.getTypedRuleContext(ReturnErrorsTypeContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterReturnOkErrorType(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitReturnOkErrorType(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitReturnOkErrorType(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class PackagePortIdentifierContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_packagePortIdentifier; - } - - PackagePortIdentifier() { - return this.getToken(BitloopsParser.PackagePortIdentifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPackagePortIdentifier(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPackagePortIdentifier(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPackagePortIdentifier(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class PackagePortDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_packagePortDeclaration; - } - - PackagePort() { - return this.getToken(BitloopsParser.PackagePort, 0); - }; - - packagePortIdentifier() { - return this.getTypedRuleContext(PackagePortIdentifierContext,0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - methodDefinitionList() { - return this.getTypedRuleContext(MethodDefinitionListContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPackagePortDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPackagePortDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPackagePortDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class MethodDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_methodDeclaration; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class PublicMethodDeclarationExpressionContext extends MethodDeclarationContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - publicMethodDeclaration() { - return this.getTypedRuleContext(PublicMethodDeclarationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPublicMethodDeclarationExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPublicMethodDeclarationExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPublicMethodDeclarationExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.PublicMethodDeclarationExpressionContext = PublicMethodDeclarationExpressionContext; - -class PrivateMethodDeclarationExpressionContext extends MethodDeclarationContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - privateMethodDeclaration() { - return this.getTypedRuleContext(PrivateMethodDeclarationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPrivateMethodDeclarationExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPrivateMethodDeclarationExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPrivateMethodDeclarationExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.PrivateMethodDeclarationExpressionContext = PrivateMethodDeclarationExpressionContext; - -class PrivateMethodDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_privateMethodDeclaration; - } - - identifier() { - return this.getTypedRuleContext(IdentifierContext,0); - }; - - returnPrivateMethodType() { - return this.getTypedRuleContext(ReturnPrivateMethodTypeContext,0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - functionBody() { - return this.getTypedRuleContext(FunctionBodyContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - Private() { - return this.getToken(BitloopsParser.Private, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPrivateMethodDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPrivateMethodDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPrivateMethodDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class PublicMethodDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_publicMethodDeclaration; - } - - identifier() { - return this.getTypedRuleContext(IdentifierContext,0); - }; - - returnPublicMethodType() { - return this.getTypedRuleContext(ReturnPublicMethodTypeContext,0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - functionBody() { - return this.getTypedRuleContext(FunctionBodyContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - Public() { - return this.getToken(BitloopsParser.Public, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPublicMethodDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPublicMethodDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPublicMethodDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ReturnPublicMethodTypeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_returnPublicMethodType; - } - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - returnOkErrorType() { - return this.getTypedRuleContext(ReturnOkErrorTypeContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterReturnPublicMethodType(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitReturnPublicMethodType(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitReturnPublicMethodType(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ReturnPrivateMethodTypeContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_returnPrivateMethodType; - } - - typeAnnotation() { - return this.getTypedRuleContext(TypeAnnotationContext,0); - }; - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - returnOkErrorType() { - return this.getTypedRuleContext(ReturnOkErrorTypeContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterReturnPrivateMethodType(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitReturnPrivateMethodType(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitReturnPrivateMethodType(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class PropertyMemberBaseContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_propertyMemberBase; - } - - accessibilityModifier() { - return this.getTypedRuleContext(AccessibilityModifierContext,0); - }; - - Static() { - return this.getToken(BitloopsParser.Static, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPropertyMemberBase(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPropertyMemberBase(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPropertyMemberBase(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class IndexMemberDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_indexMemberDeclaration; - } - - indexSignature() { - return this.getTypedRuleContext(IndexSignatureContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterIndexMemberDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitIndexMemberDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitIndexMemberDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class GeneratorMethodContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_generatorMethod; - } - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - functionBody() { - return this.getTypedRuleContext(FunctionBodyContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - Multiply() { - return this.getToken(BitloopsParser.Multiply, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGeneratorMethod(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGeneratorMethod(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGeneratorMethod(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class GeneratorFunctionDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_generatorFunctionDeclaration; - } - - Function_() { - return this.getToken(BitloopsParser.Function_, 0); - }; - - Multiply() { - return this.getToken(BitloopsParser.Multiply, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - functionBody() { - return this.getTypedRuleContext(FunctionBodyContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGeneratorFunctionDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGeneratorFunctionDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGeneratorFunctionDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class GeneratorBlockContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_generatorBlock; - } - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - generatorDefinition = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(GeneratorDefinitionContext); - } else { - return this.getTypedRuleContext(GeneratorDefinitionContext,i); - } - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGeneratorBlock(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGeneratorBlock(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGeneratorBlock(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class GeneratorDefinitionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_generatorDefinition; - } - - Multiply() { - return this.getToken(BitloopsParser.Multiply, 0); - }; - - iteratorDefinition() { - return this.getTypedRuleContext(IteratorDefinitionContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGeneratorDefinition(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGeneratorDefinition(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGeneratorDefinition(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class IteratorBlockContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_iteratorBlock; - } - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - iteratorDefinition = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(IteratorDefinitionContext); - } else { - return this.getTypedRuleContext(IteratorDefinitionContext,i); - } - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterIteratorBlock(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitIteratorBlock(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitIteratorBlock(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class IteratorDefinitionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_iteratorDefinition; - } - - OpenBracket() { - return this.getToken(BitloopsParser.OpenBracket, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - CloseBracket() { - return this.getToken(BitloopsParser.CloseBracket, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - functionBody() { - return this.getTypedRuleContext(FunctionBodyContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterIteratorDefinition(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitIteratorDefinition(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitIteratorDefinition(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class FormalParameterListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_formalParameterList; - } - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - formalParameterArg = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(FormalParameterArgContext); - } else { - return this.getTypedRuleContext(FormalParameterArgContext,i); - } - }; - - lastFormalParameterArg() { - return this.getTypedRuleContext(LastFormalParameterArgContext,0); - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterFormalParameterList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitFormalParameterList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitFormalParameterList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class FormalParameterArgContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_formalParameterArg; - } - - identifierOrKeyWord() { - return this.getTypedRuleContext(IdentifierOrKeyWordContext,0); - }; - - decorator() { - return this.getTypedRuleContext(DecoratorContext,0); - }; - - accessibilityModifier() { - return this.getTypedRuleContext(AccessibilityModifierContext,0); - }; - - typeAnnotation() { - return this.getTypedRuleContext(TypeAnnotationContext,0); - }; - - Assign() { - return this.getToken(BitloopsParser.Assign, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterFormalParameterArg(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitFormalParameterArg(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitFormalParameterArg(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class LastFormalParameterArgContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_lastFormalParameterArg; - } - - Ellipsis() { - return this.getToken(BitloopsParser.Ellipsis, 0); - }; - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterLastFormalParameterArg(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitLastFormalParameterArg(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitLastFormalParameterArg(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class FunctionBodyContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_functionBody; - } - - statementList() { - return this.getTypedRuleContext(StatementListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterFunctionBody(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitFunctionBody(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitFunctionBody(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ArrayLiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_arrayLiteral; - } - - OpenBracket() { - return this.getToken(BitloopsParser.OpenBracket, 0); - }; - - CloseBracket() { - return this.getToken(BitloopsParser.CloseBracket, 0); - }; - - elementList() { - return this.getTypedRuleContext(ElementListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterArrayLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitArrayLiteral(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitArrayLiteral(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ElementListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_elementList; - } - - expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterElementList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitElementList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitElementList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ObjectLiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_objectLiteral; - } - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - propertyAssignment = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(PropertyAssignmentContext); - } else { - return this.getTypedRuleContext(PropertyAssignmentContext,i); - } - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterObjectLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitObjectLiteral(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitObjectLiteral(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class RegularVariableEvaluationORliteralORexpressionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_regularVariableEvaluationORliteralORexpression; - } - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRegularVariableEvaluationORliteralORexpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRegularVariableEvaluationORliteralORexpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRegularVariableEvaluationORliteralORexpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class PropertyAssignmentContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_propertyAssignment; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class PropertyExpressionAssignmentContext extends PropertyAssignmentContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - propertyName() { - return this.getTypedRuleContext(PropertyNameContext,0); - }; - - regularVariableEvaluationORliteralORexpression() { - return this.getTypedRuleContext(RegularVariableEvaluationORliteralORexpressionContext,0); - }; - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - Assign() { - return this.getToken(BitloopsParser.Assign, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPropertyExpressionAssignment(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPropertyExpressionAssignment(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPropertyExpressionAssignment(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.PropertyExpressionAssignmentContext = PropertyExpressionAssignmentContext; - -class ComputedPropertyExpressionAssignmentContext extends PropertyAssignmentContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - OpenBracket() { - return this.getToken(BitloopsParser.OpenBracket, 0); - }; - - regularVariableEvaluationORliteralORexpression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(RegularVariableEvaluationORliteralORexpressionContext); - } else { - return this.getTypedRuleContext(RegularVariableEvaluationORliteralORexpressionContext,i); - } - }; - - CloseBracket() { - return this.getToken(BitloopsParser.CloseBracket, 0); - }; - - Colon() { - return this.getToken(BitloopsParser.Colon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterComputedPropertyExpressionAssignment(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitComputedPropertyExpressionAssignment(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitComputedPropertyExpressionAssignment(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.ComputedPropertyExpressionAssignmentContext = ComputedPropertyExpressionAssignmentContext; - -class PropertyShorthandContext extends PropertyAssignmentContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - identifierOrKeyWord() { - return this.getTypedRuleContext(IdentifierOrKeyWordContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPropertyShorthand(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPropertyShorthand(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPropertyShorthand(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.PropertyShorthandContext = PropertyShorthandContext; - -class PropertySetterContext extends PropertyAssignmentContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - setAccessor() { - return this.getTypedRuleContext(SetAccessorContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPropertySetter(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPropertySetter(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPropertySetter(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.PropertySetterContext = PropertySetterContext; - -class PropertyGetterContext extends PropertyAssignmentContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - getAccessor() { - return this.getTypedRuleContext(GetAccessorContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPropertyGetter(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPropertyGetter(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPropertyGetter(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.PropertyGetterContext = PropertyGetterContext; - -class RestParameterInObjectContext extends PropertyAssignmentContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - restParameter() { - return this.getTypedRuleContext(RestParameterContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRestParameterInObject(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRestParameterInObject(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRestParameterInObject(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.RestParameterInObjectContext = RestParameterInObjectContext; - -class MethodPropertyContext extends PropertyAssignmentContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - generatorMethod() { - return this.getTypedRuleContext(GeneratorMethodContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterMethodProperty(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitMethodProperty(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitMethodProperty(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.MethodPropertyContext = MethodPropertyContext; - -class GetAccessorContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_getAccessor; - } - - getter() { - return this.getTypedRuleContext(GetterContext,0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - functionBody() { - return this.getTypedRuleContext(FunctionBodyContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - typeAnnotation() { - return this.getTypedRuleContext(TypeAnnotationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGetAccessor(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGetAccessor(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGetAccessor(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class SetAccessorContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_setAccessor; - } - - setter() { - return this.getTypedRuleContext(SetterContext,0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - functionBody() { - return this.getTypedRuleContext(FunctionBodyContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - bindingPattern() { - return this.getTypedRuleContext(BindingPatternContext,0); - }; - - typeAnnotation() { - return this.getTypedRuleContext(TypeAnnotationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterSetAccessor(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitSetAccessor(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitSetAccessor(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class PropertyNameContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_propertyName; - } - - identifierName() { - return this.getTypedRuleContext(IdentifierNameContext,0); - }; - - StringLiteral() { - return this.getToken(BitloopsParser.StringLiteral, 0); - }; - - numericLiteral() { - return this.getTypedRuleContext(NumericLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterPropertyName(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitPropertyName(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitPropertyName(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ArgumentsContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_arguments; - } - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - argumentList() { - return this.getTypedRuleContext(ArgumentListContext,0); - }; - - Comma() { - return this.getToken(BitloopsParser.Comma, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterArguments(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitArguments(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitArguments(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ArgumentListContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_argumentList; - } - - argument = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ArgumentContext); - } else { - return this.getTypedRuleContext(ArgumentContext,i); - } - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterArgumentList(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitArgumentList(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitArgumentList(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ArgumentContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_argument; - } - - regularVariableEvaluationORliteralORexpression() { - return this.getTypedRuleContext(RegularVariableEvaluationORliteralORexpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterArgument(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitArgument(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitArgument(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ExpressionSequenceContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_expressionSequence; - } - - expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } - }; - - Comma = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.Comma); - } else { - return this.getToken(BitloopsParser.Comma, i); - } - }; - - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterExpressionSequence(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitExpressionSequence(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitExpressionSequence(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class FunctionExpressionDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_functionExpressionDeclaration; - } - - Function_() { - return this.getToken(BitloopsParser.Function_, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - functionBody() { - return this.getTypedRuleContext(FunctionBodyContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - typeAnnotation() { - return this.getTypedRuleContext(TypeAnnotationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterFunctionExpressionDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitFunctionExpressionDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitFunctionExpressionDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ExpressionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_expression; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class ParenthesizedExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterParenthesizedExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitParenthesizedExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitParenthesizedExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.ParenthesizedExpressionContext = ParenthesizedExpressionContext; - -class ToStringExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - Dot() { - return this.getToken(BitloopsParser.Dot, 0); - }; - - ToString() { - return this.getToken(BitloopsParser.ToString, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterToStringExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitToStringExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitToStringExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.ToStringExpressionContext = ToStringExpressionContext; - -class AdditiveExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.op = null; // Token; - super.copyFrom(ctx); - } - - expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } - }; - - Plus() { - return this.getToken(BitloopsParser.Plus, 0); - }; - - Minus() { - return this.getToken(BitloopsParser.Minus, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterAdditiveExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitAdditiveExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitAdditiveExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.AdditiveExpressionContext = AdditiveExpressionContext; - -class RelationalExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.op = null; // Token; - super.copyFrom(ctx); - } - - expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } - }; - - LessThan() { - return this.getToken(BitloopsParser.LessThan, 0); - }; - - MoreThan() { - return this.getToken(BitloopsParser.MoreThan, 0); - }; - - LessThanEquals() { - return this.getToken(BitloopsParser.LessThanEquals, 0); - }; - - GreaterThanEquals() { - return this.getToken(BitloopsParser.GreaterThanEquals, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRelationalExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRelationalExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRelationalExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.RelationalExpressionContext = RelationalExpressionContext; - -class LogicalAndExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.op = null; // Token; - super.copyFrom(ctx); - } - - expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } - }; - - And() { - return this.getToken(BitloopsParser.And, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterLogicalAndExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitLogicalAndExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitLogicalAndExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.LogicalAndExpressionContext = LogicalAndExpressionContext; - -class LiteralExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - literal() { - return this.getTypedRuleContext(LiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterLiteralExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitLiteralExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitLiteralExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.LiteralExpressionContext = LiteralExpressionContext; - -class LogicalOrExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.op = null; // Token; - super.copyFrom(ctx); - } - - expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } - }; - - Or() { - return this.getToken(BitloopsParser.Or, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterLogicalOrExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitLogicalOrExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitLogicalOrExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.LogicalOrExpressionContext = LogicalOrExpressionContext; - -class ArrayLiteralExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - arrayLiteral() { - return this.getTypedRuleContext(ArrayLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterArrayLiteralExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitArrayLiteralExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitArrayLiteralExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.ArrayLiteralExpressionContext = ArrayLiteralExpressionContext; - -class MemberDotExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - Dot() { - return this.getToken(BitloopsParser.Dot, 0); - }; - - regularIdentifier() { - return this.getTypedRuleContext(RegularIdentifierContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterMemberDotExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitMemberDotExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitMemberDotExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.MemberDotExpressionContext = MemberDotExpressionContext; - -class NotExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - Not() { - return this.getToken(BitloopsParser.Not, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterNotExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitNotExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitNotExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.NotExpressionContext = NotExpressionContext; - -class EvaluationExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - evaluation() { - return this.getTypedRuleContext(EvaluationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterEvaluationExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitEvaluationExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitEvaluationExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.EvaluationExpressionContext = EvaluationExpressionContext; - -class IdentifierExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - regularIdentifier() { - return this.getTypedRuleContext(RegularIdentifierContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterIdentifierExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitIdentifierExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitIdentifierExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.IdentifierExpressionContext = IdentifierExpressionContext; - -class ThisExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - This() { - return this.getToken(BitloopsParser.This, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterThisExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitThisExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitThisExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.ThisExpressionContext = ThisExpressionContext; - -class AssignmentExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } - }; - - Assign() { - return this.getToken(BitloopsParser.Assign, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterAssignmentExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitAssignmentExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitAssignmentExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.AssignmentExpressionContext = AssignmentExpressionContext; - -class MethodCallExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - methodArguments() { - return this.getTypedRuleContext(MethodArgumentsContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterMethodCallExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitMethodCallExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitMethodCallExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.MethodCallExpressionContext = MethodCallExpressionContext; - -class LogicalXorExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.op = null; // Token; - super.copyFrom(ctx); - } - - expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } - }; - - Xor() { - return this.getToken(BitloopsParser.Xor, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterLogicalXorExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitLogicalXorExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitLogicalXorExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.LogicalXorExpressionContext = LogicalXorExpressionContext; - -class GetClassExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - Dot() { - return this.getToken(BitloopsParser.Dot, 0); - }; - - GetClass() { - return this.getToken(BitloopsParser.GetClass, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGetClassExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGetClassExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGetClassExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.GetClassExpressionContext = GetClassExpressionContext; - -class EqualityExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.op = null; // Token; - super.copyFrom(ctx); - } - - expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } - }; - - Equals_() { - return this.getToken(BitloopsParser.Equals_, 0); - }; - - NotEquals() { - return this.getToken(BitloopsParser.NotEquals, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterEqualityExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitEqualityExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitEqualityExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.EqualityExpressionContext = EqualityExpressionContext; - -class MultiplicativeExpressionContext extends ExpressionContext { - - constructor(parser, ctx) { - super(parser); - this.op = null; // Token; - super.copyFrom(ctx); - } - - expression = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(ExpressionContext); - } else { - return this.getTypedRuleContext(ExpressionContext,i); - } - }; - - Multiply() { - return this.getToken(BitloopsParser.Multiply, 0); - }; - - Divide() { - return this.getToken(BitloopsParser.Divide, 0); - }; - - Modulus() { - return this.getToken(BitloopsParser.Modulus, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterMultiplicativeExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitMultiplicativeExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitMultiplicativeExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.MultiplicativeExpressionContext = MultiplicativeExpressionContext; - -class AsExpressionContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_asExpression; - } - - predefinedType() { - return this.getTypedRuleContext(PredefinedTypeContext,0); - }; - - OpenBracket() { - return this.getToken(BitloopsParser.OpenBracket, 0); - }; - - CloseBracket() { - return this.getToken(BitloopsParser.CloseBracket, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterAsExpression(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitAsExpression(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitAsExpression(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ArrowFunctionDeclarationContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_arrowFunctionDeclaration; - } - - arrowFunctionParameters() { - return this.getTypedRuleContext(ArrowFunctionParametersContext,0); - }; - - ARROW() { - return this.getToken(BitloopsParser.ARROW, 0); - }; - - arrowFunctionBody() { - return this.getTypedRuleContext(ArrowFunctionBodyContext,0); - }; - - Async() { - return this.getToken(BitloopsParser.Async, 0); - }; - - typeAnnotation() { - return this.getTypedRuleContext(TypeAnnotationContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterArrowFunctionDeclaration(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitArrowFunctionDeclaration(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitArrowFunctionDeclaration(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ArrowFunctionParametersContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_arrowFunctionParameters; - } - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - OpenParen() { - return this.getToken(BitloopsParser.OpenParen, 0); - }; - - CloseParen() { - return this.getToken(BitloopsParser.CloseParen, 0); - }; - - formalParameterList() { - return this.getTypedRuleContext(FormalParameterListContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterArrowFunctionParameters(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitArrowFunctionParameters(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitArrowFunctionParameters(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ArrowFunctionBodyContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_arrowFunctionBody; - } - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - OpenBrace() { - return this.getToken(BitloopsParser.OpenBrace, 0); - }; - - functionBody() { - return this.getTypedRuleContext(FunctionBodyContext,0); - }; - - CloseBrace() { - return this.getToken(BitloopsParser.CloseBrace, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterArrowFunctionBody(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitArrowFunctionBody(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitArrowFunctionBody(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class AssignmentOperatorContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_assignmentOperator; - } - - MultiplyAssign() { - return this.getToken(BitloopsParser.MultiplyAssign, 0); - }; - - DivideAssign() { - return this.getToken(BitloopsParser.DivideAssign, 0); - }; - - ModulusAssign() { - return this.getToken(BitloopsParser.ModulusAssign, 0); - }; - - PlusAssign() { - return this.getToken(BitloopsParser.PlusAssign, 0); - }; - - MinusAssign() { - return this.getToken(BitloopsParser.MinusAssign, 0); - }; - - LeftShiftArithmeticAssign() { - return this.getToken(BitloopsParser.LeftShiftArithmeticAssign, 0); - }; - - RightShiftArithmeticAssign() { - return this.getToken(BitloopsParser.RightShiftArithmeticAssign, 0); - }; - - RightShiftLogicalAssign() { - return this.getToken(BitloopsParser.RightShiftLogicalAssign, 0); - }; - - BitAndAssign() { - return this.getToken(BitloopsParser.BitAndAssign, 0); - }; - - BitXorAssign() { - return this.getToken(BitloopsParser.BitXorAssign, 0); - }; - - BitOrAssign() { - return this.getToken(BitloopsParser.BitOrAssign, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterAssignmentOperator(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitAssignmentOperator(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitAssignmentOperator(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class LiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_literal; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class TemplateStringLiteralLabelContext extends LiteralContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - templateStringLiteral() { - return this.getTypedRuleContext(TemplateStringLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterTemplateStringLiteralLabel(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitTemplateStringLiteralLabel(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitTemplateStringLiteralLabel(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.TemplateStringLiteralLabelContext = TemplateStringLiteralLabelContext; - -class StringLiteralContext extends LiteralContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - StringLiteral() { - return this.getToken(BitloopsParser.StringLiteral, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterStringLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitStringLiteral(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitStringLiteral(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.StringLiteralContext = StringLiteralContext; - -class RegularExpressionLiteralContext extends LiteralContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - RegularExpressionLiteral() { - return this.getToken(BitloopsParser.RegularExpressionLiteral, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterRegularExpressionLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitRegularExpressionLiteral(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitRegularExpressionLiteral(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.RegularExpressionLiteralContext = RegularExpressionLiteralContext; - -class BooleanLiteralContext extends LiteralContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - BooleanLiteral() { - return this.getToken(BitloopsParser.BooleanLiteral, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterBooleanLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitBooleanLiteral(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitBooleanLiteral(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.BooleanLiteralContext = BooleanLiteralContext; - -class NumericLiteralLabelContext extends LiteralContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - numericLiteral() { - return this.getTypedRuleContext(NumericLiteralContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterNumericLiteralLabel(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitNumericLiteralLabel(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitNumericLiteralLabel(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.NumericLiteralLabelContext = NumericLiteralLabelContext; - -class NullLiteralContext extends LiteralContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - NullLiteral() { - return this.getToken(BitloopsParser.NullLiteral, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterNullLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitNullLiteral(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitNullLiteral(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.NullLiteralContext = NullLiteralContext; - -class TemplateStringLiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_templateStringLiteral; - } - - BackTick = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTokens(BitloopsParser.BackTick); - } else { - return this.getToken(BitloopsParser.BackTick, i); - } - }; - - - templateStringAtom = function(i) { - if(i===undefined) { - i = null; - } - if(i===null) { - return this.getTypedRuleContexts(TemplateStringAtomContext); - } else { - return this.getTypedRuleContext(TemplateStringAtomContext,i); - } - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterTemplateStringLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitTemplateStringLiteral(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitTemplateStringLiteral(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class TemplateStringAtomContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_templateStringAtom; - } - - TemplateStringAtom() { - return this.getToken(BitloopsParser.TemplateStringAtom, 0); - }; - - TemplateStringStartExpression() { - return this.getToken(BitloopsParser.TemplateStringStartExpression, 0); - }; - - expression() { - return this.getTypedRuleContext(ExpressionContext,0); - }; - - TemplateCloseBrace() { - return this.getToken(BitloopsParser.TemplateCloseBrace, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterTemplateStringAtom(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitTemplateStringAtom(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitTemplateStringAtom(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class NumericLiteralContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_numericLiteral; - } - - - - copyFrom(ctx) { - super.copyFrom(ctx); - } - -} - - -class DecimalLiteralContext extends NumericLiteralContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - DecimalLiteral() { - return this.getToken(BitloopsParser.DecimalLiteral, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterDecimalLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitDecimalLiteral(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitDecimalLiteral(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.DecimalLiteralContext = DecimalLiteralContext; - -class IntegerLiteralContext extends NumericLiteralContext { - - constructor(parser, ctx) { - super(parser); - super.copyFrom(ctx); - } - - IntegerLiteral() { - return this.getToken(BitloopsParser.IntegerLiteral, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterIntegerLiteral(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitIntegerLiteral(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitIntegerLiteral(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - -BitloopsParser.IntegerLiteralContext = IntegerLiteralContext; - -class IdentifierNameContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_identifierName; - } - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterIdentifierName(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitIdentifierName(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitIdentifierName(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class IdentifierOrKeyWordContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_identifierOrKeyWord; - } - - Identifier() { - return this.getToken(BitloopsParser.Identifier, 0); - }; - - TypeAlias() { - return this.getToken(BitloopsParser.TypeAlias, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterIdentifierOrKeyWord(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitIdentifierOrKeyWord(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitIdentifierOrKeyWord(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ReservedWordContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_reservedWord; - } - - keyword() { - return this.getTypedRuleContext(KeywordContext,0); - }; - - NullLiteral() { - return this.getToken(BitloopsParser.NullLiteral, 0); - }; - - BooleanLiteral() { - return this.getToken(BitloopsParser.BooleanLiteral, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterReservedWord(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitReservedWord(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitReservedWord(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class KeywordContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_keyword; - } - - Break() { - return this.getToken(BitloopsParser.Break, 0); - }; - - Do() { - return this.getToken(BitloopsParser.Do, 0); - }; - - Instanceof() { - return this.getToken(BitloopsParser.Instanceof, 0); - }; - - Typeof() { - return this.getToken(BitloopsParser.Typeof, 0); - }; - - Case() { - return this.getToken(BitloopsParser.Case, 0); - }; - - Else() { - return this.getToken(BitloopsParser.Else, 0); - }; - - New() { - return this.getToken(BitloopsParser.New, 0); - }; - - Var() { - return this.getToken(BitloopsParser.Var, 0); - }; - - Catch() { - return this.getToken(BitloopsParser.Catch, 0); - }; - - Finally() { - return this.getToken(BitloopsParser.Finally, 0); - }; - - Return() { - return this.getToken(BitloopsParser.Return, 0); - }; - - Void() { - return this.getToken(BitloopsParser.Void, 0); - }; - - Continue() { - return this.getToken(BitloopsParser.Continue, 0); - }; - - For() { - return this.getToken(BitloopsParser.For, 0); - }; - - Switch() { - return this.getToken(BitloopsParser.Switch, 0); - }; - - While() { - return this.getToken(BitloopsParser.While, 0); - }; - - Debugger() { - return this.getToken(BitloopsParser.Debugger, 0); - }; - - Function_() { - return this.getToken(BitloopsParser.Function_, 0); - }; - - This() { - return this.getToken(BitloopsParser.This, 0); - }; - - With() { - return this.getToken(BitloopsParser.With, 0); - }; - - Default() { - return this.getToken(BitloopsParser.Default, 0); - }; - - If() { - return this.getToken(BitloopsParser.If, 0); - }; - - Throw() { - return this.getToken(BitloopsParser.Throw, 0); - }; - - Delete() { - return this.getToken(BitloopsParser.Delete, 0); - }; - - In() { - return this.getToken(BitloopsParser.In, 0); - }; - - Try() { - return this.getToken(BitloopsParser.Try, 0); - }; - - ReadOnly() { - return this.getToken(BitloopsParser.ReadOnly, 0); - }; - - Async() { - return this.getToken(BitloopsParser.Async, 0); - }; - - From() { - return this.getToken(BitloopsParser.From, 0); - }; - - UseCase() { - return this.getToken(BitloopsParser.UseCase, 0); - }; - - Extends() { - return this.getToken(BitloopsParser.Extends, 0); - }; - - Const() { - return this.getToken(BitloopsParser.Const, 0); - }; - - Let() { - return this.getToken(BitloopsParser.Let, 0); - }; - - Private() { - return this.getToken(BitloopsParser.Private, 0); - }; - - Public() { - return this.getToken(BitloopsParser.Public, 0); - }; - - Protected() { - return this.getToken(BitloopsParser.Protected, 0); - }; - - Static() { - return this.getToken(BitloopsParser.Static, 0); - }; - - Get() { - return this.getToken(BitloopsParser.Get, 0); - }; - - Set() { - return this.getToken(BitloopsParser.Set, 0); - }; - - TypeAlias() { - return this.getToken(BitloopsParser.TypeAlias, 0); - }; - - String() { - return this.getToken(BitloopsParser.String, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterKeyword(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitKeyword(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitKeyword(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class GetterContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_getter; - } - - Get() { - return this.getToken(BitloopsParser.Get, 0); - }; - - propertyName() { - return this.getTypedRuleContext(PropertyNameContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterGetter(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitGetter(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitGetter(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class SetterContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_setter; - } - - Set() { - return this.getToken(BitloopsParser.Set, 0); - }; - - propertyName() { - return this.getTypedRuleContext(PropertyNameContext,0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterSetter(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitSetter(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitSetter(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class EosContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_eos; - } - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - EOF() { - return this.getToken(BitloopsParser.EOF, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterEos(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitEos(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitEos(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class IsInstanceOfContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_isInstanceOf; - } - - regularIdentifier() { - return this.getTypedRuleContext(RegularIdentifierContext,0); - }; - - Is() { - return this.getToken(BitloopsParser.Is, 0); - }; - - classTypes() { - return this.getTypedRuleContext(ClassTypesContext,0); - }; - - SemiColon() { - return this.getToken(BitloopsParser.SemiColon, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterIsInstanceOf(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitIsInstanceOf(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitIsInstanceOf(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - -class ClassTypesContext extends antlr4.ParserRuleContext { - - constructor(parser, parent, invokingState) { - if(parent===undefined) { - parent = null; - } - if(invokingState===undefined || invokingState===null) { - invokingState = -1; - } - super(parent, invokingState); - this.parser = parser; - this.ruleIndex = BitloopsParser.RULE_classTypes; - } - - ErrorClass() { - return this.getToken(BitloopsParser.ErrorClass, 0); - }; - - enterRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.enterClassTypes(this); - } - } - - exitRule(listener) { - if(listener instanceof BitloopsParserListener ) { - listener.exitClassTypes(this); - } - } - - accept(visitor) { - if ( visitor instanceof BitloopsParserVisitor ) { - return visitor.visitClassTypes(this); - } else { - return visitor.visitChildren(this); - } - } - - -} - - - - -BitloopsParser.InitializerContext = InitializerContext; -BitloopsParser.BindingPatternContext = BindingPatternContext; -BitloopsParser.FieldListContext = FieldListContext; -BitloopsParser.EvaluationFieldListContext = EvaluationFieldListContext; -BitloopsParser.EvaluationFieldContext = EvaluationFieldContext; -BitloopsParser.PropFieldsContext = PropFieldsContext; -BitloopsParser.PropsIdentifierContext = PropsIdentifierContext; -BitloopsParser.BitloopsIdentifiersContext = BitloopsIdentifiersContext; -BitloopsParser.PrimitivesContext = PrimitivesContext; -BitloopsParser.IdentifierContext = IdentifierContext; -BitloopsParser.UpperCaseIdentifierContext = UpperCaseIdentifierContext; -BitloopsParser.StructContext = StructContext; -BitloopsParser.RegularErrorTypeEvaluationContext = RegularErrorTypeEvaluationContext; -BitloopsParser.MethodArgumentsContext = MethodArgumentsContext; -BitloopsParser.OpenParenContext = OpenParenContext; -BitloopsParser.CloseParenContext = CloseParenContext; -BitloopsParser.RegularIdentifierContext = RegularIdentifierContext; -BitloopsParser.RegularStringEvaluationContext = RegularStringEvaluationContext; -BitloopsParser.RegularIntegerEvaluationContext = RegularIntegerEvaluationContext; -BitloopsParser.RegularDecimalEvaluationContext = RegularDecimalEvaluationContext; -BitloopsParser.RegularBooleanEvaluationContext = RegularBooleanEvaluationContext; -BitloopsParser.RegularStructEvaluationContext = RegularStructEvaluationContext; -BitloopsParser.RegularDTOEvaluationContext = RegularDTOEvaluationContext; -BitloopsParser.FieldContext = FieldContext; -BitloopsParser.BitloopsPrimaryTypeContext = BitloopsPrimaryTypeContext; -BitloopsParser.BitloopsBuiltInClassContext = BitloopsBuiltInClassContext; -BitloopsParser.PredefinedTypeContext = PredefinedTypeContext; -BitloopsParser.TypeNameContext = TypeNameContext; -BitloopsParser.MethodDefinitionListContext = MethodDefinitionListContext; -BitloopsParser.MethodDefinitionContext = MethodDefinitionContext; -BitloopsParser.TypeQueryContext = TypeQueryContext; -BitloopsParser.TypeQueryExpressionContext = TypeQueryExpressionContext; -BitloopsParser.TypeAnnotationContext = TypeAnnotationContext; -BitloopsParser.ParameterListContext = ParameterListContext; -BitloopsParser.RequiredParameterListContext = RequiredParameterListContext; -BitloopsParser.ParameterContext = ParameterContext; -BitloopsParser.OptionalParameterContext = OptionalParameterContext; -BitloopsParser.RestParameterContext = RestParameterContext; -BitloopsParser.RequiredParameterContext = RequiredParameterContext; -BitloopsParser.AccessibilityModifierContext = AccessibilityModifierContext; -BitloopsParser.IdentifierOrPatternContext = IdentifierOrPatternContext; -BitloopsParser.IndexSignatureContext = IndexSignatureContext; -BitloopsParser.EnumBodyContext = EnumBodyContext; -BitloopsParser.EnumMemberListContext = EnumMemberListContext; -BitloopsParser.EnumMemberContext = EnumMemberContext; -BitloopsParser.NamespaceDeclarationContext = NamespaceDeclarationContext; -BitloopsParser.NamespaceNameContext = NamespaceNameContext; -BitloopsParser.ImportAliasDeclarationContext = ImportAliasDeclarationContext; -BitloopsParser.DecoratorListContext = DecoratorListContext; -BitloopsParser.DecoratorContext = DecoratorContext; -BitloopsParser.DecoratorMemberExpressionContext = DecoratorMemberExpressionContext; -BitloopsParser.DecoratorCallExpressionContext = DecoratorCallExpressionContext; -BitloopsParser.ProgramContext = ProgramContext; -BitloopsParser.SourceElementContext = SourceElementContext; -BitloopsParser.JestTestDeclarationContext = JestTestDeclarationContext; -BitloopsParser.ErrorEvaluationContext = ErrorEvaluationContext; -BitloopsParser.EvaluationContext = EvaluationContext; -BitloopsParser.ConditionContext = ConditionContext; -BitloopsParser.ReturnStatementContext = ReturnStatementContext; -BitloopsParser.ConstDeclarationContext = ConstDeclarationContext; -BitloopsParser.VariableDeclarationContext = VariableDeclarationContext; -BitloopsParser.StatementContext = StatementContext; -BitloopsParser.BuiltInFunctionContext = BuiltInFunctionContext; -BitloopsParser.ApplyRuleStatementRulesListContext = ApplyRuleStatementRulesListContext; -BitloopsParser.ApplyRulesRuleContext = ApplyRulesRuleContext; -BitloopsParser.BlockContext = BlockContext; -BitloopsParser.StatementListContext = StatementListContext; -BitloopsParser.FromBlockContext = FromBlockContext; -BitloopsParser.MultipleImportStatementContext = MultipleImportStatementContext; -BitloopsParser.VariableDeclarationListContext = VariableDeclarationListContext; -BitloopsParser.EmptyStatement_Context = EmptyStatement_Context; -BitloopsParser.ExpressionStatementContext = ExpressionStatementContext; -BitloopsParser.IfStatementContext = IfStatementContext; -BitloopsParser.IterationStatementContext = IterationStatementContext; -BitloopsParser.VarModifierContext = VarModifierContext; -BitloopsParser.ContinueStatementContext = ContinueStatementContext; -BitloopsParser.BreakStatementContext = BreakStatementContext; -BitloopsParser.WithStatementContext = WithStatementContext; -BitloopsParser.SwitchStatementContext = SwitchStatementContext; -BitloopsParser.CaseBlockContext = CaseBlockContext; -BitloopsParser.CaseClausesContext = CaseClausesContext; -BitloopsParser.CaseClauseContext = CaseClauseContext; -BitloopsParser.DefaultClauseContext = DefaultClauseContext; -BitloopsParser.LabelledStatementContext = LabelledStatementContext; -BitloopsParser.ThrowStatementContext = ThrowStatementContext; -BitloopsParser.TryStatementContext = TryStatementContext; -BitloopsParser.CatchProductionContext = CatchProductionContext; -BitloopsParser.FinallyProductionContext = FinallyProductionContext; -BitloopsParser.DebuggerStatementContext = DebuggerStatementContext; -BitloopsParser.DomainFieldDeclarationContext = DomainFieldDeclarationContext; -BitloopsParser.IsBrokenStatementContext = IsBrokenStatementContext; -BitloopsParser.DomainRuleBodyContext = DomainRuleBodyContext; -BitloopsParser.DomainRuleDeclarationContext = DomainRuleDeclarationContext; -BitloopsParser.AggregateDeclarationContext = AggregateDeclarationContext; -BitloopsParser.DomainConstDeclarationContext = DomainConstDeclarationContext; -BitloopsParser.EntityDeclarationContext = EntityDeclarationContext; -BitloopsParser.EntityBodyContext = EntityBodyContext; -BitloopsParser.ValueObjectDeclarationContext = ValueObjectDeclarationContext; -BitloopsParser.DomainConstDeclarationListContext = DomainConstDeclarationListContext; -BitloopsParser.PublicMethodDeclarationListContext = PublicMethodDeclarationListContext; -BitloopsParser.PrivateMethodDeclarationListContext = PrivateMethodDeclarationListContext; -BitloopsParser.DomainConstructorDeclarationContext = DomainConstructorDeclarationContext; -BitloopsParser.UseCaseIdentifierContext = UseCaseIdentifierContext; -BitloopsParser.UseCaseDeclarationContext = UseCaseDeclarationContext; -BitloopsParser.PropsDeclarationContext = PropsDeclarationContext; -BitloopsParser.ReadModelDeclarationContext = ReadModelDeclarationContext; -BitloopsParser.RepoPortDeclarationContext = RepoPortDeclarationContext; -BitloopsParser.RepoPortIdentifierContext = RepoPortIdentifierContext; -BitloopsParser.AggregateRootIdentifierContext = AggregateRootIdentifierContext; -BitloopsParser.RepoExtendsListContext = RepoExtendsListContext; -BitloopsParser.RepoPortMethodDefinitionsContext = RepoPortMethodDefinitionsContext; -BitloopsParser.RepoPortExtendableIdentifierListContext = RepoPortExtendableIdentifierListContext; -BitloopsParser.RepoPortExtendableIdentifierContext = RepoPortExtendableIdentifierContext; -BitloopsParser.DtoDeclarationContext = DtoDeclarationContext; -BitloopsParser.StructDeclarationContext = StructDeclarationContext; -BitloopsParser.DtoEvaluationIdentifierContext = DtoEvaluationIdentifierContext; -BitloopsParser.DtoEvaluationContext = DtoEvaluationContext; -BitloopsParser.ValueObjectEvaluationContext = ValueObjectEvaluationContext; -BitloopsParser.DomainEvaluationInputContext = DomainEvaluationInputContext; -BitloopsParser.EntityEvaluationContext = EntityEvaluationContext; -BitloopsParser.StructEvaluationIdentifierContext = StructEvaluationIdentifierContext; -BitloopsParser.StructEvaluationContext = StructEvaluationContext; -BitloopsParser.BuiltInClassEvaluationContext = BuiltInClassEvaluationContext; -BitloopsParser.PropsEvaluationContext = PropsEvaluationContext; -BitloopsParser.DomainErrorDeclarationContext = DomainErrorDeclarationContext; -BitloopsParser.ApplicationErrorDeclarationContext = ApplicationErrorDeclarationContext; -BitloopsParser.DomainErrorIdentifierContext = DomainErrorIdentifierContext; -BitloopsParser.ApplicationErrorIdentifierContext = ApplicationErrorIdentifierContext; -BitloopsParser.UseCaseExecuteDeclarationContext = UseCaseExecuteDeclarationContext; -BitloopsParser.RestControllerParametersContext = RestControllerParametersContext; -BitloopsParser.RestControllerExecuteDeclarationContext = RestControllerExecuteDeclarationContext; -BitloopsParser.RestControllerMethodDeclarationContext = RestControllerMethodDeclarationContext; -BitloopsParser.HttpMethodContext = HttpMethodContext; -BitloopsParser.ControllerDeclarationContext = ControllerDeclarationContext; -BitloopsParser.GraphQLResolverOptionsContext = GraphQLResolverOptionsContext; -BitloopsParser.GraphQLOperationTypeAssignmentContext = GraphQLOperationTypeAssignmentContext; -BitloopsParser.GraphQLOperationInputTypeAssignmentContext = GraphQLOperationInputTypeAssignmentContext; -BitloopsParser.GraphQLResolverInputTypeContext = GraphQLResolverInputTypeContext; -BitloopsParser.GraphQLOperationContext = GraphQLOperationContext; -BitloopsParser.GraphQLControllerExecuteDeclarationContext = GraphQLControllerExecuteDeclarationContext; -BitloopsParser.GraphQLControllerParametersContext = GraphQLControllerParametersContext; -BitloopsParser.GraphQLControllerReturnTypeContext = GraphQLControllerReturnTypeContext; -BitloopsParser.DtoIdentifierContext = DtoIdentifierContext; -BitloopsParser.DtoIdentifiersContext = DtoIdentifiersContext; -BitloopsParser.ErrorIdentifierContext = ErrorIdentifierContext; -BitloopsParser.ErrorIdentifiersContext = ErrorIdentifiersContext; -BitloopsParser.ValueObjectIdentifierContext = ValueObjectIdentifierContext; -BitloopsParser.EntityIdentifierContext = EntityIdentifierContext; -BitloopsParser.DomainRuleIdentifierContext = DomainRuleIdentifierContext; -BitloopsParser.ReturnOkTypeContext = ReturnOkTypeContext; -BitloopsParser.ReturnErrorsTypeContext = ReturnErrorsTypeContext; -BitloopsParser.ReturnOkErrorTypeContext = ReturnOkErrorTypeContext; -BitloopsParser.PackagePortIdentifierContext = PackagePortIdentifierContext; -BitloopsParser.PackagePortDeclarationContext = PackagePortDeclarationContext; -BitloopsParser.MethodDeclarationContext = MethodDeclarationContext; -BitloopsParser.PrivateMethodDeclarationContext = PrivateMethodDeclarationContext; -BitloopsParser.PublicMethodDeclarationContext = PublicMethodDeclarationContext; -BitloopsParser.ReturnPublicMethodTypeContext = ReturnPublicMethodTypeContext; -BitloopsParser.ReturnPrivateMethodTypeContext = ReturnPrivateMethodTypeContext; -BitloopsParser.PropertyMemberBaseContext = PropertyMemberBaseContext; -BitloopsParser.IndexMemberDeclarationContext = IndexMemberDeclarationContext; -BitloopsParser.GeneratorMethodContext = GeneratorMethodContext; -BitloopsParser.GeneratorFunctionDeclarationContext = GeneratorFunctionDeclarationContext; -BitloopsParser.GeneratorBlockContext = GeneratorBlockContext; -BitloopsParser.GeneratorDefinitionContext = GeneratorDefinitionContext; -BitloopsParser.IteratorBlockContext = IteratorBlockContext; -BitloopsParser.IteratorDefinitionContext = IteratorDefinitionContext; -BitloopsParser.FormalParameterListContext = FormalParameterListContext; -BitloopsParser.FormalParameterArgContext = FormalParameterArgContext; -BitloopsParser.LastFormalParameterArgContext = LastFormalParameterArgContext; -BitloopsParser.FunctionBodyContext = FunctionBodyContext; -BitloopsParser.ArrayLiteralContext = ArrayLiteralContext; -BitloopsParser.ElementListContext = ElementListContext; -BitloopsParser.ObjectLiteralContext = ObjectLiteralContext; -BitloopsParser.RegularVariableEvaluationORliteralORexpressionContext = RegularVariableEvaluationORliteralORexpressionContext; -BitloopsParser.PropertyAssignmentContext = PropertyAssignmentContext; -BitloopsParser.GetAccessorContext = GetAccessorContext; -BitloopsParser.SetAccessorContext = SetAccessorContext; -BitloopsParser.PropertyNameContext = PropertyNameContext; -BitloopsParser.ArgumentsContext = ArgumentsContext; -BitloopsParser.ArgumentListContext = ArgumentListContext; -BitloopsParser.ArgumentContext = ArgumentContext; -BitloopsParser.ExpressionSequenceContext = ExpressionSequenceContext; -BitloopsParser.FunctionExpressionDeclarationContext = FunctionExpressionDeclarationContext; -BitloopsParser.ExpressionContext = ExpressionContext; -BitloopsParser.AsExpressionContext = AsExpressionContext; -BitloopsParser.ArrowFunctionDeclarationContext = ArrowFunctionDeclarationContext; -BitloopsParser.ArrowFunctionParametersContext = ArrowFunctionParametersContext; -BitloopsParser.ArrowFunctionBodyContext = ArrowFunctionBodyContext; -BitloopsParser.AssignmentOperatorContext = AssignmentOperatorContext; -BitloopsParser.LiteralContext = LiteralContext; -BitloopsParser.TemplateStringLiteralContext = TemplateStringLiteralContext; -BitloopsParser.TemplateStringAtomContext = TemplateStringAtomContext; -BitloopsParser.NumericLiteralContext = NumericLiteralContext; -BitloopsParser.IdentifierNameContext = IdentifierNameContext; -BitloopsParser.IdentifierOrKeyWordContext = IdentifierOrKeyWordContext; -BitloopsParser.ReservedWordContext = ReservedWordContext; -BitloopsParser.KeywordContext = KeywordContext; -BitloopsParser.GetterContext = GetterContext; -BitloopsParser.SetterContext = SetterContext; -BitloopsParser.EosContext = EosContext; -BitloopsParser.IsInstanceOfContext = IsInstanceOfContext; -BitloopsParser.ClassTypesContext = ClassTypesContext; diff --git a/server/src/parser/grammar/BitloopsParser.tokens b/server/src/parser/grammar/BitloopsParser.tokens deleted file mode 100644 index 44df91e..0000000 --- a/server/src/parser/grammar/BitloopsParser.tokens +++ /dev/null @@ -1,419 +0,0 @@ -MultiLineComment=1 -SingleLineComment=2 -RegularExpressionLiteral=3 -OpenBracket=4 -CloseBracket=5 -OpenParen=6 -CloseParen=7 -OpenBrace=8 -TemplateCloseBrace=9 -CloseBrace=10 -SemiColon=11 -Comma=12 -Assign=13 -QuestionMark=14 -Colon=15 -Ellipsis=16 -Dot=17 -PlusPlus=18 -MinusMinus=19 -Plus=20 -Minus=21 -BitNot=22 -Not=23 -Multiply=24 -Divide=25 -Modulus=26 -RightShiftArithmetic=27 -LeftShiftArithmetic=28 -RightShiftLogical=29 -LessThan=30 -MoreThan=31 -LessThanEquals=32 -GreaterThanEquals=33 -Equals_=34 -NotEquals=35 -IdentityEquals=36 -IdentityNotEquals=37 -BitAnd=38 -BitXOr=39 -BitOr=40 -And=41 -Or=42 -Xor=43 -MultiplyAssign=44 -DivideAssign=45 -ModulusAssign=46 -PlusAssign=47 -MinusAssign=48 -LeftShiftArithmeticAssign=49 -RightShiftArithmeticAssign=50 -RightShiftLogicalAssign=51 -BitAndAssign=52 -BitXorAssign=53 -BitOrAssign=54 -ARROW=55 -NullLiteral=56 -BooleanLiteral=57 -IntegerLiteral=58 -DecimalLiteral=59 -HexIntegerLiteral=60 -OctalIntegerLiteral=61 -OctalIntegerLiteral2=62 -BinaryIntegerLiteral=63 -Optional=64 -Break=65 -Do=66 -Instanceof=67 -Typeof=68 -Case=69 -Else=70 -New=71 -Var=72 -Catch=73 -Finally=74 -Return=75 -Void=76 -Continue=77 -For=78 -Switch=79 -While=80 -Debugger=81 -Function_=82 -This=83 -With=84 -Default=85 -If=86 -Throw=87 -Delete=88 -In=89 -Try=90 -As=91 -From=92 -ReadOnly=93 -Async=94 -Throws=95 -ApplyRules=96 -Extends=97 -Const=98 -RepoPort=99 -Props=100 -ReadModel=101 -DTO=102 -RESTController=103 -GraphQLController=104 -GRPCController=105 -UseCase=106 -ValueObject=107 -AggregateRoot=108 -Entity=109 -DomainEvent=110 -Service=111 -Repository=112 -Factory=113 -DomainError=114 -ApplicationError=115 -DomainErrors=116 -ApplicationErrors=117 -OK=118 -Errors=119 -Config=120 -PackagePort=121 -VO=122 -Rule=123 -IsBrokenIf=124 -Root=125 -Constructor=126 -Let=127 -Private=128 -Public=129 -Protected=130 -Static=131 -Any=132 -Double=133 -Float=134 -Int32=135 -Int64=136 -Uint32=137 -Uint64=138 -Sint32=139 -Sint64=140 -Fixed32=141 -Fixed64=142 -Sfixed32=143 -Sfixed64=144 -Boolean=145 -String=146 -Bytes=147 -Timestamp=148 -Struct=149 -TypeAlias=150 -Get=151 -Set=152 -Execute=153 -Create=154 -Namespace=155 -Declare=156 -JestTest=157 -JestTestStatement=158 -JestTestStatementList=159 -JestTestFunctionBody=160 -JestTestExecute=161 -JestTestStructEvaluation=162 -JestTestDTOEvaluation=163 -JestTestEvaluation=164 -JestTestReturnOkErrorType=165 -JestTestExpression=166 -JestTestConstDeclaration=167 -JestTestMethodDefinitionList=168 -JestTestCreateMethodDeclaration=169 -JestTestPrivateMethodDeclaration=170 -JestTestPublicMethodDeclaration=171 -JestTestValueObjectDeclaration=172 -JestTestEntityDeclaration=173 -JestTestCondition=174 -JestTestVariableDeclaration=175 -JestTestThisDeclaration=176 -JestTestIsInstanceOf=177 -JestTestValueObjectEvaluation=178 -JestTestEntityEvaluation=179 -JestTestSingleExpression=180 -JestTestGetClass=181 -JestTestBuiltInFunction=182 -JestTestBuiltInClass=183 -JestTestBitloopsPrimaryType=184 -UUIDv4=185 -Is=186 -GetClass=187 -ToString=188 -At=189 -Method=190 -MethodGet=191 -MethodPost=192 -MethodPut=193 -MethodPatch=194 -MethodDelete=195 -MethodOptions=196 -GraphQLOperation=197 -Input=198 -OperationMutation=199 -OperationQuery=200 -OperationSubscription=201 -ErrorClass=202 -DTOIdentifier=203 -ValueObjectIdentifier=204 -EntityIdentifier=205 -ErrorIdentifier=206 -ControllerIdentifier=207 -UseCaseIdentifier=208 -PackagePortIdentifier=209 -PropsIdentifier=210 -ReadModelIdentifier=211 -RuleIdentifier=212 -RepoPortIdentifier=213 -DomainErrorIdentifier=214 -ValueObjectEvaluationIdentifier=215 -UpperCaseIdentifier=216 -Identifier=217 -StringLiteral=218 -BackTick=219 -WhiteSpaces=220 -LineTerminator=221 -HtmlComment=222 -CDataComment=223 -UnexpectedCharacter=224 -TemplateStringStartExpression=225 -TemplateStringAtom=226 -WS=227 -'['=4 -']'=5 -'('=6 -')'=7 -'{'=8 -'}'=10 -';'=11 -','=12 -'='=13 -'?'=14 -':'=15 -'...'=16 -'.'=17 -'++'=18 -'--'=19 -'+'=20 -'-'=21 -'~'=22 -'NOT'=23 -'*'=24 -'/'=25 -'%'=26 -'>>'=27 -'<<'=28 -'>>>'=29 -'<'=30 -'>'=31 -'<='=32 -'>='=33 -'=='=34 -'!='=35 -'==='=36 -'!=='=37 -'&'=38 -'^'=39 -'|'=40 -'AND'=41 -'OR'=42 -'XOR'=43 -'*='=44 -'/='=45 -'%='=46 -'+='=47 -'-='=48 -'<<='=49 -'>>='=50 -'>>>='=51 -'&='=52 -'^='=53 -'|='=54 -'=>'=55 -'null'=56 -'optional'=64 -'break'=65 -'do'=66 -'instanceof'=67 -'typeof'=68 -'case'=69 -'else'=70 -'new'=71 -'var'=72 -'catch'=73 -'finally'=74 -'return'=75 -'void'=76 -'continue'=77 -'for'=78 -'switch'=79 -'while'=80 -'debugger'=81 -'function'=82 -'this'=83 -'with'=84 -'default'=85 -'if'=86 -'throw'=87 -'delete'=88 -'in'=89 -'try'=90 -'as'=91 -'from'=92 -'readonly'=93 -'async'=94 -'throws'=95 -'applyRules'=96 -'extends'=97 -'const'=98 -'RepoPort'=99 -'Props'=100 -'ReadModel'=101 -'DTO'=102 -'RESTController'=103 -'GraphQLController'=104 -'GRPCController'=105 -'UseCase'=106 -'ValueObject'=107 -'AggregateRoot'=108 -'Entity'=109 -'DomainEvent'=110 -'Service'=111 -'Repository'=112 -'Factory'=113 -'DomainError'=114 -'ApplicationError'=115 -'DomainErrors'=116 -'ApplicationErrors'=117 -'OK'=118 -'Errors'=119 -'Config'=120 -'PackagePort'=121 -'VO'=122 -'Rule'=123 -'isBrokenIf'=124 -'Root'=125 -'constructor'=126 -'let'=127 -'private'=128 -'public'=129 -'protected'=130 -'static'=131 -'any'=132 -'double'=133 -'float'=134 -'int32'=135 -'int64'=136 -'uint32'=137 -'uint64'=138 -'sint32'=139 -'sint64'=140 -'fixed32'=141 -'fixed64'=142 -'sfixed32'=143 -'sfixed64'=144 -'bool'=145 -'string'=146 -'bytes'=147 -'timestamp'=148 -'Struct'=149 -'type'=150 -'get'=151 -'set'=152 -'execute'=153 -'create'=154 -'namespace'=155 -'declare'=156 -'JestTest'=157 -'JestTestStatement'=158 -'JestTestStatementList'=159 -'JestTestFunctionBody'=160 -'JestTestExecute'=161 -'JestTestStructEvaluation'=162 -'JestTestDTOEvaluation'=163 -'JestTestEvaluation'=164 -'JestTestReturnOkErrorType'=165 -'JestTestExpression'=166 -'JestTestConstDeclaration'=167 -'JestTestMethodDefinitionList'=168 -'JestTestCreateMethodDeclaration'=169 -'JestTestPrivateMethodDeclaration'=170 -'JestTestPublicMethodDeclaration'=171 -'JestTestValueObjectDeclaration'=172 -'JestTestEntityDeclaration'=173 -'JestTestCondition'=174 -'JestTestVariableDeclaration'=175 -'JestTestThisDeclaration'=176 -'JestTestIsInstanceOf'=177 -'JestTestValueObjectEvaluation'=178 -'JestTestEntityEvaluation'=179 -'JestTestSingleExpression'=180 -'JestTestGetClass'=181 -'JestTestBuiltInFunction'=182 -'JestTestBuiltInClass'=183 -'JestTestBitloopsPrimaryType'=184 -'UUIDv4'=185 -'is'=186 -'getClass'=187 -'toString'=188 -'@'=189 -'method'=190 -'REST.Methods.GET'=191 -'REST.Methods.POST'=192 -'REST.Methods.PUT'=193 -'REST.Methods.PATCH'=194 -'REST.Methods.DELETE'=195 -'REST.Methods.OPTIONS'=196 -'operation'=197 -'input'=198 -'GraphQL.Operations.Mutation'=199 -'GraphQL.Operations.Query'=200 -'GraphQL.Operations.Subscription'=201 -'Error'=202 -'${'=225 diff --git a/server/src/parser/grammar/BitloopsParserListener.d.ts b/server/src/parser/grammar/BitloopsParserListener.d.ts deleted file mode 100644 index d439b8a..0000000 --- a/server/src/parser/grammar/BitloopsParserListener.d.ts +++ /dev/null @@ -1,503 +0,0 @@ -export default class BitloopsParserListener extends antlr4.tree.ParseTreeListener { - enterInitializer(ctx: any): void; - exitInitializer(ctx: any): void; - enterBindingPattern(ctx: any): void; - exitBindingPattern(ctx: any): void; - enterFieldList(ctx: any): void; - exitFieldList(ctx: any): void; - enterEvaluationFieldList(ctx: any): void; - exitEvaluationFieldList(ctx: any): void; - enterEvaluationField(ctx: any): void; - exitEvaluationField(ctx: any): void; - enterPropFields(ctx: any): void; - exitPropFields(ctx: any): void; - enterPropsIdentifier(ctx: any): void; - exitPropsIdentifier(ctx: any): void; - enterBitloopsIdentifiers(ctx: any): void; - exitBitloopsIdentifiers(ctx: any): void; - enterPrimitives(ctx: any): void; - exitPrimitives(ctx: any): void; - enterIdentifier(ctx: any): void; - exitIdentifier(ctx: any): void; - enterUpperCaseIdentifier(ctx: any): void; - exitUpperCaseIdentifier(ctx: any): void; - enterStruct(ctx: any): void; - exitStruct(ctx: any): void; - enterRegularErrorTypeEvaluation(ctx: any): void; - exitRegularErrorTypeEvaluation(ctx: any): void; - enterMethodArguments(ctx: any): void; - exitMethodArguments(ctx: any): void; - enterOpenParen(ctx: any): void; - exitOpenParen(ctx: any): void; - enterCloseParen(ctx: any): void; - exitCloseParen(ctx: any): void; - enterIdentifierString(ctx: any): void; - exitIdentifierString(ctx: any): void; - enterRegularDTOEvaluationString(ctx: any): void; - exitRegularDTOEvaluationString(ctx: any): void; - enterRegularStructEvaluationString(ctx: any): void; - exitRegularStructEvaluationString(ctx: any): void; - enterRegularErrorTypeEvaluationString(ctx: any): void; - exitRegularErrorTypeEvaluationString(ctx: any): void; - enterExecuteExpression(ctx: any): void; - exitExecuteExpression(ctx: any): void; - enterCreateExpression(ctx: any): void; - exitCreateExpression(ctx: any): void; - enterDeleteKeyword(ctx: any): void; - exitDeleteKeyword(ctx: any): void; - enterRegularStringEvaluation(ctx: any): void; - exitRegularStringEvaluation(ctx: any): void; - enterRegularIntegerEvaluation(ctx: any): void; - exitRegularIntegerEvaluation(ctx: any): void; - enterRegularDecimalEvaluation(ctx: any): void; - exitRegularDecimalEvaluation(ctx: any): void; - enterRegularBooleanEvaluation(ctx: any): void; - exitRegularBooleanEvaluation(ctx: any): void; - enterRegularStructEvaluation(ctx: any): void; - exitRegularStructEvaluation(ctx: any): void; - enterRegularDTOEvaluation(ctx: any): void; - exitRegularDTOEvaluation(ctx: any): void; - enterField(ctx: any): void; - exitField(ctx: any): void; - enterPrimitivePrimType(ctx: any): void; - exitPrimitivePrimType(ctx: any): void; - enterArrayBitloopsPrimType(ctx: any): void; - exitArrayBitloopsPrimType(ctx: any): void; - enterBitloopsBuiltInClassPrimType(ctx: any): void; - exitBitloopsBuiltInClassPrimType(ctx: any): void; - enterBitloopsIdentifierPrimType(ctx: any): void; - exitBitloopsIdentifierPrimType(ctx: any): void; - enterBitloopsBuiltInClass(ctx: any): void; - exitBitloopsBuiltInClass(ctx: any): void; - enterPredefinedType(ctx: any): void; - exitPredefinedType(ctx: any): void; - enterTypeName(ctx: any): void; - exitTypeName(ctx: any): void; - enterMethodDefinitionList(ctx: any): void; - exitMethodDefinitionList(ctx: any): void; - enterMethodDefinition(ctx: any): void; - exitMethodDefinition(ctx: any): void; - enterTypeQuery(ctx: any): void; - exitTypeQuery(ctx: any): void; - enterTypeQueryExpression(ctx: any): void; - exitTypeQueryExpression(ctx: any): void; - enterTypeAnnotation(ctx: any): void; - exitTypeAnnotation(ctx: any): void; - enterParameterList(ctx: any): void; - exitParameterList(ctx: any): void; - enterRequiredParameterList(ctx: any): void; - exitRequiredParameterList(ctx: any): void; - enterParameter(ctx: any): void; - exitParameter(ctx: any): void; - enterOptionalParameter(ctx: any): void; - exitOptionalParameter(ctx: any): void; - enterRestParameter(ctx: any): void; - exitRestParameter(ctx: any): void; - enterRequiredParameter(ctx: any): void; - exitRequiredParameter(ctx: any): void; - enterAccessibilityModifier(ctx: any): void; - exitAccessibilityModifier(ctx: any): void; - enterIdentifierOrPattern(ctx: any): void; - exitIdentifierOrPattern(ctx: any): void; - enterIndexSignature(ctx: any): void; - exitIndexSignature(ctx: any): void; - enterEnumBody(ctx: any): void; - exitEnumBody(ctx: any): void; - enterEnumMemberList(ctx: any): void; - exitEnumMemberList(ctx: any): void; - enterEnumMember(ctx: any): void; - exitEnumMember(ctx: any): void; - enterNamespaceDeclaration(ctx: any): void; - exitNamespaceDeclaration(ctx: any): void; - enterNamespaceName(ctx: any): void; - exitNamespaceName(ctx: any): void; - enterImportAliasDeclaration(ctx: any): void; - exitImportAliasDeclaration(ctx: any): void; - enterDecoratorList(ctx: any): void; - exitDecoratorList(ctx: any): void; - enterDecorator(ctx: any): void; - exitDecorator(ctx: any): void; - enterDecoratorMemberExpression(ctx: any): void; - exitDecoratorMemberExpression(ctx: any): void; - enterDecoratorCallExpression(ctx: any): void; - exitDecoratorCallExpression(ctx: any): void; - enterProgram(ctx: any): void; - exitProgram(ctx: any): void; - enterSourceElement(ctx: any): void; - exitSourceElement(ctx: any): void; - enterJestTestDeclaration(ctx: any): void; - exitJestTestDeclaration(ctx: any): void; - enterErrorEvaluation(ctx: any): void; - exitErrorEvaluation(ctx: any): void; - enterEvaluation(ctx: any): void; - exitEvaluation(ctx: any): void; - enterCondition(ctx: any): void; - exitCondition(ctx: any): void; - enterReturnStatement(ctx: any): void; - exitReturnStatement(ctx: any): void; - enterConstDeclaration(ctx: any): void; - exitConstDeclaration(ctx: any): void; - enterVariableDeclaration(ctx: any): void; - exitVariableDeclaration(ctx: any): void; - enterStatement(ctx: any): void; - exitStatement(ctx: any): void; - enterApplyRulesStatement(ctx: any): void; - exitApplyRulesStatement(ctx: any): void; - enterApplyRuleStatementRulesList(ctx: any): void; - exitApplyRuleStatementRulesList(ctx: any): void; - enterApplyRulesRule(ctx: any): void; - exitApplyRulesRule(ctx: any): void; - enterBlock(ctx: any): void; - exitBlock(ctx: any): void; - enterStatementList(ctx: any): void; - exitStatementList(ctx: any): void; - enterFromBlock(ctx: any): void; - exitFromBlock(ctx: any): void; - enterMultipleImportStatement(ctx: any): void; - exitMultipleImportStatement(ctx: any): void; - enterVariableDeclarationList(ctx: any): void; - exitVariableDeclarationList(ctx: any): void; - enterEmptyStatement_(ctx: any): void; - exitEmptyStatement_(ctx: any): void; - enterExpressionStatement(ctx: any): void; - exitExpressionStatement(ctx: any): void; - enterIfStatement(ctx: any): void; - exitIfStatement(ctx: any): void; - enterDoStatement(ctx: any): void; - exitDoStatement(ctx: any): void; - enterWhileStatement(ctx: any): void; - exitWhileStatement(ctx: any): void; - enterForStatement(ctx: any): void; - exitForStatement(ctx: any): void; - enterForVarStatement(ctx: any): void; - exitForVarStatement(ctx: any): void; - enterForInStatement(ctx: any): void; - exitForInStatement(ctx: any): void; - enterForVarInStatement(ctx: any): void; - exitForVarInStatement(ctx: any): void; - enterVarModifier(ctx: any): void; - exitVarModifier(ctx: any): void; - enterContinueStatement(ctx: any): void; - exitContinueStatement(ctx: any): void; - enterBreakStatement(ctx: any): void; - exitBreakStatement(ctx: any): void; - enterWithStatement(ctx: any): void; - exitWithStatement(ctx: any): void; - enterSwitchStatement(ctx: any): void; - exitSwitchStatement(ctx: any): void; - enterCaseBlock(ctx: any): void; - exitCaseBlock(ctx: any): void; - enterCaseClauses(ctx: any): void; - exitCaseClauses(ctx: any): void; - enterCaseClause(ctx: any): void; - exitCaseClause(ctx: any): void; - enterDefaultClause(ctx: any): void; - exitDefaultClause(ctx: any): void; - enterLabelledStatement(ctx: any): void; - exitLabelledStatement(ctx: any): void; - enterThrowStatement(ctx: any): void; - exitThrowStatement(ctx: any): void; - enterTryStatement(ctx: any): void; - exitTryStatement(ctx: any): void; - enterCatchProduction(ctx: any): void; - exitCatchProduction(ctx: any): void; - enterFinallyProduction(ctx: any): void; - exitFinallyProduction(ctx: any): void; - enterDebuggerStatement(ctx: any): void; - exitDebuggerStatement(ctx: any): void; - enterDomainFieldDeclaration(ctx: any): void; - exitDomainFieldDeclaration(ctx: any): void; - enterIsBrokenStatement(ctx: any): void; - exitIsBrokenStatement(ctx: any): void; - enterDomainRuleBody(ctx: any): void; - exitDomainRuleBody(ctx: any): void; - enterDomainRuleDeclaration(ctx: any): void; - exitDomainRuleDeclaration(ctx: any): void; - enterAggregateDeclaration(ctx: any): void; - exitAggregateDeclaration(ctx: any): void; - enterDomainConstDeclaration(ctx: any): void; - exitDomainConstDeclaration(ctx: any): void; - enterEntityDeclaration(ctx: any): void; - exitEntityDeclaration(ctx: any): void; - enterEntityBody(ctx: any): void; - exitEntityBody(ctx: any): void; - enterValueObjectDeclaration(ctx: any): void; - exitValueObjectDeclaration(ctx: any): void; - enterDomainConstDeclarationList(ctx: any): void; - exitDomainConstDeclarationList(ctx: any): void; - enterPublicMethodDeclarationList(ctx: any): void; - exitPublicMethodDeclarationList(ctx: any): void; - enterPrivateMethodDeclarationList(ctx: any): void; - exitPrivateMethodDeclarationList(ctx: any): void; - enterDomainConstructorDeclaration(ctx: any): void; - exitDomainConstructorDeclaration(ctx: any): void; - enterUseCaseIdentifier(ctx: any): void; - exitUseCaseIdentifier(ctx: any): void; - enterUseCaseDeclaration(ctx: any): void; - exitUseCaseDeclaration(ctx: any): void; - enterPropsDeclaration(ctx: any): void; - exitPropsDeclaration(ctx: any): void; - enterReadModelDeclaration(ctx: any): void; - exitReadModelDeclaration(ctx: any): void; - enterRepoPortDeclaration(ctx: any): void; - exitRepoPortDeclaration(ctx: any): void; - enterRepoPortIdentifier(ctx: any): void; - exitRepoPortIdentifier(ctx: any): void; - enterAggregateRootIdentifier(ctx: any): void; - exitAggregateRootIdentifier(ctx: any): void; - enterRepoExtendsList(ctx: any): void; - exitRepoExtendsList(ctx: any): void; - enterRepoPortMethodDefinitions(ctx: any): void; - exitRepoPortMethodDefinitions(ctx: any): void; - enterRepoPortExtendableIdentifierList(ctx: any): void; - exitRepoPortExtendableIdentifierList(ctx: any): void; - enterRepoPortExtendableIdentifier(ctx: any): void; - exitRepoPortExtendableIdentifier(ctx: any): void; - enterDtoDeclaration(ctx: any): void; - exitDtoDeclaration(ctx: any): void; - enterStructDeclaration(ctx: any): void; - exitStructDeclaration(ctx: any): void; - enterDtoEvaluationIdentifier(ctx: any): void; - exitDtoEvaluationIdentifier(ctx: any): void; - enterDtoEvaluation(ctx: any): void; - exitDtoEvaluation(ctx: any): void; - enterValueObjectEvaluation(ctx: any): void; - exitValueObjectEvaluation(ctx: any): void; - enterDomainEvaluationInputFieldList(ctx: any): void; - exitDomainEvaluationInputFieldList(ctx: any): void; - enterDomainEvaluationInputRegular(ctx: any): void; - exitDomainEvaluationInputRegular(ctx: any): void; - enterEntityEvaluation(ctx: any): void; - exitEntityEvaluation(ctx: any): void; - enterStructEvaluationIdentifier(ctx: any): void; - exitStructEvaluationIdentifier(ctx: any): void; - enterStructEvaluation(ctx: any): void; - exitStructEvaluation(ctx: any): void; - enterBuiltInClassEvaluation(ctx: any): void; - exitBuiltInClassEvaluation(ctx: any): void; - enterPropsEvaluation(ctx: any): void; - exitPropsEvaluation(ctx: any): void; - enterDomainErrorDeclaration(ctx: any): void; - exitDomainErrorDeclaration(ctx: any): void; - enterApplicationErrorDeclaration(ctx: any): void; - exitApplicationErrorDeclaration(ctx: any): void; - enterDomainErrorIdentifier(ctx: any): void; - exitDomainErrorIdentifier(ctx: any): void; - enterApplicationErrorIdentifier(ctx: any): void; - exitApplicationErrorIdentifier(ctx: any): void; - enterUseCaseExecuteDeclaration(ctx: any): void; - exitUseCaseExecuteDeclaration(ctx: any): void; - enterRestControllerParameters(ctx: any): void; - exitRestControllerParameters(ctx: any): void; - enterRestControllerExecuteDeclaration(ctx: any): void; - exitRestControllerExecuteDeclaration(ctx: any): void; - enterRestControllerMethodDeclaration(ctx: any): void; - exitRestControllerMethodDeclaration(ctx: any): void; - enterHttpMethod(ctx: any): void; - exitHttpMethod(ctx: any): void; - enterRESTControllerDeclaration(ctx: any): void; - exitRESTControllerDeclaration(ctx: any): void; - enterGraphQLControllerDeclaration(ctx: any): void; - exitGraphQLControllerDeclaration(ctx: any): void; - enterGraphQLResolverOptions(ctx: any): void; - exitGraphQLResolverOptions(ctx: any): void; - enterGraphQLOperationTypeAssignment(ctx: any): void; - exitGraphQLOperationTypeAssignment(ctx: any): void; - enterGraphQLOperationInputTypeAssignment(ctx: any): void; - exitGraphQLOperationInputTypeAssignment(ctx: any): void; - enterGraphQLResolverInputType(ctx: any): void; - exitGraphQLResolverInputType(ctx: any): void; - enterGraphQLOperation(ctx: any): void; - exitGraphQLOperation(ctx: any): void; - enterGraphQLControllerExecuteDeclaration(ctx: any): void; - exitGraphQLControllerExecuteDeclaration(ctx: any): void; - enterGraphQLControllerParameters(ctx: any): void; - exitGraphQLControllerParameters(ctx: any): void; - enterGraphQLControllerReturnType(ctx: any): void; - exitGraphQLControllerReturnType(ctx: any): void; - enterDtoIdentifier(ctx: any): void; - exitDtoIdentifier(ctx: any): void; - enterDtoIdentifiers(ctx: any): void; - exitDtoIdentifiers(ctx: any): void; - enterErrorIdentifier(ctx: any): void; - exitErrorIdentifier(ctx: any): void; - enterErrorIdentifiers(ctx: any): void; - exitErrorIdentifiers(ctx: any): void; - enterValueObjectIdentifier(ctx: any): void; - exitValueObjectIdentifier(ctx: any): void; - enterEntityIdentifier(ctx: any): void; - exitEntityIdentifier(ctx: any): void; - enterDomainRuleIdentifier(ctx: any): void; - exitDomainRuleIdentifier(ctx: any): void; - enterReturnOkType(ctx: any): void; - exitReturnOkType(ctx: any): void; - enterReturnErrorsType(ctx: any): void; - exitReturnErrorsType(ctx: any): void; - enterReturnOkErrorType(ctx: any): void; - exitReturnOkErrorType(ctx: any): void; - enterPackagePortIdentifier(ctx: any): void; - exitPackagePortIdentifier(ctx: any): void; - enterPackagePortDeclaration(ctx: any): void; - exitPackagePortDeclaration(ctx: any): void; - enterPublicMethodDeclarationExpression(ctx: any): void; - exitPublicMethodDeclarationExpression(ctx: any): void; - enterPrivateMethodDeclarationExpression(ctx: any): void; - exitPrivateMethodDeclarationExpression(ctx: any): void; - enterPrivateMethodDeclaration(ctx: any): void; - exitPrivateMethodDeclaration(ctx: any): void; - enterPublicMethodDeclaration(ctx: any): void; - exitPublicMethodDeclaration(ctx: any): void; - enterReturnPublicMethodType(ctx: any): void; - exitReturnPublicMethodType(ctx: any): void; - enterReturnPrivateMethodType(ctx: any): void; - exitReturnPrivateMethodType(ctx: any): void; - enterPropertyMemberBase(ctx: any): void; - exitPropertyMemberBase(ctx: any): void; - enterIndexMemberDeclaration(ctx: any): void; - exitIndexMemberDeclaration(ctx: any): void; - enterGeneratorMethod(ctx: any): void; - exitGeneratorMethod(ctx: any): void; - enterGeneratorFunctionDeclaration(ctx: any): void; - exitGeneratorFunctionDeclaration(ctx: any): void; - enterGeneratorBlock(ctx: any): void; - exitGeneratorBlock(ctx: any): void; - enterGeneratorDefinition(ctx: any): void; - exitGeneratorDefinition(ctx: any): void; - enterIteratorBlock(ctx: any): void; - exitIteratorBlock(ctx: any): void; - enterIteratorDefinition(ctx: any): void; - exitIteratorDefinition(ctx: any): void; - enterFormalParameterList(ctx: any): void; - exitFormalParameterList(ctx: any): void; - enterFormalParameterArg(ctx: any): void; - exitFormalParameterArg(ctx: any): void; - enterLastFormalParameterArg(ctx: any): void; - exitLastFormalParameterArg(ctx: any): void; - enterFunctionBody(ctx: any): void; - exitFunctionBody(ctx: any): void; - enterArrayLiteral(ctx: any): void; - exitArrayLiteral(ctx: any): void; - enterElementList(ctx: any): void; - exitElementList(ctx: any): void; - enterObjectLiteral(ctx: any): void; - exitObjectLiteral(ctx: any): void; - enterRegularVariableEvaluationORliteralORexpression(ctx: any): void; - exitRegularVariableEvaluationORliteralORexpression(ctx: any): void; - enterPropertyExpressionAssignment(ctx: any): void; - exitPropertyExpressionAssignment(ctx: any): void; - enterComputedPropertyExpressionAssignment(ctx: any): void; - exitComputedPropertyExpressionAssignment(ctx: any): void; - enterPropertyGetter(ctx: any): void; - exitPropertyGetter(ctx: any): void; - enterPropertySetter(ctx: any): void; - exitPropertySetter(ctx: any): void; - enterMethodProperty(ctx: any): void; - exitMethodProperty(ctx: any): void; - enterPropertyShorthand(ctx: any): void; - exitPropertyShorthand(ctx: any): void; - enterRestParameterInObject(ctx: any): void; - exitRestParameterInObject(ctx: any): void; - enterGetAccessor(ctx: any): void; - exitGetAccessor(ctx: any): void; - enterSetAccessor(ctx: any): void; - exitSetAccessor(ctx: any): void; - enterPropertyName(ctx: any): void; - exitPropertyName(ctx: any): void; - enterArguments(ctx: any): void; - exitArguments(ctx: any): void; - enterArgumentList(ctx: any): void; - exitArgumentList(ctx: any): void; - enterArgument(ctx: any): void; - exitArgument(ctx: any): void; - enterExpressionSequence(ctx: any): void; - exitExpressionSequence(ctx: any): void; - enterFunctionExpressionDeclaration(ctx: any): void; - exitFunctionExpressionDeclaration(ctx: any): void; - enterParenthesizedExpression(ctx: any): void; - exitParenthesizedExpression(ctx: any): void; - enterToStringExpression(ctx: any): void; - exitToStringExpression(ctx: any): void; - enterAdditiveExpression(ctx: any): void; - exitAdditiveExpression(ctx: any): void; - enterRelationalExpression(ctx: any): void; - exitRelationalExpression(ctx: any): void; - enterLogicalAndExpression(ctx: any): void; - exitLogicalAndExpression(ctx: any): void; - enterLiteralExpression(ctx: any): void; - exitLiteralExpression(ctx: any): void; - enterLogicalOrExpression(ctx: any): void; - exitLogicalOrExpression(ctx: any): void; - enterArrayLiteralExpression(ctx: any): void; - exitArrayLiteralExpression(ctx: any): void; - enterMemberDotExpression(ctx: any): void; - exitMemberDotExpression(ctx: any): void; - enterNotExpression(ctx: any): void; - exitNotExpression(ctx: any): void; - enterEvaluationExpression(ctx: any): void; - exitEvaluationExpression(ctx: any): void; - enterIdentifierExpression(ctx: any): void; - exitIdentifierExpression(ctx: any): void; - enterThisExpression(ctx: any): void; - exitThisExpression(ctx: any): void; - enterAssignmentExpression(ctx: any): void; - exitAssignmentExpression(ctx: any): void; - enterMethodCallExpression(ctx: any): void; - exitMethodCallExpression(ctx: any): void; - enterLogicalXorExpression(ctx: any): void; - exitLogicalXorExpression(ctx: any): void; - enterGetClassExpression(ctx: any): void; - exitGetClassExpression(ctx: any): void; - enterEqualityExpression(ctx: any): void; - exitEqualityExpression(ctx: any): void; - enterMultiplicativeExpression(ctx: any): void; - exitMultiplicativeExpression(ctx: any): void; - enterAsExpression(ctx: any): void; - exitAsExpression(ctx: any): void; - enterArrowFunctionDeclaration(ctx: any): void; - exitArrowFunctionDeclaration(ctx: any): void; - enterArrowFunctionParameters(ctx: any): void; - exitArrowFunctionParameters(ctx: any): void; - enterArrowFunctionBody(ctx: any): void; - exitArrowFunctionBody(ctx: any): void; - enterAssignmentOperator(ctx: any): void; - exitAssignmentOperator(ctx: any): void; - enterNullLiteral(ctx: any): void; - exitNullLiteral(ctx: any): void; - enterBooleanLiteral(ctx: any): void; - exitBooleanLiteral(ctx: any): void; - enterStringLiteral(ctx: any): void; - exitStringLiteral(ctx: any): void; - enterTemplateStringLiteralLabel(ctx: any): void; - exitTemplateStringLiteralLabel(ctx: any): void; - enterRegularExpressionLiteral(ctx: any): void; - exitRegularExpressionLiteral(ctx: any): void; - enterNumericLiteralLabel(ctx: any): void; - exitNumericLiteralLabel(ctx: any): void; - enterTemplateStringLiteral(ctx: any): void; - exitTemplateStringLiteral(ctx: any): void; - enterTemplateStringAtom(ctx: any): void; - exitTemplateStringAtom(ctx: any): void; - enterIntegerLiteral(ctx: any): void; - exitIntegerLiteral(ctx: any): void; - enterDecimalLiteral(ctx: any): void; - exitDecimalLiteral(ctx: any): void; - enterIdentifierName(ctx: any): void; - exitIdentifierName(ctx: any): void; - enterIdentifierOrKeyWord(ctx: any): void; - exitIdentifierOrKeyWord(ctx: any): void; - enterReservedWord(ctx: any): void; - exitReservedWord(ctx: any): void; - enterKeyword(ctx: any): void; - exitKeyword(ctx: any): void; - enterGetter(ctx: any): void; - exitGetter(ctx: any): void; - enterSetter(ctx: any): void; - exitSetter(ctx: any): void; - enterEos(ctx: any): void; - exitEos(ctx: any): void; - enterIsInstanceOf(ctx: any): void; - exitIsInstanceOf(ctx: any): void; - enterClassTypes(ctx: any): void; - exitClassTypes(ctx: any): void; -} -import antlr4 from 'antlr4'; diff --git a/server/src/parser/grammar/BitloopsParserListener.js b/server/src/parser/grammar/BitloopsParserListener.js deleted file mode 100644 index 9f31c2e..0000000 --- a/server/src/parser/grammar/BitloopsParserListener.js +++ /dev/null @@ -1,2259 +0,0 @@ -// Generated from src/parser/grammar/BitloopsParser.g4 by ANTLR 4.10.1 -// jshint ignore: start -import antlr4 from 'antlr4'; - -// This class defines a complete listener for a parse tree produced by BitloopsParser. -export default class BitloopsParserListener extends antlr4.tree.ParseTreeListener { - - // Enter a parse tree produced by BitloopsParser#initializer. - enterInitializer(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#initializer. - exitInitializer(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#bindingPattern. - enterBindingPattern(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#bindingPattern. - exitBindingPattern(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#fieldList. - enterFieldList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#fieldList. - exitFieldList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#evaluationFieldList. - enterEvaluationFieldList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#evaluationFieldList. - exitEvaluationFieldList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#evaluationField. - enterEvaluationField(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#evaluationField. - exitEvaluationField(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#propFields. - enterPropFields(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#propFields. - exitPropFields(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#propsIdentifier. - enterPropsIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#propsIdentifier. - exitPropsIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#bitloopsIdentifiers. - enterBitloopsIdentifiers(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#bitloopsIdentifiers. - exitBitloopsIdentifiers(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#primitives. - enterPrimitives(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#primitives. - exitPrimitives(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#identifier. - enterIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#identifier. - exitIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#upperCaseIdentifier. - enterUpperCaseIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#upperCaseIdentifier. - exitUpperCaseIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#struct. - enterStruct(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#struct. - exitStruct(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#regularErrorTypeEvaluation. - enterRegularErrorTypeEvaluation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#regularErrorTypeEvaluation. - exitRegularErrorTypeEvaluation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#methodArguments. - enterMethodArguments(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#methodArguments. - exitMethodArguments(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#openParen. - enterOpenParen(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#openParen. - exitOpenParen(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#closeParen. - enterCloseParen(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#closeParen. - exitCloseParen(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#IdentifierString. - enterIdentifierString(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#IdentifierString. - exitIdentifierString(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#RegularDTOEvaluationString. - enterRegularDTOEvaluationString(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#RegularDTOEvaluationString. - exitRegularDTOEvaluationString(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#RegularStructEvaluationString. - enterRegularStructEvaluationString(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#RegularStructEvaluationString. - exitRegularStructEvaluationString(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#RegularErrorTypeEvaluationString. - enterRegularErrorTypeEvaluationString(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#RegularErrorTypeEvaluationString. - exitRegularErrorTypeEvaluationString(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#ExecuteExpression. - enterExecuteExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#ExecuteExpression. - exitExecuteExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#CreateExpression. - enterCreateExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#CreateExpression. - exitCreateExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#DeleteKeyword. - enterDeleteKeyword(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#DeleteKeyword. - exitDeleteKeyword(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#regularStringEvaluation. - enterRegularStringEvaluation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#regularStringEvaluation. - exitRegularStringEvaluation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#regularIntegerEvaluation. - enterRegularIntegerEvaluation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#regularIntegerEvaluation. - exitRegularIntegerEvaluation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#regularDecimalEvaluation. - enterRegularDecimalEvaluation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#regularDecimalEvaluation. - exitRegularDecimalEvaluation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#regularBooleanEvaluation. - enterRegularBooleanEvaluation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#regularBooleanEvaluation. - exitRegularBooleanEvaluation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#regularStructEvaluation. - enterRegularStructEvaluation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#regularStructEvaluation. - exitRegularStructEvaluation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#regularDTOEvaluation. - enterRegularDTOEvaluation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#regularDTOEvaluation. - exitRegularDTOEvaluation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#field. - enterField(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#field. - exitField(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#PrimitivePrimType. - enterPrimitivePrimType(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#PrimitivePrimType. - exitPrimitivePrimType(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#ArrayBitloopsPrimType. - enterArrayBitloopsPrimType(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#ArrayBitloopsPrimType. - exitArrayBitloopsPrimType(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#BitloopsBuiltInClassPrimType. - enterBitloopsBuiltInClassPrimType(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#BitloopsBuiltInClassPrimType. - exitBitloopsBuiltInClassPrimType(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#BitloopsIdentifierPrimType. - enterBitloopsIdentifierPrimType(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#BitloopsIdentifierPrimType. - exitBitloopsIdentifierPrimType(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#bitloopsBuiltInClass. - enterBitloopsBuiltInClass(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#bitloopsBuiltInClass. - exitBitloopsBuiltInClass(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#predefinedType. - enterPredefinedType(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#predefinedType. - exitPredefinedType(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#typeName. - enterTypeName(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#typeName. - exitTypeName(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#methodDefinitionList. - enterMethodDefinitionList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#methodDefinitionList. - exitMethodDefinitionList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#methodDefinition. - enterMethodDefinition(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#methodDefinition. - exitMethodDefinition(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#typeQuery. - enterTypeQuery(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#typeQuery. - exitTypeQuery(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#typeQueryExpression. - enterTypeQueryExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#typeQueryExpression. - exitTypeQueryExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#typeAnnotation. - enterTypeAnnotation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#typeAnnotation. - exitTypeAnnotation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#parameterList. - enterParameterList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#parameterList. - exitParameterList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#requiredParameterList. - enterRequiredParameterList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#requiredParameterList. - exitRequiredParameterList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#parameter. - enterParameter(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#parameter. - exitParameter(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#optionalParameter. - enterOptionalParameter(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#optionalParameter. - exitOptionalParameter(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#restParameter. - enterRestParameter(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#restParameter. - exitRestParameter(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#requiredParameter. - enterRequiredParameter(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#requiredParameter. - exitRequiredParameter(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#accessibilityModifier. - enterAccessibilityModifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#accessibilityModifier. - exitAccessibilityModifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#identifierOrPattern. - enterIdentifierOrPattern(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#identifierOrPattern. - exitIdentifierOrPattern(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#indexSignature. - enterIndexSignature(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#indexSignature. - exitIndexSignature(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#enumBody. - enterEnumBody(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#enumBody. - exitEnumBody(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#enumMemberList. - enterEnumMemberList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#enumMemberList. - exitEnumMemberList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#enumMember. - enterEnumMember(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#enumMember. - exitEnumMember(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#namespaceDeclaration. - enterNamespaceDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#namespaceDeclaration. - exitNamespaceDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#namespaceName. - enterNamespaceName(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#namespaceName. - exitNamespaceName(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#importAliasDeclaration. - enterImportAliasDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#importAliasDeclaration. - exitImportAliasDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#decoratorList. - enterDecoratorList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#decoratorList. - exitDecoratorList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#decorator. - enterDecorator(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#decorator. - exitDecorator(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#decoratorMemberExpression. - enterDecoratorMemberExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#decoratorMemberExpression. - exitDecoratorMemberExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#decoratorCallExpression. - enterDecoratorCallExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#decoratorCallExpression. - exitDecoratorCallExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#program. - enterProgram(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#program. - exitProgram(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#sourceElement. - enterSourceElement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#sourceElement. - exitSourceElement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#jestTestDeclaration. - enterJestTestDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#jestTestDeclaration. - exitJestTestDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#errorEvaluation. - enterErrorEvaluation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#errorEvaluation. - exitErrorEvaluation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#evaluation. - enterEvaluation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#evaluation. - exitEvaluation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#condition. - enterCondition(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#condition. - exitCondition(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#returnStatement. - enterReturnStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#returnStatement. - exitReturnStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#constDeclaration. - enterConstDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#constDeclaration. - exitConstDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#variableDeclaration. - enterVariableDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#variableDeclaration. - exitVariableDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#statement. - enterStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#statement. - exitStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#ApplyRulesStatement. - enterApplyRulesStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#ApplyRulesStatement. - exitApplyRulesStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#applyRuleStatementRulesList. - enterApplyRuleStatementRulesList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#applyRuleStatementRulesList. - exitApplyRuleStatementRulesList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#applyRulesRule. - enterApplyRulesRule(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#applyRulesRule. - exitApplyRulesRule(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#block. - enterBlock(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#block. - exitBlock(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#statementList. - enterStatementList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#statementList. - exitStatementList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#fromBlock. - enterFromBlock(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#fromBlock. - exitFromBlock(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#multipleImportStatement. - enterMultipleImportStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#multipleImportStatement. - exitMultipleImportStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#variableDeclarationList. - enterVariableDeclarationList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#variableDeclarationList. - exitVariableDeclarationList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#emptyStatement_. - enterEmptyStatement_(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#emptyStatement_. - exitEmptyStatement_(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#expressionStatement. - enterExpressionStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#expressionStatement. - exitExpressionStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#ifStatement. - enterIfStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#ifStatement. - exitIfStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#DoStatement. - enterDoStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#DoStatement. - exitDoStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#WhileStatement. - enterWhileStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#WhileStatement. - exitWhileStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#ForStatement. - enterForStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#ForStatement. - exitForStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#ForVarStatement. - enterForVarStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#ForVarStatement. - exitForVarStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#ForInStatement. - enterForInStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#ForInStatement. - exitForInStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#ForVarInStatement. - enterForVarInStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#ForVarInStatement. - exitForVarInStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#varModifier. - enterVarModifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#varModifier. - exitVarModifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#continueStatement. - enterContinueStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#continueStatement. - exitContinueStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#breakStatement. - enterBreakStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#breakStatement. - exitBreakStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#withStatement. - enterWithStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#withStatement. - exitWithStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#switchStatement. - enterSwitchStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#switchStatement. - exitSwitchStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#caseBlock. - enterCaseBlock(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#caseBlock. - exitCaseBlock(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#caseClauses. - enterCaseClauses(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#caseClauses. - exitCaseClauses(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#caseClause. - enterCaseClause(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#caseClause. - exitCaseClause(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#defaultClause. - enterDefaultClause(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#defaultClause. - exitDefaultClause(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#labelledStatement. - enterLabelledStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#labelledStatement. - exitLabelledStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#throwStatement. - enterThrowStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#throwStatement. - exitThrowStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#tryStatement. - enterTryStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#tryStatement. - exitTryStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#catchProduction. - enterCatchProduction(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#catchProduction. - exitCatchProduction(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#finallyProduction. - enterFinallyProduction(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#finallyProduction. - exitFinallyProduction(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#debuggerStatement. - enterDebuggerStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#debuggerStatement. - exitDebuggerStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#domainFieldDeclaration. - enterDomainFieldDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#domainFieldDeclaration. - exitDomainFieldDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#isBrokenStatement. - enterIsBrokenStatement(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#isBrokenStatement. - exitIsBrokenStatement(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#domainRuleBody. - enterDomainRuleBody(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#domainRuleBody. - exitDomainRuleBody(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#domainRuleDeclaration. - enterDomainRuleDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#domainRuleDeclaration. - exitDomainRuleDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#aggregateDeclaration. - enterAggregateDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#aggregateDeclaration. - exitAggregateDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#domainConstDeclaration. - enterDomainConstDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#domainConstDeclaration. - exitDomainConstDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#entityDeclaration. - enterEntityDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#entityDeclaration. - exitEntityDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#entityBody. - enterEntityBody(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#entityBody. - exitEntityBody(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#valueObjectDeclaration. - enterValueObjectDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#valueObjectDeclaration. - exitValueObjectDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#domainConstDeclarationList. - enterDomainConstDeclarationList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#domainConstDeclarationList. - exitDomainConstDeclarationList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#publicMethodDeclarationList. - enterPublicMethodDeclarationList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#publicMethodDeclarationList. - exitPublicMethodDeclarationList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#privateMethodDeclarationList. - enterPrivateMethodDeclarationList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#privateMethodDeclarationList. - exitPrivateMethodDeclarationList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#domainConstructorDeclaration. - enterDomainConstructorDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#domainConstructorDeclaration. - exitDomainConstructorDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#useCaseIdentifier. - enterUseCaseIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#useCaseIdentifier. - exitUseCaseIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#useCaseDeclaration. - enterUseCaseDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#useCaseDeclaration. - exitUseCaseDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#propsDeclaration. - enterPropsDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#propsDeclaration. - exitPropsDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#readModelDeclaration. - enterReadModelDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#readModelDeclaration. - exitReadModelDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#repoPortDeclaration. - enterRepoPortDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#repoPortDeclaration. - exitRepoPortDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#repoPortIdentifier. - enterRepoPortIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#repoPortIdentifier. - exitRepoPortIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#aggregateRootIdentifier. - enterAggregateRootIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#aggregateRootIdentifier. - exitAggregateRootIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#repoExtendsList. - enterRepoExtendsList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#repoExtendsList. - exitRepoExtendsList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#repoPortMethodDefinitions. - enterRepoPortMethodDefinitions(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#repoPortMethodDefinitions. - exitRepoPortMethodDefinitions(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#repoPortExtendableIdentifierList. - enterRepoPortExtendableIdentifierList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#repoPortExtendableIdentifierList. - exitRepoPortExtendableIdentifierList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#repoPortExtendableIdentifier. - enterRepoPortExtendableIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#repoPortExtendableIdentifier. - exitRepoPortExtendableIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#dtoDeclaration. - enterDtoDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#dtoDeclaration. - exitDtoDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#structDeclaration. - enterStructDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#structDeclaration. - exitStructDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#dtoEvaluationIdentifier. - enterDtoEvaluationIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#dtoEvaluationIdentifier. - exitDtoEvaluationIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#dtoEvaluation. - enterDtoEvaluation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#dtoEvaluation. - exitDtoEvaluation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#valueObjectEvaluation. - enterValueObjectEvaluation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#valueObjectEvaluation. - exitValueObjectEvaluation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#DomainEvaluationInputFieldList. - enterDomainEvaluationInputFieldList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#DomainEvaluationInputFieldList. - exitDomainEvaluationInputFieldList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#DomainEvaluationInputRegular. - enterDomainEvaluationInputRegular(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#DomainEvaluationInputRegular. - exitDomainEvaluationInputRegular(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#entityEvaluation. - enterEntityEvaluation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#entityEvaluation. - exitEntityEvaluation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#structEvaluationIdentifier. - enterStructEvaluationIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#structEvaluationIdentifier. - exitStructEvaluationIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#structEvaluation. - enterStructEvaluation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#structEvaluation. - exitStructEvaluation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#builtInClassEvaluation. - enterBuiltInClassEvaluation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#builtInClassEvaluation. - exitBuiltInClassEvaluation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#propsEvaluation. - enterPropsEvaluation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#propsEvaluation. - exitPropsEvaluation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#domainErrorDeclaration. - enterDomainErrorDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#domainErrorDeclaration. - exitDomainErrorDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#applicationErrorDeclaration. - enterApplicationErrorDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#applicationErrorDeclaration. - exitApplicationErrorDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#domainErrorIdentifier. - enterDomainErrorIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#domainErrorIdentifier. - exitDomainErrorIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#applicationErrorIdentifier. - enterApplicationErrorIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#applicationErrorIdentifier. - exitApplicationErrorIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#useCaseExecuteDeclaration. - enterUseCaseExecuteDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#useCaseExecuteDeclaration. - exitUseCaseExecuteDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#restControllerParameters. - enterRestControllerParameters(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#restControllerParameters. - exitRestControllerParameters(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#restControllerExecuteDeclaration. - enterRestControllerExecuteDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#restControllerExecuteDeclaration. - exitRestControllerExecuteDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#restControllerMethodDeclaration. - enterRestControllerMethodDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#restControllerMethodDeclaration. - exitRestControllerMethodDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#httpMethod. - enterHttpMethod(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#httpMethod. - exitHttpMethod(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#RESTControllerDeclaration. - enterRESTControllerDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#RESTControllerDeclaration. - exitRESTControllerDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#GraphQLControllerDeclaration. - enterGraphQLControllerDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#GraphQLControllerDeclaration. - exitGraphQLControllerDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#graphQLResolverOptions. - enterGraphQLResolverOptions(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#graphQLResolverOptions. - exitGraphQLResolverOptions(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#graphQLOperationTypeAssignment. - enterGraphQLOperationTypeAssignment(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#graphQLOperationTypeAssignment. - exitGraphQLOperationTypeAssignment(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#graphQLOperationInputTypeAssignment. - enterGraphQLOperationInputTypeAssignment(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#graphQLOperationInputTypeAssignment. - exitGraphQLOperationInputTypeAssignment(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#graphQLResolverInputType. - enterGraphQLResolverInputType(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#graphQLResolverInputType. - exitGraphQLResolverInputType(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#graphQLOperation. - enterGraphQLOperation(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#graphQLOperation. - exitGraphQLOperation(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#graphQLControllerExecuteDeclaration. - enterGraphQLControllerExecuteDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#graphQLControllerExecuteDeclaration. - exitGraphQLControllerExecuteDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#graphQLControllerParameters. - enterGraphQLControllerParameters(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#graphQLControllerParameters. - exitGraphQLControllerParameters(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#graphQLControllerReturnType. - enterGraphQLControllerReturnType(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#graphQLControllerReturnType. - exitGraphQLControllerReturnType(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#dtoIdentifier. - enterDtoIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#dtoIdentifier. - exitDtoIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#dtoIdentifiers. - enterDtoIdentifiers(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#dtoIdentifiers. - exitDtoIdentifiers(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#errorIdentifier. - enterErrorIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#errorIdentifier. - exitErrorIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#errorIdentifiers. - enterErrorIdentifiers(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#errorIdentifiers. - exitErrorIdentifiers(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#valueObjectIdentifier. - enterValueObjectIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#valueObjectIdentifier. - exitValueObjectIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#entityIdentifier. - enterEntityIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#entityIdentifier. - exitEntityIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#domainRuleIdentifier. - enterDomainRuleIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#domainRuleIdentifier. - exitDomainRuleIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#returnOkType. - enterReturnOkType(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#returnOkType. - exitReturnOkType(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#returnErrorsType. - enterReturnErrorsType(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#returnErrorsType. - exitReturnErrorsType(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#returnOkErrorType. - enterReturnOkErrorType(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#returnOkErrorType. - exitReturnOkErrorType(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#packagePortIdentifier. - enterPackagePortIdentifier(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#packagePortIdentifier. - exitPackagePortIdentifier(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#packagePortDeclaration. - enterPackagePortDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#packagePortDeclaration. - exitPackagePortDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#PublicMethodDeclarationExpression. - enterPublicMethodDeclarationExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#PublicMethodDeclarationExpression. - exitPublicMethodDeclarationExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#PrivateMethodDeclarationExpression. - enterPrivateMethodDeclarationExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#PrivateMethodDeclarationExpression. - exitPrivateMethodDeclarationExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#privateMethodDeclaration. - enterPrivateMethodDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#privateMethodDeclaration. - exitPrivateMethodDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#publicMethodDeclaration. - enterPublicMethodDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#publicMethodDeclaration. - exitPublicMethodDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#returnPublicMethodType. - enterReturnPublicMethodType(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#returnPublicMethodType. - exitReturnPublicMethodType(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#returnPrivateMethodType. - enterReturnPrivateMethodType(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#returnPrivateMethodType. - exitReturnPrivateMethodType(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#propertyMemberBase. - enterPropertyMemberBase(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#propertyMemberBase. - exitPropertyMemberBase(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#indexMemberDeclaration. - enterIndexMemberDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#indexMemberDeclaration. - exitIndexMemberDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#generatorMethod. - enterGeneratorMethod(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#generatorMethod. - exitGeneratorMethod(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#generatorFunctionDeclaration. - enterGeneratorFunctionDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#generatorFunctionDeclaration. - exitGeneratorFunctionDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#generatorBlock. - enterGeneratorBlock(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#generatorBlock. - exitGeneratorBlock(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#generatorDefinition. - enterGeneratorDefinition(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#generatorDefinition. - exitGeneratorDefinition(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#iteratorBlock. - enterIteratorBlock(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#iteratorBlock. - exitIteratorBlock(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#iteratorDefinition. - enterIteratorDefinition(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#iteratorDefinition. - exitIteratorDefinition(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#formalParameterList. - enterFormalParameterList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#formalParameterList. - exitFormalParameterList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#formalParameterArg. - enterFormalParameterArg(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#formalParameterArg. - exitFormalParameterArg(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#lastFormalParameterArg. - enterLastFormalParameterArg(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#lastFormalParameterArg. - exitLastFormalParameterArg(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#functionBody. - enterFunctionBody(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#functionBody. - exitFunctionBody(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#arrayLiteral. - enterArrayLiteral(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#arrayLiteral. - exitArrayLiteral(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#elementList. - enterElementList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#elementList. - exitElementList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#objectLiteral. - enterObjectLiteral(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#objectLiteral. - exitObjectLiteral(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#regularVariableEvaluationORliteralORexpression. - enterRegularVariableEvaluationORliteralORexpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#regularVariableEvaluationORliteralORexpression. - exitRegularVariableEvaluationORliteralORexpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#PropertyExpressionAssignment. - enterPropertyExpressionAssignment(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#PropertyExpressionAssignment. - exitPropertyExpressionAssignment(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#ComputedPropertyExpressionAssignment. - enterComputedPropertyExpressionAssignment(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#ComputedPropertyExpressionAssignment. - exitComputedPropertyExpressionAssignment(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#PropertyGetter. - enterPropertyGetter(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#PropertyGetter. - exitPropertyGetter(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#PropertySetter. - enterPropertySetter(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#PropertySetter. - exitPropertySetter(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#MethodProperty. - enterMethodProperty(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#MethodProperty. - exitMethodProperty(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#PropertyShorthand. - enterPropertyShorthand(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#PropertyShorthand. - exitPropertyShorthand(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#RestParameterInObject. - enterRestParameterInObject(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#RestParameterInObject. - exitRestParameterInObject(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#getAccessor. - enterGetAccessor(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#getAccessor. - exitGetAccessor(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#setAccessor. - enterSetAccessor(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#setAccessor. - exitSetAccessor(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#propertyName. - enterPropertyName(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#propertyName. - exitPropertyName(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#arguments. - enterArguments(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#arguments. - exitArguments(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#argumentList. - enterArgumentList(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#argumentList. - exitArgumentList(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#argument. - enterArgument(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#argument. - exitArgument(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#expressionSequence. - enterExpressionSequence(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#expressionSequence. - exitExpressionSequence(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#functionExpressionDeclaration. - enterFunctionExpressionDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#functionExpressionDeclaration. - exitFunctionExpressionDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#ParenthesizedExpression. - enterParenthesizedExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#ParenthesizedExpression. - exitParenthesizedExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#ToStringExpression. - enterToStringExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#ToStringExpression. - exitToStringExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#AdditiveExpression. - enterAdditiveExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#AdditiveExpression. - exitAdditiveExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#RelationalExpression. - enterRelationalExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#RelationalExpression. - exitRelationalExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#LogicalAndExpression. - enterLogicalAndExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#LogicalAndExpression. - exitLogicalAndExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#LiteralExpression. - enterLiteralExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#LiteralExpression. - exitLiteralExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#LogicalOrExpression. - enterLogicalOrExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#LogicalOrExpression. - exitLogicalOrExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#ArrayLiteralExpression. - enterArrayLiteralExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#ArrayLiteralExpression. - exitArrayLiteralExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#MemberDotExpression. - enterMemberDotExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#MemberDotExpression. - exitMemberDotExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#NotExpression. - enterNotExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#NotExpression. - exitNotExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#EvaluationExpression. - enterEvaluationExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#EvaluationExpression. - exitEvaluationExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#IdentifierExpression. - enterIdentifierExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#IdentifierExpression. - exitIdentifierExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#ThisExpression. - enterThisExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#ThisExpression. - exitThisExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#AssignmentExpression. - enterAssignmentExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#AssignmentExpression. - exitAssignmentExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#MethodCallExpression. - enterMethodCallExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#MethodCallExpression. - exitMethodCallExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#LogicalXorExpression. - enterLogicalXorExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#LogicalXorExpression. - exitLogicalXorExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#GetClassExpression. - enterGetClassExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#GetClassExpression. - exitGetClassExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#EqualityExpression. - enterEqualityExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#EqualityExpression. - exitEqualityExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#MultiplicativeExpression. - enterMultiplicativeExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#MultiplicativeExpression. - exitMultiplicativeExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#asExpression. - enterAsExpression(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#asExpression. - exitAsExpression(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#arrowFunctionDeclaration. - enterArrowFunctionDeclaration(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#arrowFunctionDeclaration. - exitArrowFunctionDeclaration(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#arrowFunctionParameters. - enterArrowFunctionParameters(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#arrowFunctionParameters. - exitArrowFunctionParameters(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#arrowFunctionBody. - enterArrowFunctionBody(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#arrowFunctionBody. - exitArrowFunctionBody(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#assignmentOperator. - enterAssignmentOperator(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#assignmentOperator. - exitAssignmentOperator(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#NullLiteral. - enterNullLiteral(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#NullLiteral. - exitNullLiteral(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#BooleanLiteral. - enterBooleanLiteral(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#BooleanLiteral. - exitBooleanLiteral(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#StringLiteral. - enterStringLiteral(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#StringLiteral. - exitStringLiteral(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#TemplateStringLiteralLabel. - enterTemplateStringLiteralLabel(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#TemplateStringLiteralLabel. - exitTemplateStringLiteralLabel(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#RegularExpressionLiteral. - enterRegularExpressionLiteral(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#RegularExpressionLiteral. - exitRegularExpressionLiteral(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#NumericLiteralLabel. - enterNumericLiteralLabel(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#NumericLiteralLabel. - exitNumericLiteralLabel(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#templateStringLiteral. - enterTemplateStringLiteral(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#templateStringLiteral. - exitTemplateStringLiteral(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#templateStringAtom. - enterTemplateStringAtom(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#templateStringAtom. - exitTemplateStringAtom(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#IntegerLiteral. - enterIntegerLiteral(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#IntegerLiteral. - exitIntegerLiteral(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#DecimalLiteral. - enterDecimalLiteral(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#DecimalLiteral. - exitDecimalLiteral(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#identifierName. - enterIdentifierName(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#identifierName. - exitIdentifierName(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#identifierOrKeyWord. - enterIdentifierOrKeyWord(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#identifierOrKeyWord. - exitIdentifierOrKeyWord(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#reservedWord. - enterReservedWord(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#reservedWord. - exitReservedWord(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#keyword. - enterKeyword(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#keyword. - exitKeyword(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#getter. - enterGetter(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#getter. - exitGetter(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#setter. - enterSetter(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#setter. - exitSetter(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#eos. - enterEos(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#eos. - exitEos(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#isInstanceOf. - enterIsInstanceOf(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#isInstanceOf. - exitIsInstanceOf(ctx) { - } - - - // Enter a parse tree produced by BitloopsParser#classTypes. - enterClassTypes(ctx) { - } - - // Exit a parse tree produced by BitloopsParser#classTypes. - exitClassTypes(ctx) { - } - - - -} \ No newline at end of file diff --git a/server/src/parser/grammar/BitloopsParserVisitor.d.ts b/server/src/parser/grammar/BitloopsParserVisitor.d.ts deleted file mode 100644 index 549309a..0000000 --- a/server/src/parser/grammar/BitloopsParserVisitor.d.ts +++ /dev/null @@ -1,253 +0,0 @@ -export default class BitloopsParserVisitor extends antlr4.tree.ParseTreeVisitor { - visitInitializer(ctx: any): any; - visitBindingPattern(ctx: any): any; - visitFieldList(ctx: any): any; - visitEvaluationFieldList(ctx: any): any; - visitEvaluationField(ctx: any): any; - visitPropFields(ctx: any): any; - visitPropsIdentifier(ctx: any): any; - visitBitloopsIdentifiers(ctx: any): any; - visitPrimitives(ctx: any): any; - visitIdentifier(ctx: any): any; - visitUpperCaseIdentifier(ctx: any): any; - visitStruct(ctx: any): any; - visitRegularErrorTypeEvaluation(ctx: any): any; - visitMethodArguments(ctx: any): any; - visitOpenParen(ctx: any): any; - visitCloseParen(ctx: any): any; - visitIdentifierString(ctx: any): any; - visitRegularDTOEvaluationString(ctx: any): any; - visitRegularStructEvaluationString(ctx: any): any; - visitRegularErrorTypeEvaluationString(ctx: any): any; - visitExecuteExpression(ctx: any): any; - visitCreateExpression(ctx: any): any; - visitDeleteKeyword(ctx: any): any; - visitRegularStringEvaluation(ctx: any): any; - visitRegularIntegerEvaluation(ctx: any): any; - visitRegularDecimalEvaluation(ctx: any): any; - visitRegularBooleanEvaluation(ctx: any): any; - visitRegularStructEvaluation(ctx: any): any; - visitRegularDTOEvaluation(ctx: any): any; - visitField(ctx: any): any; - visitPrimitivePrimType(ctx: any): any; - visitArrayBitloopsPrimType(ctx: any): any; - visitBitloopsBuiltInClassPrimType(ctx: any): any; - visitBitloopsIdentifierPrimType(ctx: any): any; - visitBitloopsBuiltInClass(ctx: any): any; - visitPredefinedType(ctx: any): any; - visitTypeName(ctx: any): any; - visitMethodDefinitionList(ctx: any): any; - visitMethodDefinition(ctx: any): any; - visitTypeQuery(ctx: any): any; - visitTypeQueryExpression(ctx: any): any; - visitTypeAnnotation(ctx: any): any; - visitParameterList(ctx: any): any; - visitRequiredParameterList(ctx: any): any; - visitParameter(ctx: any): any; - visitOptionalParameter(ctx: any): any; - visitRestParameter(ctx: any): any; - visitRequiredParameter(ctx: any): any; - visitAccessibilityModifier(ctx: any): any; - visitIdentifierOrPattern(ctx: any): any; - visitIndexSignature(ctx: any): any; - visitEnumBody(ctx: any): any; - visitEnumMemberList(ctx: any): any; - visitEnumMember(ctx: any): any; - visitNamespaceDeclaration(ctx: any): any; - visitNamespaceName(ctx: any): any; - visitImportAliasDeclaration(ctx: any): any; - visitDecoratorList(ctx: any): any; - visitDecorator(ctx: any): any; - visitDecoratorMemberExpression(ctx: any): any; - visitDecoratorCallExpression(ctx: any): any; - visitProgram(ctx: any): any; - visitSourceElement(ctx: any): any; - visitJestTestDeclaration(ctx: any): any; - visitErrorEvaluation(ctx: any): any; - visitEvaluation(ctx: any): any; - visitCondition(ctx: any): any; - visitReturnStatement(ctx: any): any; - visitConstDeclaration(ctx: any): any; - visitVariableDeclaration(ctx: any): any; - visitStatement(ctx: any): any; - visitApplyRulesStatement(ctx: any): any; - visitApplyRuleStatementRulesList(ctx: any): any; - visitApplyRulesRule(ctx: any): any; - visitBlock(ctx: any): any; - visitStatementList(ctx: any): any; - visitFromBlock(ctx: any): any; - visitMultipleImportStatement(ctx: any): any; - visitVariableDeclarationList(ctx: any): any; - visitEmptyStatement_(ctx: any): any; - visitExpressionStatement(ctx: any): any; - visitIfStatement(ctx: any): any; - visitDoStatement(ctx: any): any; - visitWhileStatement(ctx: any): any; - visitForStatement(ctx: any): any; - visitForVarStatement(ctx: any): any; - visitForInStatement(ctx: any): any; - visitForVarInStatement(ctx: any): any; - visitVarModifier(ctx: any): any; - visitContinueStatement(ctx: any): any; - visitBreakStatement(ctx: any): any; - visitWithStatement(ctx: any): any; - visitSwitchStatement(ctx: any): any; - visitCaseBlock(ctx: any): any; - visitCaseClauses(ctx: any): any; - visitCaseClause(ctx: any): any; - visitDefaultClause(ctx: any): any; - visitLabelledStatement(ctx: any): any; - visitThrowStatement(ctx: any): any; - visitTryStatement(ctx: any): any; - visitCatchProduction(ctx: any): any; - visitFinallyProduction(ctx: any): any; - visitDebuggerStatement(ctx: any): any; - visitDomainFieldDeclaration(ctx: any): any; - visitIsBrokenStatement(ctx: any): any; - visitDomainRuleBody(ctx: any): any; - visitDomainRuleDeclaration(ctx: any): any; - visitAggregateDeclaration(ctx: any): any; - visitDomainConstDeclaration(ctx: any): any; - visitEntityDeclaration(ctx: any): any; - visitEntityBody(ctx: any): any; - visitValueObjectDeclaration(ctx: any): any; - visitDomainConstDeclarationList(ctx: any): any; - visitPublicMethodDeclarationList(ctx: any): any; - visitPrivateMethodDeclarationList(ctx: any): any; - visitDomainConstructorDeclaration(ctx: any): any; - visitUseCaseIdentifier(ctx: any): any; - visitUseCaseDeclaration(ctx: any): any; - visitPropsDeclaration(ctx: any): any; - visitReadModelDeclaration(ctx: any): any; - visitRepoPortDeclaration(ctx: any): any; - visitRepoPortIdentifier(ctx: any): any; - visitAggregateRootIdentifier(ctx: any): any; - visitRepoExtendsList(ctx: any): any; - visitRepoPortMethodDefinitions(ctx: any): any; - visitRepoPortExtendableIdentifierList(ctx: any): any; - visitRepoPortExtendableIdentifier(ctx: any): any; - visitDtoDeclaration(ctx: any): any; - visitStructDeclaration(ctx: any): any; - visitDtoEvaluationIdentifier(ctx: any): any; - visitDtoEvaluation(ctx: any): any; - visitValueObjectEvaluation(ctx: any): any; - visitDomainEvaluationInputFieldList(ctx: any): any; - visitDomainEvaluationInputRegular(ctx: any): any; - visitEntityEvaluation(ctx: any): any; - visitStructEvaluationIdentifier(ctx: any): any; - visitStructEvaluation(ctx: any): any; - visitBuiltInClassEvaluation(ctx: any): any; - visitPropsEvaluation(ctx: any): any; - visitDomainErrorDeclaration(ctx: any): any; - visitApplicationErrorDeclaration(ctx: any): any; - visitDomainErrorIdentifier(ctx: any): any; - visitApplicationErrorIdentifier(ctx: any): any; - visitUseCaseExecuteDeclaration(ctx: any): any; - visitRestControllerParameters(ctx: any): any; - visitRestControllerExecuteDeclaration(ctx: any): any; - visitRestControllerMethodDeclaration(ctx: any): any; - visitHttpMethod(ctx: any): any; - visitRESTControllerDeclaration(ctx: any): any; - visitGraphQLControllerDeclaration(ctx: any): any; - visitGraphQLResolverOptions(ctx: any): any; - visitGraphQLOperationTypeAssignment(ctx: any): any; - visitGraphQLOperationInputTypeAssignment(ctx: any): any; - visitGraphQLResolverInputType(ctx: any): any; - visitGraphQLOperation(ctx: any): any; - visitGraphQLControllerExecuteDeclaration(ctx: any): any; - visitGraphQLControllerParameters(ctx: any): any; - visitGraphQLControllerReturnType(ctx: any): any; - visitDtoIdentifier(ctx: any): any; - visitDtoIdentifiers(ctx: any): any; - visitErrorIdentifier(ctx: any): any; - visitErrorIdentifiers(ctx: any): any; - visitValueObjectIdentifier(ctx: any): any; - visitEntityIdentifier(ctx: any): any; - visitDomainRuleIdentifier(ctx: any): any; - visitReturnOkType(ctx: any): any; - visitReturnErrorsType(ctx: any): any; - visitReturnOkErrorType(ctx: any): any; - visitPackagePortIdentifier(ctx: any): any; - visitPackagePortDeclaration(ctx: any): any; - visitPublicMethodDeclarationExpression(ctx: any): any; - visitPrivateMethodDeclarationExpression(ctx: any): any; - visitPrivateMethodDeclaration(ctx: any): any; - visitPublicMethodDeclaration(ctx: any): any; - visitReturnPublicMethodType(ctx: any): any; - visitReturnPrivateMethodType(ctx: any): any; - visitPropertyMemberBase(ctx: any): any; - visitIndexMemberDeclaration(ctx: any): any; - visitGeneratorMethod(ctx: any): any; - visitGeneratorFunctionDeclaration(ctx: any): any; - visitGeneratorBlock(ctx: any): any; - visitGeneratorDefinition(ctx: any): any; - visitIteratorBlock(ctx: any): any; - visitIteratorDefinition(ctx: any): any; - visitFormalParameterList(ctx: any): any; - visitFormalParameterArg(ctx: any): any; - visitLastFormalParameterArg(ctx: any): any; - visitFunctionBody(ctx: any): any; - visitArrayLiteral(ctx: any): any; - visitElementList(ctx: any): any; - visitObjectLiteral(ctx: any): any; - visitRegularVariableEvaluationORliteralORexpression(ctx: any): any; - visitPropertyExpressionAssignment(ctx: any): any; - visitComputedPropertyExpressionAssignment(ctx: any): any; - visitPropertyGetter(ctx: any): any; - visitPropertySetter(ctx: any): any; - visitMethodProperty(ctx: any): any; - visitPropertyShorthand(ctx: any): any; - visitRestParameterInObject(ctx: any): any; - visitGetAccessor(ctx: any): any; - visitSetAccessor(ctx: any): any; - visitPropertyName(ctx: any): any; - visitArguments(ctx: any): any; - visitArgumentList(ctx: any): any; - visitArgument(ctx: any): any; - visitExpressionSequence(ctx: any): any; - visitFunctionExpressionDeclaration(ctx: any): any; - visitParenthesizedExpression(ctx: any): any; - visitToStringExpression(ctx: any): any; - visitAdditiveExpression(ctx: any): any; - visitRelationalExpression(ctx: any): any; - visitLogicalAndExpression(ctx: any): any; - visitLiteralExpression(ctx: any): any; - visitLogicalOrExpression(ctx: any): any; - visitArrayLiteralExpression(ctx: any): any; - visitMemberDotExpression(ctx: any): any; - visitNotExpression(ctx: any): any; - visitEvaluationExpression(ctx: any): any; - visitIdentifierExpression(ctx: any): any; - visitThisExpression(ctx: any): any; - visitAssignmentExpression(ctx: any): any; - visitMethodCallExpression(ctx: any): any; - visitLogicalXorExpression(ctx: any): any; - visitGetClassExpression(ctx: any): any; - visitEqualityExpression(ctx: any): any; - visitMultiplicativeExpression(ctx: any): any; - visitAsExpression(ctx: any): any; - visitArrowFunctionDeclaration(ctx: any): any; - visitArrowFunctionParameters(ctx: any): any; - visitArrowFunctionBody(ctx: any): any; - visitAssignmentOperator(ctx: any): any; - visitNullLiteral(ctx: any): any; - visitBooleanLiteral(ctx: any): any; - visitStringLiteral(ctx: any): any; - visitTemplateStringLiteralLabel(ctx: any): any; - visitRegularExpressionLiteral(ctx: any): any; - visitNumericLiteralLabel(ctx: any): any; - visitTemplateStringLiteral(ctx: any): any; - visitTemplateStringAtom(ctx: any): any; - visitIntegerLiteral(ctx: any): any; - visitDecimalLiteral(ctx: any): any; - visitIdentifierName(ctx: any): any; - visitIdentifierOrKeyWord(ctx: any): any; - visitReservedWord(ctx: any): any; - visitKeyword(ctx: any): any; - visitGetter(ctx: any): any; - visitSetter(ctx: any): any; - visitEos(ctx: any): any; - visitIsInstanceOf(ctx: any): any; - visitClassTypes(ctx: any): any; -} -import antlr4 from 'antlr4'; diff --git a/server/src/parser/grammar/BitloopsParserVisitor.js b/server/src/parser/grammar/BitloopsParserVisitor.js deleted file mode 100644 index 9fd7e38..0000000 --- a/server/src/parser/grammar/BitloopsParserVisitor.js +++ /dev/null @@ -1,1510 +0,0 @@ -// Generated from src/parser/grammar/BitloopsParser.g4 by ANTLR 4.10.1 -// jshint ignore: start -import antlr4 from 'antlr4'; - -// This class defines a complete generic visitor for a parse tree produced by BitloopsParser. - -export default class BitloopsParserVisitor extends antlr4.tree.ParseTreeVisitor { - - // Visit a parse tree produced by BitloopsParser#initializer. - visitInitializer(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#bindingPattern. - visitBindingPattern(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#fieldList. - visitFieldList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#evaluationFieldList. - visitEvaluationFieldList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#evaluationField. - visitEvaluationField(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#propFields. - visitPropFields(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#propsIdentifier. - visitPropsIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#bitloopsIdentifiers. - visitBitloopsIdentifiers(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#primitives. - visitPrimitives(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#identifier. - visitIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#upperCaseIdentifier. - visitUpperCaseIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#struct. - visitStruct(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#regularErrorTypeEvaluation. - visitRegularErrorTypeEvaluation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#methodArguments. - visitMethodArguments(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#openParen. - visitOpenParen(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#closeParen. - visitCloseParen(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#IdentifierString. - visitIdentifierString(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#RegularDTOEvaluationString. - visitRegularDTOEvaluationString(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#RegularStructEvaluationString. - visitRegularStructEvaluationString(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#RegularErrorTypeEvaluationString. - visitRegularErrorTypeEvaluationString(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#ExecuteExpression. - visitExecuteExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#CreateExpression. - visitCreateExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#DeleteKeyword. - visitDeleteKeyword(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#regularStringEvaluation. - visitRegularStringEvaluation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#regularIntegerEvaluation. - visitRegularIntegerEvaluation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#regularDecimalEvaluation. - visitRegularDecimalEvaluation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#regularBooleanEvaluation. - visitRegularBooleanEvaluation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#regularStructEvaluation. - visitRegularStructEvaluation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#regularDTOEvaluation. - visitRegularDTOEvaluation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#field. - visitField(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#PrimitivePrimType. - visitPrimitivePrimType(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#ArrayBitloopsPrimType. - visitArrayBitloopsPrimType(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#BitloopsBuiltInClassPrimType. - visitBitloopsBuiltInClassPrimType(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#BitloopsIdentifierPrimType. - visitBitloopsIdentifierPrimType(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#bitloopsBuiltInClass. - visitBitloopsBuiltInClass(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#predefinedType. - visitPredefinedType(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#typeName. - visitTypeName(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#methodDefinitionList. - visitMethodDefinitionList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#methodDefinition. - visitMethodDefinition(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#typeQuery. - visitTypeQuery(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#typeQueryExpression. - visitTypeQueryExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#typeAnnotation. - visitTypeAnnotation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#parameterList. - visitParameterList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#requiredParameterList. - visitRequiredParameterList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#parameter. - visitParameter(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#optionalParameter. - visitOptionalParameter(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#restParameter. - visitRestParameter(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#requiredParameter. - visitRequiredParameter(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#accessibilityModifier. - visitAccessibilityModifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#identifierOrPattern. - visitIdentifierOrPattern(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#indexSignature. - visitIndexSignature(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#enumBody. - visitEnumBody(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#enumMemberList. - visitEnumMemberList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#enumMember. - visitEnumMember(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#namespaceDeclaration. - visitNamespaceDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#namespaceName. - visitNamespaceName(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#importAliasDeclaration. - visitImportAliasDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#decoratorList. - visitDecoratorList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#decorator. - visitDecorator(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#decoratorMemberExpression. - visitDecoratorMemberExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#decoratorCallExpression. - visitDecoratorCallExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#program. - visitProgram(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#sourceElement. - visitSourceElement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#jestTestDeclaration. - visitJestTestDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#errorEvaluation. - visitErrorEvaluation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#evaluation. - visitEvaluation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#condition. - visitCondition(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#returnStatement. - visitReturnStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#constDeclaration. - visitConstDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#variableDeclaration. - visitVariableDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#statement. - visitStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#ApplyRulesStatement. - visitApplyRulesStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#applyRuleStatementRulesList. - visitApplyRuleStatementRulesList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#applyRulesRule. - visitApplyRulesRule(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#block. - visitBlock(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#statementList. - visitStatementList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#fromBlock. - visitFromBlock(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#multipleImportStatement. - visitMultipleImportStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#variableDeclarationList. - visitVariableDeclarationList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#emptyStatement_. - visitEmptyStatement_(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#expressionStatement. - visitExpressionStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#ifStatement. - visitIfStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#DoStatement. - visitDoStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#WhileStatement. - visitWhileStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#ForStatement. - visitForStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#ForVarStatement. - visitForVarStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#ForInStatement. - visitForInStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#ForVarInStatement. - visitForVarInStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#varModifier. - visitVarModifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#continueStatement. - visitContinueStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#breakStatement. - visitBreakStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#withStatement. - visitWithStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#switchStatement. - visitSwitchStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#caseBlock. - visitCaseBlock(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#caseClauses. - visitCaseClauses(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#caseClause. - visitCaseClause(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#defaultClause. - visitDefaultClause(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#labelledStatement. - visitLabelledStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#throwStatement. - visitThrowStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#tryStatement. - visitTryStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#catchProduction. - visitCatchProduction(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#finallyProduction. - visitFinallyProduction(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#debuggerStatement. - visitDebuggerStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#domainFieldDeclaration. - visitDomainFieldDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#isBrokenStatement. - visitIsBrokenStatement(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#domainRuleBody. - visitDomainRuleBody(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#domainRuleDeclaration. - visitDomainRuleDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#aggregateDeclaration. - visitAggregateDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#domainConstDeclaration. - visitDomainConstDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#entityDeclaration. - visitEntityDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#entityBody. - visitEntityBody(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#valueObjectDeclaration. - visitValueObjectDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#domainConstDeclarationList. - visitDomainConstDeclarationList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#publicMethodDeclarationList. - visitPublicMethodDeclarationList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#privateMethodDeclarationList. - visitPrivateMethodDeclarationList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#domainConstructorDeclaration. - visitDomainConstructorDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#useCaseIdentifier. - visitUseCaseIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#useCaseDeclaration. - visitUseCaseDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#propsDeclaration. - visitPropsDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#readModelDeclaration. - visitReadModelDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#repoPortDeclaration. - visitRepoPortDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#repoPortIdentifier. - visitRepoPortIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#aggregateRootIdentifier. - visitAggregateRootIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#repoExtendsList. - visitRepoExtendsList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#repoPortMethodDefinitions. - visitRepoPortMethodDefinitions(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#repoPortExtendableIdentifierList. - visitRepoPortExtendableIdentifierList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#repoPortExtendableIdentifier. - visitRepoPortExtendableIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#dtoDeclaration. - visitDtoDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#structDeclaration. - visitStructDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#dtoEvaluationIdentifier. - visitDtoEvaluationIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#dtoEvaluation. - visitDtoEvaluation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#valueObjectEvaluation. - visitValueObjectEvaluation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#DomainEvaluationInputFieldList. - visitDomainEvaluationInputFieldList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#DomainEvaluationInputRegular. - visitDomainEvaluationInputRegular(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#entityEvaluation. - visitEntityEvaluation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#structEvaluationIdentifier. - visitStructEvaluationIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#structEvaluation. - visitStructEvaluation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#builtInClassEvaluation. - visitBuiltInClassEvaluation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#propsEvaluation. - visitPropsEvaluation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#domainErrorDeclaration. - visitDomainErrorDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#applicationErrorDeclaration. - visitApplicationErrorDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#domainErrorIdentifier. - visitDomainErrorIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#applicationErrorIdentifier. - visitApplicationErrorIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#useCaseExecuteDeclaration. - visitUseCaseExecuteDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#restControllerParameters. - visitRestControllerParameters(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#restControllerExecuteDeclaration. - visitRestControllerExecuteDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#restControllerMethodDeclaration. - visitRestControllerMethodDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#httpMethod. - visitHttpMethod(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#RESTControllerDeclaration. - visitRESTControllerDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#GraphQLControllerDeclaration. - visitGraphQLControllerDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#graphQLResolverOptions. - visitGraphQLResolverOptions(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#graphQLOperationTypeAssignment. - visitGraphQLOperationTypeAssignment(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#graphQLOperationInputTypeAssignment. - visitGraphQLOperationInputTypeAssignment(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#graphQLResolverInputType. - visitGraphQLResolverInputType(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#graphQLOperation. - visitGraphQLOperation(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#graphQLControllerExecuteDeclaration. - visitGraphQLControllerExecuteDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#graphQLControllerParameters. - visitGraphQLControllerParameters(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#graphQLControllerReturnType. - visitGraphQLControllerReturnType(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#dtoIdentifier. - visitDtoIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#dtoIdentifiers. - visitDtoIdentifiers(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#errorIdentifier. - visitErrorIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#errorIdentifiers. - visitErrorIdentifiers(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#valueObjectIdentifier. - visitValueObjectIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#entityIdentifier. - visitEntityIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#domainRuleIdentifier. - visitDomainRuleIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#returnOkType. - visitReturnOkType(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#returnErrorsType. - visitReturnErrorsType(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#returnOkErrorType. - visitReturnOkErrorType(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#packagePortIdentifier. - visitPackagePortIdentifier(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#packagePortDeclaration. - visitPackagePortDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#PublicMethodDeclarationExpression. - visitPublicMethodDeclarationExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#PrivateMethodDeclarationExpression. - visitPrivateMethodDeclarationExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#privateMethodDeclaration. - visitPrivateMethodDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#publicMethodDeclaration. - visitPublicMethodDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#returnPublicMethodType. - visitReturnPublicMethodType(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#returnPrivateMethodType. - visitReturnPrivateMethodType(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#propertyMemberBase. - visitPropertyMemberBase(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#indexMemberDeclaration. - visitIndexMemberDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#generatorMethod. - visitGeneratorMethod(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#generatorFunctionDeclaration. - visitGeneratorFunctionDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#generatorBlock. - visitGeneratorBlock(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#generatorDefinition. - visitGeneratorDefinition(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#iteratorBlock. - visitIteratorBlock(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#iteratorDefinition. - visitIteratorDefinition(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#formalParameterList. - visitFormalParameterList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#formalParameterArg. - visitFormalParameterArg(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#lastFormalParameterArg. - visitLastFormalParameterArg(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#functionBody. - visitFunctionBody(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#arrayLiteral. - visitArrayLiteral(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#elementList. - visitElementList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#objectLiteral. - visitObjectLiteral(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#regularVariableEvaluationORliteralORexpression. - visitRegularVariableEvaluationORliteralORexpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#PropertyExpressionAssignment. - visitPropertyExpressionAssignment(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#ComputedPropertyExpressionAssignment. - visitComputedPropertyExpressionAssignment(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#PropertyGetter. - visitPropertyGetter(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#PropertySetter. - visitPropertySetter(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#MethodProperty. - visitMethodProperty(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#PropertyShorthand. - visitPropertyShorthand(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#RestParameterInObject. - visitRestParameterInObject(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#getAccessor. - visitGetAccessor(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#setAccessor. - visitSetAccessor(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#propertyName. - visitPropertyName(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#arguments. - visitArguments(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#argumentList. - visitArgumentList(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#argument. - visitArgument(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#expressionSequence. - visitExpressionSequence(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#functionExpressionDeclaration. - visitFunctionExpressionDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#ParenthesizedExpression. - visitParenthesizedExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#ToStringExpression. - visitToStringExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#AdditiveExpression. - visitAdditiveExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#RelationalExpression. - visitRelationalExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#LogicalAndExpression. - visitLogicalAndExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#LiteralExpression. - visitLiteralExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#LogicalOrExpression. - visitLogicalOrExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#ArrayLiteralExpression. - visitArrayLiteralExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#MemberDotExpression. - visitMemberDotExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#NotExpression. - visitNotExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#EvaluationExpression. - visitEvaluationExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#IdentifierExpression. - visitIdentifierExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#ThisExpression. - visitThisExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#AssignmentExpression. - visitAssignmentExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#MethodCallExpression. - visitMethodCallExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#LogicalXorExpression. - visitLogicalXorExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#GetClassExpression. - visitGetClassExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#EqualityExpression. - visitEqualityExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#MultiplicativeExpression. - visitMultiplicativeExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#asExpression. - visitAsExpression(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#arrowFunctionDeclaration. - visitArrowFunctionDeclaration(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#arrowFunctionParameters. - visitArrowFunctionParameters(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#arrowFunctionBody. - visitArrowFunctionBody(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#assignmentOperator. - visitAssignmentOperator(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#NullLiteral. - visitNullLiteral(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#BooleanLiteral. - visitBooleanLiteral(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#StringLiteral. - visitStringLiteral(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#TemplateStringLiteralLabel. - visitTemplateStringLiteralLabel(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#RegularExpressionLiteral. - visitRegularExpressionLiteral(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#NumericLiteralLabel. - visitNumericLiteralLabel(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#templateStringLiteral. - visitTemplateStringLiteral(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#templateStringAtom. - visitTemplateStringAtom(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#IntegerLiteral. - visitIntegerLiteral(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#DecimalLiteral. - visitDecimalLiteral(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#identifierName. - visitIdentifierName(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#identifierOrKeyWord. - visitIdentifierOrKeyWord(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#reservedWord. - visitReservedWord(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#keyword. - visitKeyword(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#getter. - visitGetter(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#setter. - visitSetter(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#eos. - visitEos(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#isInstanceOf. - visitIsInstanceOf(ctx) { - return this.visitChildren(ctx); - } - - - // Visit a parse tree produced by BitloopsParser#classTypes. - visitClassTypes(ctx) { - return this.visitChildren(ctx); - } - - - -} \ No newline at end of file diff --git a/server/src/parser/index.ts b/server/src/parser/index.ts index e2aad20..bc0b1cd 100644 --- a/server/src/parser/index.ts +++ b/server/src/parser/index.ts @@ -1,51 +1,70 @@ -import antlr from 'antlr4'; +import { + OriginalParserError, + TParserInputData, + isParserErrors, + transpiler, +} from '@bitloops/bl-transpiler'; import { Diagnostic } from 'vscode-languageserver/node.js'; import { TextDocument } from 'vscode-languageserver-textdocument'; import { IAnalyzer } from '../analyzer.js'; -import BitloopsLexer from './grammar/BitloopsLexer.js'; -import BitloopsParser from './grammar/BitloopsParser.js'; -import { VerboseListener } from './errorListener.js'; +import { DiagnosticFactory } from '../diagnostic.js'; -export class ANTLR4Analyzer implements IAnalyzer { +export class BitloopsAnalyzer implements IAnalyzer { static diagnostics: Diagnostic[] = []; analyze(document: TextDocument): Diagnostic[] { try { - console.log('uri', document.uri); - if (document.uri.endsWith('setup.bl')) { - // TODO handle setup grammar - return []; + const transpileInputData = this.toParserInputData(document); + const intermediateModel = transpiler.bitloopsCodeToIntermediateModel(transpileInputData); + if (isParserErrors(intermediateModel)) { + const diagnostics = this.mapParserErrorsToLSPDiagnostics(intermediateModel, document); + return diagnostics; } - ANTLR4Analyzer.diagnostics = []; - const textFile = document.getText(); - const chars = new (antlr as any).InputStream(textFile); - const lexer = new BitloopsLexer(chars) as any; - const tokens = new (antlr as any).CommonTokenStream(lexer); - const parser = new BitloopsParser(tokens) as any; - - parser.removeErrorListeners(); - parser.addErrorListener(new VerboseListener()); - const _ = parser.program(); - ANTLR4Analyzer.diagnostics = this.transformDiagnosticsIndexesToDocumentPositions( - ANTLR4Analyzer.diagnostics, - document, - ); - return ANTLR4Analyzer.diagnostics; + return []; } catch (e) { console.log('error', e); return []; } } - transformDiagnosticsIndexesToDocumentPositions( - diagnostics: Diagnostic[], - document: TextDocument, - ) { - return diagnostics.map((d) => ({ - ...d, - range: { - start: document.positionAt(d.range.start as any), - end: document.positionAt(d.range.end as any), + private toParserInputData(document: TextDocument): TParserInputData { + const res: Partial = {}; + + if (document.uri.endsWith('setup.bl')) { + res.setup = [ + { + fileId: document.uri.split('/').slice(-1)[0], + fileContents: document.getText(), + }, + ]; + return res as TParserInputData; + } + // Handle possibly unknown bounded context and module + const boundedContext = document.uri.split('/')?.slice(-3)?.[0] ?? 'unknown'; + const module = document.uri.split('/')?.slice(-2)?.[0] ?? 'unknown'; + res.core = [ + { + boundedContext, + module, + fileId: document.uri.split('/').slice(-1)[0], + fileContents: document.getText(), }, - })); + ]; + return res as TParserInputData; + } + + mapParserErrorsToLSPDiagnostics( + parserErrors: OriginalParserError, + document: TextDocument, + ): Diagnostic[] { + return parserErrors.map((e) => + DiagnosticFactory.create( + 1, + { + start: document.positionAt(e.start), + end: document.positionAt(e.stop), + }, + `line: ${e.line}:${e.column}, offendingSymbol : ${e.offendingToken.text}, msg: ${e.message}`, + ), + ); } } diff --git a/server/src/server.ts b/server/src/server.ts index 9385aa6..86464d3 100644 --- a/server/src/server.ts +++ b/server/src/server.ts @@ -13,7 +13,7 @@ import { CompletionItemProvider } from './completion.js'; import { WorkspaceSettingsManager } from './settings.js'; import { IAnalyzer } from './analyzer.js'; import { ILspClient } from './lsp-client.js'; -import { ANTLR4Analyzer } from './parser/index.js'; +import { BitloopsAnalyzer } from './parser/index.js'; // Create a connection for the server, using Node's IPC as a transport. // Also include all preview / proposed LSP features. @@ -37,7 +37,7 @@ export class BitloopsServer { this.connection = connection; this.lspClient = lspClient; this.settingsManger = new WorkspaceSettingsManager(); - this.analyzer = new ANTLR4Analyzer(); + this.analyzer = new BitloopsAnalyzer(); } public async onDidChangeContent(change: TextDocumentChangeEvent): Promise { diff --git a/server/yarn.lock b/server/yarn.lock index 8eae8ab..5fea6a3 100644 --- a/server/yarn.lock +++ b/server/yarn.lock @@ -2,16 +2,6 @@ # yarn lockfile v1 -"@types/antlr4@^4.11.0": - version "4.11.0" - resolved "https://registry.yarnpkg.com/@types/antlr4/-/antlr4-4.11.0.tgz#067c661362d5fc8476f2966021f5a7b44db565dd" - integrity sha512-ZN/RIYHqXcySR4Odrl+n0g+/YJM9Z+asEdOHxRETiAezivZA+3kdNlCZAtehmydNFhECAh9PqAxkkGfWLKMYSw== - -antlr4@^4.11.0: - version "4.11.0" - resolved "https://registry.yarnpkg.com/antlr4/-/antlr4-4.11.0.tgz#d7466f5044fa6e333c0ec821b30c6157f6b004ae" - integrity sha512-GUGlpE2JUjAN+G8G5vY+nOoeyNhHsXoIJwP1XF1oRw89vifA1K46T6SEkwLwr7drihN7I/lf0DIjKc4OZvBX8w== - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" diff --git a/syntaxes/bitloops.tmLanguage.json b/syntaxes/bitloops.tmLanguage.json index 9ff047f..44a9a29 100644 --- a/syntaxes/bitloops.tmLanguage.json +++ b/syntaxes/bitloops.tmLanguage.json @@ -64,7 +64,7 @@ "patterns": [ { "name": "keyword.control.templateClass.bitloops", - "match": "\\b(Config|(REST\\.Methods)|REST|DTO|UseCase|Root|Entity|Rule|OK|Errors|ValueObject|Props|RESTController|RESTRouter|GraphQLController|Feature|Mapper|RepoPort|RepoAdapter|PackagePort|PackageAdapter|ApplicationErrors|DomainErrors|DomainError|ApplicationError)\\b" + "match": "\\b(Config|(REST\\.Methods)|REST|DTO|UseCase|Root|Entity|Rule|OK|Errors|ValueObject|Props|ReadModel|RESTController|RESTRouter|GraphQLController|Feature|Mapper|RepoPort|RepoAdapter|PackagePort|PackageAdapter|ApplicationErrors|DomainErrors|DomainError|ApplicationError)\\b" } ] }, diff --git a/vsc-extension-quickstart.md b/vsc-extension-quickstart.md index d891c95..26f9463 100644 --- a/vsc-extension-quickstart.md +++ b/vsc-extension-quickstart.md @@ -2,28 +2,30 @@ ## What's in the folder -* This folder contains all of the files necessary for your extension. -* `package.json` - this is the manifest file in which you declare your language support and define the location of the grammar file that has been copied into your extension. -* `syntaxes/bitloops.tmLanguage.json` - this is the Text mate grammar file that is used for tokenization. -* `language-configuration.json` - this is the language configuration, defining the tokens that are used for comments and brackets. +- This folder contains all of the files necessary for your extension. +- `package.json` - this is the manifest file in which you declare your language support and define the location of the grammar file that has been copied into your extension. +- `syntaxes/bitloops.tmLanguage.json` - this is the Text mate grammar file that is used for tokenization. +- `language-configuration.json` - this is the language configuration, defining the tokens that are used for comments and brackets. ## Get up and running straight away -* Make sure the language configuration settings in `language-configuration.json` are accurate. -* Press `F5` to open a new window with your extension loaded. -* Create a new file with a file name suffix matching your language. -* Verify that syntax highlighting works and that the language configuration settings are working. +- `npm install` +- `npm run compile` +- Make sure the language configuration settings in `language-configuration.json` are accurate. +- Press `F5` to open a new window with your extension loaded. +- Create a new file with a file name suffix matching your language. +- Verify that syntax highlighting works and that the language configuration settings are working. ## Make changes -* You can relaunch the extension from the debug toolbar after making changes to the files listed above. -* You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes. +- You can relaunch the extension from the debug toolbar after making changes to the files listed above. +- You can also reload (`Ctrl+R` or `Cmd+R` on Mac) the VS Code window with your extension to load your changes. ## Add more language features -* To add features such as IntelliSense, hovers and validators check out the VS Code extenders documentation at https://code.visualstudio.com/docs +- To add features such as IntelliSense, hovers and validators check out the VS Code extenders documentation at https://code.visualstudio.com/docs ## Install your extension -* To start using your extension with Visual Studio Code copy it into the `/.vscode/extensions` folder and restart Code. -* To share your extension with the world, read on https://code.visualstudio.com/docs about publishing an extension. +- To start using your extension with Visual Studio Code copy it into the `/.vscode/extensions` folder and restart Code. +- To share your extension with the world, read on https://code.visualstudio.com/docs about publishing an extension. From 5be53b50b78a6712fbdef56abcd493578d0a735e Mon Sep 17 00:00:00 2001 From: Markos Girgis Date: Tue, 17 Jan 2023 15:52:12 +0200 Subject: [PATCH 4/5] update dependencies --- server/package.json | 1 + server/src/parser/index.ts | 6 +++--- server/yarn.lock | 19 +++++++++++++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/server/package.json b/server/package.json index 5bcbe32..ebbce73 100644 --- a/server/package.json +++ b/server/package.json @@ -10,6 +10,7 @@ "type": "module", "scripts": {}, "dependencies": { + "@bitloops/bl-transpiler": "^0.1.0", "vscode-languageserver": "^7.0.0", "vscode-languageserver-textdocument": "^1.0.4" }, diff --git a/server/src/parser/index.ts b/server/src/parser/index.ts index bc0b1cd..370ac0d 100644 --- a/server/src/parser/index.ts +++ b/server/src/parser/index.ts @@ -13,7 +13,7 @@ export class BitloopsAnalyzer implements IAnalyzer { static diagnostics: Diagnostic[] = []; analyze(document: TextDocument): Diagnostic[] { try { - const transpileInputData = this.toParserInputData(document); + const transpileInputData = this.documentToParserInputData(document); const intermediateModel = transpiler.bitloopsCodeToIntermediateModel(transpileInputData); if (isParserErrors(intermediateModel)) { const diagnostics = this.mapParserErrorsToLSPDiagnostics(intermediateModel, document); @@ -26,7 +26,7 @@ export class BitloopsAnalyzer implements IAnalyzer { } } - private toParserInputData(document: TextDocument): TParserInputData { + private documentToParserInputData(document: TextDocument): TParserInputData { const res: Partial = {}; if (document.uri.endsWith('setup.bl')) { @@ -63,7 +63,7 @@ export class BitloopsAnalyzer implements IAnalyzer { start: document.positionAt(e.start), end: document.positionAt(e.stop), }, - `line: ${e.line}:${e.column}, offendingSymbol : ${e.offendingToken.text}, msg: ${e.message}`, + `line: ${e.line}:${e.column}, offendingSymbol: ${e.offendingToken.text}, msg: ${e.message}`, ), ); } diff --git a/server/yarn.lock b/server/yarn.lock index 5fea6a3..4d9a7af 100644 --- a/server/yarn.lock +++ b/server/yarn.lock @@ -2,6 +2,20 @@ # yarn lockfile v1 +"@bitloops/bl-transpiler@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@bitloops/bl-transpiler/-/bl-transpiler-0.1.0.tgz#babf5f8ab4c02b23c75c1dca53ebb94d02f33d57" + integrity sha512-HMsU+6ggV/+sRQRbDbzpgZhm7fE06YORfW207ayJYlotVuGhvefyWRqtWjE2da5W37Ora+a+kQwdGW9ArP05ow== + dependencies: + antlr4 "^4.11.0" + lodash "^4.17.21" + prettier "^2.7.1" + +antlr4@^4.11.0: + version "4.11.0" + resolved "https://registry.yarnpkg.com/antlr4/-/antlr4-4.11.0.tgz#d7466f5044fa6e333c0ec821b30c6157f6b004ae" + integrity sha512-GUGlpE2JUjAN+G8G5vY+nOoeyNhHsXoIJwP1XF1oRw89vifA1K46T6SEkwLwr7drihN7I/lf0DIjKc4OZvBX8w== + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -50,6 +64,11 @@ inherits@2: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== +lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + minimatch@^3.1.1: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" From 3616fd5b04e8ea9b4a5145bdde5c85a94a4568a7 Mon Sep 17 00:00:00 2001 From: Markos Girgis Date: Tue, 17 Jan 2023 15:55:04 +0200 Subject: [PATCH 5/5] update server version --- server/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/package.json b/server/package.json index ebbce73..a613b0f 100644 --- a/server/package.json +++ b/server/package.json @@ -1,7 +1,7 @@ { "name": "bitloops-lsp-server", "description": "BitLoops Language Server", - "version": "1.0.0", + "version": "1.0.1", "publisher": "Bitloops", "license": "MIT", "engines": {