@spine-event-engine/storage-mysql 2.0.0-snapshot.25 → 2.0.0-snapshot.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/REFERENCE.md +17 -4
- package/dist/mysql/record-storage.d.ts +19 -1
- package/dist/mysql/record-storage.d.ts.map +1 -1
- package/dist/mysql/record-storage.js +69 -9
- package/dist/mysql/record-storage.js.map +1 -1
- package/dist/mysql/storage-factory.d.ts +12 -0
- package/dist/mysql/storage-factory.d.ts.map +1 -1
- package/dist/mysql/storage-factory.js +19 -2
- package/dist/mysql/storage-factory.js.map +1 -1
- package/dist/mysql/table-spec.d.ts +19 -1
- package/dist/mysql/table-spec.d.ts.map +1 -1
- package/dist/mysql/table-spec.js +10 -2
- package/dist/mysql/table-spec.js.map +1 -1
- package/dist/mysql/testing.d.ts.map +1 -1
- package/dist/mysql/testing.js +2 -2
- package/dist/mysql/testing.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -5
package/README.md
CHANGED
|
@@ -226,6 +226,11 @@ MySQL compares the materialized column, then Spine decodes each matching
|
|
|
226
226
|
authoritative `bytes` payload. The adapter does not create an index for
|
|
227
227
|
`board`; add application indexes for production query patterns.
|
|
228
228
|
|
|
229
|
+
An unrestricted `BLOB` byte column can have a MySQL sort-prefix limit. For a bounded normalized
|
|
230
|
+
query ordered by that column, Spine fetches through its existing record-evaluation budget and applies
|
|
231
|
+
full byte ordering after decoding. An oversized set of matching records returns the normal budget error;
|
|
232
|
+
fixed-width `VARBINARY` ordering keeps its usual limited SQL query.
|
|
233
|
+
|
|
229
234
|
## 🧪 Verify with a disposable database
|
|
230
235
|
|
|
231
236
|
Run the opt-in integration suite against a disposable MySQL database:
|
|
@@ -242,7 +247,7 @@ operations plan.
|
|
|
242
247
|
## ⚠️ Before production
|
|
243
248
|
|
|
244
249
|
Use a dedicated database and account, protect the connection URL, configure
|
|
245
|
-
TLS, and plan backups
|
|
250
|
+
TLS, and plan backups and monitoring. Indexed `bigint` values must
|
|
246
251
|
fit the exact signed 64-bit MySQL range. PostgreSQL is provided separately by
|
|
247
252
|
[`@spine-event-engine/storage-postgres`](https://github.com/SpineEventEngine/spine-ts/blob/master/packages/storage-postgres/README.md).
|
|
248
253
|
|
package/REFERENCE.md
CHANGED
|
@@ -31,6 +31,14 @@ mode reads physical metadata without creating tables or indexes. Its `create`
|
|
|
31
31
|
mode creates missing structures and verifies their complete layout. Both modes
|
|
32
32
|
reuse a bound runtime pool or release temporary pools, and compatible results
|
|
33
33
|
are shared with later ordinary use. A failed attempt remains retryable.
|
|
34
|
+
|
|
35
|
+
Both preparation modes also verify declared `RecordSpec.indexes`: each is a complete non-unique,
|
|
36
|
+
ascending B-tree index with no prefix, expression, or hidden component. Indexed
|
|
37
|
+
fixed byte columns use the declared `VARBINARY(width)`; stored and queried byte
|
|
38
|
+
values must have that exact width. An incompatible existing index rejects
|
|
39
|
+
without alteration. A record handle with `prepareOnAccess: false` performs no
|
|
40
|
+
index metadata probe or DDL on ordinary data operations.
|
|
41
|
+
|
|
34
42
|
The default shared registry converts message-valued IDs and ordinary message
|
|
35
43
|
columns using generated descriptors registered on module import.
|
|
36
44
|
`setStringifierRegistry(registry)` accepts a custom registry; the builder
|
|
@@ -62,10 +70,8 @@ one-byte binary collation, such as `latin1_bin`, and can store only IDs
|
|
|
62
70
|
representable in that character set. An `utf8mb4` ID of that declared width
|
|
63
71
|
cannot be converted to MyISAM.
|
|
64
72
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
unrelated tables or perform an upgrade-layout inventory. Requested record
|
|
68
|
-
families are checked when normal storage operations first use them.
|
|
73
|
+
Factory build and `checkConnection()` do not scan unrelated tables. Requested
|
|
74
|
+
record families are checked when normal storage operations first use them.
|
|
69
75
|
|
|
70
76
|
## Lifecycle and tenancy
|
|
71
77
|
|
|
@@ -137,6 +143,13 @@ MySQL accepts at most 1,000 bound parameters including its provider limit;
|
|
|
137
143
|
oversized ID sets or composite predicate bind work reject before a connection is
|
|
138
144
|
acquired.
|
|
139
145
|
|
|
146
|
+
For a limited non-exhaustive plan ordered by an unrestricted `BLOB` byte column, MySQL may sort
|
|
147
|
+
only a configured byte prefix. The adapter therefore fetches through the existing record-evaluation
|
|
148
|
+
budget plus one before applying full unsigned byte order and the requested result limit in the
|
|
149
|
+
shared evaluator. If the set of matching records exceeds that budget, the existing record-evaluation budget error
|
|
150
|
+
is returned instead of an inaccurate prefix. Fixed-width `VARBINARY` columns and exhaustive reads
|
|
151
|
+
retain their prior planning behavior.
|
|
152
|
+
|
|
140
153
|
## Entity history seam
|
|
141
154
|
|
|
142
155
|
The provider/framework Entity handle returns current records plus immutable
|
|
@@ -70,6 +70,7 @@ export declare class MysqlRecordStorage<I, R extends Message> extends RecordStor
|
|
|
70
70
|
private readonly onClose;
|
|
71
71
|
private readonly createOperation?;
|
|
72
72
|
private readonly publicHandle;
|
|
73
|
+
private readonly prepareOnAccess;
|
|
73
74
|
/**
|
|
74
75
|
* Declares support for atomic compare-and-set operations.
|
|
75
76
|
*/
|
|
@@ -114,8 +115,9 @@ export declare class MysqlRecordStorage<I, R extends Message> extends RecordStor
|
|
|
114
115
|
* @param tableSpec Supplies the canonical table layout.
|
|
115
116
|
* @param stringifiers The schema-bound message stringifiers.
|
|
116
117
|
* @param publicHandle Whether this is a public factory record handle.
|
|
118
|
+
* @param prepareOnAccess Whether data access prepares this handle's table.
|
|
117
119
|
*/
|
|
118
|
-
constructor(context: StorageContext, recordSpec: RecordSpec<I, R>, table: MysqlResolvedTable, lifecycle: MysqlRecordLifecycle, onClose: () => void, createOperation?: (() => string) | undefined, tableSpec?: MysqlTableSpec<I, R>, stringifiers?: StringifierRegistry, publicHandle?: boolean);
|
|
120
|
+
constructor(context: StorageContext, recordSpec: RecordSpec<I, R>, table: MysqlResolvedTable, lifecycle: MysqlRecordLifecycle, onClose: () => void, createOperation?: (() => string) | undefined, tableSpec?: MysqlTableSpec<I, R>, stringifiers?: StringifierRegistry, publicHandle?: boolean, prepareOnAccess?: boolean);
|
|
119
121
|
private readonly tableSpec;
|
|
120
122
|
/**
|
|
121
123
|
* Closes this record-family storage handle.
|
|
@@ -420,6 +422,13 @@ export declare class MysqlRecordStorage<I, R extends Message> extends RecordStor
|
|
|
420
422
|
* @returns The SQL statement and bound values.
|
|
421
423
|
*/
|
|
422
424
|
private planSql;
|
|
425
|
+
/**
|
|
426
|
+
* Calculates the SQL bound before full byte ordering by the shared evaluator.
|
|
427
|
+
*
|
|
428
|
+
* @param plan Validated normalized query plan.
|
|
429
|
+
* @returns Exact or candidate-budget SQL bound.
|
|
430
|
+
*/
|
|
431
|
+
private planResultBound;
|
|
423
432
|
/**
|
|
424
433
|
* Builds provider ordering with a deterministic ID tie-break.
|
|
425
434
|
*
|
|
@@ -597,6 +606,15 @@ export declare class MysqlTableInitializer<I, R extends Message> {
|
|
|
597
606
|
* @param actual Native column metadata.
|
|
598
607
|
*/
|
|
599
608
|
private assertCompatibleColumn;
|
|
609
|
+
/**
|
|
610
|
+
* Creates a missing lookup index and verifies its complete native definition.
|
|
611
|
+
* @param connection Preparation connection.
|
|
612
|
+
* @param name Table-scoped physical name.
|
|
613
|
+
* @param columns Ordered complete columns.
|
|
614
|
+
* @param mode Creation or check mode.
|
|
615
|
+
* @returns Completion after the required index is verified compatible.
|
|
616
|
+
*/
|
|
617
|
+
private ensureRecordIndex;
|
|
600
618
|
/**
|
|
601
619
|
* Creates or checks one complete native Agent history index.
|
|
602
620
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-storage.d.ts","sourceRoot":"","sources":["../../src/mysql/record-storage.ts"],"names":[],"mappings":"AAcA,OAAO,EAAoC,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAGpF,OAAO,EAA8B,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,KAAK,EAEV,mBAAmB,EAEnB,WAAW,EAGX,UAAU,EACV,wBAAwB,EACxB,cAAc,EACf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAGL,WAAW,EACX,aAAa,EACd,MAAM,6BAA6B,CAAC;AAErC,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAU1E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAInF;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAGnC;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,OAAO,gBAAgB,EAAE,cAAc,CAAC,CAAC;IAE5D;;;;OAIG;IACH,OAAO,CAAC,UAAU,EAAE,OAAO,gBAAgB,EAAE,cAAc,GAAG,IAAI,CAAC;IAEnE;;;;;;OAMG;IACH,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAExC;;;;OAIG;IACH,UAAU,CAAC,IAAI,OAAO,CAAC;IAEvB;;;;OAIG;IACH,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1B;;;;;;OAMG;IACH,YAAY,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAED;;;;;GAKG;AACH,qBAAa,kBAAkB,CAAC,CAAC,EAAE,CAAC,SAAS,OAAO,CAAE,SAAQ,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC;;
|
|
1
|
+
{"version":3,"file":"record-storage.d.ts","sourceRoot":"","sources":["../../src/mysql/record-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,7 @@ export class MysqlRecordStorage extends RecordStorage {
|
|
|
32
32
|
onClose;
|
|
33
33
|
createOperation;
|
|
34
34
|
publicHandle;
|
|
35
|
+
prepareOnAccess;
|
|
35
36
|
// prettier-ignore
|
|
36
37
|
/**
|
|
37
38
|
* Declares support for atomic compare-and-set operations.
|
|
@@ -105,14 +106,16 @@ export class MysqlRecordStorage extends RecordStorage {
|
|
|
105
106
|
* @param tableSpec Supplies the canonical table layout.
|
|
106
107
|
* @param stringifiers The schema-bound message stringifiers.
|
|
107
108
|
* @param publicHandle Whether this is a public factory record handle.
|
|
109
|
+
* @param prepareOnAccess Whether data access prepares this handle's table.
|
|
108
110
|
*/
|
|
109
|
-
constructor(context, recordSpec, table, lifecycle, onClose, createOperation, tableSpec, stringifiers = defaultStringifierRegistry, publicHandle = false) {
|
|
111
|
+
constructor(context, recordSpec, table, lifecycle, onClose, createOperation, tableSpec, stringifiers = defaultStringifierRegistry, publicHandle = false, prepareOnAccess = true) {
|
|
110
112
|
super(context, recordSpec);
|
|
111
113
|
this.table = table;
|
|
112
114
|
this.lifecycle = lifecycle;
|
|
113
115
|
this.onClose = onClose;
|
|
114
116
|
this.createOperation = createOperation;
|
|
115
117
|
this.publicHandle = publicHandle;
|
|
118
|
+
this.prepareOnAccess = prepareOnAccess;
|
|
116
119
|
this.#idColumn = new MysqlIdColumn(recordSpec.idType, stringifiers);
|
|
117
120
|
this.#columnMapping = new MysqlColumnMapping(stringifiers);
|
|
118
121
|
this.tableSpec =
|
|
@@ -123,6 +126,7 @@ export class MysqlRecordStorage extends RecordStorage {
|
|
|
123
126
|
recordType: recordSpec.recordType,
|
|
124
127
|
idType: recordSpec.idType,
|
|
125
128
|
declaredColumns: recordSpec.columns,
|
|
129
|
+
declaredIndexes: recordSpec.indexes,
|
|
126
130
|
});
|
|
127
131
|
}
|
|
128
132
|
tableSpec;
|
|
@@ -504,7 +508,7 @@ export class MysqlRecordStorage extends RecordStorage {
|
|
|
504
508
|
if (bound !== undefined) {
|
|
505
509
|
return work(bound);
|
|
506
510
|
}
|
|
507
|
-
if (this.lifecycle.prepare !== undefined)
|
|
511
|
+
if (this.prepareOnAccess && this.lifecycle.prepare !== undefined)
|
|
508
512
|
await this.lifecycle.prepare();
|
|
509
513
|
const connection = await this.lifecycle.acquire();
|
|
510
514
|
try {
|
|
@@ -525,7 +529,7 @@ export class MysqlRecordStorage extends RecordStorage {
|
|
|
525
529
|
* @returns Resolves when the table is ready.
|
|
526
530
|
*/
|
|
527
531
|
async ready(connection) {
|
|
528
|
-
if (this.lifecycle.prepare !== undefined)
|
|
532
|
+
if (!this.prepareOnAccess || this.lifecycle.prepare !== undefined)
|
|
529
533
|
return;
|
|
530
534
|
this.#ready ??= new MysqlTableInitializer(this.table, this.tableSpec, this.createOperation)
|
|
531
535
|
.prepare(connection, "create")
|
|
@@ -810,10 +814,7 @@ export class MysqlRecordStorage extends RecordStorage {
|
|
|
810
814
|
if (values.length >= maximumNormalizedPlanBinds) {
|
|
811
815
|
throw new MysqlStorageOperationError(`MySQL normalized query exceeds the ${String(maximumNormalizedPlanBinds)}-parameter bind budget.`);
|
|
812
816
|
}
|
|
813
|
-
const
|
|
814
|
-
const limit = plan.exhaustive
|
|
815
|
-
? plan.limit
|
|
816
|
-
: Math.min(plan.limit ?? Number.MAX_SAFE_INTEGER, candidateLimit + 1);
|
|
817
|
+
const limit = this.planResultBound(plan);
|
|
817
818
|
const exactLimit = !plan.exhaustive ||
|
|
818
819
|
(!scanAll && safePredicate === plan.predicate && this.exhaustiveOrderMatches(plan));
|
|
819
820
|
if (limit !== undefined && exactLimit)
|
|
@@ -827,6 +828,22 @@ export class MysqlRecordStorage extends RecordStorage {
|
|
|
827
828
|
values,
|
|
828
829
|
};
|
|
829
830
|
}
|
|
831
|
+
/**
|
|
832
|
+
* Calculates the SQL bound before full byte ordering by the shared evaluator.
|
|
833
|
+
*
|
|
834
|
+
* @param plan Validated normalized query plan.
|
|
835
|
+
* @returns Exact or candidate-budget SQL bound.
|
|
836
|
+
*/
|
|
837
|
+
planResultBound(plan) {
|
|
838
|
+
if (plan.exhaustive)
|
|
839
|
+
return plan.limit;
|
|
840
|
+
const variableBytesOrder = (plan.order ?? []).some(({ column }) => {
|
|
841
|
+
const type = this.recordSpec.columns.find((candidate) => candidate.name === column)?.type;
|
|
842
|
+
return (type?.kind === "scalar" && type.scalar === ScalarType.BYTES && type.byteLength === undefined);
|
|
843
|
+
});
|
|
844
|
+
const candidateLimit = plan.candidateLimit ?? defaultQueryCandidateLimit;
|
|
845
|
+
return Math.min(variableBytesOrder ? Number.MAX_SAFE_INTEGER : (plan.limit ?? Number.MAX_SAFE_INTEGER), candidateLimit + 1);
|
|
846
|
+
}
|
|
830
847
|
/**
|
|
831
848
|
* Builds provider ordering with a deterministic ID tie-break.
|
|
832
849
|
*
|
|
@@ -1121,6 +1138,8 @@ export class MysqlTableInitializer {
|
|
|
1121
1138
|
await this.inspectPrimary(connection, nativeMetadata);
|
|
1122
1139
|
await this.inspectUnique(connection);
|
|
1123
1140
|
await this.inspectEngine(connection);
|
|
1141
|
+
for (const index of this.spec.indexes ?? [])
|
|
1142
|
+
await this.ensureRecordIndex(connection, index.name, index.columns, mode);
|
|
1124
1143
|
}
|
|
1125
1144
|
/**
|
|
1126
1145
|
* Builds default table creation SQL.
|
|
@@ -1219,6 +1238,36 @@ export class MysqlTableInitializer {
|
|
|
1219
1238
|
actual.collation_name !== null)
|
|
1220
1239
|
throw new Error(`MySQL table ${this.table.tableName} has incompatible ${expected.name} collation.`);
|
|
1221
1240
|
}
|
|
1241
|
+
/**
|
|
1242
|
+
* Creates a missing lookup index and verifies its complete native definition.
|
|
1243
|
+
* @param connection Preparation connection.
|
|
1244
|
+
* @param name Table-scoped physical name.
|
|
1245
|
+
* @param columns Ordered complete columns.
|
|
1246
|
+
* @param mode Creation or check mode.
|
|
1247
|
+
* @returns Completion after the required index is verified compatible.
|
|
1248
|
+
*/
|
|
1249
|
+
async ensureRecordIndex(connection, name, columns, mode) {
|
|
1250
|
+
let rows = await this.historyIndex(connection, name);
|
|
1251
|
+
if (rows.length === 0) {
|
|
1252
|
+
if (mode === "check")
|
|
1253
|
+
throw new MysqlStorageSchemaError("MySQL record index is missing.");
|
|
1254
|
+
const quoted = columns.map((column) => `\`${column.replaceAll("`", "``")}\``).join(", ");
|
|
1255
|
+
try {
|
|
1256
|
+
await connection.query(`CREATE INDEX \`${name.replaceAll("`", "``")}\` ` +
|
|
1257
|
+
`ON \`${this.table.tableName.replaceAll("`", "``")}\` (${quoted})`);
|
|
1258
|
+
}
|
|
1259
|
+
catch (error) {
|
|
1260
|
+
if (error.code !== "ER_DUP_KEYNAME")
|
|
1261
|
+
throw error;
|
|
1262
|
+
}
|
|
1263
|
+
rows = await this.historyIndex(connection, name);
|
|
1264
|
+
}
|
|
1265
|
+
this.assertHistoryIndex(rows, columns);
|
|
1266
|
+
if (rows.some((row) => row.is_visible === "NO" ||
|
|
1267
|
+
row.ignored === "YES" ||
|
|
1268
|
+
(row.expression !== null && row.expression !== undefined)))
|
|
1269
|
+
throw new MysqlStorageSchemaError("MySQL record index is incompatible.");
|
|
1270
|
+
}
|
|
1222
1271
|
/**
|
|
1223
1272
|
* Creates or checks one complete native Agent history index.
|
|
1224
1273
|
*
|
|
@@ -1256,9 +1305,18 @@ export class MysqlTableInitializer {
|
|
|
1256
1305
|
* @returns Ordered native index components.
|
|
1257
1306
|
*/
|
|
1258
1307
|
async historyIndex(connection, name) {
|
|
1308
|
+
const [available] = await connection.query("SELECT column_name AS column_name FROM information_schema.columns WHERE table_schema='information_schema' " +
|
|
1309
|
+
"AND table_name='STATISTICS' AND column_name IN ('IS_VISIBLE', 'IGNORED', 'EXPRESSION')");
|
|
1310
|
+
const fields = new Set(available.map(({ column_name }) => column_name.toUpperCase()));
|
|
1311
|
+
const optional = [
|
|
1312
|
+
...(fields.has("IS_VISIBLE") ? ["is_visible AS is_visible"] : []),
|
|
1313
|
+
...(fields.has("IGNORED") ? ["ignored AS ignored"] : []),
|
|
1314
|
+
...(fields.has("EXPRESSION") ? ["expression AS expression"] : []),
|
|
1315
|
+
];
|
|
1259
1316
|
const [rows] = await connection.query("SELECT index_name AS index_name, non_unique AS non_unique, " +
|
|
1260
1317
|
"column_name AS column_name, seq_in_index AS seq_in_index, " +
|
|
1261
|
-
"sub_part AS sub_part, collation AS collation, index_type AS index_type
|
|
1318
|
+
"sub_part AS sub_part, collation AS collation, index_type AS index_type" +
|
|
1319
|
+
(optional.length === 0 ? " " : `, ${optional.join(", ")} `) +
|
|
1262
1320
|
"FROM information_schema.statistics WHERE table_schema=DATABASE() AND table_name=? " +
|
|
1263
1321
|
"AND index_name=? ORDER BY seq_in_index", [this.table.tableName, name]);
|
|
1264
1322
|
return rows;
|
|
@@ -1303,7 +1361,9 @@ function compatibleMysqlType(expected, actual) {
|
|
|
1303
1361
|
if (expectedCapacity !== null)
|
|
1304
1362
|
return (actualCapacity !== null &&
|
|
1305
1363
|
actualCapacity[1] === expectedCapacity[1] &&
|
|
1306
|
-
|
|
1364
|
+
(expectedCapacity[1] === "varbinary"
|
|
1365
|
+
? Number(actualCapacity[2]) === Number(expectedCapacity[2])
|
|
1366
|
+
: Number(actualCapacity[2]) >= Number(expectedCapacity[2])));
|
|
1307
1367
|
if (normalizedExpected === "blob")
|
|
1308
1368
|
return ["blob", "mediumblob", "longblob"].includes(normalizedActual);
|
|
1309
1369
|
return normalizedExpected === normalizedActual;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"record-storage.js","sourceRoot":"","sources":["../../src/mysql/record-storage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAY3F,OAAO,EACL,cAAc,EACd,0BAA0B,EAC1B,WAAW,EACX,aAAa,GACd,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,uBAAuB,EACvB,UAAU,GACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAG/C,MAAM,0BAA0B,GAAG,KAAK,CAAC;AAgEzC;;;;;GAKG;AACH,MAAM,OAAO,kBAAyC,SAAQ,aAAmB;IA2F5D;IACA;IACA;IACA;IAGA;IAhGnB,kBAAkB;IAElB;;OAEG;IACe,mBAAmB,GAAG,IAAI,CAAC;IAE7C,MAAM,CAA4B;IAElC;;OAEG;IACM,MAAM,GAAG,IAAI,iBAAiB,EAA2C,CAAC;IAE1E,SAAS,CAAmB;IAE5B,cAAc,CAAyB;IAEhD;;;;OAIG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAAO;QACX,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;;YACpE,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,GAAW,EAAE,MAA0B;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,UAAU,CAAC,KAAK,CAAe,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACtE,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9E,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,UAAU,CAAC,qBAAqB,EAAE,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,kBAAkB,CAAC,IAAY,EAAE,OAA0B;QAC/D,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,KAAK,SAAS;YAC3C,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpD,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAC9B,IAAI,qBAAqB,CACvB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,eAAe,CACrB,CAAC,kBAAkB,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAC1D,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,YACE,OAAuB,EACvB,UAA4B,EACX,KAAyB,EACzB,SAA+B,EAC/B,OAAmB,EACnB,eAA8B,EAC/C,SAAgC,EAChC,eAAoC,0BAA0B,EAC7C,eAAe,KAAK;QAErC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QARV,UAAK,GAAL,KAAK,CAAoB;QACzB,cAAS,GAAT,SAAS,CAAsB;QAC/B,YAAO,GAAP,OAAO,CAAY;QACnB,oBAAe,GAAf,eAAe,CAAe;QAG9B,iBAAY,GAAZ,YAAY,CAAQ;QAGrC,IAAI,CAAC,SAAS,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACpE,IAAI,CAAC,cAAc,GAAG,IAAI,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC3D,IAAI,CAAC,SAAS;YACZ,SAAS;gBACT,sBAAsB,CAAC;oBACrB,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,UAAU,EAAE,UAAU,CAAC,UAAU;oBACjC,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,eAAe,EAAE,UAAU,CAAC,OAAO;iBACpC,CAAC,CAAC;IACP,CAAC;IAEgB,SAAS,CAAuB;IAEjD;;OAEG;IACM,KAAK;QACZ,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,OAAO;QAC3B,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAI,IAAsB;QACrC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,KAAK,KAAK,CAAC;YAClF,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;QACtE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,EAAK,CAAC;QAChE,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC;YACH,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,QAAwB,EAAE;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACM,KAAK,CAAC,QAAwB,EAAE;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACM,YAAY,CAAC,QAAwB,EAAE;QAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;OAEG;IACM,SAAS,CAAC,IAA4B;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAC3B,CAAC,MAAM,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAClE,CAAC;IACJ,CAAC;IAED;;OAEG;IACM,gBAAgB,CAAC,IAA4B;QACpD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACM,MAAM,CAAC,EAAK;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACrB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACM,IAAI,CAAC,EAAK;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACrB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACM,KAAK,CAAC,MAAS;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACrB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YACnD,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACM,QAAQ,CAAC,OAAoB;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACrB,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;YAC5B,KAAK,MAAM,MAAM,IAAI,MAAM;gBAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;YAChF,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACM,aAAa,CAAC,EAAK,EAAE,QAAuB,EAAE,IAAmB;QACxE,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE;YACrB,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YACpB,OAAO,KAAK,CAAC,aAAa,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,MAAS;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,sBAAsB,CAAC,MAAS;QAC5C,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACf,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACpC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;oBACjD,OAAO;gBACT,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;wBAAE,MAAM,KAAK,CAAC;oBAC/C,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;wBAAE,OAAO;gBACpE,CAAC;YACH,CAAC;YACD,MAAM,IAAI,0BAA0B,CAAC,6CAA6C,CAAC,CAAC;QACtF,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,MAAS;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,uBAAuB,CAAC,MAAS;QAC7C,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACf,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACpC,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,cAAc,CAClB,UAAmD,EACnD,IAAsB;QAEtB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,KAAK,KAAK,UAAU;gBACtB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7B,OAAO,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,EAAK;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,YAAY,CAAC,EAAK;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACrC,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,OAAO,CACvC,iBAAiB,IAAI,CAAC,KAAK,CAAC,SAAS,eAAe,EACpD,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAU,CAC1B,CAAC;YACF,OAAO,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,UAAU,CAAC,EAAK;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,kBAAkB,CAAC,KAAqB;QACtD,IAAI,KAAK,CAAC,GAAG,EAAE,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACrC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,UAAU,CAAC,KAAK,CAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;YAClE,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACxB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC;iBAC1D,CAAC,CAAC,CAAC;YACN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,UAAU,CAAC,qBAAqB,EAAE,sCAAsC,EAAE,KAAK,CAAC,CAAC;YACzF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACgB,iBAAiB;QAClC,OAAO;YACL,WAAW,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,CAAC;YAClF,QAAQ,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;SACjD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACgB,KAAK,CAAC,sBAAsB,CAC7C,IAA4B;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,UAAU,CAAC,KAAK,CAAQ,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC5E,IAAI,CAAC;gBACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACxB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,KAAK,CAAC;iBAC1D,CAAC,CAAC,CAAC;YACN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,UAAU,CAAC,qBAAqB,EAAE,sCAAsC,EAAE,KAAK,CAAC,CAAC;YACzF,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACO,KAAK,CAAC,mBAAmB,CACjC,EAAK,EACL,QAAiE,EACjE,IAA6D;QAE7D,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAC7C,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CACvD,CAAC;gBACF,IAAI,MAAM,KAAK,SAAS;oBAAE,OAAO,MAAM,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,GAAG,CAAC,IAAI,aAAa,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;oBAAE,SAAS;gBACzF,MAAM,UAAU,CAAC,0BAA0B,EAAE,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACxF,CAAC;QACH,CAAC;QACD,MAAM,IAAI,0BAA0B,CAAC,mDAAmD,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,iBAAiB,CAC7B,UAAmD,EACnD,EAAK,EACL,QAAiE,EACjE,IAA6D;QAE7D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAC/E,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC;YACnC,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,UAAU,CAAC,OAAO,CACxC,iBAAiB,IAAI,CAAC,KAAK,CAAC,SAAS,2BAA2B,EAChE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,CAAU,CAC/B,CAAC;YACF,OAAO,OAAO,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACvD,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACxE,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAU,CAAC,CAAC;gBACxF,OAAO,IAAI,CAAC;YACd,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;oBAAE,OAAO,SAAS,CAAC;gBACnD,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,OAAO,CAAkB,IAAI,CAAC,YAAY,EAAE,EAAE;YAC9E,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACd,GAAG;SACK,CAAC,CAAC;QACZ,OAAO,MAAM,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,eAAe,CAC7B,OAA+D;QAE/D,KAAK,MAAM,MAAM,IAAI,OAAO;YAAE,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,WAAW,CAAC,MAAmD;QAC7E,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,KAAK,CACjB,IAAyE;QAEzE,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QACzE,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAClD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,0BAA0B,EAAE,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACxF,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,KAAK,CAAC,UAAmD;QACrE,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO;QACjD,IAAI,CAAC,MAAM,KAAK,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC;aACxF,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC;aAC7B,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACxB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;YACxB,MAAM,UAAU,CACd,uBAAuB,EACvB,6CAA6C,EAC7C,KAAK,CACN,CAAC;QACJ,CAAC,CAAC,CAAC;QACL,MAAM,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,MAAM,CAClB,UAAmD,EACnD,EAAK,EACL,MAAM,GAAG,KAAK;QAEd,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,UAAU,CAAC,OAAO,CACrC,uBAAuB,IAAI,CAAC,KAAK,CAAC,SAAS,gBAAgB,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EACxF,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAU,CAC1B,CAAC;QACF,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC5C,IAAI,CAAC;YACH,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,qBAAqB,EAAE,sCAAsC,EAAE,KAAK,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,KAAK,CACjB,UAAmD,EACnD,EAAK;QAEL,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,UAAU,CAAC,OAAO,CACrC,uBAAuB,IAAI,CAAC,KAAK,CAAC,SAAS,eAAe,EAC1D,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAU,CAC1B,CAAC;QACF,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,GAAe;QAC5B,IAAI,CAAC;YACH,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,qBAAqB,EAAE,sCAAsC,EAAE,KAAK,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,YAAY,CAAC,MAAS,EAAE,EAAK;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzD,OAAO;YACL,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACd,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC;YAC5C,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACxC,cAAc,CAAC,KAAK,CAClB,IAAI,CAAC,cAAc,EACnB,MAAM,CAAC,IAAI,EACX,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CACtC,CACF;SACF,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,SAAS;QACf,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACvF,OAAO,CACL,iBAAiB,IAAI,CAAC,KAAK,CAAC,SAAS,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC7F,WAAW,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9C,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,YAAY;QAClB,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACjF,OAAO,CACL,YAAY,IAAI,CAAC,KAAK,CAAC,SAAS,UAAU,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YAC5F,wBAAwB,CACzB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,gBAAgB,CAAC,KAAc;QACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAC9D,MAAM,OAAO,GAAG,KAAkE,CAAC;QACnF,OAAO,CACL,OAAO,CAAC,IAAI,KAAK,cAAc;YAC/B,OAAO,CAAC,KAAK,KAAK,IAAI;YACtB,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ;YACtC,wCAAwC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAClE,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACK,KAAK,CAAC,eAAe,CAC3B,UAAmD,EACnD,EAAK,EACL,MAAS;QAET,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAClD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACvC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QACpE,MAAM,IAAI,0BAA0B,CAAC,kCAAkC,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,OAAO,CACnB,UAAmD,EACnD,MAAS;QAET,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG;YACb,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC;YAC5C,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,cAAc,CAAC,KAAK,CAClB,IAAI,CAAC,cAAc,EACnB,MAAM,CAAC,IAAI,EACX,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CACtC,CACF;SACF,CAAC;QACF,MAAM,MAAM,GAAG;YACb,qBAAqB;YACrB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,KAAK,CAAC;SAC5E,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,UAAU,CAAC,OAAO,CACtB,iBAAiB,IAAI,CAAC,KAAK,CAAC,SAAS,OAAO,MAAM,aAAa,YAAY,IAAI;YAC7E,2BAA2B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAChD,MAAe,CAChB,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,iBAAiB,CAC7B,UAAmD,EACnD,MAAS;QAET,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,MAAM,MAAM,GAAG;YACb,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC;YAC5C,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CACxB,cAAc,CAAC,KAAK,CAClB,IAAI,CAAC,cAAc,EACnB,MAAM,CAAC,IAAI,EACX,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CACtC,CACF;SACF,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,UAAU,CAAC,OAAO,CACvC,iBAAiB,IAAI,CAAC,KAAK,CAAC,SAAS,OAAO,MAAM,aAAa,YAAY,GAAG,EAC9E,MAAe,CAChB,CAAC;QACF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACK,QAAQ,CAAC,KAAqB;QACpC,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAC/B,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrF,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3F,MAAM,MAAM,GAAG;YACb,GAAG,KAAK,CAAC,GAAG,CACV,CAAC,IAAI,EAAE,EAAE,CACP,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,MAAM,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CACjG;YACD,QAAQ;SACT,CAAC;QACF,IAAI,GAAG,GACL,2BAA2B,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK;YACpD,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;YAC/D,YAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC9B,GAAG,IAAI,UAAU,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,GAAG,IAAI,WAAW,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACtC,GAAG,IAAI,sCAAsC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CAAC,KAAqB,EAAE,MAAiB;QAC5D,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE;YAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1F,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACK,YAAY,CAAC,MAAoB,EAAE,MAAiB;QAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QAC3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxB,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACxC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,IAAI,UAAU,CAAC;QACtD,OAAO,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IACrE,CAAC;IAED;;;;;;;OAOG;IACK,kBAAkB,CACxB,KAAqB,EACrB,KAA6B,EAC7B,MAAiB;QAEjB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QACtC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE;gBAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;gBAC9D,MAAM,CAAC,IAAI,CACT,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAClF,CAAC;gBACF,OAAO,KAAK,KAAK,UAAU,CAAC;YAC9B,CAAC,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACtD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7F,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YACxE,IAAI,KAAK,KAAK,IAAI;gBAChB,OAAO,GAAG,KAAK,GAAG,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,gBAAgB,EAAE,CAAC;YACrF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI;gBAC7C,OAAO,GAAG,KAAK,MAAM,KAAK,eAAe,KAAK,aAAa,CAAC;YAC9D,OAAO,GAAG,KAAK,KAAK,KAAK,MAAM,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;QAC3E,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAC5F,OAAO,KAAK,KAAK,UAAU,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,QAAQ,CAAC,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAClC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACK,OAAO,CAAC,IAA4B;QAC1C,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU;YACnC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;QACnB,MAAM,OAAO,GACX,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,0BAA0B,CAAC;QACrF,MAAM,SAAS,GACb,aAAa,KAAK,SAAS,IAAI,OAAO;YACpC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,MAAM,CAAC,MAAM,IAAI,0BAA0B,EAAE,CAAC;YAChD,MAAM,IAAI,0BAA0B,CAClC,sCAAsC,MAAM,CAAC,0BAA0B,CAAC,yBAAyB,CAClG,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,0BAA0B,CAAC;QACzE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU;YAC3B,CAAC,CAAC,IAAI,CAAC,KAAK;YACZ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,gBAAgB,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC;QACxE,MAAM,UAAU,GACd,CAAC,IAAI,CAAC,UAAU;YAChB,CAAC,CAAC,OAAO,IAAI,aAAa,KAAK,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;QACtF,IAAI,KAAK,KAAK,SAAS,IAAI,UAAU;YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,KAAK,KAAK,SAAS,IAAI,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,OAAO;YACL,GAAG,EACD,2BAA2B,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK;gBACpD,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC;gBACtD,YAAY,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;gBAClC,WAAW;YACb,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,SAAS,CAAC,IAA4B;QAC5C,OAAO;YACL,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CACvB,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CAC1F;YACD,QAAQ;SACT,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED;;;;;;;OAOG;IACK,mBAAmB,CACzB,SAAkD;QAElD,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC9C,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,SAAS,CAAC;YACzF,OAAO,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC;gBAC9D,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC;gBAC5D,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS,CAAC;QAChB,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,CAAC;QACD,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;QACtF,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ;YAC7B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC5E,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAC9B,CAAC,KAAK,EAAwC,EAAE,CAAC,KAAK,KAAK,SAAS,CACrE,CAAC;QACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC5E,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACK,wBAAwB,CAC9B,SAAuE;QAEvE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CACzC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,CAC7C,EAAE,SAAS,CAAC;QACb,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC;QAC9B,OAAO,CACL,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC;YACpD,CAAC,OAAO,KAAK,SAAS;gBACpB,CAAC,CAAC,SAAS,CAAC,QAAQ,KAAK,OAAO,IAAI,OAAO,KAAK,KAAK,SAAS;gBAC9D,CAAC,CAAC,OAAO,KAAK,QAAQ;oBACpB,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;oBAC3B,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAChE,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,sBAAsB,CAAC,IAA4B;QACzD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,SAAS,CAAC;QACxF,IAAI,CAAC,CACH,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC;YACxD,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,OAAO,CAAC,CAC5D;YACC,OAAO,KAAK,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;YACvC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CACzC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CACxC,EAAE,SAAS,CAAC;YACb,OAAO,CACL,CAAC,OAAO,KAAK,KAAK,IAAI,OAAO,KAAK,QAAQ,CAAC;gBAC3C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAChD,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACK,oBAAoB,CAAC,MAAc,EAAE,OAA2B;QACtE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,IAAI,CAAC;QAC1F,IAAI,OAAO,KAAK,KAAK,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAC5D,IAAI,IAAI,EAAE,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,IAAI,CAAC;QAClE,IAAI,OAAO,KAAK,KAAK;YACnB,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1F,OAAO,CACL,OAAO,KAAK,QAAQ;YACpB,CAAC,IAAI,CAAC,YAAY;YAClB,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CACjF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,aAAa,CAAC,SAAkD;QACtE,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,CAAC,CAAC;QACtC,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK;YAAE,OAAO,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC;QAC1D,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY;YAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;;OAMG;IACK,aAAa,CAAC,SAAsC,EAAE,MAAiB;QAC7E,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1D,OAAO,UAAU,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC9D,CAAC;QACD,IAAI,SAAS,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YACjD,MAAM,QAAQ,GACZ,SAAS,CAAC,QAAQ,KAAK,OAAO;gBAC5B,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,SAAS,CAAC,QAAQ,KAAK,aAAa;oBACpC,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,SAAS,CAAC,QAAQ,KAAK,UAAU;wBACjC,CAAC,CAAC,GAAG;wBACL,CAAC,CAAC,SAAS,CAAC,QAAQ,KAAK,gBAAgB;4BACvC,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,IAAI,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/D,OAAO,GAAG,MAAM,IAAI,QAAQ,IAAI,CAAC;QACnC,CAAC;QACD,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;IACpG,CAAC;IAED;;;;;OAKG;IACK,UAAU,CAAC,MAAc;QAC/B,IAAI,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,KAAK,MAAM,IAAI,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACK,SAAS,CAAC,MAAc,EAAE,KAAc;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACxF,IAAI,QAAQ,KAAK,SAAS;YACxB,MAAM,IAAI,0BAA0B,CAAC,uCAAuC,MAAM,EAAE,CAAC,CAAC;QACxF,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACK,aAAa,CAAC,KAAqB;QACzC,IAAI,CAAC;YACH,KAAK,MAAM,EAAE,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE;gBAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACjD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;gBACzC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBACxB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;YACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE;gBACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC3B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;oBAClE,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;oBACzC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;wBACvC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC5D,MAAM,IAAI,0BAA0B,CAAC,wCAAwC,CAAC,CAAC;YACjF,MAAM,UAAU,CAAC,0BAA0B,EAAE,sCAAsC,EAAE,KAAK,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,YAAY,CAAC,IAAY;QAC/B,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC;YAClF,MAAM,IAAI,0BAA0B,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;IACxF,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,EAAK;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACK,UAAU,CAAC,EAAK;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC5D,MAAM,IAAI,0BAA0B,CAAC,wCAAwC,CAAC,CAAC;YACjF,MAAM,UAAU,CAAC,0BAA0B,EAAE,sCAAsC,EAAE,KAAK,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,QAAQ,CAAC,GAAY;QAC3B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACK,UAAU,CAAC,IAAY,EAAE,KAAc;QAC7C,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAU,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QACpF,IAAI,MAAM,KAAK,SAAS;YACtB,MAAM,IAAI,0BAA0B,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;QACtF,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,qBAAqB;IASb;IACA;IACA;IAVnB;;;;;;OAMG;IACH,YACmB,KAAyB,EACzB,IAA0B,EAC1B,YAA2B;QAF3B,UAAK,GAAL,KAAK,CAAoB;QACzB,SAAI,GAAJ,IAAI,CAAsB;QAC1B,iBAAY,GAAZ,YAAY,CAAe;IAC3C,CAAC;IAEJ;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CACX,UAAmD,EACnD,IAA4B;QAE5B,IAAI,IAAI,KAAK,QAAQ;YAAE,MAAM,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;QACzF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACrC,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACK,SAAS;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7E,OAAO,CACL,gCAAgC,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK;YACzD,IAAI,OAAO,kBAAkB,OAAO,kBAAkB,CACvD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,cAAc,CAC1B,UAAmD;QAEnD,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,UAAU,CAAC,KAAK,CACtC,iEAAiE;YAC/D,gEAAgE;YAChE,mDAAmD;YACnD,gFAAgF,EAClF,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CACvB,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC,CACvE,CAAC;QACF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CACzB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CACjF,CAAC;YACF,IAAI,MAAM,KAAK,SAAS;gBACtB,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,UAAU,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAC/E,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9C,CAAC;QACD,KAAK,MAAM,MAAM,IAAI,OAAO;YAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;gBACjD,MAAM,IAAI,KAAK,CACb,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,kCAAkC,MAAM,CAAC,WAAW,GAAG,CAC3F,CAAC;QACN,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,cAAc,CAC1B,UAAmD,EACnD,cAAuB;QAEvB,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,UAAU,CAAC,KAAK,CACtC,kEAAkE;YAChE,oFAAoF;YACpF,gDAAgD,EAClD,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CACvB,CAAC;QACF,IACE,cAAc;YACd,CAAC,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;gBAC7C,OAAO,CAAC,IAAI,CACV,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAChB,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAClF,CAAC;YAEJ,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAmC,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,aAAa,CAAC,UAAmD;QAC7E,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,UAAU,CAAC,KAAK,CACtC,6DAA6D;YAC3D,2DAA2D;YAC3D,oFAAoF;YACpF,mCAAmC,EACrC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CACvB,CAAC;QACF,KAAK,MAAM,KAAK,IAAI,cAAc,CAAC,OAAO,CAAC;YACzC,IACE,KAAK,CAAC,SAAS,KAAK,CAAC;gBACrB,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,SAAS;gBACtC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CACnC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAC5E;gBAED,MAAM,IAAI,KAAK,CACb,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,kCAAkC,KAAK,CAAC,IAAI,GAAG,CACnF,CAAC;IACR,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,aAAa,CAAC,UAAmD;QAC7E,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,UAAU,CAAC,KAAK,CACtC,uGAAuG,EACvG,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CACvB,CAAC;QACF,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAClC,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACtF,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,2BAA2B,MAAM,GAAG,CAAC,CAAC;IAC7F,CAAC;IAED;;;;;OAKG;IACK,sBAAsB,CAC5B,QAAiD,EACjD,MAAiB;QAEjB,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC;YAC9D,MAAM,IAAI,KAAK,CACb,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,wBAAwB,QAAQ,CAAC,IAAI,QAAQ,CACjF,CAAC;QACJ,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,KAAK,CAAC,KAAK,QAAQ,CAAC,QAAQ;YAC1F,MAAM,IAAI,KAAK,CACb,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,8BAA8B,QAAQ,CAAC,IAAI,GAAG,CAClF,CAAC;QACJ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC;YAC1D,MAAM,IAAI,KAAK,CACb,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,qBAAqB,QAAQ,CAAC,IAAI,WAAW,CACjF,CAAC;QACJ,IACE,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC;YAChC,MAAM,CAAC,cAAc,KAAK,SAAS;YACnC,MAAM,CAAC,cAAc,KAAK,IAAI;YAE9B,MAAM,IAAI,KAAK,CACb,eAAe,IAAI,CAAC,KAAK,CAAC,SAAS,qBAAqB,QAAQ,CAAC,IAAI,aAAa,CACnF,CAAC;IACN,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,kBAAkB,CACtB,UAAmD,EACnD,IAAY,EACZ,OAA0B,EAC1B,IAA4B;QAE5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC3D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,IAAI,IAAI,KAAK,OAAO;YAClB,MAAM,IAAI,uBAAuB,CAAC,uCAAuC,CAAC,CAAC;QAC7E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAClF,MAAM,IAAI,uBAAuB,CAAC,4CAA4C,CAAC,CAAC;QAClF,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,KAAK,CAAC,kBAAkB,IAAI,WAAW,IAAI,CAAC,KAAK,CAAC,SAAS,OAAO,MAAM,GAAG,CAAC,CAAC;QAChG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAK,KAA2B,CAAC,IAAI,KAAK,gBAAgB;gBAAE,MAAM,KAAK,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,YAAY,CACxB,UAAmD,EACnD,IAAY;QAEZ,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,UAAU,CAAC,KAAK,CACnC,6DAA6D;YAC3D,4DAA4D;YAC5D,yEAAyE;YACzE,oFAAoF;YACpF,wCAAwC,EAC1C,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,CAC7B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACK,kBAAkB,CAAC,IAAyB,EAAE,OAA0B;QAC9E,IACE,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;YAC9B,IAAI,CAAC,IAAI,CACP,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CACb,GAAG,CAAC,WAAW,KAAK,OAAO,CAAC,KAAK,CAAC;gBAClC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,KAAK,GAAG,CAAC;gBACtC,GAAG,CAAC,QAAQ,KAAK,IAAI;gBACrB,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;gBAC5B,GAAG,CAAC,SAAS,KAAK,GAAG;gBACrB,GAAG,CAAC,UAAU,KAAK,OAAO,CAC7B;YAED,MAAM,IAAI,uBAAuB,CAAC,4CAA4C,CAAC,CAAC;IACpF,CAAC;CACF;AAsCD,SAAS,qBAAqB,CAC5B,MAA2D;IAE3D,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;IACzD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,MAAM,CAAC,UAAU,EAAE,CAAC;IAC1F,OAAO,KAAK,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,SAAS,GAAG,QAAQ,GAAG,UAAU,EAAE,CAAC;AAC1E,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,MAA0B;IACvE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE,CAC1C,KAAK;SACF,WAAW,EAAE;SACb,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC;QACxB,wEAAwE;SACvE,OAAO,CAAC,mDAAmD,EAAE,IAAI,CAAC,CAAC;IACxE,MAAM,kBAAkB,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC/C,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpE,IAAI,kBAAkB,KAAK,SAAS;QAClC,OAAO,CAAC,SAAS,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IACvE,MAAM,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC3C,MAAM,gBAAgB,GAAG,gCAAgC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,gCAAgC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/E,IAAI,gBAAgB,KAAK,IAAI;QAC3B,OAAO,CACL,cAAc,KAAK,IAAI;YACvB,cAAc,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CACzD,CAAC;IACJ,IAAI,kBAAkB,KAAK,MAAM;QAC/B,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACvE,OAAO,kBAAkB,KAAK,gBAAgB,CAAC;AACjD,CAAC;AAED,SAAS,WAAW,CAAC,QAA4B,EAAE,MAAiC;IAClF,IAAI,QAAQ,KAAK,SAAS;QACxB,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;IACpF,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAClC,OAAO,iBAAiB,CAAC,MAAM,CAAC,KAAK,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACnE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IAClE,IAAI,UAAU,KAAK,OAAO;QAAE,OAAO,GAAG,CAAC;IACvC,IAAI,UAAU,KAAK,MAAM;QAAE,OAAO,GAAG,CAAC;IACtC,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,cAAc,CACrB,OAA4B;IAE5B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkE,CAAC;IAC1F,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI;YAChD,IAAI,EAAE,KAAK,CAAC,UAAU;YACtB,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;YACnC,OAAO,EAAE,EAAE;SACZ,CAAC;QACF,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,WAAW,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,IAAI,CACX,MAA4D,EAC5D,IAAmB,EACnB,KAAoB;IAEpB,OAAO,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAC9C,CAAC,CAAC,IAAI,KAAK,KAAK;QAChB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAA4B,CAAC,IAAI,KAAK,kBAAkB,CAC1D,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"record-storage.js","sourceRoot":"","sources":["../../src/mysql/record-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -261,6 +261,17 @@ export declare class MysqlStorageFactory extends StorageFactory {
|
|
|
261
261
|
* @returns The record-family storage handle.
|
|
262
262
|
*/
|
|
263
263
|
protected onCreateRecordStorage<I, R extends Message>(context: StorageContext, spec: RecordSpec<I, R>, group?: StorageGroup): RecordStorage<I, R>;
|
|
264
|
+
/**
|
|
265
|
+
* Opens a record handle whose operations leave table preparation explicit.
|
|
266
|
+
*
|
|
267
|
+
* @param context Provides the storage context.
|
|
268
|
+
* @param spec Describes the record family.
|
|
269
|
+
* @param group Identifies an optional storage group.
|
|
270
|
+
* @returns The unprepared MySQL record handle.
|
|
271
|
+
* @typeParam I Record identifier type.
|
|
272
|
+
* @typeParam R Stored Protobuf message type.
|
|
273
|
+
*/
|
|
274
|
+
protected onCreateUnprepared<I, R extends Message>(context: StorageContext, spec: RecordSpec<I, R>, group?: StorageGroup): RecordStorage<I, R>;
|
|
264
275
|
/**
|
|
265
276
|
* Creates a record-family handle for its tenant database.
|
|
266
277
|
*
|
|
@@ -273,6 +284,7 @@ export declare class MysqlStorageFactory extends StorageFactory {
|
|
|
273
284
|
* @returns The opened MySQL record-storage handle.
|
|
274
285
|
* @param tracked Whether the factory tracks this public handle.
|
|
275
286
|
* @param publicHandle Whether calls use the public intake fence.
|
|
287
|
+
* @param prepareOnAccess Whether this handle prepares its table on access.
|
|
276
288
|
*/
|
|
277
289
|
private createMysqlRecordStorage;
|
|
278
290
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-factory.d.ts","sourceRoot":"","sources":["../../src/mysql/storage-factory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"storage-factory.d.ts","sourceRoot":"","sources":["../../src/mysql/storage-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -215,6 +215,7 @@ export class MysqlStorageFactory extends StorageFactory {
|
|
|
215
215
|
createEntityCommitStorage: (input) => this.createEntityCommitStorage(input),
|
|
216
216
|
});
|
|
217
217
|
StoragePreparations.register(this, {
|
|
218
|
+
supportsRecordIndexes: true,
|
|
218
219
|
prepareRecord: (context, spec, group, mode) => this.prepareRecord(context, spec, group, mode),
|
|
219
220
|
prepareEntity: (input, mode) => this.prepareEntity(input, mode),
|
|
220
221
|
prepareAgentHistory: (input, mode) => this.prepareAgentHistory(input, mode),
|
|
@@ -375,6 +376,19 @@ export class MysqlStorageFactory extends StorageFactory {
|
|
|
375
376
|
onCreateRecordStorage(context, spec, group) {
|
|
376
377
|
return this.createMysqlRecordStorage(context, spec, group, this.database(context), true, true);
|
|
377
378
|
}
|
|
379
|
+
/**
|
|
380
|
+
* Opens a record handle whose operations leave table preparation explicit.
|
|
381
|
+
*
|
|
382
|
+
* @param context Provides the storage context.
|
|
383
|
+
* @param spec Describes the record family.
|
|
384
|
+
* @param group Identifies an optional storage group.
|
|
385
|
+
* @returns The unprepared MySQL record handle.
|
|
386
|
+
* @typeParam I Record identifier type.
|
|
387
|
+
* @typeParam R Stored Protobuf message type.
|
|
388
|
+
*/
|
|
389
|
+
onCreateUnprepared(context, spec, group) {
|
|
390
|
+
return this.createMysqlRecordStorage(context, spec, group, this.database(context), true, true, false);
|
|
391
|
+
}
|
|
378
392
|
/**
|
|
379
393
|
* Creates a record-family handle for its tenant database.
|
|
380
394
|
*
|
|
@@ -387,13 +401,14 @@ export class MysqlStorageFactory extends StorageFactory {
|
|
|
387
401
|
* @returns The opened MySQL record-storage handle.
|
|
388
402
|
* @param tracked Whether the factory tracks this public handle.
|
|
389
403
|
* @param publicHandle Whether calls use the public intake fence.
|
|
404
|
+
* @param prepareOnAccess Whether this handle prepares its table on access.
|
|
390
405
|
*/
|
|
391
|
-
createMysqlRecordStorage(context, spec, group, boundary = this.database(context), tracked = true, publicHandle = false) {
|
|
406
|
+
createMysqlRecordStorage(context, spec, group, boundary = this.database(context), tracked = true, publicHandle = false, prepareOnAccess = true) {
|
|
392
407
|
const tableSpec = this.tableSpec(spec, group);
|
|
393
408
|
const table = { tableName: tableSpec.tableName };
|
|
394
409
|
const operation = this.createOperation;
|
|
395
410
|
const create = operation === undefined ? undefined : () => operation(tableSpec).sql;
|
|
396
|
-
const handle = new MysqlRecordStorage(context, spec, table, this.connections(boundary, tableSpec), () => this.#handles.delete(handle), create, tableSpec, this.stringifiers, publicHandle);
|
|
411
|
+
const handle = new MysqlRecordStorage(context, spec, table, this.connections(boundary, tableSpec), () => this.#handles.delete(handle), create, tableSpec, this.stringifiers, publicHandle, prepareOnAccess);
|
|
397
412
|
if (tracked)
|
|
398
413
|
this.#handles.add(handle);
|
|
399
414
|
return handle;
|
|
@@ -414,6 +429,7 @@ export class MysqlStorageFactory extends StorageFactory {
|
|
|
414
429
|
recordType: spec.recordType,
|
|
415
430
|
idType: spec.idType,
|
|
416
431
|
declaredColumns: spec.columns,
|
|
432
|
+
declaredIndexes: spec.indexes,
|
|
417
433
|
...(group === undefined ? {} : { groupName: group.name }),
|
|
418
434
|
});
|
|
419
435
|
}
|
|
@@ -729,6 +745,7 @@ export class MysqlStorageFactory extends StorageFactory {
|
|
|
729
745
|
typeof id === "string" ? id : id.typeName,
|
|
730
746
|
table.groupName ?? null,
|
|
731
747
|
table.primaryKey,
|
|
748
|
+
table.indexes ?? [],
|
|
732
749
|
[...table.columns]
|
|
733
750
|
.sort((a, b) => a.name.localeCompare(b.name))
|
|
734
751
|
.map((column) => [
|