@lcap/nasl-language-server-core 4.5.0-beta.2 → 4.5.0-beta.4
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/out/checker.d.ts.map +1 -1
- package/out/checker.js +22 -5
- package/out/checker.js.map +1 -1
- package/out/reference-manager/def-key-helpers.d.ts.map +1 -1
- package/out/reference-manager/def-key-helpers.js +8 -0
- package/out/reference-manager/def-key-helpers.js.map +1 -1
- package/out/reference-manager/helper.d.ts.map +1 -1
- package/out/reference-manager/helper.js +2 -0
- package/out/reference-manager/helper.js.map +1 -1
- package/out/reference-manager/reference-manager.d.ts.map +1 -1
- package/out/reference-manager/reference-manager.js +27 -10
- package/out/reference-manager/reference-manager.js.map +1 -1
- package/out/typer/collectGlobalDefs.d.ts.map +1 -1
- package/out/typer/collectGlobalDefs.js +18 -0
- package/out/typer/collectGlobalDefs.js.map +1 -1
- package/out/typer/dispatch-call.d.ts.map +1 -1
- package/out/typer/dispatch-call.js +7 -1
- package/out/typer/dispatch-call.js.map +1 -1
- package/out/typer/dispatch-expr.d.ts.map +1 -1
- package/out/typer/dispatch-expr.js +10 -0
- package/out/typer/dispatch-expr.js.map +1 -1
- package/out/typer/dispatch-stmt.d.ts.map +1 -1
- package/out/typer/dispatch-stmt.js +4 -1
- package/out/typer/dispatch-stmt.js.map +1 -1
- package/out/typer/dispatch-view.d.ts.map +1 -1
- package/out/typer/dispatch-view.js +9 -2
- package/out/typer/dispatch-view.js.map +1 -1
- package/out/typer/incremental-update.d.ts.map +1 -1
- package/out/typer/incremental-update.js +14 -1
- package/out/typer/incremental-update.js.map +1 -1
- package/out/typer/sem-diag.js +1 -1
- package/out/typer/sem-diag.js.map +1 -1
- package/out/typer/solver.d.ts.map +1 -1
- package/out/typer/solver.js +19 -29
- package/out/typer/solver.js.map +1 -1
- package/out/typer/type-manager.d.ts.map +1 -1
- package/out/typer/type-manager.js +5 -1
- package/out/typer/type-manager.js.map +1 -1
- package/out/typer/type-predicate.d.ts +5 -0
- package/out/typer/type-predicate.d.ts.map +1 -1
- package/out/typer/type-predicate.js +25 -18
- package/out/typer/type-predicate.js.map +1 -1
- package/out/typer/typer.d.ts +12 -2
- package/out/typer/typer.d.ts.map +1 -1
- package/out/typer/typer.js +81 -5
- package/out/typer/typer.js.map +1 -1
- package/out/typer/unifier.d.ts +35 -0
- package/out/typer/unifier.d.ts.map +1 -1
- package/out/typer/unifier.js +117 -21
- package/out/typer/unifier.js.map +1 -1
- package/out/utils/bind-expression-hack.d.ts +15 -1
- package/out/utils/bind-expression-hack.d.ts.map +1 -1
- package/out/utils/bind-expression-hack.js +125 -3
- package/out/utils/bind-expression-hack.js.map +1 -1
- package/out/utils/parseTsClassType.d.ts.map +1 -1
- package/out/utils/parseTsClassType.js +6 -0
- package/out/utils/parseTsClassType.js.map +1 -1
- package/package.json +6 -6
package/out/typer/unifier.js
CHANGED
|
@@ -20,6 +20,12 @@ class Unifier {
|
|
|
20
20
|
this.curVarCounter = 0; // current, current1, ...
|
|
21
21
|
this.cs = new Map();
|
|
22
22
|
this.isUnifyContravariant = false;
|
|
23
|
+
/**
|
|
24
|
+
* 当前是否处于泛型内层参数的 unify 过程中。
|
|
25
|
+
* 若非 null,`mkUnificationPostErr` 注册 post-check 时会把该值作为 parentGuardKey,
|
|
26
|
+
* 使得当外层卫兵已报错时内层报错被跳过。
|
|
27
|
+
*/
|
|
28
|
+
this.currentParentGuardKey = null;
|
|
23
29
|
/** 主线约束写入 cs;草稿区约束写入 playgroundCs。playgroundCs 在主线阶段通过镜像保持与 cs 同步。 */
|
|
24
30
|
this.getCurrentCs = () => this.env.isPlayground ? this.env.playgroundCs : this.cs;
|
|
25
31
|
// 'bound': type variables introduced by the signature of a function
|
|
@@ -59,6 +65,19 @@ class Unifier {
|
|
|
59
65
|
this.unify(ty2, ty1);
|
|
60
66
|
this.env.enableErrorReporting();
|
|
61
67
|
};
|
|
68
|
+
/**
|
|
69
|
+
* 与 unifyEq 相同,但内层所有 post-check 任务都携带 parentGuardKey。
|
|
70
|
+
* 用于 uGeneric 中,当外层卫兵已报错时,内层类型参数的报错会被跳过。
|
|
71
|
+
*/
|
|
72
|
+
this.unifyEqWithGuard = (ty1, ty2, guardBoundary) => {
|
|
73
|
+
const prevGuard = this.currentParentGuardKey;
|
|
74
|
+
this.currentParentGuardKey = guardBoundary;
|
|
75
|
+
this.unify(ty1, ty2);
|
|
76
|
+
this.env.suppressErrorReporting();
|
|
77
|
+
this.unify(ty2, ty1);
|
|
78
|
+
this.env.enableErrorReporting();
|
|
79
|
+
this.currentParentGuardKey = prevGuard;
|
|
80
|
+
};
|
|
62
81
|
this.uAnonymous = (ty1, ty2) => {
|
|
63
82
|
// Create sorted copies instead of mutating the original arrays
|
|
64
83
|
const sortedProps1 = ty1.properties ? [...ty1.properties].sort((a, b) => a.name.localeCompare(b.name)) : [];
|
|
@@ -85,7 +104,7 @@ class Unifier {
|
|
|
85
104
|
extraProps.push(subProp.name);
|
|
86
105
|
}
|
|
87
106
|
}
|
|
88
|
-
if (missingProps.length > 0 || extraProps.length > 0) {
|
|
107
|
+
if ((missingProps.length > 0 && !this.env.looseTypeCheck) || extraProps.length > 0) {
|
|
89
108
|
this.env.addError((0, sem_diag_1.mkIncompatibleAnonymousStructureTyErr)(this.env, ty1, ty2, missingProps, extraProps));
|
|
90
109
|
}
|
|
91
110
|
// FIXME wudengke 考虑这里是否需要保留Invariant
|
|
@@ -188,6 +207,12 @@ class Unifier {
|
|
|
188
207
|
else if ((0, type_predicate_1.isIndexedType)(sup)) {
|
|
189
208
|
return this.unifyRIndexedType(sub, sup);
|
|
190
209
|
}
|
|
210
|
+
else if ((0, type_predicate_1.isConditionalTy)(sub)) {
|
|
211
|
+
return this.unifyLConditionalType(sub, sup);
|
|
212
|
+
}
|
|
213
|
+
else if ((0, type_predicate_1.isConditionalTy)(sup)) {
|
|
214
|
+
return this.unifyRConditionalType(sub, sup);
|
|
215
|
+
}
|
|
191
216
|
else if ((0, index_1.isSubTy)(this.env, sub, sup)) {
|
|
192
217
|
return; // 还是先判断下 isSubTy 吧,不然无脑塞的话后置报错 postChks 太大了,比如 unify(String, String) 也进去了…… 这样能少不少
|
|
193
218
|
}
|
|
@@ -275,6 +300,52 @@ class Unifier {
|
|
|
275
300
|
// 就算是 literal type,if 的分支里也可能报错
|
|
276
301
|
mkUnificationPostErr(this.env, sub, sup, this.isUnifyContravariant);
|
|
277
302
|
};
|
|
303
|
+
/**
|
|
304
|
+
* sub 为 conditional type:(T extends U ? A : B) <: sup
|
|
305
|
+
*
|
|
306
|
+
* 策略:
|
|
307
|
+
* 1. 先尝试静态化简(checkType 已确定时递归走 trueType 或 falseType,
|
|
308
|
+
* 支持嵌套 conditional,由 tryReduceConditionalType 递归处理)。
|
|
309
|
+
* 2. 化简失败(checkType 含类型变元,条件暂不可判定)时:
|
|
310
|
+
* - sup 为 List/Map 泛型:走 uRGeneric 拆解泛型参数约束(延迟求解);
|
|
311
|
+
* - 其他情况:暂不处理。
|
|
312
|
+
* 两种情况最终均追加 post-check,待类型变元解出后统一验证兼容性。
|
|
313
|
+
*/
|
|
314
|
+
this.unifyLConditionalType = (sub, sup) => {
|
|
315
|
+
(0, assertion_1.assertTrusy)((0, type_predicate_1.isConditionalTy)(sub));
|
|
316
|
+
const reduced = (0, type_predicate_1.tryReduceConditionalType)(this.env, sub);
|
|
317
|
+
if (reduced !== undefined) {
|
|
318
|
+
this.unify(reduced, sup);
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
if ((0, type_predicate_1.isListTy)(sup) || (0, type_predicate_1.isMapTy)(sup)) {
|
|
322
|
+
this.uRGeneric(sub, sup);
|
|
323
|
+
}
|
|
324
|
+
mkUnificationPostErr(this.env, sub, sup, this.isUnifyContravariant);
|
|
325
|
+
};
|
|
326
|
+
/**
|
|
327
|
+
* sup 为 conditional type:sub <: (T extends U ? A : B)
|
|
328
|
+
*
|
|
329
|
+
* 策略:
|
|
330
|
+
* 1. 先尝试静态化简(checkType 已确定时递归走 trueType 或 falseType,
|
|
331
|
+
* 支持嵌套 conditional,由 tryReduceConditionalType 递归处理)。
|
|
332
|
+
* 2. 化简失败(checkType 含类型变元,条件暂不可判定)时:
|
|
333
|
+
* - sub 为 List/Map 泛型:走 uLGeneric 拆解泛型参数约束(延迟求解);
|
|
334
|
+
* - 其他情况:暂不处理。
|
|
335
|
+
* 两种情况最终均追加 post-check,待类型变元解出后统一验证兼容性。
|
|
336
|
+
*/
|
|
337
|
+
this.unifyRConditionalType = (sub, sup) => {
|
|
338
|
+
(0, assertion_1.assertTrusy)((0, type_predicate_1.isConditionalTy)(sup));
|
|
339
|
+
const reduced = (0, type_predicate_1.tryReduceConditionalType)(this.env, sup);
|
|
340
|
+
if (reduced !== undefined) {
|
|
341
|
+
this.unify(sub, reduced);
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
if ((0, type_predicate_1.isListTy)(sub) || (0, type_predicate_1.isMapTy)(sub)) {
|
|
345
|
+
this.uLGeneric(sub, sup);
|
|
346
|
+
}
|
|
347
|
+
mkUnificationPostErr(this.env, sub, sup, this.isUnifyContravariant);
|
|
348
|
+
};
|
|
278
349
|
// X <: Long
|
|
279
350
|
this.uLTypeParam = (ty1, ty2) => {
|
|
280
351
|
(0, assertion_1.assertTrusy)(ty1.typeName);
|
|
@@ -461,8 +532,12 @@ class Unifier {
|
|
|
461
532
|
mkUnificationPostErr(this.env, ty1, ty2, this.isUnifyContravariant);
|
|
462
533
|
return;
|
|
463
534
|
}
|
|
535
|
+
// 注册外层卫兵 post-check(如 List<Integer> <: List<Decimal>)
|
|
536
|
+
// 若外层整体不兼容,内层类型参数的报错会被屏蔽,避免产生抽象的内层报错
|
|
537
|
+
const guardBoundary = this.env.errBoundary;
|
|
538
|
+
mkUnificationPostErr(this.env, ty1, ty2, this.isUnifyContravariant, undefined, true /* isGuard */);
|
|
464
539
|
for (let i = 0; i < Math.min(ty1.typeArguments.length, ty2.typeArguments.length); i++) {
|
|
465
|
-
this.
|
|
540
|
+
this.unifyEqWithGuard(ty1.typeArguments[i], ty2.typeArguments[i], guardBoundary);
|
|
466
541
|
}
|
|
467
542
|
};
|
|
468
543
|
// 含 primitive
|
|
@@ -671,44 +746,65 @@ const isIgnored = (sub, sup) => {
|
|
|
671
746
|
(sub.typeKind === 'reference' && sub.typeName === 'Object') ||
|
|
672
747
|
(sup.typeKind === 'reference' && sup.typeName === 'Object'));
|
|
673
748
|
};
|
|
749
|
+
/**
|
|
750
|
+
* 递归检查类型(含泛型参数)是否包含 any。
|
|
751
|
+
* List<any>、Map<String, any> 等都应视为兼容任意对应结构,跳过类型不匹配报错。
|
|
752
|
+
*/
|
|
753
|
+
const containsAnyTy = (ty) => {
|
|
754
|
+
if (!ty)
|
|
755
|
+
return false;
|
|
756
|
+
if ((0, type_predicate_1.isAnyTy)(ty))
|
|
757
|
+
return true;
|
|
758
|
+
if (ty.typeArguments) {
|
|
759
|
+
return ty.typeArguments.some(containsAnyTy);
|
|
760
|
+
}
|
|
761
|
+
return false;
|
|
762
|
+
};
|
|
674
763
|
// 需要检查子类型关系,但是当下无法检查,需要等到求解后的后置校验
|
|
675
|
-
const mkUnificationPostErr = (env, sub, sup, isContravariant = false
|
|
764
|
+
const mkUnificationPostErr = (env, sub, sup, isContravariant = false,
|
|
765
|
+
/** 若该 post-check 是泛型内层参数任务,传入外层卫兵 boundary,执行时若外层已报错则跳过 */
|
|
766
|
+
parentGuardKey,
|
|
767
|
+
/** 若为 true,该 post-check 本身是外层卫兵(报错时会标记 errBoundary 到 failedGuardKeys) */
|
|
768
|
+
isGuard = false) => {
|
|
676
769
|
if (!env.errBoundary || env.errBoundary?.concept === 'View') {
|
|
677
770
|
return;
|
|
678
771
|
}
|
|
679
772
|
const capturedContext = env.errBoundaryContext ? { ...env.errBoundaryContext } : undefined;
|
|
680
|
-
// debug 模式下保存错误堆栈,用于调试
|
|
681
|
-
let errorStack = null;
|
|
682
|
-
if (env.isDebugMode) {
|
|
683
|
-
errorStack = new Error();
|
|
684
|
-
}
|
|
685
773
|
const postChk = (fileNode, errBoundary, severity, sub, sup) => (env, pSubst) => {
|
|
686
774
|
if (isIgnored(sub, sup) || env.hasErrorDelegatee) {
|
|
687
775
|
return;
|
|
688
776
|
}
|
|
689
777
|
const resolvedSubTy = (0, subster_1.normalizeWithSubst)(env, pSubst, sub);
|
|
690
778
|
const resolvedSupTy = (0, subster_1.normalizeWithSubst)(env, pSubst, sup);
|
|
691
|
-
|
|
779
|
+
// 若解析后任意一方含有 any 类型(包括泛型参数中含 any),则跳过报错
|
|
780
|
+
// 例如 List<AnonymousStruct> 赋值给 List<any>,语义上应合法
|
|
781
|
+
if (isIgnored(resolvedSubTy, resolvedSupTy) || containsAnyTy(resolvedSubTy) || containsAnyTy(resolvedSupTy)) {
|
|
782
|
+
return;
|
|
783
|
+
}
|
|
784
|
+
// 外层卫兵(isGuard=true)的职责是捕获「两边均已解析但不兼容」的情况(如 List<Integer> vs List<Decimal>)。
|
|
785
|
+
// 若任意一侧含未解析类型变量(如 List<T_0>),说明类型推断尚未完成,
|
|
786
|
+
// 此时跳过报错,未解析情形由 solver.postCheckSolution 负责处理。
|
|
787
|
+
// 与 solver.postCheckSolution 的 isResolvedTy 保护对齐,避免误报。
|
|
788
|
+
if (isGuard && (!(0, type_predicate_1.isResolvedTy)(resolvedSubTy) || !(0, type_predicate_1.isResolvedTy)(resolvedSupTy))) {
|
|
789
|
+
return;
|
|
790
|
+
}
|
|
791
|
+
if (!(0, type_predicate_1.isResolvedTy)(resolvedSubTy) || !(0, type_predicate_1.isResolvedTy)(resolvedSupTy) || !(0, index_1.isSubTy)(env, resolvedSubTy, resolvedSupTy, env.looseTypeCheck)) {
|
|
692
792
|
const errorMessage = (0, sem_diag_1.mkIncompatibleTyErr)(env, resolvedSubTy, resolvedSupTy);
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
}
|
|
697
|
-
if (env.isDebugMode) {
|
|
698
|
-
// logTypeUnificationDebugInfo(sub, sup, resolvedSubTy, resolvedSupTy, errorMessage, errBoundary, fileNode);
|
|
699
|
-
env.addError(errorMessage, fileNode, errBoundary, severity, capturedContext);
|
|
700
|
-
}
|
|
701
|
-
else {
|
|
702
|
-
env.addError(errorMessage, fileNode, errBoundary, severity, capturedContext);
|
|
793
|
+
if (isGuard) {
|
|
794
|
+
// 外层卫兵报错时,标记自身 boundary,供内层子任务检查
|
|
795
|
+
env.failedGuardKeys.add(errBoundary);
|
|
703
796
|
}
|
|
797
|
+
env.addError(errorMessage, fileNode, errBoundary, severity, capturedContext);
|
|
704
798
|
}
|
|
705
799
|
};
|
|
800
|
+
// 若调用方未显式传入 parentGuardKey,则从 unifier 的当前上下文中读取
|
|
801
|
+
const resolvedParentGuardKey = parentGuardKey ?? (env.unifier.currentParentGuardKey ?? undefined);
|
|
706
802
|
// TODO wudengke 考虑 移除 contravariant 标记
|
|
707
803
|
if (isContravariant) {
|
|
708
|
-
env.addPostCheckTask(env.errBoundary, postChk(env.getCurFileNode(), env.errBoundary, env.errSeverity, sup, sub));
|
|
804
|
+
env.addPostCheckTask(env.errBoundary, postChk(env.getCurFileNode(), env.errBoundary, env.errSeverity, sup, sub), resolvedParentGuardKey);
|
|
709
805
|
}
|
|
710
806
|
else {
|
|
711
|
-
env.addPostCheckTask(env.errBoundary, postChk(env.getCurFileNode(), env.errBoundary, env.errSeverity, sub, sup));
|
|
807
|
+
env.addPostCheckTask(env.errBoundary, postChk(env.getCurFileNode(), env.errBoundary, env.errSeverity, sub, sup), resolvedParentGuardKey);
|
|
712
808
|
}
|
|
713
809
|
};
|
|
714
810
|
/*
|
package/out/typer/unifier.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unifier.js","sourceRoot":"","sources":["../../src/typer/unifier.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"unifier.js","sourceRoot":"","sources":["../../src/typer/unifier.ts"],"names":[],"mappings":";;;AAAA,uDAG6B;AAE7B,mCAmBiB;AAEjB,yCAAwF;AACxF,kDAAiD;AACjD,0CAA0C;AAC1C,iDAA8E;AAC9E,qDAAkN;AAClN,uCAAkE;AAClE,6EAAqE;AAErE,uDAA4D;AAE5D,MAAa,OAAO;IAoBhB,IAAI,YAAY;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IAED,YAAY,GAAW;QAvBvB,eAAU,GAAW,CAAC,CAAC;QAEvB,kBAAa,GAAW,CAAC,CAAC,CAAC,yBAAyB;QAEpD,OAAE,GAAgB,IAAI,GAAG,EAAE,CAAC;QAM5B,yBAAoB,GAAY,KAAK,CAAC;QAEtC;;;;WAIG;QACH,0BAAqB,GAAsB,IAAI,CAAC;QAUhD,sEAAsE;QACtE,iBAAY,GAAG,GAAgB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAE1F,oEAAoE;QACpE,+EAA+E;QAC/E,kBAAa,GAAG,CAAC,IAAsB,EAAE,MAAc,CAAC,EAAiB,EAAE;YACvE,MAAM,GAAG,GAAG,EAAE,CAAC;YACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;gBAChC,MAAM,MAAM,GAAI,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBAC5D,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACjB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,MAAM,EAAE,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,CAAC,UAAU,IAAI,GAAG,CAAC;YACvB,OAAO,GAAG,CAAC;QACf,CAAC,CAAA;QAED,qBAAgB,GAAG,GAAG,EAAE;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YACjC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,OAAO,GAAG,CAAC;QACb,CAAC,CAAA;QAsBD,oBAAe,GAAG,CAAC,IAAsB,EAAE,MAAc,CAAC,EAAE,EAAE;YAC1D,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,wBAAgB,CAAC,CAAC;QAC/D,CAAC,CAAA;QAED,mBAAc,GAAG,CAAC,IAAsB,EAAE,EAAE;YACxC,OAAO,IAAA,wBAAgB,EAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC,CAAA;QAED,kCAAkC;QAClC,sBAAiB,GAAG,CAAC,IAAsB,EAAE,MAAc,CAAC,EAAE,EAAE;YAC5D,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,wBAAgB,CAAC,CAAC;QAC/D,CAAC,CAAA;QAED,qBAAgB,GAAG,CAAC,IAAsB,EAAE,EAAE;YAC1C,OAAO,IAAA,qBAAa,EAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC,CAAA;QAED,YAAO,GAAG,CAAC,GAA+B,EAAE,GAA+B,EAAE,EAAE;YAC3E,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACpC,CAAC,CAAA;QAED;;;WAGG;QACH,qBAAgB,GAAG,CAAC,GAA+B,EAAE,GAA+B,EAAE,aAAyB,EAAE,EAAE;YAC/G,MAAM,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC;YAC7C,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC;YAC3C,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,sBAAsB,EAAE,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;YAChC,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC;QAC3C,CAAC,CAAA;QAED,eAAU,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAE,EAAE;YACtD,+DAA+D;YAC/D,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5G,MAAM,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5G,gDAAgD;YAEhD,MAAM,YAAY,GAAG,IAAI,KAAK,EAAU,CAAC;YACzC,MAAM,UAAU,GAAG,IAAI,KAAK,EAAU,CAAC;YAEvC,iDAAiD;YACjD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACnC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;gBAClF,IAAG,SAAS,EAAE,CAAC;oBACb,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,4DAA4D;oBAC5D,MAAM,UAAU,GAAG,IAAA,4CAA2B,EAAC,OAAO,CAAC,CAAC;oBACxD,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;YAED,gFAAgF;YAChF,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;gBACnC,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtE,IAAI,CAAC,aAAa,EAAE,CAAC;oBACnB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChC,CAAC;YACH,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnF,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAA,gDAAqC,EAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;YACzG,CAAC;YACD,qCAAqC;YACrC,uBAAuB;YACvB,6EAA6E;YAC7E,8EAA8E;QAClF,CAAC,CAAA;QAED,eAAe;QACf,sBAAiB,GAAG,CAAC,GAAsC,EAAE,GAAsC,EAAE,WAAuB,EAAE,OAA6B,EAAE,EAAE;YAC7J,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC;YAC/C,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;YACnC,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,OAAO,IAAI,IAAI,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,cAAc,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,UAAU,CAAC;QAC3C,CAAC,CAAA;QAED;;;;;;;WAOG;QACK,mCAA8B,GAAG,CACrC,sBAAoD,EACpD,eAAuB,EACvB,eAA6C,EAC7C,eAAwB,KAAK,EAC/B,EAAE;YACA,IAAI,CAAC,eAAe,EAAE,CAAC;gBACnB,OAAO;YACX,CAAC;YACD,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE;gBAClC,MAAM,WAAW,GAAG,8BAAc,CAAC,mBAAmB,CAAC;oBACnD,QAAQ,EAAE,SAAS;oBACnB,aAAa,EAAE,WAAW;oBAC1B,QAAQ,EAAE,2BAA2B;oBACrC,aAAa,EAAE,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,EAAE,IAAA,yCAAuB,EAAC,eAAe,CAAC,EAAE,IAAA,yCAAuB,EAAC,GAAG,KAAK,EAAE,CAAC,CAAC;iBACpI,CAAC,CAAC;gBACH,IAAI,YAAY,EAAE,CAAC;oBACf,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACJ,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAChC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QAEF,qBAAqB;QACrB,UAAK,GAAG,CAAC,GAAsC,EAAE,GAAsC,EAAE,EAAE;YACvF,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACf,OAAO;YACX,CAAC;YACD,IAAI,IAAA,sBAAc,EAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,IAAA,sBAAc,EAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,IAAA,eAAO,EAAC,GAAG,CAAC,IAAI,IAAA,eAAO,EAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC9B,CAAC;iBAAM,IAAI,IAAA,uBAAe,EAAC,GAAG,CAAC,IAAI,IAAA,uBAAe,EAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,IAAI,IAAA,iCAAgB,EAAC,GAAG,CAAC,IAAI,CAAC,IAAA,iCAAgB,EAAC,GAAG,CAAC,EAAE,CAAC;oBACpD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;oBAC9B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,aAAa,EAAE,CAAC;wBAC1D,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;oBAC7F,CAAC;gBACH,CAAC;qBAAM,IAAI,CAAC,IAAA,iCAAgB,EAAC,GAAG,CAAC,IAAI,IAAA,iCAAgB,EAAC,GAAG,CAAC,EAAE,CAAC;oBAC3D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;oBAC9B,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,aAAa,EAAE,CAAC;wBAC1D,IAAI,CAAC,8BAA8B,CAAC,GAAG,CAAC,aAAa,EAAE,QAAQ,EAAE,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;oBAC5F,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC1B,CAAC;YACL,CAAC;iBAAM,IAAI,IAAA,gBAAQ,EAAC,GAAG,CAAC,IAAI,IAAA,gBAAQ,EAAC,GAAG,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YACnC,CAAC;iBAAM,IAAI,IAAA,iBAAS,EAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC9B,CAAC;iBAAM,IAAI,CAAC,IAAA,iBAAS,EAAC,GAAG,CAAC,IAAI,IAAA,iBAAS,EAAC,GAAG,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/E,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,IAAA,qBAAa,EAAC,GAAG,CAAC,IAAI,IAAA,qBAAa,EAAC,GAAG,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;YAC7B,CAAC;iBAAM,IAAI,IAAA,+BAAc,EAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,aAAc,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,IAAA,+BAAc,EAAC,GAAG,CAAC,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,aAAc,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,IAAA,8BAAa,EAAC,GAAG,CAAC,EAAC,CAAC;gBAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC5C,CAAC;iBAAM,IAAI,IAAA,8BAAa,EAAC,GAAG,CAAC,EAAC,CAAC;gBAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC5C,CAAC;iBAAM,IAAI,IAAA,gCAAe,EAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,IAAA,gCAAe,EAAC,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,IAAA,eAAO,EAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,mFAAmF;YAC/F,CAAC;iBAAM,CAAC;gBACJ,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACpE,OAAO;YACX,CAAC;QACL,CAAC,CAAA;QAED,uBAAkB,GAAG,CAAC,GAA+B,EAAE,GAA+B,EAAE,WAAwB,EAAE,EAAE;YAChH,IAAI,cAAc,GAAsB,IAAI,CAAC;YAC7C,IAAI,WAAW,EAAE,CAAC;gBACd,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;gBACtC,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;YACvC,CAAC;YACD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;YAElC,IAAI,cAAc,EAAE,CAAC;gBACjB,IAAI,CAAC,GAAG,CAAC,WAAW,GAAG,cAAc,CAAC;YAC1C,CAAC;QACL,CAAC,CAAA;QAED,cAAS,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAE,EAAE;YACvD,IAAG,IAAA,yBAAQ,EAAC,GAAG,CAAC,EAAC,CAAC;gBAChB,MAAM,MAAM,GAAG,8BAAc,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;gBAC9E,MAAM,MAAM,GAAG,GAAG,CAAC,aAAc,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;iBAAK,IAAG,IAAA,wBAAO,EAAC,GAAG,CAAC,EAAC,CAAC;gBACrB,MAAM,QAAQ,GAAG,8BAAc,CAAC,aAAa,CAAC,YAAY,EAAE,EAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;gBACpF,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAE/B,MAAM,MAAM,GAAG,8BAAc,CAAC,aAAa,CAAC,UAAU,EAAE,EAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;gBAChF,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtE,CAAC,CAAA;QAED,cAAS,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAE,EAAE;YACvD,IAAG,IAAA,yBAAQ,EAAC,GAAG,CAAC,EAAC,CAAC;gBAChB,MAAM,MAAM,GAAG,8BAAc,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;gBAC9E,MAAM,MAAM,GAAG,GAAG,CAAC,aAAc,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;iBAAK,IAAG,IAAA,wBAAO,EAAC,GAAG,CAAC,EAAC,CAAC;gBACrB,MAAM,QAAQ,GAAG,8BAAc,CAAC,aAAa,CAAC,YAAY,EAAE,EAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;gBACpF,MAAM,QAAQ,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAE/B,MAAM,MAAM,GAAG,8BAAc,CAAC,aAAa,CAAC,UAAU,EAAE,EAAC,aAAa,EAAE,CAAC,GAAG,CAAC,EAAC,CAAC,CAAC;gBAChF,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtC,gDAAgD;gBAChD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAC3B,OAAO;YACT,CAAC;YACD,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtE,CAAC,CAAA;QAED,sBAAiB,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAE,EAAE;YAC/D,IAAA,uBAAW,EAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5B,IAAA,uBAAW,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3B,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzC,IAAG,IAAA,yBAAQ,EAAC,GAAG,CAAC,EAAC,CAAC;oBAChB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3B,CAAC;qBAAM,IAAG,IAAA,wBAAO,EAAC,GAAG,CAAC,EAAC,CAAC;oBACtB,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,qBAAqB;YACvB,CAAC;YACD,gCAAgC;YAChC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtE,CAAC,CAAA;QAED,sBAAiB,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAE,EAAE;YAC/D,IAAA,uBAAW,EAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5B,IAAA,uBAAW,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3B,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACtE,CAAC;iBAAM,CAAC;gBACN,qBAAqB;YACvB,CAAC;YACD,gCAAgC;YAChC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtE,CAAC,CAAA;QAED;;;;;;;;;;WAUG;QACH,0BAAqB,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAE,EAAE;YACnE,IAAA,uBAAW,EAAC,IAAA,gCAAe,EAAC,GAAG,CAAC,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,IAAA,yCAAwB,EAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,IAAI,IAAA,yBAAQ,EAAC,GAAG,CAAC,IAAI,IAAA,wBAAO,EAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;YAED,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtE,CAAC,CAAA;QAED;;;;;;;;;;WAUG;QACH,0BAAqB,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAE,EAAE;YACnE,IAAA,uBAAW,EAAC,IAAA,gCAAe,EAAC,GAAG,CAAC,CAAC,CAAC;YAElC,MAAM,OAAO,GAAG,IAAA,yCAAwB,EAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,IAAI,IAAA,yBAAQ,EAAC,GAAG,CAAC,IAAI,IAAA,wBAAO,EAAC,GAAG,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;YAED,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACtE,CAAC,CAAA;QAED,YAAY;QACZ,gBAAW,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAE,EAAE;YACvD,IAAA,uBAAW,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1B,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,IAAI,IAAA,wBAAO,EAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,mBAAmB;gBACnB,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC;oBAClC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,cAAM,EAAE,CAAC,CAAC;gBACrC,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACrC,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;gBAClB,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC;gBAC5B,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC,SAAS;gBACtC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,gBAAgB;YACxC,CAAC;YAEH,qFAAqF;YACrF,IAAI,IAAA,sBAAc,EAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAA,uBAAW,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACzC,CAAC;iBAAM,IAAG,IAAA,yBAAQ,EAAC,GAAG,CAAC,IAAI,IAAA,wBAAO,EAAC,GAAG,CAAC,EAAC,CAAC;gBACrC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7B,CAAC;iBAAM,IAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,cAAc,CAAC,GAAG,CAAC,EAAC,CAAC;gBACpD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC;YACD,OAAO;QACX,CAAC,CAAA;QAED,YAAY;QACZ,gBAAW,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAE,EAAE;YACvD,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/B,IAAI,IAAA,wBAAO,EAAC,GAAG,CAAC,EAAE,CAAC;gBACjB,mBAAmB;gBACnB,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;oBAClD,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,cAAM,EAAE,CAAC,CAAC;gBACrC,CAAC;gBACD,OAAO;YACT,CAAC;YACD,IAAA,uBAAW,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACrC,IAAI,GAAG,CAAC,WAAW,EAAC,CAAC;gBACjB,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC;gBAC5B,GAAG,CAAC,WAAW,GAAG,SAAS,CAAC;gBAC5B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzB,CAAC;YACD,IAAI,IAAA,sBAAc,EAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,IAAA,uBAAW,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YACzC,CAAC;iBAAM,IAAG,IAAA,yBAAQ,EAAC,GAAG,CAAC,IAAI,IAAA,wBAAO,EAAC,GAAG,CAAC,EAAC,CAAC;gBACvC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;YACD,OAAO;QACX,CAAC,CAAA;QAED,cAAS,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAE,EAAE;YACrD,IAAA,uBAAW,EAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5B,IAAA,uBAAW,EAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5B,IAAA,gBAAQ,EAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;YACvE,IAAA,gBAAQ,EAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;YACrD,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACxE,CAAC,CAAA;QAED,yDAAyD;QACzD,YAAO,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAE,EAAE;YACnD,4CAA4C;YAC5C,IAAI,IAAA,eAAO,EAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO;YACX,CAAC;YACD,yBAAyB;YACzB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACJ,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACxE,CAAC;QACL,CAAC,CAAA;QAED,mCAAmC;QACnC,eAAU,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAE,EAAE;YACtD,IAAA,uBAAW,EAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC/B,kCAAkC;YAClC,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC;gBAC5B,SAAS;gBACT,0CAA0C;gBAC1C,8BAA8B;gBAC9B,6CAA6C;gBAC7C,IAAI,CAAC,CAAC,IAAA,iBAAS,EAAC,GAAG,CAAC,IAAI,IAAA,6BAAY,EAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAA,wBAAO,EAAC,GAAG,CAAC,EAAE,CAAC;oBAC5D,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACpE,OAAO;gBACT,CAAC;gBAED,IAAI,IAAA,wBAAO,EAAC,GAAG,CAAC,EAAE,CAAC;oBACjB,OAAO;gBACT,CAAC;gBAED,IAAI,IAAA,iBAAS,EAAC,GAAG,CAAC,EAAE,CAAC;oBACnB,IAAA,uBAAW,EAAC,GAAG,CAAC,aAAa,CAAC,CAAC;oBAC/B,IAAI,GAAG,CAAC,aAAa,EAAE,MAAM,GAAG,GAAG,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;wBAC1D,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;wBACpE,OAAO;oBACT,CAAC;gBACH,CAAC;YACH,CAAC;YAED,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,aAAa,EAAE,CAAC;gBACjC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YACxB,CAAC;YAED,oGAAoG;YAEpG,2CAA2C;YAC3C,2CAA2C;YAE3C,8BAA8B;YAC9B,0BAA0B;YAC1B,qHAAqH;YACrH,0BAA0B;YAC1B,qHAAqH;YAErH,4BAA4B;YAC5B,+CAA+C;YAC/C,oGAAoG;YACpG,6BAA6B;YAC7B,iCAAiC;YACjC,0CAA0C;YAC1C,QAAQ;YACR,IAAI;YAEJ,+BAA+B;YAC/B,cAAc;YACd,WAAW;YACX,mDAAmD;YACnD,4BAA4B;YAC5B,mGAAmG;YACnG,+FAA+F;YAC/F,eAAe;YACf,6BAA6B;YAC7B,iDAAiD;YACjD,8BAA8B;YAC9B,+EAA+E;YAC/E,YAAY;YACZ,QAAQ;YACR,IAAI;QACR,CAAC,CAAA;QAED,uCAAuC;QACvC,qBAAgB,GAAG,CAAC,GAAmB,EAAE,GAA6D,EAAE,EAAE;YACtG,wCAAwC;YAExC,+BAA+B;YAC/B,wDAAwD;YACxD,oBAAoB;YACpB,MAAM,WAAW,GAAG,IAAA,yBAAQ,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,yBAAQ,CAAC,CAAC;YAC5E,IAAA,uBAAW,EAAC,WAAW,CAAC,CAAC;YACzB,IAAI,GAAG,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBAC9D,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,IAAA,yBAAQ,EAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;gBACtC,2BAA2B;gBAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACvC,mDAAmD;gBACnD,mBAAmB;gBACnB,MAAM,QAAQ,GAAG,KAAK,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;gBACjE,wCAAwC;gBACxC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,cAAc,EAAE,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,qBAAa,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,cAAc,CAAC,CAAC;YAC3I,CAAC;iBAAM,IAAI,IAAA,gBAAQ,EAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAG,IAAA,8BAAa,EAAC,GAAG,CAAC,EAAC,CAAC;gBAC1B,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACjC,MAAM,CAAC,GAAG,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,EAAE,CAAC;oBACN,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,8BAAc,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxF,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,WAAW,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;gBAC1C,IAAI,CAAC,EAAE,CAAC;oBACN,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,8BAAc,CAAC,aAAa,CAAC,cAAc,EAAE,EAAE,aAAa,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACxF,CAAC;YACH,CAAC;QACL,CAAC,CAAA;QAED,aAAQ,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAE,EAAE;YACpD,IAAA,uBAAW,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAA,uBAAW,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAA,uBAAW,EAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC/B,IAAA,uBAAW,EAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC/B,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAChC,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACpE,OAAO;YACX,CAAC;YACD,sDAAsD;YACtD,qCAAqC;YACrC,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,WAAY,CAAC;YAC5C,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,EAAE,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACnG,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACpF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;YACrF,CAAC;QACL,CAAC,CAAA;QAED,cAAc;QACd,eAAU,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAE,EAAE;YACtD,IAAI,CAAC,IAAA,4BAAW,EAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;gBACzB,oBAAoB,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;gBACpE,OAAO;YACX,CAAC;QACL,CAAC,CAAA;QAED,mBAAc,GAAG,CAAC,GAA0B,EAAyB,EAAE;YACnE,WAAW;YACX,OAAO,GAAG,CAAC;QACf,CAAC,CAAA;QAED,kFAAkF;QAClF,oBAAe,GAAG,CAAC,MAAsB,EAAQ,EAAE;YAC/C,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAW,CAAC;YACpC,IAAI,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAErE,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;gBAC1D,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBACrC,IAAA,uBAAW,EAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,SAAS,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzG,CAAC;YAED,MAAM,KAAK,GAAkB,IAAI,GAAG,EAAE,CAAC;YACvC,IAAA,gBAAQ,EAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EACtB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,gBAAQ,CAAC,EAChD,aAAa,CAAC,CAAC;YAExB,IAAA,2BAAiB,EAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC,CAAA;QAED,aAAQ,GAAG,IAAI,GAAG,EAAmB,CAAA;QAiBrC,aAAQ,GAAG,CAAC,EAAe,EAAE,CAAS,EAAE,CAAiB,EAAE,EAAE;YACzD,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACb,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,cAAM,EAAE,CAAC,CAAC;YAC5B,CAAC;YAED,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;YACzB,IAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,EAAC,CAAC;gBAC5B,aAAa;gBACb,OAAO;YACT,CAAC;YACD,MAAM,MAAM,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;YAC3B,IAAG,IAAI,CAAC,YAAY,EAAC,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,MAAM,GAAG,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,IAAA,gBAAQ,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAClE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,WAAY,EAAE,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;gBAE9F,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;gBACzB,IAAI,EAAE,EAAE,CAAC;oBACL,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;wBACjB,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC3B,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAA;QAED,aAAQ,GAAG,CAAC,EAAe,EAAE,CAAS,EAAE,CAAiB,EAAE,EAAE;YACzD,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,CAAC,CAAC,EAAE,CAAC;gBACL,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,cAAM,EAAE,CAAC,CAAC;YAC5B,CAAC;YACD,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;YACzB,IAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA,EAAE,CAAA,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,EAAC,CAAC;gBAC5B,aAAa;gBACb,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;YAC3B,IAAG,IAAI,CAAC,YAAY,EAAC,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,MAAM,GAAG,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,IAAA,gBAAQ,EAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAClE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,WAAY,EAAE,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;gBAE9F,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,EAAE,CAAC;gBACzB,IAAI,EAAE,EAAE,CAAC;oBACL,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;wBACjB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;oBAC3B,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAA;QAED,eAAU,GAAG,CAAC,KAAoB,EAAE,EAAE,CAClC,CAAC,IAAY,EAAE,EAAkB,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAE9D,YAAO,GAAG,GAAG,EAAE;YACX,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC,CAAA;QACD,aAAQ,GAAG,GAAG,EAAE;YACZ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC9B,4BAA4B;YAC5B,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QAC3B,CAAC,CAAA;QAED,OAAO;QACP,2BAAsB,GAAG,CAAC,EAAkB,EAAE,EAAE;YAC5C,MAAM,gBAAgB,GAAG,IAAA,iCAAkB,EAAC,EAAE,CAAC,CAAC;YAChD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;gBACrC,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;gBACrC,OAAO,IAAI,CAAC;YAChB,CAAC;YAED,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC;YAChC,IAAI,MAAM,EAAE,CAAC;gBACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACxB,MAAM,QAAQ,GAAG,IAAA,iCAAkB,EAAC,KAAK,CAAC,CAAC;oBAC3C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACxB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;wBACjC,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC;YACL,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC,CAAA;QA1rBG,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAyBD,kBAAkB;QAChB,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,OAAO,UAAU,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,aAAa;QACT,IAAI,IAAI,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,OAAO,UAAU,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,CAAC;IACL,CAAC;IAED,sBAAsB;QACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;IAC3D,CAAC;IAoiBD,KAAK,CAAC,GAAW,EAAE,GAAW;QAC5B,IAAG,IAAI,CAAC,YAAY,EAAC,CAAC;YACpB,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,UAAU,CAAC,GAAW;QACpB,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACpC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IA+FD,mBAAmB,CAAC,CAAiB;QACjC,IAAA,uBAAW,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACnD,OAAO,CAAC,MAAM,IAAI,cAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;OAMG;IACH,mBAAmB,CAAC,CAAiB,EAAE,OAAqB;QACxD,IAAA,uBAAW,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,IAAI,cAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QAExC,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,IAAA,sBAAc,EAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,MAAM,CAAC,GAAG,OAAO,IAAI,IAAI,GAAG,EAAU,CAAC;QACvC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAClB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;YACnC,IAAI,SAAS,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;oBACxC,OAAO,KAAK,CAAC;gBACjB,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ;QACN,MAAM,mBAAmB,GAAG,GAAE,EAAE;YAC9B,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;gBACjC,GAAG,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;YAC7B,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAA;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;QACzB,OAAO;YACL;gBACE,GAAG,EAAE,mBAAmB;gBACxB,KAAK,EAAE,GAAG;aACX;YACD;gBACE,GAAG,EAAE,kBAAkB;gBACvB,KAAK,EAAE,mBAAmB,EAAE;aAC7B;SACF,CAAC;IACJ,CAAC;CACJ;AAjxBD,0BAixBC;AAED,MAAM,SAAS,GAAG,CAAC,GAAmB,EAAE,GAAmB,EAAE,EAAE;IAC7D,OAAO;IACL,uCAAuC;IACvC,CAAC,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC;QAC3D,CAAC,GAAG,CAAC,QAAQ,KAAK,WAAW,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAC5D,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,aAAa,GAAG,CAAC,EAA8B,EAAW,EAAE;IAChE,IAAI,CAAC,EAAE;QAAE,OAAO,KAAK,CAAC;IACtB,IAAI,IAAA,wBAAO,EAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7B,IAAI,EAAE,CAAC,aAAa,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,kCAAkC;AAClC,MAAM,oBAAoB,GAAG,CAC3B,GAAW,EACX,GAAmB,EACnB,GAAmB,EACnB,kBAA2B,KAAK;AAChC,2DAA2D;AAC3D,cAA2B;AAC3B,yEAAyE;AACzE,UAAmB,KAAK,EACxB,EAAE;IACF,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,EAAE,OAAO,KAAK,MAAM,EAAE,CAAC;QAC5D,OAAO;IACT,CAAC;IACD,MAAM,eAAe,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3F,MAAM,OAAO,GACX,CAAC,QAAoB,EAAE,WAAuB,EAAE,QAA6B,EAAE,GAAmB,EAAE,GAAmB,EAAE,EAAE,CAC3H,CAAC,GAAW,EAAE,MAAiB,EAAE,EAAE;QACjC,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QACD,MAAM,aAAa,GAAG,IAAA,4BAAkB,EAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,aAAa,GAAG,IAAA,4BAAkB,EAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3D,wCAAwC;QACxC,gDAAgD;QAChD,IAAI,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC,IAAI,aAAa,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;YAC5G,OAAO;QACT,CAAC;QACD,6EAA6E;QAC7E,yCAAyC;QACzC,+CAA+C;QAC/C,uDAAuD;QACvD,IAAI,OAAO,IAAI,CAAC,CAAC,IAAA,6BAAY,EAAC,aAAa,CAAC,IAAI,CAAC,IAAA,6BAAY,EAAC,aAAa,CAAC,CAAC,EAAE,CAAC;YAC9E,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAA,6BAAY,EAAC,aAAa,CAAC,IAAI,CAAC,IAAA,6BAAY,EAAC,aAAa,CAAC,IAAI,CAAC,IAAA,eAAO,EAAC,GAAG,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;YACpI,MAAM,YAAY,GAAG,IAAA,8BAAmB,EAAC,GAAG,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC;YAE5E,IAAI,OAAO,EAAE,CAAC;gBACZ,iCAAiC;gBACjC,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;YAED,GAAG,CAAC,QAAQ,CACV,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,eAAe,CAChB,CAAC;QACJ,CAAC;IACL,CAAC,CAAC;IAEF,gDAAgD;IAChD,MAAM,sBAAsB,GAAG,cAAc,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,qBAAqB,IAAI,SAAS,CAAC,CAAC;IAElG,uCAAuC;IACvC,IAAI,eAAe,EAAE,CAAC;QACpB,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAY,EACnC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAY,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,EAC1E,sBAAsB,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,WAAY,EACnC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,CAAC,WAAY,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,EAC1E,sBAAsB,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCE;AAEF;;;;;;;;;EASE"}
|
|
@@ -1,3 +1,17 @@
|
|
|
1
1
|
import { TypeAnnotation } from '@lcap/nasl-concepts';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* 将解析后的 JSON 值递归推断为对应的 TypeAnnotation。
|
|
4
|
+
* - 原始值:直接返回对应基础类型
|
|
5
|
+
* - 数组:取所有元素属性的并集,推断为 List<AnonymousStructure>
|
|
6
|
+
* - 对象:推断为 AnonymousStructure,不在所有元素中出现的属性标记为 optional
|
|
7
|
+
* - 嵌套超过 depth 限制时返回 naslAnyTy,防止无限递归
|
|
8
|
+
* @param hint 同层级的目标类型,用于在歧义情况下收窄推断结果(如整数提升为 Decimal)
|
|
9
|
+
*/
|
|
10
|
+
export declare function inferTypeFromJsonValue(val: unknown, depth?: number, hint?: TypeAnnotation): TypeAnnotation;
|
|
11
|
+
/**
|
|
12
|
+
* 尝试将字符串作为 JSON5 解析,若结果为对象/数组则推断其结构类型。
|
|
13
|
+
* 解析失败或结果为原始值时返回 undefined。
|
|
14
|
+
*/
|
|
15
|
+
export declare function tryParseJson5AsStructuredType(code: string, hint?: TypeAnnotation): TypeAnnotation | undefined;
|
|
16
|
+
export declare function inferStaticValueTypeAsLiteral(staticValue: string | number | boolean, tgtTy?: TypeAnnotation): TypeAnnotation;
|
|
3
17
|
//# sourceMappingURL=bind-expression-hack.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind-expression-hack.d.ts","sourceRoot":"","sources":["../../src/utils/bind-expression-hack.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"bind-expression-hack.d.ts","sourceRoot":"","sources":["../../src/utils/bind-expression-hack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAyBxE;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,SAAI,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,cAAc,CAgCrG;AA6CD;;;GAGG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,cAAc,GAAG,SAAS,CAU7G;AAED,wBAAgB,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,KAAK,CAAC,EAAE,cAAc,kBAiB3G"}
|
|
@@ -23,20 +23,142 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.inferStaticValueTypeAsLiteral = void 0;
|
|
26
|
+
exports.inferStaticValueTypeAsLiteral = exports.tryParseJson5AsStructuredType = exports.inferTypeFromJsonValue = void 0;
|
|
27
27
|
const nasl_concepts_1 = require("@lcap/nasl-concepts");
|
|
28
28
|
const json5 = __importStar(require("json5"));
|
|
29
29
|
const typer_1 = require("../typer");
|
|
30
|
-
|
|
30
|
+
/**
|
|
31
|
+
* 从 List 类型的 hint 中提取元素类型 hint。
|
|
32
|
+
* 仅在 hint 为 List<T> 时返回 T,否则返回 undefined。
|
|
33
|
+
*/
|
|
34
|
+
function extractListElemHint(hint) {
|
|
35
|
+
if (hint?.typeName === 'List' && hint.typeArguments?.length) {
|
|
36
|
+
return hint.typeArguments[0];
|
|
37
|
+
}
|
|
38
|
+
return undefined;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* 从 anonymousStructure 类型的 hint 中提取指定属性名的类型 hint。
|
|
42
|
+
*/
|
|
43
|
+
function extractPropHint(hint, key) {
|
|
44
|
+
if (hint?.typeKind === 'anonymousStructure') {
|
|
45
|
+
return hint.properties?.find((p) => p.name === key)?.typeAnnotation;
|
|
46
|
+
}
|
|
47
|
+
return undefined;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* 将解析后的 JSON 值递归推断为对应的 TypeAnnotation。
|
|
51
|
+
* - 原始值:直接返回对应基础类型
|
|
52
|
+
* - 数组:取所有元素属性的并集,推断为 List<AnonymousStructure>
|
|
53
|
+
* - 对象:推断为 AnonymousStructure,不在所有元素中出现的属性标记为 optional
|
|
54
|
+
* - 嵌套超过 depth 限制时返回 naslAnyTy,防止无限递归
|
|
55
|
+
* @param hint 同层级的目标类型,用于在歧义情况下收窄推断结果(如整数提升为 Decimal)
|
|
56
|
+
*/
|
|
57
|
+
function inferTypeFromJsonValue(val, depth = 0, hint) {
|
|
58
|
+
if (depth > 8)
|
|
59
|
+
return typer_1.naslAnyTy;
|
|
60
|
+
if (val === null || val === undefined)
|
|
61
|
+
return typer_1.naslAnyTy;
|
|
62
|
+
if (typeof val === 'string')
|
|
63
|
+
return typer_1.naslStringTy;
|
|
64
|
+
if (typeof val === 'boolean')
|
|
65
|
+
return typer_1.naslBooleanTy;
|
|
66
|
+
if (typeof val === 'number') {
|
|
67
|
+
if (Number.isInteger(val)) {
|
|
68
|
+
// 整数赋给 Decimal 字段是合法的,按 hint 提升;其他类型 hint 对不上则忽略
|
|
69
|
+
if (hint?.typeName === 'Decimal' && hint?.typeKind === 'primitive') {
|
|
70
|
+
return typer_1.naslDecimalTy;
|
|
71
|
+
}
|
|
72
|
+
return typer_1.naslLongTy;
|
|
73
|
+
}
|
|
74
|
+
return typer_1.naslDecimalTy;
|
|
75
|
+
}
|
|
76
|
+
if (Array.isArray(val)) {
|
|
77
|
+
if (val.length === 0) {
|
|
78
|
+
return nasl_concepts_1.TypeAnnotation.createGeneric('List', { typeArguments: [typer_1.naslAnyTy] });
|
|
79
|
+
}
|
|
80
|
+
const elemHint = extractListElemHint(hint);
|
|
81
|
+
const elemTy = inferObjectArrayElementType(val, depth, elemHint);
|
|
82
|
+
return nasl_concepts_1.TypeAnnotation.createGeneric('List', { typeArguments: [elemTy] });
|
|
83
|
+
}
|
|
84
|
+
if (typeof val === 'object') {
|
|
85
|
+
return inferObjectType(val, depth, hint);
|
|
86
|
+
}
|
|
87
|
+
return typer_1.naslAnyTy;
|
|
88
|
+
}
|
|
89
|
+
exports.inferTypeFromJsonValue = inferTypeFromJsonValue;
|
|
90
|
+
/**
|
|
91
|
+
* 推断对象数组的元素类型:
|
|
92
|
+
* 收集所有元素所有 key,若某 key 不在全部元素中出现则标记为 optional
|
|
93
|
+
*/
|
|
94
|
+
function inferObjectArrayElementType(arr, depth, elemHint) {
|
|
95
|
+
const allObjects = arr.filter((item) => item !== null && typeof item === 'object' && !Array.isArray(item));
|
|
96
|
+
if (allObjects.length === 0) {
|
|
97
|
+
return inferTypeFromJsonValue(arr[0], depth + 1, elemHint);
|
|
98
|
+
}
|
|
99
|
+
// 收集所有 key 及其出现次数
|
|
100
|
+
const keyCount = new Map();
|
|
101
|
+
for (const obj of allObjects) {
|
|
102
|
+
for (const key of Object.keys(obj)) {
|
|
103
|
+
keyCount.set(key, (keyCount.get(key) ?? 0) + 1);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// 合并各 key 的类型(取第一个非 null 值推断),不在所有元素中出现的 key 标记为 optional
|
|
107
|
+
const properties = Array.from(keyCount.entries()).map(([key, count]) => {
|
|
108
|
+
const sampleVal = allObjects.find((obj) => key in obj)?.[key];
|
|
109
|
+
const propTy = inferTypeFromJsonValue(sampleVal, depth + 1, extractPropHint(elemHint, key));
|
|
110
|
+
const prop = nasl_concepts_1.StructureProperty.from({ name: key, typeAnnotation: propTy });
|
|
111
|
+
if (count < allObjects.length) {
|
|
112
|
+
prop.typeAnnotation.optional = true;
|
|
113
|
+
}
|
|
114
|
+
return prop;
|
|
115
|
+
});
|
|
116
|
+
return nasl_concepts_1.TypeAnnotation.createTypeAnonymousStructure(properties);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* 推断单个对象的类型为 AnonymousStructure
|
|
120
|
+
*/
|
|
121
|
+
function inferObjectType(obj, depth, hint) {
|
|
122
|
+
const properties = Object.entries(obj).map(([key, value]) => {
|
|
123
|
+
const propTy = inferTypeFromJsonValue(value, depth + 1, extractPropHint(hint, key));
|
|
124
|
+
return nasl_concepts_1.StructureProperty.from({ name: key, typeAnnotation: propTy });
|
|
125
|
+
});
|
|
126
|
+
return nasl_concepts_1.TypeAnnotation.createTypeAnonymousStructure(properties);
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* 尝试将字符串作为 JSON5 解析,若结果为对象/数组则推断其结构类型。
|
|
130
|
+
* 解析失败或结果为原始值时返回 undefined。
|
|
131
|
+
*/
|
|
132
|
+
function tryParseJson5AsStructuredType(code, hint) {
|
|
133
|
+
try {
|
|
134
|
+
const val = json5.parse(code.trim());
|
|
135
|
+
if (val !== null && typeof val === 'object') {
|
|
136
|
+
return inferTypeFromJsonValue(val, 0, hint);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
catch {
|
|
140
|
+
// 不是合法的 JSON5,或结果为原始值,忽略
|
|
141
|
+
}
|
|
142
|
+
return undefined;
|
|
143
|
+
}
|
|
144
|
+
exports.tryParseJson5AsStructuredType = tryParseJson5AsStructuredType;
|
|
145
|
+
function inferStaticValueTypeAsLiteral(staticValue, tgtTy) {
|
|
31
146
|
if (typeof staticValue !== 'string') {
|
|
32
147
|
return nasl_concepts_1.TypeAnnotation.createLiteral(staticValue);
|
|
33
148
|
}
|
|
34
149
|
const formattedValue = staticValue.trim();
|
|
150
|
+
const structuredTy = tryParseJson5AsStructuredType(formattedValue, tgtTy);
|
|
151
|
+
if (structuredTy)
|
|
152
|
+
return structuredTy;
|
|
35
153
|
try {
|
|
36
154
|
const val = json5.parse(formattedValue);
|
|
155
|
+
// 对于数字类型,传入 tgtTy 作为 hint 以收窄推断(如整数提升为 Decimal)
|
|
156
|
+
if (typeof val === 'number') {
|
|
157
|
+
return inferTypeFromJsonValue(val, 0, tgtTy);
|
|
158
|
+
}
|
|
37
159
|
return nasl_concepts_1.TypeAnnotation.createLiteral(val);
|
|
38
160
|
}
|
|
39
|
-
catch
|
|
161
|
+
catch {
|
|
40
162
|
return typer_1.naslAnyTy;
|
|
41
163
|
}
|
|
42
164
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind-expression-hack.js","sourceRoot":"","sources":["../../src/utils/bind-expression-hack.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"bind-expression-hack.js","sourceRoot":"","sources":["../../src/utils/bind-expression-hack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseTsClassType.d.ts","sourceRoot":"","sources":["../../src/utils/parseTsClassType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,
|
|
1
|
+
{"version":3,"file":"parseTsClassType.d.ts","sourceRoot":"","sources":["../../src/utils/parseTsClassType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAgB,KAAK,EAA8B,SAAS,EAAqB,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAuBzJ;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,QAEhB,MAAM,eAKC,MAAM,MAAM,CAAC,kBAGR,GAAG,QAAQ,GAAG,GAAG,wBAAwB,GAAG,SAAS,KAChE,cAAc,GAAG,SAyQnB,CAAC;AAWR;;GAEG;AACH,eAAO,MAAM,0BAA0B,WAAY,OAAO,gBAsFzD,CAAC;AAOF,eAAO,MAAM,oCAAoC,WAAY,OAAO,KAAG;IAAC,MAAM,SAAS,CAAC;IAAE,MAAM,KAAK,CAAC;IAAE,MAAM,QAAQ,CAAC;IAAE,MAAM;QAC7H,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,cAAc,CAAC;KAChC,CAAC;CAsJD,CAAC;AAEF,eAAO,MAAM,yBAAyB,OAAQ,KAAK,mBAYlD,CAAC;AAIF,eAAO,MAAM,qBAAqB,YAniBnB,MAAM,MAAM,CAAC,kBAGR,GAAG,QAAQ,GAAG,GAAG,wBAAwB,GAAG,SAAS,KAChE,cAAc,GAAG,SA+hB0B,CAAC;AAGrD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,GAAG,cAAc,GAAG,SAAS,CA2CjG;AAwBD,eAAO,MAAM,qBAAqB,QAAS,MAAM,UAAU,GAAG,mBAAmB,KAAG,KAgDnF,CAAC;AAEF,eAAO,MAAM,uBAAuB,YACxB,MAAM,MAAM,CAAC,YACd,GAAG,mBAAmB,GAAG,GAAG,gBAAgB,GAAG,GAAG,gBAAgB,GAAG,GAAG,iBAAiB,KAAG,MAAM,SAAS,CAYjH,CAAC;AAIN,eAAO,MAAM,cAAc,UAAwE,CAAC"}
|
|
@@ -154,6 +154,12 @@ prevTps) => (tsTypeNode) => {
|
|
|
154
154
|
return nasl_concepts_1.StructureProperty.createProtoTypeOnly({
|
|
155
155
|
name: pName,
|
|
156
156
|
typeAnnotation: pType ?? undefined,
|
|
157
|
+
// 对应 DTS 中的 `?` 可选标记
|
|
158
|
+
...(member.questionToken && {
|
|
159
|
+
defaultValue: nasl_concepts_1.DefaultValue.createProtoTypeOnly({
|
|
160
|
+
expression: new nasl_concepts_1.NullLiteral(),
|
|
161
|
+
}),
|
|
162
|
+
}),
|
|
157
163
|
});
|
|
158
164
|
}
|
|
159
165
|
})
|