brighterscript 1.0.0-alpha.14 → 1.0.0-alpha.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +18 -1
- package/dist/Cache.d.ts +2 -7
- package/dist/Cache.js +4 -13
- package/dist/Cache.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +21 -1
- package/dist/DiagnosticMessages.js +21 -1
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/Program.d.ts +1 -1
- package/dist/Program.js +4 -4
- package/dist/Program.js.map +1 -1
- package/dist/Scope.d.ts +16 -11
- package/dist/Scope.js +25 -2
- package/dist/Scope.js.map +1 -1
- package/dist/XmlScope.d.ts +3 -3
- package/dist/astUtils/AstEditor.d.ts +6 -0
- package/dist/astUtils/AstEditor.js +10 -0
- package/dist/astUtils/AstEditor.js.map +1 -1
- package/dist/astUtils/AstEditor.spec.js +37 -0
- package/dist/astUtils/AstEditor.spec.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +3 -1
- package/dist/astUtils/reflection.js +10 -2
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +3 -1
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.d.ts +4 -1
- package/dist/bscPlugin/BscPlugin.js +16 -0
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +1 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +36 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +28 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.d.ts +8 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +36 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +9 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +66 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -0
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +11 -0
- package/dist/bscPlugin/validation/ScopeValidator.js +94 -0
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -0
- package/dist/files/BrsFile.Class.spec.js +21 -22
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +9 -1
- package/dist/files/BrsFile.js +99 -25
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +128 -59
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.d.ts +5 -5
- package/dist/files/XmlFile.spec.js +9 -9
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/interfaces.d.ts +29 -37
- package/dist/lexer/Lexer.spec.js +8 -0
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +2 -0
- package/dist/lexer/TokenKind.js +5 -0
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/parser/Parser.d.ts +11 -2
- package/dist/parser/Parser.js +92 -3
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Statement.d.ts +52 -0
- package/dist/parser/Statement.js +154 -1
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/tests/statement/Enum.spec.d.ts +1 -0
- package/dist/parser/tests/statement/Enum.spec.js +774 -0
- package/dist/parser/tests/statement/Enum.spec.js.map +1 -0
- package/dist/util.d.ts +10 -0
- package/dist/util.js +37 -0
- package/dist/util.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrsFileSemanticTokensProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.ts"],"names":[],"mappings":";;;AACA,mFAAoE;AACpE,0DAAyD;AAGzD,gDAAgD;AAChD,qCAA8B;AAE9B,MAAa,8BAA8B;IACvC,YACW,KAAwC;QAAxC,UAAK,GAAL,KAAK,CAAmC;IAGnD,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,aAAa,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"BrsFileSemanticTokensProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -41,5 +41,33 @@ describe('BrsFileSemanticTokensProcessor', () => {
|
|
|
41
41
|
tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.class
|
|
42
42
|
}]);
|
|
43
43
|
});
|
|
44
|
+
it('matches each namespace section', () => {
|
|
45
|
+
const file = program.setFile('source/main.bs', `
|
|
46
|
+
sub main()
|
|
47
|
+
print Earthlings.Species.Human.Male
|
|
48
|
+
end sub
|
|
49
|
+
namespace Earthlings.Species
|
|
50
|
+
enum Human
|
|
51
|
+
Male
|
|
52
|
+
Female
|
|
53
|
+
end enum
|
|
54
|
+
end namespace
|
|
55
|
+
`);
|
|
56
|
+
program.validate();
|
|
57
|
+
(0, testHelpers_spec_1.expectZeroDiagnostics)(program);
|
|
58
|
+
(0, chai_1.expect)(util_1.util.sortByRange(program.getSemanticTokens(file.srcPath))).to.eql([{
|
|
59
|
+
range: util_1.util.createRange(2, 22, 2, 32),
|
|
60
|
+
tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
|
|
61
|
+
}, {
|
|
62
|
+
range: util_1.util.createRange(2, 33, 2, 40),
|
|
63
|
+
tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
|
|
64
|
+
}, {
|
|
65
|
+
range: util_1.util.createRange(2, 41, 2, 46),
|
|
66
|
+
tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.enum
|
|
67
|
+
}, {
|
|
68
|
+
range: util_1.util.createRange(2, 47, 2, 51),
|
|
69
|
+
tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.enumMember
|
|
70
|
+
}]);
|
|
71
|
+
});
|
|
44
72
|
});
|
|
45
73
|
//# sourceMappingURL=BrsFileSemanticTokensProcessor.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrsFileSemanticTokensProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,mFAAoE;AAEpE,2CAAwC;AACxC,6DAA+D;AAC/D,qCAAwD;AAExD,MAAM,OAAO,GAAG,IAAA,sBAAC,EAAA,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;AAEjD,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC5C,IAAI,OAAgB,CAAC;IACrB,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,GAAG,IAAI,iBAAO,CAAC;YAClB,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAU,gBAAgB,EAAE;;;;;;;;;;SAUvD,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;QAC/B,IAAA,aAAM,EACF,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAC1C,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;gBACN,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,KAAK;aACtC,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"BrsFileSemanticTokensProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,mFAAoE;AAEpE,2CAAwC;AACxC,6DAA+D;AAC/D,qCAAwD;AAExD,MAAM,OAAO,GAAG,IAAA,sBAAC,EAAA,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;AAEjD,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC5C,IAAI,OAAgB,CAAC;IACrB,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,GAAG,IAAI,iBAAO,CAAC;YAClB,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAU,gBAAgB,EAAE;;;;;;;;;;SAUvD,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;QAC/B,IAAA,aAAM,EACF,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAC1C,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;gBACN,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,KAAK;aACtC,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAU,gBAAgB,EAAE;;;;;;;;;;SAUvD,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;QAC/B,IAAA,aAAM,EACF,WAAI,CAAC,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAC5D,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;gBACN,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,IAAI;aACrC,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,UAAU;aAC3C,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BrsFile } from '../../files/BrsFile';
|
|
2
|
+
import type { BeforeFileTranspileEvent } from '../../interfaces';
|
|
3
|
+
export declare class BrsFilePreTranspileProcessor {
|
|
4
|
+
private event;
|
|
5
|
+
constructor(event: BeforeFileTranspileEvent<BrsFile>);
|
|
6
|
+
process(): void;
|
|
7
|
+
private replaceEnumValues;
|
|
8
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BrsFilePreTranspileProcessor = void 0;
|
|
4
|
+
const Cache_1 = require("../../Cache");
|
|
5
|
+
const util_1 = require("../../util");
|
|
6
|
+
class BrsFilePreTranspileProcessor {
|
|
7
|
+
constructor(event) {
|
|
8
|
+
this.event = event;
|
|
9
|
+
}
|
|
10
|
+
process() {
|
|
11
|
+
this.replaceEnumValues();
|
|
12
|
+
}
|
|
13
|
+
replaceEnumValues() {
|
|
14
|
+
var _a, _b, _c;
|
|
15
|
+
const membersByEnum = new Cache_1.Cache();
|
|
16
|
+
const enumLookup = (_a = this.event.file.program.getFirstScopeForFile(this.event.file)) === null || _a === void 0 ? void 0 : _a.getEnumMap();
|
|
17
|
+
for (const expression of this.event.file.parser.references.expressions) {
|
|
18
|
+
const parts = (_b = util_1.default.getAllDottedGetParts(expression)) === null || _b === void 0 ? void 0 : _b.map(x => x.toLowerCase());
|
|
19
|
+
if (parts) {
|
|
20
|
+
//get the name of the enum member
|
|
21
|
+
const memberName = parts.pop();
|
|
22
|
+
//get the name of the enum (including leading namespace if applicable)
|
|
23
|
+
const enumName = parts.join('.');
|
|
24
|
+
const lowerEnumName = enumName.toLowerCase();
|
|
25
|
+
const theEnum = (_c = enumLookup.get(lowerEnumName)) === null || _c === void 0 ? void 0 : _c.item;
|
|
26
|
+
if (theEnum) {
|
|
27
|
+
const members = membersByEnum.getOrAdd(lowerEnumName, () => theEnum.getMemberValueMap());
|
|
28
|
+
const value = members === null || members === void 0 ? void 0 : members.get(memberName);
|
|
29
|
+
this.event.editor.overrideTranspileResult(expression, value);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.BrsFilePreTranspileProcessor = BrsFilePreTranspileProcessor;
|
|
36
|
+
//# sourceMappingURL=BrsFilePreTranspileProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrsFilePreTranspileProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/transpile/BrsFilePreTranspileProcessor.ts"],"names":[],"mappings":";;;AAAA,uCAAoC;AAGpC,qCAA8B;AAE9B,MAAa,4BAA4B;IACrC,YACY,KAAwC;QAAxC,UAAK,GAAL,KAAK,CAAmC;IAEpD,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAEO,iBAAiB;;QACrB,MAAM,aAAa,GAAG,IAAI,aAAK,EAA+B,CAAC;QAE/D,MAAM,UAAU,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,0CAAE,UAAU,EAAE,CAAC;QAC/F,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,EAAE;YACpE,MAAM,KAAK,GAAG,MAAA,cAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,0CAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAC/E,IAAI,KAAK,EAAE;gBACP,iCAAiC;gBACjC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;gBAC/B,sEAAsE;gBACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,MAAA,UAAU,CAAC,GAAG,CAAC,aAAa,CAAC,0CAAE,IAAI,CAAC;gBACpD,IAAI,OAAO,EAAE;oBACT,MAAM,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;oBACzF,MAAM,KAAK,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,UAAU,CAAC,CAAC;oBACvC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;iBAChE;aACJ;SACJ;IACL,CAAC;CACJ;AA/BD,oEA+BC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { BrsFile } from '../../files/BrsFile';
|
|
2
|
+
import type { OnFileValidateEvent } from '../../interfaces';
|
|
3
|
+
export declare class BrsFileValidator {
|
|
4
|
+
event: OnFileValidateEvent<BrsFile>;
|
|
5
|
+
constructor(event: OnFileValidateEvent<BrsFile>);
|
|
6
|
+
process(): void;
|
|
7
|
+
validateEnumDeclarations(): void;
|
|
8
|
+
private validateEnumValueTypes;
|
|
9
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BrsFileValidator = void 0;
|
|
4
|
+
const __1 = require("../..");
|
|
5
|
+
const DiagnosticMessages_1 = require("../../DiagnosticMessages");
|
|
6
|
+
const TokenKind_1 = require("../../lexer/TokenKind");
|
|
7
|
+
class BrsFileValidator {
|
|
8
|
+
constructor(event) {
|
|
9
|
+
this.event = event;
|
|
10
|
+
}
|
|
11
|
+
process() {
|
|
12
|
+
this.validateEnumDeclarations();
|
|
13
|
+
}
|
|
14
|
+
validateEnumDeclarations() {
|
|
15
|
+
var _a, _b, _c, _d, _e;
|
|
16
|
+
const diagnostics = [];
|
|
17
|
+
for (const stmt of this.event.file.parser.references.enumStatements) {
|
|
18
|
+
const members = stmt.getMembers();
|
|
19
|
+
//the enum data type is based on the first member value
|
|
20
|
+
const enumValueKind = (_d = (_c = (_b = (_a = members.find(x => x.value)) === null || _a === void 0 ? void 0 : _a.value) === null || _b === void 0 ? void 0 : _b.token) === null || _c === void 0 ? void 0 : _c.kind) !== null && _d !== void 0 ? _d : TokenKind_1.TokenKind.IntegerLiteral;
|
|
21
|
+
const memberNames = new Set();
|
|
22
|
+
for (const member of members) {
|
|
23
|
+
const memberNameLower = (_e = member.name) === null || _e === void 0 ? void 0 : _e.toLowerCase();
|
|
24
|
+
/**
|
|
25
|
+
* flag duplicate member names
|
|
26
|
+
*/
|
|
27
|
+
if (memberNames.has(memberNameLower)) {
|
|
28
|
+
diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateIdentifier(member.name)), { file: this.event.file, range: member.range }));
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
memberNames.add(memberNameLower);
|
|
32
|
+
}
|
|
33
|
+
//Enforce all member values are the same type
|
|
34
|
+
this.validateEnumValueTypes(diagnostics, member, enumValueKind);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
this.event.file.addDiagnostics(diagnostics);
|
|
38
|
+
}
|
|
39
|
+
validateEnumValueTypes(diagnostics, member, enumValueKind) {
|
|
40
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
41
|
+
const memberValueKind = (_b = (_a = member.value) === null || _a === void 0 ? void 0 : _a.token) === null || _b === void 0 ? void 0 : _b.kind;
|
|
42
|
+
if (
|
|
43
|
+
//is integer enum, has value, that value type is not integer
|
|
44
|
+
(enumValueKind === TokenKind_1.TokenKind.IntegerLiteral && memberValueKind && memberValueKind !== enumValueKind) ||
|
|
45
|
+
//has value, that value is not a literal
|
|
46
|
+
(member.value && !(0, __1.isLiteralExpression)(member.value))) {
|
|
47
|
+
diagnostics.push(Object.assign(Object.assign({ file: this.event.file }, DiagnosticMessages_1.DiagnosticMessages.enumValueMustBeType(enumValueKind.replace(/literal$/i, '').toLowerCase())), { range: (_d = ((_c = member.value) !== null && _c !== void 0 ? _c : member)) === null || _d === void 0 ? void 0 : _d.range }));
|
|
48
|
+
}
|
|
49
|
+
//is non integer value
|
|
50
|
+
if (enumValueKind !== TokenKind_1.TokenKind.IntegerLiteral) {
|
|
51
|
+
//default value present
|
|
52
|
+
if (memberValueKind) {
|
|
53
|
+
//member value is same as enum
|
|
54
|
+
if (memberValueKind !== enumValueKind) {
|
|
55
|
+
diagnostics.push(Object.assign(Object.assign({ file: this.event.file }, DiagnosticMessages_1.DiagnosticMessages.enumValueMustBeType(enumValueKind.replace(/literal$/i, '').toLowerCase())), { range: (_f = ((_e = member.value) !== null && _e !== void 0 ? _e : member)) === null || _f === void 0 ? void 0 : _f.range }));
|
|
56
|
+
}
|
|
57
|
+
//default value missing
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
diagnostics.push(Object.assign(Object.assign({ file: this.event.file }, DiagnosticMessages_1.DiagnosticMessages.enumValueIsRequired(enumValueKind.replace(/literal$/i, '').toLowerCase())), { range: (_h = ((_g = member.value) !== null && _g !== void 0 ? _g : member)) === null || _h === void 0 ? void 0 : _h.range }));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.BrsFileValidator = BrsFileValidator;
|
|
66
|
+
//# sourceMappingURL=BrsFileValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrsFileValidator.js","sourceRoot":"","sources":["../../../src/bscPlugin/validation/BrsFileValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { OnScopeValidateEvent } from '../../interfaces';
|
|
2
|
+
export declare class ScopeValidator {
|
|
3
|
+
private event;
|
|
4
|
+
constructor(event: OnScopeValidateEvent);
|
|
5
|
+
process(): void;
|
|
6
|
+
/**
|
|
7
|
+
* Find all expressions and validate the ones that look like enums
|
|
8
|
+
*/
|
|
9
|
+
validateEnumUsage(): void;
|
|
10
|
+
private detectDuplicateEnums;
|
|
11
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScopeValidator = void 0;
|
|
4
|
+
const vscode_languageserver_1 = require("vscode-languageserver");
|
|
5
|
+
const vscode_uri_1 = require("vscode-uri");
|
|
6
|
+
const reflection_1 = require("../../astUtils/reflection");
|
|
7
|
+
const Cache_1 = require("../../Cache");
|
|
8
|
+
const DiagnosticMessages_1 = require("../../DiagnosticMessages");
|
|
9
|
+
const util_1 = require("../../util");
|
|
10
|
+
class ScopeValidator {
|
|
11
|
+
constructor(event) {
|
|
12
|
+
this.event = event;
|
|
13
|
+
}
|
|
14
|
+
process() {
|
|
15
|
+
this.validateEnumUsage();
|
|
16
|
+
this.detectDuplicateEnums();
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Find all expressions and validate the ones that look like enums
|
|
20
|
+
*/
|
|
21
|
+
validateEnumUsage() {
|
|
22
|
+
const diagnostics = [];
|
|
23
|
+
const membersByEnum = new Cache_1.Cache();
|
|
24
|
+
//if there are any enums defined in this scope
|
|
25
|
+
const enumLookup = this.event.scope.getEnumMap();
|
|
26
|
+
//skip enum validation if there are no enums defined in this scope
|
|
27
|
+
if (enumLookup.size === 0) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
this.event.scope.enumerateOwnFiles((file) => {
|
|
31
|
+
var _a;
|
|
32
|
+
//skip non-brs files
|
|
33
|
+
if (!(0, reflection_1.isBrsFile)(file)) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
for (const expression of file.parser.references.expressions) {
|
|
37
|
+
const parts = util_1.default.getAllDottedGetParts(expression);
|
|
38
|
+
//skip expressions that aren't fully dotted gets
|
|
39
|
+
if (!parts) {
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
//get the name of the enum member
|
|
43
|
+
const memberName = parts.pop();
|
|
44
|
+
//get the name of the enum (including leading namespace if applicable)
|
|
45
|
+
const enumName = parts.join('.');
|
|
46
|
+
const lowerEnumName = enumName.toLowerCase();
|
|
47
|
+
const theEnum = (_a = enumLookup.get(lowerEnumName)) === null || _a === void 0 ? void 0 : _a.item;
|
|
48
|
+
if (theEnum) {
|
|
49
|
+
const members = membersByEnum.getOrAdd(lowerEnumName, () => theEnum.getMemberValueMap());
|
|
50
|
+
const value = members === null || members === void 0 ? void 0 : members.get(memberName.toLowerCase());
|
|
51
|
+
if (!value) {
|
|
52
|
+
diagnostics.push(Object.assign(Object.assign({ file: file }, DiagnosticMessages_1.DiagnosticMessages.unknownEnumValue(memberName, theEnum.fullName)), { range: expression.name.range, relatedInformation: [{
|
|
53
|
+
message: 'Enum declared here',
|
|
54
|
+
location: vscode_languageserver_1.Location.create(vscode_uri_1.URI.file(file.srcPath).toString(), theEnum.tokens.name.range)
|
|
55
|
+
}] }));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
this.event.scope.addDiagnostics(diagnostics);
|
|
61
|
+
}
|
|
62
|
+
detectDuplicateEnums() {
|
|
63
|
+
const diagnostics = [];
|
|
64
|
+
const enumLocationsByName = new Cache_1.Cache();
|
|
65
|
+
this.event.scope.enumerateBrsFiles((file) => {
|
|
66
|
+
for (const enumStatement of file.parser.references.enumStatements) {
|
|
67
|
+
const fullName = enumStatement.fullName;
|
|
68
|
+
const nameLower = fullName === null || fullName === void 0 ? void 0 : fullName.toLowerCase();
|
|
69
|
+
if ((nameLower === null || nameLower === void 0 ? void 0 : nameLower.length) > 0) {
|
|
70
|
+
enumLocationsByName.getOrAdd(nameLower, () => []).push({
|
|
71
|
+
file: file,
|
|
72
|
+
statement: enumStatement
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
//now that we've collected all enum declarations, flag duplicates
|
|
78
|
+
for (const enumLocations of enumLocationsByName.values()) {
|
|
79
|
+
//sort by srcPath to keep the primary enum location consistent
|
|
80
|
+
enumLocations.sort((a, b) => { var _a, _b, _c; return (_b = (_a = a.file) === null || _a === void 0 ? void 0 : _a.srcPath) === null || _b === void 0 ? void 0 : _b.localeCompare((_c = b.file) === null || _c === void 0 ? void 0 : _c.srcPath); });
|
|
81
|
+
const primaryEnum = enumLocations.shift();
|
|
82
|
+
const fullName = primaryEnum.statement.fullName;
|
|
83
|
+
for (const duplicateEnumInfo of enumLocations) {
|
|
84
|
+
diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateEnumDeclaration(this.event.scope.name, fullName)), { file: duplicateEnumInfo.file, range: duplicateEnumInfo.statement.tokens.name.range, relatedInformation: [{
|
|
85
|
+
message: 'Enum declared here',
|
|
86
|
+
location: vscode_languageserver_1.Location.create(vscode_uri_1.URI.file(primaryEnum.file.srcPath).toString(), primaryEnum.statement.tokens.name.range)
|
|
87
|
+
}] }));
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
this.event.scope.addDiagnostics(diagnostics);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.ScopeValidator = ScopeValidator;
|
|
94
|
+
//# sourceMappingURL=ScopeValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScopeValidator.js","sourceRoot":"","sources":["../../../src/bscPlugin/validation/ScopeValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -689,7 +689,7 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
689
689
|
]);
|
|
690
690
|
});
|
|
691
691
|
it.skip('detects calls to unknown m methods', () => {
|
|
692
|
-
program.setFile(
|
|
692
|
+
program.setFile('source/main.brs', `
|
|
693
693
|
class Animal
|
|
694
694
|
sub new ()
|
|
695
695
|
m.methodThatDoesNotExist()
|
|
@@ -702,7 +702,7 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
702
702
|
]);
|
|
703
703
|
});
|
|
704
704
|
it('detects duplicate member names', () => {
|
|
705
|
-
program.setFile(
|
|
705
|
+
program.setFile('source/main.bs', `
|
|
706
706
|
class Animal
|
|
707
707
|
public name
|
|
708
708
|
public name
|
|
@@ -719,7 +719,7 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
719
719
|
(0, testHelpers_spec_1.expectDiagnostics)(program, [Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateIdentifier('name')), { range: vscode_languageserver_1.Range.create(3, 23, 3, 27) }), Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateIdentifier('name')), { range: vscode_languageserver_1.Range.create(4, 27, 4, 31) }), Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateIdentifier('age')), { range: vscode_languageserver_1.Range.create(8, 27, 8, 30) }), Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateIdentifier('age')), { range: vscode_languageserver_1.Range.create(10, 23, 10, 26) })]);
|
|
720
720
|
});
|
|
721
721
|
it('detects mismatched member type in child class', () => {
|
|
722
|
-
program.setFile(
|
|
722
|
+
program.setFile('source/main.bs', `
|
|
723
723
|
class Animal
|
|
724
724
|
public name
|
|
725
725
|
end class
|
|
@@ -735,8 +735,8 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
735
735
|
]);
|
|
736
736
|
});
|
|
737
737
|
it('allows untyped overridden field in child class', () => {
|
|
738
|
-
program.setFile(
|
|
739
|
-
|
|
738
|
+
program.setFile('source/main.bs', `
|
|
739
|
+
class Animal
|
|
740
740
|
public name
|
|
741
741
|
end class
|
|
742
742
|
class Duck extends Animal
|
|
@@ -780,7 +780,7 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
780
780
|
]);
|
|
781
781
|
});
|
|
782
782
|
it('detects overridden methods without override keyword', () => {
|
|
783
|
-
program.setFile(
|
|
783
|
+
program.setFile('source/main.bs', `
|
|
784
784
|
class Animal
|
|
785
785
|
sub speak()
|
|
786
786
|
end sub
|
|
@@ -796,7 +796,7 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
796
796
|
]);
|
|
797
797
|
});
|
|
798
798
|
it('detects overridden methods with different visibility', () => {
|
|
799
|
-
program.setFile(
|
|
799
|
+
program.setFile('source/main.bs', `
|
|
800
800
|
class Animal
|
|
801
801
|
sub speakInPublic()
|
|
802
802
|
end sub
|
|
@@ -822,7 +822,7 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
822
822
|
]);
|
|
823
823
|
});
|
|
824
824
|
it('allows overridden methods with matching visibility', () => {
|
|
825
|
-
program.setFile(
|
|
825
|
+
program.setFile('source/main.bs', `
|
|
826
826
|
class Animal
|
|
827
827
|
sub speakInPublic()
|
|
828
828
|
end sub
|
|
@@ -895,8 +895,8 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
895
895
|
namespace Vertibrates
|
|
896
896
|
class Bird
|
|
897
897
|
end class
|
|
898
|
-
|
|
899
|
-
|
|
898
|
+
end namespace
|
|
899
|
+
`);
|
|
900
900
|
program.setFile('source/Duck.bs', `
|
|
901
901
|
class Duck extends Vertibrates.GroundedBird
|
|
902
902
|
sub speak()
|
|
@@ -908,7 +908,6 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
908
908
|
(0, chai_1.expect)(program.getDiagnostics()[0].message).to.eql(DiagnosticMessages_1.DiagnosticMessages.classCouldNotBeFound('Vertibrates.GroundedBird', 'source').message);
|
|
909
909
|
});
|
|
910
910
|
it('namespaced parent class from inside namespace', () => {
|
|
911
|
-
program.setFile('source/main.bs', ``);
|
|
912
911
|
program.setFile('source/vertibrates.bs', `
|
|
913
912
|
namespace Vertibrates
|
|
914
913
|
class Bird
|
|
@@ -945,7 +944,7 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
945
944
|
]);
|
|
946
945
|
});
|
|
947
946
|
it('supports newable class namespace inference', () => {
|
|
948
|
-
program.setFile(
|
|
947
|
+
program.setFile('source/main.bs', `
|
|
949
948
|
namespace NameA.NameB
|
|
950
949
|
class Duck
|
|
951
950
|
end class
|
|
@@ -958,21 +957,21 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
958
957
|
(0, testHelpers_spec_1.expectZeroDiagnostics)(program);
|
|
959
958
|
});
|
|
960
959
|
it('catches extending unknown namespaced class', () => {
|
|
961
|
-
program.setFile(
|
|
960
|
+
program.setFile('source/main.bs', `
|
|
962
961
|
namespace NameA.NameB
|
|
963
962
|
class Animal
|
|
964
963
|
end class
|
|
965
964
|
class Duck extends NameA.NameB.Animal1
|
|
966
965
|
end class
|
|
967
|
-
|
|
968
|
-
|
|
966
|
+
end namespace
|
|
967
|
+
`);
|
|
969
968
|
program.validate();
|
|
970
969
|
(0, testHelpers_spec_1.expectDiagnostics)(program, [
|
|
971
970
|
DiagnosticMessages_1.DiagnosticMessages.classCouldNotBeFound('NameA.NameB.Animal1', 'source')
|
|
972
971
|
]);
|
|
973
972
|
});
|
|
974
973
|
it('supports omitting namespace prefix for items in same namespace', () => {
|
|
975
|
-
program.setFile(
|
|
974
|
+
program.setFile('source/main.bs', `
|
|
976
975
|
namespace NameA.NameB
|
|
977
976
|
class Animal
|
|
978
977
|
end class
|
|
@@ -984,7 +983,7 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
984
983
|
(0, testHelpers_spec_1.expectZeroDiagnostics)(program);
|
|
985
984
|
});
|
|
986
985
|
it('catches duplicate root-level class declarations', () => {
|
|
987
|
-
program.setFile(
|
|
986
|
+
program.setFile('source/main.bs', `
|
|
988
987
|
class Animal
|
|
989
988
|
end class
|
|
990
989
|
class Animal
|
|
@@ -996,21 +995,21 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
996
995
|
]);
|
|
997
996
|
});
|
|
998
997
|
it('catches duplicate namespace-level class declarations', () => {
|
|
999
|
-
program.setFile(
|
|
998
|
+
program.setFile('source/main.bs', `
|
|
1000
999
|
namespace NameA.NameB
|
|
1001
1000
|
class Animal
|
|
1002
1001
|
end class
|
|
1003
1002
|
class Animal
|
|
1004
1003
|
end class
|
|
1005
|
-
|
|
1006
|
-
|
|
1004
|
+
end namespace
|
|
1005
|
+
`);
|
|
1007
1006
|
program.validate();
|
|
1008
1007
|
(0, testHelpers_spec_1.expectDiagnostics)(program, [
|
|
1009
1008
|
DiagnosticMessages_1.DiagnosticMessages.duplicateClassDeclaration('source', 'NameA.NameB.Animal')
|
|
1010
1009
|
]);
|
|
1011
1010
|
});
|
|
1012
1011
|
it('catches namespaced class name which is the same as a global class', () => {
|
|
1013
|
-
program.setFile(
|
|
1012
|
+
program.setFile('source/main.bs', `
|
|
1014
1013
|
namespace NameA.NameB
|
|
1015
1014
|
class Animal
|
|
1016
1015
|
end class
|
|
@@ -1154,7 +1153,7 @@ describe('BrsFile BrighterScript classes', () => {
|
|
|
1154
1153
|
});
|
|
1155
1154
|
it('does not crash when parent class is missing', () => {
|
|
1156
1155
|
const file = program.setFile('source/ClassB.bs', `
|
|
1157
|
-
|
|
1156
|
+
class ClassB extends ClassA
|
|
1158
1157
|
end class
|
|
1159
1158
|
`);
|
|
1160
1159
|
(0, assert_1.doesNotThrow)(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrsFile.Class.spec.js","sourceRoot":"","sources":["../../src/files/BrsFile.Class.spec.ts"],"names":[],"mappings":";;AAAA,qCAAqC;AAErC,wCAAqC;AAErC,+BAA8B;AAC9B,8DAA2D;AAC3D,iEAAwD;AACxD,6CAA6C;AAC7C,0DAAiG;AACjG,kCAA+C;AAC/C,oCAAoC;AACpC,mEAAgE;AAChE,mCAAsC;AAEtC,uDAAsE;AAGtE,IAAI,KAAK,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;AAExC,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC5C,IAAI,OAAO,GAAG,IAAA,sBAAC,EAAA,GAAG,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC;IACvC,IAAI,OAAO,GAAG,IAAA,sBAAC,EAAA,GAAG,OAAO,UAAU,CAAC;IAEpC,IAAI,OAAgB,CAAC;IACrB,IAAI,aAAa,GAAG,IAAA,mCAAgB,EAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAE/D,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9B,OAAO,GAAG,IAAI,iBAAO,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACX,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,SAAS,OAAO,CAAC,YAAoB,EAAE,IAAY;QAC/C,OAAO,OAAO,CAAC,OAAO,CAAU,EAAE,GAAG,EAAE,GAAG,OAAO,IAAI,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,IAAI,CAAC,CAAC;IACrG,CAAC;IAED,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACvC,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAU,EAAE,GAAG,EAAE,GAAG,OAAO,kBAAkB,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE;;;;;;;SAOnG,CAAC,CAAC;QACH,IAAA,aAAM,EAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACnI,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,OAAO,CAAC,OAAO,CAAU,EAAE,GAAG,EAAE,GAAG,OAAO,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;;SAEtF,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,8CAA8C;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC7D,OAAO,CAAC,OAAO,CAAU,EAAE,GAAG,EAAE,GAAG,OAAO,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;;;;;;;;;SAStF,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,gCAAgC,EAAE;SACxD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAU,EAAE,GAAG,EAAE,GAAG,OAAO,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;;;;;;;;;;SAUjG,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,CAAC;QACvG,IAAA,aAAM,EAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC3B,IAAA,aAAM,EAAC,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACjD,OAAO,CAAC,OAAO,CAAU,EAAE,GAAG,EAAE,GAAG,OAAO,iBAAiB,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;;;;;;;;;;;;;;;;;;SAkBtF,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACvD,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;;aAOjC,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;gBACvB,uCAAkB,CAAC,gCAAgC,EAAE;aACxD,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACrE,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;;;;aASjC,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;gBACvB,uCAAkB,CAAC,gCAAgC,EAAE;aACxD,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACvE,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;;;;;;;;aAajC,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;YACvE,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;;;;;;aAWjC,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE,iCACpB,uCAAkB,CAAC,4CAA4C,EAAE,KACpE,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,qCAE9B,uCAAkB,CAAC,4CAA4C,EAAE,KACpE,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IACnC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;IAEP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC1D,aAAa,CAAC;;;;;;;;;;;;;;aAcb,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA6BF,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC5D,aAAa,CAAC;;;;;;;;;;aAUb,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAyCF,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAGH,EAAE,CAAC,uBAAuB,EAAE,GAAG,EAAE;YAC7B,aAAa,CAAC;;;;;;;aAOb,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;aAyBF,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YAC/B,aAAa,CAAC;;;aAGb,EAAE;;;;;;;;;;;;aAYF,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACrE,aAAa,CAAC;;;;;aAKb,EAAE;;;;;;;;;;;;aAYF,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;YACzE,aAAa,CAAC;;;;;;;;;;;;;;;aAeb,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA4BF,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YACzC,aAAa,CAAC;;;;;;;;;;;;;;;;;aAiBb,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAmCF,EAAE,MAAM,EAAE,gBAAgB,CAC1B,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,GAAG,EAAE;YAClE,OAAO,CAAC,mBAAmB,EAAE;;;;;;;aAO5B,CAAC,CAAC;YACH,aAAa,CAAC;;;;;;;;aAQb,EAAE;;;;;;aAMF,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;YAC5D,aAAa,CAAC;;;;aAIb,EAAE;;;;aAIF,EAAE,SAAS,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YACxC,OAAO,CAAC,kBAAkB,EAAE;;;;;aAK3B,CAAC,CAAC;YACH,aAAa,CAAC;;;;aAIb,EAAE;;;;aAIF,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACnD,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAwCb,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAiEF,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YACzC,aAAa,CAAC;;;;;;;;;;;;;aAab,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAiCF,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE;;;;;;SAM9E,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,4BAA4B,CAAC,KAAK,CAAC;SACzD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACrC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE;;;;;;;;;SAS9E,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,gCAAgC,EAAE;SACxD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC/C,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,mCAAmC,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE;;;;;;SAMtF,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,wBAAwB,CAAC,wBAAwB,EAAE,QAAQ,CAAC;SAClF,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,qBAAqB,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;;;;;;;;;;;;SAYjF,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE,iCACpB,uCAAkB,CAAC,mBAAmB,CAAC,MAAM,CAAC,KACjD,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,qCAE9B,uCAAkB,CAAC,mBAAmB,CAAC,MAAM,CAAC,KACjD,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,qCAE9B,uCAAkB,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAChD,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,qCAE9B,uCAAkB,CAAC,mBAAmB,CAAC,KAAK,CAAC,KAChD,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,IACrC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACrD,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,qBAAqB,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;;;;;;;;;SASjF,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,+CAA+C,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC;SAClG,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,kBAAkB,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;;;;;;;SAO9E,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACtD,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;;SAOjC,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;;;;;;SAWjC,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,cAAc,CAAC,QAAQ,CAAC;YAC3C,uCAAkB,CAAC,yCAAyC,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC;YACvG,uCAAkB,CAAC,yCAAyC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;YACzG,uCAAkB,CAAC,yCAAyC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,CAAC;SAC5G,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC3D,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,EAAE,iBAAiB,EAAE,EAAE;;;;;;;;;SASjF,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,sBAAsB,CAAC,QAAQ,CAAC;SACtD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC5D,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;;;;;;;;;;;;;;;;;SAiBhF,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,oCAAoC,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;YAC/G,uCAAkB,CAAC,oCAAoC,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC;YACpH,uCAAkB,CAAC,oCAAoC,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC;SACpH,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC1D,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;;;;;;;;;;;;;;;;;SAiBhF,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACpD,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;;;;;iCAUb,CAAC,CAAC;YACvB,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE,iCACpB,uCAAkB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAC9D,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IACnC,CAAC,CAAC;QACR,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACnD,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;;qCAOT,CAAC,CAAC;YAC3B,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;gBACvB,uCAAkB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC;aAC9D,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;YAC/E,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;;;;;aAUjC,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;gBACvB,uCAAkB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,CAAC;aAC9D,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACtD,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE;;;;;yCAKZ,CAAC,CAAC;YAC/B,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;aAKjC,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,6HAA6H;YAC7H,IAAA,aAAM,EAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAC9C,uCAAkB,CAAC,oBAAoB,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC,OAAO,CACxF,CAAC;QACN,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACrD,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,OAAO,CAAC,uBAAuB,EAAE;;;;;aAKxC,CAAC,CAAC;YACH,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;;aAOjC,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,6HAA6H;YAC7H,IAAA,aAAM,EAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,GAAG,CAC9C,uCAAkB,CAAC,oBAAoB,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC,OAAO,CACxF,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;;;;6CASG,CAAC,CAAC;QACvC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC;SAC5D,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;;;;;;;;yCAQhD,CAAC,CAAC;QACnC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAClD,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;;;;;;;6CAO5C,CAAC,CAAC;QACvC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,oBAAoB,CAAC,qBAAqB,EAAE,QAAQ,CAAC;SAC3E,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACtE,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;;;;;;;6CAO5C,CAAC,CAAC;QACvC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACvD,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;;;;;SAKhF,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,CAAC;SACnE,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAC5D,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;;;;;;;qCAOpD,CAAC,CAAC;QAC/B,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,yBAAyB,CAAC,QAAQ,EAAE,oBAAoB,CAAC;SAC/E,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QACzE,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,8BAA8B,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE;;;;;;;SAOhF,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,oDAAoD,CAAC,QAAQ,CAAC,CAAC,OAAO;SAC5F,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;6BAKb,CAAC,CAAC;QACvB,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC,OAAO;SACzE,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACrE,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;6BAKb,CAAC,CAAC;QACvB,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC,OAAO;SACzE,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;6BAMb,CAAC,CAAC;QACvB,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,OAAO;SAC/D,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACvE,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE;;;;;;;;;SAStC,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,CAAC,gCAAgC,EAAE;;;;;;SAMjD,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,CAAC,yBAAyB,EAAE;;;;;;SAM1C,CAAC,CAAC;QAEH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;QACzD,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;;;;;;;SAYjC,CAAC,CAAC;QAEH,aAAa,CAAC;;;;;;;;SAQb,EAAE;;;;;;;;;;;;;;SAcF,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,GAAG,EAAE;QACvF,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE;;;SAGnC,CAAC,CAAC;QAEH,aAAa,CAAC;;;;;iBAKL,EAAE;;;;;;;;;;;;;;SAcV,EAAE,MAAM,EAAE,sBAAsB,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACnD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAU,kBAAkB,EAAE;;;SAGzD,CAAC,CAAC;QACH,IAAA,qBAAY,EAAC,GAAG,EAAE;YACd,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,qCAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/F,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACtB,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SAsDvB,CAAC;QAEF,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YACrD,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;YACnC,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YACtE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,gCAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACxD,IAAA,aAAM,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC7B,iBAAiB;gBACjB,aAAa;gBACb,KAAK;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEd,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,gCAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACrD,IAAA,aAAM,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC7B,iBAAiB;gBACjB,UAAU;gBACV,KAAK;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YACzC,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YACtE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,gCAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACxD,IAAA,aAAM,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC7B,iBAAiB;gBACjB,uBAAuB;gBACvB,KAAK;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAEd,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,gCAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACrD,IAAA,aAAM,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC7B,iBAAiB;gBACjB,qBAAqB;gBACrB,KAAK;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC1C,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,eAAe,CAAC,CAAC;YACtE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,gCAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACzD,IAAA,aAAM,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC7B,iBAAiB;gBACjB,4BAA4B;gBAC5B,KAAK;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC3C,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;YACvE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,gCAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YACzD,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YACvB,oGAAoG;YACpG,IAAA,aAAM,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC7B,iBAAiB;gBACjB,yBAAyB;gBACzB,KAAK;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC5C,IAAI,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE;;;;;;;;aAQpD,CAAC,CAAC;YACH,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,gCAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACxD,IAAA,aAAM,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC7B,iBAAiB;gBACjB,+CAA+C;gBAC/C,KAAK;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACpC,MAAM,QAAQ,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBAgCH,CAAC;QAEf,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YAC9C,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAA,aAAM,EAAC,OAAO,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC7C,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,gCAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB;YACtE,IAAA,aAAM,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC7B,iBAAiB;gBACjB,yBAAyB;gBACzB,KAAK;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;YAChD,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,gCAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ;YAC3D,IAAA,aAAM,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC7B,iBAAiB;gBACjB,cAAc;gBACd,KAAK;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACnD,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,gCAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY;YAC/D,IAAA,aAAM,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC7B,iBAAiB;gBACjB,WAAW;gBACX,KAAK;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC1D,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,gCAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;YAC7D,IAAA,aAAM,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC7B,iBAAiB;gBACjB,kCAAkC;gBAClC,KAAK;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YACzD,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,gCAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ;YAC5D,IAAA,aAAM,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC7B,iBAAiB;gBACjB,sBAAsB;gBACtB,KAAK;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;YAC9C,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,gCAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,qBAAqB;YACzE,IAAA,aAAM,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC7B,iBAAiB;gBACjB,uBAAuB;gBACvB,KAAK;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;YACrE,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;YACzD,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,gCAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,mCAAmC;YACvF,IAAA,aAAM,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBAC7B,iBAAiB;gBACjB,kBAAkB;gBAClB,KAAK;aACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;QACpC,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA+BrB,CAAC;QAEF,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;YACjC,OAAO,CAAC,OAAO,CAAC,qBAAqB,EAAE,aAAa,CAAC,CAAC;YACtD,OAAO,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAA,wCAAqB,EAAC,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;YAC5B,IAAI,SAAkB,CAAC;YACvB,IAAI,SAAgB,CAAC;YAErB,UAAU,CAAC,GAAG,EAAE;gBACZ,SAAS,GAAG,OAAO,CAAC,OAAO,CAAU,qBAAqB,EAAE,aAAa,CAAC,CAAC;gBAC3E,MAAM,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;gBACnD,IAAA,aAAM,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAChC,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBACtB,SAAS,CAAC,eAAe,EAAE,CAAC;YAChC,CAAC,CAAC,CAAC;YAEH,SAAS,CAAC,GAAG,EAAE;gBACX,SAAS,CAAC,iBAAiB,EAAE,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;;gBAChC,MAAM,QAAQ,GAAG,gCAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,8BAA8B;gBACxE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAA,aAAM,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,IAAI,GAAG,SAAS,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC;gBACjE,IAAI,KAAK,GAAG,MAAA,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,0CAAE,IAAI,CAAC;gBACtE,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBACvB,IAAA,aAAM,EAAC,KAAK,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;;gBAC1C,MAAM,QAAQ,GAAG,gCAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,8BAA8B;gBACxE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAA,aAAM,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,IAAI,GAAG,SAAS,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC;gBACjE,IAAI,KAAK,GAAG,MAAA,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,0CAAE,IAAI,CAAC;gBACtE,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBACvB,IAAA,aAAM,EAAC,KAAK,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;;gBACvC,MAAM,QAAQ,GAAG,gCAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,+BAA+B;gBACxE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAA,aAAM,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,IAAI,GAAG,SAAS,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC;gBACjE,IAAI,KAAK,GAAG,MAAA,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,0CAAE,IAAI,CAAC;gBACtE,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBACvB,IAAA,aAAM,EAAC,KAAK,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;;gBAC7C,MAAM,QAAQ,GAAG,gCAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB;gBAC/D,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAA,aAAM,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,IAAI,GAAG,SAAS,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC;gBACjE,IAAI,KAAK,GAAG,MAAA,SAAS,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,0CAAE,IAAI,CAAC;gBACtE,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBACvB,IAAA,aAAM,EAAC,KAAK,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;gBAC9D,MAAM,QAAQ,GAAG,gCAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,yBAAyB;gBAClE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAA,aAAM,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,IAAI,GAAG,SAAS,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC;gBACjE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;gBACzF,IAAA,aAAM,EAAC,IAAA,2BAAc,EAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;gBACxC,IAAA,aAAM,EAAC,IAAA,yBAAY,EAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;gBACjD,IAAA,aAAM,EAAE,eAA8B,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;gBACnE,MAAM,QAAQ,GAAG,gCAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oCAAoC;gBAC7E,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;gBACpD,IAAA,aAAM,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACtC,MAAM,IAAI,GAAG,SAAS,CAAC,+BAA+B,CAAC,QAAQ,CAAC,CAAC;gBACjE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;gBACzF,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;gBACtB,IAAA,aAAM,EAAC,IAAA,2BAAc,EAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;gBACxC,IAAA,aAAM,EAAC,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,8DAA8D;YAC3G,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;QAC3E,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;;;SAQjC,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,GAAG,EAAE;QAC9E,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;;;SAQjC,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACxE,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE;;;;;;;;;;;;;;;;iBAgBzB,CAAC,CAAC;QACX,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAA,oCAAiB,EAAC,OAAO,EAAE;YACvB,uCAAkB,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9C,uCAAkB,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9C,uCAAkB,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC;SACjD,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"BrsFile.Class.spec.js","sourceRoot":"","sources":["../../src/files/BrsFile.Class.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/files/BrsFile.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import type { Token } from '../lexer/Token';
|
|
|
7
7
|
import { TokenKind } from '../lexer/TokenKind';
|
|
8
8
|
import { Parser, ParseMode } from '../parser/Parser';
|
|
9
9
|
import type { FunctionExpression, Expression } from '../parser/Expression';
|
|
10
|
-
import type { ClassStatement, Statement } from '../parser/Statement';
|
|
10
|
+
import type { ClassStatement, NamespaceStatement, Statement } from '../parser/Statement';
|
|
11
11
|
import type { Program, SignatureInfoObj } from '../Program';
|
|
12
12
|
import type { DependencyGraph } from '../DependencyGraph';
|
|
13
13
|
import type { BscType, SymbolContainer } from '../types/BscType';
|
|
@@ -133,6 +133,12 @@ export declare class BrsFile {
|
|
|
133
133
|
* Find the function expression at the given position.
|
|
134
134
|
*/
|
|
135
135
|
getFunctionExpressionAtPosition(position: Position, functionExpressions?: FunctionExpression[]): FunctionExpression;
|
|
136
|
+
/**
|
|
137
|
+
* Find the NamespaceStatement enclosing the given position
|
|
138
|
+
* @param position
|
|
139
|
+
* @param functionScopes
|
|
140
|
+
*/
|
|
141
|
+
getNamespaceStatementForPosition(position: Position): NamespaceStatement;
|
|
136
142
|
/**
|
|
137
143
|
* Get completions available at the given cursor. This aggregates all values from this file and the current scope.
|
|
138
144
|
*/
|
|
@@ -168,6 +174,8 @@ export declare class BrsFile {
|
|
|
168
174
|
*/
|
|
169
175
|
getSymbolTypeFromToken(currentToken: Token, functionExpression: FunctionExpression, scope: Scope): TokenSymbolLookup;
|
|
170
176
|
private getGlobalClassStatementCompletions;
|
|
177
|
+
private getNonNamespacedEnumStatementCompletions;
|
|
178
|
+
private getEnumMemberStatementCompletions;
|
|
171
179
|
private getNamespaceCompletions;
|
|
172
180
|
private getNamespaceDefinitions;
|
|
173
181
|
/**
|