@spine-event-engine/storage-mysql 2.0.0-snapshot.16 → 2.0.0-snapshot.20
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/REFERENCE.md +1 -2
- package/dist/mysql/record-storage.d.ts +46 -2
- package/dist/mysql/record-storage.d.ts.map +1 -1
- package/dist/mysql/record-storage.js +136 -13
- package/dist/mysql/record-storage.js.map +1 -1
- package/dist/mysql/storage-factory.d.ts +49 -5
- package/dist/mysql/storage-factory.d.ts.map +1 -1
- package/dist/mysql/storage-factory.js +157 -39
- package/dist/mysql/storage-factory.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -4
|
@@ -60,6 +60,14 @@ export class MysqlStorageFactory extends StorageFactory {
|
|
|
60
60
|
#databases;
|
|
61
61
|
#catalog;
|
|
62
62
|
#closed;
|
|
63
|
+
/**
|
|
64
|
+
* Creates the factory from connected tenant databases.
|
|
65
|
+
*
|
|
66
|
+
* @param databases Supplies configured tenant databases.
|
|
67
|
+
* @param resolver Resolves record-family table names.
|
|
68
|
+
* @param createOperation Creates optional table SQL.
|
|
69
|
+
* @param stringifiers Converts message-valued IDs and columns.
|
|
70
|
+
*/
|
|
63
71
|
constructor(databases, resolver = new MysqlTableResolver(), createOperation, stringifiers = new StringifierRegistry()) {
|
|
64
72
|
super();
|
|
65
73
|
this.createOperation = createOperation;
|
|
@@ -119,11 +127,24 @@ export class MysqlStorageFactory extends StorageFactory {
|
|
|
119
127
|
* @param context Provides the storage context.
|
|
120
128
|
* @param spec Describes the record family.
|
|
121
129
|
* @param group Identifies an optional storage group.
|
|
122
|
-
* @
|
|
130
|
+
* @typeParam I Record identifier type.
|
|
131
|
+
* @typeParam R Stored Protobuf message type.
|
|
132
|
+
* @returns The record-family storage handle.
|
|
123
133
|
*/
|
|
124
134
|
onCreateRecordStorage(context, spec, group) {
|
|
125
135
|
return this.createMysqlRecordStorage(context, spec, group);
|
|
126
136
|
}
|
|
137
|
+
/**
|
|
138
|
+
* Creates a record-family handle for its tenant database.
|
|
139
|
+
*
|
|
140
|
+
* @typeParam I Record identifier type.
|
|
141
|
+
* @typeParam R Stored Protobuf message type.
|
|
142
|
+
* @param context Supplies the storage and tenant context.
|
|
143
|
+
* @param spec Defines the record family.
|
|
144
|
+
* @param group Selects a grouped history family, when present.
|
|
145
|
+
* @param database Supplies the resolved tenant database.
|
|
146
|
+
* @returns The opened MySQL record-storage handle.
|
|
147
|
+
*/
|
|
127
148
|
createMysqlRecordStorage(context, spec, group, database = this.database(context)) {
|
|
128
149
|
const table = this.#resolver.resolve(spec.sourceType.typeName, group?.name, undefined, spec.recordType.typeName);
|
|
129
150
|
const tableSpec = resolvedMysqlTableSpec({
|
|
@@ -143,8 +164,10 @@ export class MysqlStorageFactory extends StorageFactory {
|
|
|
143
164
|
/**
|
|
144
165
|
* Creates MySQL storage for one Entity family.
|
|
145
166
|
*
|
|
167
|
+
* @typeParam I Entity identifier type.
|
|
168
|
+
* @typeParam S Entity state message type.
|
|
146
169
|
* @param input Configures the Entity storage families.
|
|
147
|
-
* @returns
|
|
170
|
+
* @returns The MySQL Entity storage handle.
|
|
148
171
|
*/
|
|
149
172
|
createEntityStorage(input) {
|
|
150
173
|
const database = this.database(input.context);
|
|
@@ -155,10 +178,14 @@ export class MysqlStorageFactory extends StorageFactory {
|
|
|
155
178
|
return handle;
|
|
156
179
|
}
|
|
157
180
|
/**
|
|
158
|
-
* Creates MySQL storage for
|
|
181
|
+
* Creates MySQL storage for Entity commits. MyISAM and Aria tables may retain
|
|
182
|
+
* partial writes when a commit fails; transactional table engines roll back
|
|
183
|
+
* the commit.
|
|
159
184
|
*
|
|
185
|
+
* @typeParam I Entity identifier type.
|
|
186
|
+
* @typeParam S Entity state message type.
|
|
160
187
|
* @param input Configures the Entity storage families.
|
|
161
|
-
* @returns
|
|
188
|
+
* @returns The Entity commit storage handle.
|
|
162
189
|
*/
|
|
163
190
|
createEntityCommitStorage(input) {
|
|
164
191
|
const database = this.database(input.context);
|
|
@@ -168,6 +195,12 @@ export class MysqlStorageFactory extends StorageFactory {
|
|
|
168
195
|
this.#handles.add(handle);
|
|
169
196
|
return handle;
|
|
170
197
|
}
|
|
198
|
+
/**
|
|
199
|
+
* Creates the connection lifecycle for one tenant database.
|
|
200
|
+
*
|
|
201
|
+
* @param database Supplies the tenant database pool.
|
|
202
|
+
* @returns The connection acquisition and release operations.
|
|
203
|
+
*/
|
|
171
204
|
connections(database) {
|
|
172
205
|
return {
|
|
173
206
|
databaseName: database.databaseName,
|
|
@@ -177,6 +210,12 @@ export class MysqlStorageFactory extends StorageFactory {
|
|
|
177
210
|
},
|
|
178
211
|
};
|
|
179
212
|
}
|
|
213
|
+
/**
|
|
214
|
+
* Resolves the database configured for a storage context.
|
|
215
|
+
*
|
|
216
|
+
* @param context Supplies the storage and tenant context.
|
|
217
|
+
* @returns The configured tenant database.
|
|
218
|
+
*/
|
|
180
219
|
database(context) {
|
|
181
220
|
const boundary = TenantBoundary.of(context);
|
|
182
221
|
const database = this.#databases.get(boundary.key);
|
|
@@ -189,7 +228,7 @@ export class MysqlStorageFactory extends StorageFactory {
|
|
|
189
228
|
/**
|
|
190
229
|
* Connects to MySQL and creates an initialized storage factory.
|
|
191
230
|
*
|
|
192
|
-
* @param
|
|
231
|
+
* @param entries Supplies the tenant database configurations to connect.
|
|
193
232
|
* @param resolver Resolves configured record-family table names.
|
|
194
233
|
* @param createOperation Creates optional table-creation SQL.
|
|
195
234
|
* @param stringifiers Converts message-valued IDs and columns.
|
|
@@ -232,6 +271,9 @@ export class MysqlStorageFactory extends StorageFactory {
|
|
|
232
271
|
}
|
|
233
272
|
}
|
|
234
273
|
}
|
|
274
|
+
/**
|
|
275
|
+
* Collects MySQL storage settings before opening database pools.
|
|
276
|
+
*/
|
|
235
277
|
class Builder {
|
|
236
278
|
connect;
|
|
237
279
|
#options;
|
|
@@ -239,6 +281,11 @@ class Builder {
|
|
|
239
281
|
#resolver = new MysqlTableResolver();
|
|
240
282
|
#operation;
|
|
241
283
|
#stringifiers = new StringifierRegistry();
|
|
284
|
+
/**
|
|
285
|
+
* Creates a builder with its storage-factory connection function.
|
|
286
|
+
*
|
|
287
|
+
* @param connect Connects the configured tenant databases.
|
|
288
|
+
*/
|
|
242
289
|
constructor(connect) {
|
|
243
290
|
this.connect = connect;
|
|
244
291
|
}
|
|
@@ -329,9 +376,21 @@ async function assertNoRetiredLayout(connection) {
|
|
|
329
376
|
}
|
|
330
377
|
}
|
|
331
378
|
const MysqlConfigurations = Object.freeze({
|
|
379
|
+
/**
|
|
380
|
+
* Creates a database configuration for single-tenant storage.
|
|
381
|
+
*
|
|
382
|
+
* @param options Supplies the MySQL connection options.
|
|
383
|
+
* @returns The single-tenant database configuration.
|
|
384
|
+
*/
|
|
332
385
|
single(options) {
|
|
333
386
|
return MysqlConfigurations.parse(TenantBoundary.single, options);
|
|
334
387
|
},
|
|
388
|
+
/**
|
|
389
|
+
* Creates database configurations for multitenant storage.
|
|
390
|
+
*
|
|
391
|
+
* @param entries Supplies tenant IDs and their database options.
|
|
392
|
+
* @returns The tenant database configurations.
|
|
393
|
+
*/
|
|
335
394
|
multitenant(entries) {
|
|
336
395
|
if (entries.length === 0) {
|
|
337
396
|
throw new MysqlStorageConfigurationError("Multitenant MySQL storage requires tenants.");
|
|
@@ -351,6 +410,13 @@ const MysqlConfigurations = Object.freeze({
|
|
|
351
410
|
}
|
|
352
411
|
return configured;
|
|
353
412
|
},
|
|
413
|
+
/**
|
|
414
|
+
* Validates and resolves one tenant database configuration.
|
|
415
|
+
*
|
|
416
|
+
* @param boundary Identifies the tenant boundary.
|
|
417
|
+
* @param options Supplies the MySQL connection options.
|
|
418
|
+
* @returns The resolved database configuration.
|
|
419
|
+
*/
|
|
354
420
|
parse(boundary, options) {
|
|
355
421
|
let url;
|
|
356
422
|
try {
|
|
@@ -387,6 +453,12 @@ const MysqlConfigurations = Object.freeze({
|
|
|
387
453
|
};
|
|
388
454
|
},
|
|
389
455
|
});
|
|
456
|
+
/**
|
|
457
|
+
* Commits one MySQL Entity mutation under native transaction or table coordination.
|
|
458
|
+
*
|
|
459
|
+
* @typeParam I Captured Entity identifier type.
|
|
460
|
+
* @typeParam S Captured Entity state type.
|
|
461
|
+
*/
|
|
390
462
|
class MysqlEntityCommitStorage {
|
|
391
463
|
entity;
|
|
392
464
|
openStorage;
|
|
@@ -395,6 +467,16 @@ class MysqlEntityCommitStorage {
|
|
|
395
467
|
databaseName;
|
|
396
468
|
onClose;
|
|
397
469
|
#open = true;
|
|
470
|
+
/**
|
|
471
|
+
* Creates a commit handle for one Entity scope and MySQL coordinator.
|
|
472
|
+
*
|
|
473
|
+
* @param entity Defines the captured Entity scope.
|
|
474
|
+
* @param openStorage Opens the current and history families.
|
|
475
|
+
* @param openEvents Opens delivery Event storage.
|
|
476
|
+
* @param coordinator Serializes the provider commit.
|
|
477
|
+
* @param databaseName Identifies the database in lock keys.
|
|
478
|
+
* @param onClose Removes the handle from factory tracking.
|
|
479
|
+
*/
|
|
398
480
|
constructor(entity, openStorage, openEvents, coordinator, databaseName, onClose) {
|
|
399
481
|
this.entity = entity;
|
|
400
482
|
this.openStorage = openStorage;
|
|
@@ -403,19 +485,16 @@ class MysqlEntityCommitStorage {
|
|
|
403
485
|
this.databaseName = databaseName;
|
|
404
486
|
this.onClose = onClose;
|
|
405
487
|
}
|
|
488
|
+
/**
|
|
489
|
+
* Commits current state and associated immutable records within provider coordination.
|
|
490
|
+
*
|
|
491
|
+
* @typeParam Id Committed Entity identifier type.
|
|
492
|
+
* @typeParam State Committed Entity state type.
|
|
493
|
+
* @param input Supplies the affected Entity and immutable records.
|
|
494
|
+
* @returns Completion after the provider commit.
|
|
495
|
+
*/
|
|
406
496
|
async commit(input) {
|
|
407
|
-
|
|
408
|
-
throw new MysqlStorageOperationError("Entity commit storage is closed.");
|
|
409
|
-
if (input.entity.sourceType.typeName !== this.entity.sourceType.typeName)
|
|
410
|
-
throw new MysqlStorageOperationError("Entity commit source type is incompatible.");
|
|
411
|
-
if (!this.accepts(input))
|
|
412
|
-
throw new MysqlStorageOperationError("Entity commit context is incompatible.");
|
|
413
|
-
if (!this.entity.stateHistory && (input.states?.length ?? 0) > 0)
|
|
414
|
-
throw new MysqlStorageOperationError("Entity state history is disabled.");
|
|
415
|
-
if (!this.entity.eventHistory && (input.diagnostics?.length ?? 0) > 0)
|
|
416
|
-
throw new MysqlStorageOperationError("Entity event history is disabled.");
|
|
417
|
-
if ((input.events ?? []).some((event) => event.id === undefined))
|
|
418
|
-
throw new MysqlStorageOperationError("Entity commit requires delivery-event IDs.");
|
|
497
|
+
this.validate(input);
|
|
419
498
|
const storage = this.openStorage();
|
|
420
499
|
const events = this.openEvents();
|
|
421
500
|
try {
|
|
@@ -427,28 +506,7 @@ class MysqlEntityCommitStorage {
|
|
|
427
506
|
entityKey: input.entity.id.key(input.entityId),
|
|
428
507
|
sourceTypeName: this.entity.sourceType.typeName,
|
|
429
508
|
});
|
|
430
|
-
|
|
431
|
-
const current = await families.readCurrentLocked(input.entityId);
|
|
432
|
-
if (!sameEntity(current, input.expected) && !sameEntity(current, input.next))
|
|
433
|
-
return "conflict";
|
|
434
|
-
if (!transactional) {
|
|
435
|
-
await families.preflightImmutable(input.states ?? [], input.diagnostics ?? []);
|
|
436
|
-
for (const event of input.events ?? [])
|
|
437
|
-
await events.assertImmutable(event);
|
|
438
|
-
}
|
|
439
|
-
for (const state of input.states ?? [])
|
|
440
|
-
await families.appendStateImmutable(state);
|
|
441
|
-
for (const diagnostic of input.diagnostics ?? [])
|
|
442
|
-
await families.appendDiagnosticImmutable(diagnostic);
|
|
443
|
-
for (const event of input.events ?? []) {
|
|
444
|
-
if (event.id === undefined)
|
|
445
|
-
throw new MysqlStorageOperationError("Entity commit requires delivery-event IDs.");
|
|
446
|
-
await events.writeImmutable(event);
|
|
447
|
-
}
|
|
448
|
-
if (!sameEntity(current, input.next))
|
|
449
|
-
await storage.current.write(input.next);
|
|
450
|
-
return "committed";
|
|
451
|
-
})));
|
|
509
|
+
await this.coordinator.commit([...families.tableNames(), events.tableName], lockKey, (connection, transactional) => families.withConnection(connection, () => events.withConnection(connection, () => this.apply(input, storage, families, events, transactional))));
|
|
452
510
|
}
|
|
453
511
|
catch (error) {
|
|
454
512
|
throw mysqlError(MysqlStorageOperationError, "MySQL Entity commit failed.", error);
|
|
@@ -458,12 +516,72 @@ class MysqlEntityCommitStorage {
|
|
|
458
516
|
storage.close();
|
|
459
517
|
}
|
|
460
518
|
}
|
|
519
|
+
/**
|
|
520
|
+
* Applies immutable rows before current state on one coordinated connection.
|
|
521
|
+
*
|
|
522
|
+
* @typeParam Id Committed Entity identifier type.
|
|
523
|
+
* @typeParam State Committed Entity state type.
|
|
524
|
+
* @param input Supplies the affected records.
|
|
525
|
+
* @param storage Provides current Entity storage.
|
|
526
|
+
* @param families Provides state and diagnostic history storage.
|
|
527
|
+
* @param events Provides delivery Event storage.
|
|
528
|
+
* @param transactional Whether the connection supports rollback.
|
|
529
|
+
* @returns Completion after associated records and current state are written.
|
|
530
|
+
*/
|
|
531
|
+
async apply(input, storage, families, events, transactional) {
|
|
532
|
+
const current = await families.readCurrentLocked(input.entityId);
|
|
533
|
+
if (!transactional) {
|
|
534
|
+
await families.preflightImmutable(input.states ?? [], input.diagnostics ?? []);
|
|
535
|
+
for (const event of input.events ?? [])
|
|
536
|
+
await events.assertImmutable(event);
|
|
537
|
+
}
|
|
538
|
+
for (const state of input.states ?? [])
|
|
539
|
+
await families.appendStateImmutable(state);
|
|
540
|
+
for (const diagnostic of input.diagnostics ?? [])
|
|
541
|
+
await families.appendDiagnosticImmutable(diagnostic);
|
|
542
|
+
for (const event of input.events ?? [])
|
|
543
|
+
await events.writeImmutable(event);
|
|
544
|
+
if (!sameEntity(current, input.next))
|
|
545
|
+
await storage.current.write(input.next);
|
|
546
|
+
}
|
|
547
|
+
/**
|
|
548
|
+
* Validates the commit against this handle's Entity scope and configured histories.
|
|
549
|
+
*
|
|
550
|
+
* @typeParam Id Committed Entity identifier type.
|
|
551
|
+
* @typeParam State Committed Entity state type.
|
|
552
|
+
* @param input Supplies the Entity and Event records to validate.
|
|
553
|
+
*/
|
|
554
|
+
validate(input) {
|
|
555
|
+
if (!this.#open)
|
|
556
|
+
throw new MysqlStorageOperationError("Entity commit storage is closed.");
|
|
557
|
+
if (input.entity.sourceType.typeName !== this.entity.sourceType.typeName)
|
|
558
|
+
throw new MysqlStorageOperationError("Entity commit source type is incompatible.");
|
|
559
|
+
if (!this.accepts(input))
|
|
560
|
+
throw new MysqlStorageOperationError("Entity commit context is incompatible.");
|
|
561
|
+
if (!this.entity.stateHistory && (input.states?.length ?? 0) > 0)
|
|
562
|
+
throw new MysqlStorageOperationError("Entity state history is disabled.");
|
|
563
|
+
if (!this.entity.eventHistory && (input.diagnostics?.length ?? 0) > 0)
|
|
564
|
+
throw new MysqlStorageOperationError("Entity event history is disabled.");
|
|
565
|
+
if ((input.events ?? []).some((event) => event.id === undefined))
|
|
566
|
+
throw new MysqlStorageOperationError("Entity commit requires delivery-event IDs.");
|
|
567
|
+
}
|
|
568
|
+
/**
|
|
569
|
+
* Closes this commit handle after work already started settles.
|
|
570
|
+
*/
|
|
461
571
|
close() {
|
|
462
572
|
if (!this.#open)
|
|
463
573
|
return;
|
|
464
574
|
this.#open = false;
|
|
465
575
|
this.onClose();
|
|
466
576
|
}
|
|
577
|
+
/**
|
|
578
|
+
* Checks the captured tenant boundary for one commit input.
|
|
579
|
+
*
|
|
580
|
+
* @typeParam Id Committed Entity identifier type.
|
|
581
|
+
* @typeParam State Committed Entity state type.
|
|
582
|
+
* @param input Supplies the requested context.
|
|
583
|
+
* @returns Whether the context matches this handle.
|
|
584
|
+
*/
|
|
467
585
|
accepts(input) {
|
|
468
586
|
return (input.context.multitenant === this.entity.context.multitenant &&
|
|
469
587
|
TenantBoundary.of(input.context).key === TenantBoundary.of(this.entity.context).key);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage-factory.js","sourceRoot":"","sources":["../../src/mysql/storage-factory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage-factory.js","sourceRoot":"","sources":["../../src/mysql/storage-factory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAsD,MAAM,gBAAgB,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EACL,cAAc,GAKf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAsB,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EACL,4BAA4B,GAE7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AAEvF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EACL,kBAAkB,GAEnB,MAAM,sEAAsE,CAAC;AAE9E,OAAO,EAAE,kBAAkB,EAA6B,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,sBAAsB,EAAuB,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAyKrE;;GAEG;AACH,MAAM,OAAO,8BAA+B,SAAQ,KAAK;CAAG;AAE5D;;GAEG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;CAAG;AAEzD;;GAEG;AACH,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD;;GAEG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD;;GAEG;AACH,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD;;GAEG;AACH,MAAM,OAAO,mBAAoB,SAAQ,cAAc;IAsBlC;IACA;IAtBV,QAAQ,GAAG,IAAI,GAAG,EAAqB,CAAC;IAExC,SAAS,CAAqB;IAE9B,UAAU,CAA8C;IAExD,QAAQ,CAAgB;IAEjC,OAAO,CAA4B;IAEnC;;;;;;;OAOG;IACH,YACE,SAAmC,EACnC,QAAQ,GAAG,IAAI,kBAAkB,EAAE,EAClB,eAAwC,EACxC,eAAe,IAAI,mBAAmB,EAAE;QAEzD,KAAK,EAAE,CAAC;QAHS,oBAAe,GAAf,eAAe,CAAyB;QACxC,iBAAY,GAAZ,YAAY,CAA4B;QAGzD,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;YAC5B,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;YACrE,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;YAC9B,IAAI,EAAE,CAAC,QAAwB,EAAE,EAAE;gBACjC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,8BAA8B,CAAC,yCAAyC,CAAC,CAC9E,CAAC;gBACJ,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;YAC3B,CAAC;SACF,CAAC,CAAC;QACH,4BAA4B,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC1C,yBAAyB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC;SAC5E,CAAC,CAAC;QACH,+BAA+B,CAAC,QAAQ,CAAC,IAAI,EAAE;YAC7C,4BAA4B,EAAE,GAAG,EAAE,CACjC,IAAI,2BAA2B,CAC7B,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,EAC/D,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;gBAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBACxC,OAAO,IAAI,4BAA4B,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CACxE,MAAM,EACN,GAAG,EACH,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAChC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAC7B,CAAC;YACJ,CAAC,EACD,GAAG,EAAE,CAAC,wBAAwB,CAC/B;SACJ,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU;QACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,CAChE,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CACxE,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;OAEG;IACM,KAAK;QACZ,IAAI,CAAC,OAAO,KAAK,CAAC,KAAK,IAAI,EAAE;YAC3B,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ;gBAAE,MAAM,CAAC,KAAK,EAAE,CAAC;YACnD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC,CAAC,EAAE,CAAC;QACL,KAAK,IAAI,CAAC,OAAO,CAAC;IACpB,CAAC;IAED;;;;;;;;;OASG;IACgB,qBAAqB,CACtC,OAAuB,EACvB,IAAsB,EACtB,KAAoB;QAEpB,OAAO,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;OAUG;IACK,wBAAwB,CAC9B,OAAuB,EACvB,IAAsB,EACtB,KAAoB,EACpB,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAClC,IAAI,CAAC,UAAU,CAAC,QAAQ,EACxB,KAAK,EAAE,IAAI,EACX,SAAS,EACT,IAAI,CAAC,UAAU,CAAC,QAAQ,CACzB,CAAC;QACF,MAAM,SAAS,GAAG,sBAAsB,CAAC;YACvC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;YACzD,eAAe,EAAE,IAAI,CAAC,OAAO;SAC9B,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;QACvC,MAAM,MAAM,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;QACpF,MAAM,MAAM,GAAG,IAAI,kBAAkB,CACnC,OAAO,EACP,IAAI,EACJ,KAAK,EACL,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAC1B,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAClC,MAAM,EACN,SAAS,EACT,IAAI,CAAC,YAAY,CAClB,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACK,mBAAmB,CACzB,KAA+B;QAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,EAAmC,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,kBAAkB,CACnC,KAAK,EACL,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,EACpF,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAChD,CAAC;QACF,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;OASG;IACK,yBAAyB,CAC/B,KAA+B;QAE/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG,EAAmC,CAAC;QACzD,MAAM,MAAM,GAAG,IAAI,wBAAwB,CACzC,KAAK,EACL,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EACrC,GAAG,EAAE,CAAC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,QAAQ,CAAC,EAC7F,IAAI,4BAA4B,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAC5D,QAAQ,CAAC,YAAY,EACrB,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAChD,CAAC;QACF,YAAY,CAAC,MAAM,GAAG,MAAM,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACK,WAAW,CAAC,QAAuB;QACzC,OAAO;YACL,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE;YAC5C,OAAO,EAAE,CAAC,UAA0B,EAAE,EAAE;gBACtC,UAAU,CAAC,OAAO,EAAE,CAAC;YACvB,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,QAAQ,CAAC,OAAuB;QACtC,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,QAAQ,CAAC;QAC5C,MAAM,IAAI,8BAA8B,CACtC,QAAQ,CAAC,MAAM;YACb,CAAC,CAAC,mDAAmD;YACrD,CAAC,CAAC,oEAAoE,CACzE,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACK,MAAM,CAAC,KAAK,CAAC,OAAO,CAC1B,OAAuC,EACvC,WAA+B,IAAI,kBAAkB,EAAE,EACvD,eAAwC,EACxC,YAAY,GAAG,IAAI,mBAAmB,EAAE;QAExC,MAAM,SAAS,GAAoB,EAAE,CAAC;QACtC,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC3C,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC9C,IAAI,CAAC;wBACH,MAAM,qBAAqB,CAAC,UAAU,CAAC,CAAC;oBAC1C,CAAC;4BAAS,CAAC;wBACT,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvB,CAAC;oBACD,SAAS,CAAC,IAAI,CAAC;wBACb,QAAQ,EAAE,KAAK,CAAC,QAAQ;wBACxB,YAAY,EAAE,KAAK,CAAC,YAAY;wBAChC,IAAI;qBACL,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBACxC,IAAI,KAAK,YAAY,8BAA8B;wBAAE,MAAM,KAAK,CAAC;oBACjE,MAAM,IAAI,2BAA2B,CAAC,6BAA6B,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YACD,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAClF,IAAI,KAAK,YAAY,8BAA8B;gBAAE,MAAM,KAAK,CAAC;YACjE,MAAM,IAAI,2BAA2B,CAAC,6BAA6B,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO;IAiBQ;IAhBnB,QAAQ,CAAkC;IAE1C,cAAc,CAAmD;IAExD,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;IAE9C,UAAU,CAAqC;IAE/C,aAAa,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAE1C;;;;OAIG;IACH,YACmB,OAKgB;QALhB,YAAO,GAAP,OAAO,CAKS;IAChC,CAAC;IAEJ,kBAAkB;IAElB;;;;;OAKG;IACH,UAAU,CAAC,OAA4B;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,OAA6C;QAC5D,IAAI,CAAC,cAAc,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,sBAAsB,CAAC,QAA6B;QAClD,IAAI,CAAC,aAAa,GAAG,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC;IACd,CAAC;IA+BD;;;;;OAKG;IACH,YAAY,CAAC,GAAG,IAAe;QAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAqC,CAAC;YAC7D,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,IAA0D,CAAC;YAC1F,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,OAA+B;QACjD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACrE,MAAM,IAAI,8BAA8B,CACtC,wEAAwE,CACzE,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAClE,MAAM,IAAI,8BAA8B,CAAC,qCAAqC,CAAC,CAAC;QAClF,MAAM,OAAO,GACX,IAAI,CAAC,QAAQ,KAAK,SAAS;YACzB,CAAC,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;YAC5D,CAAC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACpF,CAAC;CACF;AAaD,KAAK,UAAU,qBAAqB,CAAC,UAA0B;IAC7D,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,UAAU,CAAC,KAAK,CACtC,8DAA8D;QAC5D,gEAAgE;QAChE,mDAAmD,CACtD,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,UAAU,CAAC,KAAK,CACtC,4FAA4F;QAC1F,mEAAmE;QACnE,4DAA4D,CAC/D,CAAC;IACF,IACE,OAAO,CAAC,MAAM,GAAG,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,EACvE,CAAC;QACD,MAAM,IAAI,8BAA8B,CACtC,oEAAoE,CACrE,CAAC;IACJ,CAAC;AACH,CAAC;AAeD,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC;IACxC;;;;;OAKG;IACH,MAAM,CAAC,OAA4B;QACjC,OAAO,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,OAA6C;QACvD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,8BAA8B,CAAC,6CAA6C,CAAC,CAAC;QAC1F,CAAC;QACD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,CACvD,mBAAmB,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,CAClE,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,8BAA8B,CAAC,uCAAuC,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,8BAA8B,CACtC,qDAAqD,CACtD,CAAC;YACJ,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,QAAwB,EAAE,OAA4B;QAC1D,IAAI,GAAQ,CAAC;QACb,IAAI,CAAC;YACH,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,8BAA8B,CAAC,qCAAqC,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC1D,MAAM,IAAI,8BAA8B,CAAC,wCAAwC,CAAC,CAAC;QACrF,CAAC;QACD,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvD,OAAO;YACL,QAAQ;YACR,YAAY;YACZ,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,WAAW,EAAE,EAAE;YACrF,WAAW,EAAE;gBACX,IAAI,EAAE,GAAG,CAAC,QAAQ;gBAClB,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;gBACpC,QAAQ,EAAE,YAAY;gBACtB,iBAAiB,EAAE,IAAI;gBACvB,gBAAgB,EAAE,IAAI;gBACtB,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1E,GAAG,CAAC,GAAG,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9E,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS;oBACvC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;gBACjD,GAAG,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS;oBACxC,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,cAAc,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC;gBACjD,GAAG,CAAC,OAAO,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;aAC3D;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,wBAAwB;IAcT;IACA;IACA;IAIA;IACA;IACA;IArBnB,KAAK,GAAG,IAAI,CAAC;IAEb;;;;;;;;;OASG;IACH,YACmB,MAAgC,EAChC,WAA2C,EAC3C,UAGhB,EACgB,WAAyC,EACzC,YAAoB,EACpB,OAAmB;QARnB,WAAM,GAAN,MAAM,CAA0B;QAChC,gBAAW,GAAX,WAAW,CAAgC;QAC3C,eAAU,GAAV,UAAU,CAG1B;QACgB,gBAAW,GAAX,WAAW,CAA8B;QACzC,iBAAY,GAAZ,YAAY,CAAQ;QACpB,YAAO,GAAP,OAAO,CAAY;IACnC,CAAC;IAEJ;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,KAAkF;QAElF,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC5C,MAAM,QAAQ,CAAC,OAAO,EAAE,CAAC;YACzB,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,kBAAkB,CAAC;gBACjC,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAC9C,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ;aAChD,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAC3B,CAAC,GAAG,QAAQ,CAAC,UAAU,EAAE,EAAE,MAAM,CAAC,SAAS,CAAC,EAC5C,OAAO,EACP,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE,CAC5B,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,EAAE,CACvC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,EAAE,CACrC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,CAC5D,CACF,CACJ,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,UAAU,CAAC,0BAA0B,EAAE,6BAA6B,EAAE,KAAK,CAAC,CAAC;QACrF,CAAC;gBAAS,CAAC;YACT,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,KAAK,CACjB,KAAkF,EAClF,OAAiC,EACjC,QAAkE,EAClE,MAGC,EACD,aAAsB;QAEtB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,QAAwB,CAAC,CAAC;QACjF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YAC/E,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;gBAAE,MAAM,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC9E,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;YAAE,MAAM,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QACnF,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,WAAW,IAAI,EAAE;YAC9C,MAAM,QAAQ,CAAC,yBAAyB,CAAC,UAAU,CAAC,CAAC;QACvD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE;YAAE,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC;YAAE,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAChF,CAAC;IAED;;;;;;OAMG;IACK,QAAQ,CACd,KAAkF;QAElF,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,0BAA0B,CAAC,kCAAkC,CAAC,CAAC;QAC1F,IAAI,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ;YACtE,MAAM,IAAI,0BAA0B,CAAC,4CAA4C,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YACtB,MAAM,IAAI,0BAA0B,CAAC,wCAAwC,CAAC,CAAC;QACjF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;YAC9D,MAAM,IAAI,0BAA0B,CAAC,mCAAmC,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC;YACnE,MAAM,IAAI,0BAA0B,CAAC,mCAAmC,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,SAAS,CAAC;YAC9D,MAAM,IAAI,0BAA0B,CAAC,4CAA4C,CAAC,CAAC;IACvF,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,OAAO,EAAE,CAAC;IACjB,CAAC;IAED;;;;;;;OAOG;IACK,OAAO,CACb,KAAkF;QAElF,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,WAAW,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW;YAC7D,cAAc,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,CACpF,CAAC;IACJ,CAAC;CACF;AACD,SAAS,UAAU,CAAC,IAA8B,EAAE,KAA+B;IACjF,OAAO,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAC9C,CAAC,CAAC,IAAI,KAAK,KAAK;QAChB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AACpG,CAAC"}
|