@simplysm/sd-cli 10.0.21 → 10.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SdTsIncrementalBuilder.d.ts +1 -1
- package/dist/SdTsIncrementalBuilder.js.map +1 -1
- package/dist/SdTsIncrementalBuilder.mjs +39 -16
- package/dist/commons.d.ts +1 -0
- package/dist/entry/SdCliLocalUpdate.d.ts +7 -0
- package/dist/entry/SdCliLocalUpdate.js.map +1 -0
- package/dist/entry/SdCliLocalUpdate.mjs +55 -0
- package/dist/sd-cli.js.map +1 -1
- package/dist/sd-cli.mjs +15 -0
- package/package.json +5 -5
- package/src/SdTsIncrementalBuilder.ts +29 -4
- package/src/commons.ts +1 -0
- package/src/entry/SdCliLocalUpdate.ts +70 -0
- package/src/sd-cli.ts +19 -0
- package/dist/sd-core-common/src/decorators/NotifyPropertyChange.d.ts +0 -20
- package/dist/sd-core-common/src/decorators/NotifyPropertyChange.js.map +0 -1
- package/dist/sd-core-common/src/decorators/NotifyPropertyChange.mjs +0 -12
- package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.d.ts +0 -43
- package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.js.map +0 -1
- package/dist/sd-core-common/src/decorators/PropertyGetSetDecoratorBase.mjs +0 -54
- package/dist/sd-core-common/src/decorators/PropertyValidate.d.ts +0 -16
- package/dist/sd-core-common/src/decorators/PropertyValidate.js.map +0 -1
- package/dist/sd-core-common/src/decorators/PropertyValidate.mjs +0 -26
- package/dist/sd-core-common/src/decorators/decorator-return-types.d.ts +0 -14
- package/dist/sd-core-common/src/decorators/decorator-return-types.js.map +0 -1
- package/dist/sd-core-common/src/decorators/decorator-return-types.mjs +0 -2
- package/dist/sd-core-common/src/errors/ArgumentError.d.ts +0 -10
- package/dist/sd-core-common/src/errors/ArgumentError.js.map +0 -1
- package/dist/sd-core-common/src/errors/ArgumentError.mjs +0 -13
- package/dist/sd-core-common/src/errors/NeverEntryError.d.ts +0 -10
- package/dist/sd-core-common/src/errors/NeverEntryError.js.map +0 -1
- package/dist/sd-core-common/src/errors/NeverEntryError.mjs +0 -13
- package/dist/sd-core-common/src/errors/NotImplementError.d.ts +0 -10
- package/dist/sd-core-common/src/errors/NotImplementError.js.map +0 -1
- package/dist/sd-core-common/src/errors/NotImplementError.mjs +0 -13
- package/dist/sd-core-common/src/errors/SdError.d.ts +0 -23
- package/dist/sd-core-common/src/errors/SdError.js.map +0 -1
- package/dist/sd-core-common/src/errors/SdError.mjs +0 -40
- package/dist/sd-core-common/src/errors/TimeoutError.d.ts +0 -11
- package/dist/sd-core-common/src/errors/TimeoutError.js.map +0 -1
- package/dist/sd-core-common/src/errors/TimeoutError.mjs +0 -16
- package/dist/sd-core-common/src/extensions/ArrayExtension.d.ts +0 -147
- package/dist/sd-core-common/src/extensions/ArrayExtension.js.map +0 -1
- package/dist/sd-core-common/src/extensions/ArrayExtension.mjs +0 -448
- package/dist/sd-core-common/src/extensions/MapExtension.d.ts +0 -4
- package/dist/sd-core-common/src/extensions/MapExtension.js.map +0 -1
- package/dist/sd-core-common/src/extensions/MapExtension.mjs +0 -15
- package/dist/sd-core-common/src/extensions/SetExtension.d.ts +0 -3
- package/dist/sd-core-common/src/extensions/SetExtension.js.map +0 -1
- package/dist/sd-core-common/src/extensions/SetExtension.mjs +0 -10
- package/dist/sd-core-common/src/index.d.ts +0 -32
- package/dist/sd-core-common/src/index.js.map +0 -1
- package/dist/sd-core-common/src/index.mjs +0 -33
- package/dist/sd-core-common/src/types/DateOnly.d.ts +0 -135
- package/dist/sd-core-common/src/types/DateOnly.js.map +0 -1
- package/dist/sd-core-common/src/types/DateOnly.mjs +0 -220
- package/dist/sd-core-common/src/types/DateTime.d.ts +0 -42
- package/dist/sd-core-common/src/types/DateTime.js.map +0 -1
- package/dist/sd-core-common/src/types/DateTime.mjs +0 -156
- package/dist/sd-core-common/src/types/DeepPartial.d.ts +0 -3
- package/dist/sd-core-common/src/types/DeepPartial.js.map +0 -1
- package/dist/sd-core-common/src/types/DeepPartial.mjs +0 -2
- package/dist/sd-core-common/src/types/ObjectSet.d.ts +0 -4
- package/dist/sd-core-common/src/types/ObjectSet.js.map +0 -1
- package/dist/sd-core-common/src/types/ObjectSet.mjs +0 -18
- package/dist/sd-core-common/src/types/Time.d.ts +0 -27
- package/dist/sd-core-common/src/types/Time.js.map +0 -1
- package/dist/sd-core-common/src/types/Time.mjs +0 -108
- package/dist/sd-core-common/src/types/Type.d.ts +0 -7
- package/dist/sd-core-common/src/types/Type.js.map +0 -1
- package/dist/sd-core-common/src/types/Type.mjs +0 -2
- package/dist/sd-core-common/src/types/UnwrappedType.d.ts +0 -1
- package/dist/sd-core-common/src/types/UnwrappedType.js.map +0 -1
- package/dist/sd-core-common/src/types/UnwrappedType.mjs +0 -2
- package/dist/sd-core-common/src/types/Uuid.d.ts +0 -8
- package/dist/sd-core-common/src/types/Uuid.js.map +0 -1
- package/dist/sd-core-common/src/types/Uuid.mjs +0 -26
- package/dist/sd-core-common/src/types/WrappedType.d.ts +0 -1
- package/dist/sd-core-common/src/types/WrappedType.js.map +0 -1
- package/dist/sd-core-common/src/types/WrappedType.mjs +0 -2
- package/dist/sd-core-common/src/utils/DateTimeFormatUtil.d.ts +0 -12
- package/dist/sd-core-common/src/utils/DateTimeFormatUtil.js.map +0 -1
- package/dist/sd-core-common/src/utils/DateTimeFormatUtil.mjs +0 -67
- package/dist/sd-core-common/src/utils/FunctionQueue.d.ts +0 -8
- package/dist/sd-core-common/src/utils/FunctionQueue.js.map +0 -1
- package/dist/sd-core-common/src/utils/FunctionQueue.mjs +0 -46
- package/dist/sd-core-common/src/utils/FunctionUtil.d.ts +0 -6
- package/dist/sd-core-common/src/utils/FunctionUtil.js.map +0 -1
- package/dist/sd-core-common/src/utils/FunctionUtil.mjs +0 -31
- package/dist/sd-core-common/src/utils/JsonConvert.d.ts +0 -8
- package/dist/sd-core-common/src/utils/JsonConvert.js.map +0 -1
- package/dist/sd-core-common/src/utils/JsonConvert.mjs +0 -78
- package/dist/sd-core-common/src/utils/MathUtil.d.ts +0 -3
- package/dist/sd-core-common/src/utils/MathUtil.js.map +0 -1
- package/dist/sd-core-common/src/utils/MathUtil.mjs +0 -6
- package/dist/sd-core-common/src/utils/NumberUtil.d.ts +0 -6
- package/dist/sd-core-common/src/utils/NumberUtil.js.map +0 -1
- package/dist/sd-core-common/src/utils/NumberUtil.mjs +0 -32
- package/dist/sd-core-common/src/utils/ObjectUtil.d.ts +0 -80
- package/dist/sd-core-common/src/utils/ObjectUtil.js.map +0 -1
- package/dist/sd-core-common/src/utils/ObjectUtil.mjs +0 -452
- package/dist/sd-core-common/src/utils/SdSyncEventEmitter.d.ts +0 -6
- package/dist/sd-core-common/src/utils/SdSyncEventEmitter.js.map +0 -1
- package/dist/sd-core-common/src/utils/SdSyncEventEmitter.mjs +0 -27
- package/dist/sd-core-common/src/utils/StringUtil.d.ts +0 -8
- package/dist/sd-core-common/src/utils/StringUtil.js.map +0 -1
- package/dist/sd-core-common/src/utils/StringUtil.mjs +0 -77
- package/dist/sd-core-common/src/utils/Wait.d.ts +0 -4
- package/dist/sd-core-common/src/utils/Wait.js.map +0 -1
- package/dist/sd-core-common/src/utils/Wait.mjs +0 -23
- package/dist/sd-core-node/src/index.d.ts +0 -6
- package/dist/sd-core-node/src/index.js.map +0 -1
- package/dist/sd-core-node/src/index.mjs +0 -7
- package/dist/sd-core-node/src/utils/FsUtil.d.ts +0 -44
- package/dist/sd-core-node/src/utils/FsUtil.js.map +0 -1
- package/dist/sd-core-node/src/utils/FsUtil.mjs +0 -493
- package/dist/sd-core-node/src/utils/Logger.d.ts +0 -91
- package/dist/sd-core-node/src/utils/Logger.js.map +0 -1
- package/dist/sd-core-node/src/utils/Logger.mjs +0 -185
- package/dist/sd-core-node/src/utils/PathUtil.d.ts +0 -6
- package/dist/sd-core-node/src/utils/PathUtil.js.map +0 -1
- package/dist/sd-core-node/src/utils/PathUtil.mjs +0 -24
- package/dist/sd-core-node/src/utils/SdFsWatcher.d.ts +0 -15
- package/dist/sd-core-node/src/utils/SdFsWatcher.js.map +0 -1
- package/dist/sd-core-node/src/utils/SdFsWatcher.mjs +0 -43
- package/dist/sd-core-node/src/utils/SdProcess.d.ts +0 -5
- package/dist/sd-core-node/src/utils/SdProcess.js.map +0 -1
- package/dist/sd-core-node/src/utils/SdProcess.mjs +0 -36
- package/dist/sd-orm-common/src/CaseQueryHelper.d.ts +0 -12
- package/dist/sd-orm-common/src/CaseQueryHelper.js.map +0 -1
- package/dist/sd-orm-common/src/CaseQueryHelper.mjs +0 -19
- package/dist/sd-orm-common/src/CaseWhenQueryHelper.d.ts +0 -12
- package/dist/sd-orm-common/src/CaseWhenQueryHelper.js.map +0 -1
- package/dist/sd-orm-common/src/CaseWhenQueryHelper.mjs +0 -20
- package/dist/sd-orm-common/src/DbContext.d.ts +0 -81
- package/dist/sd-orm-common/src/DbContext.js.map +0 -1
- package/dist/sd-orm-common/src/DbContext.mjs +0 -635
- package/dist/sd-orm-common/src/IDbConnection.d.ts +0 -15
- package/dist/sd-orm-common/src/IDbConnection.js.map +0 -1
- package/dist/sd-orm-common/src/IDbConnection.mjs +0 -2
- package/dist/sd-orm-common/src/IDbContextExecutor.d.ts +0 -17
- package/dist/sd-orm-common/src/IDbContextExecutor.js.map +0 -1
- package/dist/sd-orm-common/src/IDbContextExecutor.mjs +0 -2
- package/dist/sd-orm-common/src/IDbMigration.d.ts +0 -4
- package/dist/sd-orm-common/src/IDbMigration.js.map +0 -1
- package/dist/sd-orm-common/src/IDbMigration.mjs +0 -2
- package/dist/sd-orm-common/src/QueryBuilder.d.ts +0 -48
- package/dist/sd-orm-common/src/QueryBuilder.js.map +0 -1
- package/dist/sd-orm-common/src/QueryBuilder.mjs +0 -1022
- package/dist/sd-orm-common/src/QueryHelper.d.ts +0 -75
- package/dist/sd-orm-common/src/QueryHelper.js.map +0 -1
- package/dist/sd-orm-common/src/QueryHelper.mjs +0 -627
- package/dist/sd-orm-common/src/QueryUnit.d.ts +0 -10
- package/dist/sd-orm-common/src/QueryUnit.js.map +0 -1
- package/dist/sd-orm-common/src/QueryUnit.mjs +0 -16
- package/dist/sd-orm-common/src/Queryable.d.ts +0 -105
- package/dist/sd-orm-common/src/Queryable.js.map +0 -1
- package/dist/sd-orm-common/src/Queryable.mjs +0 -1375
- package/dist/sd-orm-common/src/SdOrmDataType.d.ts +0 -21
- package/dist/sd-orm-common/src/SdOrmDataType.js.map +0 -1
- package/dist/sd-orm-common/src/SdOrmDataType.mjs +0 -2
- package/dist/sd-orm-common/src/commons.d.ts +0 -400
- package/dist/sd-orm-common/src/commons.js.map +0 -1
- package/dist/sd-orm-common/src/commons.mjs +0 -8
- package/dist/sd-orm-common/src/decorators.d.ts +0 -29
- package/dist/sd-orm-common/src/decorators.js.map +0 -1
- package/dist/sd-orm-common/src/decorators.mjs +0 -89
- package/dist/sd-orm-common/src/index.d.ts +0 -17
- package/dist/sd-orm-common/src/index.js.map +0 -1
- package/dist/sd-orm-common/src/index.mjs +0 -18
- package/dist/sd-orm-common/src/models/SystemMigration.d.ts +0 -3
- package/dist/sd-orm-common/src/models/SystemMigration.js.map +0 -1
- package/dist/sd-orm-common/src/models/SystemMigration.mjs +0 -13
- package/dist/sd-orm-common/src/utils/DbDefinitionUtil.d.ts +0 -14
- package/dist/sd-orm-common/src/utils/DbDefinitionUtil.js.map +0 -1
- package/dist/sd-orm-common/src/utils/DbDefinitionUtil.mjs +0 -66
- package/dist/sd-orm-common/src/utils/SdOrmUtil.d.ts +0 -8
- package/dist/sd-orm-common/src/utils/SdOrmUtil.js.map +0 -1
- package/dist/sd-orm-common/src/utils/SdOrmUtil.mjs +0 -248
- package/dist/sd-orm-node/src/DbConnectionFactory.d.ts +0 -4
- package/dist/sd-orm-node/src/DbConnectionFactory.js.map +0 -1
- package/dist/sd-orm-node/src/DbConnectionFactory.mjs +0 -17
- package/dist/sd-orm-node/src/NodeDbContextExecutor.d.ts +0 -19
- package/dist/sd-orm-node/src/NodeDbContextExecutor.js.map +0 -1
- package/dist/sd-orm-node/src/NodeDbContextExecutor.mjs +0 -71
- package/dist/sd-orm-node/src/SdOrm.d.ts +0 -10
- package/dist/sd-orm-node/src/SdOrm.js.map +0 -1
- package/dist/sd-orm-node/src/SdOrm.mjs +0 -25
- package/dist/sd-orm-node/src/index.d.ts +0 -4
- package/dist/sd-orm-node/src/index.js.map +0 -1
- package/dist/sd-orm-node/src/index.mjs +0 -5
- package/dist/sd-orm-node-mssql/src/MssqlDbConnection.d.ts +0 -25
- package/dist/sd-orm-node-mssql/src/MssqlDbConnection.js.map +0 -1
- package/dist/sd-orm-node-mssql/src/MssqlDbConnection.mjs +0 -321
- package/dist/sd-orm-node-mssql/src/index.d.ts +0 -2
- package/dist/sd-orm-node-mssql/src/index.js.map +0 -1
- package/dist/sd-orm-node-mssql/src/index.mjs +0 -3
- package/dist/sd-orm-node-mysql/src/MysqlDbConnection.d.ts +0 -22
- package/dist/sd-orm-node-mysql/src/MysqlDbConnection.js.map +0 -1
- package/dist/sd-orm-node-mysql/src/MysqlDbConnection.mjs +0 -200
- package/dist/sd-orm-node-mysql/src/index.d.ts +0 -2
- package/dist/sd-orm-node-mysql/src/index.js.map +0 -1
- package/dist/sd-orm-node-mysql/src/index.mjs +0 -3
- package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.d.ts +0 -22
- package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.js.map +0 -1
- package/dist/sd-orm-node-sqlite/src/SqliteDbConnection.mjs +0 -172
- package/dist/sd-orm-node-sqlite/src/index.d.ts +0 -2
- package/dist/sd-orm-node-sqlite/src/index.js.map +0 -1
- package/dist/sd-orm-node-sqlite/src/index.mjs +0 -3
- package/dist/sd-service-common/src/commons-orm.d.ts +0 -4
- package/dist/sd-service-common/src/commons-orm.js.map +0 -1
- package/dist/sd-service-common/src/commons-orm.mjs +0 -2
- package/dist/sd-service-common/src/commons-smtp.d.ts +0 -29
- package/dist/sd-service-common/src/commons-smtp.js.map +0 -1
- package/dist/sd-service-common/src/commons-smtp.mjs +0 -2
- package/dist/sd-service-common/src/commons.d.ts +0 -57
- package/dist/sd-service-common/src/commons.js.map +0 -1
- package/dist/sd-service-common/src/commons.mjs +0 -3
- package/dist/sd-service-common/src/index.d.ts +0 -3
- package/dist/sd-service-common/src/index.js.map +0 -1
- package/dist/sd-service-common/src/index.mjs +0 -4
- package/dist/sd-service-server/src/ApiServiceError.d.ts +0 -12
- package/dist/sd-service-server/src/ApiServiceError.js.map +0 -1
- package/dist/sd-service-server/src/ApiServiceError.mjs +0 -15
- package/dist/sd-service-server/src/SdServiceServer.d.ts +0 -39
- package/dist/sd-service-server/src/SdServiceServer.js.map +0 -1
- package/dist/sd-service-server/src/SdServiceServer.mjs +0 -513
- package/dist/sd-service-server/src/commons.d.ts +0 -23
- package/dist/sd-service-server/src/commons.js.map +0 -1
- package/dist/sd-service-server/src/commons.mjs +0 -3
- package/dist/sd-service-server/src/index.d.ts +0 -8
- package/dist/sd-service-server/src/index.js.map +0 -1
- package/dist/sd-service-server/src/index.mjs +0 -9
- package/dist/sd-service-server/src/services/SdAutoUpdateService.d.ts +0 -4
- package/dist/sd-service-server/src/services/SdAutoUpdateService.js.map +0 -1
- package/dist/sd-service-server/src/services/SdAutoUpdateService.mjs +0 -20
- package/dist/sd-service-server/src/services/SdCryptoService.d.ts +0 -7
- package/dist/sd-service-server/src/services/SdCryptoService.js.map +0 -1
- package/dist/sd-service-server/src/services/SdCryptoService.mjs +0 -39
- package/dist/sd-service-server/src/services/SdOrmService.d.ts +0 -22
- package/dist/sd-service-server/src/services/SdOrmService.js.map +0 -1
- package/dist/sd-service-server/src/services/SdOrmService.mjs +0 -115
- package/dist/sd-service-server/src/services/SdSmtpClientService.d.ts +0 -6
- package/dist/sd-service-server/src/services/SdSmtpClientService.js.map +0 -1
- package/dist/sd-service-server/src/services/SdSmtpClientService.mjs +0 -44
- package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.d.ts +0 -4
- package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.js.map +0 -1
- package/dist/sd-service-server/src/utils/SdServiceServerConfigUtil.mjs +0 -36
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { DbContext } from "./DbContext";
|
|
2
|
-
import { Type, UnwrappedType } from "@simplysm/sd-core-common";
|
|
3
|
-
import { IDeleteQueryDef, IInsertIfNotExistsQueryDef, IInsertQueryDef, IQueryableDef, IQueryTableNameDef, ISelectQueryDef, ITableDef, IUpdateQueryDef, IUpsertQueryDef, TEntity, TEntityUnwrap, TEntityValue, TEntityValueOrQueryableOrArray, TIncludeEntity, TInsertObject, TQueryBuilderValue, TQueryValue, TSelectEntity, TUpdateObject } from "./commons";
|
|
4
|
-
export declare class Queryable<D extends DbContext, T> {
|
|
5
|
-
readonly db: D;
|
|
6
|
-
T?: T;
|
|
7
|
-
readonly tableType?: Type<T>;
|
|
8
|
-
private readonly _as?;
|
|
9
|
-
readonly tableDef?: ITableDef;
|
|
10
|
-
private readonly _entity;
|
|
11
|
-
private readonly _isCustomEntity;
|
|
12
|
-
private readonly _def;
|
|
13
|
-
get tableName(): string;
|
|
14
|
-
hasMultiJoin: boolean;
|
|
15
|
-
get tableDescription(): string;
|
|
16
|
-
get tableNameDef(): IQueryTableNameDef;
|
|
17
|
-
constructor(db: D, cloneQueryable: Queryable<D, T>);
|
|
18
|
-
constructor(db: D, cloneQueryable: Queryable<D, any>, entity: TEntity<T>);
|
|
19
|
-
constructor(db: D, tableType: Type<T>, as?: string);
|
|
20
|
-
constructor(db: D, tableType: Type<T> | undefined, as: string | undefined, entity: TEntity<T>, defs: IQueryableDef);
|
|
21
|
-
static union<ND extends DbContext, NT>(qrs: Queryable<ND, NT>[], as?: string): Queryable<ND, NT>;
|
|
22
|
-
lock(): Queryable<D, T>;
|
|
23
|
-
select<A, B extends TEntityUnwrap<A>>(fwd: (entity: TEntity<T>) => A): Queryable<D, B>;
|
|
24
|
-
select<R>(fwd: (entity: TEntity<T>) => TSelectEntity<R>): Queryable<D, R>;
|
|
25
|
-
selectByType<A>(tableType: Type<A>): Queryable<D, A>;
|
|
26
|
-
ofType<A>(): Queryable<D, A>;
|
|
27
|
-
where(predicate: (entity: TEntity<T>) => TEntityValueOrQueryableOrArray<D, any>[]): Queryable<D, T>;
|
|
28
|
-
distinct(): Queryable<D, T>;
|
|
29
|
-
top(count: number): Queryable<D, T>;
|
|
30
|
-
orderBy(arg1: ((entity: TEntity<T>) => TEntityValue<TQueryValue>) | string, desc?: boolean): Queryable<D, T>;
|
|
31
|
-
clearOrderBy(): Queryable<D, T>;
|
|
32
|
-
limit(skip: number, take: number): Queryable<D, T>;
|
|
33
|
-
sample(rowCount: number): Queryable<D, T>;
|
|
34
|
-
pivot<V extends TQueryValue, P extends string>(valueFwd: ((entity: TEntity<T>) => TEntityValue<V>), valueDupFwd: ((value: TEntityValue<V>) => TEntityValue<V>), emptyValue: V, pivotFwd: ((entity: TEntity<T>) => TEntityValue<any>), pivotKeys: P[]): Queryable<D, T & Record<P, V>>;
|
|
35
|
-
unpivot<VC extends string, PC extends string, RT extends TQueryValue>(valueColumn: VC, pivotColumn: PC, pivotKeys: string[], resultType: Type<RT>): Queryable<D, T & Record<PC, string> & Record<VC, UnwrappedType<RT> | undefined>>;
|
|
36
|
-
groupBy(fwd: (entity: TEntity<T>) => TEntityValue<TQueryValue>[]): Queryable<D, T>;
|
|
37
|
-
having(predicate: (entity: TEntity<T>) => TEntityValueOrQueryableOrArray<D, any>[]): Queryable<D, T>;
|
|
38
|
-
join<A extends string, J, R>(joinTypeOrQrs: Type<J> | Queryable<D, J>[], as: A, fwd: (qr: Queryable<D, J>, en: TEntity<T>) => Queryable<D, R>): Queryable<D, T & {
|
|
39
|
-
[K in A]: R[];
|
|
40
|
-
}>;
|
|
41
|
-
joinSingle<A extends string, J, R>(joinTypeOrQrs: Type<J> | Queryable<D, J>[], as: A, fwd: (qr: Queryable<D, J>, en: TEntity<T>) => Queryable<D, R>): Queryable<D, T & {
|
|
42
|
-
[K in A]: Partial<R>;
|
|
43
|
-
}>;
|
|
44
|
-
includeByTableChainedName(tableChainedName: string): Queryable<D, T>;
|
|
45
|
-
include(arg: (entity: TIncludeEntity<T>) => (TIncludeEntity<any> | TIncludeEntity<any>[])): Queryable<D, T>;
|
|
46
|
-
private _include;
|
|
47
|
-
search(fwd: (entity: TEntity<T>) => TEntityValue<String | string | undefined>[], searchText: string): Queryable<D, T>;
|
|
48
|
-
searchEveryStringFields(searchText: string): Queryable<D, T>;
|
|
49
|
-
wrap(): Queryable<D, T>;
|
|
50
|
-
wrap<R extends Partial<T>>(tableType: Type<R>): Queryable<D, R>;
|
|
51
|
-
getSelectQueryDef(): ISelectQueryDef & {
|
|
52
|
-
select: Record<string, TQueryBuilderValue>;
|
|
53
|
-
};
|
|
54
|
-
private _getParentEntity;
|
|
55
|
-
getInsertQueryDef(obj: TInsertObject<T>, outputColumns: (keyof T)[] | undefined): IInsertQueryDef;
|
|
56
|
-
getUpdateQueryDef(obj: TUpdateObject<T>, outputColumns: (keyof T)[] | undefined): IUpdateQueryDef;
|
|
57
|
-
getInsertIfNotExistsQueryDef(insertObj: TInsertObject<T>, outputColumns: (keyof T)[] | undefined): IInsertIfNotExistsQueryDef;
|
|
58
|
-
getUpsertQueryDef<U extends TUpdateObject<T>>(updateObj: U, insertObj: TInsertObject<T> | undefined, outputColumns: (keyof T)[] | undefined): IUpsertQueryDef;
|
|
59
|
-
getDeleteQueryDef(outputColumns: (keyof T)[] | undefined): IDeleteQueryDef;
|
|
60
|
-
insertIntoAsync(tableType: Type<T>): Promise<void>;
|
|
61
|
-
resultAsync(): Promise<T[]>;
|
|
62
|
-
singleAsync(): Promise<T | undefined>;
|
|
63
|
-
countAsync(): Promise<number>;
|
|
64
|
-
existsAsync(): Promise<boolean>;
|
|
65
|
-
bulkInsertAsync(arg: TInsertObject<T> | (TInsertObject<T>[])): Promise<void>;
|
|
66
|
-
insertAsync(records: TInsertObject<T>[]): Promise<void>;
|
|
67
|
-
insertAsync<OK extends keyof T>(records: TInsertObject<T>[], outputColumns: OK[]): Promise<{
|
|
68
|
-
[K in OK]: T[K];
|
|
69
|
-
}[]>;
|
|
70
|
-
insertWithoutFkCheckAsync(records: TInsertObject<T>[]): Promise<void>;
|
|
71
|
-
insertWithoutFkCheckAsync<OK extends keyof T>(records: TInsertObject<T>[], outputColumns: OK[]): Promise<{
|
|
72
|
-
[K in OK]: T[K];
|
|
73
|
-
}[]>;
|
|
74
|
-
private _insertAsync;
|
|
75
|
-
insertPrepare(records: TInsertObject<T>[]): void;
|
|
76
|
-
insertWithoutFkCheckPrepare(records: TInsertObject<T>[]): void;
|
|
77
|
-
private _insertPrepare;
|
|
78
|
-
private _getInsertDefs;
|
|
79
|
-
updateAsync(recordFwd: (entity: TEntity<T>) => (TUpdateObject<T> | Promise<TUpdateObject<T>>)): Promise<void>;
|
|
80
|
-
updateAsync<OK extends keyof T>(recordFwd: (entity: TEntity<T>) => (TUpdateObject<T> | Promise<TUpdateObject<T>>), outputColumns: OK[]): Promise<{
|
|
81
|
-
[K in OK]: T[K];
|
|
82
|
-
}[]>;
|
|
83
|
-
updatePrepare(recordFwd: (entity: TEntity<T>) => TUpdateObject<T>): void;
|
|
84
|
-
private _getUpdateDefs;
|
|
85
|
-
deleteAsync(): Promise<void>;
|
|
86
|
-
deleteAsync<OK extends keyof T>(outputColumns: OK[]): Promise<{
|
|
87
|
-
[K in OK]: T[K];
|
|
88
|
-
}[]>;
|
|
89
|
-
deletePrepare(): void;
|
|
90
|
-
private _getDeleteDefs;
|
|
91
|
-
upsertAsync(insertFwd: (entity: TEntity<T>) => (TInsertObject<T> | Promise<TInsertObject<T>>)): Promise<void>;
|
|
92
|
-
upsertAsync<OK extends keyof T>(insertFwd: (entity: TEntity<T>) => (TInsertObject<T> | Promise<TInsertObject<T>>), outputColumns: OK[]): Promise<{
|
|
93
|
-
[K in OK]: T[K];
|
|
94
|
-
}[]>;
|
|
95
|
-
upsertAsync<U extends TUpdateObject<T>>(updateFwd: (entity: TEntity<T>) => (U | Promise<U>), insertFwd: (updateRecord: U) => (TInsertObject<T> | Promise<TInsertObject<T>>)): Promise<void>;
|
|
96
|
-
upsertAsync<U extends TUpdateObject<T>, OK extends keyof T>(updateFwd: (entity: TEntity<T>) => (U | Promise<U>), insertFwd: (updateRecord: U) => (TInsertObject<T> | Promise<TInsertObject<T>>), outputColumns: OK[]): Promise<{
|
|
97
|
-
[K in OK]: T[K];
|
|
98
|
-
}[]>;
|
|
99
|
-
upsertPrepare<U extends TUpdateObject<T>>(updateObjOrFwd: U | ((entity: TEntity<T>) => U), insertObjOrFwd?: TInsertObject<T> | ((updateRecord: U) => TInsertObject<T>)): void;
|
|
100
|
-
private _getUpsertDefs;
|
|
101
|
-
configIdentityInsert(state: "on" | "off"): void;
|
|
102
|
-
private _getParseOption;
|
|
103
|
-
private _setEntityChainValue;
|
|
104
|
-
private _getEntityChainValue;
|
|
105
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Queryable.js","sourceRoot":"","sources":["../../../../sd-orm-common/src/Queryable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAuB,MAAM,0BAA0B,CAAC;AAyB1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,OAAO,SAAS;IAYpB,IAAW,SAAS;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,eAAe,EAAE,CAAC;QAGhD,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IAID,IAAW,gBAAgB;QACzB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,eAAe,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACnC,CAAC;IAED,IAAW,YAAY;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,IAAI,eAAe,EAAE,CAAC;QAEhD,OAAO;YACL,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ;gBACxD,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM;aACnD;YACD,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;SACzB,CAAC;IACJ,CAAC;IAMD,YAAmC,EAAK,EAAE,IAAgC,EAAE,IAA0B,EAAE,IAAiB,EAAE,IAAoB;QAA5G,OAAE,GAAF,EAAE,CAAG;QAlCvB,oBAAe,GAAY,KAAK,CAAC;QAW3C,iBAAY,GAAG,KAAK,CAAC;QAwB1B,WAAW;QACX,IAAI,IAAI,YAAY,SAAS,EAAE;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;YACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5E,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC9C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAExC,IAAI,IAAI,KAAK,SAAS,EAAE;gBACtB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,IAAkB,EAAE;oBAClD,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,WAAwB,CAAC;iBAChD,CAAC,CAAC;gBACH,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC7B;SACF;QACD,QAAQ;aACH,IAAI,IAAI,KAAK,SAAS,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,IAAK,CAAC;YACvB,IAAI,CAAC,GAAG,GAAG,IAA0B,CAAC;YAEtC,wBAAwB;YACxB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9D,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;gBACnC,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,4BAA4B,CAAC,CAAC;aACtE;YACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAEzB,cAAc;YACd,IAAI,CAAC,OAAO,GAAG,EAAgB,CAAC;YAEhC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAChL;YAED,YAAY;YACZ,IAAI,CAAC,IAAI,GAAG;gBACV,IAAI,EAAE,IAAI,CAAC,SAAS;aACrB,CAAC;SACH;QACD,4BAA4B;aACvB;YACH,IAAI,CAAC,GAAG,GAAG,IAAc,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,IAAI,GAAG,IAAK,CAAC;YAElB,IAAI,IAAI,KAAK,SAAS,EAAE;gBACtB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBAEtB,wBAAwB;gBACxB,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC9D,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;oBACnC,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,4BAA4B,CAAC,CAAC;iBACtE;gBACD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;aAC1B;SACF;IACH,CAAC;IAEM,MAAM,CAAC,KAAK,CAA2B,GAAwB,EAAE,EAAW;QACjF,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,SAAS,CAAS,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;QAEtF,MAAM,YAAY,GAAG,CAAC,SAAc,EAAO,EAAE;YAC3C,MAAM,YAAY,GAAG,EAAE,CAAC;YACxB,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACjD,MAAM,cAAc,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;gBAC/C,IAAI,SAAS,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE;oBACpD,YAAY,CAAC,YAAY,CAAC,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;iBAChM;qBACI,IAAI,cAAc,YAAY,KAAK,EAAE;oBACxC,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAChE;qBACI;oBACH,YAAY,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC;iBAC3D;aACF;YAED,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC;QAEF,MAAM,MAAM,GAAgB,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE1D,cAAc;QACd;;;;;;;;;;;;;;WAcG;QAEH,iBAAiB;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAE1D,OAAO,IAAI,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAEM,IAAI;QACT,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IAIM,MAAM,CAAC,GAAgC;QAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACpC,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAW,EAAE,SAAS,CAAC,CAAC;IACxD,CAAC;IAEM,YAAY,CAAI,SAAkB;QACvC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,4BAA4B,CAAC,CAAC;SACjE;QAED,MAAM,SAAS,GAAG,EAAgB,CAAC;QACnC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE;YACrC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;SAClE;QAED,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAW,EAAE,SAAS,CAAQ,CAAC;IAC/D,CAAC;IAEM,MAAM;QACX,OAAO,IAAW,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,SAA2E;QACtF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3F,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,QAAQ;QACb,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC5B,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,GAAG,CAAC,KAAa;QACtB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC;QACxB,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,OAAO,CAAC,IAAkE,EAAE,IAAc;QAC/F,IAAI,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAE1C,IAAI,cAAc,CAAC;QACnB,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE;YAC9B,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACrC;aACI,iCAAiC,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE;gBAC1B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxB,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAEhC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE;oBAC7E,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,SAAS,EAAE;wBAC/D,MAAM,GAAG,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC,CAAC;qBAC/C;iBACF;aACF;YAED,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAClE;QACD;;;;;WAKG;QAEH,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,EAAE;YAC9D,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,UAAU,CAAC,CAAC;SACnD;QACD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,YAAY;QACjB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,IAAY,EAAE,IAAY;QACrC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACjC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,QAAgB;QAC5B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAA0C,QAAmD,EACnD,WAA0D,EAC1D,UAAa,EACb,QAAqD,EACrD,SAAc;QAClE,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAE3C,MAAM,MAAM,GAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACxC,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE;YACnC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;gBAChC,IAAI,WAAW,YAAY,SAAS,EAAE;oBACpC,wFAAwF;oBACxF,MAAM,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,IAAI,SAAS,CAAI,WAAW,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,OAAO,QAAQ,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;iBAClO;qBACI;oBACH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;iBACxB;aACF;SACF;aACI;YACH,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;gBAChC,IAAI,WAAW,YAAY,SAAS,EAAE;oBACpC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,SAAS,CAAI,WAAW,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;iBAChK;qBACI;oBACH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;iBACxB;aACF;SACF;QAED,IAAI,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAW,EAAE,MAAM,CAAC,CAAC;QAEzD,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE;YACnC,MAAM,GAAG,MAAM;iBACZ,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAChB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;iBACjB,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAClB,CAAE,SAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC;mBAC9B,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC;mBACjC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CACrC,CAAC;iBACD,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CACrB,CAAC,CAAC;SACN;aACI;YACH,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG;gBAClB,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;gBAC/D,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC;gBAClD,SAAS;aACV,CAAC;SACH;QAED,OAAO,MAAa,CAAC;IACvB,CAAC;IAEM,OAAO,CAA+D,WAAe,EACf,WAAe,EACf,SAAmB,EACnB,UAAoB;QAC/F,MAAM,MAAM,GAAQ,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAExC,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC;SAC9B;aACI;YACH,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,SAAS,EAAE;gBAC7C,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,SAAS,CAAM,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAChL,MAAM,CAAC,WAAW,CAAC,GAAG,IAAI,SAAS,CAAM,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAE7J,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;oBAChC,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;iBACzB;aACF;iBACI;gBACH,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;aACxB;SACF;QAED,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAW,EAAE,MAAM,CAAC,CAAC;QAE3D,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG;YACpB,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;YACzC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;YACzC,SAAS;SACV,CAAC;QACF,OAAO,MAAa,CAAC;IACvB,CAAC;IAEM,OAAO,CAAC,GAAwD;QACrE,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;aAClF,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QACrC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,SAA2E;QACvF,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAChG,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,IAAI,CAAyB,aAA0C,EAAE,EAAK,EAAE,GAA6D;QAClJ,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEjE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,EAAE;YAChF,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAQ,CAAC;SAC5C;QAED,IAAI,kBAAmC,CAAC;QACxC,IAAI,aAAa,YAAY,KAAK,EAAE;YAClC,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;SAC7D;aACI;YACH,kBAAkB,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;SACpE;QACD,MAAM,aAAa,GAAG,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAEnF,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAoC,CAAC;QACrE,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,IAAI,CAAC,EAAE,EACP,IAAW,EACX,MAAM,CACP,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,GAAG,aAAa,CAAC,iBAAiB,EAAE;YACpC,cAAc,EAAE,aAAa,CAAC,eAAe;YAC7C,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAEzB,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,UAAU,CAAyB,aAA0C,EAAE,EAAK,EAAE,GAA6D;QACxJ,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAEjE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,MAAM,EAAE,CAAC,CAAC,EAAE;YAChF,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAQ,CAAC;SAC5C;QAED,IAAI,kBAAmC,CAAC;QACxC,IAAI,aAAa,YAAY,KAAK,EAAE;YAClC,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;SAC7D;aACI;YACH,kBAAkB,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;SACpE;QACD,MAAM,aAAa,GAAG,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAEnF,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAA2C,CAAC;QAC5E,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;QAElD,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,IAAI,CAAC,EAAE,EACP,IAAW,EACX,MAAM,CACP,CAAC;QAEF,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACpB,GAAG,aAAa,CAAC,iBAAiB,EAAE;YACpC,cAAc,EAAE,aAAa,CAAC,eAAe;YAC7C,QAAQ,EAAE,IAAI;SACf,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,aAAa,CAAC,YAAY,CAAC;QAEpE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,yBAAyB,CAAC,gBAAwB;QACvD,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACzC,CAAC;IAEM,OAAO,CAAC,GAAiF;QAC9F,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,gBAAgB,GAAG,MAAM,CAAC,aAAa;aAC1C,OAAO,CAAC,IAAI,MAAM,CAAC,GAAG,aAAa,KAAK,CAAC,EAAE,EAAE,CAAC;aAC9C,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;aACpB,IAAI,EAAE,CAAC;QAEV,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IACzC,CAAC;IAEO,QAAQ,CAAC,gBAAwB;QACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAC3D;QAED,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE1C,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC7B,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE;YAC1B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,MAAM,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAEhC,aAAa;YACb,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC;YACzJ,MAAM,MAAM,GAAG,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC;YACtK,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE,wDAAwD,CAAC,CAAC;aAClG;YAED,KAAK;YACL,IAAI,KAAK,EAAE;gBACT,qBAAqB;gBACrB,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC;gBAC3C,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACpE,IAAI,KAAK,CAAC,kBAAkB,CAAC,MAAM,KAAK,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,MAAM,EAAE;oBACvH,MAAM,IAAI,KAAK,CAAC,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE,cAAc,gBAAgB,CAAC,IAAI,qBAAqB,CAAC,CAAC;iBAClG;gBAED,WAAW;gBACX,MAAM,GAAG,MAAM,CAAC,UAAU,CACxB,YAAY,EACZ,EAAE,EACF,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBAErD,MAAM,UAAU,GAAyB,EAAE,CAAC;oBAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACxD,MAAM,iBAAiB,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;wBAEtD,IAAI,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;4BACrC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BACvD,UAAU,CAAC,IAAI,CACb,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAAC,CACtG,CAAC;yBACH;6BACI;4BACH,UAAU,CAAC,IAAI,CAAC,GAAG;gCACjB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;gCAC/C,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;6BAC3F,CAAC,CAAC;yBACJ;qBACF;oBACD,OAAO,UAAU,CAAC;gBACpB,CAAC,CAAC,CACI,CAAC;gBAET,QAAQ,GAAG,gBAAgB,CAAC;aAC7B;YACD,MAAM;iBACD,IAAI,MAAM,EAAE;gBACf,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;gBAC7C,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;gBACtE,MAAM,cAAc,GAAG,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,oBAAoB,CAAC;uBAClH,iBAAiB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBACxG,IAAI,CAAC,cAAc,EAAE;oBACnB,MAAM,IAAI,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,IAAI,MAAM,CAAC,oBAAoB,iCAAiC,CAAC,CAAC;iBAC7G;gBAED,IAAI,cAAc,CAAC,kBAAkB,CAAC,MAAM,KAAK,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,MAAM,EAAE;oBACxH,MAAM,IAAI,KAAK,CAAC,IAAI,iBAAiB,CAAC,IAAI,IAAI,MAAM,CAAC,oBAAoB,cAAc,QAAQ,CAAC,IAAI,qBAAqB,CAAC,CAAC;iBAC5H;gBAED,UAAU;gBACV,MAAM,GAAG,MAAM,CAAC,IAAI,CAClB,aAAa,EACb,EAAE,EACF,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE;oBAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;oBAErD,MAAM,UAAU,GAAyB,EAAE,CAAC;oBAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBACjE,MAAM,iBAAiB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;wBAE/D,IAAI,iBAAiB,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;4BACrC,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;4BACvD,UAAU,CAAC,IAAI,CACb,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,mBAAmB,CAAC,CAChG,CAAC;yBACH;6BACI;4BACH,UAAU,CAAC,IAAI,CAAC,GAAG;gCACjB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gCAC7D,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;6BACnF,CAAC,CAAC;yBACJ;qBACF;oBACD,OAAO,UAAU,CAAC;gBACpB,CAAC,CAAC,CACI,CAAC;gBAET,QAAQ,GAAG,iBAAiB,CAAC;aAC9B;SACF;QAED,OAAO,MAAyB,CAAC;IACnC,CAAC;IAEM,MAAM,CAAC,GAAwE,EAAE,UAAkB;QACxG,IAAI,MAAM,GAAoB,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAE3D,MAAM,eAAe,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC;aACjD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnC,QAAQ;QACR,MAAM,WAAW,GACb,MAAM,CAAC,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;QAE/E,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YAC/B,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpC,MAAM,UAAU,GAAyB,EAAE,CAAC;gBAE5C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;oBAC1B,MAAM,uBAAuB,GAAyB,EAAE,CAAC;oBACzD,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE;wBAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BACtB,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;yBACtI;6BACI;4BACH,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;yBACtH;qBACF;oBACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;iBAC1D;gBAED,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;SACJ;aACI;YACH,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;gBACpC,MAAM,UAAU,GAAyB,EAAE,CAAC;gBAE5C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;gBACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;oBAC1B,MAAM,uBAAuB,GAAyB,EAAE,CAAC;oBACzD,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE;wBAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BACtB,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;yBACtH;6BACI;4BACH,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;yBACtG;qBACF;oBACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC;iBAC1D;gBAED,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,uBAAuB,CAAC,UAAkB;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE;YACxB,MAAM,MAAM,GAAgD,EAAE,CAAC;YAE/D,MAAM,YAAY,GAAG,CAAC,MAAoB,EAAQ,EAAE;gBAClD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;oBACrC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;oBAChC,IAAI,SAAS,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE;wBACjD,MAAM,eAAe,GAAG,SAAS,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;wBACjE,IAAI,eAAe,KAAK,MAAM,EAAE;4BAC9B,MAAM,CAAC,IAAI,CAAC,WAAwD,CAAC,CAAC;yBACvE;qBACF;yBACI,IAAI,WAAW,YAAY,KAAK,EAAE;wBACrC,KAAK,MAAM,eAAe,IAAI,WAAW,EAAE;4BACzC,YAAY,CAAC,eAAe,CAAC,CAAC;yBAC/B;qBACF;yBACI,IAAI,CAAC,CAAC,WAAW,YAAY,SAAS,CAAC,EAAE;wBAC5C,YAAY,CAAC,WAAW,CAAC,CAAC;qBAC3B;iBACF;YACH,CAAC,CAAC;YAEF,YAAY,CAAC,EAAE,CAAC,CAAC;YAEjB,OAAO,MAAM,CAAC;QAChB,CAAC,EAAE,UAAU,CAAC,CAAC;IACjB,CAAC;IAIM,IAAI,CAAC,SAAe;QACzB,IAAI,KAAsB,CAAC;QAE3B,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,MAAM,WAAW,GAAQ,EAAE,CAAC;YAC5B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACtC,IAAI,SAAS,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE;oBACjD,WAAW,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;iBAChC;aACF;YACD,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAW,EAAE,WAAW,CAAC,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SAC5B;aACI;YACH,KAAK,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;SACtC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1C,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,aAAa,EAAE;YAC5E,IAAI,OAAO,CAAC,OAAO,EAAE;gBACnB,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE;oBACxC,GAAG,EAAE,CAAC;oBACN,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;iBAClD;aACF;SACF;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAE7E,MAAM,MAAM,GAAG,IAAI,SAAS,CAAS,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAElG,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,aAAa,EAAE;YAC5E,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjD,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;gBACzB,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,OAAO,EAAE;oBACxC,GAAG,EAAE,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,GAAG,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBAC7D;gBAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;oBAClB,OAAO,OAAO,CAAC,OAAO,CAAC;iBACxB;aACF;SACF;QAED,OAAO,MAAM,CAAC;IAEhB,CAAC;IAEM,iBAAiB;QACtB,MAAM,MAAM,GAAqE,EAAS,CAAC;QAE3F,UAAU;QACV,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAE7B,QAAQ;QACR,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAElF,eAAe;QACf,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;QAEnB,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,KAAqD,EAAQ,EAAE;YAClG,IAAI,SAAS,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE;gBAC3C,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,WAAW;oBAAE,MAAM,IAAI,eAAe,EAAE,CAAC;gBACtE,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC5E;iBACI,IAAI,KAAK,YAAY,KAAK,EAAE;gBAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,EAAE;oBAChE,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;iBACpG;qBACI;oBACH,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE;wBACpD,cAAc,CAAC,GAAG,GAAG,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;qBACtD;iBACF;aACF;iBACI;gBACH,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE;oBACjD,cAAc,CAAC,GAAG,GAAG,IAAI,MAAM,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;iBACnD;aACF;QACH,CAAC,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3D,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;SACpD;QAED,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACrC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QAC3B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QACjC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC7B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;QAEjC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAClB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,mBAAmB;gBACnB,OAAO,IAAI,CAAC,QAAQ,CAAC;aACtB;YACD,MAAM,CAAC,IAAI,GAAG,KAAK,CAAC;SACrB;QAGD,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YAC5E,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;SAC/D;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACrI,MAAM,IAAI,KAAK,CAAC,qHAAqH,CAAC,CAAC;SACxI;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC,EAAE;YAC5E,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QAED,OAAO,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEO,gBAAgB,CAAI,UAAsB,EAAE,MAA0B,EAAE,QAA4B;QAC1G,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACzC,MAAM,WAAW,GAAQ,UAAU,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,SAAS,CAAC,sBAAsB,CAAC,WAAW,CAAC,EAAE;gBACjD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;aAC1N;iBACI,IAAI,WAAW,YAAY,KAAK,EAAE;gBACrC,MAAM,CAAC,GAAG,CAAC,GAAG;oBACZ,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;iBAC7F,CAAC;aACV;iBACI;gBACH,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;aAChH;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,iBAAiB,CAAC,GAAqB,EAAE,aAAsC;QACpF,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QAED,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QAED,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAClC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SACnE;QAED,OAAO,UAAU,CAAC,cAAc,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,MAAM,EAAG,aAAsC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrF,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAEM,iBAAiB,CAAC,GAAqB,EAAE,aAAsC;QACpF,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QAED,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QAED,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAClC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SACnE;QAED,IAAI,QAAqC,CAAC;QAC1C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAClB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,OAAQ,IAAY,CAAC,QAAQ,CAAC;aAC/B;YACD,QAAQ,GAAG,KAAK,CAAC;SAClB;QAED,OAAO,UAAU,CAAC,cAAc,CAAC;YAC/B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;YAClB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,MAAM;YACN,MAAM,EAAG,aAAsC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrF,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACzE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;SACvB,CAAC,CAAC;IACL,CAAC;IAEM,4BAA4B,CAAC,SAA2B,EAAE,aAAsC;QACrG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACjE;QAED,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;SACjE;QAED,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACrE;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAChE;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACrE;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SAClE;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;SACrE;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;SACnE;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/D,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;SAClE;QAED,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACxC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;SACpF;QAED,OAAO,UAAU,CAAC,cAAc,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACzE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACtB,YAAY;YACZ,MAAM,EAAG,aAAsC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtF,CAAC,CAAC;IACL,CAAC;IAEM,iBAAiB,CAA6B,SAAY,EAAE,SAAuC,EAAE,aAAsC;QAChJ,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YAChC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QAED,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QAED,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;YAC/B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/D,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QAED,mHAAmH;QACnH,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACxC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;SACpF;QAGD,iHAAiH;QACjH,IAAI,YAAY,GAAG,EAAE,CAAC;QACtB,IAAI,SAAS,EAAE;YACb,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBACxC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;aACpF;SACF;aACI;YACH,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;SAC/C;QAED,OAAO,UAAU,CAAC,cAAc,CAAC;YAC/B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACzE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;YACtB,YAAY;YACZ,YAAY;YACZ,MAAM,EAAG,aAAsC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACtF,CAAC,CAAC;IACL,CAAC;IAEM,iBAAiB,CAAC,aAAsC;QAC7D,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YACtC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;SACnD;QAED,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YACpC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;SACpD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;SACrD;QAED,IAAI,QAAqC,CAAC;QAC1C,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YAClB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,OAAQ,IAAY,CAAC,QAAQ,CAAC;aAC/B;YACD,QAAQ,GAAG,KAAK,CAAC;SAClB;QAED,OAAO,UAAU,CAAC,cAAc,CAAC;YAC/B,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG;YAClB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;YACpB,MAAM,EAAG,aAAsC,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrF,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACzE,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;SACvB,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,SAAkB;QAC7C,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAErC,MAAM,cAAc,GAAG,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,OAAO,cAAc,KAAK,WAAW,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,IAAI,SAAS,CAAC,IAAI,4BAA4B,CAAC,CAAC;SACjE;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC;YAC9C,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzC,QAAQ,EAAE,cAAc,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ;gBACzD,MAAM,EAAE,cAAc,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM;aACpD;YACD,IAAI,EAAE,cAAc,CAAC,IAAI;SAC1B,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC;gBAC9B,IAAI,EAAE,YAAY;gBAClB,GAAG,GAAG;gBACN,MAAM,EAAE,eAAe;aACxB,CAAC,CAAC,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAErC,gDAAgD;QAChD,EAAE;QACF,6CAA6C;QAC7C,UAAU;QACV,mGAAmG;QACnG,+DAA+D;QAC/D,EAAE;QACF,wCAAwC;QACxC,8CAA8C;QAC9C,gDAAgD;QAChD,0CAA0C;QAC1C,EAAE;QACF,gCAAgC;QAChC,MAAM;QACN,kBAAkB;QAClB,6CAA6C;QAC7C,0BAA0B;QAC1B,MAAM;QACN,IAAI;QACJ,kDAAkD;QAElD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAEhH,qCAAqC;QACrC,4CAA4C;QAC5C,sCAAsC;QACtC,8EAA8E;QAE9E,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;SACpC;QAED,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,UAAU;QACrB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,wCAAwC;kBACpD,iDAAiD;kBACjD,6CAA6C,CAAC,CAAC;SACpD;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA,YAAY;QAC9F,OAAO,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;QAC9B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,WAAW,EAAE,CAAC;QAE3C,OAAO,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAQ,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,WAAW;QACtB,8CAA8C;QAC9C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACpC,OAAO,GAAG,GAAG,CAAC,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,GAA4C;QACvE,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAEnD,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QACD,iCAAiC;QAEjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACrD,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YACxD,aAAa,EAAE,GAAG,CAAC,aAAa;YAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ;SACvB,CAAC,CAAC,CAAC;QAEJ,MAAM,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC7E,MAAM,MAAM,GAAG,EAAE,CAAC;YAClB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACnC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;aAC7D;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAIM,KAAK,CAAC,WAAW,CAAqB,OAA2B,EAAE,aAAoB;QAC5F,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAChE,CAAC;IAIM,KAAK,CAAC,yBAAyB,CAAqB,OAA2B,EAAE,aAAoB;QAC1G,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IAC/D,CAAC;IAEO,KAAK,CAAC,YAAY,CAAqB,QAAiB,EAAE,OAA2B,EAAE,aAA+B;QAC5H,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAE1E,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QACpF,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpF,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,CACpC,IAAI,EACJ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAC1E,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAEM,aAAa,CAAC,OAA2B;QAC9C,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAEM,2BAA2B,CAAC,OAA2B;QAC5D,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAEO,cAAc,CAAC,QAAiB,EAAE,OAA2B;QACnE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEjC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QACnE,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,cAAc,CAAqB,QAAiB,EAAE,OAA2B,EAAE,aAA+B;QACxH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC3B;QACD,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QACD,iCAAiC;QAEjC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClH,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvG,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,IAAI,GAAgB,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAC/D,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,QAAiB;gBACvB,GAAG,QAAQ;aACZ,CAAC,CAAC;YAEH,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,aAAa,EAAE;gBACpD,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAiB,CAAC,CAAC,CAAC;gBAE3I,IACE,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;uBAC/C,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;uBAC/B,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAC/C;oBACA,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;oBAChC,IAAI,CAAC,IAAI,CAAC;wBACR,IAAI,EAAE,QAAiB;wBACvB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;wBACpB,MAAM,EAAE,SAAS;wBACjB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;qBACjE,CAAC,CAAC;iBACJ;qBACI;oBACH,IAAI,CAAC,IAAI,CAAC;wBACR,IAAI,EAAE,QAAiB;wBACvB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;wBACpB,MAAM,EAAE,SAAS;wBACjB,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;qBACzH,CAAC,CAAC;iBACJ;gBACD,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/B;iBACI,IAAI,aAAa,EAAE;gBACtB,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACrB;SACF;QAED,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;gBACb,IAAI,EAAE,uBAAuB;gBAC7B,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3C,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;aAClB;YAED,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,uBAAuB;gBAC7B,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,aAAa,EAAE;YAC5E,MAAM,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChH,IAAI,eAAe,EAAE;gBACnB,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;oBACb,IAAI,EAAE,sBAA+B;oBACrC,GAAG;wBACD,KAAK,EAAE,IAAI,CAAC,YAAY;wBACxB,KAAK,EAAE,IAAa;qBACrB;iBACF,CAAC,CAAC;gBACH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;oBAC3C,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;iBAClB;gBAED,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,sBAA+B;oBACrC,GAAG;wBACD,KAAK,EAAE,IAAI,CAAC,YAAY;wBACxB,KAAK,EAAE,KAAc;qBACtB;iBACF,CAAC,CAAC;aACJ;SACF;QAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC/B,CAAC;IAIM,KAAK,CAAC,WAAW,CAAqB,SAAiF,EAAE,aAAoB;QAClJ,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QACvE,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpF,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,CACpC,IAAI,EACJ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAClE,CAAC,CAAC,SAAS,CAAC,CAAC;IAChB,CAAC;IAEM,aAAa,CAAC,SAAmD;QACtE,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,cAAc,CAAqB,MAAwB,EAAE,aAA+B;QAClG,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,iCAAiC;QAEjC,IAAI,SAAiB,CAAC;QACtB,MAAM,IAAI,GAAgB,EAAE,CAAC;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,QAAiB;YACvB,GAAG,QAAQ;SACZ,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,aAAa,EAAE;YACpD,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAiB,CAAC,CAAC,CAAC;YAC3I,IAAI,CAAC,IAAI,CAAC;gBACR,IAAI,EAAE,QAAiB;gBACvB,GAAG,IAAI,CAAC,iBAAiB,EAAE;gBAC3B,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YACH,SAAS,GAAG,CAAC,CAAC;SACf;aACI;YACH,SAAS,GAAG,CAAC,CAAC;SACf;QAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IAIM,KAAK,CAAC,WAAW,CAAqB,aAAoB;QAC/D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpF,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,CACpC,IAAI,EACJ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAClE,CAAC,CAAC,SAAS,CAAC,CAAC;IAChB,CAAC;IAEM,aAAa;QAClB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,cAAc,CAAqB,aAA+B;QACxE,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,iCAAiC;QAEjC,MAAM,IAAI,GAAgB,EAAE,CAAC;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,QAAiB;YACvB,GAAG,QAAQ;SACZ,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,aAAa,EAAE;YACpD,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAiB,CAAC,CAAC,CAAC;YAC3I,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;gBACb,IAAI,EAAE,QAAiB;gBACvB,GAAG,IAAI,CAAC,iBAAiB,EAAE;gBAC3B,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;SACJ;QAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAChC,CAAC;IAkBM,KAAK,CAAC,WAAW,CACtB,IAA2H,EAC3H,IAAmF,EACnF,IAAW;QAEX,MAAM,SAAS,GAAG,IAAI,CAAC;QACvB,MAAM,SAAS,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,aAAa,GAAG,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAE1D,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,OAAO,CAAM,CAAC;QACxD,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAqB,CAAC;QAEtH,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QAC3F,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpF,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAC5C,IAAI,EACJ,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAClE,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAEM,aAAa,CAA6B,cAA+C,EAAE,cAA2E;QAC3K,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;QAC5G,MAAM,YAAY,GAAG,CACnB,cAAc;YACZ,CAAC,CAAC,CAAC,OAAO,cAAc,KAAK,UAAU,CAAC,CAAC,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;YACxF,CAAC,CAAC,YAAY,CACG,CAAC;QAEtB,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;QAC5E,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,cAAc,CAAqB,YAA8B,EAAE,YAA8B,EAAE,aAA+B;QACxI,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACxD;QACD,iCAAiC;QAEjC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClH,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvG,IAAI,SAAiB,CAAC;QACtB,MAAM,IAAI,GAAgB,EAAE,CAAC;QAE7B,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;QACnF,IAAI,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,QAAiB;YACvB,GAAG,QAAQ;SACZ,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,IAAI,aAAa,EAAE;YACpD,MAAM,SAAS,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAiB,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAiB,CAAC,CAAC,CAAC;YAE3I,IACE,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;mBAC/C,UAAU,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC;mBAC/B,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EACrD;gBACA,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,QAAiB;oBACvB,GAAG,IAAI,CAAC,iBAAiB,EAAE;oBAC3B,MAAM,EAAE,SAAS;oBACjB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,CAAC;iBACjE,CAAC,CAAC;aACJ;iBACI;gBACH,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,QAAiB;oBACvB,GAAG,IAAI,CAAC,iBAAiB,EAAE;oBAC3B,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;aACJ;YACD,SAAS,GAAG,CAAC,CAAC;SACf;aACI;YACH,SAAS,GAAG,CAAC,CAAC;SACf;QAED,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,KAAK,OAAO,EAAE;YACnC,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5F,IAAI,eAAe,EAAE;gBACnB,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;oBACb,IAAI,EAAE,sBAA+B;oBACrC,GAAG;wBACD,KAAK,EAAE,IAAI,CAAC,YAAY;wBACxB,KAAK,EAAE,IAAa;qBACrB;iBACF,CAAC,CAAC;gBACH,SAAS,EAAE,CAAC;gBAEZ,IAAI,CAAC,IAAI,CAAC;oBACR,IAAI,EAAE,sBAA+B;oBACrC,GAAG;wBACD,KAAK,EAAE,IAAI,CAAC,YAAY;wBACxB,KAAK,EAAE,KAAc;qBACtB;iBACF,CAAC,CAAC;aACJ;SACF;QAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8DG;IAEI,oBAAoB,CAAC,KAAmB;QAC7C,IAAI,OAAO,IAAI,CAAC,EAAE,KAAK,WAAW,EAAE;YAClC,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;SACzD;QAED,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;SAC1D;QAED,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG;YAC1B;gBACE,IAAI,EAAE,sBAA+B;gBACrC,KAAK,EAAE,IAAI,CAAC,YAAY;gBACxB,KAAK;aACN;SACF,CAAC,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,OAAgC;QACtD,MAAM,MAAM,GAA4B;YACtC,OAAO,EAAE,EAAE;YACX,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,MAAM,aAAa,GAAG,CAAC,MAAoB,EAAE,UAAoB,EAAQ,EAAE;YACzE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,EAAE;gBAChE,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrC,IAAI,OAAO,IAAI,CAAE,OAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAAE,SAAS;gBAElE,IAAI;oBACF,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,WAAW,IAAI,SAAS,CAAC,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;wBACvF,MAAM,CAAC,OAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;qBACzF;yBACI,IAAI,MAAM,CAAC,GAAG,CAAC,YAAY,KAAK,EAAE;wBACrC,MAAM,CAAC,KAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;wBAC7C,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;qBAC3C;yBACI;wBACH,MAAM,CAAC,KAAM,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;wBAC5C,aAAa,CAAC,MAAM,CAAC,GAAG,CAAiB,EAAE,UAAU,CAAC,CAAC;qBACxD;iBACF;gBACD,OAAO,GAAG,EAAE;oBACV,IAAI,GAAG,YAAY,KAAK,EAAE;wBACxB,GAAG,CAAC,OAAO,IAAI,UAAU,GAAG,GAAG,CAAC;wBAChC,MAAM,GAAG,CAAC;qBACX;yBACI;wBACH,MAAM,GAAG,CAAC;qBACX;iBACF;aACF;QACH,CAAC,CAAC;QACF,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEhC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,oBAAoB,CAAC,GAAQ,EAAE,KAAa,EAAE,KAAU;QAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,IAAI,GAAG,GAAG,CAAC;QACf,KAAK,MAAM,SAAS,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;YAC1C,IAAI,IAAI,CAAC,SAAS,CAAC,YAAY,KAAK,EAAE;gBACpC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B;iBACI;gBACH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;aACxB;SACF;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,MAAM,IAAI,eAAe,EAAE,CAAC;SAC7B;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACrB,CAAC;IAEO,oBAAoB,CAAC,GAAQ,EAAE,KAAa,EAAE,QAAkB;QACtE,IAAI,KAAK,KAAK,EAAE;YAAE,OAAO,GAAG,CAAC;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,MAAM,GAAG,GAAG,CAAC;QACjB,KAAK,MAAM,SAAS,IAAI,KAAK,EAAE;YAC7B,IAAI,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE;gBACpC,MAAM,GAAG,SAAS,CAAC;aACpB;iBACI;gBACH,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;aAC5B;YACD,IAAI,MAAM,YAAY,KAAK,EAAE;gBAC3B,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;aACpB;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
|