@c9up/atlas 0.1.18 → 0.1.19
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/db.darwin-arm64.node +0 -0
- package/db.darwin-x64.node +0 -0
- package/db.linux-arm64-gnu.node +0 -0
- package/db.linux-x64-gnu.node +0 -0
- package/db.win32-x64-msvc.node +0 -0
- package/dist/BaseEntity.d.ts +7 -2
- package/dist/BaseEntity.d.ts.map +1 -1
- package/dist/BaseEntity.js +4 -2
- package/dist/BaseEntity.js.map +1 -1
- package/dist/BaseRepository.d.ts +9 -3
- package/dist/BaseRepository.d.ts.map +1 -1
- package/dist/BaseRepository.js +115 -17
- package/dist/BaseRepository.js.map +1 -1
- package/dist/ModelQuery.d.ts +95 -0
- package/dist/ModelQuery.d.ts.map +1 -1
- package/dist/ModelQuery.js +386 -27
- package/dist/ModelQuery.js.map +1 -1
- package/dist/schema/SchemaCheck.d.ts.map +1 -1
- package/dist/schema/SchemaCheck.js +3 -1
- package/dist/schema/SchemaCheck.js.map +1 -1
- package/dist/schema/introspect.js.map +1 -1
- package/index.darwin-arm64.node +0 -0
- package/index.darwin-x64.node +0 -0
- package/index.linux-arm64-gnu.node +0 -0
- package/index.linux-x64-gnu.node +0 -0
- package/index.win32-x64-msvc.node +0 -0
- package/package.json +2 -1
- package/src/BaseEntity.ts +23 -4
- package/src/BaseRepository.ts +135 -17
- package/src/ModelQuery.ts +503 -30
- package/src/schema/SchemaCheck.ts +7 -2
- package/src/schema/introspect.ts +3 -4
package/db.darwin-arm64.node
CHANGED
|
Binary file
|
package/db.darwin-x64.node
CHANGED
|
Binary file
|
package/db.linux-arm64-gnu.node
CHANGED
|
Binary file
|
package/db.linux-x64-gnu.node
CHANGED
|
Binary file
|
package/db.win32-x64-msvc.node
CHANGED
|
Binary file
|
package/dist/BaseEntity.d.ts
CHANGED
|
@@ -39,15 +39,20 @@ interface BulkRelationProxy extends BaseRelationProxy {
|
|
|
39
39
|
createMany(rows: Array<Record<string, unknown>>): Promise<BaseEntity[]>;
|
|
40
40
|
saveMany(related: BaseEntity[]): Promise<BaseEntity[]>;
|
|
41
41
|
}
|
|
42
|
+
/** Relation upsert helpers scoped to the parent's FK (AdonisJS hasOne/hasMany). */
|
|
43
|
+
interface RelationUpsertProxy {
|
|
44
|
+
firstOrCreate(search: Record<string, unknown>, defaults?: Record<string, unknown>): Promise<BaseEntity>;
|
|
45
|
+
updateOrCreate(search: Record<string, unknown>, values: Record<string, unknown>): Promise<BaseEntity>;
|
|
46
|
+
}
|
|
42
47
|
/** `@HasOne` — single related row. `createMany`/`saveMany` are intentionally absent. */
|
|
43
|
-
export interface HasOneRelationProxy extends BaseRelationProxy {
|
|
48
|
+
export interface HasOneRelationProxy extends BaseRelationProxy, RelationUpsertProxy {
|
|
44
49
|
readonly type: "hasOne";
|
|
45
50
|
/** Throws with a clear "not supported on @HasOne" — exposed as a typed no-op for symmetry. */
|
|
46
51
|
createMany(rows: Array<Record<string, unknown>>): Promise<never>;
|
|
47
52
|
saveMany(related: BaseEntity[]): Promise<never>;
|
|
48
53
|
}
|
|
49
54
|
/** `@HasMany` — zero or more related rows with bulk write support. */
|
|
50
|
-
export interface HasManyRelationProxy extends BulkRelationProxy {
|
|
55
|
+
export interface HasManyRelationProxy extends BulkRelationProxy, RelationUpsertProxy {
|
|
51
56
|
readonly type: "hasMany";
|
|
52
57
|
}
|
|
53
58
|
/** `@BelongsTo` — set/clear the FK via `associate`/`dissociate`. */
|
package/dist/BaseEntity.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEntity.d.ts","sourceRoot":"","sources":["../src/BaseEntity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EACN,oBAAoB,EACpB,YAAY,EACZ,KAAK,qBAAqB,EAC1B,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC9B;AAKD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC;AAE9C,mFAAmF;AACnF,eAAO,MAAM,QAAQ,eAA8B,CAAC;AAEpD,kHAAkH;AAClH,MAAM,WAAW,aAAa;IAC7B,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,SAAS,CACR,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,aAAa,CACZ,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,GACzB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,wDAAwD;IACxD,YAAY,CACX,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,GAC7B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,2FAA2F;IAC3F,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa,CAAC;CACtE;AAOD,UAAU,iBAAiB;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,gEAAgE;IAChE,KAAK,IAAI,OAAO,CAAC;CACjB;AAED,UAAU,iBAAkB,SAAQ,iBAAiB;IACpD,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IACxE,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CACvD;AAED,wFAAwF;AACxF,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"BaseEntity.d.ts","sourceRoot":"","sources":["../src/BaseEntity.ts"],"names":[],"mappings":"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"}
|
package/dist/BaseEntity.js
CHANGED
|
@@ -377,8 +377,10 @@ export class BaseEntity {
|
|
|
377
377
|
continue;
|
|
378
378
|
result[prop] = this[prop];
|
|
379
379
|
}
|
|
380
|
-
// $extras
|
|
381
|
-
|
|
380
|
+
// $extras (aggregates / pivot values) are serialized only when the model
|
|
381
|
+
// opts in via `static serializeExtras = true` — AdonisJS Lucid parity
|
|
382
|
+
// (default OFF), so internal aggregates never leak into API JSON by default.
|
|
383
|
+
return ctor.serializeExtras ? { ...result, ...this.$extras } : result;
|
|
382
384
|
}
|
|
383
385
|
/**
|
|
384
386
|
* Pick / limit the fields returned by `toJSON()` for a single call.
|
package/dist/BaseEntity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEntity.js","sourceRoot":"","sources":["../src/BaseEntity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EACN,oBAAoB,EACpB,YAAY,GAEZ,MAAM,oBAAoB,CAAC;AAO5B,uEAAuE;AACvE,8EAA8E;AAC9E,oEAAoE;AACpE,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,CAAC;AAE9C,mFAAmF;AACnF,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseEntity.js","sourceRoot":"","sources":["../src/BaseEntity.ts"],"names":[],"mappings":"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"}
|
package/dist/BaseRepository.d.ts
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @implements FR29, FR31, FR35
|
|
5
5
|
*/
|
|
6
|
+
import type { TransactionOptions } from "./adapters/NapiDbAdapter.js";
|
|
6
7
|
import type { BaseEntity, DomainEvent, RelationProxy } from "./BaseEntity.js";
|
|
7
8
|
import { getColumnMetadata } from "./decorators/entity.js";
|
|
8
|
-
import type { TransactionOptions } from "./adapters/NapiDbAdapter.js";
|
|
9
|
-
import type { TransactionClient } from "./Transaction.js";
|
|
10
9
|
import { ModelQuery } from "./ModelQuery.js";
|
|
11
10
|
import { type AtlasDialect } from "./query/native.js";
|
|
11
|
+
import { type TransactionClient } from "./Transaction.js";
|
|
12
12
|
type EntityConstructor<T extends BaseEntity> = new () => T;
|
|
13
13
|
/**
|
|
14
14
|
* String-keyed bag of values — covers the recurring DB-shaped objects:
|
|
@@ -62,6 +62,12 @@ export declare class BaseRepository<T extends BaseEntity> {
|
|
|
62
62
|
find(id: string | number | bigint): Promise<T | null>;
|
|
63
63
|
findOrFail(id: string | number): Promise<T>;
|
|
64
64
|
findBy(column: string, value: unknown): Promise<T | null>;
|
|
65
|
+
/** Find by a column or throw `EntityNotFoundError` (AdonisJS `findByOrFail`). */
|
|
66
|
+
findByOrFail(column: string, value: unknown): Promise<T>;
|
|
67
|
+
/** Find many rows by primary key (AdonisJS `findMany`), ordered PK desc. */
|
|
68
|
+
findMany(ids: Array<string | number>): Promise<T[]>;
|
|
69
|
+
/** Find many rows by an arbitrary column (AdonisJS `findManyBy`). */
|
|
70
|
+
findManyBy(column: string, values: Array<string | number>): Promise<T[]>;
|
|
65
71
|
all(): Promise<T[]>;
|
|
66
72
|
allWithTrashed(): Promise<T[]>;
|
|
67
73
|
onlyTrashed(): Promise<T[]>;
|
|
@@ -117,7 +123,7 @@ export declare class BaseRepository<T extends BaseEntity> {
|
|
|
117
123
|
firstOrCreate(search: Record<string, unknown>, defaults?: Record<string, unknown>): Promise<T>;
|
|
118
124
|
/** Find a row or build an in-memory instance without persisting. */
|
|
119
125
|
firstOrNew(search: Record<string, unknown>, defaults?: Record<string, unknown>): Promise<T>;
|
|
120
|
-
/** Atomic find-or-update-or-insert. */
|
|
126
|
+
/** Atomic find-or-update-or-insert (AdonisJS Lucid parity — locked + transactional). */
|
|
121
127
|
updateOrCreate(search: Record<string, unknown>, values: Record<string, unknown>): Promise<T>;
|
|
122
128
|
/** Delete the entity. Fires `beforeDelete` → DB → `afterDelete`. Soft-delete aware. */
|
|
123
129
|
delete(entity: T): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseRepository.d.ts","sourceRoot":"","sources":["../src/BaseRepository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EACX,UAAU,EAEV,WAAW,EAIX,aAAa,EACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEN,iBAAiB,EAQjB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseRepository.d.ts","sourceRoot":"","sources":["../src/BaseRepository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EACX,UAAU,EAEV,WAAW,EAIX,aAAa,EACb,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEN,iBAAiB,EAQjB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,UAAU,EAA8B,MAAM,iBAAiB,CAAC;AACzE,OAAO,EACN,KAAK,YAAY,EAKjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,iBAAiB,EAAe,MAAM,kBAAkB,CAAC;AAGvE,KAAK,iBAAiB,CAAC,CAAC,SAAS,UAAU,IAAI,UAAU,CAAC,CAAC;AAE3D;;;;GAIG;AACH,MAAM,MAAM,IAAI,CAAC,CAAC,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEjD,4DAA4D;AAC5D,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;AAuDhC;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAkB;IAClC,mDAAmD;IACnD,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,wCAAwC;IACxC,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAC9D;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,CAAC,EACb,QAAQ,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EACpD,OAAO,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,CAAC,CAAC,CAAC;CACd;AAmCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC/B,WAAW,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC,CAAC,CAAC,GAClD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBxB;AAED,qBAAa,cAAc,CAAC,CAAC,SAAS,UAAU;;IAkC/C,yEAAyE;IACzE,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;gBAGzD,WAAW,EAAE,iBAAiB,CAAC,CAAC,CAAC,EACjC,EAAE,EAAE,kBAAkB,EACtB,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,YAAY,CAAA;KAAE;IA8HrC,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC;IActB,cAAc,CAAC,GAAG,EAAE,kBAAkB,GAAG,cAAc,CAAC,CAAC,CAAC;IAepD,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAerD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;IAU3C,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAK/D,iFAAiF;IAC3E,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAU9D,4EAA4E;IACtE,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAQzD,qEAAqE;IAC/D,UAAU,CACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAC5B,OAAO,CAAC,CAAC,EAAE,CAAC;IAKT,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAOnB,cAAc,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAI9B,WAAW,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAK3B,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAazD;;;OAGG;IACG,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAmBhE;;;;;;;;;;;;;OAaG;IACG,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA6DpC;;;;;;;OAOG;IACG,UAAU,CACf,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAC3C,OAAO,CAAC,CAAC,EAAE,CAAC;IAuDf;;;;;OAKG;IACG,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IA8B3C;;;;;OAKG;IACG,MAAM,CACX,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC9D,eAAe,EAAE,MAAM,EAAE,EACzB,aAAa,GAAE,MAAM,EAAO,GAC1B,OAAO,CAAC,MAAM,CAAC;IAmBlB;;;;OAIG;IACG,aAAa,CAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,OAAO,CAAC,CAAC,CAAC;IAWb,oEAAoE;IAC9D,UAAU,CACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACpC,OAAO,CAAC,CAAC,CAAC;IAWb,wFAAwF;IAClF,cAAc,CACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,OAAO,CAAC,CAAC,CAAC;IAkGb,uFAAuF;IACjF,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBtC,6FAA6F;IACvF,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAarC,OAAO,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBjC,UAAU,CACf,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAOV,WAAW,CAChB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,OAAO,EACpB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACpC,OAAO,CAAC,IAAI,CAAC;IAQhB;;;;;;;;;OASG;IACH,SAAS,CACR,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAChB,SAAS,CACR,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC;IAYhB,8DAA8D;IAC9D,SAAS,CACR,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC;IAChB,SAAS,CACR,EAAE,EAAE,MAAM,GAAG,MAAM,EACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC;IAcV,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAO1D,YAAY,IAAI,MAAM;IAGtB,mBAAmB,IAAI,MAAM;IA2N7B;;;;;OAKG;IACG,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBhD;;;;OAIG;IACH;;;;;;OAMG;IACG,SAAS,CACd,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAiBhB;;;;;OAKG;IACG,aAAa,CAClB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,GACzB,OAAO,CAAC,IAAI,CAAC;IAmBhB;;;;;OAKG;IACG,YAAY,CACjB,MAAM,EAAE,UAAU,EAClB,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,GAC7B,OAAO,CAAC,IAAI,CAAC;IAmBhB;;;;;;OAMG;IACH,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa;IAwe/D,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;CAqElC"}
|
package/dist/BaseRepository.js
CHANGED
|
@@ -10,6 +10,7 @@ import { fireHooks } from "./decorators/hooks.js";
|
|
|
10
10
|
import { AtlasError, EntityNotFoundError } from "./errors.js";
|
|
11
11
|
import { ModelQuery, runWithAtlasInternalBypass } from "./ModelQuery.js";
|
|
12
12
|
import { compileStatementNative, getAtlasDialect, registerColumnCast, registerTableCasts, } from "./query/native.js";
|
|
13
|
+
import { transaction } from "./Transaction.js";
|
|
13
14
|
import { camelToSnake, snakeToCamel } from "./utils/casing.js";
|
|
14
15
|
/**
|
|
15
16
|
* Coerce a `lastInsertRowid` to a JS number when it fits, leaving large
|
|
@@ -72,6 +73,15 @@ const POSTGRES_CAST_TYPES = new Set([
|
|
|
72
73
|
"int",
|
|
73
74
|
"bigint",
|
|
74
75
|
"smallint",
|
|
76
|
+
// Nullable boolean / float columns hit the same text-bound-NULL issue.
|
|
77
|
+
"boolean",
|
|
78
|
+
"bool",
|
|
79
|
+
"real",
|
|
80
|
+
"float4",
|
|
81
|
+
"double precision",
|
|
82
|
+
"double",
|
|
83
|
+
"float8",
|
|
84
|
+
"float",
|
|
75
85
|
]);
|
|
76
86
|
/**
|
|
77
87
|
* Snake column → logical type for params needing a Postgres `$N::<type>` cast.
|
|
@@ -264,6 +274,11 @@ export class BaseRepository {
|
|
|
264
274
|
}
|
|
265
275
|
// ─── Finders ──────────────────────────────────────────────
|
|
266
276
|
async find(id) {
|
|
277
|
+
// AdonisJS Lucid throws on `undefined`/`null` rather than silently running
|
|
278
|
+
// `WHERE pk = NULL` (which matches nothing) — a common typo footgun.
|
|
279
|
+
if (id === undefined || id === null) {
|
|
280
|
+
throw new AtlasError("E_INVALID_FIND_VALUE", `${this.#entityClass.name}.find() expects a value, received ${String(id)}.`);
|
|
281
|
+
}
|
|
267
282
|
// Route through the query builder so the read hooks (beforeFind/afterFind)
|
|
268
283
|
// fire and a `beforeFind` hook can mutate the query — the previous direct
|
|
269
284
|
// `#compileSelect` fast path bypassed every read hook silently.
|
|
@@ -282,10 +297,36 @@ export class BaseRepository {
|
|
|
282
297
|
// Through the builder for read-hook parity (see `find`).
|
|
283
298
|
return this.query().where(column, value).first();
|
|
284
299
|
}
|
|
300
|
+
/** Find by a column or throw `EntityNotFoundError` (AdonisJS `findByOrFail`). */
|
|
301
|
+
async findByOrFail(column, value) {
|
|
302
|
+
const entity = await this.findBy(column, value);
|
|
303
|
+
if (!entity) {
|
|
304
|
+
throw new EntityNotFoundError(this.#entityClass.name, {
|
|
305
|
+
[column]: value,
|
|
306
|
+
});
|
|
307
|
+
}
|
|
308
|
+
return entity;
|
|
309
|
+
}
|
|
310
|
+
/** Find many rows by primary key (AdonisJS `findMany`), ordered PK desc. */
|
|
311
|
+
async findMany(ids) {
|
|
312
|
+
if (ids.length === 0)
|
|
313
|
+
return [];
|
|
314
|
+
return this.query()
|
|
315
|
+
.whereIn(this.#primaryKey, ids)
|
|
316
|
+
.orderBy(this.#primaryKey, "desc")
|
|
317
|
+
.exec();
|
|
318
|
+
}
|
|
319
|
+
/** Find many rows by an arbitrary column (AdonisJS `findManyBy`). */
|
|
320
|
+
async findManyBy(column, values) {
|
|
321
|
+
if (values.length === 0)
|
|
322
|
+
return [];
|
|
323
|
+
return this.query().whereIn(column, values).exec();
|
|
324
|
+
}
|
|
285
325
|
async all() {
|
|
286
326
|
// Through the builder so beforeFetch/afterFetch fire. The builder applies
|
|
287
327
|
// the soft-delete scope by default, exactly like the old fast path.
|
|
288
|
-
|
|
328
|
+
// Ordered PK desc for AdonisJS Lucid `all()` parity (newest first).
|
|
329
|
+
return this.query().orderBy(this.#primaryKey, "desc").exec();
|
|
289
330
|
}
|
|
290
331
|
async allWithTrashed() {
|
|
291
332
|
return this.query().withTrashed().exec();
|
|
@@ -525,10 +566,15 @@ export class BaseRepository {
|
|
|
525
566
|
* @implements Story 30.6
|
|
526
567
|
*/
|
|
527
568
|
async firstOrCreate(search, defaults = {}) {
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
569
|
+
// Atomic (AdonisJS Lucid parity): find-under-lock then create inside one
|
|
570
|
+
// transaction, so two concurrent callers can't both miss and both INSERT.
|
|
571
|
+
return transaction(this.#db, async (trx) => {
|
|
572
|
+
const repo = this.useTransaction(trx);
|
|
573
|
+
const existing = await repo.#findBySearch(search, true);
|
|
574
|
+
if (existing)
|
|
575
|
+
return existing;
|
|
576
|
+
return repo.create({ ...search, ...defaults });
|
|
577
|
+
});
|
|
532
578
|
}
|
|
533
579
|
/** Find a row or build an in-memory instance without persisting. */
|
|
534
580
|
async firstOrNew(search, defaults = {}) {
|
|
@@ -542,21 +588,28 @@ export class BaseRepository {
|
|
|
542
588
|
}
|
|
543
589
|
return e;
|
|
544
590
|
}
|
|
545
|
-
/** Atomic find-or-update-or-insert. */
|
|
591
|
+
/** Atomic find-or-update-or-insert (AdonisJS Lucid parity — locked + transactional). */
|
|
546
592
|
async updateOrCreate(search, values) {
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
593
|
+
return transaction(this.#db, async (trx) => {
|
|
594
|
+
const repo = this.useTransaction(trx);
|
|
595
|
+
const existing = await repo.#findBySearch(search, true);
|
|
596
|
+
if (existing) {
|
|
597
|
+
for (const [k, v] of Object.entries(values))
|
|
598
|
+
existing.setProp(k, v);
|
|
599
|
+
await repo.save(existing);
|
|
600
|
+
return existing;
|
|
601
|
+
}
|
|
602
|
+
return repo.create({ ...search, ...values });
|
|
603
|
+
});
|
|
555
604
|
}
|
|
556
|
-
async #findBySearch(search) {
|
|
605
|
+
async #findBySearch(search, lock = false) {
|
|
557
606
|
let q = this.query();
|
|
558
607
|
for (const [k, v] of Object.entries(search))
|
|
559
608
|
q = q.where(k, v);
|
|
609
|
+
// `forUpdate()` row-locks the matched row so a concurrent updateOrCreate
|
|
610
|
+
// serializes behind it (no-op on SQLite, which serializes writes anyway).
|
|
611
|
+
if (lock)
|
|
612
|
+
q = q.forUpdate();
|
|
560
613
|
return q.first();
|
|
561
614
|
}
|
|
562
615
|
/**
|
|
@@ -1047,7 +1100,8 @@ export class BaseRepository {
|
|
|
1047
1100
|
[fkCol]: parentIdValue,
|
|
1048
1101
|
[fkProp]: parentIdValue,
|
|
1049
1102
|
});
|
|
1050
|
-
// Shared "has" proxy methods (create/createMany/save/saveMany
|
|
1103
|
+
// Shared "has" proxy methods (create/createMany/save/saveMany +
|
|
1104
|
+
// firstOrCreate/updateOrCreate scoped to this parent's FK).
|
|
1051
1105
|
const hasOps = {
|
|
1052
1106
|
async create(data) {
|
|
1053
1107
|
return relatedRepo.create(injectFk(data));
|
|
@@ -1055,6 +1109,15 @@ export class BaseRepository {
|
|
|
1055
1109
|
async createMany(rows) {
|
|
1056
1110
|
return relatedRepo.createMany(rows.map(injectFk));
|
|
1057
1111
|
},
|
|
1112
|
+
// Scope the search to the parent's FK column so the lookup only sees
|
|
1113
|
+
// this parent's rows; inject the FK into the created/updated row. The
|
|
1114
|
+
// related repo's firstOrCreate/updateOrCreate are atomic (txn + lock).
|
|
1115
|
+
async firstOrCreate(search, defaults = {}) {
|
|
1116
|
+
return relatedRepo.firstOrCreate({ ...search, [fkCol]: parentIdValue }, injectFk(defaults));
|
|
1117
|
+
},
|
|
1118
|
+
async updateOrCreate(search, values) {
|
|
1119
|
+
return relatedRepo.updateOrCreate({ ...search, [fkCol]: parentIdValue }, injectFk(values));
|
|
1120
|
+
},
|
|
1058
1121
|
async save(related) {
|
|
1059
1122
|
related.setProp(fkCol, parentIdValue);
|
|
1060
1123
|
related.setProp(fkProp, parentIdValue);
|
|
@@ -1368,9 +1431,42 @@ export class BaseRepository {
|
|
|
1368
1431
|
await attach(attachArg);
|
|
1369
1432
|
}
|
|
1370
1433
|
};
|
|
1434
|
+
// m2m create/save persist the related row THEN insert a pivot row —
|
|
1435
|
+
// NOT `hasOps.injectFk`, which would write a bogus `<parent>_id` column
|
|
1436
|
+
// onto the related table and never touch the pivot (silent corruption).
|
|
1437
|
+
const relatedPkProp = getPrimaryKey(relatedClass) ?? "id";
|
|
1438
|
+
const attachIds = (rows) => {
|
|
1439
|
+
if (rows.length === 0)
|
|
1440
|
+
return Promise.resolve();
|
|
1441
|
+
const arg = {};
|
|
1442
|
+
for (const r of rows)
|
|
1443
|
+
arg[String(r[relatedPkProp])] = {};
|
|
1444
|
+
return attach(arg);
|
|
1445
|
+
};
|
|
1446
|
+
const m2mOps = {
|
|
1447
|
+
async create(data) {
|
|
1448
|
+
const created = await relatedRepo.create(data);
|
|
1449
|
+
await attachIds([created]);
|
|
1450
|
+
return created;
|
|
1451
|
+
},
|
|
1452
|
+
async createMany(rows) {
|
|
1453
|
+
const created = await relatedRepo.createMany(rows);
|
|
1454
|
+
await attachIds(created);
|
|
1455
|
+
return created;
|
|
1456
|
+
},
|
|
1457
|
+
async save(related) {
|
|
1458
|
+
await relatedRepo.save(related);
|
|
1459
|
+
await attachIds([related]);
|
|
1460
|
+
},
|
|
1461
|
+
async saveMany(related) {
|
|
1462
|
+
const saved = await relatedRepo.saveMany(related);
|
|
1463
|
+
await attachIds(saved);
|
|
1464
|
+
return saved;
|
|
1465
|
+
},
|
|
1466
|
+
};
|
|
1371
1467
|
const proxy = {
|
|
1372
1468
|
type: "manyToMany",
|
|
1373
|
-
...
|
|
1469
|
+
...m2mOps,
|
|
1374
1470
|
query: scopedQuery,
|
|
1375
1471
|
attach,
|
|
1376
1472
|
detach,
|
|
@@ -1393,6 +1489,8 @@ export class BaseRepository {
|
|
|
1393
1489
|
type: "hasOne",
|
|
1394
1490
|
create: hasOps.create,
|
|
1395
1491
|
save: hasOps.save,
|
|
1492
|
+
firstOrCreate: hasOps.firstOrCreate,
|
|
1493
|
+
updateOrCreate: hasOps.updateOrCreate,
|
|
1396
1494
|
createMany: () => reject("createMany"),
|
|
1397
1495
|
saveMany: () => reject("saveMany"),
|
|
1398
1496
|
query: scopedQuery,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseRepository.js","sourceRoot":"","sources":["../src/BaseRepository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseRepository.js","sourceRoot":"","sources":["../src/BaseRepository.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAWzC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAEN,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,sBAAsB,EACtB,mBAAmB,EACnB,cAAc,GAEd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAEN,sBAAsB,EACtB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAA0B,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAwB/D;;;GAGG;AACH,SAAS,cAAc,CAAC,KAAsB;IAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACzE,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,EAAW;IAChC,OAAO,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,CAAC;AACxC,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,oBAAoB,CAAC,GAAY;IACzC,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1D,MAAM,CAAC,GAAG,GAA8B,CAAC;IACzC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC;IACpB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACtB,OAAO,CACN,IAAI,KAAK,OAAO;QAChB,IAAI,KAAK,8BAA8B;QACvC,IAAI,KAAK,0BAA0B;QACnC,IAAI,KAAK,cAAc;QACvB,KAAK,KAAK,IAAI,CACd,CAAC;AACH,CAAC;AA8BD,+DAA+D;AAE/D,0EAA0E;AAC1E,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IACnC,WAAW;IACX,aAAa;IACb,UAAU;IACV,MAAM;IACN,MAAM;IACN,MAAM;IACN,MAAM;IACN,OAAO;IACP,SAAS;IACT,SAAS;IACT,6EAA6E;IAC7E,4EAA4E;IAC5E,2EAA2E;IAC3E,uDAAuD;IACvD,SAAS;IACT,KAAK;IACL,QAAQ;IACR,UAAU;IACV,uEAAuE;IACvE,SAAS;IACT,MAAM;IACN,MAAM;IACN,QAAQ;IACR,kBAAkB;IAClB,QAAQ;IACR,QAAQ;IACR,OAAO;CACP,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC/B,WAAoD;IAEpD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,KAAK,MAAM,GAAG,IAAI,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;IACF,CAAC;IACD,4EAA4E;IAC5E,0EAA0E;IAC1E,2EAA2E;IAC3E,yEAAyE;IACzE,4EAA4E;IAC5E,2EAA2E;IAC3E,6EAA6E;IAC7E,oCAAoC;IACpC,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC5E,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;IACjE,CAAC;IACD,iEAAiE;IACjE,IAAI,sBAAsB,CAAC,WAAW,CAAC,KAAK,MAAM,EAAE,CAAC;QACpD,GAAG,CAAC,YAAY,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,MAAM,CAAC;IAClE,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,MAAM,OAAO,cAAc;IAC1B,YAAY,CAAuB;IACnC,UAAU,CAAS;IACnB,WAAW,CAAS;IACpB,QAAQ,CAAW;IACnB,GAAG,CAAqB;IACxB,YAAY,CAAU;IACtB,aAAa,CAAc;IAC3B,UAAU,CAAsB,CAAC,kCAAkC;IACnE,YAAY,CAAmC;IAC/C,0EAA0E;IAC1E,UAAU,CAAyB;IACnC;;;;OAIG;IACH,eAAe,CAA2C;IAC1D;;;;OAIG;IACH,eAAe,CAA2C;IAC1D;;;;;;;OAOG;IACH,QAAQ,CAAe;IAEvB,yEAAyE;IACzE,cAAc,CAA4C;IAE1D,YACC,WAAiC,EACjC,EAAsB,EACtB,OAAoC;QAEpC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YAChB,kEAAkE;YAClE,oEAAoE;YACpE,mEAAmE;YACnE,MAAM,IAAI,UAAU,CACnB,oBAAoB,EACpB,uBAAuB,WAAW,CAAC,IAAI,wCAAwC,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,IAAI,EACrH;gBACC,IAAI,EAAE,uKAAuK;aAC7K,CACD,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;QAEd,oFAAoF;QACpF,MAAM,WAAW,GAAI,EAAiC,CAAC,OAAO,CAAC;QAC/D,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,OAAO,IAAI,WAAW,IAAI,eAAe,EAAE,CAAC;QAErE,MAAM,IAAI,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,MAAM,IAAI,UAAU,CACnB,YAAY,EACZ,UAAU,WAAW,CAAC,IAAI,mCAAmC,EAC7D;gBACC,IAAI,EAAE,mDAAmD;aACzD,CACD,CAAC;QACH,CAAC;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;QACtD,MAAM,WAAW,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAC;QAErD,0EAA0E;QAC1E,wEAAwE;QACxE,yEAAyE;QACzE,6BAA6B;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAuC,CAAC;QACtE,IAAI,CAAC,eAAe,GAAG,IAAI,GAAG,EAAuC,CAAC;QACtE,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC/B,IAAI,GAAG,CAAC,OAAO;gBAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;YACxE,IAAI,GAAG,CAAC,OAAO;gBAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACzE,CAAC;QAED,0DAA0D;QAC1D,qEAAqE;QACrE,8DAA8D;QAC9D,mEAAmE;QACnE,oEAAoE;QACpE,+DAA+D;QAC/D,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAChC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAEtE,uEAAuE;QACvE,+DAA+D;QAC/D,IAAI,CAAC,UAAU,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAChD,mEAAmE;QACnE,2EAA2E;QAC3E,uEAAuE;QACvE,0EAA0E;QAC1E,gFAAgF;QAChF,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACrD,0EAA0E;QAC1E,yEAAyE;QACzE,0EAA0E;QAC1E,yEAAyE;QACzE,mCAAmC;QACnC,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;YACpD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY;gBAAE,SAAS;YACxC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YAC7B,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC9B,6DAA6D;gBAC7D,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;gBAChE,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,aAAa,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;gBAChE,MAAM,IAAI,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/D,IAAI,IAAI;oBAAE,kBAAkB,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACP,uEAAuE;gBACvE,MAAM,EAAE,GAAG,GAAG,CAAC,UAAU,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;gBACpE,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC;gBAClD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACrD,MAAM,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAC/C,IAAI,IAAI,IAAI,WAAW,EAAE,CAAC;oBACzB,kBAAkB,CAAC,WAAW,CAAC,SAAS,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;gBACrD,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,6DAA6D;IAE7D,qEAAqE;IACrE,cAAc,CAAC,MAAc;QAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAEhD,MAAM,IAAI,UAAU,CACnB,kBAAkB,EAClB,WAAW,MAAM,uBAAuB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAChE;YACC,IAAI,EAAE,kBAAkB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SAClD,CACD,CAAC;IACH,CAAC;IAED,6DAA6D;IAE7D,KAAK;QACJ,OAAO,IAAI,UAAU,CACpB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,GAAG,EACR,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC3B,IAAI,CAAC,YAAY,EACjB,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EACjC,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,QAAQ,CACb,CAAC;IACH,CAAC;IAED,6DAA6D;IAE7D,cAAc,CAAC,GAAuB;QACrC,yEAAyE;QACzE,yEAAyE;QACzE,mEAAmE;QACnE,uEAAuE;QACvE,uCAAuC;QACvC,MAAM,IAAI,GAAG,IAAI,cAAc,CAAI,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE;YAC1D,OAAO,EAAE,IAAI,CAAC,QAAQ;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,OAAO,IAAI,CAAC;IACb,CAAC;IAED,6DAA6D;IAE7D,KAAK,CAAC,IAAI,CAAC,EAA4B;QACtC,2EAA2E;QAC3E,qEAAqE;QACrE,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,UAAU,CACnB,sBAAsB,EACtB,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,qCAAqC,MAAM,CAAC,EAAE,CAAC,GAAG,CAC3E,CAAC;QACH,CAAC;QACD,2EAA2E;QAC3E,0EAA0E;QAC1E,gEAAgE;QAChE,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAmB;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,KAAc;QAC1C,yDAAyD;QACzD,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IAClD,CAAC;IAED,iFAAiF;IACjF,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,KAAc;QAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,MAAM,CAAC,EAAE,KAAK;aACf,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,QAAQ,CAAC,GAA2B;QACzC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC,KAAK,EAAE;aACjB,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC;aAC9B,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;aACjC,IAAI,EAAE,CAAC;IACV,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,UAAU,CACf,MAAc,EACd,MAA8B;QAE9B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,GAAG;QACR,0EAA0E;QAC1E,oEAAoE;QACpE,oEAAoE;QACpE,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,cAAc;QACnB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,WAAW;QAChB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAc,EAAE,KAAc;QACzC,2EAA2E;QAC3E,2EAA2E;QAC3E,wEAAwE;QACxE,iEAAiE;QACjE,OAAO,IAAI,CAAC,KAAK,EAAE;aACjB,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC;aACpB,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;aACjC,IAAI,EAAE,CAAC;IACV,CAAC;IAED,6DAA6D;IAE7D;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,IAAsC;QAClD,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,IACC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;gBAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,EACxC,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC;QACD,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACzD,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,IAAI,CAAC,MAAS;QACnB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,sEAAsE;QACtE,sEAAsE;QACtE,mCAAmC;QACnC,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;QAEpE,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QACzD,IAAI,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,6DAA6D;gBAC7D,8DAA8D;gBAC9D,8DAA8D;gBAC9D,wDAAwD;gBACxD,IAAI,YAAY,CAAC,EAAE,CAAC,IAAI,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnD,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACP,MAAM,GAAG,CAAC;gBACX,CAAC;YACF,CAAC;QACF,CAAC;QACD,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAExD,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,qBAAqB,CAAC,MAAkB;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC1C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,KAAK,MAAM,CAAC,IAAI,MAAM;oBAAE,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC9D,MAAM,GAAG,CAAC;YACX,CAAC;QACF,CAAC;IACF,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAS;QAC/B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAS;QAC/B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CACf,IAA6C;QAE7C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACpC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAClC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,IACC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;oBACzB,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;oBAEvC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,CAAC;QACV,CAAC,CAAC,CAAC;QACH,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YACpD,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC/B,6CAA6C;YAC7C,KAAK,MAAM,CAAC,IAAI,QAAQ;gBAAE,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACP,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,IAAI,GAAG;gBACZ,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,SAAS,EAAE;oBACV,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;oBAC9B,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;iBAC5C;aACD,CAAC;YACF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CACpC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EACtB,QAAQ,CAAC,MAAM,CACf,CAAC;YACF,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;gBAC3B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;oBACvC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzC,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YACrD,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,QAAa;QAC3B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACrC,wEAAwE;QACxE,yDAAyD;QACzD,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,MAAM,KAAK,GAAQ,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAC1D,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5B,MAAM,CAAC,GAA4B,EAAE,CAAC;gBACtC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;oBACf,IAAI,CAAC,KAAK,SAAS;wBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC;gBACD,OAAO,CAAC,CAAC;YACV,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC5C,qDAAqD;YACrD,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxB,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACxD,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;QACJ,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACX,IAA8D,EAC9D,eAAyB,EACzB,gBAA0B,EAAE;QAE5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG;YACZ,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,IAAI;YACJ,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YACnE,aAAa,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAC/D,KAAK,EAAE,IAAI,CAAC,UAAU;SACtB,CAAC;QACF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CACpC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EACtB,QAAQ,CAAC,MAAM,CACf,CAAC;QACF,OAAO,MAAM,CAAC,YAAY,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,aAAa,CAClB,MAA+B,EAC/B,WAAoC,EAAE;QAEtC,yEAAyE;QACzE,0EAA0E;QAC1E,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC;YAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,UAAU,CACf,MAA+B,EAC/B,WAAoC,EAAE;QAEtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC,EAAE,CAAC;YACjE,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;gBACvE,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,CAAC;IACV,CAAC;IAED,wFAAwF;IACxF,KAAK,CAAC,cAAc,CACnB,MAA+B,EAC/B,MAA+B;QAE/B,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACxD,IAAI,QAAQ,EAAE,CAAC;gBACd,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;oBAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACpE,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1B,OAAO,QAAQ,CAAC;YACjB,CAAC;YACD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAClB,MAA+B,EAC/B,IAAI,GAAG,KAAK;QAEZ,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/D,yEAAyE;QACzE,0EAA0E;QAC1E,IAAI,IAAI;YAAE,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC;QAC5B,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,WAAmB,EAAE,KAAc;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAC3B,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACJ,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QACrD,CAAC;QACD,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IACf,CAAC;IAED,aAAa,CAAC,WAAmB,EAAE,KAAc;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,OAAO,EAAE,CAAC;YACb,IAAI,MAAe,CAAC;YACpB,IAAI,CAAC;gBACJ,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACd,MAAM,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;YACrD,CAAC;YACD,gBAAgB,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC;QACf,CAAC;QACD,gFAAgF;QAChF,2EAA2E;QAC3E,4EAA4E;QAC5E,6EAA6E;QAC7E,yEAAyE;QACzE,oDAAoD;QACpD,IACC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;YAC9B,KAAK,IAAI,IAAI;YACb,CAAC,CAAC,KAAK,YAAY,IAAI,CAAC;YACxB,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,EACvD,CAAC;YACF,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;gBAAE,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,GAA4B;QAC5C,MAAM,KAAK,GAA6B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1C,yEAAyE;YACzE,mEAAmE;YACnE,iDAAiD;YACjD,IAAI,CAAC,KAAK,SAAS;gBAAE,SAAS;YAC9B,yEAAyE;YACzE,+DAA+D;YAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,iBAAiB,CAAC,MAAS;QAC1B,MAAM,KAAK,GAA6B,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,SAAS;gBAClB,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,uFAAuF;IACvF,KAAK,CAAC,MAAM,CAAC,MAAS;QACrB,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,UAAU,CACpB,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,EACrB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CACrE,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACP,MAAM,IAAI,CAAC,UAAU,CAAC;gBACrB,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;aACnE,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,6FAA6F;IAC7F,KAAK,CAAC,WAAW,CAAC,MAAS;QAC1B,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,UAAU,CAAC;YACrB;gBACC,MAAM,EAAE,IAAI,CAAC,WAAW;gBACxB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC/B,IAAI,EAAE,KAAK;aACX;SACD,CAAC,CAAC;QACH,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAS;QACtB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAC/B,MAAM,IAAI,CAAC,UAAU,CACpB,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,EACtB;YACC;gBACC,MAAM,EAAE,IAAI,CAAC,WAAW;gBACxB,QAAQ,EAAE,GAAG;gBACb,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC/B,IAAI,EAAE,KAAK;aACX;SACD,CACD,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,6DAA6D;IAE7D,KAAK,CAAC,UAAU,CACf,EAAmB,EACnB,IAAsC;QAEtC,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YAC1B,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACnE,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CAChB,MAAc,EACd,WAAoB,EACpB,IAAsC;QAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YAC1B,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE;SACpE,CAAC,CAAC;IACJ,CAAC;IAqBD,KAAK,CAAC,SAAS,CACd,EAAmB,EACnB,WAA4C,EAC5C,MAAM,GAAG,CAAC;QAEV,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YAC1B,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACnE,CAAC,CAAC;IACJ,CAAC;IAYD,KAAK,CAAC,SAAS,CACd,EAAmB,EACnB,WAA4C,EAC5C,MAAM,GAAG,CAAC;QAEV,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YAC1B,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACnE,CAAC,CAAC;IACJ,CAAC;IAED,6DAA6D;IAE7D,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,GAAG,MAAiB;QAC1C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAM,GAAG,EAAE,MAAM,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,CAAC;IAED,6DAA6D;IAE7D,YAAY;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IACD,mBAAmB;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,6DAA6D;IAE7D,KAAK,CAAC,UAAU,CAAC,MAAsC;QACtD,MAAM,QAAQ,GAAG,sBAAsB,CACtC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,EAClD,IAAI,CAAC,QAAQ,CACb,CAAC;QACF,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CACf,GAEC,EACD,MAAsC;QAEtC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC7B,MAAM,QAAQ,GAAG,sBAAsB,CACtC;YACC,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI,CAAC,UAAU;YACtB,GAAG;YACH,MAAM;YACN,KAAK,EAAE,IAAI,CAAC,UAAU;SACtB,EACD,IAAI,CAAC,QAAQ,CACb,CAAC;QACF,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,UAAU,CAAC,MAAgC;QAChD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACnC,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC;QACpD,MAAM,IAAI,GAAG,iBAAiB;YAC7B,CAAC,CAAC;gBACA,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,MAAM;gBACN,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,SAAS,EAAE;oBACV,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC;oBAC9B,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;iBAC5C;aACD;YACF,CAAC,CAAC;gBACA,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI,CAAC,UAAU;gBACtB,MAAM;gBACN,KAAK,EAAE,IAAI,CAAC,UAAU;aACtB,CAAC;QACJ,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,iBAAiB,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAChC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EACtB,QAAQ,CAAC,MAAM,CACf,CAAC;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACtB,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,CAAC;QACD,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChE,mEAAmE;QACnE,kEAAkE;QAClE,+DAA+D;QAC/D,gEAAgE;QAChE,qDAAqD;QACrD,OAAO,EAAE,CAAC;IACX,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAS;QACtB,uEAAuE;QACvE,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;QACvC,uFAAuF;QACvF,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,uEAAuE;QACvE,oEAAoE;QACpE,4DAA4D;QAC5D,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC;gBAC9C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;aAAM,IACN,MAAM,CAAC,eAAe,KAAK,SAAS;YACpC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,EACtC,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,oEAAoE;QACpE,uEAAuE;QACvE,MAAM,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,MAAS;QACtB,2EAA2E;QAC3E,mEAAmE;QACnE,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAE5C,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,yDAAyD;QACzD,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAE/B,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,kBAAkB;QAE/D,uEAAuE;QACvE,2EAA2E;QAC3E,kEAAkE;QAClE,oEAAoE;QACpE,4DAA4D;QAC5D,MAAM,QAAQ,GAA6B,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,KAAK,SAAS;gBAAE,SAAS;YAC9B,QAAQ,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,kEAAkE;YAClE,0DAA0D;YAC1D,kEAAkE;YAClE,yBAAyB;YACzB,MAAM,CAAC,eAAe,EAAE,CAAC;YACzB,OAAO;QACR,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE;YAC/B,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;SACnE,CAAC,CAAC;QACH,yCAAyC;QACzC,MAAM,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,yBAAyB,CAAC,MAAS;QAClC,MAAM,QAAQ,GAAoC,sBAAsB,CACvE,IAAI,CAAC,YAAY,CACjB,CAAC;QACF,IAAI,CAAC,QAAQ;YAAE,OAAO;QACtB,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS;YAAE,OAAO;QACnD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;QAChD,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,MAAS,EAAE,KAA0B;QACzD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7D,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACxB,IAAI,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBACD,IAAI,GAAG,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBAClD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC3B,CAAC;YACF,CAAC;iBAAM,IAAI,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBACjD,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,GAA4B;QACpC,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACvC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;YACnC,qEAAqE;YACrE,qEAAqE;YACrE,kCAAkC;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACjD,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;oBAC5B,CAAC,CAAC,GAAG;oBACL,CAAC,CAAC,IAAI,CAAC;YACT,IAAI,CAAC,SAAS;gBAAE,SAAS;YACzB,wEAAwE;YACxE,oEAAoE;YACpE,uEAAuE;YACvE,+DAA+D;YAC/D,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,yEAAyE;QACzE,qDAAqD;QACrD,MAAM,CAAC,eAAe,EAAE,CAAC;QACzB,sEAAsE;QACtE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE;YACvC,KAAK,EAAE,IAAI;YACX,UAAU,EAAE,KAAK;YACjB,YAAY,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,MAAkB;QAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAqB,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,wEAAwE;QACxE,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CACd,MAAkB,EAClB,YAAoB,EACpB,KAAc;QAEd,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,IAAI,GAAG,YAAY,QAAQ,CAAC;QACpD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;aACpB,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;aAC3B,SAAS,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;YAChC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC;QACpB,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,IAAI,SAAS;YAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAClB,MAAkB,EAClB,YAAoB,EACpB,KAA2B;QAE3B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,IAAI,aAAiC,CAAC;QACtC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE;aACpB,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;aAC3B,aAAa,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;YACpC,KAAK,CAAC,GAAG,CAAC,CAAC;YACX,aAAa,GAAI,GAA8B,CAAC,aAAa,CAAC;QAC/D,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,aAAa,IAAI,YAAY,CAAC;QAC5C,IAAI,SAAS;YAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CACjB,MAAkB,EAClB,YAAoB,EACpB,QAA+B;QAE/B,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,QAAQ;YACX,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,QAA+C,CAAC,CAAC;;YACrE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC7B,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,QAAQ,EAAE,CAAC;YACd,uDAAuD;YACvD,MAAM,KAAK,GAAI,QAAoC,CAAC,YAAY,CAAC,CAAC;YAClE,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACrC,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACH,YAAY,CAAC,MAAkB,EAAE,YAAoB;QACpD,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,KAAK,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,QAAQ;YACZ,MAAM,IAAI,KAAK,CACd,aAAa,YAAY,kBAAkB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CACnE,CAAC;QACH,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,EAA0B,CAAC;QAC/D,MAAM,WAAW,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW;YACf,MAAM,IAAI,KAAK,CACd,4CAA4C,YAAY,CAAC,IAAI,EAAE,CAC/D,CAAC;QACH,MAAM,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC;QAC3C,MAAM,QAAQ,GACb,QAAQ,CAAC,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;QAC/D,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,IAAI,cAAc,CAAa,YAAY,EAAE,IAAI,CAAC,GAAG,EAAE;YAC1E,OAAO,EAAE,IAAI,CAAC,QAAQ;SACtB,CAAC,CAAC;QACH,2EAA2E;QAC3E,wEAAwE;QACxE,yDAAyD;QACzD,WAAW,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAEpB,wFAAwF;QACxF,MAAM,KAAK,GACV,QAAQ,CAAC,UAAU;YACnB,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW;gBAC7B,CAAC,CAAC,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK;gBACzC,CAAC,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,CAChB,IAA6B,EACH,EAAE,CAAC,CAAC;YAC9B,GAAG,IAAI;YACP,CAAC,KAAK,CAAC,EAAE,aAAa;YACtB,CAAC,MAAM,CAAC,EAAE,aAAa;SACvB,CAAC,CAAC;QAEH,gEAAgE;QAChE,4DAA4D;QAC5D,MAAM,MAAM,GAAG;YACd,KAAK,CAAC,MAAM,CAAC,IAA6B;gBACzC,OAAO,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3C,CAAC;YACD,KAAK,CAAC,UAAU,CAAC,IAAoC;gBACpD,OAAO,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YACnD,CAAC;YACD,qEAAqE;YACrE,sEAAsE;YACtE,uEAAuE;YACvE,KAAK,CAAC,aAAa,CAClB,MAA+B,EAC/B,WAAoC,EAAE;gBAEtC,OAAO,WAAW,CAAC,aAAa,CAC/B,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,EACrC,QAAQ,CAAC,QAAQ,CAAC,CAClB,CAAC;YACH,CAAC;YACD,KAAK,CAAC,cAAc,CACnB,MAA+B,EAC/B,MAA+B;gBAE/B,OAAO,WAAW,CAAC,cAAc,CAChC,EAAE,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,EACrC,QAAQ,CAAC,MAAM,CAAC,CAChB,CAAC;YACH,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,OAAmB;gBAC7B,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBACtC,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBACvC,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC,OAAqB;gBACnC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACzB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;oBAChC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;gBAClC,CAAC;gBACD,OAAO,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,CAAC;SACD,CAAC;QAEF,mEAAmE;QACnE,qEAAqE;QACrE,gCAAgC;QAChC,MAAM,WAAW,GAAG,GAA2B,EAAE;YAChD,MAAM,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACpC,IAAI,CAAC,QAAQ,CAAC,KAAK;oBAClB,MAAM,IAAI,KAAK,CAAC,eAAe,YAAY,yBAAyB,CAAC,CAAC;gBACvE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;gBAC7B,MAAM,OAAO,GACZ,KAAK,CAAC,UAAU,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;gBAClE,MAAM,UAAU,GACf,KAAK,CAAC,QAAQ,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC3D,MAAM,SAAS,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;gBACtD,gEAAgE;gBAChE,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC9B,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE;oBACtC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;wBACnC,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,GAAG,CAAC,CAAC;oBACnE,CAAC;oBACD,OAAO,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;gBAC1D,CAAC,CAAC;gBACF,mEAAmE;gBACnE,iEAAiE;gBACjE,uEAAuE;gBACvE,oEAAoE;gBACpE,iBAAiB;gBACjB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;gBACrE,MAAM,EAAE,GACP,OAAO,KAAK,UAAU,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBACrE,yFAAyF;gBACzF,oEAAoE;gBACpE,oEAAoE;gBACpE,uEAAuE;gBACvE,0BAA0B,CAAC,GAAG,EAAE;oBAC/B,CAAC,CAAC,QAAQ,CACT,yBAAyB,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG;wBAClD,SAAS,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG;wBAC7D,OAAO,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,EACpG,CAAC,aAAa,CAAC,CACf,CAAC;gBACH,CAAC,CAAC,CAAC;YACJ,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GACb,QAAQ,CAAC,QAAQ,IAAI,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;gBAC1D,CAAC,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACP,mBAAmB;gBACnB,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,CAAC,CAAC;QACV,CAAC,CAAC;QAEF,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACnC,yEAAyE;YACzE,yEAAyE;YACzE,yEAAyE;YACzE,qEAAqE;YACrE,0BAA0B;YAC1B,MAAM,UAAU,GAAG,IAAkC,CAAC;YACtD,MAAM,KAAK,GAA2B;gBACrC,IAAI,EAAE,WAAW;gBACjB,GAAG,MAAM;gBACT,KAAK,EAAE,WAAW;gBAClB,KAAK,CAAC,SAAS,CAAC,KAAiB;oBAChC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;wBAC3C,MAAM,IAAI,KAAK,CACd,YAAY,YAAY,kEAAkE,CAC1F,CAAC;oBACH,CAAC;oBACD,MAAM,QAAQ,GACb,QAAQ,CAAC,QAAQ,IAAI,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;oBAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAChC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;oBAC/B,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;oBAChC,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;gBACD,KAAK,CAAC,UAAU;oBACf,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;oBAC5B,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;oBAC7B,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC/B,CAAC;aACD,CAAC;YACF,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACpC,IAAI,CAAC,QAAQ,CAAC,KAAK;gBAClB,MAAM,IAAI,KAAK,CAAC,eAAe,YAAY,yBAAyB,CAAC,CAAC;YACvE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC7B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;YACpC,MAAM,OAAO,GACZ,KAAK,CAAC,UAAU,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YAClE,MAAM,UAAU,GACf,KAAK,CAAC,QAAQ,IAAI,GAAG,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;YAC3D,MAAM,QAAQ,GAAG,KAAK,CAAC,eAAe,CAAC;YACvC,MAAM,aAAa,GAAG,KAAK,CAAC,mBAAmB,CAAC;YAChD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC;YAE9B,wEAAwE;YACxE,oEAAoE;YACpE,mEAAmE;YACnE,yEAAyE;YACzE,6EAA6E;YAC7E,MAAM,aAAa,GAA2B,EAAE,CAAC;YACjD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;YACrE,IAAI,YAAY;gBAAE,aAAa,CAAC,OAAO,CAAC,GAAG,YAAY,CAAC;YACxD,MAAM,aAAa,GAClB,gBAAgB,CAAC,YAAY,CAAC,CAC7B,YAAY,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,CACjD,CAAC;YACH,IAAI,aAAa;gBAAE,aAAa,CAAC,UAAU,CAAC,GAAG,aAAa,CAAC;YAE7D;;;;;;;;;;eAUG;YACH,MAAM,iBAAiB,GAAG,GAA4B,EAAE;gBACvD,IAAI,CAAC,QAAQ;oBAAE,OAAO,EAAE,CAAC;gBACzB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACrC,IAAI,UAAyB,CAAC;gBAC9B,IAAI,UAAyB,CAAC;gBAC9B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;oBACvB,UAAU,GAAG,YAAY,CAAC;oBAC1B,UAAU,GAAG,YAAY,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACP,UAAU;wBACT,QAAQ,CAAC,SAAS,KAAK,KAAK;4BAC3B,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,YAAY,CAAC,CAAC;oBACzC,UAAU;wBACT,QAAQ,CAAC,SAAS,KAAK,KAAK;4BAC3B,CAAC,CAAC,IAAI;4BACN,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,YAAY,CAAC,CAAC;gBAC1C,CAAC;gBACD,MAAM,GAAG,GAA4B,EAAE,CAAC;gBACxC,IAAI,UAAU;oBAAE,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC;gBACtC,IAAI,UAAU;oBAAE,GAAG,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC;gBACtC,OAAO,GAAG,CAAC;YACZ,CAAC,CAAC;YAEF,MAAM,eAAe,GAAG,CACvB,GAAqE,EACH,EAAE;gBACpE,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;oBAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;gBACrE,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC,CAAC;YAEF,oEAAoE;YACpE,oEAAoE;YACpE,kEAAkE;YAClE,8DAA8D;YAC9D,EAAE;YACF,6DAA6D;YAC7D,MAAM,UAAU,GAAG,KAAK,IAAqC,EAAE;gBAC9D,MAAM,UAAU,GAAG;oBAClB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,UAAU;oBACjB,MAAM,EAAE,CAAC,UAAU,CAAC;oBACpB,MAAM,EAAE;wBACP;4BACC,MAAM,EAAE,OAAO;4BACf,QAAQ,EAAE,GAAG;4BACb,KAAK,EAAE,aAAa;4BACpB,IAAI,EAAE,KAAK;yBACX;qBACD;oBACD,gBAAgB,EAAE,EAAE;oBACpB,OAAO,EAAE,EAAE;oBACX,OAAO,EAAE,EAAE;oBACX,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,IAAI;oBACX,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,EAAE;oBACR,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,EAAE;oBACT,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,aAAa;iBACpB,CAAC;gBACF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC7D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,KAAK,CAC1B,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EACtB,QAAQ,CAAC,MAAM,CACf,CAAC;gBACF,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAoB,CAAC,CAAC;YAC1D,CAAC,CAAC;YAEF,uEAAuE;YACvE,sEAAsE;YACtE,uDAAuD;YACvD,MAAM,MAAM,GAAG,KAAK,EAAE,GAA4B,EAAiB,EAAE;gBACpE,MAAM,MAAM,GAAmC;oBAC9C,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE;iBACrE,CAAC;gBACF,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,MAAM,CAAC,IAAI,CAAC;wBACX,MAAM,EAAE,UAAU;wBAClB,QAAQ,EAAE,IAAI;wBACd,KAAK,EAAE,GAAG;wBACV,IAAI,EAAE,KAAK;qBACX,CAAC,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,GAAG;oBACZ,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,UAAU;oBACjB,MAAM;oBACN,SAAS,EAAE,EAAE;oBACb,KAAK,EAAE,aAAa;iBACpB,CAAC;gBACF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC,CAAC;YAEF,MAAM,MAAM,GAAG,KAAK,EACnB,GAAqE,EACrD,EAAE;gBAClB,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO;gBACjC,MAAM,EAAE,GAAG,iBAAiB,EAAE,CAAC;gBAC/B,kEAAkE;gBAClE,sEAAsE;gBACtE,sEAAsE;gBACtE,sCAAsC;gBACtC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;gBACpC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;oBACzB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;wBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACzD,CAAC;gBACD,uEAAuE;gBACvE,uEAAuE;gBACvE,oEAAoE;gBACpE,gEAAgE;gBAChE,kEAAkE;gBAClE,mCAAmC;gBACnC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAC3B,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,KAAK,UAAU,EAAE,CAAC;wBACvC,MAAM,IAAI,KAAK,CACd,qBAAqB,CAAC,uBAAuB,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,eAAe,UAAU,6DAA6D,CAC5K,CAAC;oBACH,CAAC;oBACD,IAAI,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;wBAC1B,MAAM,IAAI,KAAK,CACd,qBAAqB,CAAC,gDAAgD,UAAU,wEAAwE,CACxJ,CAAC;oBACH,CAAC;gBACF,CAAC;gBACD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBAClC,MAAM,KAAK,GAA6B;wBACvC,CAAC,OAAO,EAAE,aAAa,CAAC;wBACxB,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC;qBAClB,CAAC;oBACF,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;wBAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;wBAChC,MAAM,OAAO,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;wBAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;4BACd,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;4BACrB,SAAS;wBACV,CAAC;wBACD,IAAI,OAAgB,CAAC;wBACrB,IAAI,CAAC;4BACJ,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;wBACxB,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACd,MAAM,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;wBAC3C,CAAC;wBACD,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;wBACxC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;oBAC1B,CAAC;oBACD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;wBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC5D,OAAO,KAAK,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,iEAAiE;gBACjE,6DAA6D;gBAC7D,oEAAoE;gBACpE,MAAM,UAAU,GAA2B,EAAE,GAAG,aAAa,EAAE,CAAC;gBAChE,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAAE,UAAU,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;gBAC7D,MAAM,IAAI,GAAG;oBACZ,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,UAAU;iBACjB,CAAC;gBACF,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC3D,CAAC,CAAC;YAEF;;;;;;;;;;;eAWG;YACH,MAAM,IAAI,GAAG,KAAK,EACjB,MAE0C,EAC1C,QAAQ,GAAG,KAAK,EACA,EAAE;gBAClB,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;gBACxC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3D,MAAM,QAAQ,GAAG,QAAQ;oBACxB,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;gBACjD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;oBAAE,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAChD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,SAAS,GAA4C,EAAE,CAAC;oBAC9D,KAAK,MAAM,CAAC,IAAI,QAAQ;wBAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;oBAC7D,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;gBACzB,CAAC;YACF,CAAC,CAAC;YAEF,oEAAoE;YACpE,wEAAwE;YACxE,wEAAwE;YACxE,MAAM,aAAa,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;YAC1D,MAAM,SAAS,GAAG,CAAC,IAAkB,EAAiB,EAAE;gBACvD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;gBAChD,MAAM,GAAG,GAA4C,EAAE,CAAC;gBACxD,KAAK,MAAM,CAAC,IAAI,IAAI;oBAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACzD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC,CAAC;YACF,MAAM,MAAM,GAAG;gBACd,KAAK,CAAC,MAAM,CAAC,IAA6B;oBACzC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC/C,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;oBAC3B,OAAO,OAAO,CAAC;gBAChB,CAAC;gBACD,KAAK,CAAC,UAAU,CACf,IAAoC;oBAEpC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBACnD,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;oBACzB,OAAO,OAAO,CAAC;gBAChB,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,OAAmB;oBAC7B,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAChC,MAAM,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC5B,CAAC;gBACD,KAAK,CAAC,QAAQ,CAAC,OAAqB;oBACnC,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;oBAClD,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;oBACvB,OAAO,KAAK,CAAC;gBACd,CAAC;aACD,CAAC;YACF,MAAM,KAAK,GAA4B;gBACtC,IAAI,EAAE,YAAY;gBAClB,GAAG,MAAM;gBACT,KAAK,EAAE,WAAW;gBAClB,MAAM;gBACN,MAAM;gBACN,IAAI;aACJ,CAAC;YACF,OAAO,KAAK,CAAC;QACd,CAAC;QAED,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAChC,uEAAuE;YACvE,uEAAuE;YACvE,gEAAgE;YAChE,oEAAoE;YACpE,4BAA4B;YAC5B,MAAM,MAAM,GAAG,KAAK,EAAE,EAAU,EAAkB,EAAE;gBACnD,MAAM,IAAI,KAAK,CACd,YAAY,YAAY,MAAM,EAAE,mCAAmC;oBAClE,mDAAmD,CACpD,CAAC;YACH,CAAC,CAAC;YACF,MAAM,KAAK,GAAwB;gBAClC,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,UAAU,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;gBACtC,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC;gBAClC,KAAK,EAAE,WAAW;aAClB,CAAC;YACF,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,KAAK,GAAyB;YACnC,IAAI,EAAE,SAAS;YACf,GAAG,MAAM;YACT,KAAK,EAAE,WAAW;SAClB,CAAC;QACF,OAAO,KAAK,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAAS;QACpB,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAI,EAAE,KAAK,SAAS,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAqB,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE;gBACrD,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE;aACtB,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,YAAY,CAAC,MAAS;QACrB,wEAAwE;QACxE,sEAAsE;QACtE,oEAAoE;QACpE,uEAAuE;QACvE,yEAAyE;QACzE,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACzB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACzD,CAAC;QACF,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,cAAc,CACb,IAAsC;QAEtC,MAAM,KAAK,GAA6B,EAAE,CAAC;QAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACjD,uEAAuE;YACvE,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC;gBACV,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;gBACxB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC;aAClC,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CACnB,WAA4C,EAC5C,MAAc,EACd,EAA6B;QAE7B,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CACrC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAChB,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAG9C,CACF,CAAC;IACH,CAAC;CACD;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CACxB,KAA4B,EAC5B,WAAmB,EACnB,GAAY;IAEZ,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,uEAAuE;IACvE,uEAAuE;IACvE,mEAAmE;IACnE,mEAAmE;IACnE,4BAA4B;IAC5B,OAAO,IAAI,KAAK,CAAC,WAAW,KAAK,cAAc,WAAW,MAAM,OAAO,EAAE,EAAE;QAC1E,KAAK,EAAE,GAAG;KACV,CAAC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACxB,KAA4B,EAC5B,WAAmB,EACnB,KAAc;IAEd,IACC,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,QAAQ;QACzB,MAAM,IAAI,KAAK;QACf,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,UAAU,EAC/C,CAAC;QACF,MAAM,IAAI,KAAK,CACd,WAAW,KAAK,QAAQ,WAAW,oFAAoF,CACvH,CAAC;IACH,CAAC;AACF,CAAC"}
|