@quereus/quereus 4.21.0 → 4.22.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-cardinality-feedback.d.ts +146 -0
- package/dist/src/core/database-cardinality-feedback.d.ts.map +1 -0
- package/dist/src/core/database-cardinality-feedback.js +274 -0
- package/dist/src/core/database-cardinality-feedback.js.map +1 -0
- package/dist/src/core/database-transaction.d.ts +9 -2
- package/dist/src/core/database-transaction.d.ts.map +1 -1
- package/dist/src/core/database-transaction.js +27 -9
- package/dist/src/core/database-transaction.js.map +1 -1
- package/dist/src/core/database.d.ts +4 -0
- package/dist/src/core/database.d.ts.map +1 -1
- package/dist/src/core/database.js +78 -7
- package/dist/src/core/database.js.map +1 -1
- package/dist/src/core/statement.d.ts +11 -2
- package/dist/src/core/statement.d.ts.map +1 -1
- package/dist/src/core/statement.js +46 -2
- package/dist/src/core/statement.js.map +1 -1
- package/dist/src/func/builtins/cardinality-feedback.d.ts +9 -0
- package/dist/src/func/builtins/cardinality-feedback.d.ts.map +1 -0
- package/dist/src/func/builtins/cardinality-feedback.js +54 -0
- package/dist/src/func/builtins/cardinality-feedback.js.map +1 -0
- package/dist/src/func/builtins/index.d.ts.map +1 -1
- package/dist/src/func/builtins/index.js +2 -0
- package/dist/src/func/builtins/index.js.map +1 -1
- package/dist/src/planner/analysis/value-provenance.d.ts.map +1 -1
- package/dist/src/planner/analysis/value-provenance.js +12 -2
- package/dist/src/planner/analysis/value-provenance.js.map +1 -1
- package/dist/src/planner/nodes/reference.d.ts +7 -0
- package/dist/src/planner/nodes/reference.d.ts.map +1 -1
- package/dist/src/planner/nodes/reference.js +10 -2
- package/dist/src/planner/nodes/reference.js.map +1 -1
- package/dist/src/planner/optimizer-tuning.d.ts +29 -0
- package/dist/src/planner/optimizer-tuning.d.ts.map +1 -1
- package/dist/src/planner/optimizer-tuning.js +7 -1
- package/dist/src/planner/optimizer-tuning.js.map +1 -1
- package/dist/src/planner/rules/retrieve/rule-grow-retrieve.js +6 -6
- package/dist/src/planner/stats/catalog-stats.d.ts +11 -2
- package/dist/src/planner/stats/catalog-stats.d.ts.map +1 -1
- package/dist/src/planner/stats/catalog-stats.js +14 -5
- package/dist/src/planner/stats/catalog-stats.js.map +1 -1
- package/dist/src/planner/stats/table-cardinality.d.ts +52 -18
- package/dist/src/planner/stats/table-cardinality.d.ts.map +1 -1
- package/dist/src/planner/stats/table-cardinality.js +46 -18
- package/dist/src/planner/stats/table-cardinality.js.map +1 -1
- package/dist/src/runtime/cardinality-observations.d.ts +30 -0
- package/dist/src/runtime/cardinality-observations.d.ts.map +1 -0
- package/dist/src/runtime/cardinality-observations.js +37 -0
- package/dist/src/runtime/cardinality-observations.js.map +1 -0
- package/dist/src/runtime/emit/scan.d.ts.map +1 -1
- package/dist/src/runtime/emit/scan.js +29 -0
- package/dist/src/runtime/emit/scan.js.map +1 -1
- package/dist/src/runtime/parallel-driver.d.ts +3 -0
- package/dist/src/runtime/parallel-driver.d.ts.map +1 -1
- package/dist/src/runtime/parallel-driver.js +4 -0
- package/dist/src/runtime/parallel-driver.js.map +1 -1
- package/dist/src/runtime/types.d.ts +12 -0
- package/dist/src/runtime/types.d.ts.map +1 -1
- package/dist/src/runtime/types.js.map +1 -1
- package/dist/src/schema/manager.d.ts +7 -0
- package/dist/src/schema/manager.d.ts.map +1 -1
- package/dist/src/schema/manager.js +8 -0
- package/dist/src/schema/manager.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reference.js","sourceRoot":"","sources":["../../../../src/planner/nodes/reference.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reference.js","sourceRoot":"","sources":["../../../../src/planner/nodes/reference.ts"],"names":[],"mappings":"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"}
|
|
@@ -208,6 +208,35 @@ export interface OptimizerTuning {
|
|
|
208
208
|
*/
|
|
209
209
|
readonly maxCrossProduct: number;
|
|
210
210
|
};
|
|
211
|
+
/**
|
|
212
|
+
* Cardinality feedback: exact table sizes observed during execution, kept in the
|
|
213
|
+
* per-database overlay (`core/database-cardinality-feedback.ts`). See
|
|
214
|
+
* docs/progressive-optimizer.md §3.4 for the record/shift policy.
|
|
215
|
+
*/
|
|
216
|
+
readonly cardinalityFeedback: {
|
|
217
|
+
/**
|
|
218
|
+
* An observation is recorded only when the observed count or the count
|
|
219
|
+
* planning would use without it exceeds this. Below it every plan finishes
|
|
220
|
+
* fast, so small tables keep the numbers they plan with today.
|
|
221
|
+
*/
|
|
222
|
+
readonly minRows: number;
|
|
223
|
+
/**
|
|
224
|
+
* A recorded count "shifts" — resets the entry's baseline and notifies
|
|
225
|
+
* re-planning — when `(max(n, baseline) + 1) / (min(n, baseline) + 1)`
|
|
226
|
+
* reaches this factor. Hysteresis: counts wobbling within it never disturb
|
|
227
|
+
* a cached plan, while steady growth shifts once it has accumulated.
|
|
228
|
+
*/
|
|
229
|
+
readonly shiftFactor: number;
|
|
230
|
+
/** Maximum tables held in the overlay; least-recently-used evicted beyond it. */
|
|
231
|
+
readonly maxTables: number;
|
|
232
|
+
/**
|
|
233
|
+
* A prepared statement's first feedback re-plan is immediate; re-plan `k + 1`
|
|
234
|
+
* waits until it has executed `replanCooldown × 2^min(k − 1, 6)` times since
|
|
235
|
+
* re-plan `k`, so a table oscillating across `shiftFactor` cannot make a
|
|
236
|
+
* statement re-plan on every execution.
|
|
237
|
+
*/
|
|
238
|
+
readonly replanCooldown: number;
|
|
239
|
+
};
|
|
211
240
|
}
|
|
212
241
|
/**
|
|
213
242
|
* Default optimizer tuning parameters
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimizer-tuning.d.ts","sourceRoot":"","sources":["../../../src/planner/optimizer-tuning.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"optimizer-tuning.d.ts","sourceRoot":"","sources":["../../../src/planner/optimizer-tuning.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,6 +79,12 @@ export const DEFAULT_TUNING = {
|
|
|
79
79
|
// unknown estimates count as exceeding it. Bounds the per-outer-row
|
|
80
80
|
// product replay the node materializes.
|
|
81
81
|
maxCrossProduct: 1_000_000,
|
|
82
|
-
}
|
|
82
|
+
},
|
|
83
|
+
cardinalityFeedback: {
|
|
84
|
+
minRows: 1000,
|
|
85
|
+
shiftFactor: 10,
|
|
86
|
+
maxTables: 512,
|
|
87
|
+
replanCooldown: 8,
|
|
88
|
+
},
|
|
83
89
|
};
|
|
84
90
|
//# sourceMappingURL=optimizer-tuning.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"optimizer-tuning.js","sourceRoot":"","sources":["../../../src/planner/optimizer-tuning.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"optimizer-tuning.js","sourceRoot":"","sources":["../../../src/planner/optimizer-tuning.ts"],"names":[],"mappings":"AA+PA;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC9C,kBAAkB,EAAE,IAAI;IACxB,oBAAoB,EAAE,EAAE;IACxB,yBAAyB,EAAE,EAAE;IAC7B,aAAa,EAAE,MAAM;IACrB,IAAI,EAAE;QACL,qBAAqB,EAAE,CAAC;QACxB,sBAAsB,EAAE,KAAK;QAC7B,wBAAwB,EAAE,CAAC;QAC3B,iBAAiB,EAAE,KAAK;KACxB;IACD,GAAG,EAAE;QACJ,iBAAiB,EAAE,KAAK;KACxB;IACD,YAAY,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,qBAAqB,EAAE,KAAK;KAC5B;IACD,KAAK,EAAE;QACN,cAAc,EAAE,MAAM;QACtB,cAAc,EAAE,KAAK;QACrB,YAAY,EAAE,IAAI;KAClB;IACD,IAAI,EAAE;QACL,iBAAiB,EAAE,KAAK;KACxB;IACD,wBAAwB,EAAE,GAAG;IAC7B,KAAK,EAAE;QACN,YAAY,EAAE,KAAK,CAAC,oCAAoC;KACxD;IACD,SAAS,EAAE;QACV,QAAQ,EAAE,GAAG;QACb,WAAW,EAAE,GAAG;QAChB,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,IAAI;KACb;IACD,QAAQ,EAAE;QACT,WAAW,EAAE,CAAC;QACd,8EAA8E;QAC9E,2EAA2E;QAC3E,eAAe,EAAE,GAAG;QACpB,WAAW,EAAE,CAAC;QACd,yEAAyE;QACzE,wEAAwE;QACxE,qDAAqD;QACrD,qBAAqB,EAAE,EAAE;QACzB,oEAAoE;QACpE,oEAAoE;QACpE,oBAAoB;QACpB,iBAAiB,EAAE,EAAE;QACrB,wEAAwE;QACxE,2EAA2E;QAC3E,kEAAkE;QAClE,uBAAuB,EAAE,EAAE;QAC3B,0EAA0E;QAC1E,uEAAuE;QACvE,wCAAwC;QACxC,mBAAmB,EAAE,GAAG;QACxB,uEAAuE;QACvE,0EAA0E;QAC1E,gEAAgE;QAChE,iBAAiB,EAAE,EAAE;QACrB,uEAAuE;QACvE,sEAAsE;QACtE,wEAAwE;QACxE,mCAAmC;QACnC,wBAAwB,EAAE,EAAE;QAC5B,0EAA0E;QAC1E,2BAA2B;QAC3B,kBAAkB,EAAE,EAAE;QACtB,wEAAwE;QACxE,uEAAuE;QACvE,cAAc;QACd,kBAAkB,EAAE,KAAK;QACzB,uEAAuE;QACvE,oEAAoE;QACpE,wCAAwC;QACxC,eAAe,EAAE,SAAS;KAC1B;IACD,mBAAmB,EAAE;QACpB,OAAO,EAAE,IAAI;QACb,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,GAAG;QACd,cAAc,EAAE,CAAC;KACjB;CACD,CAAC"}
|
|
@@ -33,15 +33,15 @@ import { combineResidualExpressions } from '../access/rule-select-access-path.js
|
|
|
33
33
|
import { isIndexStyleContext } from '../shared/index-style-context.js';
|
|
34
34
|
const log = createLogger('optimizer:rule:grow-retrieve');
|
|
35
35
|
/**
|
|
36
|
-
* The row count for a `BestAccessPlanRequest`: the
|
|
37
|
-
*
|
|
36
|
+
* The row count for a `BestAccessPlanRequest`: the measured count, or `undefined` when
|
|
37
|
+
* nothing has measured it. Never a fabricated number.
|
|
38
38
|
*
|
|
39
|
-
* `TableReferenceNode.estimatedRows` is `
|
|
40
|
-
*
|
|
41
|
-
* empty" and `undefined` means "nobody knows".
|
|
39
|
+
* `TableReferenceNode.estimatedRows` is `plannedRowCount(tableSchema, …)` — an exact
|
|
40
|
+
* count observed during execution, else `ANALYZE`'s (or a module's reported statistics),
|
|
41
|
+
* where a real `0` means "measured, empty" and `undefined` means "nobody knows".
|
|
42
42
|
*
|
|
43
43
|
* `context.stats.tableRows()` is deliberately NOT consulted here. `CatalogStatsProvider`
|
|
44
|
-
* reads that same `
|
|
44
|
+
* reads that same `plannedRowCount` and, finding nothing, falls back to
|
|
45
45
|
* `NaiveStatsProvider`'s fixed 1000 — so routing through it would hand the module a
|
|
46
46
|
* made-up size indistinguishable from a real 1000-row `ANALYZE` result, and lock out
|
|
47
47
|
* every module that can size itself better (`quereus-store` keeps a live row count).
|
|
@@ -2,13 +2,16 @@
|
|
|
2
2
|
* Catalog-backed statistics types and provider
|
|
3
3
|
*
|
|
4
4
|
* Reads real statistics from TableSchema.statistics (populated by ANALYZE or VTab)
|
|
5
|
-
* and falls back to NaiveStatsProvider heuristics when unavailable.
|
|
5
|
+
* and falls back to NaiveStatsProvider heuristics when unavailable. Table row
|
|
6
|
+
* counts additionally consult the observed row-count overlay first (see
|
|
7
|
+
* `plannedRowCount`); column statistics never do.
|
|
6
8
|
*/
|
|
7
9
|
import type { SqlValue } from '../../common/types.js';
|
|
8
10
|
import type { ScalarPlanNode } from '../nodes/plan-node.js';
|
|
9
11
|
import type { TableSchema } from '../../schema/table.js';
|
|
10
12
|
import type { ColumnStatsResolver, StatsProvider } from './index.js';
|
|
11
13
|
import { NaiveStatsProvider } from './index.js';
|
|
14
|
+
import { type ObservedRowCounts } from './table-cardinality.js';
|
|
12
15
|
/**
|
|
13
16
|
* An equi-height histogram bucket.
|
|
14
17
|
* Buckets are cumulative: `cumulativeCount` is the total rows up to and including this bucket.
|
|
@@ -60,8 +63,14 @@ export interface TableStatistics {
|
|
|
60
63
|
* Falls back to a NaiveStatsProvider when real statistics are not available.
|
|
61
64
|
*/
|
|
62
65
|
export declare class CatalogStatsProvider implements StatsProvider {
|
|
66
|
+
private readonly observed?;
|
|
63
67
|
private readonly fallback;
|
|
64
|
-
|
|
68
|
+
/**
|
|
69
|
+
* @param observed The owning database's observed row-count overlay. Must be the
|
|
70
|
+
* same overlay `TableReferenceNode` reads through its `SchemaManager`, or scan
|
|
71
|
+
* cardinality and selectivity denominators disagree.
|
|
72
|
+
*/
|
|
73
|
+
constructor(fallback?: NaiveStatsProvider, observed?: ObservedRowCounts | undefined);
|
|
65
74
|
tableRows(table: TableSchema): number | undefined;
|
|
66
75
|
selectivity(table: TableSchema, predicate: ScalarPlanNode, resolve?: ColumnStatsResolver): number | undefined;
|
|
67
76
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-stats.d.ts","sourceRoot":"","sources":["../../../../src/planner/stats/catalog-stats.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"catalog-stats.d.ts","sourceRoot":"","sources":["../../../../src/planner/stats/catalog-stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
* Catalog-backed statistics types and provider
|
|
3
3
|
*
|
|
4
4
|
* Reads real statistics from TableSchema.statistics (populated by ANALYZE or VTab)
|
|
5
|
-
* and falls back to NaiveStatsProvider heuristics when unavailable.
|
|
5
|
+
* and falls back to NaiveStatsProvider heuristics when unavailable. Table row
|
|
6
|
+
* counts additionally consult the observed row-count overlay first (see
|
|
7
|
+
* `plannedRowCount`); column statistics never do.
|
|
6
8
|
*/
|
|
7
9
|
import { NaiveStatsProvider } from './index.js';
|
|
8
10
|
import { createLogger } from '../../common/logger.js';
|
|
9
|
-
import {
|
|
11
|
+
import { plannedRowCount } from './table-cardinality.js';
|
|
10
12
|
import { selectivityFromHistogram } from './histogram.js';
|
|
11
13
|
import { combineConjunctive, combineDisjunctive } from './selectivity-combine.js';
|
|
12
14
|
import { splitConjuncts, splitDisjuncts } from '../analysis/predicate-conjuncts.js';
|
|
@@ -26,15 +28,22 @@ const lowerBound = (value) => ({ kind: 'lowerBound', value });
|
|
|
26
28
|
* Falls back to a NaiveStatsProvider when real statistics are not available.
|
|
27
29
|
*/
|
|
28
30
|
export class CatalogStatsProvider {
|
|
31
|
+
observed;
|
|
29
32
|
fallback;
|
|
30
|
-
|
|
33
|
+
/**
|
|
34
|
+
* @param observed The owning database's observed row-count overlay. Must be the
|
|
35
|
+
* same overlay `TableReferenceNode` reads through its `SchemaManager`, or scan
|
|
36
|
+
* cardinality and selectivity denominators disagree.
|
|
37
|
+
*/
|
|
38
|
+
constructor(fallback, observed) {
|
|
39
|
+
this.observed = observed;
|
|
31
40
|
this.fallback = fallback ?? new NaiveStatsProvider();
|
|
32
41
|
}
|
|
33
42
|
tableRows(table) {
|
|
34
|
-
const rows =
|
|
43
|
+
const rows = plannedRowCount(table, this.observed);
|
|
35
44
|
if (rows === undefined)
|
|
36
45
|
return this.fallback.tableRows(table);
|
|
37
|
-
log('Table %s: rowCount=%d (source: catalog)', table.name, rows);
|
|
46
|
+
log('Table %s: rowCount=%d (source: observed or catalog)', table.name, rows);
|
|
38
47
|
return rows;
|
|
39
48
|
}
|
|
40
49
|
selectivity(table, predicate, resolve) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog-stats.js","sourceRoot":"","sources":["../../../../src/planner/stats/catalog-stats.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAK9D,MAAM,GAAG,GAAG,YAAY,CAAC,yBAAyB,CAAC,CAAC;AAEpD;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AA0B7B,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAY,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5E,MAAM,UAAU,GAAG,CAAC,KAAa,EAAY,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC;AAkEhF,2EAA2E;AAE3E;;;GAGG;AACH,MAAM,OAAO,oBAAoB;IACf,QAAQ,CAAqB;IAE9C,YAAY,QAA6B;QACxC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,kBAAkB,EAAE,CAAC;IACtD,CAAC;IAED,SAAS,CAAC,KAAkB;QAC3B,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9D,GAAG,CAAC,yCAAyC,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC;IACb,CAAC;IAED,WAAW,CAAC,KAAkB,EAAE,SAAyB,EAAE,OAA6B;QACvF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1D,IAAI,QAAQ,EAAE,IAAI,KAAK,UAAU,EAAE,CAAC;YACnC,GAAG,CAAC,kDAAkD,EAAE,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACxG,OAAO,QAAQ,CAAC,KAAK,CAAC;QACvB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1D,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAEzC,gFAAgF;QAChF,8EAA8E;QAC9E,+EAA+E;QAC/E,4BAA4B;QAC5B,MAAM,MAAM,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACtF,GAAG,CAAC,4EAA4E,EAC/E,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,oBAAoB,CAAC,KAAkB,EAAE,SAAyB,EAAE,OAA6B;QAChG,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC1D,OAAO,QAAQ,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,CAAC;IAED,eAAe,CACd,SAAsB,EACtB,UAAuB,EACvB,aAA6B,EAC7B,OAA6B;QAE7B,2EAA2E;QAC3E,MAAM,QAAQ,GAAG,sBAAsB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChE,IAAI,QAAQ,EAAE,CAAC;YACd,iEAAiE;YACjE,uCAAuC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YACzF,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,GAAG,CAAC,oCAAoC,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAClF,OAAO,KAAK,CAAC;YACd,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,OAAO,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACrD,MAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC/C,GAAG,CAAC,oDAAoD,EACvD,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;gBAC1D,OAAO,GAAG,CAAC;YACZ,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;IAC9E,CAAC;IAED;;;OAGG;IACK,eAAe,CACtB,SAAsB,EAAE,UAAuB,EAC/C,WAAmB,EAAE,YAAoB;QAEzC,4BAA4B;QAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE,CAAC;YACzD,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC7C,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,4BAA4B;QAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,CAAC;YAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAEO,UAAU,CAAC,KAAkB,EAAE,OAAe,EAAE,eAA4B;QACnF,IAAI,CAAC,KAAK,CAAC,WAAW;YAAE,OAAO,KAAK,CAAC;QACrC,MAAM,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QAC/D,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACvC,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAClC,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,IAAI,CAAC,WAAW,EAAE;YACvE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC3B,CAAC;IACH,CAAC;IAEO,aAAa,CAAC,KAAkB;QACvC,IAAI,KAAK,CAAC,oBAAoB,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,cAAc,CAAC,KAAkB,EAAE,UAAkB;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CAAC,KAAkB,EAAE,SAAiB,EAAE,SAAyB;QAChF,wEAAwE;QACxE,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC/C,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACtE,CAAC;IAED,qEAAqE;IAE7D,WAAW,CAAC,KAAkB,EAAE,UAAkB;QACzD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7E,OAAO,QAAQ,EAAE,aAAa,CAAC;IAChC,CAAC;IAED;;;OAGG;IACK,QAAQ,CACf,KAAkB,EAClB,SAAyB,EACzB,OAA6B;QAE7B,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC;QAC/B,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAC7B,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC;YAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;OAOG;IACK,YAAY,CACnB,GAAoB,EACpB,IAAoB,EACpB,KAAa;QAEb,IAAI,KAAK,GAAG,iBAAiB;YAAE,OAAO,SAAS,CAAC;QAEhD,IAAI,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAClC,2EAA2E;YAC3E,MAAM,EAAE,GAAI,IAAgC,CAAC,UAAU,CAAC,QAAQ,CAAC;YACjE,IAAI,EAAE,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACpE,IAAI,EAAE,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACpE,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,yEAAyE;YACzE,qDAAqD;YACrD,IAAK,IAA+B,CAAC,UAAU,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBACpE,0EAA0E;gBAC1E,4DAA4D;gBAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAA+B,CAAC;gBACpE,IAAI,CAAC,OAAO;oBAAE,OAAO,SAAS,CAAC;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBACzD,sEAAsE;gBACtE,gEAAgE;gBAChE,IAAI,KAAK,EAAE,IAAI,KAAK,UAAU;oBAAE,OAAO,SAAS,CAAC;gBACjD,4EAA4E;gBAC5E,2EAA2E;gBAC3E,6EAA6E;gBAC7E,8EAA8E;gBAC9E,8EAA8E;gBAC9E,6EAA6E;gBAC7E,wCAAwC;gBACxC,OAAO,QAAQ,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;QACF,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,wEAAwE;IAChE,YAAY,CAAC,GAAoB,EAAE,IAAoB;QAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACzC,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtD,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,mBAAmB,CAC1B,GAAoB,EACpB,IAAoB,EACpB,KAAa;QAEb,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACvC,0EAA0E;QAC1E,6DAA6D;QAC7D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEzF,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACxD,IAAI,GAAG,EAAE,IAAI,KAAK,UAAU;gBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEzC,yEAAyE;QACzE,2EAA2E;QAC3E,2EAA2E;QAC3E,kDAAkD;QAClD,OAAO,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACzF,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACK,mBAAmB,CAC1B,GAAoB,EACpB,IAAoB,EACpB,KAAa;QAEb,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QACvC,0EAA0E;QAC1E,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAEzF,MAAM,IAAI,GAAa,EAAE,CAAC;QAC1B,IAAI,aAAa,GAAG,KAAK,CAAC;QAC1B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACxD,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;gBACvB,aAAa,GAAG,IAAI,CAAC;gBACrB,SAAS;YACV,CAAC;YACD,wEAAwE;YACxE,6EAA6E;YAC7E,8EAA8E;YAC9E,2DAA2D;YAC3D,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;gBAAE,aAAa,GAAG,IAAI,CAAC;YACpD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAExC,IAAI,aAAa;YAAE,OAAO,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;QAExD,OAAO,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACvF,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,KAAsB,EAAE,GAAW,EAAE,aAAqB;QAC/E,IAAI,aAAa,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QAClC,wEAAwE;QACxE,4DAA4D;QAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,4EAA4E;IACpE,YAAY,CACnB,GAAoB,EACpB,SAAyB;QAEzB,iFAAiF;QACjF,MAAM,OAAO,GAAG,0BAA0B,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAEhC,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAE/B,QAAQ,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC5B,KAAK,UAAU,CAAC,CAAC,CAAC;gBACjB,MAAM,EAAE,GAAI,SAAqC,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACtE,IAAI,CAAC,EAAE;oBAAE,OAAO,SAAS,CAAC;gBAE1B,kBAAkB;gBAClB,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;gBAChD,CAAC;gBAED,uBAAuB;gBACvB,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtD,CAAC;gBAED,uEAAuE;gBACvE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;oBAC5D,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;wBACxB,MAAM,KAAK,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;wBAC9C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;4BACzB,OAAO,wBAAwB,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;wBAC1E,CAAC;oBACF,CAAC;oBACD,+CAA+C;oBAC/C,OAAO,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;gBAED,+CAA+C;gBAC/C,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;oBACnB,OAAO,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;gBAED,OAAO,SAAS,CAAC;YAClB,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBAChB,MAAM,EAAE,GAAI,SAAoC,CAAC,UAAU,CAAC,QAAQ,CAAC;gBACrE,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;oBACtB,OAAO,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;gBACD,IAAI,EAAE,KAAK,aAAa,EAAE,CAAC;oBAC1B,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzD,CAAC;gBACD,OAAO,SAAS,CAAC;YAClB,CAAC;YAED,KAAK,IAAI,CAAC,CAAC,CAAC;gBACX,0BAA0B;gBAC1B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;gBAC9C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;oBAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;gBACtE,CAAC;gBACD,OAAO,SAAS,CAAC;YAClB,CAAC;YAED,KAAK,SAAS,CAAC,CAAC,CAAC;gBAChB,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;oBACxB,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,CAAC;oBAC/C,IAAI,MAAM,EAAE,CAAC;wBACZ,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;wBACxF,MAAM,OAAO,GAAG,wBAAwB,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;wBAC1F,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;4BACnD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC;wBAC1C,CAAC;oBACF,CAAC;gBACF,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,qBAAqB;YACpC,CAAC;YAED;gBACC,OAAO,SAAS,CAAC;QACnB,CAAC;IACF,CAAC;CACD;AAED,2EAA2E;AAC3E,2EAA2E;AAC3E,2DAA2D;AAE3D,SAAS,0BAA0B,CAClC,SAAyB,EACzB,OAA6B;IAE7B,mEAAmE;IACnE,4EAA4E;IAC5E,0EAA0E;IAC1E,6EAA6E;IAC7E,0EAA0E;IAC1E,mCAAmC;IACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,QAAQ,KAAK,iBAAiB,EAAE,CAAC;YAC1C,MAAM,GAAG,GAAG,KAAuC,CAAC;YACpD,IAAI,OAAO,EAAE,CAAC;gBACb,sEAAsE;gBACtE,0EAA0E;gBAC1E,2EAA2E;gBAC3E,4EAA4E;gBAC5E,kDAAkD;gBAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC1C,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;YACtE,CAAC;YACD,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;YACjC,IAAI,IAAI;gBAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QACvC,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAyB;IACtD,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACzC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9B,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAClC,0EAA0E;YAC1E,yEAAyE;YACzE,OAAO,YAAY,CAAE,KAAgC,CAAC,UAAU,CAAC,CAAC;QACnE,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAyB;IACnD,MAAM,IAAI,GAAG,SAA8B,CAAC;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC1D,2EAA2E;IAC3E,gFAAgF;IAChF,0EAA0E;IAC1E,iEAAiE;IACjE,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAAC,SAAyB;IACtD,MAAM,IAAI,GAAG,SAAmC,CAAC;IACjD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1D,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC7F,MAAM,MAAM,GAAG,YAAY,CAAE,IAAI,CAAC,KAAgC,CAAC,UAAU,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,YAAY,CAAE,IAAI,CAAC,KAAgC,CAAC,UAAU,CAAC,CAAC;QAChF,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACnD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QACvC,CAAC;IACF,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,sBAAsB,CAC9B,SAAyB,EACzB,OAA6B;IAE7B,IAAI,SAAS,CAAC,QAAQ,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IACxD,MAAM,EAAE,GAAI,SAAqC,CAAC,UAAU,CAAC,QAAQ,CAAC;IACtE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAEhD,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IACzC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE5C,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,IAAI,CAAC,QAAQ,KAAK,iBAAiB,IAAI,KAAK,CAAC,QAAQ,KAAK,iBAAiB;QAAE,OAAO,SAAS,CAAC;IAElG,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAsC,EAAE,OAAO,CAAC,CAAC;IAClF,MAAM,SAAS,GAAG,eAAe,CAAC,KAAuC,EAAE,OAAO,CAAC,CAAC;IACpF,IAAI,CAAC,QAAQ,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAE9C,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,SAAS,eAAe,CAAC,GAAwB,EAAE,OAA6B;IAC/E,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;AACjE,CAAC"}
|
|
1
|
+
{"version":3,"file":"catalog-stats.js","sourceRoot":"","sources":["../../../../src/planner/stats/catalog-stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,62 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The base-table row-count seam.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* `
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* Every planner reading of a base table's size goes through {@link plannedRowCount}:
|
|
5
|
+
* the count observed during execution (the per-database overlay, see
|
|
6
|
+
* `core/database-cardinality-feedback.ts`), else the catalog's count, else
|
|
7
|
+
* `undefined`. `TableReferenceNode` (every scan's base cardinality, and the
|
|
8
|
+
* `BestAccessPlanRequest.estimatedRows` hint) and `CatalogStatsProvider.tableRows`
|
|
9
|
+
* (selectivity denominators, MV sizing) both call it, so scan cardinality and the
|
|
10
|
+
* stats-provider estimate cannot drift apart within one plan.
|
|
10
11
|
*
|
|
11
|
-
* `
|
|
12
|
-
*
|
|
13
|
-
*
|
|
12
|
+
* There are exactly two spellings: `undefined` means "nobody knows" and a number —
|
|
13
|
+
* including a real 0 — means "measured". `undefined` must stay `undefined` here:
|
|
14
|
+
* callers apply their own fallback (e.g. NaiveStatsProvider's default of 1000), and
|
|
15
|
+
* folding a default in would change every un-analyzed table's cardinality.
|
|
14
16
|
*
|
|
15
|
-
* NOTE: `rowCount` is a snapshot from the last `ANALYZE` — rows written
|
|
16
|
-
* afterwards are invisible until the next one.
|
|
17
|
+
* NOTE: the catalog `rowCount` is a snapshot from the last `ANALYZE` — rows written
|
|
18
|
+
* afterwards are invisible until the next one (or until a complete scan is observed).
|
|
17
19
|
*
|
|
18
|
-
* NOTE: a real 0 (analyzed
|
|
19
|
-
* `estimatedRows || default` spellings in `rule-select-access-path`,
|
|
20
|
+
* NOTE: a real 0 (analyzed or observed empty table) is distinct from `undefined`,
|
|
21
|
+
* but the `estimatedRows || default` spellings in `rule-select-access-path`,
|
|
20
22
|
* `rule-grow-retrieve` and `IndexSeekNode.computePhysical` collapse the two and
|
|
21
|
-
* substitute their default — so
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
23
|
+
* substitute their default — so a measured empty table reaches `getBestAccessPlan`
|
|
24
|
+
* as "unknown" (1000) while a SeqScan over it reports 0. Harmless today (any plan
|
|
25
|
+
* over 0 rows is cheap); switch those to `??` if an empty-table plan ever costs out
|
|
26
|
+
* wrong.
|
|
25
27
|
*/
|
|
26
28
|
import type { TableSchema } from '../../schema/table.js';
|
|
29
|
+
/**
|
|
30
|
+
* Exact table sizes observed during execution. Answers only for the `TableSchema`
|
|
31
|
+
* object the count was observed against, so any schema swap (`ANALYZE`, `ALTER`,
|
|
32
|
+
* drop and re-create) silences an entry.
|
|
33
|
+
*/
|
|
34
|
+
export interface ObservedRowCounts {
|
|
35
|
+
observedRows(table: TableSchema): number | undefined;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The catalog's row count — `TableSchema.statistics`, populated by `ANALYZE` or VTab
|
|
39
|
+
* reporting.
|
|
40
|
+
*
|
|
41
|
+
* NOTE: planner reads go through {@link plannedRowCount}. The remaining callers —
|
|
42
|
+
* assertion and watcher delta sizing, the lens prover's cardinality band,
|
|
43
|
+
* auto-analyze's staleness arithmetic — are catalog-only on purpose: none of them
|
|
44
|
+
* plans a query, and auto-analyze must not be fed numbers it did not collect.
|
|
45
|
+
*/
|
|
27
46
|
export declare function catalogRowCount(table: TableSchema): number | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* The base-table row count the planner uses: observed, else catalog (`ANALYZE`), else
|
|
49
|
+
* `undefined` (unknown). The overlay wins because an entry only answers for the exact
|
|
50
|
+
* `TableSchema` it was observed under and any `ANALYZE` swaps that object — an
|
|
51
|
+
* answering entry is always newer than the catalog numbers on the schema it names.
|
|
52
|
+
* Only the row count is overridden; column statistics are untouched.
|
|
53
|
+
*
|
|
54
|
+
* NOTE: accepted tradeoff — the result also becomes `BestAccessPlanRequest.estimatedRows`,
|
|
55
|
+
* and a self-sizing module (`StoreModule.sizeRequestFromLiveCount`) honors a supplied
|
|
56
|
+
* hint over its own running count, so between full scans it prices against the last
|
|
57
|
+
* observed size instead of its live one; one size per plan weighed over the fresher
|
|
58
|
+
* live count. Revisit when a module's live size reaches the planner
|
|
59
|
+
* (`feat-planner-asks-the-backend-how-big-a-table-is`) — it should outrank the overlay.
|
|
60
|
+
*/
|
|
61
|
+
export declare function plannedRowCount(table: TableSchema, observed: ObservedRowCounts | undefined): number | undefined;
|
|
28
62
|
//# sourceMappingURL=table-cardinality.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-cardinality.d.ts","sourceRoot":"","sources":["../../../../src/planner/stats/table-cardinality.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"table-cardinality.d.ts","sourceRoot":"","sources":["../../../../src/planner/stats/table-cardinality.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;CACrD;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,SAAS,CAEtE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAE/G"}
|
|
@@ -1,29 +1,57 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* The base-table row-count seam.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* `
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
4
|
+
* Every planner reading of a base table's size goes through {@link plannedRowCount}:
|
|
5
|
+
* the count observed during execution (the per-database overlay, see
|
|
6
|
+
* `core/database-cardinality-feedback.ts`), else the catalog's count, else
|
|
7
|
+
* `undefined`. `TableReferenceNode` (every scan's base cardinality, and the
|
|
8
|
+
* `BestAccessPlanRequest.estimatedRows` hint) and `CatalogStatsProvider.tableRows`
|
|
9
|
+
* (selectivity denominators, MV sizing) both call it, so scan cardinality and the
|
|
10
|
+
* stats-provider estimate cannot drift apart within one plan.
|
|
10
11
|
*
|
|
11
|
-
* `
|
|
12
|
-
*
|
|
13
|
-
*
|
|
12
|
+
* There are exactly two spellings: `undefined` means "nobody knows" and a number —
|
|
13
|
+
* including a real 0 — means "measured". `undefined` must stay `undefined` here:
|
|
14
|
+
* callers apply their own fallback (e.g. NaiveStatsProvider's default of 1000), and
|
|
15
|
+
* folding a default in would change every un-analyzed table's cardinality.
|
|
14
16
|
*
|
|
15
|
-
* NOTE: `rowCount` is a snapshot from the last `ANALYZE` — rows written
|
|
16
|
-
* afterwards are invisible until the next one.
|
|
17
|
+
* NOTE: the catalog `rowCount` is a snapshot from the last `ANALYZE` — rows written
|
|
18
|
+
* afterwards are invisible until the next one (or until a complete scan is observed).
|
|
17
19
|
*
|
|
18
|
-
* NOTE: a real 0 (analyzed
|
|
19
|
-
* `estimatedRows || default` spellings in `rule-select-access-path`,
|
|
20
|
+
* NOTE: a real 0 (analyzed or observed empty table) is distinct from `undefined`,
|
|
21
|
+
* but the `estimatedRows || default` spellings in `rule-select-access-path`,
|
|
20
22
|
* `rule-grow-retrieve` and `IndexSeekNode.computePhysical` collapse the two and
|
|
21
|
-
* substitute their default — so
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
23
|
+
* substitute their default — so a measured empty table reaches `getBestAccessPlan`
|
|
24
|
+
* as "unknown" (1000) while a SeqScan over it reports 0. Harmless today (any plan
|
|
25
|
+
* over 0 rows is cheap); switch those to `??` if an empty-table plan ever costs out
|
|
26
|
+
* wrong.
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* The catalog's row count — `TableSchema.statistics`, populated by `ANALYZE` or VTab
|
|
30
|
+
* reporting.
|
|
31
|
+
*
|
|
32
|
+
* NOTE: planner reads go through {@link plannedRowCount}. The remaining callers —
|
|
33
|
+
* assertion and watcher delta sizing, the lens prover's cardinality band,
|
|
34
|
+
* auto-analyze's staleness arithmetic — are catalog-only on purpose: none of them
|
|
35
|
+
* plans a query, and auto-analyze must not be fed numbers it did not collect.
|
|
25
36
|
*/
|
|
26
37
|
export function catalogRowCount(table) {
|
|
27
38
|
return table.statistics?.rowCount;
|
|
28
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* The base-table row count the planner uses: observed, else catalog (`ANALYZE`), else
|
|
42
|
+
* `undefined` (unknown). The overlay wins because an entry only answers for the exact
|
|
43
|
+
* `TableSchema` it was observed under and any `ANALYZE` swaps that object — an
|
|
44
|
+
* answering entry is always newer than the catalog numbers on the schema it names.
|
|
45
|
+
* Only the row count is overridden; column statistics are untouched.
|
|
46
|
+
*
|
|
47
|
+
* NOTE: accepted tradeoff — the result also becomes `BestAccessPlanRequest.estimatedRows`,
|
|
48
|
+
* and a self-sizing module (`StoreModule.sizeRequestFromLiveCount`) honors a supplied
|
|
49
|
+
* hint over its own running count, so between full scans it prices against the last
|
|
50
|
+
* observed size instead of its live one; one size per plan weighed over the fresher
|
|
51
|
+
* live count. Revisit when a module's live size reaches the planner
|
|
52
|
+
* (`feat-planner-asks-the-backend-how-big-a-table-is`) — it should outrank the overlay.
|
|
53
|
+
*/
|
|
54
|
+
export function plannedRowCount(table, observed) {
|
|
55
|
+
return observed?.observedRows(table) ?? catalogRowCount(table);
|
|
56
|
+
}
|
|
29
57
|
//# sourceMappingURL=table-cardinality.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-cardinality.js","sourceRoot":"","sources":["../../../../src/planner/stats/table-cardinality.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"table-cardinality.js","sourceRoot":"","sources":["../../../../src/planner/stats/table-cardinality.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAaH;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,KAAkB;IACjD,OAAO,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC;AACnC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,KAAkB,EAAE,QAAuC;IAC1F,OAAO,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-execution sink for cardinality feedback: the exact row counts of base tables
|
|
3
|
+
* that a scan read in full during one execution (docs/progressive-optimizer.md §3.1).
|
|
4
|
+
*
|
|
5
|
+
* The scan leaf (`runtime/emit/scan.ts`) reports here when a qualifying scan runs to
|
|
6
|
+
* natural exhaustion; the run site hands the sink to
|
|
7
|
+
* `CardinalityFeedbackManager.publish` once the execution ends. Nothing here decides
|
|
8
|
+
* whether a count is worth keeping — that is the overlay's record policy.
|
|
9
|
+
*/
|
|
10
|
+
import type { TableSchema } from '../schema/table.js';
|
|
11
|
+
export declare class CardinalityObservations {
|
|
12
|
+
readonly rollbacksAtStart: number;
|
|
13
|
+
/**
|
|
14
|
+
* Keyed by schema object, not name: every scan in one execution was emitted from one
|
|
15
|
+
* compile, so a nested-loop inner's re-scans and a self-join's two scan sites share
|
|
16
|
+
* the object and collapse to one entry (last count wins) without composing a string
|
|
17
|
+
* per completed scan. The overlay re-keys by name when it records.
|
|
18
|
+
*/
|
|
19
|
+
private readonly counts;
|
|
20
|
+
/**
|
|
21
|
+
* @param rollbacksAtStart The overlay's rollback count when the execution began;
|
|
22
|
+
* opaque here. If it has moved by publication, work this execution may have seen
|
|
23
|
+
* was undone under it (`CardinalityFeedbackManager.publish`).
|
|
24
|
+
*/
|
|
25
|
+
constructor(rollbacksAtStart: number);
|
|
26
|
+
observe(table: TableSchema, rows: number): void;
|
|
27
|
+
get isEmpty(): boolean;
|
|
28
|
+
entries(): IterableIterator<[TableSchema, number]>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=cardinality-observations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cardinality-observations.d.ts","sourceRoot":"","sources":["../../../src/runtime/cardinality-observations.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,uBAAuB;IAcvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM;IAb7C;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IAEzD;;;;OAIG;gBACkB,gBAAgB,EAAE,MAAM;IAE7C,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/C,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,OAAO,IAAI,gBAAgB,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;CAGlD"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Per-execution sink for cardinality feedback: the exact row counts of base tables
|
|
3
|
+
* that a scan read in full during one execution (docs/progressive-optimizer.md §3.1).
|
|
4
|
+
*
|
|
5
|
+
* The scan leaf (`runtime/emit/scan.ts`) reports here when a qualifying scan runs to
|
|
6
|
+
* natural exhaustion; the run site hands the sink to
|
|
7
|
+
* `CardinalityFeedbackManager.publish` once the execution ends. Nothing here decides
|
|
8
|
+
* whether a count is worth keeping — that is the overlay's record policy.
|
|
9
|
+
*/
|
|
10
|
+
export class CardinalityObservations {
|
|
11
|
+
rollbacksAtStart;
|
|
12
|
+
/**
|
|
13
|
+
* Keyed by schema object, not name: every scan in one execution was emitted from one
|
|
14
|
+
* compile, so a nested-loop inner's re-scans and a self-join's two scan sites share
|
|
15
|
+
* the object and collapse to one entry (last count wins) without composing a string
|
|
16
|
+
* per completed scan. The overlay re-keys by name when it records.
|
|
17
|
+
*/
|
|
18
|
+
counts = new Map();
|
|
19
|
+
/**
|
|
20
|
+
* @param rollbacksAtStart The overlay's rollback count when the execution began;
|
|
21
|
+
* opaque here. If it has moved by publication, work this execution may have seen
|
|
22
|
+
* was undone under it (`CardinalityFeedbackManager.publish`).
|
|
23
|
+
*/
|
|
24
|
+
constructor(rollbacksAtStart) {
|
|
25
|
+
this.rollbacksAtStart = rollbacksAtStart;
|
|
26
|
+
}
|
|
27
|
+
observe(table, rows) {
|
|
28
|
+
this.counts.set(table, rows);
|
|
29
|
+
}
|
|
30
|
+
get isEmpty() {
|
|
31
|
+
return this.counts.size === 0;
|
|
32
|
+
}
|
|
33
|
+
entries() {
|
|
34
|
+
return this.counts.entries();
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=cardinality-observations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cardinality-observations.js","sourceRoot":"","sources":["../../../src/runtime/cardinality-observations.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,OAAO,uBAAuB;IAcd;IAbrB;;;;;OAKG;IACc,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAC;IAEzD;;;;OAIG;IACH,YAAqB,gBAAwB;QAAxB,qBAAgB,GAAhB,gBAAgB,CAAQ;IAAG,CAAC;IAEjD,OAAO,CAAC,KAAkB,EAAE,IAAY;QACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9B,CAAC;CACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAItG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQ9D;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAChC,cAAc,EAAE,UAAU,EAC1B,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,QAAQ,EAAE,KACnB,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;;;;;GAMG;AACH,wBAAgB,WAAW,CAC1B,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,EACjD,GAAG,EAAE,eAAe,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,GACrC,WAAW,
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../../src/runtime/emit/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAItG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAQ9D;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAChC,cAAc,EAAE,UAAU,EAC1B,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,QAAQ,EAAE,KACnB,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;;;;;GAMG;AACH,wBAAgB,WAAW,CAC1B,IAAI,EAAE,WAAW,GAAG,aAAa,GAAG,aAAa,EACjD,GAAG,EAAE,eAAe,EACpB,kBAAkB,CAAC,EAAE,kBAAkB,GACrC,WAAW,CAiOb"}
|