@quereus/quereus 4.15.2 → 4.17.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/core/database-auto-analyze.d.ts +258 -0
- package/dist/src/core/database-auto-analyze.d.ts.map +1 -0
- package/dist/src/core/database-auto-analyze.js +616 -0
- package/dist/src/core/database-auto-analyze.js.map +1 -0
- package/dist/src/core/database-materialized-views.d.ts +42 -1
- package/dist/src/core/database-materialized-views.d.ts.map +1 -1
- package/dist/src/core/database-materialized-views.js +76 -3
- package/dist/src/core/database-materialized-views.js.map +1 -1
- package/dist/src/core/database-transaction.d.ts +17 -0
- package/dist/src/core/database-transaction.d.ts.map +1 -1
- package/dist/src/core/database-transaction.js +37 -0
- package/dist/src/core/database-transaction.js.map +1 -1
- package/dist/src/core/database.d.ts +8 -1
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +135 -5
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/planner/analysis/change-scope.d.ts.map +1 -1
- package/dist/src/planner/analysis/change-scope.js +8 -8
- package/dist/src/planner/analysis/change-scope.js.map +1 -1
- package/dist/src/planner/analysis/constraint-extractor.d.ts.map +1 -1
- package/dist/src/planner/analysis/constraint-extractor.js +27 -14
- package/dist/src/planner/analysis/constraint-extractor.js.map +1 -1
- package/dist/src/planner/analysis/expression-fingerprint.d.ts.map +1 -1
- package/dist/src/planner/analysis/expression-fingerprint.js +23 -2
- package/dist/src/planner/analysis/expression-fingerprint.js.map +1 -1
- package/dist/src/planner/analysis/mv-body-functions.d.ts +46 -0
- package/dist/src/planner/analysis/mv-body-functions.d.ts.map +1 -0
- package/dist/src/planner/analysis/mv-body-functions.js +65 -0
- package/dist/src/planner/analysis/mv-body-functions.js.map +1 -0
- package/dist/src/planner/analysis/predicate-shape.d.ts +32 -4
- package/dist/src/planner/analysis/predicate-shape.d.ts.map +1 -1
- package/dist/src/planner/analysis/predicate-shape.js +37 -5
- package/dist/src/planner/analysis/predicate-shape.js.map +1 -1
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts +2 -2
- package/dist/src/planner/analysis/query-rewrite-matcher.d.ts.map +1 -1
- package/dist/src/planner/analysis/query-rewrite-matcher.js +46 -6
- package/dist/src/planner/analysis/query-rewrite-matcher.js.map +1 -1
- package/dist/src/planner/analysis/sat-checker.js +2 -5
- package/dist/src/planner/analysis/sat-checker.js.map +1 -1
- package/dist/src/planner/building/select-aggregates.d.ts +17 -5
- package/dist/src/planner/building/select-aggregates.d.ts.map +1 -1
- package/dist/src/planner/building/select-aggregates.js +122 -79
- package/dist/src/planner/building/select-aggregates.js.map +1 -1
- package/dist/src/planner/building/select-modifiers.d.ts +1 -1
- package/dist/src/planner/building/select.d.ts.map +1 -1
- package/dist/src/planner/building/select.js +73 -55
- package/dist/src/planner/building/select.js.map +1 -1
- package/dist/src/planner/cost/index.d.ts +14 -0
- package/dist/src/planner/cost/index.d.ts.map +1 -1
- package/dist/src/planner/cost/index.js +19 -0
- package/dist/src/planner/cost/index.js.map +1 -1
- package/dist/src/planner/nodes/limit-offset.d.ts.map +1 -1
- package/dist/src/planner/nodes/limit-offset.js +3 -2
- package/dist/src/planner/nodes/limit-offset.js.map +1 -1
- package/dist/src/planner/nodes/table-access-nodes.d.ts.map +1 -1
- package/dist/src/planner/nodes/table-access-nodes.js +31 -7
- package/dist/src/planner/nodes/table-access-nodes.js.map +1 -1
- package/dist/src/planner/optimizer-tuning.d.ts +10 -6
- package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
- package/dist/src/planner/optimizer-tuning.js.map +1 -1
- package/dist/src/planner/optimizer.d.ts.map +1 -1
- package/dist/src/planner/optimizer.js +24 -0
- package/dist/src/planner/optimizer.js.map +1 -1
- package/dist/src/planner/rules/access/rule-monotonic-range-access.d.ts.map +1 -1
- package/dist/src/planner/rules/access/rule-monotonic-range-access.js +8 -4
- package/dist/src/planner/rules/access/rule-monotonic-range-access.js.map +1 -1
- package/dist/src/planner/rules/access/rule-select-access-path.d.ts +14 -0
- package/dist/src/planner/rules/access/rule-select-access-path.d.ts.map +1 -1
- package/dist/src/planner/rules/access/rule-select-access-path.js +5 -1
- package/dist/src/planner/rules/access/rule-select-access-path.js.map +1 -1
- package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts +3 -1
- package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.d.ts.map +1 -1
- package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js +8 -3
- package/dist/src/planner/rules/aggregate/rule-groupby-fd-simplification.js.map +1 -1
- package/dist/src/planner/rules/aggregate/rule-minmax-index-boundary.d.ts +47 -0
- package/dist/src/planner/rules/aggregate/rule-minmax-index-boundary.d.ts.map +1 -0
- package/dist/src/planner/rules/aggregate/rule-minmax-index-boundary.js +200 -0
- package/dist/src/planner/rules/aggregate/rule-minmax-index-boundary.js.map +1 -0
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts +29 -0
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.d.ts.map +1 -1
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js +55 -16
- package/dist/src/planner/rules/cache/rule-nested-loop-right-cache.js.map +1 -1
- package/dist/src/planner/rules/join/index-nested-loop.d.ts +96 -22
- package/dist/src/planner/rules/join/index-nested-loop.d.ts.map +1 -1
- package/dist/src/planner/rules/join/index-nested-loop.js +401 -82
- package/dist/src/planner/rules/join/index-nested-loop.js.map +1 -1
- package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts +20 -0
- package/dist/src/planner/rules/join/rule-fanout-batched-outer.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-fanout-batched-outer.js +23 -4
- package/dist/src/planner/rules/join/rule-fanout-batched-outer.js.map +1 -1
- package/dist/src/planner/rules/join/rule-join-greedy-commute.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-join-greedy-commute.js +7 -0
- package/dist/src/planner/rules/join/rule-join-greedy-commute.js.map +1 -1
- package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts +19 -2
- package/dist/src/planner/rules/join/rule-join-physical-selection.d.ts.map +1 -1
- package/dist/src/planner/rules/join/rule-join-physical-selection.js +262 -40
- package/dist/src/planner/rules/join/rule-join-physical-selection.js.map +1 -1
- package/dist/src/planner/rules/predicate/rule-sargable-range-rewrite.d.ts.map +1 -1
- package/dist/src/planner/rules/predicate/rule-sargable-range-rewrite.js +2 -1
- package/dist/src/planner/rules/predicate/rule-sargable-range-rewrite.js.map +1 -1
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts +21 -0
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.d.ts.map +1 -1
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +24 -6
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js.map +1 -1
- package/dist/src/planner/rules/shared/access-leaf.d.ts +12 -12
- package/dist/src/planner/rules/shared/access-leaf.d.ts.map +1 -1
- package/dist/src/planner/rules/shared/access-leaf.js +3 -14
- package/dist/src/planner/rules/shared/access-leaf.js.map +1 -1
- package/dist/src/planner/stats/analyze.d.ts.map +1 -1
- package/dist/src/planner/stats/analyze.js +9 -3
- package/dist/src/planner/stats/analyze.js.map +1 -1
- package/dist/src/planner/stats/catalog-stats.d.ts.map +1 -1
- package/dist/src/planner/stats/catalog-stats.js +6 -10
- package/dist/src/planner/stats/catalog-stats.js.map +1 -1
- package/dist/src/planner/type-utils.d.ts.map +1 -1
- package/dist/src/planner/type-utils.js +3 -5
- package/dist/src/planner/type-utils.js.map +1 -1
- package/dist/src/planner/util/fd-utils.d.ts.map +1 -1
- package/dist/src/planner/util/fd-utils.js +4 -7
- package/dist/src/planner/util/fd-utils.js.map +1 -1
- package/dist/src/runtime/emit/alter-table.d.ts.map +1 -1
- package/dist/src/runtime/emit/alter-table.js +58 -4
- package/dist/src/runtime/emit/alter-table.js.map +1 -1
- package/dist/src/runtime/emit/analyze.d.ts.map +1 -1
- package/dist/src/runtime/emit/analyze.js +1 -2
- package/dist/src/runtime/emit/analyze.js.map +1 -1
- package/dist/src/runtime/emit/binary.d.ts.map +1 -1
- package/dist/src/runtime/emit/binary.js +5 -3
- package/dist/src/runtime/emit/binary.js.map +1 -1
- package/dist/src/runtime/emit/fanout-lookup-join.d.ts.map +1 -1
- package/dist/src/runtime/emit/fanout-lookup-join.js +9 -1
- package/dist/src/runtime/emit/fanout-lookup-join.js.map +1 -1
- package/dist/src/runtime/emit/limit-offset.d.ts.map +1 -1
- package/dist/src/runtime/emit/limit-offset.js +50 -24
- package/dist/src/runtime/emit/limit-offset.js.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts +33 -2
- package/dist/src/runtime/emit/materialized-view-helpers.d.ts.map +1 -1
- package/dist/src/runtime/emit/materialized-view-helpers.js +61 -5
- 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 +6 -1
- package/dist/src/runtime/emit/materialized-view.js.map +1 -1
- package/dist/src/runtime/emit/ordinal-slice.d.ts.map +1 -1
- package/dist/src/runtime/emit/ordinal-slice.js +8 -0
- package/dist/src/runtime/emit/ordinal-slice.js.map +1 -1
- package/dist/src/schema/derivation.d.ts +15 -1
- package/dist/src/schema/derivation.d.ts.map +1 -1
- package/dist/src/schema/derivation.js.map +1 -1
- package/dist/src/schema/function.d.ts +9 -4
- package/dist/src/schema/function.d.ts.map +1 -1
- package/dist/src/schema/function.js +11 -9
- package/dist/src/schema/function.js.map +1 -1
- package/dist/src/schema/schema.d.ts +14 -3
- package/dist/src/schema/schema.d.ts.map +1 -1
- package/dist/src/schema/schema.js +20 -2
- package/dist/src/schema/schema.js.map +1 -1
- package/dist/src/schema/table.d.ts +27 -0
- package/dist/src/schema/table.d.ts.map +1 -1
- package/dist/src/schema/table.js +55 -0
- package/dist/src/schema/table.js.map +1 -1
- package/dist/src/schema/unique-enforcement.d.ts +6 -13
- package/dist/src/schema/unique-enforcement.d.ts.map +1 -1
- package/dist/src/schema/unique-enforcement.js +8 -17
- package/dist/src/schema/unique-enforcement.js.map +1 -1
- package/dist/src/util/comparison.d.ts +19 -0
- package/dist/src/util/comparison.d.ts.map +1 -1
- package/dist/src/util/comparison.js +22 -0
- package/dist/src/util/comparison.js.map +1 -1
- package/dist/src/vtab/best-access-plan.d.ts +34 -0
- package/dist/src/vtab/best-access-plan.d.ts.map +1 -1
- package/dist/src/vtab/best-access-plan.js +64 -0
- package/dist/src/vtab/best-access-plan.js.map +1 -1
- package/dist/src/vtab/index-descriptor.d.ts +9 -0
- package/dist/src/vtab/index-descriptor.d.ts.map +1 -1
- package/dist/src/vtab/index-descriptor.js +15 -0
- package/dist/src/vtab/index-descriptor.js.map +1 -1
- package/dist/src/vtab/memory/layer/manager.d.ts +11 -9
- package/dist/src/vtab/memory/layer/manager.d.ts.map +1 -1
- package/dist/src/vtab/memory/layer/manager.js +12 -43
- package/dist/src/vtab/memory/layer/manager.js.map +1 -1
- package/dist/src/vtab/memory/module.d.ts +18 -0
- package/dist/src/vtab/memory/module.d.ts.map +1 -1
- package/dist/src/vtab/memory/module.js +176 -24
- package/dist/src/vtab/memory/module.js.map +1 -1
- package/dist/src/vtab/memory/table.d.ts +27 -3
- package/dist/src/vtab/memory/table.d.ts.map +1 -1
- package/dist/src/vtab/memory/table.js +28 -59
- package/dist/src/vtab/memory/table.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"change-scope.js","sourceRoot":"","sources":["../../../../src/planner/analysis/change-scope.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACxG,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAoB,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AA2C3D,SAAS,iBAAiB,CAAC,CAAa;IACvC,OAAO,CAAC,KAAK,IAAI;WACb,OAAO,CAAC,KAAK,QAAQ;WACrB,CAAC,CAAC,CAAC,YAAY,UAAU,CAAC;WAC1B,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;WACjB,MAAM,IAAI,CAAC;WACV,CAAwB,CAAC,IAAI,KAAK,OAAO;WAC1C,OAAO,IAAI,CAAC;WACZ,MAAM,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,sBAAsB,CAAC,CAAa;IAC5C,MAAM,MAAM,GAAuB;QAClC,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI;QAC5B,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,GAAG,CAAC,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,CAAC,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;IACF,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,CAAqB;IAC3D,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7C,OAAO;QACN,SAAS,EAAE,QAAQ;QACnB,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,GAAG,CAAC,CAAC,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,CAAC,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClF,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACnE,CAAC;AACH,CAAC;AA8ED,+EAA+E;AAE/E,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IAChC,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,cAAc;IAC1D,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW;IACvC,SAAS,EAAE,UAAU,EAAE,cAAc;IACrC,UAAU;CACV,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;AAE7D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAe;IAC5C,YAAY,CAAC,MAAM;IACnB,YAAY,CAAC,MAAM;IACnB,YAAY,CAAC,MAAM;IACnB,YAAY,CAAC,cAAc;CAC3B,CAAC,CAAC;AAsBH;;;;;;;GAOG;AACH,MAAM,UAAU,kBAAkB,CACjC,IAAc,EACd,OAGC;IAED,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,CAAC,IAA0B,CAAC,CAAC;IAEpE,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEzC,MAAM,eAAe,GAAG,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC5D,MAAM,aAAa,GAAmB,EAAE,CAAC;IACzC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAmB,CAAC;IACjD,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;IAEvE,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,6EAA6E;IAC7E,2EAA2E;IAC3E,yBAAyB;IACzB,MAAM,cAAc,GAAkB,EAAE,CAAC;IACzC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI;gBAAE,SAAS;YAEpB,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC5D,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACrD,MAAM,KAAK,GAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YAEtE,6EAA6E;YAC7E,6EAA6E;YAC7E,2EAA2E;YAC3E,yEAAyE;YACzE,uDAAuD;YACvD,MAAM,OAAO,GAAG,OAAO,EAAE,6BAA6B,EAAE,CAAC,KAAK,CAAC,CAAC;YAChE,IAAI,OAAO,EAAE,CAAC;gBACb,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC7B,SAAS;YACV,CAAC;YAED,MAAM,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAgC,cAAc,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,iBAAiB,CAAC,IAA0B,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YAC9F,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACzC,CAAC;IACF,CAAC;IAED,IAAI,KAAK,GAAgB;QACxB,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;QAClC,uBAAuB,EAAE,eAAe,CAAC,aAAa,CAAC;QACvD,iBAAiB,EAAE,uBAAuB,CAAC,aAAa,CAAC;KACzD,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACtC,KAAK,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QACnC,KAAK,GAAG,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,IAAc;IAC5C,qEAAqE;IACrE,2EAA2E;IAC3E,0EAA0E;IAC1E,2EAA2E;IAC3E,kEAAkE;IAClE,IAAI,IAAI,YAAY,YAAY,EAAE,CAAC;QAClC,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,SAAS,YAAY,CAAC,IAAc;QACnC,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC1D,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACpC,IAAI,YAAY,CAAC,CAAwB,CAAC;gBAAE,OAAO,IAAI,CAAC;QACzD,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,SAAS,SAAS,CAAC,IAAc;QAChC,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QACnD,IAAI,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1C,kEAAkE;YAClE,MAAM,KAAK,GAAI,IAA8C,CAAC,UAAU,CAAC;YACzE,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;QACF,CAAC;QACD,wEAAwE;QACxE,mDAAmD;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAwB,CAAC,CAAC;QAChF,OAAO,KAAK,CAAC;IACd,CAAC;IAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,+EAA+E;AAE/E;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,IAAc;IACvC,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAY,CAAC;IACpC,SAAS,IAAI,CAAC,IAAc;QAC3B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QAC9B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClB,IAAI,IAAI,YAAY,kBAAkB,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACf,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC;QACF,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,CAAwB,CAAC,CAAC;QACnE,gEAAgE;QAChE,sEAAsE;QACtE,qEAAqE;QACrE,yEAAyE;QACzE,eAAe;QACf,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,EAAE;YAAE,IAAI,CAAC,CAAwB,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,CAAC;IACX,OAAO,GAAG,CAAC;AACZ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,kBAAkB,CAAC,IAAc,EAAE,SAAwC;IACnF,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;IACtD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA8C,CAAC;IACjF,MAAM,WAAW,GAAG,IAAI,GAAG,EAA8B,CAAC;IAC1D,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAClC,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QAClC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,SAAS,KAAK,CAAC,IAAc;QAC5B,IAAI,IAAI,YAAY,mBAAmB,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,IAAI,EAAE,CAAC;gBACV,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpC,iEAAiE;gBACjE,2CAA2C;gBAC3C,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;oBACnB,MAAM,CAAC,GAAG,GAAG,IAAI,IAAI,GAAG,EAAU,CAAC;oBACnC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACnB,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC;QACF,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,KAAK,CAAC,CAAwB,CAAC,CAAC;IACrE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC;IAEZ,6EAA6E;IAC7E,4EAA4E;IAC5E,4EAA4E;IAC5E,8EAA8E;IAC9E,8EAA8E;IAC9E,+EAA+E;IAC/E,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,aAAa,EAAE;YAAE,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,WAAW,EAAE,CAAC;QACzC,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;YACnE,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,sBAAsB,CAAC,IAAc;IAC7C,IAAI,gBAAgB,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;AAC5B,CAAC;AAED;;;GAGG;AACH,SAAS,qBAAqB,CAC7B,IAAc,EACd,GAAmB,EACnB,aAAmC,EACnC,WAA6C;IAE7C,sEAAsE;IACtE,wEAAwE;IACxE,qEAAqE;IACrE,sEAAsE;IACtE,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAEpE,SAAS,KAAK,CAAC,IAAc;QAC5B,IAAI,IAAI,YAAY,sBAAsB,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,GAAG,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC9E,IAAI,CAAC,KAAK,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACpD,IAAI,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC5B,CAAC;qBAAM,IAAI,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;gBAC9B,CAAC;qBAAM,CAAC;oBACP,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzC,CAAC;YACF,CAAC;QACF,CAAC;QACD,IAAI,IAAI,YAAY,sBAAsB,EAAE,CAAC;YAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YAC5B,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtB,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC/B,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAC5C,CAAC;QACF,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,KAAK,CAAC,CAAwB,CAAC,CAAC;IACrE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC;AACb,CAAC;AAED,yFAAyF;AACzF,SAAS,uBAAuB,CAC/B,IAAc,EACd,WAA6C;IAE7C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC1C,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,SAAS;QACrC,MAAM,WAAW,GAAG,0BAA0B,CAAC,IAA0B,EAAE,MAAM,CAAC,CAAC;QACnF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;QAC1E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;YACjG,IAAI,CAAC,KAAK;gBAAE,SAAS;YACrB,MAAM,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC;YAC3B,IAAI,CAAC,EAAE;gBAAE,SAAS;YAClB,MAAM,KAAK,GAAqB,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACvB,MAAM,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;gBAC7B,IAAI,EAAE,KAAK,SAAS;oBAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtC,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,IAAoB;IAC3C,qEAAqE;IACrE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,IAAI;QAChD,CAAC,CAAE,IAA+C,CAAC,OAAO;QAC1D,CAAC,CAAC,IAAI,CAAC;IACR,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,+EAA+E;AAE/E,SAAS,cAAc,CAAC,GAAuB,EAAE,OAAwC;IACxF,IAAI,OAAO,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACpC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CACzB,IAAwB,EACxB,GAAuB,EACvB,MAAc,EACd,IAAiB,EACjB,aAAmC;IAEnC,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC;IAE1E,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACzB,uEAAuE;QACvE,yEAAyE;QACzE,gEAAgE;QAChE,8CAA8C;QAC9C,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACzB,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACjF,oEAAoE;QACpE,sEAAsE;QACtE,qEAAqE;QACrE,mEAAmE;QACnE,kDAAkD;QAClD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAChD,CAAC;IACD,wBAAwB;IACxB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;IACnF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAC7D,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAC3B,IAAwB,EACxB,MAAc,EACd,UAA6B,EAC7B,aAAmC;IAEnC,MAAM,WAAW,GAAG,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAE7D,2DAA2D;IAC3D,MAAM,YAAY,GAAmB,EAAE,CAAC;IACxC,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC;QACrG,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,CAAC,CAAa,EAAQ,EAAE;YACpC,MAAM,GAAG,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzB,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;QACF,CAAC,CAAC;QACF,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACzB,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,SAA8B,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC3F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAI,CAAC,CAAC,KAAoB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzD,MAAM,CAAC,GAAI,CAAC,CAAC,KAAoB,CAAC,CAAC,CAAC,CAAC;oBACrC,MAAM,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC5B,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;wBACrB,IAAI,CAAC,CAAC,CAAC,CAAC;oBACT,CAAC;yBAAM,IAAI,MAAM,EAAE,CAAC;wBACnB,MAAM,EAAE,GAAG,kBAAkB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;wBACrD,IAAI,EAAE,KAAK,SAAS;4BAAE,OAAO,EAAE,CAAC;wBAChC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACV,CAAC;yBAAM,CAAC;wBACP,OAAO,EAAE,CAAC;oBACX,CAAC;gBACF,CAAC;YACF,CAAC;iBAAM,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;oBAC1E,IAAI,CAAC,CAAC,CAAC,KAAiB,CAAC,CAAC;gBAC3B,CAAC;qBAAM,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC;oBACvD,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;oBAC1D,IAAI,EAAE,KAAK,SAAS;wBAAE,OAAO,EAAE,CAAC;oBAChC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACV,CAAC;qBAAM,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBAClC,IAAI,CAAC,CAAC,CAAC,KAAiB,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACP,OAAO,EAAE,CAAC;gBACX,CAAC;YACF,CAAC;QACF,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,qEAAqE;IACrE,mEAAmE;IACnE,qEAAqE;IACrE,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAC9C,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAoB,EAAE,aAAmC;IACpF,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,IAAI;QAChD,CAAC,CAAE,IAA+C,CAAC,OAAO;QAC1D,CAAC,CAAC,IAAI,CAAC;IACR,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;QAC7C,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,IAAI,EAAE,sBAAsB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;IACpG,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,YAAY,CAAC,OAAO,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,KAAuD,CAAC;QACpE,MAAM,CAAC,GAAG,GAAG,CAAC,UAAU,EAAE,KAAK,CAAC;QAChC,IAAI,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACtC,OAAO,CAAC,CAAC;IACV,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAyC;IAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,CAAC;IACnD,MAAM,MAAM,GAAmB,CAAC,EAAE,CAAC,CAAC;IACpC,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAmB,EAAE,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;YAC7B,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBACrB,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;QACD,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED,+EAA+E;AAE/E,SAAS,gBAAgB,CAAC,OAAqB;IAC9C,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,cAAc,CAAC,CAAa,EAAE,CAAa;IACnD,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtD,IAAI,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IACxB,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACxB,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAC3C,OAAO,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AACrF,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAiB;IAC/C,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACzC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,UAAU,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACxE,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,QAAQ,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IAC3F,OAAO,eAAe,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;AAC5E,CAAC;AAED,SAAS,SAAS,CAAC,MAAgD;IAClE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAa;IACzC,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IACD,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAC9B,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;IACtD,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,EAAE,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,EAAE,CAAC;IAC3C,IAAI,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,EAAE,CAAC;IAC5C,IAAI,CAAC,YAAY,UAAU;QAAE,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5G,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAsB;IACjD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa,CAAC,CAAwB,EAAE,CAAwB;IACxE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;AAC5B,CAAC;AAED,SAAS,kBAAkB,CAAC,CAAa,EAAE,CAAa;IACvD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;IACtC,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QAC1B,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,QAAQ;QAAE,OAAO,CAAC,CAAC;IACvB,IAAI,QAAQ;QAAE,OAAO,CAAC,CAAC,CAAC;IACxB,OAAO,gBAAgB,CAAC,CAAa,EAAE,CAAa,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,eAAe,CAAC,OAAuB;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC7C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,SAAS,CAAC,CAAe;IACjC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QAChB,KAAK,MAAM,CAAC,CAAC,CAAC;YAAC,OAAO,GAAG,CAAC;QAAC,CAAC;QAC5B,KAAK,QAAQ,CAAC,CAAC,CAAC;YAAC,OAAO,GAAG,CAAC;QAAC,CAAC;QAC9B,KAAK,aAAa,CAAC,CAAC,CAAC;YAAC,OAAO,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;QAC7C,KAAK,WAAW,CAAC,CAAC,CAAC;YAAC,OAAO,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;IAC7C,CAAC;AACF,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAyB;IACzD,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IACrB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACjB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC;QACrC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC;QACrC,IAAI,MAAM,IAAI,MAAM;YAAE,OAAQ,CAAY,GAAI,CAAY,CAAC;QAC3D,IAAI,MAAM;YAAE,OAAO,CAAC,CAAC,CAAC;QACtB,IAAI,MAAM;YAAE,OAAO,CAAC,CAAC;QACrB,OAAQ,CAAY,CAAC,aAAa,CAAC,CAAW,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,+EAA+E;AAE/E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,qBAAqB,CAAC,YAAmC;IACxE,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,KAAK,MAAM,SAAS,IAAI,YAAY,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,OAAO;QACN,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;QAClC,uBAAuB,EAAE,EAAE;QAC3B,iBAAiB,EAAE,EAAE;KACrB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,CAAc,EAAE,CAAc;IACzD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC9C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;QAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7D,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO;QACN,OAAO,EAAE,gBAAgB,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAChD,uBAAuB,EAAE,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC;QACtG,iBAAiB,EAAE,uBAAuB,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;KACrG,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,CAAc,EAAE,CAAc;IAC7D,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAsB,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO;QAAE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9D,MAAM,GAAG,GAAiB,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxC,IAAI,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,2DAA2D;IAC3D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtF,8DAA8D;IAC9D,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,iBAAiB;QAAE,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7E,OAAO;QACN,OAAO,EAAE,gBAAgB,CAAC,GAAG,CAAC;QAC9B,uBAAuB,EAAE,eAAe,CAAC,YAAY,CAAC;QACtD,iBAAiB,EAAE,uBAAuB,CAAC,YAAY,CAAC;KACxD,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,CAAgB;IACjC,OAAO,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;AACjC,CAAC;AAED,SAAS,UAAU,CAAC,CAAa,EAAE,CAAa;IAC/C,MAAM,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IAChD,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,YAAY,CAAC,CAA8B,EAAE,CAA8B;IACnF,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC7C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAS,CAAC,CAAC,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,CAAC;QAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9B,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,eAAe,CAAC,CAAa,EAAE,CAAa;IACpD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAEpE,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5D,IAAI,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9E,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAC1D,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7F,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC;IAED,kEAAkE;IAClE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACzB,CAAC;AAED,SAAS,cAAc,CAAC,CAAa,EAAE,CAAa;IACnD,MAAM,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,mBAAmB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,gBAAgB,CAAC,CAA8B,EAAE,CAA8B;IACvF,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,CAAC,CAAC;IAC1B,IAAI,CAAC,KAAK,KAAK;QAAE,OAAO,CAAC,CAAC;IAC1B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAC9B,KAAK,MAAM,CAAC,IAAI,CAAC;QAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAa,EAAE,CAAa;IACxD,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IAChC,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC;IAEhC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,gFAAgF;QAChF,IAAI,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5D,IAAI,QAAQ;YAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC5C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QAC1D,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QAChD,MAAM,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACpE,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,OAAO,CAAC,CAAoB,EAAE,CAAoB;IAC1D,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE;QAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;IACnE,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,WAAW,CACnB,CAA2C,EAC3C,CAA2C;IAE3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAqC,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChB,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,eAAe,CACvB,CAA2C,EAC3C,CAA2C;IAE3C,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,+EAA+E;AAE/E,MAAM,UAAU,cAAc,CAAC,KAAkB,EAAE,MAAkC;IACpF,MAAM,MAAM,GAAG,CAAC,EAAmB,EAAwB,EAAE;QAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3B,IAAI,OAAO,EAAE,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACzB,OAAO,CAAC,CAAC;QACV,CAAC;QACD,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAQ,MAAmC,CAAC,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;YACzE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YACjB,CAAC,CAAC,EAAE,CAAC;QACN,MAAM,GAAG,GAAG,MAAkC,CAAC;QAC/C,IAAI,GAAG,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,EAAE,IAAI,GAAG;YAAE,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,OAAO,SAAS,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,CAAa,EAAc,EAAE;QACrD,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;QACvC,CAAC;QACD,OAAO,CAAC,CAAC;IACV,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,MAAgD,EAA4C,EAAE;QACvH,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;QACpD,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC,CAAC;IAEF,MAAM,UAAU,GAAiB,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACtD,IAAI,QAAQ,GAAe,CAAC,CAAC,KAAK,CAAC;QACnC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC7B,QAAQ,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACzF,CAAC;aAAM,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3C,QAAQ,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACxG,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAmB,CAAC;IACpD,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1C,IAAI,MAAM,CAAC,EAAE,CAAC,KAAK,SAAS;YAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;QAChE,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW;YAAE,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;QACjE,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,OAAO;QACN,OAAO,EAAE,gBAAgB,CAAC,UAAU,CAAC;QACrC,uBAAuB,EAAE,eAAe,CAAC,eAAe,CAAC;QACzD,iBAAiB,EAAE,uBAAuB,CAAC,gBAAgB,CAAC;KAC5D,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E,MAAM,UAAU,OAAO,CAAC,KAAkB;IACzC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;WAC7B,KAAK,CAAC,uBAAuB,CAAC,MAAM,KAAK,CAAC;WAC1C,KAAK,CAAC,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAkB;IACrD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC;AACjF,CAAC;AA0BD,MAAM,UAAU,oBAAoB,CAAC,KAAkB;IACtD,OAAO;QACN,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE;YACvD,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE;YAC5D,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC;SAC9B,CAAC,CAAC;QACH,uBAAuB,EAAE,CAAC,GAAG,KAAK,CAAC,uBAAuB,CAAC;QAC3D,iBAAiB,EAAE,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC;KAC/C,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,KAAiB;IACxC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IACpF,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO;YACN,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;YACnB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;SACzD,CAAC;IACH,CAAC;IACD,OAAO;QACN,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;KACzD,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,CAAa;IACzC,IAAI,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;IACzC,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,CAAa,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAA0B;IAChE,OAAO;QACN,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE;YACvD,OAAO,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAS,CAAC,CAAC,OAAO,CAAC;YACjE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,CAAC;SAChC,CAAC,CAAC;QACH,uBAAuB,EAAE,CAAC,GAAG,GAAG,CAAC,uBAAuB,CAAC;QACzD,iBAAiB,EAAE,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC;KAC7C,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,KAA2B;IACpD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACnD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IACpF,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC3B,OAAO;YACN,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC;YACnB,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;SAC3D,CAAC;IACH,CAAC;IACD,OAAO;QACN,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3B,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;KAC3D,CAAC;AACH,CAAC;AAED,SAAS,qBAAqB,CAAC,CAAuB;IACrD,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACrE,OAAO,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC"}
|
|
1
|
+
{"version":3,"file":"change-scope.js","sourceRoot":"","sources":["../../../../src/planner/analysis/change-scope.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraint-extractor.d.ts","sourceRoot":"","sources":["../../../../src/planner/analysis/constraint-extractor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAOhH,OAAO,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAI3D,OAAO,KAAK,EAAgB,mBAAmB,IAAI,uBAAuB,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"constraint-extractor.d.ts","sourceRoot":"","sources":["../../../../src/planner/analysis/constraint-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,8 +12,10 @@ import { TableReferenceNode } from '../nodes/reference.js';
|
|
|
12
12
|
import { CapabilityDetectors } from '../framework/characteristics.js';
|
|
13
13
|
import { computeClosure, expandEcsToFds, keysOf } from '../util/fd-utils.js';
|
|
14
14
|
import { effectiveBetweenBoundCollation, effectiveComparisonCollation, effectiveInCollation, operandCollation } from './comparison-collation.js';
|
|
15
|
+
import { collationRefines } from '../../util/comparison.js';
|
|
15
16
|
import { isNoOpCast } from './scalar-invertibility.js';
|
|
16
17
|
import { relationKeyHasNodeId, relationKeyOf, relationKeyOfRelation } from './relation-key.js';
|
|
18
|
+
import { planTimeLiteralValue } from './predicate-shape.js';
|
|
17
19
|
const log = createLogger('planner:analysis:constraint-extractor');
|
|
18
20
|
/**
|
|
19
21
|
* Extract constraints from a scalar predicate expression
|
|
@@ -822,14 +824,28 @@ function getColumnReference(node) {
|
|
|
822
824
|
}
|
|
823
825
|
/**
|
|
824
826
|
* Check if node is a literal constant (sees through value-preserving CastNodes).
|
|
827
|
+
* A folded-but-still-pending async subquery constant (a `LiteralNode` whose value
|
|
828
|
+
* is a Promise — see `LiteralNode.getType()`) is a `LiteralNode` but not a
|
|
829
|
+
* plan-time constant; {@link planTimeLiteralValue} rejects it, so this returns
|
|
830
|
+
* false and the conjunct falls through to the residual-filter path.
|
|
825
831
|
*/
|
|
826
832
|
function isLiteralConstant(node) {
|
|
827
|
-
return unwrapCast(node)
|
|
833
|
+
return planTimeLiteralValue(unwrapCast(node)) !== undefined;
|
|
828
834
|
}
|
|
829
835
|
/**
|
|
830
836
|
* True when the value side is a parameter or a column reference from any table
|
|
831
837
|
* (correlation handled later). Classification only — the caller keeps the cast
|
|
832
838
|
* in `valueExpr` and evaluates it at runtime, so a converting cast is fine here.
|
|
839
|
+
*
|
|
840
|
+
* NOTE: a promise-valued LiteralNode (a folded but not-yet-resolved async
|
|
841
|
+
* scalar subquery constant, e.g. `col = (select 1)`) is neither a literal
|
|
842
|
+
* constant (`isLiteralConstant` rejects it) nor recognized here, so it falls
|
|
843
|
+
* through to "no column-constant pattern" and the conjunct stays a residual
|
|
844
|
+
* filter — correct but conservative. If this shape shows up as seek-worthy,
|
|
845
|
+
* revisit routing it through `valueExpr` / `bindingKind` the way a parameter
|
|
846
|
+
* is: the value resolves before the seek runs, but a `LiteralNode` whose
|
|
847
|
+
* `getValue()` returns a Promise has not been validated through the seek
|
|
848
|
+
* binding machinery.
|
|
833
849
|
*/
|
|
834
850
|
function isDynamicValue(node) {
|
|
835
851
|
const inner = unwrapCastForBindingKind(node);
|
|
@@ -966,9 +982,9 @@ function columnSideOf(src, attributeId) {
|
|
|
966
982
|
* cannot conflate values the key's enforcement distinguishes — i.e. the
|
|
967
983
|
* comparison's effective collation is **at least as fine** as the enforcement
|
|
968
984
|
* collation (the column's declared collation: PK/UNIQUE enforcement compares
|
|
969
|
-
* under it — see the memory layer manager's uniqueness checks).
|
|
970
|
-
*
|
|
971
|
-
*
|
|
985
|
+
* under it — see the memory layer manager's uniqueness checks). {@link collationRefines}
|
|
986
|
+
* is the shared two-name test; a comparison whose column side cannot be
|
|
987
|
+
* identified is admitted only when the comparison is itself BINARY.
|
|
972
988
|
*
|
|
973
989
|
* The shape that needs this: constant folding collapses
|
|
974
990
|
* `'bob' COLLATE NOCASE` into a `LiteralNode` whose *type* keeps
|
|
@@ -989,10 +1005,10 @@ function equalityConstraintCollationOk(c) {
|
|
|
989
1005
|
const src = c.sourceExpression;
|
|
990
1006
|
if (src instanceof BinaryOpNode) {
|
|
991
1007
|
const eff = effectiveComparisonCollation(src.left, src.right);
|
|
992
|
-
if (eff === 'BINARY')
|
|
993
|
-
return true;
|
|
994
1008
|
const colSide = columnSideOf(src, c.attributeId);
|
|
995
|
-
|
|
1009
|
+
if (colSide === undefined)
|
|
1010
|
+
return eff === 'BINARY';
|
|
1011
|
+
return collationRefines(eff, operandCollation(colSide));
|
|
996
1012
|
}
|
|
997
1013
|
// Every `op: '='` constraint today is minted by `extractBinaryConstraint`
|
|
998
1014
|
// with the BinaryOpNode itself as `sourceExpression` (OR collapse emits
|
|
@@ -1007,19 +1023,16 @@ function equalityConstraintCollationOk(c) {
|
|
|
1007
1023
|
* runtime membership test (`emitIn`) compares under the lattice-resolved
|
|
1008
1024
|
* collation over the condition AND every listed value, so a wrapped element
|
|
1009
1025
|
* like `b IN ('bob' collate nocase)` compares NOCASE over a BINARY-enforced
|
|
1010
|
-
* key and must not count as covering. Sound cases mirror the equality gate
|
|
1011
|
-
*
|
|
1012
|
-
* collation. OR-collapse-minted IN constraints carry the OR BinaryOpNode as
|
|
1026
|
+
* key and must not count as covering. Sound cases mirror the equality gate —
|
|
1027
|
+
* the same {@link collationRefines} test against the column operand's own
|
|
1028
|
+
* (declared) collation. OR-collapse-minted IN constraints carry the OR BinaryOpNode as
|
|
1013
1029
|
* `sourceExpression` and were already vetted per-branch by
|
|
1014
1030
|
* {@link orBranchConstraintCollationOk}.
|
|
1015
1031
|
*/
|
|
1016
1032
|
function inConstraintCollationOk(c) {
|
|
1017
1033
|
const src = c.sourceExpression;
|
|
1018
1034
|
if (src instanceof InNode) {
|
|
1019
|
-
|
|
1020
|
-
if (eff === 'BINARY')
|
|
1021
|
-
return true;
|
|
1022
|
-
return operandCollation(src.condition) === eff;
|
|
1035
|
+
return collationRefines(effectiveInCollation(src), operandCollation(src.condition));
|
|
1023
1036
|
}
|
|
1024
1037
|
return true;
|
|
1025
1038
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constraint-extractor.js","sourceRoot":"","sources":["../../../../src/planner/analysis/constraint-extractor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constraint-extractor.js","sourceRoot":"","sources":["../../../../src/planner/analysis/constraint-extractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression-fingerprint.d.ts","sourceRoot":"","sources":["../../../../src/planner/analysis/expression-fingerprint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"expression-fingerprint.d.ts","sourceRoot":"","sources":["../../../../src/planner/analysis/expression-fingerprint.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAiB5D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CA4ElE"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { PlanNodeType } from '../nodes/plan-node-type.js';
|
|
8
8
|
import { canonicalJsonString } from '../../util/json-canonical.js';
|
|
9
|
+
import { literalValue } from './predicate-shape.js';
|
|
9
10
|
import { createLogger } from '../../common/logger.js';
|
|
10
11
|
const log = createLogger('planner:expression-fingerprint');
|
|
11
12
|
/** Commutative binary operators where operand order doesn't matter */
|
|
@@ -81,7 +82,23 @@ export function fingerprintExpression(node) {
|
|
|
81
82
|
}
|
|
82
83
|
}
|
|
83
84
|
function fingerprintLiteral(node) {
|
|
84
|
-
|
|
85
|
+
// Not `node.expression.value`: a folded async constant — `(select 1)` — is a literal
|
|
86
|
+
// holding a still-pending Promise (docs/optimizer-const.md §4). Fingerprinted by value
|
|
87
|
+
// it lands in the JSON-document branch below, canonicalizing every one of them to
|
|
88
|
+
// `LI:j{}` so CSE collapses `(select 1)` and `(select 2)` into one computation.
|
|
89
|
+
const value = literalValue(node.expression);
|
|
90
|
+
if (value === undefined) {
|
|
91
|
+
// No plan-time value ⇒ node-unique, never deduplicated against anything. Correct,
|
|
92
|
+
// but it silently disables CSE for this literal, so say so.
|
|
93
|
+
//
|
|
94
|
+
// NOTE: two *textually identical* constant subqueries no longer share one
|
|
95
|
+
// computation either. Cheap today — each occurrence folds separately anyway, so the
|
|
96
|
+
// subqueries already ran once each and CSE only ever saved the enclosing arithmetic.
|
|
97
|
+
// If repeating an expensive constant subquery in one statement ever matters, key
|
|
98
|
+
// these on the folded subquery's identity rather than the node id.
|
|
99
|
+
log('literal has no plan-time value (pending folded constant), fingerprinting node %d uniquely', node.id);
|
|
100
|
+
return `LI:?${node.id}`;
|
|
101
|
+
}
|
|
85
102
|
if (value === null)
|
|
86
103
|
return 'LI:null';
|
|
87
104
|
if (typeof value === 'bigint')
|
|
@@ -117,7 +134,11 @@ function fingerprintLiteral(node) {
|
|
|
117
134
|
return `LI:?${node.id}`;
|
|
118
135
|
}
|
|
119
136
|
}
|
|
120
|
-
|
|
137
|
+
// Unreachable for a well-typed SqlValue. Stay node-unique rather than rendering the
|
|
138
|
+
// value: two literals holding the same unexpected host value would otherwise share a
|
|
139
|
+
// fingerprint and be collapsed into one computation.
|
|
140
|
+
log('literal has an unexpected value type, fingerprinting node %d uniquely', node.id);
|
|
141
|
+
return `LI:?${node.id}`;
|
|
121
142
|
}
|
|
122
143
|
/**
|
|
123
144
|
* Fingerprint for ScalarFunctionCallNode and AggregateFunctionCallNode.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expression-fingerprint.js","sourceRoot":"","sources":["../../../../src/planner/analysis/expression-fingerprint.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"expression-fingerprint.js","sourceRoot":"","sources":["../../../../src/planner/analysis/expression-fingerprint.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Capture of **which registered functions** a maintained table's body resolved to.
|
|
3
|
+
*
|
|
4
|
+
* A materialized view's backing rows are produced by the function registrations that
|
|
5
|
+
* were live when its maintenance plan was built. Registration overwrites by
|
|
6
|
+
* `(name, argument count)`, so a later `db.createAggregateFunction('sum', …)` can make
|
|
7
|
+
* the same name mean something else without touching the stored rows. Comparing names
|
|
8
|
+
* therefore proves nothing; the read-side rewrite compares the LIVE resolution of a
|
|
9
|
+
* name against the schema captured here, by object identity.
|
|
10
|
+
*
|
|
11
|
+
* Written once per registration into
|
|
12
|
+
* {@link import('../../schema/derivation.js').TableDerivation.bodyFunctions} and read by
|
|
13
|
+
* the aggregate arm of `query-rewrite-matcher.ts`.
|
|
14
|
+
*/
|
|
15
|
+
import type * as AST from '../../parser/ast.js';
|
|
16
|
+
import { type FunctionSchema } from '../../schema/function.js';
|
|
17
|
+
/** Resolve a call site `(name, argc)` against the live function registry. Mirrors the
|
|
18
|
+
* planner's own lookup: exact arity first, then the variadic (`-1`) registration. */
|
|
19
|
+
export type BodyFunctionResolver = (name: string, argc: number) => FunctionSchema | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Every function call anywhere in `body`, resolved against the live registry and keyed
|
|
22
|
+
* by `getFunctionKey(name, argc)`. The walk is the reflective whole-body one
|
|
23
|
+
* ({@link walkAstNodes}), so select-list items, WHERE, GROUP BY, HAVING, ORDER BY and
|
|
24
|
+
* any nested subquery are all covered — a visitor enumeration cannot silently miss a
|
|
25
|
+
* clause and leave a consumed function unwitnessed.
|
|
26
|
+
*
|
|
27
|
+
* A name resolving to nothing is simply absent; the read-side gate treats an absent
|
|
28
|
+
* entry as "cannot vouch" and declines the rewrite (always safe — the query is computed
|
|
29
|
+
* from the base tables instead).
|
|
30
|
+
*/
|
|
31
|
+
export declare function captureBodyFunctions(body: AST.QueryExpr, resolve: BodyFunctionResolver): ReadonlyMap<string, FunctionSchema>;
|
|
32
|
+
/**
|
|
33
|
+
* The `(name, argument count)` keys whose resolution CHANGED between two captures — the
|
|
34
|
+
* witness that a maintained table's stored rows and a freshly built maintenance plan
|
|
35
|
+
* disagree about what one of the body's functions means.
|
|
36
|
+
*
|
|
37
|
+
* Compared by object identity over the union of both key sets, so all three ways a call
|
|
38
|
+
* site can move count: it resolves to a different registration, it resolved before and
|
|
39
|
+
* no longer does, or it resolves now and did not before. Comparing names would prove
|
|
40
|
+
* nothing — registration overwrites by `(name, argument count)`, so the name is stable
|
|
41
|
+
* across exactly the takeover this detects.
|
|
42
|
+
*
|
|
43
|
+
* Keys are returned sorted so the diagnostic reads the same run to run; empty ⇒ no drift.
|
|
44
|
+
*/
|
|
45
|
+
export declare function detectBodyFunctionDrift(prior: ReadonlyMap<string, FunctionSchema>, current: ReadonlyMap<string, FunctionSchema>): readonly string[];
|
|
46
|
+
//# sourceMappingURL=mv-body-functions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mv-body-functions.d.ts","sourceRoot":"","sources":["../../../../src/planner/analysis/mv-body-functions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,KAAK,GAAG,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAG/E;sFACsF;AACtF,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAC;AAE9F;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CACnC,IAAI,EAAE,GAAG,CAAC,SAAS,EACnB,OAAO,EAAE,oBAAoB,GAC3B,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,CAYrC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CACtC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,EAC1C,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,GAC1C,SAAS,MAAM,EAAE,CAMnB"}
|