@quereus/quereus 4.13.0 → 4.14.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/dist/src/func/builtins/explain.js +1 -1
- package/dist/src/func/builtins/explain.js.map +1 -1
- package/dist/src/planner/mutation/capture-correlation.d.ts +57 -0
- package/dist/src/planner/mutation/capture-correlation.d.ts.map +1 -0
- package/dist/src/planner/mutation/capture-correlation.js +57 -0
- package/dist/src/planner/mutation/capture-correlation.js.map +1 -0
- package/dist/src/planner/mutation/decomposition.d.ts.map +1 -1
- package/dist/src/planner/mutation/decomposition.js +86 -23
- package/dist/src/planner/mutation/decomposition.js.map +1 -1
- package/dist/src/planner/mutation/lens-enforcement.d.ts.map +1 -1
- package/dist/src/planner/mutation/lens-enforcement.js +15 -20
- package/dist/src/planner/mutation/lens-enforcement.js.map +1 -1
- package/dist/src/planner/mutation/multi-source.d.ts +52 -11
- package/dist/src/planner/mutation/multi-source.d.ts.map +1 -1
- package/dist/src/planner/mutation/multi-source.js +273 -86
- package/dist/src/planner/mutation/multi-source.js.map +1 -1
- package/dist/src/planner/mutation/set-op.d.ts.map +1 -1
- package/dist/src/planner/mutation/set-op.js +4 -12
- package/dist/src/planner/mutation/set-op.js.map +1 -1
- package/dist/src/planner/mutation/single-source.js +1 -1
- package/dist/src/planner/mutation/single-source.js.map +1 -1
- package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-table.js +8 -10
- package/dist/src/runtime/emit/alter-table.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts +16 -4
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.js +182 -25
- package/dist/src/runtime/emit/materialized-view-helpers.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view.js +1 -1
- package/dist/src/runtime/emit/materialized-view.js.map +1 -1
- package/dist/src/schema/ddl-generator.d.ts.map +1 -1
- package/dist/src/schema/ddl-generator.js +65 -24
- package/dist/src/schema/ddl-generator.js.map +1 -1
- package/dist/src/schema/lens-ack.d.ts +1 -1
- package/dist/src/schema/lens-ack.js +2 -2
- package/dist/src/schema/lens-compiler.d.ts.map +1 -1
- package/dist/src/schema/lens-compiler.js +63 -34
- package/dist/src/schema/lens-compiler.js.map +1 -1
- package/dist/src/schema/lens-prover.d.ts +4 -4
- package/dist/src/schema/lens-prover.d.ts.map +1 -1
- package/dist/src/schema/lens-prover.js +13 -5
- package/dist/src/schema/lens-prover.js.map +1 -1
- package/dist/src/schema/lens.d.ts +1 -1
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +25 -13
- package/dist/src/schema/manager.js.map +1 -1
- package/dist/src/schema/reserved-tags.js +1 -1
- package/dist/src/schema/reserved-tags.js.map +1 -1
- package/dist/src/schema/schema-differ.d.ts.map +1 -1
- package/dist/src/schema/schema-differ.js +4 -3
- package/dist/src/schema/schema-differ.js.map +1 -1
- package/dist/src/schema/table.d.ts +41 -34
- package/dist/src/schema/table.d.ts.map +1 -1
- package/dist/src/schema/table.js +24 -43
- package/dist/src/schema/table.js.map +1 -1
- package/dist/src/vtab/filter-info.d.ts +9 -0
- package/dist/src/vtab/filter-info.d.ts.map +1 -1
- package/dist/src/vtab/filter-info.js +10 -1
- package/dist/src/vtab/filter-info.js.map +1 -1
- package/dist/src/vtab/memory/layer/alter-column.d.ts +8 -1
- package/dist/src/vtab/memory/layer/alter-column.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/alter-column.js +20 -10
- package/dist/src/vtab/memory/layer/alter-column.js.map +1 -1
- package/dist/src/vtab/memory/layer/base.d.ts +9 -1
- package/dist/src/vtab/memory/layer/base.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/base.js +12 -1
- package/dist/src/vtab/memory/layer/base.js.map +1 -1
- package/dist/src/vtab/memory/layer/manager.d.ts +23 -18
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +44 -33
- package/dist/src/vtab/memory/layer/manager.js.map +1 -1
- package/dist/src/vtab/memory/layer/row-convert.d.ts +13 -0
- package/dist/src/vtab/memory/layer/row-convert.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/row-convert.js +24 -0
- package/dist/src/vtab/memory/layer/row-convert.js.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.d.ts +21 -7
- package/dist/src/vtab/memory/layer/transaction.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/transaction.js +30 -14
- package/dist/src/vtab/memory/layer/transaction.js.map +1 -1
- package/dist/src/vtab/module.d.ts +20 -2
- package/dist/src/vtab/module.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -798,7 +798,7 @@ export const basisBackfillFunc = createIntegratedTableValuedFunction({
|
|
|
798
798
|
}
|
|
799
799
|
});
|
|
800
800
|
// Lens advisory governance introspection: the **expand** path for the deploy
|
|
801
|
-
// summary's `acknowledged: N` tally (docs/lens.md § Acknowledging advisories).
|
|
801
|
+
// summary's `acknowledged: N` tally (docs/lens-prover.md § Acknowledging advisories).
|
|
802
802
|
// One row per advisory of the last deploy of a logical schema — active ones, the
|
|
803
803
|
// ones an in-source `quereus.lens.ack.<code>` tag suppressed, and any that
|
|
804
804
|
// re-surfaced because their recorded fingerprint no longer matches.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../../src/func/builtins/explain.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mCAAmC,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAA2C,MAAM,wBAAwB,CAAC;AAE9G,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,0CAA0C,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAE3E,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AAEzE,MAAM,GAAG,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAOlD,sEAAsE;AACtE,SAAS,eAAe,CAAC,IAAc;IACtC,MAAM,SAAS,GAAI,IAAmC,CAAC,YAAY,CAAC;IACpE,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,8DAA8D;AAC9D,SAAS,QAAQ,CAAC,IAAc;IAC/B,MAAM,SAAS,GAAI,IAA4B,CAAC,KAAK,CAAC;IACtD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,iEAAiE;AACjE,SAAS,aAAa,CAAC,IAAc;IACpC,0EAA0E;IAC1E,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,kDAAkD;IAClD,MAAM,WAAW,GAAI,IAA0C,CAAC,WAAW,CAAC;IAC5E,IAAI,WAAW,IAAI,OAAO,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACzD,OAAO,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC;IACpG,CAAC;IAED,qBAAqB;IACrB,MAAM,OAAO,GAAI,IAA8B,CAAC,OAAO,CAAC;IACxD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,gDAAgD;IAChD,MAAM,UAAU,GAAI,IAAyC,CAAC,UAAU,CAAC;IACzE,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;IAChG,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,0DAA0D;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,mCAAmC,CAC/D;IACC,IAAI,EAAE,YAAY;IAClB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE;QACX,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC5H,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAClI,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACxI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAChI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACzH,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC7H,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACjI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC3H,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAChI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC9H,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC9H,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SACjI;QACD,IAAI,EAAE,EAAE;QACR,cAAc,EAAE,EAAE;KAClB;IACD,uBAAuB,EAAE;QACxB,KAAK,EAAE,IAAI;QACX,sEAAsE;QACtE,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACtB,aAAa,EAAE,IAAI;KACnB;CACD,EACD,KAAK,SAAS,CAAC,EAAE,EAAY,EAAE,GAAa;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,YAAY,CAAC,6CAA6C,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzF,CAAC;IAED,IAAI,CAAC;QACJ,qDAAqD;QACrD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE7B,+DAA+D;QAC/D,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,SAAS,GAAsE;YACpF,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE;SACxC,CAAC;QAEF,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,GAAG,EAAG,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC;YAE3B,gBAAgB;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC;YAE5C,uCAAuC;YACvC,IAAI,EAAE,GAAG,SAAS,CAAC;YACnB,IAAI,MAAM,GAAG,mBAAmB,CAAC;YACjC,IAAI,UAAU,GAAkB,IAAI,CAAC;YACrC,IAAI,KAAK,GAAkB,IAAI,CAAC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,IAAI,GAAG,CAAC;YAC1C,MAAM,OAAO,GAAI,IAA2B,CAAC,aAAa,IAAI,EAAE,CAAC;YAEjE,uDAAuD;YACvD,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACzC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC1B,CAAC;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;gBAEtD,uDAAuD;gBACvD,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBACjC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;YAED,uDAAuD;YACvD,IAAI,UAAU,GAAkB,IAAI,CAAC;YACrC,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACtD,IAAI,iBAAiB,IAAI,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpE,mEAAmE;gBACnE,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,CAAC;gBACjD,IAAI,IAAI,EAAE,SAAS,EAAE,CAAC;oBACpB,iBAA6C,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC3E,CAAC;gBACD,UAAU,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YACnD,CAAC;YAED,yCAAyC;YACzC,IAAI,QAAQ,GAAkB,IAAI,CAAC;YACnC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnB,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM;gBACL,SAAS,EAAY,KAAK;gBAC1B,QAAQ,EAAY,YAAY;gBAChC,KAAK,EAAe,iBAAiB;gBACrC,QAAQ,EAAY,YAAY;gBAChC,EAAE,EAAkB,KAAK;gBACzB,MAAM,EAAc,SAAS;gBAC7B,UAAU,EAAU,cAAc;gBAClC,KAAK,EAAe,QAAQ;gBAC5B,UAAU,EAAU,aAAa;gBACjC,QAAQ,EAAY,WAAW;gBAC/B,OAAO,EAAa,WAAW;gBAC/B,OAAO,CAAa,WAAW;aAC/B,CAAC;YAEF,iFAAiF;YACjF,iEAAiE;YACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/C,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACnE,CAAC;QACF,CAAC;IACF,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACzB,wCAAwC;QACxC,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,uBAAuB,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5G,CAAC;AACF,CAAC,CACD,CAAC;AAEF,iEAAiE;AACjE,MAAM,CAAC,MAAM,oBAAoB,GAAG,mCAAmC,CACtE;IACC,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE;QACX,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC9H,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,+BAA+B;YACnK,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAClI,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACpI,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,cAAc;YACvJ,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SACpI;QACD,IAAI,EAAE,EAAE;QACR,cAAc,EAAE,EAAE;KAClB;CACD,EACD,KAAK,SAAS,CAAC,EAAE,EAAY,EAAE,GAAa;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,YAAY,CAAC,oDAAoD,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,CAAC;QACJ,qDAAqD;QACrD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE7B,8EAA8E;QAC9E,+EAA+E;QAC/E,4EAA4E;QAC5E,0EAA0E;QAC1E,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,MAAM,eAAe,GAAG,YAAY,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAE5D,qDAAqD;QACrD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAuB,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,2CAA2C;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxD,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAC9C,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM;iBACrC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACzC,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;YAEpD,MAAM;gBACL,CAAC,EAAE,OAAO;gBACV,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,eAAe;gBAC7C,WAAW,CAAC,IAAI,IAAI,eAAe,CAAC,EAAE,EAAE,iBAAiB;gBACzD,IAAI,EAAE,2DAA2D;gBACjE,CAAC,EAAE,+BAA+B;gBAClC,IAAI,CAAC,6BAA6B;aAClC,CAAC;YAEF,wDAAwD;YACxD,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;gBAC1B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC;oBACxE,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBACjD,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAuB,CAAC;oBAC7D,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;wBAClE,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;oBAChE,CAAC;oBACD,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;wBAClE,MAAM,cAAc,GAAG,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;wBACrD,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM;6BAC3C,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;6BAC5C,MAAM,CAAC,CAAC,GAAG,EAAiB,EAAE,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;wBAEpD,MAAM;4BACL,SAAS,CAAC,YAAY,CAAC,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,EAAE,iCAAiC;4BACxF,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,eAAe;4BAChD,cAAc,CAAC,IAAI,IAAI,mBAAmB,OAAO,IAAI,IAAI,EAAE,EAAE,iBAAiB;4BAC9E,IAAI,EAAE,iBAAiB;4BACvB,CAAC,EAAE,gBAAgB;4BACnB,CAAC,CAAC,cAAc;yBAChB,CAAC;oBACH,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACzB,mDAAmD;QACnD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,0BAA0B,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;AACF,CAAC,CACD,CAAC;AAEF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,mCAAmC,CAChE;IACC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE;QACX,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAClI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC/H,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC/H,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACrI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAChI,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACvI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,cAAc;SACnJ;QACD,IAAI,EAAE,EAAE;QACR,cAAc,EAAE,EAAE;KAClB;CACD,EACD,KAAK,SAAS,CAAC,EAAE,EAAY,EAAE,GAAa;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,YAAY,CAAC,8CAA8C,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,CAAC;QACJ,mDAAmD;QACnD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE7B,oDAAoD;QACpD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,KAAK,GAA6E,EAAE,CAAC;QAE3F,2BAA2B;QAC3B,KAAK,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,kBAAkB;YAC5B,IAAI,EAAE,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE;SAC7C,CAAC,CAAC;QAEH,sBAAsB;QACtB,KAAK,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,wBAAwB;YAClC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;SACjC,CAAC,CAAC;QAEH,sCAAsC;QACtC,MAAM,aAAa,GAAG,CAAC,IAAc,EAAE,QAAgB,CAAC,EAAE,EAAE;YAC3D,IAAI,CAAC,IAAI,IAAI,KAAK,GAAG,EAAE;gBAAE,OAAO,CAAC,6BAA6B;YAE9D,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvB,KAAK,OAAO,CAAC,CAAC,CAAC;oBACd,MAAM,UAAU,GAAI,IAAgD,CAAC,UAAU,CAAC;oBAChF,KAAK,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,YAAY;wBAClB,QAAQ,EAAE,8BAA8B;wBACxC,IAAI,EAAE,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC,EAAE;qBACjD,CAAC,CAAC;oBACH,MAAM;gBACP,CAAC;gBACD,KAAK,QAAQ,CAAC,CAAC,CAAC;oBACf,MAAM,SAAS,GAAI,IAA+C,CAAC,SAAS,CAAC;oBAC7E,KAAK,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE,oCAAoC;wBAC9C,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,SAAS,EAAE;qBACvD,CAAC,CAAC;oBACH,MAAM;gBACP,CAAC;gBACD,KAAK,SAAS,CAAC,CAAC,CAAC;oBAChB,MAAM,WAAW,GAAI,IAAiD,CAAC,WAAW,CAAC;oBACnF,KAAK,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,cAAc;wBACpB,QAAQ,EAAE,oCAAoC;wBAC9C,IAAI,EAAE,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC,EAAE;qBACnD,CAAC,CAAC;oBACH,MAAM;gBACP,CAAC;YACF,CAAC;YAED,sCAAsC;YACtC,iEAAiE;YACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YACpC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAe,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC;QAEF,aAAa,CAAC,IAAI,CAAC,CAAC;QAEpB,qDAAqD;QACrD,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM;gBACL,OAAO,EAAE,EAAqB,WAAW;gBACzC,CAAC,EAA4B,QAAQ;gBACrC,KAAK,CAAC,QAAQ,EAAe,WAAW;gBACxC,KAAK,CAAC,IAAI,EAAoB,iBAAiB;gBAC/C,KAAK,CAAC,IAAI,EAAoB,YAAY;gBAC1C,IAAI,EAAyB,oBAAoB;gBACjD,CAAC,CAA4B,aAAa;aAC1C,CAAC;QACH,CAAC;IACF,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACzB,0CAA0C;QAC1C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,sBAAsB,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAChF,CAAC;AACF,CAAC,CACD,CAAC;AAEF,oDAAoD;AACpD,MAAM,CAAC,MAAM,kBAAkB,GAAG,mCAAmC,CACpE;IACC,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,KAAK,EAAE,yCAAyC;IAC/D,UAAU,EAAE;QACX,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC3I,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC/H,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,oDAAoD;YACxL,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,OAAO;YAC3I,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,OAAO;YAC3I,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACjI,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,OAAO;YAC3I,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACnI,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SACnI;QACD,IAAI,EAAE,EAAE;QACR,cAAc,EAAE,EAAE;KAClB;CACD,EACD,KAAK,SAAS,CAAC,EAAE,EAAY,EAAE,GAAa;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,YAAY,CAAC,kDAAkD,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,CAAC;QACJ,0EAA0E;QAC1E,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAoB,CAAC;QAC5D,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAkB,CAAC;QAExD,IAAI,CAAC;YACJ,oCAAoC;YACpC,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,oCAAoC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;gBAC9E,MAAM,IAAI,GAAG,GAAG,CAAC,IAAc,CAAC;gBAChC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAE,GAAG,CAAC,YAAuB,IAAI,IAAI,CAAa,CAAC;gBAClF,MAAM,WAAW,GAAG,GAAG,CAAC,WAAqB,CAAC;gBAE9C,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;gBAChD,qBAAqB,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC9C,CAAC;QACF,CAAC;QAAC,OAAO,cAAuB,EAAE,CAAC;YAClC,MAAM,OAAO,GAAG,cAAc,YAAY,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAClG,OAAO,CAAC,IAAI,CAAC,uCAAuC,EAAE,OAAO,CAAC,CAAC;QAChE,CAAC;QAED,yCAAyC;QACzC,MAAM,MAAM,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAEjD,2CAA2C;QAC3C,IAAI,IAAiD,CAAC;QACtD,IAAI,CAAC;YACJ,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACvB,kEAAkE;YAClE,yEAAyE;YACzE,sEAAsE;YACtE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YAEzB,sEAAsE;YACtE,MAAM,OAAO,GAAU,EAAE,CAAC;YAC1B,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,oDAAoD;YACxE,CAAC;YAED,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,cAAuB,EAAE,CAAC;YAClC,4DAA4D;YAC5D,OAAO,CAAC,IAAI,CAAC,wCAAwC,EAAE,cAAc,YAAY,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAC3I,CAAC;QAED,iCAAiC;QACjC,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QAE5C,qEAAqE;QACrE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAmC,CAAC;QACvE,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YACjC,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;YAChD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAChD,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,mBAAmB,CAAC,GAAG,CAAC,gBAAgB,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QAED,mDAAmD;QACnD,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC;QAEhF,2CAA2C;QAC3C,KAAK,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,mBAAmB,CAAC,OAAO,EAAE,EAAE,CAAC;YACxE,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YAExD,oEAAoE;YACpE,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,UAAU,EAAE,IAAI,IAAI,SAAS,CAAC;YACnG,MAAM,YAAY,GAAG,uBAAuB,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;YAEzE,8CAA8C;YAC9C,IAAI,QAAQ,GAAkB,IAAI,CAAC;YACnC,IAAI,UAAU,IAAI,WAAW,EAAE,CAAC;gBAC/B,QAAQ,GAAG,WAAW,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC;YACzD,CAAC;YAED,yCAAyC;YACzC,IAAI,eAAe,GAAY,IAAI,CAAC;YACpC,IAAI,UAAU,EAAE,WAAW,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClE,wDAAwD;gBACxD,eAAe,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;oBACjD,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC;oBAC1D,MAAM,QAAQ,GAAG;wBAChB,YAAY,EAAE,EAAE,CAAC,YAAY;wBAC7B,gBAAgB,EAAE,EAAE,CAAC,gBAAgB;wBACrC,QAAQ,EAAE,EAAE,CAAC,QAAQ;qBACrB,CAAC;oBAEF,IAAI,gBAAgB,EAAE,CAAC;wBACtB,+CAA+C;wBAC/C,MAAM,YAAY,GAAG,gBAAgB,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,KAAkB,EAAE,GAAW,EAAE,EAAE,CAAC,CAAC;4BACtG,KAAK,EAAE,GAAG;4BACV,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,eAAe,GAAG,EAAE;4BAC7C,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,GAAG,GAAG,CAAC;yBAC9F,CAAC,CAAC,CAAC;wBACJ,OAAO,EAAE,GAAG,QAAQ,EAAE,YAAY,EAAE,CAAC;oBACtC,CAAC;oBAED,OAAO,QAAQ,CAAC;gBACjB,CAAC,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,UAAU,EAAE,SAAS,IAAI,WAAW,EAAE,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YAEhF,MAAM;gBACL,gBAAgB,EAA2D,oBAAoB;gBAC/F,aAAa,EAA6D,YAAY;gBACtF,iBAAiB,CAAC,YAAY,CAAC,EAA2C,eAAe;gBACzF,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAa,eAAe;gBACxF,WAAW,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,eAAe;gBACjG,QAAQ,EAAmE,cAAc;gBACzF,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,EAAc,eAAe;gBACxF,UAAU,EAAE,KAAK,IAAI,IAAI,EAAiD,gBAAgB;gBAC1F,SAAS,CAAkE,eAAe;aAC1F,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,IAAI,mBAAmB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM;gBACL,CAAC,EAAqB,oBAAoB;gBAC1C,eAAe,EAAO,YAAY;gBAClC,iBAAiB,CAAC,EAAE,CAAC,EAAE,eAAe;gBACtC,IAAI,EAAkB,eAAe;gBACrC,iBAAiB,CAAC,4CAA4C,CAAC,EAAE,eAAe;gBAChF,IAAI,EAAkB,cAAc;gBACpC,IAAI,EAAkB,eAAe;gBACrC,IAAI,EAAkB,gBAAgB;gBACtC,IAAI,CAAC,GAAG,EAAE,CAAY,eAAe;aACrC,CAAC;QACH,CAAC;IAEF,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACzB,+CAA+C;QAC/C,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM;YACL,CAAC,EAAyD,oBAAoB;YAC9E,aAAa,EAA4C,YAAY;YACrE,iBAAiB,CAAC,EAAE,CAAC,EAAqC,eAAe;YACzE,IAAI,EAAsD,eAAe;YACzE,IAAI,EAAsD,eAAe;YACzE,IAAI,EAAsD,cAAc;YACxE,IAAI,EAAsD,eAAe;YACzE,oCAAoC,OAAO,EAAE,EAAY,gBAAgB;YACzE,IAAI,CAAC,GAAG,EAAE,CAAgD,eAAe;SACzE,CAAC;IACH,CAAC;AACF,CAAC,CACD,CAAC;AAEF,qEAAqE;AACrE,MAAM,CAAC,MAAM,YAAY,GAAG,mCAAmC,CAC9D;IACC,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,KAAK,EAAE,mCAAmC;IACzD,UAAU,EAAE;QACX,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC3I,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC/H,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACnI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,2BAA2B;YAC5J,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACnI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,uDAAuD;SAC1L;QACD,IAAI,EAAE,EAAE;QACR,cAAc,EAAE,EAAE;KAClB;CACD,EACD,KAAK,SAAS,CAAC,EAAE,EAAY,EAAE,GAAa;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,YAAY,CAAC,4CAA4C,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACxF,CAAC;IAED,IAAI,CAAC;QACJ,yCAAyC;QACzC,MAAM,MAAM,GAAG,IAAI,2BAA2B,EAAE,CAAC;QAEjD,2CAA2C;QAC3C,IAAI,IAAiD,CAAC;QACtD,IAAI,CAAC;YACJ,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAEvB,6DAA6D;YAC7D,MAAM,OAAO,GAAU,EAAE,CAAC;YAC1B,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,oDAAoD;YACxE,CAAC;YAED,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,cAAuB,EAAE,CAAC;YAClC,4DAA4D;YAC5D,MAAM,OAAO,GAAG,cAAc,YAAY,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAClG,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,OAAO,CAAC,CAAC;QACrE,CAAC;QAED,2DAA2D;QAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QAC5C,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;QAEpE,gEAAgE;QAChE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA4B,CAAC;QAC9D,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;YAChD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC9C,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,iBAAiB,CAAC,GAAG,CAAC,gBAAgB,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC;QAED,0CAA0C;QAC1C,KAAK,MAAM,CAAC,gBAAgB,EAAE,oBAAoB,CAAC,IAAI,iBAAiB,CAAC,OAAO,EAAE,EAAE,CAAC;YACpF,MAAM,SAAS,GAAG,oBAAoB,CAAC,MAAM,CAAC;YAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,oBAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtD,MAAM,KAAK,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;gBACtC,MAAM,SAAS,GAAG,CAAC,KAAK,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;gBAExD,MAAM;oBACL,gBAAgB,EAAqD,oBAAoB;oBACzF,KAAK,CAAC,IAAI,IAAI,SAAS,EAA4C,YAAY;oBAC/E,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAgD,YAAY;oBAC/E,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAuC,WAAW;oBAC9E,KAAK,CAAC,SAAS,EAAqD,eAAe;oBACnF,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAuC,+BAA+B;iBAClG,CAAC;YACH,CAAC;QACF,CAAC;QAED,sDAAsD;QACtD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM;gBACL,CAAC,EAA6C,oBAAoB;gBAClE,aAAa,EAAgC,YAAY;gBACzD,CAAC,EAA4C,YAAY;gBACzD,iBAAiB,CAAC,oCAAoC,CAAC,EAAE,WAAW;gBACpE,IAAI,CAAC,GAAG,EAAE,EAAmC,eAAe;gBAC5D,CAAC,CAA4C,YAAY;aACzD,CAAC;QACH,CAAC;IAEF,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACzB,+CAA+C;QAC/C,MAAM;YACL,CAAC,EAAyD,oBAAoB;YAC9E,iBAAiB,EAAwC,YAAY;YACrE,CAAC,EAAwD,YAAY;YACrE,iBAAiB,CAAC,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,WAAW;YACtH,IAAI,CAAC,GAAG,EAAE,EAA+C,eAAe;YACxE,IAAI,CAAqD,YAAY;SACrE,CAAC;IACH,CAAC;AACF,CAAC,CACD,CAAC;AAEF,+CAA+C;AAC/C,MAAM,CAAC,MAAM,cAAc,GAAG,mCAAmC,CAChE;IACC,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,KAAK,EAAE,oBAAoB;IAC1C,UAAU,EAAE;QACX,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAClI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAClI,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACvI,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACvI,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACtI,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SACrI;QACD,IAAI,EAAE,EAAE;QACR,cAAc,EAAE,EAAE;KAClB;CACD,EACD,KAAK,SAAS,CAAC,EAAE,GAAa,EAAE,IAAc;IAC7C,yCAAyC;AAC1C,CAAC,CACD,CAAC;AAEF,uEAAuE;AACvE,0EAA0E;AAC1E,MAAM,CAAC,MAAM,iBAAiB,GAAG,mCAAmC,CACnE;IACC,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,KAAK,EAAE,4CAA4C;IAClE,UAAU,EAAE;QACX,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACrI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC7H,wEAAwE;YACxE,wEAAwE;YACxE,uEAAuE;YACvE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC9H,yEAAyE;YACzE,yEAAyE;YACzE,4EAA4E;YAC5E,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACvI,0EAA0E;YAC1E,uDAAuD;YACvD,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC1I,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SACpI;QACD,IAAI,EAAE,EAAE;QACR,cAAc,EAAE,EAAE;KAClB;CACD,EACD,KAAK,SAAS,CAAC,EAAE,EAAY,EAAE,SAAmB,EAAE,QAAkB;IACrE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACnE,MAAM,IAAI,YAAY,CAAC,qEAAqE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACjH,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CAAC,mCAAmC,SAAS,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,YAAY,CAAC,mCAAmC,SAAS,2BAA2B,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACnH,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,YAAY,CAAC,6CAA6C,SAAS,IAAI,QAAQ,GAAG,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpH,CAAC;IAED,yEAAyE;IACzE,yEAAyE;IACzE,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,EAAE,gBAAgB,IAAI,IAAI,CAAC;IACrE,MAAM,OAAO,GAAG,uBAAuB,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACvD,MAAM,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,YAAY,IAAI,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;IACvG,CAAC;AACF,CAAC,CACD,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,SAAS,uBAAuB,CAAC,EAAY,EAAE,IAAc;IAC5D,IAAI,CAAC;QACJ,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,YAA6B,CAAC,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACvE,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO,UAAU,CAAC;YACrC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;gBAAE,OAAO,UAAU,CAAC;YACrD,OAAO,MAAM,CAAC;QACf,CAAC,CAAC,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,GAAG,CAAC,+FAA+F,EAAE,CAAC,CAAC,CAAC;QACxG,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;AACF,CAAC;AAED,iFAAiF;AACjF,gFAAgF;AAChF,sEAAsE;AACtE,EAAE;AACF,iFAAiF;AACjF,kEAAkE;AAClE,8EAA8E;AAC9E,8DAA8D;AAC9D,iFAAiF;AACjF,kCAAkC;AAClC,8EAA8E;AAC9E,8EAA8E;AAC9E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,iBAAiB,GAAG,mCAAmC,CACnE;IACC,IAAI,EAAE,wBAAwB;IAC9B,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,KAAK,EAAE,mDAAmD;IACzE,UAAU,EAAE;QACX,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACpI,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACrI,gDAAgD;YAChD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC/H,uEAAuE;YACvE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAClI,mDAAmD;YACnD,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACxI,uFAAuF;YACvF,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACtI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SAC7H;QACD,IAAI,EAAE,EAAE;QACR,cAAc,EAAE,EAAE;KAClB;CACD,EACD,KAAK,SAAS,CAAC,EAAE,EAAY,EAAE,SAAmB;IACjD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,YAAY,CAAC,mEAAmE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC/G,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CAAC,mCAAmC,SAAS,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACxG,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,YAAY,CAAC,mCAAmC,SAAS,2BAA2B,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACnH,CAAC;IAED,wEAAwE;IACxE,4EAA4E;IAC5E,kDAAkD;IAClD,MAAM,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IAC3E,IAAI,CAAC,KAAK,EAAE,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO;IAE/C,0EAA0E;IAC1E,0EAA0E;IAC1E,+BAA+B;IAC/B,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe;QAClD,CAAC,CAAC,EAAE,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;QAC3E,CAAC,CAAC,SAAS,CAAC;IACb,MAAM,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnF,MAAM,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAChF,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACtB,MAAM;YACL,CAAC,CAAC,YAAY;YACd,CAAC,CAAC,aAAa;YACf,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7B,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,CAAC,CAAC,MAAM;SACR,CAAC;IACH,CAAC;AACF,CAAC,CACD,CAAC;AAEF,6EAA6E;AAC7E,+EAA+E;AAC/E,iFAAiF;AACjF,2EAA2E;AAC3E,oEAAoE;AACpE,MAAM,CAAC,MAAM,kBAAkB,GAAG,mCAAmC,CACpE;IACC,IAAI,EAAE,yBAAyB;IAC/B,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,KAAK,EAAE,6CAA6C;IACnE,UAAU,EAAE;QACX,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACpI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC3H,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAChI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC5H,2EAA2E;YAC3E,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC7H,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC/H,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACzI,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC1I,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SAC9H;QACD,IAAI,EAAE,EAAE;QACR,cAAc,EAAE,EAAE;KAClB;CACD,EACD,KAAK,SAAS,CAAC,EAAE,EAAY,EAAE,SAAmB;IACjD,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACnC,MAAM,IAAI,YAAY,CAAC,oEAAoE,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAChH,CAAC;IACD,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,IAAI,YAAY,CAAC,oCAAoC,SAAS,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC/B,MAAM,IAAI,YAAY,CAAC,oCAAoC,SAAS,2BAA2B,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACpH,CAAC;IACD,MAAM,MAAM,GAAG,EAAE,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACzE,IAAI,CAAC,MAAM;QAAE,OAAO,CAAC,sDAAsD;IAE3E,yEAAyE;IACzE,sEAAsE;IACtE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACjC,MAAM;YACL,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI;YACtE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO;SACpE,CAAC;IACH,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM;YACL,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI;YACtE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC,cAAc;YAC/D,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,kBAAkB,EAAE,CAAC,CAAC,mBAAmB,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO;SAC3E,CAAC;IACH,CAAC;AACF,CAAC,CACD,CAAC;AAEF,0EAA0E;AAC1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,mCAAmC,CACtE;IACC,IAAI,EAAE,mBAAmB;IACzB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE;QACX,SAAS,EAAE,UAAU;QACrB,UAAU,EAAE,IAAI;QAChB,KAAK,EAAE,KAAK;QACZ,OAAO,EAAE;YACR,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAChI,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACnI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YAC3H,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;YACrI,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,oCAAoC;YAC9K,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;SACpI;QACD,IAAI,EAAE,EAAE;QACR,cAAc,EAAE,EAAE;KAClB;CACD,EACD,KAAK,SAAS,CAAC,EAAE,EAAY,EAAE,aAAuB;IACrD,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,YAAY,CAAC,oDAAoD,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAChG,CAAC;IAED,yEAAyE;IACzE,oEAAoE;IACpE,MAAM,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;IAChD,MAAM,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,YAAY,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACtF,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3F,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAC9B,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,UAAU;WAChC,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,CAAC,CAAC;IACjF,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,MAAM,IAAI,YAAY,CAAC,wBAAwB,aAAa,EAAE,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC;IAEnC,uCAAuC;IACvC,IAAI,GAAkB,CAAC;IACvB,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC5B,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;IAC1C,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,IAAI,YAAY,CAAC,kCAAmC,CAAW,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,KAAK,EAAE,CAAU,CAAC,CAAC;IAChH,CAAC;IAED,4EAA4E;IAC5E,gEAAgE;IAChE,4EAA4E;IAC5E,6EAA6E;IAC7E,yDAAyD;IACzD,MAAM,QAAQ,GAAG,4BAA4B,CAC5C,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,UAAU,CAAkC,CAAC;IAEjE,qDAAqD;IACrD,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAEpE,KAAK,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,eAAe,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,QAAQ,GAAkB,IAAI,CAAC;QACnC,IAAI,IAAI,EAAE,CAAC;YACV,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;YACnD,IAAI,KAAK,EAAE,CAAC;gBACX,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;oBACnB,wDAAwD;oBACxD,MAAM,OAAO,GAAG,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC;oBAClD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAClE,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAClC,CAAC;qBAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;oBAC5B,oEAAoE;oBACpE,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;oBAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;oBACvE,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAClC,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM;YACL,SAAS,CAAC,IAAI;YACd,WAAW;YACX,IAAI;YACJ,GAAG;YACH,QAAQ;YACR,GAAG;SACH,CAAC;IACH,CAAC;AACF,CAAC,CACD,CAAC"}
|
|
1
|
+
{"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../../src/func/builtins/explain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import type * as AST from '../../parser/ast.js';
|
|
2
|
+
import type { TableSchema } from '../../schema/table.js';
|
|
3
|
+
/**
|
|
4
|
+
* One identifying key column of a capture correlation, with its **declared**
|
|
5
|
+
* nullability. Key membership does not imply NOT NULL (docs/schema.md
|
|
6
|
+
* § Primary-key nullability), and key comparison treats NULL as a value equal to
|
|
7
|
+
* itself — so a capture reader correlating on a nullable key column must use the
|
|
8
|
+
* NULL-safe equality {@link captureKeyEquality} emits, or a row keyed NULL is
|
|
9
|
+
* silently unaddressable.
|
|
10
|
+
*/
|
|
11
|
+
export interface KeyColumnInfo {
|
|
12
|
+
readonly name: string;
|
|
13
|
+
/** True when the column's declared type admits NULL (`ColumnSchema.notNull === false`). */
|
|
14
|
+
readonly nullable: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Look one correlation key column up on its base schema (case-insensitively). An
|
|
18
|
+
* unknown column (defensive — every caller resolves the name off validated
|
|
19
|
+
* schema/advertisement metadata) reads as **nullable**, so a correlation over it
|
|
20
|
+
* falls back to the NULL-safe form: semantically identical for a NOT NULL column,
|
|
21
|
+
* merely less index-friendly. The one place declared nullability is read, so the
|
|
22
|
+
* decomposition write fan-out and the lens read body cannot drift apart on the
|
|
23
|
+
* gate that decides {@link captureKeyEquality}'s shape.
|
|
24
|
+
*/
|
|
25
|
+
export declare function keyColumnInfo(schema: TableSchema, name: string): KeyColumnInfo;
|
|
26
|
+
/**
|
|
27
|
+
* Per-key-column equality for correlating two spellings of one key value — a
|
|
28
|
+
* capture (`__vmupd_keys`) reader to its target row, and equally a decomposition
|
|
29
|
+
* lens's stitch-key correlations (the get body's `anchor ⋈ member` ON condition
|
|
30
|
+
* and EAV entity subquery in `schema/lens-compiler.ts`, and the write fan-out's
|
|
31
|
+
* anchor EXISTS correlation in `decomposition.ts`):
|
|
32
|
+
*
|
|
33
|
+
* ```
|
|
34
|
+
* left = right -- column declared NOT NULL
|
|
35
|
+
* left = right or (left is null and right is null) -- column declared nullable
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* The nullability gate exists because SQL `=` yields UNKNOWN when either operand
|
|
39
|
+
* is NULL: a nullable key column needs the NULL-safe disjunction (NULL is a
|
|
40
|
+
* self-equal key value), while a NOT NULL column keeps the plain `=`, which
|
|
41
|
+
* stays index-friendly where a disjunction can cost the engine a seek. Sibling
|
|
42
|
+
* implementation: `planner/analysis/key-filter.ts` emits the same per-column
|
|
43
|
+
* shape for residual key filters (as plan nodes rather than AST).
|
|
44
|
+
*
|
|
45
|
+
* Operands are cloned into each emitted position, so a caller may pass the same
|
|
46
|
+
* node it uses elsewhere without sharing AST subtrees.
|
|
47
|
+
*
|
|
48
|
+
* NOTE: the gate reads the **declared** nullability, so a database run under
|
|
49
|
+
* `pragma default_column_nullability = nullable` declares every key column nullable
|
|
50
|
+
* and every capture correlation takes the disjunction — including the ones a NOT NULL
|
|
51
|
+
* default would have left as a seekable `=`. Correct either way, but if view writes
|
|
52
|
+
* under that pragma ever show up as slow, narrow the gate to the *reachable* nullability
|
|
53
|
+
* (a key column with a NOT NULL check, or one the body's predicate already excludes NULL
|
|
54
|
+
* on) rather than the declared one.
|
|
55
|
+
*/
|
|
56
|
+
export declare function captureKeyEquality(left: AST.Expression, right: AST.Expression, nullable: boolean): AST.Expression;
|
|
57
|
+
//# sourceMappingURL=capture-correlation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-correlation.d.ts","sourceRoot":"","sources":["../../../../src/planner/mutation/capture-correlation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAGzD;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2FAA2F;IAC3F,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAG9E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,GAAG,GAAG,CAAC,UAAU,CAUjH"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { cloneExpr } from './scope-transform.js';
|
|
2
|
+
/**
|
|
3
|
+
* Look one correlation key column up on its base schema (case-insensitively). An
|
|
4
|
+
* unknown column (defensive — every caller resolves the name off validated
|
|
5
|
+
* schema/advertisement metadata) reads as **nullable**, so a correlation over it
|
|
6
|
+
* falls back to the NULL-safe form: semantically identical for a NOT NULL column,
|
|
7
|
+
* merely less index-friendly. The one place declared nullability is read, so the
|
|
8
|
+
* decomposition write fan-out and the lens read body cannot drift apart on the
|
|
9
|
+
* gate that decides {@link captureKeyEquality}'s shape.
|
|
10
|
+
*/
|
|
11
|
+
export function keyColumnInfo(schema, name) {
|
|
12
|
+
const col = schema.columns.find(c => c.name.toLowerCase() === name.toLowerCase());
|
|
13
|
+
return { name, nullable: !col || !col.notNull };
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Per-key-column equality for correlating two spellings of one key value — a
|
|
17
|
+
* capture (`__vmupd_keys`) reader to its target row, and equally a decomposition
|
|
18
|
+
* lens's stitch-key correlations (the get body's `anchor ⋈ member` ON condition
|
|
19
|
+
* and EAV entity subquery in `schema/lens-compiler.ts`, and the write fan-out's
|
|
20
|
+
* anchor EXISTS correlation in `decomposition.ts`):
|
|
21
|
+
*
|
|
22
|
+
* ```
|
|
23
|
+
* left = right -- column declared NOT NULL
|
|
24
|
+
* left = right or (left is null and right is null) -- column declared nullable
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* The nullability gate exists because SQL `=` yields UNKNOWN when either operand
|
|
28
|
+
* is NULL: a nullable key column needs the NULL-safe disjunction (NULL is a
|
|
29
|
+
* self-equal key value), while a NOT NULL column keeps the plain `=`, which
|
|
30
|
+
* stays index-friendly where a disjunction can cost the engine a seek. Sibling
|
|
31
|
+
* implementation: `planner/analysis/key-filter.ts` emits the same per-column
|
|
32
|
+
* shape for residual key filters (as plan nodes rather than AST).
|
|
33
|
+
*
|
|
34
|
+
* Operands are cloned into each emitted position, so a caller may pass the same
|
|
35
|
+
* node it uses elsewhere without sharing AST subtrees.
|
|
36
|
+
*
|
|
37
|
+
* NOTE: the gate reads the **declared** nullability, so a database run under
|
|
38
|
+
* `pragma default_column_nullability = nullable` declares every key column nullable
|
|
39
|
+
* and every capture correlation takes the disjunction — including the ones a NOT NULL
|
|
40
|
+
* default would have left as a seekable `=`. Correct either way, but if view writes
|
|
41
|
+
* under that pragma ever show up as slow, narrow the gate to the *reachable* nullability
|
|
42
|
+
* (a key column with a NOT NULL check, or one the body's predicate already excludes NULL
|
|
43
|
+
* on) rather than the declared one.
|
|
44
|
+
*/
|
|
45
|
+
export function captureKeyEquality(left, right, nullable) {
|
|
46
|
+
const eq = { type: 'binary', operator: '=', left: cloneExpr(left), right: cloneExpr(right) };
|
|
47
|
+
if (!nullable)
|
|
48
|
+
return eq;
|
|
49
|
+
const bothNull = {
|
|
50
|
+
type: 'binary',
|
|
51
|
+
operator: 'AND',
|
|
52
|
+
left: { type: 'unary', operator: 'IS NULL', expr: cloneExpr(left) },
|
|
53
|
+
right: { type: 'unary', operator: 'IS NULL', expr: cloneExpr(right) },
|
|
54
|
+
};
|
|
55
|
+
return { type: 'binary', operator: 'OR', left: eq, right: bothNull };
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=capture-correlation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture-correlation.js","sourceRoot":"","sources":["../../../../src/planner/mutation/capture-correlation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAgBjD;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,MAAmB,EAAE,IAAY;IAC9D,MAAM,GAAG,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAClF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAoB,EAAE,KAAqB,EAAE,QAAiB;IAChG,MAAM,EAAE,GAAmB,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IAC7G,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAmB;QAChC,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAmB;QACpF,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAmB;KACtF,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACtE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decomposition.d.ts","sourceRoot":"","sources":["../../../../src/planner/mutation/decomposition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAIhD,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC7F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAQ/E,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAwC,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"decomposition.d.ts","sourceRoot":"","sources":["../../../../src/planner/mutation/decomposition.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FilterNode } from '../nodes/filter.js';
|
|
2
2
|
import { ProjectNode } from '../nodes/project-node.js';
|
|
3
3
|
import { buildTableReference } from '../building/table.js';
|
|
4
|
-
import { combineAnd } from './single-source.js';
|
|
4
|
+
import { combineAnd, SELF_ALIAS } from './single-source.js';
|
|
5
5
|
import { transformExpr, cloneExpr } from './scope-transform.js';
|
|
6
6
|
import { buildExpression } from '../building/expression.js';
|
|
7
7
|
import { columnSchemaToScalarType } from '../type-utils.js';
|
|
@@ -10,6 +10,7 @@ import { containsNonDeterministicCall } from '../analysis/check-extraction.js';
|
|
|
10
10
|
import { FunctionFlags } from '../../common/constants.js';
|
|
11
11
|
import { analyzeBodyLineage } from './backward-body.js';
|
|
12
12
|
import { keyColumnName, capturedValueSubquery } from './multi-source.js';
|
|
13
|
+
import { captureKeyEquality, keyColumnInfo } from './capture-correlation.js';
|
|
13
14
|
import { raiseMutationDiagnostic } from './mutation-diagnostic.js';
|
|
14
15
|
/**
|
|
15
16
|
* Plan the synthesized get body **once** and read its threaded `updateLineage`
|
|
@@ -435,19 +436,26 @@ function decomposeDelete(ctx, view, shape, stmt) {
|
|
|
435
436
|
* One member's delete. No predicate ⇒ an unconditional `delete from <member>`
|
|
436
437
|
* (truncate the component — also the sound singleton path, which has no key to
|
|
437
438
|
* thread). With an anchor predicate ⇒ `delete from <member> where
|
|
438
|
-
* <memberKeyOrEntity> in (select <anchorKey> from <anchor> where <pred>)
|
|
439
|
+
* <memberKeyOrEntity> in (select <anchorKey> from <anchor> where <pred>)` — or
|
|
440
|
+
* the NULL-safe correlated EXISTS with the target aliased {@link SELF_ALIAS}
|
|
441
|
+
* when both stitch columns are nullable ({@link anchorKeyCorrelation}), so a
|
|
442
|
+
* NULL-keyed component row does not survive the fan-out as an orphan.
|
|
439
443
|
*/
|
|
440
444
|
function memberDeleteOp(ctx, view, shape, member, pred, stmt) {
|
|
441
445
|
let where;
|
|
446
|
+
let targetAlias;
|
|
442
447
|
if (pred) {
|
|
443
448
|
const memberCol = member.attributePivot
|
|
444
449
|
? member.attributePivot.entityColumn // EAV: delete every triple for the matched entities
|
|
445
450
|
: singleKeyColumn(view, shape, member);
|
|
446
|
-
|
|
451
|
+
const correlation = anchorKeyCorrelation(ctx, shape, member, memberCol, pred);
|
|
452
|
+
where = correlation.where;
|
|
453
|
+
targetAlias = correlation.targetAlias;
|
|
447
454
|
}
|
|
448
455
|
const statement = {
|
|
449
456
|
type: 'delete',
|
|
450
457
|
table: memberIdentifier(member),
|
|
458
|
+
alias: targetAlias,
|
|
451
459
|
where,
|
|
452
460
|
contextValues: stmt.contextValues,
|
|
453
461
|
schemaPath: stmt.schemaPath,
|
|
@@ -754,19 +762,20 @@ function collectValueScopes(expr) {
|
|
|
754
762
|
walk(expr);
|
|
755
763
|
return { qualifiers, hasUnqualifiedColumn, hasSubquery };
|
|
756
764
|
}
|
|
757
|
-
/**
|
|
765
|
+
/**
|
|
766
|
+
* `update <member> set <cols> where <memberKey> in (select <anchorKey> from <anchor>
|
|
767
|
+
* where <pred>)` — or the NULL-safe correlated EXISTS with the target aliased
|
|
768
|
+
* {@link SELF_ALIAS} when both stitch columns are nullable ({@link anchorKeyCorrelation}).
|
|
769
|
+
*/
|
|
758
770
|
function memberUpdateOp(ctx, view, shape, member, assignments, pred, stmt) {
|
|
759
771
|
const memberKey = singleKeyColumn(view, shape, member);
|
|
760
|
-
const
|
|
761
|
-
type: 'in',
|
|
762
|
-
expr: { type: 'column', name: memberKey },
|
|
763
|
-
subquery: anchorKeySubquery(shape, pred),
|
|
764
|
-
};
|
|
772
|
+
const correlation = anchorKeyCorrelation(ctx, shape, member, memberKey, pred);
|
|
765
773
|
const statement = {
|
|
766
774
|
type: 'update',
|
|
767
775
|
table: memberIdentifier(member),
|
|
776
|
+
alias: correlation.targetAlias,
|
|
768
777
|
assignments: assignments.map(a => ({ column: a.column, value: a.value })),
|
|
769
|
-
where,
|
|
778
|
+
where: correlation.where,
|
|
770
779
|
contextValues: stmt.contextValues,
|
|
771
780
|
schemaPath: stmt.schemaPath,
|
|
772
781
|
loc: stmt.loc,
|
|
@@ -941,7 +950,7 @@ function emitCapturedMemberUpdate(ctx, view, shape, member, cells, pred, stmt, o
|
|
|
941
950
|
// basis column so the two read-back sites (member key, anchor key) bind the same alias.
|
|
942
951
|
const srcByCell = cells.map(c => registerCapturedExpr(`cap:${member.relationId.toLowerCase()}:${c.basisColumn.toLowerCase()}`, cloneExpr(c.value)));
|
|
943
952
|
// Matched UPDATE (unfiltered over the present rows): each value read back by the member key.
|
|
944
|
-
ops.push(memberUpdateOp(ctx, view, shape, member, cells.map((c, i) => ({ column: c.basisColumn, value: capturedValueSubquery(srcByCell[i], 0, [memberKey]) })), pred, stmt));
|
|
953
|
+
ops.push(memberUpdateOp(ctx, view, shape, member, cells.map((c, i) => ({ column: c.basisColumn, value: capturedValueSubquery(srcByCell[i], 0, [keyColumnInfo(schema, memberKey)]) })), pred, stmt));
|
|
945
954
|
// Materialize INSERT (filtered over the absent rows): each value read back by the anchor key.
|
|
946
955
|
ops.push(buildCapturedMaterializeInsert(ctx, view, shape, member, cells, srcByCell, pred, stmt));
|
|
947
956
|
}
|
|
@@ -963,6 +972,7 @@ function buildCapturedMaterializeInsert(ctx, view, shape, member, cells, srcByCe
|
|
|
963
972
|
const ref = resolveMemberTable(ctx, member);
|
|
964
973
|
const schema = ref.tableSchema;
|
|
965
974
|
const anchorKey = singleKeyColumn(view, shape, shape.anchor);
|
|
975
|
+
const anchorKeyInfo = keyColumnInfo(resolveMemberTable(ctx, shape.anchor).tableSchema, anchorKey);
|
|
966
976
|
const memberKey = singleKeyColumn(view, shape, member);
|
|
967
977
|
const targetColumns = [memberKey];
|
|
968
978
|
const projections = [
|
|
@@ -970,14 +980,14 @@ function buildCapturedMaterializeInsert(ctx, view, shape, member, cells, srcByCe
|
|
|
970
980
|
];
|
|
971
981
|
cells.forEach((c, i) => {
|
|
972
982
|
targetColumns.push(c.basisColumn);
|
|
973
|
-
projections.push({ type: 'column', expr: capturedValueSubquery(srcByCell[i], 0, [
|
|
983
|
+
projections.push({ type: 'column', expr: capturedValueSubquery(srcByCell[i], 0, [anchorKeyInfo]) });
|
|
974
984
|
});
|
|
975
985
|
assertNoMissingNotNull(view, schema, targetColumns.map((baseColumn) => ({ baseColumn })));
|
|
976
986
|
// Non-empty image filter: OR over each captured value (read back by the anchor key) being
|
|
977
987
|
// non-null. A fresh `capturedValueSubquery` per disjunct (distinct AST nodes from the
|
|
978
988
|
// projections') keeps the filter self-contained.
|
|
979
989
|
const nonEmpty = cells
|
|
980
|
-
.map((_, i) => ({ type: 'unary', operator: 'IS NOT NULL', expr: capturedValueSubquery(srcByCell[i], 0, [
|
|
990
|
+
.map((_, i) => ({ type: 'unary', operator: 'IS NOT NULL', expr: capturedValueSubquery(srcByCell[i], 0, [anchorKeyInfo]) }))
|
|
981
991
|
.reduce((acc, e) => acc ? { type: 'binary', operator: 'OR', left: acc, right: e } : e);
|
|
982
992
|
const where = combineAnd(pred ? cloneExpr(pred) : undefined, nonEmpty);
|
|
983
993
|
const select = {
|
|
@@ -1327,34 +1337,34 @@ function emitEavCapturedAttr(ctx, view, shape, member, pivot, cell, pred, stmt,
|
|
|
1327
1337
|
// so both read-back sites (entity column, anchor key) bind the same alias.
|
|
1328
1338
|
const srcAlias = registerCapturedExpr(`cap:${member.relationId.toLowerCase()}:attr:${cell.attribute.toLowerCase()}`, cloneExpr(cell.value));
|
|
1329
1339
|
// Matched UPDATE: existing triples read the captured value back by the entity column.
|
|
1330
|
-
ops.push(buildEavAttrOp(ctx, view, shape, member, pivot, cell, pred, stmt, 'update', capturedValueSubquery(srcAlias, 0, [pivot.entityColumn])));
|
|
1340
|
+
ops.push(buildEavAttrOp(ctx, view, shape, member, pivot, cell, pred, stmt, 'update', capturedValueSubquery(srcAlias, 0, [keyColumnInfo(resolveMemberTable(ctx, member).tableSchema, pivot.entityColumn)])));
|
|
1331
1341
|
// Materialize INSERT: entities lacking the triple, value read back by the anchor key, non-null filtered.
|
|
1332
1342
|
ops.push(buildEavCapturedInsert(ctx, view, shape, member, pivot, cell, srcAlias, pred, stmt));
|
|
1333
1343
|
}
|
|
1334
1344
|
/**
|
|
1335
1345
|
* One matched EAV op for an attribute: `update <pivot> set <valCol> = <value>` (upsert
|
|
1336
1346
|
* value branch) or `delete from <pivot>` (null branch), each scoped
|
|
1337
|
-
* `where <attrCol> = '<attribute>' and <entityCol> in (<anchor subquery>)
|
|
1347
|
+
* `where <attrCol> = '<attribute>' and <entityCol> in (<anchor subquery>)` — the entity
|
|
1348
|
+
* correlation taking the NULL-safe EXISTS form (target aliased {@link SELF_ALIAS}) when
|
|
1349
|
+
* both the entity column and the anchor key are nullable ({@link anchorKeyCorrelation});
|
|
1350
|
+
* the attribute conjunct compares a non-null literal and stays plain `=`. `valueOverride`
|
|
1338
1351
|
* supplies the matched-UPDATE value for a `captured` cell (the `__vmupd_keys` read-back correlated
|
|
1339
1352
|
* by the entity column); absent, the cell's own lowered value is used (the `constant` branch).
|
|
1340
1353
|
*/
|
|
1341
1354
|
function buildEavAttrOp(ctx, view, shape, member, pivot, cell, pred, stmt, op, valueOverride) {
|
|
1342
|
-
const
|
|
1343
|
-
|
|
1344
|
-
expr: { type: 'column', name: pivot.entityColumn },
|
|
1345
|
-
subquery: anchorKeySubquery(shape, pred),
|
|
1346
|
-
});
|
|
1355
|
+
const correlation = anchorKeyCorrelation(ctx, shape, member, pivot.entityColumn, pred);
|
|
1356
|
+
const where = combineAnd(eavAttrEquals(pivot, cell.attribute), correlation.where);
|
|
1347
1357
|
const table = memberIdentifier(member);
|
|
1348
1358
|
const resolved = resolveMemberTable(ctx, member);
|
|
1349
1359
|
if (op === 'delete') {
|
|
1350
1360
|
const statement = {
|
|
1351
|
-
type: 'delete', table, where,
|
|
1361
|
+
type: 'delete', table, alias: correlation.targetAlias, where,
|
|
1352
1362
|
contextValues: stmt.contextValues, schemaPath: stmt.schemaPath, loc: stmt.loc,
|
|
1353
1363
|
};
|
|
1354
1364
|
return { table: resolved, op: 'delete', statement };
|
|
1355
1365
|
}
|
|
1356
1366
|
const statement = {
|
|
1357
|
-
type: 'update', table,
|
|
1367
|
+
type: 'update', table, alias: correlation.targetAlias,
|
|
1358
1368
|
assignments: [{ column: pivot.valueColumn, value: valueOverride ?? cloneExpr(cell.value) }],
|
|
1359
1369
|
where,
|
|
1360
1370
|
contextValues: stmt.contextValues, schemaPath: stmt.schemaPath, loc: stmt.loc,
|
|
@@ -1426,8 +1436,9 @@ function buildEavInsertSelect(ctx, view, shape, member, pivot, cell, pred, stmt,
|
|
|
1426
1436
|
function buildEavCapturedInsert(ctx, view, shape, member, pivot, cell, srcAlias, pred, stmt) {
|
|
1427
1437
|
const ref = resolveMemberTable(ctx, member);
|
|
1428
1438
|
const anchorKey = singleKeyColumn(view, shape, shape.anchor);
|
|
1439
|
+
const anchorKeyInfo = keyColumnInfo(resolveMemberTable(ctx, shape.anchor).tableSchema, anchorKey);
|
|
1429
1440
|
// A fresh read-back subquery per use (projection + filter) — distinct AST nodes.
|
|
1430
|
-
const capturedVal = () => capturedValueSubquery(srcAlias, 0, [
|
|
1441
|
+
const capturedVal = () => capturedValueSubquery(srcAlias, 0, [anchorKeyInfo]);
|
|
1431
1442
|
const projections = [
|
|
1432
1443
|
{ type: 'column', expr: { type: 'column', name: anchorKey, table: shape.anchor.relationId } },
|
|
1433
1444
|
{ type: 'column', expr: { type: 'literal', value: cell.attribute } },
|
|
@@ -1627,6 +1638,58 @@ function anchorKeySubquery(shape, pred) {
|
|
|
1627
1638
|
where: pred ? cloneExpr(pred) : undefined,
|
|
1628
1639
|
};
|
|
1629
1640
|
}
|
|
1641
|
+
/**
|
|
1642
|
+
* The identifying correlation a member op routes on: `<memberCol> in (select <anchorKey>
|
|
1643
|
+
* from <anchor> [where <pred>])` when either stitch column is declared NOT NULL, or the
|
|
1644
|
+
* NULL-safe correlated `exists (select 1 from <anchor> where [<pred> and] <per-column
|
|
1645
|
+
* {@link captureKeyEquality}>)` when **both** are nullable — NULL is a self-equal key
|
|
1646
|
+
* value (docs/schema.md § Primary-key nullability), and `NULL IN (…)` is UNKNOWN, so
|
|
1647
|
+
* the IN shape leaves a NULL-keyed member row unreachable (an update misses it; a
|
|
1648
|
+
* fan-out delete strands it as an orphan). The both-sides gate keeps the emitted
|
|
1649
|
+
* statement byte-identical to the legacy IN form for any schema whose stitch key is
|
|
1650
|
+
* NOT NULL on either side. `memberCol` is the member's stitch key, or the EAV pivot's
|
|
1651
|
+
* entity column.
|
|
1652
|
+
*
|
|
1653
|
+
* On the EXISTS branch the member operand is qualified with {@link SELF_ALIAS} — under
|
|
1654
|
+
* a logical-tuple key the anchor and member key columns are spelled identically, so a
|
|
1655
|
+
* bare ref inside the subquery would bind the anchor's column, not the outer target
|
|
1656
|
+
* row. The caller must stamp the returned `targetAlias` onto the emitted UPDATE/DELETE
|
|
1657
|
+
* (`stmt.alias` → `AliasedScope`, `building/update.ts` / `building/delete.ts`);
|
|
1658
|
+
* `targetAlias` is undefined on the IN branch so NOT NULL schemas keep an alias-free
|
|
1659
|
+
* statement. Composite stitch keys are deferred by {@link singleKeyColumn}, so the
|
|
1660
|
+
* per-column shape degenerates to one column here.
|
|
1661
|
+
*
|
|
1662
|
+
* NOTE: the EXISTS branch is **correlated**, so unlike the uncorrelated IN subquery it
|
|
1663
|
+
* cannot be evaluated once per statement. The anchor's own value-column UPDATE routes
|
|
1664
|
+
* through here too (it is a mandatory member of its own fan-out) and so self-correlates
|
|
1665
|
+
* against the table it writes — where {@link anchorDeleteOp} sidesteps the same shape by
|
|
1666
|
+
* applying the bare predicate. Not measured; if a nullable-stitch-key lens write ever
|
|
1667
|
+
* shows up in profiles, give the anchor member the bare-predicate form the delete side
|
|
1668
|
+
* already uses, and consider a NULL-safe uncorrelated membership shape for the rest.
|
|
1669
|
+
*/
|
|
1670
|
+
function anchorKeyCorrelation(ctx, shape, member, memberCol, pred) {
|
|
1671
|
+
const anchorKey = singleKeyColumn(undefined, shape, shape.anchor);
|
|
1672
|
+
const anchorInfo = keyColumnInfo(resolveMemberTable(ctx, shape.anchor).tableSchema, anchorKey);
|
|
1673
|
+
const memberInfo = keyColumnInfo(resolveMemberTable(ctx, member).tableSchema, memberCol);
|
|
1674
|
+
if (!(anchorInfo.nullable && memberInfo.nullable)) {
|
|
1675
|
+
return {
|
|
1676
|
+
where: { type: 'in', expr: { type: 'column', name: memberCol }, subquery: anchorKeySubquery(shape, pred) },
|
|
1677
|
+
};
|
|
1678
|
+
}
|
|
1679
|
+
const keyEq = captureKeyEquality({ type: 'column', name: anchorKey, table: shape.anchor.relationId }, { type: 'column', name: memberCol, table: SELF_ALIAS }, true);
|
|
1680
|
+
return {
|
|
1681
|
+
where: {
|
|
1682
|
+
type: 'exists',
|
|
1683
|
+
subquery: {
|
|
1684
|
+
type: 'select',
|
|
1685
|
+
columns: [{ type: 'column', expr: { type: 'literal', value: 1 } }],
|
|
1686
|
+
from: [{ ...memberIdentifierSource(shape.anchor), alias: shape.anchor.relationId }],
|
|
1687
|
+
where: combineAnd(pred ? cloneExpr(pred) : undefined, keyEq),
|
|
1688
|
+
},
|
|
1689
|
+
},
|
|
1690
|
+
targetAlias: SELF_ALIAS,
|
|
1691
|
+
};
|
|
1692
|
+
}
|
|
1630
1693
|
/**
|
|
1631
1694
|
* Substitute references to logical columns (unqualified, or qualified by the
|
|
1632
1695
|
* logical table's own name) with their backing get-body expression. Base-member-
|