parser-lr 0.6.0 → 0.7.0
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/README.md +14 -30
- package/bin/parser-lr.js +11388 -11409
- package/bin/parser-lr.js.map +1 -1
- package/dist/lib/grammar/index.d.ts +1 -1
- package/dist/lib/grammar/index.d.ts.map +1 -1
- package/dist/lib/grammar/index.js +1 -1
- package/dist/lib/grammar/index.js.map +1 -1
- package/dist/lib/grammar/meta-grammar-table.d.ts +0 -12
- package/dist/lib/grammar/meta-grammar-table.d.ts.map +1 -1
- package/dist/lib/grammar/meta-grammar-table.js +5 -22
- package/dist/lib/grammar/meta-grammar-table.js.map +1 -1
- package/dist/lib/grammar-entry.d.ts +42 -0
- package/dist/lib/grammar-entry.d.ts.map +1 -0
- package/dist/lib/grammar-entry.js +45 -0
- package/dist/lib/grammar-entry.js.map +1 -0
- package/dist/lib/index.d.ts +7 -5
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +0 -3
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/parse-context.d.ts +4 -15
- package/dist/lib/parse-context.d.ts.map +1 -1
- package/dist/lib/parse-context.js +4 -23
- package/dist/lib/parse-context.js.map +1 -1
- package/dist/lib/transform/grammar-fixture.js +3 -3
- package/dist/lib/transform/grammar-fixture.js.map +1 -1
- package/docs/parser-lr-browser-lib-split.md +174 -0
- package/package.json +26 -3
- package/dist/lib/grammar/grammar-json-path.d.ts +0 -2
- package/dist/lib/grammar/grammar-json-path.d.ts.map +0 -1
- package/dist/lib/grammar/grammar-json-path.esm.d.ts +0 -5
- package/dist/lib/grammar/grammar-json-path.esm.d.ts.map +0 -1
- package/dist/lib/grammar/grammar-json-path.esm.js +0 -9
- package/dist/lib/grammar/grammar-json-path.esm.js.map +0 -1
- package/dist/lib/grammar/grammar-json-path.js +0 -2
- package/dist/lib/grammar/grammar-json-path.js.map +0 -1
- package/dist/lib-cjs/ast/ast-node.js +0 -70
- package/dist/lib-cjs/ast/ast-node.js.map +0 -1
- package/dist/lib-cjs/errors/index.js +0 -9
- package/dist/lib-cjs/errors/index.js.map +0 -1
- package/dist/lib-cjs/errors/parser-lr-error.js +0 -52
- package/dist/lib-cjs/errors/parser-lr-error.js.map +0 -1
- package/dist/lib-cjs/grammar/ast-schema.js +0 -43
- package/dist/lib-cjs/grammar/ast-schema.js.map +0 -1
- package/dist/lib-cjs/grammar/ast-type.js +0 -3
- package/dist/lib-cjs/grammar/ast-type.js.map +0 -1
- package/dist/lib-cjs/grammar/expression.js +0 -3
- package/dist/lib-cjs/grammar/expression.js.map +0 -1
- package/dist/lib-cjs/grammar/grammar-from-cst.js +0 -641
- package/dist/lib-cjs/grammar/grammar-from-cst.js.map +0 -1
- package/dist/lib-cjs/grammar/grammar-json-path.js +0 -13
- package/dist/lib-cjs/grammar/grammar-json-path.js.map +0 -1
- package/dist/lib-cjs/grammar/grammar-literals.js +0 -71
- package/dist/lib-cjs/grammar/grammar-literals.js.map +0 -1
- package/dist/lib-cjs/grammar/grammar.js +0 -64
- package/dist/lib-cjs/grammar/grammar.js.map +0 -1
- package/dist/lib-cjs/grammar/grammar.json +0 -5760
- package/dist/lib-cjs/grammar/index.js +0 -21
- package/dist/lib-cjs/grammar/index.js.map +0 -1
- package/dist/lib-cjs/grammar/meta-grammar-table.js +0 -68
- package/dist/lib-cjs/grammar/meta-grammar-table.js.map +0 -1
- package/dist/lib-cjs/grammar/production.js +0 -3
- package/dist/lib-cjs/grammar/production.js.map +0 -1
- package/dist/lib-cjs/grammar/read-grammar-error.js +0 -22
- package/dist/lib-cjs/grammar/read-grammar-error.js.map +0 -1
- package/dist/lib-cjs/grammar/read-grammar.js +0 -24
- package/dist/lib-cjs/grammar/read-grammar.js.map +0 -1
- package/dist/lib-cjs/grammar/table-validator.js +0 -262
- package/dist/lib-cjs/grammar/table-validator.js.map +0 -1
- package/dist/lib-cjs/grammar/token-rule.js +0 -3
- package/dist/lib-cjs/grammar/token-rule.js.map +0 -1
- package/dist/lib-cjs/grammar/transform-expression.js +0 -3
- package/dist/lib-cjs/grammar/transform-expression.js.map +0 -1
- package/dist/lib-cjs/grammar/transform-rule.js +0 -3
- package/dist/lib-cjs/grammar/transform-rule.js.map +0 -1
- package/dist/lib-cjs/grammar/transform-schema.js +0 -43
- package/dist/lib-cjs/grammar/transform-schema.js.map +0 -1
- package/dist/lib-cjs/index.js +0 -66
- package/dist/lib-cjs/index.js.map +0 -1
- package/dist/lib-cjs/lexer/index.js +0 -32
- package/dist/lib-cjs/lexer/index.js.map +0 -1
- package/dist/lib-cjs/lexer/lexer-compile-error.js +0 -22
- package/dist/lib-cjs/lexer/lexer-compile-error.js.map +0 -1
- package/dist/lib-cjs/lexer/lexer-compile.js +0 -201
- package/dist/lib-cjs/lexer/lexer-compile.js.map +0 -1
- package/dist/lib-cjs/lexer/lexer-error.js +0 -22
- package/dist/lib-cjs/lexer/lexer-error.js.map +0 -1
- package/dist/lib-cjs/lexer/lexer-input-error.js +0 -17
- package/dist/lib-cjs/lexer/lexer-input-error.js.map +0 -1
- package/dist/lib-cjs/lexer/lexer-state-error.js +0 -19
- package/dist/lib-cjs/lexer/lexer-state-error.js.map +0 -1
- package/dist/lib-cjs/lexer/lexer.js +0 -278
- package/dist/lib-cjs/lexer/lexer.js.map +0 -1
- package/dist/lib-cjs/lexer/token.js +0 -44
- package/dist/lib-cjs/lexer/token.js.map +0 -1
- package/dist/lib-cjs/package.json +0 -3
- package/dist/lib-cjs/parse-context-error.js +0 -19
- package/dist/lib-cjs/parse-context-error.js.map +0 -1
- package/dist/lib-cjs/parse-context.js +0 -137
- package/dist/lib-cjs/parse-context.js.map +0 -1
- package/dist/lib-cjs/parse-output-error.js +0 -19
- package/dist/lib-cjs/parse-output-error.js.map +0 -1
- package/dist/lib-cjs/parse-output.js +0 -18
- package/dist/lib-cjs/parse-output.js.map +0 -1
- package/dist/lib-cjs/parse-table/analysis/first-follow.js +0 -294
- package/dist/lib-cjs/parse-table/analysis/first-follow.js.map +0 -1
- package/dist/lib-cjs/parse-table/analysis/index.js +0 -9
- package/dist/lib-cjs/parse-table/analysis/index.js.map +0 -1
- package/dist/lib-cjs/parse-table/bnf/bnf-grammar.js +0 -140
- package/dist/lib-cjs/parse-table/bnf/bnf-grammar.js.map +0 -1
- package/dist/lib-cjs/parse-table/bnf/bnf-production.js +0 -3
- package/dist/lib-cjs/parse-table/bnf/bnf-production.js.map +0 -1
- package/dist/lib-cjs/parse-table/bnf/bnf-symbol.js +0 -39
- package/dist/lib-cjs/parse-table/bnf/bnf-symbol.js.map +0 -1
- package/dist/lib-cjs/parse-table/bnf/desugar-ebnf.js +0 -224
- package/dist/lib-cjs/parse-table/bnf/desugar-ebnf.js.map +0 -1
- package/dist/lib-cjs/parse-table/bnf/index.js +0 -13
- package/dist/lib-cjs/parse-table/bnf/index.js.map +0 -1
- package/dist/lib-cjs/parse-table/build-lr-table.js +0 -171
- package/dist/lib-cjs/parse-table/build-lr-table.js.map +0 -1
- package/dist/lib-cjs/parse-table/index.js +0 -49
- package/dist/lib-cjs/parse-table/index.js.map +0 -1
- package/dist/lib-cjs/parse-table/lr-algorithm-error.js +0 -19
- package/dist/lib-cjs/parse-table/lr-algorithm-error.js.map +0 -1
- package/dist/lib-cjs/parse-table/lr-algorithm.js +0 -31
- package/dist/lib-cjs/parse-table/lr-algorithm.js.map +0 -1
- package/dist/lib-cjs/parse-table/lr0/index.js +0 -14
- package/dist/lib-cjs/parse-table/lr0/index.js.map +0 -1
- package/dist/lib-cjs/parse-table/lr0/lr0-item-set.js +0 -286
- package/dist/lib-cjs/parse-table/lr0/lr0-item-set.js.map +0 -1
- package/dist/lib-cjs/parse-table/lr1/index.js +0 -18
- package/dist/lib-cjs/parse-table/lr1/index.js.map +0 -1
- package/dist/lib-cjs/parse-table/lr1/lr1-item-set.js +0 -432
- package/dist/lib-cjs/parse-table/lr1/lr1-item-set.js.map +0 -1
- package/dist/lib-cjs/parse-table/parse-table-build-error.js +0 -24
- package/dist/lib-cjs/parse-table/parse-table-build-error.js.map +0 -1
- package/dist/lib-cjs/parse-table/parse-table-error.js +0 -19
- package/dist/lib-cjs/parse-table/parse-table-error.js.map +0 -1
- package/dist/lib-cjs/parse-table/parse-table-json.js +0 -12
- package/dist/lib-cjs/parse-table/parse-table-json.js.map +0 -1
- package/dist/lib-cjs/parse-table/parse-table.js +0 -345
- package/dist/lib-cjs/parse-table/parse-table.js.map +0 -1
- package/dist/lib-cjs/parse-table/slr/index.js +0 -13
- package/dist/lib-cjs/parse-table/slr/index.js.map +0 -1
- package/dist/lib-cjs/parse-table/slr/parse-action.js +0 -8
- package/dist/lib-cjs/parse-table/slr/parse-action.js.map +0 -1
- package/dist/lib-cjs/parse-table/slr/slr-table.js +0 -18
- package/dist/lib-cjs/parse-table/slr/slr-table.js.map +0 -1
- package/dist/lib-cjs/parse-table/table/index.js +0 -21
- package/dist/lib-cjs/parse-table/table/index.js.map +0 -1
- package/dist/lib-cjs/parse-table/table/lr-parse-table.js +0 -192
- package/dist/lib-cjs/parse-table/table/lr-parse-table.js.map +0 -1
- package/dist/lib-cjs/parse-table/table/parse-action.js +0 -54
- package/dist/lib-cjs/parse-table/table/parse-action.js.map +0 -1
- package/dist/lib-cjs/parse-table/table/table-builder-base.js +0 -153
- package/dist/lib-cjs/parse-table/table/table-builder-base.js.map +0 -1
- package/dist/lib-cjs/parse-table/token-inventory.js +0 -18
- package/dist/lib-cjs/parse-table/token-inventory.js.map +0 -1
- package/dist/lib-cjs/parser-lr.js +0 -143
- package/dist/lib-cjs/parser-lr.js.map +0 -1
- package/dist/lib-cjs/shift-reduce/index.js +0 -11
- package/dist/lib-cjs/shift-reduce/index.js.map +0 -1
- package/dist/lib-cjs/shift-reduce/shift-reduce-engine.js +0 -224
- package/dist/lib-cjs/shift-reduce/shift-reduce-engine.js.map +0 -1
- package/dist/lib-cjs/transform/binding-map.js +0 -82
- package/dist/lib-cjs/transform/binding-map.js.map +0 -1
- package/dist/lib-cjs/transform/cst-transformer.js +0 -480
- package/dist/lib-cjs/transform/cst-transformer.js.map +0 -1
- package/dist/lib-cjs/transform/grammar-fixture.js +0 -109
- package/dist/lib-cjs/transform/grammar-fixture.js.map +0 -1
- package/dist/lib-cjs/transform/index.js +0 -12
- package/dist/lib-cjs/transform/index.js.map +0 -1
- package/docs/parser-lr-enhancement-proposals.md +0 -337
- package/grammars/fixtures/table-only-import/table-only-smoke.cjs +0 -38
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.decodeStringLiteral = decodeStringLiteral;
|
|
4
|
-
exports.splitRegexLiteral = splitRegexLiteral;
|
|
5
|
-
const read_grammar_error_js_1 = require("./read-grammar-error.js");
|
|
6
|
-
/**
|
|
7
|
-
* Decodes a grammar-file string literal into its value.
|
|
8
|
-
*
|
|
9
|
-
* @param text - Quoted string literal text including surrounding quotes.
|
|
10
|
-
* @returns Decoded string contents.
|
|
11
|
-
*/
|
|
12
|
-
function decodeStringLiteral(text) {
|
|
13
|
-
let value = '';
|
|
14
|
-
let index = 1;
|
|
15
|
-
// Walk the literal body, expanding escape sequences.
|
|
16
|
-
while (index < text.length - 1) {
|
|
17
|
-
const char = text[index];
|
|
18
|
-
if (char === '\\') {
|
|
19
|
-
const next = text[index + 1];
|
|
20
|
-
switch (next) {
|
|
21
|
-
case '"':
|
|
22
|
-
case '\\':
|
|
23
|
-
value += next;
|
|
24
|
-
index += 2;
|
|
25
|
-
continue;
|
|
26
|
-
case 'n':
|
|
27
|
-
value += '\n';
|
|
28
|
-
index += 2;
|
|
29
|
-
continue;
|
|
30
|
-
case 'r':
|
|
31
|
-
value += '\r';
|
|
32
|
-
index += 2;
|
|
33
|
-
continue;
|
|
34
|
-
case 't':
|
|
35
|
-
value += '\t';
|
|
36
|
-
index += 2;
|
|
37
|
-
continue;
|
|
38
|
-
default:
|
|
39
|
-
throw new read_grammar_error_js_1.ReadGrammarError(`Unsupported escape sequence \\${next ?? ''}`, index);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
value += char;
|
|
43
|
-
index += 1;
|
|
44
|
-
}
|
|
45
|
-
return value;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Splits a regex literal token into pattern and flag components.
|
|
49
|
-
*
|
|
50
|
-
* @param text - Regex literal text including slashes and optional flags.
|
|
51
|
-
* @returns Pattern body and flag letters.
|
|
52
|
-
*/
|
|
53
|
-
function splitRegexLiteral(text) {
|
|
54
|
-
let index = 1;
|
|
55
|
-
// Find the closing slash, honoring escapes.
|
|
56
|
-
while (index < text.length) {
|
|
57
|
-
const char = text[index];
|
|
58
|
-
if (char === '\\') {
|
|
59
|
-
index += 2;
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
if (char === '/') {
|
|
63
|
-
break;
|
|
64
|
-
}
|
|
65
|
-
index += 1;
|
|
66
|
-
}
|
|
67
|
-
const pattern = text.slice(1, index);
|
|
68
|
-
const flags = text.slice(index + 1);
|
|
69
|
-
return { pattern, flags };
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=grammar-literals.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grammar-literals.js","sourceRoot":"","sources":["../../../src/lib/grammar/grammar-literals.ts"],"names":[],"mappings":";;AAQA,kDA8CC;AAQD,8CA2BC;AAzFD,mEAA2D;AAE3D;;;;;GAKG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAE5C,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,qDAAqD;IACrD,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAC9B,CAAC;QACG,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,IAAI,KAAK,IAAI,EACjB,CAAC;YACG,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAE7B,QAAQ,IAAI,EACZ,CAAC;gBACG,KAAK,GAAG,CAAC;gBACT,KAAK,IAAI;oBACL,KAAK,IAAI,IAAI,CAAC;oBACd,KAAK,IAAI,CAAC,CAAC;oBACX,SAAS;gBACb,KAAK,GAAG;oBACJ,KAAK,IAAI,IAAI,CAAC;oBACd,KAAK,IAAI,CAAC,CAAC;oBACX,SAAS;gBACb,KAAK,GAAG;oBACJ,KAAK,IAAI,IAAI,CAAC;oBACd,KAAK,IAAI,CAAC,CAAC;oBACX,SAAS;gBACb,KAAK,GAAG;oBACJ,KAAK,IAAI,IAAI,CAAC;oBACd,KAAK,IAAI,CAAC,CAAC;oBACX,SAAS;gBACb;oBACI,MAAM,IAAI,wCAAgB,CACtB,iCAAiC,IAAI,IAAI,EAAE,EAAE,EAC7C,KAAK,CACR,CAAC;YACV,CAAC;QACL,CAAC;QAED,KAAK,IAAI,IAAI,CAAC;QACd,KAAK,IAAI,CAAC,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,IAAY;IAE1C,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,4CAA4C;IAC5C,OAAO,KAAK,GAAG,IAAI,CAAC,MAAM,EAC1B,CAAC;QACG,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,IAAI,KAAK,IAAI,EACjB,CAAC;YACG,KAAK,IAAI,CAAC,CAAC;YACX,SAAS;QACb,CAAC;QAED,IAAI,IAAI,KAAK,GAAG,EAChB,CAAC;YACG,MAAM;QACV,CAAC;QAED,KAAK,IAAI,CAAC,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAEpC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC9B,CAAC"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Grammar = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Parsed `.grammar` file: lexer rules, skip rules, and parser productions.
|
|
6
|
-
*/
|
|
7
|
-
class Grammar {
|
|
8
|
-
name;
|
|
9
|
-
tokenRules;
|
|
10
|
-
skipRules;
|
|
11
|
-
states;
|
|
12
|
-
startSymbol;
|
|
13
|
-
productions;
|
|
14
|
-
astSchema;
|
|
15
|
-
transformSchema;
|
|
16
|
-
productionsByName;
|
|
17
|
-
/**
|
|
18
|
-
* Creates a grammar from its file-level sections.
|
|
19
|
-
*
|
|
20
|
-
* @param name - Grammar name from the `name` declaration.
|
|
21
|
-
* @param tokenRules - Token definitions from the `tokens` section.
|
|
22
|
-
* @param skipRules - Skip definitions from the `skip` section.
|
|
23
|
-
* @param states - State names from the `states` section.
|
|
24
|
-
* @param startSymbol - Entry production from the `start` declaration.
|
|
25
|
-
* @param productions - Productions from the `grammar` section.
|
|
26
|
-
* @param astSchema - AST types from the `ast` section, or null when omitted.
|
|
27
|
-
* @param transformSchema - CST-to-AST rules from the `transform` section, or null when omitted.
|
|
28
|
-
*/
|
|
29
|
-
constructor(name, tokenRules, skipRules, states, startSymbol, productions, astSchema = null, transformSchema = null) {
|
|
30
|
-
this.name = name;
|
|
31
|
-
this.tokenRules = tokenRules;
|
|
32
|
-
this.skipRules = skipRules;
|
|
33
|
-
this.states = states;
|
|
34
|
-
this.startSymbol = startSymbol;
|
|
35
|
-
this.productions = productions;
|
|
36
|
-
this.astSchema = astSchema;
|
|
37
|
-
this.transformSchema = transformSchema;
|
|
38
|
-
// Index productions by name for lookup.
|
|
39
|
-
const productionsByName = new Map();
|
|
40
|
-
for (const production of productions) {
|
|
41
|
-
productionsByName.set(production.name, production);
|
|
42
|
-
}
|
|
43
|
-
this.productionsByName = productionsByName;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Returns a production by non-terminal name.
|
|
47
|
-
*
|
|
48
|
-
* @param name - Production name to look up.
|
|
49
|
-
* @returns The matching production, or null when the name is undefined.
|
|
50
|
-
*/
|
|
51
|
-
production(name) {
|
|
52
|
-
return this.productionsByName.get(name) ?? null;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Whether a named non-terminal is defined in this grammar.
|
|
56
|
-
*
|
|
57
|
-
* @param name - Production name to test.
|
|
58
|
-
*/
|
|
59
|
-
hasProduction(name) {
|
|
60
|
-
return this.productionsByName.has(name);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
exports.Grammar = Grammar;
|
|
64
|
-
//# sourceMappingURL=grammar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"grammar.js","sourceRoot":"","sources":["../../../src/lib/grammar/grammar.ts"],"names":[],"mappings":";;;AAKA;;GAEG;AACH,MAAa,OAAO;IAiBI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAtBH,iBAAiB,CAAkC;IAEpE;;;;;;;;;;;OAWG;IACH,YACoB,IAAY,EACZ,UAAgC,EAChC,SAA+B,EAC/B,MAAyB,EACzB,WAAmB,EACnB,WAAkC,EAClC,YAA8B,IAAI,EAClC,kBAA0C,IAAI;QAP9C,SAAI,GAAJ,IAAI,CAAQ;QACZ,eAAU,GAAV,UAAU,CAAsB;QAChC,cAAS,GAAT,SAAS,CAAsB;QAC/B,WAAM,GAAN,MAAM,CAAmB;QACzB,gBAAW,GAAX,WAAW,CAAQ;QACnB,gBAAW,GAAX,WAAW,CAAuB;QAClC,cAAS,GAAT,SAAS,CAAyB;QAClC,oBAAe,GAAf,eAAe,CAA+B;QAG9D,wCAAwC;QACxC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAsB,CAAC;QAExD,KAAK,MAAM,UAAU,IAAI,WAAW,EACpC,CAAC;YACG,iBAAiB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACI,UAAU,CAAC,IAAY;QAE1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,IAAY;QAE7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;CACJ;AA1DD,0BA0DC"}
|