@memberjunction/sqlserver-dataprovider 1.3.3 → 1.4.1
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.
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
* In practice - this FILE will NOT exist in the entities library, we need to move to its own separate project
|
|
4
4
|
* so it is only included by the consumer of the entities library if they want to use it.
|
|
5
5
|
**************************************************************************************************************/
|
|
6
|
-
import { BaseEntity, IEntityDataProvider, IMetadataProvider, IRunViewProvider, ProviderConfigDataBase, RunViewResult, EntityInfo, EntityFieldInfo, ApplicationInfo, RunViewParams, ProviderBase, ProviderType, UserInfo, RoleInfo, RecordChange, UserRoleInfo, ILocalStorageProvider, RowLevelSecurityFilterInfo, AuditLogTypeInfo, AuthorizationInfo, TransactionGroupBase, EntitySaveOptions, RunReportParams, DatasetItemFilterType, DatasetResultType, DatasetStatusResultType, EntityRecordNameInput, EntityRecordNameResult, IRunReportProvider, RunReportResult, RecordDependency, RecordMergeRequest, RecordMergeResult, EntityDependency, IRunQueryProvider, RunQueryResult, PotentialDuplicateRequest, PotentialDuplicateResponse, CompositeKey } from "@memberjunction/core";
|
|
7
|
-
import { AuditLogEntity, RecordMergeLogEntity, UserViewEntityExtended } from '@memberjunction/core-entities';
|
|
6
|
+
import { BaseEntity, IEntityDataProvider, IMetadataProvider, IRunViewProvider, ProviderConfigDataBase, RunViewResult, EntityInfo, EntityFieldInfo, ApplicationInfo, RunViewParams, ProviderBase, ProviderType, UserInfo, RoleInfo, RecordChange, UserRoleInfo, ILocalStorageProvider, RowLevelSecurityFilterInfo, AuditLogTypeInfo, AuthorizationInfo, TransactionGroupBase, EntitySaveOptions, RunReportParams, DatasetItemFilterType, DatasetResultType, DatasetStatusResultType, EntityRecordNameInput, EntityRecordNameResult, IRunReportProvider, RunReportResult, RecordDependency, RecordMergeRequest, RecordMergeResult, EntityDependency, IRunQueryProvider, RunQueryResult, PotentialDuplicateRequest, PotentialDuplicateResponse, CompositeKey, EntityDeleteOptions } from "@memberjunction/core";
|
|
7
|
+
import { AuditLogEntity, EntityAIActionEntity, RecordMergeLogEntity, UserViewEntityExtended } from '@memberjunction/core-entities';
|
|
8
8
|
import { RunQueryParams } from "@memberjunction/core/dist/generic/runQuery";
|
|
9
|
+
import { ActionResult } from "@memberjunction/actions";
|
|
9
10
|
export declare class SQLServerProviderConfigData extends ProviderConfigDataBase {
|
|
10
11
|
get DataSource(): any;
|
|
11
12
|
get CurrentUserEmail(): string;
|
|
@@ -35,7 +36,7 @@ export declare class SQLServerDataProvider extends ProviderBase implements IEnti
|
|
|
35
36
|
/**************************************************************************/
|
|
36
37
|
/**************************************************************************/
|
|
37
38
|
/**************************************************************************/
|
|
38
|
-
RunView(params: RunViewParams, contextUser?: UserInfo): Promise<RunViewResult
|
|
39
|
+
RunView<T = any>(params: RunViewParams, contextUser?: UserInfo): Promise<RunViewResult<T>>;
|
|
39
40
|
protected validateUserProvidedSQLClause(clause: string): boolean;
|
|
40
41
|
protected getRunTimeViewFieldString(params: RunViewParams, viewEntity: UserViewEntityExtended): string;
|
|
41
42
|
protected getRunTimeViewFieldArray(params: RunViewParams, viewEntity: UserViewEntityExtended): EntityFieldInfo[];
|
|
@@ -70,8 +71,18 @@ export declare class SQLServerDataProvider extends ProviderBase implements IEnti
|
|
|
70
71
|
protected StartMergeLogging(request: RecordMergeRequest, result: RecordMergeResult, contextUser: UserInfo): Promise<RecordMergeLogEntity>;
|
|
71
72
|
protected CompleteMergeLogging(recordMergeLog: RecordMergeLogEntity, result: RecordMergeResult, contextUser?: UserInfo): Promise<void>;
|
|
72
73
|
protected GetSaveSQL(entity: BaseEntity, bNewRecord: boolean, spName: string, user: UserInfo): string;
|
|
73
|
-
protected GetEntityAIActions(entityInfo: EntityInfo, before: boolean):
|
|
74
|
-
protected
|
|
74
|
+
protected GetEntityAIActions(entityInfo: EntityInfo, before: boolean): EntityAIActionEntity[];
|
|
75
|
+
protected HandleEntityActions(entity: BaseEntity, baseType: 'save' | 'delete' | 'validate', before: boolean, user: UserInfo): Promise<ActionResult[]>;
|
|
76
|
+
/**
|
|
77
|
+
* Handles Entity AI Actions. Parameters are setup for a future support of delete actions, but currently that isn't supported so the baseType parameter
|
|
78
|
+
* isn't fully functional. If you pass in delete, the function will just exit for now, and in the future calling code will start working when we support
|
|
79
|
+
* Delete as a trigger event for Entity AI Actions...
|
|
80
|
+
* @param entity
|
|
81
|
+
* @param baseType
|
|
82
|
+
* @param before
|
|
83
|
+
* @param user
|
|
84
|
+
*/
|
|
85
|
+
protected HandleEntityAIActions(entity: BaseEntity, baseType: 'save' | 'delete', before: boolean, user: UserInfo): Promise<void>;
|
|
75
86
|
Save(entity: BaseEntity, user: UserInfo, options: EntitySaveOptions): Promise<{}>;
|
|
76
87
|
private getAllEntityColumnsSQL;
|
|
77
88
|
private generateSPParams;
|
|
@@ -85,7 +96,7 @@ export declare class SQLServerDataProvider extends ProviderBase implements IEnti
|
|
|
85
96
|
protected DiffObjects(oldData: any, newData: any, entityInfo: EntityInfo, quoteToEscape: string): any;
|
|
86
97
|
Load(entity: BaseEntity, CompositeKey: CompositeKey, EntityRelationshipsToLoad: string[], user: UserInfo): Promise<{}>;
|
|
87
98
|
protected GetDeleteSQL(entity: BaseEntity, user: UserInfo): string;
|
|
88
|
-
Delete(entity: BaseEntity, user: UserInfo): Promise<boolean>;
|
|
99
|
+
Delete(entity: BaseEntity, options: EntityDeleteOptions, user: UserInfo): Promise<boolean>;
|
|
89
100
|
/**************************************************************************/
|
|
90
101
|
/**************************************************************************/
|
|
91
102
|
/**************************************************************************/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLServerDataProvider.d.ts","sourceRoot":"","sources":["../src/SQLServerDataProvider.ts"],"names":[],"mappings":"AAAC;;;;+GAI8G;AAE/G,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,aAAa,EAC3G,UAAU,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAC3B,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,0BAA0B,EAC7J,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAyC,iBAAiB,EAAY,eAAe,EAC9I,qBAAqB,EAAE,iBAAiB,EAAqC,uBAAuB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,eAAe,EACxK,gBAAgB,EAAE,kBAAkB,EAAE,iBAAiB,EAA2B,gBAAgB,EAAgB,iBAAiB,EAAE,cAAc,EAAE,yBAAyB,EAAE,0BAA0B,EAC1N,YAAY,
|
|
1
|
+
{"version":3,"file":"SQLServerDataProvider.d.ts","sourceRoot":"","sources":["../src/SQLServerDataProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ const aiengine_1 = require("@memberjunction/aiengine");
|
|
|
12
12
|
const queue_1 = require("@memberjunction/queue");
|
|
13
13
|
const SQLServerTransactionGroup_1 = require("./SQLServerTransactionGroup");
|
|
14
14
|
const UserCache_1 = require("./UserCache");
|
|
15
|
+
const actions_1 = require("@memberjunction/actions");
|
|
15
16
|
class SQLServerProviderConfigData extends core_1.ProviderConfigDataBase {
|
|
16
17
|
get DataSource() { return this.Data.DataSource; }
|
|
17
18
|
get CurrentUserEmail() { return this.Data.CurrentUserEmail; }
|
|
@@ -309,24 +310,25 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
309
310
|
validateUserProvidedSQLClause(clause) {
|
|
310
311
|
// convert the clause to lower case to make the keyword search case-insensitive
|
|
311
312
|
const lowerClause = clause.toLowerCase();
|
|
312
|
-
//
|
|
313
|
+
// Define forbidden keywords and characters as whole words using regular expressions
|
|
313
314
|
const forbiddenPatterns = [
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
315
|
+
/\binsert\b/,
|
|
316
|
+
/\bupdate\b/,
|
|
317
|
+
/\bdelete\b/,
|
|
318
|
+
/\bexec\b/,
|
|
319
|
+
/\bexecute\b/,
|
|
320
|
+
/\bdrop\b/,
|
|
321
|
+
/--/,
|
|
322
|
+
/\/\*/,
|
|
323
|
+
/\*\//,
|
|
324
|
+
/\bunion\b/,
|
|
325
|
+
/\bcast\b/,
|
|
326
|
+
/\bxp_/,
|
|
327
|
+
/;/
|
|
327
328
|
];
|
|
329
|
+
// Check for forbidden patterns
|
|
328
330
|
for (const pattern of forbiddenPatterns) {
|
|
329
|
-
if (
|
|
331
|
+
if (pattern.test(lowerClause)) {
|
|
330
332
|
return false;
|
|
331
333
|
}
|
|
332
334
|
}
|
|
@@ -352,11 +354,12 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
352
354
|
else {
|
|
353
355
|
entityInfo = this.Entities.find((e) => e.Name === params.EntityName);
|
|
354
356
|
}
|
|
355
|
-
const pKeyField = entityInfo.PrimaryKey;
|
|
356
357
|
if (params.Fields) {
|
|
357
358
|
// fields provided, if primary key isn't included, add it first
|
|
358
|
-
|
|
359
|
-
|
|
359
|
+
for (const ef of entityInfo.PrimaryKeys) {
|
|
360
|
+
if (params.Fields.find(f => f.trim().toLowerCase() === ef.Name.toLowerCase()) === undefined)
|
|
361
|
+
fieldList.push(ef); // always include the primary key fields in view run time field list
|
|
362
|
+
}
|
|
360
363
|
// now add the rest of the param.Fields to fields
|
|
361
364
|
params.Fields.forEach((f) => {
|
|
362
365
|
const field = entityInfo.Fields.find((field) => field.Name.trim().toLowerCase() === f.trim().toLowerCase());
|
|
@@ -373,8 +376,11 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
373
376
|
if (!c.hidden) // only return the non-hidden fields
|
|
374
377
|
fieldList.push(c.EntityField);
|
|
375
378
|
});
|
|
376
|
-
|
|
377
|
-
|
|
379
|
+
// the below shouldn't happen as the pkey fields should always be included by now, but make SURE...
|
|
380
|
+
for (const ef of entityInfo.PrimaryKeys) {
|
|
381
|
+
if (fieldList.find(f => f.Name.trim().toLowerCase() === ef.Name.toLowerCase()) === undefined)
|
|
382
|
+
fieldList.push(ef); // always include the primary key fields in view run time field list
|
|
383
|
+
}
|
|
378
384
|
}
|
|
379
385
|
}
|
|
380
386
|
return fieldList; // sometimes nothing is in the list and the caller will just use *
|
|
@@ -383,12 +389,12 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
383
389
|
const entityInfo = this.Entities.find((e) => e.BaseView.trim().toLowerCase() === entityBaseView.trim().toLowerCase());
|
|
384
390
|
const sSQL = `
|
|
385
391
|
DECLARE @ViewIDList TABLE ( ID NVARCHAR(255) );
|
|
386
|
-
INSERT INTO @ViewIDList (ID) (SELECT ${entityInfo.
|
|
392
|
+
INSERT INTO @ViewIDList (ID) (SELECT ${entityInfo.FirstPrimaryKey.Name} FROM [${entityInfo.SchemaName}].${entityBaseView} WHERE (${whereSQL}))
|
|
387
393
|
EXEC [${this.MJCoreSchemaName}].spCreateUserViewRunWithDetail(${viewId},${user.Email}, @ViewIDLIst)
|
|
388
394
|
`;
|
|
389
395
|
const runIDResult = await this._dataSource.query(sSQL);
|
|
390
396
|
const runID = runIDResult[0].UserViewRunID;
|
|
391
|
-
const sRetSQL = `SELECT * FROM [${entityInfo.SchemaName}].${entityBaseView} WHERE ${entityInfo.
|
|
397
|
+
const sRetSQL = `SELECT * FROM [${entityInfo.SchemaName}].${entityBaseView} WHERE ${entityInfo.FirstPrimaryKey.Name} IN
|
|
392
398
|
(SELECT RecordID FROM [${this.MJCoreSchemaName}].vwUserViewRunDetails WHERE UserViewRunID=${runID})
|
|
393
399
|
${orderBySQL && orderBySQL.length > 0 ? ' ORDER BY ' + orderBySQL : ''}`;
|
|
394
400
|
return { executeViewSQL: sRetSQL, runID: runID };
|
|
@@ -424,7 +430,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
424
430
|
u = u.replace(/ /g, ' AND ');
|
|
425
431
|
}
|
|
426
432
|
}
|
|
427
|
-
sUserSearchSQL = `${entityInfo.
|
|
433
|
+
sUserSearchSQL = `${entityInfo.FirstPrimaryKey.Name} IN (SELECT ${entityInfo.FirstPrimaryKey.Name} FROM ${entityInfo.SchemaName}.${entityInfo.FullTextSearchFunction}('${u}'))`;
|
|
428
434
|
}
|
|
429
435
|
else {
|
|
430
436
|
const entityFields = entityInfo.Fields;
|
|
@@ -634,8 +640,8 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
634
640
|
// linking to something else, so we need to use that field in a sub-query
|
|
635
641
|
// NOTICE - we are only using the FIRST primary key in our current implementation, this is because we don't yet support composite foreign keys
|
|
636
642
|
// if we do start to support composite foreign keys, we'll need to update this code to handle that
|
|
637
|
-
const quotes = entity.
|
|
638
|
-
return `(SELECT ${f.RelatedEntityFieldName} FROM [${entity.SchemaName}].${entity.BaseView} WHERE ${entity.
|
|
643
|
+
const quotes = entity.FirstPrimaryKey.NeedsQuotes ? "'" : '';
|
|
644
|
+
return `(SELECT ${f.RelatedEntityFieldName} FROM [${entity.SchemaName}].${entity.BaseView} WHERE ${entity.FirstPrimaryKey.Name}=${quotes}${CompositeKey.GetValueByIndex(0)}${quotes})`;
|
|
639
645
|
}
|
|
640
646
|
}
|
|
641
647
|
async GetRecordDuplicates(params, contextUser) {
|
|
@@ -830,7 +836,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
830
836
|
${sSimpleSQL}
|
|
831
837
|
|
|
832
838
|
DECLARE @ID NVARCHAR(255)
|
|
833
|
-
SELECT @ID = ${entity.
|
|
839
|
+
SELECT @ID = ${entity.FirstPrimaryKey.Name} FROM @ResultTable
|
|
834
840
|
IF @ID IS NOT NULL
|
|
835
841
|
BEGIN
|
|
836
842
|
DECLARE @ResultChangesTable TABLE (
|
|
@@ -853,7 +859,46 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
853
859
|
return aiengine_1.AIEngine.EntityAIActions.filter((a) => a.EntityID === entityInfo.ID &&
|
|
854
860
|
a.TriggerEvent.toLowerCase().trim() === (before ? 'before save' : 'after save'));
|
|
855
861
|
}
|
|
856
|
-
async
|
|
862
|
+
async HandleEntityActions(entity, baseType, before, user) {
|
|
863
|
+
// use the EntityActionEngine for this
|
|
864
|
+
const engine = actions_1.EntityActionEngine.Instance;
|
|
865
|
+
await engine.Config(false, user);
|
|
866
|
+
const newRecord = entity.IsSaved ? false : true;
|
|
867
|
+
const baseTypeType = baseType === 'save' ? (newRecord ? 'Create' : 'Update') : 'Delete';
|
|
868
|
+
const invocationType = baseType === 'validate' ? 'Validate' : (before ? 'Before' + baseTypeType : 'After' + baseTypeType);
|
|
869
|
+
const invocationTypeEntity = engine.InvocationTypes.find((i) => i.Name === invocationType);
|
|
870
|
+
if (!invocationTypeEntity)
|
|
871
|
+
throw new Error(`Invocation Type ${invocationType} not found in metadata`);
|
|
872
|
+
const actions = engine.GetActionsByEntityNameAndInvocationType(entity.EntityInfo.Name, invocationType);
|
|
873
|
+
const results = [];
|
|
874
|
+
if (actions.length > 0) {
|
|
875
|
+
const activeActions = actions.filter(a => a.Status === 'Active');
|
|
876
|
+
// filter down to only the active actions and loop through however many of those we have
|
|
877
|
+
for (const a of activeActions) {
|
|
878
|
+
const result = await engine.RunEntityAction({
|
|
879
|
+
EntityAction: a,
|
|
880
|
+
EntityObject: entity,
|
|
881
|
+
InvocationType: invocationTypeEntity,
|
|
882
|
+
ContextUser: user
|
|
883
|
+
});
|
|
884
|
+
results.push(result);
|
|
885
|
+
}
|
|
886
|
+
}
|
|
887
|
+
return results;
|
|
888
|
+
}
|
|
889
|
+
/**
|
|
890
|
+
* Handles Entity AI Actions. Parameters are setup for a future support of delete actions, but currently that isn't supported so the baseType parameter
|
|
891
|
+
* isn't fully functional. If you pass in delete, the function will just exit for now, and in the future calling code will start working when we support
|
|
892
|
+
* Delete as a trigger event for Entity AI Actions...
|
|
893
|
+
* @param entity
|
|
894
|
+
* @param baseType
|
|
895
|
+
* @param before
|
|
896
|
+
* @param user
|
|
897
|
+
*/
|
|
898
|
+
async HandleEntityAIActions(entity, baseType, before, user) {
|
|
899
|
+
// TEMP while we don't support delete
|
|
900
|
+
if (baseType === 'delete')
|
|
901
|
+
return;
|
|
857
902
|
// Make sure AI Metadata is loaded here...
|
|
858
903
|
await aiengine_1.AIEngine.LoadAIMetadata(user);
|
|
859
904
|
const actions = this.GetEntityAIActions(entity.EntityInfo, before); // get the actions we need to do for this entity
|
|
@@ -861,37 +906,40 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
861
906
|
const ai = new aiengine_1.AIEngine();
|
|
862
907
|
for (let i = 0; i < actions.length; i++) {
|
|
863
908
|
const a = actions[i];
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
// just add a task and move on, we are doing 'after save' so we don't wait
|
|
876
|
-
try {
|
|
877
|
-
queue_1.QueueManager.AddTask('Entity AI Action', p, null, user);
|
|
909
|
+
if (a.TriggerEvent === 'before save' && before ||
|
|
910
|
+
a.TriggerEvent === 'after save' && !before) {
|
|
911
|
+
const p = {
|
|
912
|
+
entityAIActionId: a.ID,
|
|
913
|
+
entityRecord: entity,
|
|
914
|
+
actionId: a.AIActionID,
|
|
915
|
+
modelId: a.AIModelID
|
|
916
|
+
};
|
|
917
|
+
if (before) {
|
|
918
|
+
// do it with await so we're blocking, as it needs to complete before the record save continues
|
|
919
|
+
await ai.ExecuteEntityAIAction(p);
|
|
878
920
|
}
|
|
879
|
-
|
|
880
|
-
|
|
921
|
+
else {
|
|
922
|
+
// just add a task and move on, we are doing 'after save' so we don't wait
|
|
923
|
+
try {
|
|
924
|
+
queue_1.QueueManager.AddTask('Entity AI Action', p, null, user);
|
|
925
|
+
}
|
|
926
|
+
catch (e) {
|
|
927
|
+
(0, core_1.LogError)(e.message);
|
|
928
|
+
}
|
|
881
929
|
}
|
|
882
930
|
}
|
|
883
931
|
}
|
|
884
932
|
}
|
|
885
933
|
}
|
|
886
934
|
async Save(entity, user, options) {
|
|
935
|
+
const entityResult = new core_1.BaseEntityResult();
|
|
887
936
|
try {
|
|
888
|
-
const
|
|
889
|
-
|
|
890
|
-
if (pkeyVal && !entity.EntityInfo.AllowUpdateAPI) {
|
|
937
|
+
const bNewRecord = !entity.IsSaved;
|
|
938
|
+
if (!bNewRecord && !entity.EntityInfo.AllowUpdateAPI) {
|
|
891
939
|
// existing record and not allowed to update
|
|
892
940
|
throw new Error(`UPDATE not allowed for entity ${entity.EntityInfo.Name}`);
|
|
893
941
|
}
|
|
894
|
-
else if (
|
|
942
|
+
else if (bNewRecord && !entity.EntityInfo.AllowCreateAPI) {
|
|
895
943
|
// new record and not allowed to create
|
|
896
944
|
throw new Error(`CREATE not allowed for entity ${entity.EntityInfo.Name}`);
|
|
897
945
|
}
|
|
@@ -899,14 +947,35 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
899
947
|
// getting here means we are good to save, now check to see if we're dirty and need to save
|
|
900
948
|
// REMEMBER - this is the provider and the BaseEntity/subclasses handle user-level permission checking already, we just make sure API was turned on for the operation
|
|
901
949
|
if (entity.Dirty || (options && options.IgnoreDirtyState)) {
|
|
902
|
-
|
|
950
|
+
entityResult.StartedAt = new Date();
|
|
951
|
+
entityResult.Type = bNewRecord ? 'create' : 'update';
|
|
952
|
+
entityResult.OriginalValues = entity.Fields.map(f => { return { FieldName: f.Name, Value: f.Value }; }); // save the original values before we start the process
|
|
953
|
+
entity.ResultHistory.push(entityResult); // push the new result as we have started a process
|
|
954
|
+
// The assumption is that Validate() has already been called by the BaseEntity object that is invoking this provider.
|
|
955
|
+
// However, we have an extra responsibility in this situation which is to fire off the EntityActions for the Validate invocation type and
|
|
956
|
+
// make sure they clear. If they don't clear we throw an exception with the message provided.
|
|
957
|
+
const validationResult = await this.HandleEntityActions(entity, 'validate', false, user);
|
|
958
|
+
if (validationResult && validationResult.length > 0) {
|
|
959
|
+
// one or more actions executed, see the reults and if any failed, concat their messages and return as exception being thrown
|
|
960
|
+
const message = validationResult.filter(v => !v.Success).map(v => v.Message).join('\n\n');
|
|
961
|
+
if (message) {
|
|
962
|
+
entityResult.Success = false;
|
|
963
|
+
entityResult.EndedAt = new Date();
|
|
964
|
+
entityResult.Message = message;
|
|
965
|
+
return false;
|
|
966
|
+
}
|
|
967
|
+
}
|
|
903
968
|
const spName = bNewRecord ? (entity.EntityInfo.spCreate && entity.EntityInfo.spCreate.length > 0 ? entity.EntityInfo.spCreate : 'spCreate' + entity.EntityInfo.BaseTable) :
|
|
904
969
|
(entity.EntityInfo.spUpdate && entity.EntityInfo.spUpdate.length > 0 ? entity.EntityInfo.spUpdate : 'spUpdate' + entity.EntityInfo.BaseTable);
|
|
970
|
+
if (!options /*no options set*/ ||
|
|
971
|
+
options.SkipEntityActions !== true /*options set, but not set to skip entity actions*/) {
|
|
972
|
+
await this.HandleEntityActions(entity, 'save', true, user);
|
|
973
|
+
}
|
|
905
974
|
if (!options /*no options set*/ ||
|
|
906
975
|
options.SkipEntityAIActions !== true /*options set, but not set to skip entity AI actions*/) {
|
|
907
976
|
// process any Entity AI actions that are set to trigger BEFORE the save, these are generally a really bad idea to do before save
|
|
908
977
|
// but they are supported (for now)
|
|
909
|
-
await this.HandleEntityAIActions(entity, true, user);
|
|
978
|
+
await this.HandleEntityAIActions(entity, 'save', true, user);
|
|
910
979
|
}
|
|
911
980
|
const sSQL = this.GetSaveSQL(entity, bNewRecord, spName, user);
|
|
912
981
|
if (entity.TransactionGroup) {
|
|
@@ -915,23 +984,31 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
915
984
|
// we are part of a transaction group, so just add our query to the list
|
|
916
985
|
// and when the transaction is committed, we will send all the queries at once
|
|
917
986
|
this._bAllowRefresh = false; // stop refreshes of metadata while we're doing work
|
|
918
|
-
entity.TransactionGroup.AddTransaction(new core_1.TransactionItem(sSQL, null, { dataSource: this._dataSource }, (results, success) => {
|
|
987
|
+
entity.TransactionGroup.AddTransaction(new core_1.TransactionItem(entity, sSQL, null, { dataSource: this._dataSource }, (results, success) => {
|
|
919
988
|
// we get here whenever the transaction group does gets around to committing
|
|
920
989
|
// our query.
|
|
921
990
|
this._bAllowRefresh = true; // allow refreshes again
|
|
991
|
+
entityResult.EndedAt = new Date();
|
|
922
992
|
if (success && results) {
|
|
923
993
|
// process any Entity AI actions that are set to trigger AFTER the save
|
|
924
994
|
// these are fired off but are NOT part of the transaction group, so if they fail,
|
|
925
995
|
// the transaction group will still commit, but the AI action will not be executed
|
|
926
996
|
if (!options /*no options set*/ ||
|
|
927
997
|
options.SkipEntityAIActions !== true /*options set, but not set to skip entity AI actions*/)
|
|
928
|
-
this.HandleEntityAIActions(entity, false, user);
|
|
998
|
+
this.HandleEntityAIActions(entity, 'save', false, user);
|
|
999
|
+
// Same approach to Entity Actions as Entity AI Actions
|
|
1000
|
+
if (!options || options.SkipEntityActions !== true)
|
|
1001
|
+
this.HandleEntityActions(entity, 'save', false, user);
|
|
1002
|
+
entityResult.Success = true;
|
|
929
1003
|
resolve(results[0]);
|
|
930
1004
|
}
|
|
931
|
-
else
|
|
1005
|
+
else {
|
|
932
1006
|
// the transaction failed, nothing to update, but we need to call Reject so the
|
|
933
1007
|
// promise resolves with a rejection so our outer caller knows
|
|
1008
|
+
entityResult.Success = false;
|
|
1009
|
+
entityResult.Message = 'Transaction Failed';
|
|
934
1010
|
reject(results);
|
|
1011
|
+
}
|
|
935
1012
|
}));
|
|
936
1013
|
});
|
|
937
1014
|
}
|
|
@@ -940,10 +1017,16 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
940
1017
|
this._bAllowRefresh = false; // stop refreshes of metadata while we're doing work
|
|
941
1018
|
const result = await this.ExecuteSQL(sSQL);
|
|
942
1019
|
this._bAllowRefresh = true; // allow refreshes now
|
|
1020
|
+
entityResult.EndedAt = new Date();
|
|
943
1021
|
if (result && result.length > 0) {
|
|
1022
|
+
// Entity AI Actions - fired off async, NO await on purpose
|
|
944
1023
|
if (!options /*no options set*/ ||
|
|
945
1024
|
options.SkipEntityAIActions !== true /*options set, but not set to skip entity AI actions*/)
|
|
946
|
-
this.HandleEntityAIActions(entity, false, user); // fire off any AFTER SAVE AI actions, but don't wait for them
|
|
1025
|
+
this.HandleEntityAIActions(entity, 'save', false, user); // fire off any AFTER SAVE AI actions, but don't wait for them
|
|
1026
|
+
// Entity Actions - fired off async, NO await on purpose
|
|
1027
|
+
if (!options || options.SkipEntityActions !== true)
|
|
1028
|
+
this.HandleEntityActions(entity, 'save', false, user);
|
|
1029
|
+
entityResult.Success = true;
|
|
947
1030
|
return result[0];
|
|
948
1031
|
}
|
|
949
1032
|
else
|
|
@@ -956,6 +1039,8 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
956
1039
|
}
|
|
957
1040
|
catch (e) {
|
|
958
1041
|
this._bAllowRefresh = true; // allow refreshes again if we get a failure here
|
|
1042
|
+
entityResult.EndedAt = new Date();
|
|
1043
|
+
entityResult.Message = e.message;
|
|
959
1044
|
(0, core_1.LogError)(e);
|
|
960
1045
|
throw e; // rethrow the error
|
|
961
1046
|
}
|
|
@@ -990,9 +1075,10 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
990
1075
|
}
|
|
991
1076
|
if (isUpdate && bFirst === false) {
|
|
992
1077
|
// this is an update and we have other fields, so we need to add all of the pkeys to the end of the SP call
|
|
993
|
-
for (let pkey of entity.
|
|
994
|
-
const
|
|
995
|
-
|
|
1078
|
+
for (let pkey of entity.PrimaryKey.KeyValuePairs) {
|
|
1079
|
+
const f = entity.EntityInfo.Fields.find((f) => f.Name.trim().toLowerCase() === pkey.FieldName.trim().toLowerCase());
|
|
1080
|
+
const pkeyQuotes = f.NeedsQuotes ? "'" : '';
|
|
1081
|
+
sRet += `, @${f.CodeName} = ` + pkeyQuotes + pkey.Value + pkeyQuotes; // add pkey to update SP at end, but only if other fields included
|
|
996
1082
|
}
|
|
997
1083
|
bFirst = false;
|
|
998
1084
|
}
|
|
@@ -1172,7 +1258,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
1172
1258
|
if (relInfo) {
|
|
1173
1259
|
let relSql = '';
|
|
1174
1260
|
const relEntitySchemaName = this.Entities.find(e => e.Name.trim().toLowerCase() === relInfo.RelatedEntity.trim().toLowerCase())?.SchemaName;
|
|
1175
|
-
const quotes = entity.
|
|
1261
|
+
const quotes = entity.FirstPrimaryKey.NeedsQuotes ? "'" : '';
|
|
1176
1262
|
if (relInfo.Type.trim().toLowerCase() === 'one to many')
|
|
1177
1263
|
// one to many - simple query
|
|
1178
1264
|
relSql = ` SELECT
|
|
@@ -1180,7 +1266,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
1180
1266
|
FROM
|
|
1181
1267
|
[${relEntitySchemaName}].[${relInfo.RelatedEntityBaseView}]
|
|
1182
1268
|
WHERE
|
|
1183
|
-
[${relInfo.RelatedEntityJoinField}] = ${quotes}${ret[entity.
|
|
1269
|
+
[${relInfo.RelatedEntityJoinField}] = ${quotes}${ret[entity.FirstPrimaryKey.Name]}${quotes}`; // don't yet support composite foreign keys
|
|
1184
1270
|
else
|
|
1185
1271
|
// many to many - need to use join view
|
|
1186
1272
|
relSql = ` SELECT
|
|
@@ -1190,7 +1276,7 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
1190
1276
|
INNER JOIN
|
|
1191
1277
|
[${relEntitySchemaName}].[${relInfo.JoinView}] _jv ON _theview.[${relInfo.RelatedEntityJoinField}] = _jv.[${relInfo.JoinEntityInverseJoinField}]
|
|
1192
1278
|
WHERE
|
|
1193
|
-
_jv.${relInfo.JoinEntityJoinField} = ${quotes}${ret[entity.
|
|
1279
|
+
_jv.${relInfo.JoinEntityJoinField} = ${quotes}${ret[entity.FirstPrimaryKey.Name]}${quotes}`; // don't yet support composite foreign keys
|
|
1194
1280
|
const relData = await this.ExecuteSQL(relSql);
|
|
1195
1281
|
if (relData && relData.length > 0) {
|
|
1196
1282
|
ret[rel] = relData;
|
|
@@ -1206,9 +1292,10 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
1206
1292
|
GetDeleteSQL(entity, user) {
|
|
1207
1293
|
let sSQL = '';
|
|
1208
1294
|
const spName = entity.EntityInfo.spDelete ? entity.EntityInfo.spDelete : `spDelete${entity.EntityInfo.ClassName}`;
|
|
1209
|
-
const sParams = entity.
|
|
1210
|
-
const
|
|
1211
|
-
|
|
1295
|
+
const sParams = entity.PrimaryKey.KeyValuePairs.map((kv) => {
|
|
1296
|
+
const f = entity.EntityInfo.Fields.find((f) => f.Name.trim().toLowerCase() === kv.FieldName.trim().toLowerCase());
|
|
1297
|
+
const quotes = f.NeedsQuotes ? "'" : '';
|
|
1298
|
+
return `@${f.CodeName}=${quotes}${kv.Value}${quotes}`;
|
|
1212
1299
|
}).join(', ');
|
|
1213
1300
|
const sSimpleSQL = `EXEC [${entity.EntityInfo.SchemaName}].[${spName}] ${sParams}`;
|
|
1214
1301
|
const recordChangesEntityInfo = this.Entities.find(e => e.Name === 'Record Changes');
|
|
@@ -1262,31 +1349,59 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
1262
1349
|
}
|
|
1263
1350
|
return sSQL;
|
|
1264
1351
|
}
|
|
1265
|
-
async Delete(entity, user) {
|
|
1352
|
+
async Delete(entity, options, user) {
|
|
1353
|
+
const result = new core_1.BaseEntityResult();
|
|
1266
1354
|
try {
|
|
1267
|
-
if (!entity.
|
|
1355
|
+
if (!entity.IsSaved)
|
|
1268
1356
|
// existing record and not allowed to update
|
|
1269
1357
|
throw new Error(`Delete() isn't callable for records that haven't yet been saved - ${entity.EntityInfo.Name}`);
|
|
1270
1358
|
if (!entity.EntityInfo.AllowDeleteAPI)
|
|
1271
1359
|
// not allowed to delete
|
|
1272
1360
|
throw new Error(`Delete() isn't callable for ${entity.EntityInfo.Name} as AllowDeleteAPI is false`);
|
|
1361
|
+
result.StartedAt = new Date();
|
|
1362
|
+
result.Type = 'delete';
|
|
1363
|
+
result.OriginalValues = entity.Fields.map(f => { return { FieldName: f.Name, Value: f.Value }; }); // save the original values before we start the process
|
|
1364
|
+
entity.ResultHistory.push(result); // push the new result as we have started a process
|
|
1273
1365
|
// REMEMBER - this is the provider and the BaseEntity/subclasses handle user-level permission checking already, we just make sure API was turned on for the operation
|
|
1274
1366
|
// if we get here we can delete, so build the SQL and then handle appropriately either as part of TransGroup or directly...
|
|
1275
1367
|
const sSQL = this.GetDeleteSQL(entity, user);
|
|
1368
|
+
// Handle Entity and Entity AI Actions here w/ before and after handling
|
|
1369
|
+
if (!options || false === options?.SkipEntityActions)
|
|
1370
|
+
await this.HandleEntityActions(entity, 'delete', true, user);
|
|
1371
|
+
if (!options || false === options?.SkipEntityAIActions)
|
|
1372
|
+
await this.HandleEntityAIActions(entity, 'delete', true, user);
|
|
1276
1373
|
if (entity.TransactionGroup) {
|
|
1277
1374
|
// we have a transaction group, need to play nice and be part of it
|
|
1278
1375
|
return new Promise((resolve, reject) => {
|
|
1279
1376
|
// we are part of a transaction group, so just add our query to the list
|
|
1280
1377
|
// and when the transaction is committed, we will send all the queries at once
|
|
1281
|
-
entity.TransactionGroup.AddTransaction(new core_1.TransactionItem(sSQL, null, { dataSource: this._dataSource }, (results, success) => {
|
|
1378
|
+
entity.TransactionGroup.AddTransaction(new core_1.TransactionItem(entity, sSQL, null, { dataSource: this._dataSource }, (results, success) => {
|
|
1282
1379
|
// we get here whenever the transaction group does gets around to committing
|
|
1283
1380
|
// our query.
|
|
1284
|
-
|
|
1285
|
-
|
|
1381
|
+
result.EndedAt = new Date();
|
|
1382
|
+
if (success && results) {
|
|
1383
|
+
// Entity AI Actions and Actions - fired off async, NO await on purpose
|
|
1384
|
+
if (!options || false === options?.SkipEntityActions)
|
|
1385
|
+
this.HandleEntityActions(entity, 'delete', false, user);
|
|
1386
|
+
if (!options || false === options?.SkipEntityAIActions)
|
|
1387
|
+
this.HandleEntityAIActions(entity, 'delete', false, user);
|
|
1388
|
+
// Make sure the return value matches up as that is how we know the SP was succesfully internally
|
|
1389
|
+
for (let key of entity.PrimaryKeys) {
|
|
1390
|
+
if (key.Value !== results[0][key.Name]) {
|
|
1391
|
+
result.Success = false;
|
|
1392
|
+
result.Message = 'Transaction failed to commit';
|
|
1393
|
+
reject(results);
|
|
1394
|
+
}
|
|
1395
|
+
}
|
|
1396
|
+
result.Success = true;
|
|
1397
|
+
resolve(true);
|
|
1398
|
+
}
|
|
1286
1399
|
else
|
|
1287
1400
|
// the transaction failed, nothing to update, but we need to call Reject so the
|
|
1288
1401
|
// promise resolves with a rejection so our outer caller knows
|
|
1289
|
-
|
|
1402
|
+
result.Success = false;
|
|
1403
|
+
result.Message = 'Transaction failed to commit';
|
|
1404
|
+
reject(results);
|
|
1290
1405
|
}));
|
|
1291
1406
|
});
|
|
1292
1407
|
}
|
|
@@ -1299,14 +1414,24 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
1299
1414
|
if (key.Value !== d[0][key.Name])
|
|
1300
1415
|
return false;
|
|
1301
1416
|
}
|
|
1417
|
+
// Entity AI Actions and Actions - fired off async, NO await on purpose
|
|
1418
|
+
this.HandleEntityActions(entity, 'delete', false, user);
|
|
1419
|
+
this.HandleEntityAIActions(entity, 'delete', false, user);
|
|
1420
|
+
result.EndedAt = new Date();
|
|
1302
1421
|
return true;
|
|
1303
1422
|
}
|
|
1304
|
-
else
|
|
1423
|
+
else {
|
|
1424
|
+
result.Message = 'No result returned from SQL';
|
|
1425
|
+
result.EndedAt = new Date();
|
|
1305
1426
|
return false;
|
|
1427
|
+
}
|
|
1306
1428
|
});
|
|
1307
1429
|
}
|
|
1308
1430
|
}
|
|
1309
1431
|
catch (e) {
|
|
1432
|
+
result.Message = e.message;
|
|
1433
|
+
result.Success = false;
|
|
1434
|
+
result.EndedAt = new Date();
|
|
1310
1435
|
(0, core_1.LogError)(e);
|
|
1311
1436
|
return false;
|
|
1312
1437
|
}
|
|
@@ -1338,11 +1463,8 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
1338
1463
|
const items = await this.ExecuteSQL(sSQL, [datasetName]);
|
|
1339
1464
|
// now we have the dataset and the items, we need to get the update date from the items underlying entities
|
|
1340
1465
|
if (items && items.length > 0) {
|
|
1341
|
-
//
|
|
1342
|
-
const
|
|
1343
|
-
let bSuccess = true;
|
|
1344
|
-
for (let i = 0; i < items.length; i++) {
|
|
1345
|
-
const item = items[i];
|
|
1466
|
+
// fire off all of the item queries in parallel
|
|
1467
|
+
const promises = items.map(async (item) => {
|
|
1346
1468
|
let filterSQL = '';
|
|
1347
1469
|
if (itemFilters && itemFilters.length > 0) {
|
|
1348
1470
|
const filter = itemFilters.find(f => f.ItemCode === item.Code);
|
|
@@ -1351,22 +1473,41 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
1351
1473
|
}
|
|
1352
1474
|
const itemSQL = `SELECT * FROM [${item.EntitySchemaName}].[${item.EntityBaseView}] ${item.WhereClause ? 'WHERE ' + item.WhereClause : ''}${filterSQL}`;
|
|
1353
1475
|
const itemData = await this.ExecuteSQL(itemSQL);
|
|
1354
|
-
|
|
1476
|
+
// get the latest update date
|
|
1477
|
+
let latestUpdateDate = new Date(1900, 1, 1);
|
|
1478
|
+
if (itemData && itemData.length > 0) {
|
|
1479
|
+
itemData.forEach((data) => {
|
|
1480
|
+
if (data[item.DateFieldToCheck] && new Date(data[item.DateFieldToCheck]) > latestUpdateDate) {
|
|
1481
|
+
latestUpdateDate = new Date(data[item.DateFieldToCheck]);
|
|
1482
|
+
}
|
|
1483
|
+
});
|
|
1484
|
+
}
|
|
1485
|
+
return {
|
|
1355
1486
|
EntityID: item.EntityID,
|
|
1356
1487
|
EntityName: item.Entity,
|
|
1357
1488
|
Code: item.Code,
|
|
1358
|
-
Results: itemData
|
|
1359
|
-
|
|
1360
|
-
|
|
1361
|
-
|
|
1362
|
-
}
|
|
1363
|
-
|
|
1489
|
+
Results: itemData,
|
|
1490
|
+
LatestUpdatedDate: latestUpdateDate,
|
|
1491
|
+
Success: itemData !== null && itemData !== undefined
|
|
1492
|
+
};
|
|
1493
|
+
});
|
|
1494
|
+
// execute all promises in parallel
|
|
1495
|
+
const results = await Promise.all(promises);
|
|
1496
|
+
// determine overall success
|
|
1497
|
+
const bSuccess = results.every(result => result.Success);
|
|
1498
|
+
// get the latest update date from all the results
|
|
1499
|
+
const latestUpdateDate = results.reduce((acc, result) => {
|
|
1500
|
+
if (result.LatestUpdatedDate && result.LatestUpdatedDate > acc) {
|
|
1501
|
+
return result.LatestUpdatedDate;
|
|
1502
|
+
}
|
|
1503
|
+
return acc;
|
|
1504
|
+
}, new Date(1900, 1, 1));
|
|
1364
1505
|
return {
|
|
1365
1506
|
DatasetID: items[0].DatasetID,
|
|
1366
1507
|
DatasetName: items[0].DatasetName,
|
|
1367
1508
|
Success: bSuccess,
|
|
1368
1509
|
Status: '',
|
|
1369
|
-
LatestUpdateDate:
|
|
1510
|
+
LatestUpdateDate: latestUpdateDate,
|
|
1370
1511
|
Results: results
|
|
1371
1512
|
};
|
|
1372
1513
|
}
|
|
@@ -1403,40 +1544,55 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
1403
1544
|
const items = await this.ExecuteSQL(sSQL, [datasetName]);
|
|
1404
1545
|
// now we have the dataset and the items, we need to get the update date from the items underlying entities
|
|
1405
1546
|
if (items && items.length > 0) {
|
|
1406
|
-
// loop through each of the items and get the update date from the underlying entity
|
|
1547
|
+
// loop through each of the items and get the update date from the underlying entity by building a combined UNION ALL SQL statement
|
|
1548
|
+
let combinedSQL = '';
|
|
1407
1549
|
const updateDates = [];
|
|
1408
|
-
|
|
1409
|
-
let bSuccess = true;
|
|
1410
|
-
for (let i = 0; i < items.length; i++) {
|
|
1411
|
-
const item = items[i];
|
|
1550
|
+
items.forEach((item, index) => {
|
|
1412
1551
|
let filterSQL = '';
|
|
1413
1552
|
if (itemFilters && itemFilters.length > 0) {
|
|
1414
1553
|
const filter = itemFilters.find(f => f.ItemCode === item.Code);
|
|
1415
1554
|
if (filter)
|
|
1416
1555
|
filterSQL = ' WHERE ' + filter.Filter;
|
|
1417
1556
|
}
|
|
1418
|
-
const itemSQL = `SELECT MAX(${item.DateFieldToCheck}) AS UpdateDate FROM [${item.EntitySchemaName}].[${item.EntityBaseView}]${filterSQL}`;
|
|
1419
|
-
|
|
1420
|
-
if (
|
|
1421
|
-
|
|
1557
|
+
const itemSQL = `SELECT MAX(${item.DateFieldToCheck}) AS UpdateDate, ${item.EntityID} AS EntityID, '${item.Entity}' AS EntityName FROM [${item.EntitySchemaName}].[${item.EntityBaseView}]${filterSQL}`;
|
|
1558
|
+
combinedSQL += itemSQL;
|
|
1559
|
+
if (index < items.length - 1) {
|
|
1560
|
+
combinedSQL += ' UNION ALL ';
|
|
1561
|
+
}
|
|
1562
|
+
});
|
|
1563
|
+
const itemUpdateDates = await this.ExecuteSQL(combinedSQL);
|
|
1564
|
+
if (itemUpdateDates && itemUpdateDates.length > 0) {
|
|
1565
|
+
let latestUpdateDate = new Date(1900, 1, 1);
|
|
1566
|
+
itemUpdateDates.forEach(itemUpdate => {
|
|
1567
|
+
const updateDate = new Date(itemUpdate.UpdateDate);
|
|
1422
1568
|
updateDates.push({
|
|
1423
|
-
EntityID:
|
|
1424
|
-
EntityName:
|
|
1569
|
+
EntityID: itemUpdate.EntityID,
|
|
1570
|
+
EntityName: itemUpdate.EntityName,
|
|
1425
1571
|
UpdateDate: updateDate
|
|
1426
1572
|
});
|
|
1427
|
-
if (updateDate > latestUpdateDate)
|
|
1573
|
+
if (updateDate > latestUpdateDate) {
|
|
1428
1574
|
latestUpdateDate = updateDate;
|
|
1429
|
-
|
|
1575
|
+
}
|
|
1576
|
+
});
|
|
1577
|
+
return {
|
|
1578
|
+
DatasetID: items[0].DatasetID,
|
|
1579
|
+
DatasetName: items[0].DatasetName,
|
|
1580
|
+
Success: true,
|
|
1581
|
+
Status: '',
|
|
1582
|
+
LatestUpdateDate: latestUpdateDate,
|
|
1583
|
+
EntityUpdateDates: updateDates
|
|
1584
|
+
};
|
|
1585
|
+
}
|
|
1586
|
+
else {
|
|
1587
|
+
return {
|
|
1588
|
+
DatasetID: items[0].DatasetID,
|
|
1589
|
+
DatasetName: items[0].DatasetName,
|
|
1590
|
+
Success: false,
|
|
1591
|
+
Status: 'No update dates found for DatasetName: ' + datasetName,
|
|
1592
|
+
LatestUpdateDate: null,
|
|
1593
|
+
EntityUpdateDates: null
|
|
1594
|
+
};
|
|
1430
1595
|
}
|
|
1431
|
-
// at the end of the loop we have the latest update date for the dataset, package it up with the individual entity update dates
|
|
1432
|
-
return {
|
|
1433
|
-
DatasetID: items[0].DatasetID,
|
|
1434
|
-
DatasetName: items[0].DatasetName,
|
|
1435
|
-
Success: bSuccess,
|
|
1436
|
-
Status: '',
|
|
1437
|
-
LatestUpdateDate: latestUpdateDate,
|
|
1438
|
-
EntityUpdateDates: updateDates
|
|
1439
|
-
};
|
|
1440
1596
|
}
|
|
1441
1597
|
else {
|
|
1442
1598
|
return {
|
|
@@ -1636,14 +1792,14 @@ class SQLServerDataProvider extends core_1.ProviderBase {
|
|
|
1636
1792
|
}
|
|
1637
1793
|
else {
|
|
1638
1794
|
// got our field, create a SQL Query
|
|
1639
|
-
let sql = `SELECT ${f.Name} FROM [${e.SchemaName}].[${e.BaseView}] WHERE `;
|
|
1795
|
+
let sql = `SELECT [${f.Name}] FROM [${e.SchemaName}].[${e.BaseView}] WHERE `;
|
|
1640
1796
|
let where = '';
|
|
1641
1797
|
for (let pkv of CompositeKey.KeyValuePairs) {
|
|
1642
1798
|
const pk = e.PrimaryKeys.find(pk => pk.Name === pkv.FieldName);
|
|
1643
1799
|
const quotes = pk.NeedsQuotes ? "'" : '';
|
|
1644
1800
|
if (where.length > 0)
|
|
1645
1801
|
where += ' AND ';
|
|
1646
|
-
where +=
|
|
1802
|
+
where += `[${pkv.FieldName}]=${quotes}${pkv.Value}${quotes}`;
|
|
1647
1803
|
}
|
|
1648
1804
|
return sql + where;
|
|
1649
1805
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SQLServerDataProvider.js","sourceRoot":"","sources":["../src/SQLServerDataProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SQLServerDataProvider.js","sourceRoot":"","sources":["../src/SQLServerDataProvider.ts"],"names":[],"mappings":";AAAC;;;;+GAI8G;;;AAE/G,+CAQuD;AAEvD,iEAA8N;AAC9N,uDAA0E;AAC1E,iDAAoD;AAGpD,2EAAwE;AAExE,2CAAwC;AAGxC,qDAA2E;AAE3E,MAAa,2BAA4B,SAAQ,6BAAsB;IACnE,IAAI,UAAU,KAAU,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAA,CAAC,CAAC;IACrD,IAAI,gBAAgB,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAA,CAAC,CAAC;IACpE,IAAI,2BAA2B,KAAa,OAAO,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAA,CAAC,CAAC;IAE1F,YAAY,UAAe,EACf,gBAAwB,EACxB,gBAAyB,EACzB,8BAAsC,EAAE,CAAC,wCAAwC,EACjF,cAAyB,EACzB,cAAyB;QACjC,KAAK,CAAC;YACE,UAAU,EAAE,UAAU;YACtB,gBAAgB,EAAE,gBAAgB;YAClC,2BAA2B,EAAE,2BAA2B;SACzD,EACD,gBAAgB,EAChB,cAAc,EACd,cAAc,CACf,CAAC;IACV,CAAC;CACJ;AArBD,kEAqBC;AAED,4EAA4E;AAC5E,MAAa,qBAAsB,SAAQ,mBAAY;IAAvD;;QAKY,mBAAc,GAAY,IAAI,CAAC;IAw8D3C,CAAC;IAr8DG,IAAW,UAAU,KAAkC,OAAoC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;IAEvG,KAAK,CAAC,MAAM,CAAC,UAAuC;QACvD,IAAI,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC;YACzC,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,gBAAgB,CAAC;YAErD,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA,sCAAsC;QAC1E,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC,CAAC,CAAA;QACb,CAAC;IACL,CAAC;IAES,YAAY;QAClB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAW,gBAAgB;QACvB,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;IAC5C,CAAC;IAED,4EAA4E;IAC5E,gCAAgC;IAChC,4EAA4E;IACrE,KAAK,CAAC,SAAS,CAAC,MAAuB,EAAE,WAAsB;QAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,kCAAkC;QAClC,MAAM,SAAS,GAAG,0BAA0B,IAAI,CAAC,gBAAgB,yBAAyB,QAAQ,EAAE,CAAC;QACrG,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,MAAM;gBACN,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,GAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAC,CAAC;;gBAEjI,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,GAAG,GAAG,KAAK,EAAE,YAAY,EAAE,0BAA0B,EAAC,CAAC;QACpJ,CAAC;;YAEG,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,kBAAkB,EAAC,CAAC;IAClI,CAAC;IACD,4EAA4E;IAC5E,8BAA8B;IAC9B,4EAA4E;IAI5E,4EAA4E;IAC5E,+BAA+B;IAC/B,4EAA4E;IACrE,KAAK,CAAC,QAAQ,CAAC,MAAsB,EAAE,WAAsB;QAChE,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC/B,kCAAkC;YAClC,MAAM,QAAQ,GAAG,oBAAoB,IAAI,CAAC,gBAAgB,yBAAyB,OAAO,EAAE,CAAC;YAC7F,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACnC,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBAC1C,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,MAAM;oBACN,OAAO,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,GAAC,KAAK,EAAE,YAAY,EAAE,EAAE,EAAC,CAAC;;oBAE/H,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,GAAG,GAAG,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAC,CAAC;YACjJ,CAAC;;gBAEG,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,iBAAiB,EAAC,CAAC;QAC/H,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,OAAO,EAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,OAAO,EAAC,CAAC;QAC1H,CAAC;IACL,CAAC;IACD,4EAA4E;IAC5E,6BAA6B;IAC7B,4EAA4E;IAI5E,4EAA4E;IAC5E,8BAA8B;IAC9B,4EAA4E;IACrE,KAAK,CAAC,OAAO,CAAU,MAAqB,EAAE,WAAsB;QACvE,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC;YACD,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC1D,IAAI,CAAC,IAAI;oBACL,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,iBAAiB,iEAAiE,CAAC,CAAC;gBAErH,IAAI,UAAU,GAAQ,IAAI,EAAE,UAAU,GAAe,IAAI,CAAC;gBAC1D,IAAI,MAAM,CAAC,UAAU;oBACjB,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;qBAC9B,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;oBACvC,UAAU,GAAG,MAAM,wBAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;qBACrE,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;oBAClD,UAAU,GAAG,MAAM,wBAAQ,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;gBAElF,IAAI,CAAC,UAAU,EAAE,CAAC;oBACd,mGAAmG;oBACnG,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;wBACpD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;oBAEtF,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC;oBACrE,IAAI,CAAC,UAAU;wBACX,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,CAAC,UAAU,wBAAwB,CAAC,CAAC;gBAC7E,CAAC;qBACI,CAAC;oBACF,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC;oBACrE,IAAI,CAAC,UAAU;wBACX,MAAM,IAAI,KAAK,CAAC,cAAc,UAAU,CAAC,QAAQ,wBAAwB,CAAC,CAAC;gBACnF,CAAC;gBAED,2FAA2F;gBAC3F,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAErD,mCAAmC;gBACnC,MAAM,WAAW,GAAW,MAAM,CAAC,WAAW,CAAA;gBAC9C,MAAM,gBAAgB,GAAW,MAAM,CAAC,gBAAgB,CAAC;gBACzD,MAAM,oBAAoB,GAAW,MAAM,CAAC,oBAAoB,CAAC;gBACjE,MAAM,qBAAqB,GAAW,MAAM,CAAC,qBAAqB,CAAC;gBACnE,MAAM,eAAe,GAAY,MAAM,CAAC,eAAe,CAAC;gBAExD,IAAI,MAAM,GAAW,EAAE,CAAC;gBACxB,IAAI,MAAM,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;oBAChC,qFAAqF;gBACzF,CAAC;qBACI,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;oBAC5C,2CAA2C;oBAC3C,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;gBACrC,CAAC;qBACI,IAAI,UAAU,CAAC,eAAe,IAAI,UAAU,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;oBACpE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC;gBACjD,CAAC;gBAED,MAAM,MAAM,GAAW,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;gBAEzE,IAAI,OAAO,GAAW,UAAU,MAAM,IAAI,MAAM,UAAU,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC;gBAC1G,IAAI,QAAQ,GAAG,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0CAA0C,UAAU,CAAC,UAAU,KAAK,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC9I,IAAI,QAAQ,GAAW,EAAE,CAAC;gBAC1B,IAAI,SAAS,GAAY,KAAK,CAAC;gBAC/B,IAAI,aAAa,GAAW,CAAC,CAAC;gBAE9B,4GAA4G;gBAC5G,IAAI,UAAU,EAAE,WAAW,IAAI,UAAU,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChE,QAAQ,GAAG,IAAI,UAAU,CAAC,WAAW,GAAG,CAAC;oBACzC,SAAS,GAAG,IAAI,CAAC;gBACrB,CAAC;gBAED,iJAAiJ;gBACjJ,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,sIAAsI;oBACtI,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,WAAW,CAAC;wBAChD,MAAM,IAAI,KAAK,CAAC,yBAAyB,WAAW,4CAA4C,CAAC,CAAC;oBAEtG,IAAI,SAAS,EAAE,CAAC;wBACZ,QAAQ,IAAI,SAAS,WAAW,GAAG,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACJ,QAAQ,GAAG,IAAI,WAAW,GAAG,CAAC;wBAC9B,SAAS,GAAG,IAAI,CAAC;oBACrB,CAAC;gBACL,CAAC;gBAED,iFAAiF;gBACjF,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClD,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,gBAAgB,CAAC;wBACrD,MAAM,IAAI,KAAK,CAAC,mCAAmC,gBAAgB,4CAA4C,CAAC,CAAC;oBAErH,MAAM,cAAc,GAAW,IAAI,CAAC,uBAAuB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;oBAE1F,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5B,IAAI,SAAS,EAAE,CAAC;4BACZ,QAAQ,IAAI,SAAS,cAAc,GAAG,CAAC;wBAC3C,CAAC;6BAAM,CAAC;4BACJ,QAAQ,GAAG,IAAI,cAAc,GAAG,CAAC;4BACjC,SAAS,GAAG,IAAI,CAAC;wBACrB,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,0EAA0E;gBAC1E,6FAA6F;gBAC7F,IAAI,CAAC,oBAAoB,IAAI,oBAAoB,GAAG,CAAC,CAAC;oBAClD,CAAC,MAAM,CAAC,+BAA+B,KAAK,IAAI,CAAC,EAAG,CAAC;oBAErD,IAAI,WAAW,GAAW,oCAAoC,IAAI,CAAC,gBAAgB,yCAAyC,UAAU,CAAC,QAAQ,MAAM,CAAA;oBACrJ,IAAI,MAAM,CAAC,+BAA+B,KAAK,IAAI;wBAC/C,WAAW,IAAI,eAAe,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC,iKAAiK;;wBAEjN,WAAW,IAAI,iBAAiB,oBAAoB,GAAG,CAAC,CAAC,yCAAyC;oBAEtG,IAAI,qBAAqB,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5D,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,qBAAqB,CAAC;4BAC1D,MAAM,IAAI,KAAK,CAAC,kCAAkC,qBAAqB,4CAA4C,CAAC,CAAC;wBAEzH,2HAA2H;wBAC3H,4DAA4D;wBAC5D,WAAW,IAAI,OAAO,GAAG,qBAAqB,GAAG,GAAG,CAAC;oBACzD,CAAC;oBACD,IAAI,SAAS,EAAE,CAAC;wBACZ,QAAQ,IAAI,SAAS,WAAW,GAAG,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACJ,QAAQ,GAAG,IAAI,WAAW,GAAG,CAAC;wBAC9B,SAAS,GAAG,IAAI,CAAC;oBACrB,CAAC;gBACL,CAAC;gBAED,yCAAyC;gBACzC,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC,IAAI,EAAE,2BAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9E,sDAAsD;oBACtD,MAAM,cAAc,GAAW,UAAU,CAAC,kCAAkC,CAAC,IAAI,EAAE,2BAAoB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAElH,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9C,IAAI,SAAS,EAAE,CAAC;4BACZ,QAAQ,IAAI,SAAS,cAAc,GAAG,CAAC;wBAC3C,CAAC;6BAAM,CAAC;4BACJ,QAAQ,GAAG,IAAI,cAAc,GAAG,CAAC;4BACjC,SAAS,GAAG,IAAI,CAAC;wBACrB,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,IAAI,SAAS,EAAE,CAAC;oBACZ,OAAO,IAAI,UAAU,QAAQ,EAAE,CAAC;oBAChC,IAAI,QAAQ;wBACR,QAAQ,IAAI,UAAU,QAAQ,EAAE,CAAC;gBACzC,CAAC;gBAED,sCAAsC;gBACtC,wDAAwD;gBACxD,8EAA8E;gBAC9E,wCAAwC;gBACxC,MAAM,OAAO,GAAW,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAEvG,6EAA6E;gBAC7E,IAAI,UAAU,EAAE,EAAE,IAAI,UAAU,EAAE,EAAE,GAAG,CAAC,IAAI,eAAe,IAAI,IAAI,EAAE,CAAC;oBAClE,MAAM,EAAC,cAAc,EAAE,KAAK,EAAC,GAAG,MAAM,IAAI,CAAC,+BAA+B,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC9I,OAAO,GAAG,cAAc,CAAC;oBACzB,aAAa,GAAG,KAAK,CAAC;gBAC1B,CAAC;qBACI,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrC,6FAA6F;oBAC7F,8FAA8F;oBAC9F,0GAA0G;oBAC1G,iDAAiD;oBACjD,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC;wBAC5C,MAAM,IAAI,KAAK,CAAC,4BAA4B,OAAO,4CAA4C,CAAC,CAAC;oBAErG,OAAO,IAAI,aAAa,OAAO,EAAE,CAAC;gBACtC,CAAC;gBAED,8HAA8H;gBAC9H,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAEhG,2EAA2E;gBAC3E,8GAA8G;gBAC9G,0CAA0C;gBAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC;gBACpB,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,UAAU,KAAK,YAAY,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBACpG,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC3D,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxC,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;oBAC5C,CAAC;gBACL,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;gBAE5B,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,IAAI,WAAW,EAAE,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBAClK,oHAAoH;oBACpH,wEAAwE;oBAExE,iDAAiD;oBACjD,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAC,UAAU,EAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC;wBACI,MAAM,EAAE,UAAU,EAAE,EAAE;wBACtB,QAAQ,EAAE,UAAU,EAAE,IAAI;wBAC1B,WAAW,EAAE,MAAM,CAAC,mBAAmB;wBACvC,QAAQ,EAAE,OAAO,CAAC,MAAM;wBACxB,GAAG,EAAE,OAAO;qBACf,CAAC,EACF,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAA;gBACpI,CAAC;gBAED,OAAO;oBACC,QAAQ,EAAE,MAAM,CAAC,UAAU,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,qIAAqI;oBAC/M,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;oBACnD,OAAO,EAAE,OAAO;oBAChB,aAAa,EAAE,aAAa;oBAC5B,aAAa,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAC,SAAS,CAAC,OAAO,EAAE;oBACrD,OAAO,EAAE,IAAI;oBACb,YAAY,EAAE,IAAI;iBACrB,CAAC;YACV,CAAC;;gBAEG,OAAO,IAAI,CAAC;QACpB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,MAAM,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC;YACrC,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,OAAO;gBACH,QAAQ,EAAE,CAAC;gBACX,aAAa,EAAE,CAAC;gBAChB,OAAO,EAAE,EAAE;gBACX,aAAa,EAAE,CAAC;gBAChB,aAAa,EAAE,iBAAiB,CAAC,OAAO,EAAE,GAAC,SAAS,CAAC,OAAO,EAAE;gBAC9D,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,CAAC,CAAC,OAAO;aAC1B,CAAA;QACL,CAAC;IACL,CAAC;IAES,6BAA6B,CAAC,MAAc;QAClD,+EAA+E;QAC/E,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAEzC,oFAAoF;QACpF,MAAM,iBAAiB,GAAa;YAChC,YAAY;YACZ,YAAY;YACZ,YAAY;YACZ,UAAU;YACV,aAAa;YACb,UAAU;YACV,IAAI;YACJ,MAAM;YACN,MAAM;YACN,WAAW;YACX,UAAU;YACV,OAAO;YACP,GAAG;SACN,CAAC;QAEF,+BAA+B;QAC/B,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;YACtC,IAAI,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,yBAAyB,CAAC,MAAqB,EAAE,UAAkC;QACzF,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACpE,oKAAoK;QACpK,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YACtB,OAAO,GAAG,CAAC;;YAEX,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACrB,MAAM,QAAQ,GAAW,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAG,CAAC;gBAC5E,OAAO,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YACpC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAES,wBAAwB,CAAC,MAAqB,EAAE,UAAkC;QACxF,MAAM,SAAS,GAAsB,EAAE,CAAA;QAEvC,IAAI,UAAU,GAAe,IAAI,CAAC;QAClC,IAAI,UAAU,EAAE,CAAC;YACb,UAAU,GAAG,UAAU,CAAC,cAAc,CAAC;QAC3C,CAAC;aACI,CAAC;YACF,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,+DAA+D;YAC/D,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;gBACtC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,SAAS;oBACvF,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,oEAAoE;YAChG,CAAC;YAED,iDAAiD;YACjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACxB,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC5G,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC,CAAC,CAAC;QACP,CAAC;aACI,CAAC;YACF,oEAAoE;YACpE,sIAAsI;YACtI,2EAA2E;YAC3E,IAAI,UAAU,EAAE,CAAC;gBACb,yCAAyC;gBACzC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;oBAC7B,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,oCAAoC;wBAC/C,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;gBACH,mGAAmG;gBACnG,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;oBACtC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,SAAS;wBACxF,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,oEAAoE;gBAChG,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,kEAAkE;IACxF,CAAC;IAES,KAAK,CAAC,+BAA+B,CAAC,MAAc,EAAE,cAAsB,EAAE,QAAgB,EAAE,UAAkB,EAAE,IAAc;QACxI,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACtH,MAAM,IAAI,GAAG;;mDAE8B,UAAU,CAAC,eAAe,CAAC,IAAI,UAAU,UAAU,CAAC,UAAU,KAAK,cAAc,WAAW,QAAQ;oBACnI,IAAI,CAAC,gBAAgB,mCAAmC,MAAM,IAAI,IAAI,CAAC,KAAK;aACnF,CAAA;QACL,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,KAAK,GAAW,WAAW,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QACnD,MAAM,OAAO,GAAW,kBAAkB,UAAU,CAAC,UAAU,KAAK,cAAc,UAAU,UAAU,CAAC,eAAe,CAAC,IAAI;6DACtE,IAAI,CAAC,gBAAgB,8CAA8C,KAAK;mCAClG,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QACjG,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IACrD,CAAC;IAES,uBAAuB,CAAC,UAAsB,EAAE,gBAAwB;QAC9E,iCAAiC;QACjC,4CAA4C;QAC5C,yIAAyI;QACzI,kHAAkH;QAClH,0GAA0G;QAE1G,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,UAAU,CAAC,qBAAqB,EAAE,CAAC;YACnC,0JAA0J;YAC1J,mEAAmE;YAEnE,mFAAmF;YACnF,qGAAqG;YACrG,6GAA6G;YAC7G,4DAA4D;YAC5D,IAAI,CAAC,GAAG,gBAAgB,CAAC;YACzB,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAC/B,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5E,qFAAqF;YACzF,CAAC;iBACI,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,IAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAG,CAAC;oBACzC,+EAA+E;gBACnF,CAAC;qBACI,CAAC;oBACF,kEAAkE;oBAClE,yDAAyD;oBACzD,CAAC,GAAG,IAAA,qBAAc,EAAC,gBAAgB,CAAC,CAAC;oBACrC,gGAAgG;oBAChG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBACjC,CAAC;YACL,CAAC;YAED,cAAc,GAAG,GAAG,UAAU,CAAC,eAAe,CAAC,IAAI,eAAe,UAAU,CAAC,eAAe,CAAC,IAAI,SAAS,UAAU,CAAC,UAAU,IAAI,UAAU,CAAC,sBAAsB,KAAK,CAAC,KAAK,CAAC;QACpL,CAAC;aACI,CAAC;YACF,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;YAEvC,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBAC/B,IAAI,KAAK,CAAC,sBAAsB,EAAE,CAAC;oBAC/B,IAAI,MAAM,GAAG,EAAE,CAAC;oBAChB,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;wBACzB,cAAc,IAAI,MAAM,CAAC;oBAE7B,IAAI,KAAK,CAAC,wBAAwB,IAAI,KAAK,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC;wBAC/E,+EAA+E;wBAC3E,MAAM,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;;wBAEzE,MAAM,GAAG,WAAW,gBAAgB,IAAI,CAAC;oBAE7C,cAAc,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,GAAG,CAAC;gBAClD,CAAC;YACL,CAAC;YACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;gBACzB,cAAc,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,CAAC,CAAC,0CAA0C;QAC/F,CAAC;QAGD,OAAO,cAAc,CAAC;IAC1B,CAAC;IAGM,KAAK,CAAC,oBAAoB,CAAC,IAAc,EAAE,iBAAgC,EAAE,gBAAwB,EAAE,MAAc,EAAE,OAAsB,EAAE,QAAgB,EAAE,QAAoB,EAAE,mBAAkC;QAC5N,IAAI,CAAC;YACD,MAAM,aAAa,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,iBAAiB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3J,MAAM,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEvJ,IAAI,CAAC,IAAI;gBACL,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACpD,IAAI,CAAC,YAAY;gBACb,MAAM,IAAI,KAAK,CAAC,kBAAkB,gBAAgB,wBAAwB,CAAC,CAAC;YAEhF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,CAAiB,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,8FAA8F;YAC/K,QAAQ,CAAC,SAAS,EAAE,CAAC;YACrB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,GAAG,CAAC,kBAAkB,EAAE,YAAY,CAAC,IAAI,CAAC,CAAA,CAAC,+CAA+C;YACnG,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,SAAS;gBAC1C,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAA;;gBAE3B,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAA;YAE9B,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC7B,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAE7B,IAAI,aAAa;gBACb,QAAQ,CAAC,iBAAiB,GAAG,aAAa,CAAC,IAAI,CAAC;YAEpD,IAAI,OAAO;gBACP,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YAE/B,IAAI,mBAAmB;gBACnB,QAAQ,CAAC,WAAW,GAAG,mBAAmB,CAAA;YAE9C,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE;gBACrB,OAAO,QAAQ,CAAC;;gBAEhB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,GAAG,EAAE,CAAC;YACT,IAAA,eAAQ,EAAC,GAAG,CAAC,CAAC;YACd,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAES,wBAAwB,CAAC,UAAkB,EAAE,WAAqB;QACxE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAE3C,uGAAuG;QACvG,IAAI,UAAU,EAAE,CAAC;YACb,MAAM,eAAe,GAAG,UAAU,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;YACjE,IAAI,CAAC,eAAe,CAAC,OAAO;gBACxB,MAAM,IAAI,KAAK,CAAC,QAAQ,WAAW,CAAC,KAAK,sCAAsC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1G,CAAC;;YAEG,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACxD,CAAC;IAED,4EAA4E;IAC5E,4BAA4B;IAC5B,4EAA4E;IAG5E,4EAA4E;IAC5E,iCAAiC;IACjC,4EAA4E;IAC5E,IAAW,YAAY;QACnB,OAAO,mBAAY,CAAC,QAAQ,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,MAAc,EAAE,UAAkB,EAAE,YAA0B;QAC/F,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;QAC5E,OAAO,EAAE,KAAK,IAAI,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,MAAc,EAAE,UAAkB,EAAE,YAA0B;QAC3F,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,mBAAmB,IAAI,CAAC,gBAAgB,kCAAkC,MAAM,gBAAgB,UAAU,mBAAmB,YAAY,CAAC,MAAM,EAAE,GAAG,CAAA;YAClK,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;gBAC3B,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;;gBAEpB,OAAO,IAAI,CAAC;QACpB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC,CAAC,CAAA;QACb,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAAC,MAAc,EAAE,UAAkB,EAAE,YAA0B,EAAE,UAAmB,EAAE,WAAqB;QAC3I,IAAI,CAAC;YACD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;YAC3F,IAAI,CAAC,iBAAiB,KAAK,IAAI,IAAI,UAAU,KAAK,KAAK,CAAC;gBACpD,CAAC,iBAAiB,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,CAAC;gBACnD,OAAO,CAAC,YAAY;YAExB,mHAAmH;YACnH,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAuB,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;YACnH,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;gBAC7B,6DAA6D;gBAC7D,MAAM,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBACvC,IAAI,MAAM,QAAQ,CAAC,MAAM,EAAE;oBACvB,OAAO;;oBAEP,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YACxD,CAAC;iBACI,CAAC;gBACF,4DAA4D;gBAC5D,QAAQ,CAAC,SAAS,EAAE,CAAC;gBACrB,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;gBAC9B,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,qGAAqG;gBACtJ,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC/B,IAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;oBACpB,OAAO;;oBAEP,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACtD,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC,CAAC,CAAA;QACb,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,UAAkB,EAAE,YAA0B;QACxE,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,kBAAkB,IAAI,CAAC,gBAAgB,mCAAmC,UAAU,mBAAmB,YAAY,CAAC,MAAM,EAAE,2BAA2B,CAAA;YACpK,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QAChC,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC,CAAC,CAAA;QACb,CAAC;IACL,CAAC;IAGD;;;;;;;OAOG;IACI,KAAK,CAAC,qBAAqB,CAAC,UAAkB,EAAE,YAA0B;QAC7E,IAAI,CAAC;YACD,qDAAqD;YACrD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;YACxE,sFAAsF;YACtF,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,KAAK,MAAM,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;gBAChD,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBAChI,MAAM,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,gBAAgB,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBAC9I,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;oBACf,IAAI,IAAI,aAAa,CAAA;gBACzB,IAAI,IAAI;+BACO,gBAAgB,CAAC,UAAU;+BAC3B,gBAAgB,CAAC,iBAAiB;8BACnC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,qEAAqE;+BACvH,gBAAgB,CAAC,SAAS;;+BAE1B,iBAAiB,CAAC,UAAU,KAAK,iBAAiB,CAAC,QAAQ;;8BAE5D,gBAAgB,CAAC,SAAS,MAAM,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,EAAE,UAAU,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,CAAA;YAClJ,CAAC;YACD,yBAAyB;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC3C,wEAAwE;YACxE,MAAM,kBAAkB,GAAuB,EAAE,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBACjH,6FAA6F;gBAC7F,yCAAyC;gBACzC,2CAA2C;gBAC3C,uKAAuK;gBACvK,KAAK;gBAEL,IAAI,YAAY,GAAiB,IAAI,mBAAY,EAAE,CAAC;gBACpD,YAAY,CAAC,2BAA2B,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBAExD,MAAM,gBAAgB,GAAqB;oBACvC,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,iBAAiB,EAAE,CAAC,CAAC,iBAAiB;oBACtC,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,YAAY,EAAE,YAAY;iBAC7B,CAAC;gBAEF,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,kBAAkB,CAAC;QAC9B,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,gBAAgB;YAChB,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC,CAAC,CAAA;QACb,CAAC;IACL,CAAC;IAES,0BAA0B,CAAC,GAAqB,EAAE,MAAkB,EAAE,aAAyB,EAAE,YAA0B;QACjI,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAChH,IAAI,CAAC,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,SAAS,GAAG,CAAC,SAAS,wBAAwB,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;QAExF,IAAI,CAAC,CAAC,sBAAsB,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,EAAG,CAAC;YAC3D,sEAAsE;YACtE,OAAO,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC3C,CAAC;aACI,CAAC;YACF,yEAAyE;YACzE,8IAA8I;YAC9I,kGAAkG;YAClG,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,OAAO,WAAW,CAAC,CAAC,sBAAsB,UAAU,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,QAAQ,UAAU,MAAM,CAAC,eAAe,CAAC,IAAI,IAAI,MAAM,GAAG,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAA;QAC1L,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,MAAiC,EAAE,WAAsB;QAEtF,IAAG,CAAC,WAAW,EAAC,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,UAAU,GAAe,MAAM,IAAI,CAAC,eAAe,CAAa,OAAO,CAAC,CAAC;QAC/E,UAAU,CAAC,kBAAkB,GAAG,WAAW,CAAC;QAC5C,IAAI,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,IAAG,CAAC,OAAO,EAAC,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,gBAAgB,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,YAAY,GAAuB,MAAM,IAAI,CAAC,eAAe,CAAqB,gBAAgB,CAAC,CAAC;QACxG,YAAY,CAAC,SAAS,EAAE,CAAC;QACzB,YAAY,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACxC,YAAY,CAAC,eAAe,GAAG,WAAW,CAAC,EAAE,CAAC;QAC9C,YAAY,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QACpC,YAAY,CAAC,gBAAgB,GAAG,aAAa,CAAC;QAC9C,YAAY,CAAC,cAAc,GAAG,SAAS,CAAC;QACxC,YAAY,CAAC,YAAY,GAAG,UAAU,CAAC,EAAE,CAAC;QAC1C,YAAY,CAAC,kBAAkB,GAAG,WAAW,CAAC;QAE9C,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QAC7C,IAAG,CAAC,UAAU,EAAC,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,QAAQ,GAA+B;YACvC,MAAM,EAAE,YAAY;YACpB,wBAAwB,EAAE,EAAE;SAC/B,CAAC;QAEF,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,OAA2B,EAAE,WAAsB;QACzE,MAAM,MAAM,GAAsB;YAC9B,OAAO,EAAE,KAAK;YACd,gBAAgB,EAAE,IAAI;YACtB,YAAY,EAAE,EAAE;YAChB,OAAO,EAAE,OAAO;YAChB,aAAa,EAAE,IAAI;SACtB,CAAA;QACD,MAAM,cAAc,GAAyB,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QACxG,IAAI,CAAC;YACD;;;;;;;eAOG;YAEH,6BAA6B;YAC7B,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAE9B,yFAAyF;YACzF,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClD,MAAM,QAAQ,GAAe,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;gBACxF,MAAM,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;gBAC9D,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;oBACtC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;gBACrD,CAAC;gBACD,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;oBACzB,MAAM,CAAC,aAAa,GAAG,mEAAmE,CAAA;oBAC1F,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;gBAC1C,CAAC;YACL,CAAC;YAED,0EAA0E;YAC1E,KAAK,MAAM,WAAW,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;gBAC/C,MAAM,YAAY,GAA4B;oBAC1C,YAAY,EAAE,WAAW;oBACzB,OAAO,EAAE,KAAK;oBACd,wBAAwB,EAAE,IAAI;oBAC9B,OAAO,EAAE,IAAI;iBAChB,CAAA;gBACD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;gBACtC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBACvF,0FAA0F;gBAC1F,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;oBACpC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,UAAU,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;oBAC5H,MAAM,aAAa,GAAe,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;oBACxG,MAAM,aAAa,CAAC,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBACvD,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,2BAA2B,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iDAAiD;oBAClJ;;;;;;uBAMG;oBACH,IAAI,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC9B,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;wBAC7B,YAAY,CAAC,OAAO,GAAG,oCAAoC,UAAU,CAAC,YAAY,CAAC,QAAQ,eAAe,UAAU,CAAC,iBAAiB,iCAAiC,OAAO,CAAC,2BAA2B,CAAC,QAAQ,EAAE,EAAE,CAAC;wBACxN,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;oBAC1C,CAAC;gBACL,CAAC;gBACD,mIAAmI;gBACnI,MAAM,cAAc,GAAe,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;gBAC/F,MAAM,cAAc,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;gBAC5C,IAAI,CAAC,MAAM,cAAc,CAAC,MAAM,EAAE,EAAE,CAAC;oBACjC,YAAY,CAAC,OAAO,GAAG,yBAAyB,WAAW,CAAC,QAAQ,EAAE,eAAe,OAAO,CAAC,UAAU,EAAE,CAAC;oBAC1G,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAC1C,CAAC;;oBAEG,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;YACpC,CAAC;YAED,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YACtB,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YAErE,8BAA8B;YAC9B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE/B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;YAEtB,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YAEZ,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACjC,oEAAoE;YACpE,MAAM,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;YACrE,MAAM,CAAC,CAAC,CAAC,CAAA;QACb,CAAC;IACL,CAAC;IAGS,KAAK,CAAC,iBAAiB,CAAC,OAA2B,EAAE,MAAyB,EAAE,WAAqB;QAC3G,IAAI,CAAC;YACD,uFAAuF;YACvF,MAAM,cAAc,GAAyB,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;YAC1G,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;YACxE,IAAI,CAAC,MAAM;gBACP,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,CAAC,OAAO,CAAC,UAAU,wBAAwB,CAAC,CAAC;YACjF,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW;gBACjC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAErE,cAAc,CAAC,SAAS,EAAE,CAAC;YAC3B,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC;YACpC,cAAc,CAAC,iBAAiB,GAAG,OAAO,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC,CAAC,2GAA2G;YAC5L,cAAc,CAAC,iBAAiB,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvF,cAAc,CAAC,cAAc,GAAG,UAAU,CAAC;YAC3C,cAAc,CAAC,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACtF,cAAc,CAAC,gBAAgB,GAAG,SAAS,CAAA;YAC3C,cAAc,CAAC,mBAAmB,GAAG,IAAI,IAAI,EAAE,CAAC;YAChD,IAAI,MAAM,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9B,MAAM,CAAC,gBAAgB,GAAG,cAAc,CAAC,EAAE,CAAC;gBAC5C,OAAO,cAAc,CAAC;YAC1B,CAAC;;gBAEG,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC,CAAC,CAAA;QACb,CAAC;IACL,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAC,cAAoC,EAAE,MAAyB,EAAE,WAAsB;QACxH,IAAI,CAAC;YACD,uFAAuF;YACvF,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW;gBACjC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;YAErE,cAAc,CAAC,gBAAgB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAA;YACvE,cAAc,CAAC,iBAAiB,GAAG,IAAI,IAAI,EAAE,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,+EAA+E;gBAChG,cAAc,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAA;YACvD,IAAI,MAAM,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC9B,yGAAyG;gBACzG,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;oBAClC,MAAM,sBAAsB,GAAiC,MAAM,IAAI,CAAC,eAAe,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;oBACnI,sBAAsB,CAAC,SAAS,EAAE,CAAC;oBACnC,sBAAsB,CAAC,gBAAgB,GAAG,cAAc,CAAC,EAAE,CAAC;oBAC5D,sBAAsB,CAAC,eAAe,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,uGAAuG;oBACzK,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;oBACjE,sBAAsB,CAAC,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,qCAAqC;oBAC1G,IAAI,CAAC,MAAM,sBAAsB,CAAC,IAAI,EAAE;wBACpC,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;gBAClE,CAAC;YACL,CAAC;;gBAEG,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,CAAC,EAAG,CAAC;YACR,yGAAyG;YACzG,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAA;YACX,4FAA4F;QAChG,CAAC;IACL,CAAC;IAES,UAAU,CAAC,MAAkB,EAAE,UAAmB,EAAE,MAAc,EAAE,IAAc;QACxF,MAAM,UAAU,GAAW,SAAS,MAAM,CAAC,UAAU,CAAC,UAAU,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5H,MAAM,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;QACrF,IAAI,IAAI,GAAW,EAAE,CAAC;QACtB,IAAI,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;YACvC,IAAI,OAAO,GAAG,IAAI,CAAC;YAEnB,IAAI,CAAC,UAAU;gBACX,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,sFAAsF;YAEzH,IAAI,GAAG;;0BAEO,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,UAAU,CAAC;;;;sBAIlD,UAAU;;;mCAGG,MAAM,CAAC,eAAe,CAAC,IAAI;;;;8BAIhC,IAAI,CAAC,sBAAsB,CAAC,uBAAuB,CAAC;;;;0BAIxD,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC;;;+CAGnG,CAAA;QACvC,CAAC;aACI,CAAC;YACF,0DAA0D;YAC1D,IAAI,GAAG,UAAU,CAAC;QACvB,CAAC;QACA,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,kBAAkB,CAAC,UAAsB,EAAE,MAAe;QAChE,OAAO,mBAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,EAAE;YAC5B,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IACnI,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,MAAkB,EAAE,QAAwC,EAAE,MAAe,EAAE,IAAc;QAC7H,sCAAsC;QACtC,MAAM,MAAM,GAAG,4BAAkB,CAAC,QAAQ,CAAC;QAC3C,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAChD,MAAM,YAAY,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACxF,MAAM,cAAc,GAAG,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,GAAG,YAAY,CAAC,CAAC;QAC1H,MAAM,oBAAoB,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;QAC3F,IAAI,CAAC,oBAAoB;YACrB,MAAM,IAAI,KAAK,CAAC,mBAAmB,cAAc,wBAAwB,CAAC,CAAC;QAE/E,MAAM,OAAO,GAAG,MAAM,CAAC,uCAAuC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QACvG,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;YACjE,wFAAwF;YACxF,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;gBAC5B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;oBACxC,YAAY,EAAE,CAAC;oBACf,YAAY,EAAE,MAAM;oBACpB,cAAc,EAAE,oBAAoB;oBACpC,WAAW,EAAE,IAAI;iBACpB,CAAC,CAAA;gBACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACO,KAAK,CAAC,qBAAqB,CAAC,MAAkB,EAAE,QAA2B,EAAE,MAAe,EAAE,IAAc;QAClH,qCAAqC;QACrC,IAAI,QAAQ,KAAK,QAAQ;YACrB,OAAO;QAEX,0CAA0C;QAC1C,MAAM,mBAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,gDAAgD;QACpH,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,IAAI,mBAAQ,EAAE,CAAC;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACrB,IAAI,CAAC,CAAC,YAAY,KAAK,aAAa,IAAI,MAAM;oBAC1C,CAAC,CAAC,YAAY,KAAK,YAAY,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC7C,MAAM,CAAC,GAAyB;wBAC5B,gBAAgB,EAAE,CAAC,CAAC,EAAE;wBACtB,YAAY,EAAE,MAAM;wBACpB,QAAQ,EAAE,CAAC,CAAC,UAAU;wBACtB,OAAO,EAAE,CAAC,CAAC,SAAS;qBACvB,CAAA;oBACD,IAAI,MAAM,EAAE,CAAC;wBACT,+FAA+F;wBAC/F,MAAM,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAA;oBACrC,CAAC;yBACI,CAAC;wBACF,0EAA0E;wBAC1E,IAAI,CAAC;4BACD,oBAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;wBAC5D,CAAC;wBACD,OAAO,CAAC,EAAE,CAAC;4BACP,IAAA,eAAQ,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC;wBACxB,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,MAAkB,EAAE,IAAc,EAAE,OAA0B;QAC5E,MAAM,YAAY,GAAG,IAAI,uBAAgB,EAAE,CAAC;QAC5C,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC;YACnC,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;gBACnD,4CAA4C;gBAC5C,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC;iBACI,IAAK,UAAU,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;gBACxD,uCAAuC;gBACvC,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/E,CAAC;iBACI,CAAC;gBACF,2FAA2F;gBAC3F,qKAAqK;gBACrK,IAAK,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC,EAAG,CAAC;oBAC1D,YAAY,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;oBACpC,YAAY,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACrD,YAAY,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,uDAAuD;oBAC7J,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,2DAA2D;oBAEpG,qHAAqH;oBACrH,yIAAyI;oBACzI,6FAA6F;oBAC7F,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oBACzF,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAClD,6HAA6H;wBAC7H,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC1F,IAAI,OAAO,EAAE,CAAC;4BACV,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;4BAC7B,YAAY,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;4BAClC,YAAY,CAAC,OAAO,GAAG,OAAO,CAAC;4BAC/B,OAAO,KAAK,CAAC;wBACjB,CAAC;oBACL,CAAC;oBAED,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;wBAC/I,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBAC1K,IAAI,CAAC,OAAO,CAAC,kBAAkB;wBAC3B,OAAO,CAAC,iBAAiB,KAAK,IAAI,CAAC,mDAAmD,EAAG,CAAC;wBAC1F,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBAC/D,CAAC;oBAED,IAAI,CAAC,OAAO,CAAC,kBAAkB;wBAC1B,OAAO,CAAC,mBAAmB,KAAK,IAAI,CAAC,sDAAsD,EAAG,CAAC;wBAChG,iIAAiI;wBACjI,mCAAmC;wBACnC,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;oBACjE,CAAC;oBAED,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;oBAE/D,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;wBAC1B,mEAAmE;wBACnE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;4BACnC,wEAAwE;4BACxE,8EAA8E;4BAC9E,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,oDAAoD;4BACjF,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,sBAAe,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAC,EAAE,CAAC,OAAY,EAAE,OAAgB,EAAE,EAAE;gCAC9I,4EAA4E;gCAC5E,eAAe;gCACf,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,wBAAwB;gCACpD,YAAY,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;gCAClC,IAAI,OAAO,IAAI,OAAO,EAAG,CAAC;oCACtB,uEAAuE;oCACvE,kFAAkF;oCAClF,kFAAkF;oCAClF,IAAI,CAAC,OAAO,CAAC,kBAAkB;wCAC3B,OAAO,CAAC,mBAAmB,KAAK,IAAI,CAAC,sDAAsD;wCAC3F,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oCAE5D,uDAAuD;oCACvD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,iBAAiB,KAAK,IAAI;wCAC9C,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;oCAE1D,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;oCAC5B,OAAO,CAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;gCACxB,CAAC;qCACI,CAAC;oCACF,gFAAgF;oCAChF,8DAA8D;oCAC9D,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;oCAC7B,YAAY,CAAC,OAAO,GAAG,oBAAoB,CAAC;oCAC5C,MAAM,CAAC,OAAO,CAAC,CAAC;gCACpB,CAAC;4BACL,CAAC,CAAC,CAAC,CAAC;wBACR,CAAC,CAAC,CAAC;oBACP,CAAC;yBACI,CAAC;wBACF,yDAAyD;wBACzD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,CAAC,oDAAoD;wBAEjF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBAE3C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,sBAAsB;wBAElD,YAAY,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;wBAClC,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC9B,2DAA2D;4BAC3D,IAAI,CAAC,OAAO,CAAC,kBAAkB;gCAC1B,OAAO,CAAC,mBAAmB,KAAK,IAAI,CAAC,sDAAsD;gCAC5F,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,8DAA8D;4BAE3H,wDAAwD;4BACxD,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,iBAAiB,KAAK,IAAI;gCAC9C,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;4BAE1D,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;4BAC5B,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;wBACrB,CAAC;;4BAEG,MAAM,IAAI,KAAK,CAAC,8CAA8C,GAAG,IAAI,CAAC,CAAC;oBAC/E,CAAC;gBACL,CAAC;;oBAEG,OAAO,MAAM,CAAC,CAAC,0CAA0C;YACjE,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,iDAAiD;YAC7E,YAAY,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAClC,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YACjC,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC,CAAC,oBAAoB;QACjC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,UAAsB;QACjD,IAAI,IAAI,GAAW,EAAE,EAAE,WAAW,GAAW,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/B,IAAI,WAAW,KAAK,CAAC;gBACjB,IAAI,IAAI,KAAK,CAAC;YAClB,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACzF,WAAW,EAAE,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,gBAAgB,CAAC,MAAkB,EAAE,QAAiB;QAC1D,IAAI,IAAI,GAAW,EAAE,EAAE,MAAM,GAAY,IAAI,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;oBACpB,iHAAiH;oBACjH,+GAA+G;oBAC/G,IAAI,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;oBAC9B,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,gBAAgB,EAAE,CAAC;wBACnD,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;oBAC1C,CAAC;oBACD,IAAI,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;oBACrD,MAAM,GAAG,KAAK,CAAC;gBACnB,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,QAAQ,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;YAC/B,2GAA2G;YAC3G,KAAK,IAAI,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;gBAC/C,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;gBACpH,MAAM,UAAU,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5C,IAAI,IAAI,MAAM,CAAC,CAAC,QAAQ,KAAK,GAAG,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,UAAU,CAAA,CAAE,kEAAkE;YAC5I,CAAC;YACD,MAAM,GAAG,KAAK,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,qBAAqB,CAAC,CAAkB,EAAE,KAAa,EAAE,OAAgB;QAC7E,IAAI,IAAI,GAAW,EAAE,CAAC;QACtB,IAAI,MAAM,GAAW,EAAE,CAAC;QACxB,IAAI,GAAG,GAAQ,KAAK,CAAC;QAErB,QAAU,CAAC,CAAC,MAAM,EAAG,CAAC;YAClB,KAAK,wBAAiB,CAAC,MAAM;gBACzB,MAAM,GAAG,GAAG,CAAC;gBACb,MAAM;YACV,KAAK,wBAAiB,CAAC,IAAI;gBACvB,MAAM,GAAG,GAAG,CAAC;gBACb,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;oBACpC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAG,CAAC;wBAC3B,sDAAsD;wBACtD,oBAAoB;wBACpB,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;oBACxB,CAAC;yBACI,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAG,CAAC;wBAChC,2DAA2D;wBAC3D,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;oBACxB,CAAC;oBACD,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,uDAAuD;gBACpF,CAAC;gBACD,MAAM;YACV;gBACI,MAAM;QACd,CAAC;QACD,IAAI,CAAC,OAAO;YACR,IAAI,IAAI,qBAAqB,CAAC;QAElC,IAAI,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAA;QAE5D,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,cAAc,CAAC,UAAe,EAAE,WAAmB;QACzD,IAAI,IAAS,CAAC;QACd,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,WAAW,IAAI,GAAG;gBAClB,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;iBAChD,IAAI,WAAW,IAAI,GAAG;gBACvB,IAAI,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;;gBAEjD,IAAI,GAAG,UAAU,CAAC;QAC1B,CAAC;;YAEG,IAAI,GAAG,UAAU,CAAC;QAEtB,OAAO,CAAC,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,GAAG,WAAW,CAAA;IACxG,CAAC;IAES,qBAAqB,CAAC,OAAY,EAAE,OAAY,EAAE,UAAkB,EAAE,QAAa,EAAE,UAAsB,EAAE,IAAc,EAAE,oBAA6B;QAChK,MAAM,cAAc,GAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,2EAA2E;QAC3L,MAAM,OAAO,GAAQ,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,KAAK,IAAI,CAAC,cAAc,IAAI,OAAO,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnG,MAAM,WAAW,GAAW,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,MAAM,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,SAAS,IAAI,CAAC,gBAAgB,uCAAuC,UAAU;2FACb,MAAM,GAAG,QAAQ,GAAG,MAAM;yFAC5B,IAAI,CAAC,EAAE;+FACD,WAAW;sGACJ,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB;kGAC7G,cAAc;;8FAElB,CAAA;YAClF,OAAO,IAAI,CAAC;QAChB,CAAC;;YAEG,OAAO,IAAI,CAAC;IACpB,CAAC;IACS,KAAK,CAAC,eAAe,CAAC,OAAY,EAAE,OAAY,EAAE,UAAkB,EAAE,QAAa,EAAE,UAAsB,EAAE,IAAc;QACjI,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACxG,IAAI,IAAI,EAAE,CAAC;YACP,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC3C,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IACS,qBAAqB,CAAC,aAAkB,EAAE,iBAAyB,GAAG;QAC5E,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClB,IAAI,IAAI,IAAI,CAAC;YACjB,CAAC;YACD,IAAI,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE,2CAA2C;gBAC/E,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,iBAAiB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,CAAA;iBAC9J,IAAI,MAAM,CAAC,QAAQ,EAAE,uCAAuC;gBAC7D,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,WAAW,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,CAAA;iBAC1F,IAAI,MAAM,CAAC,QAAQ,EAAE,uCAAuC;gBAC7D,IAAI,IAAI,GAAG,MAAM,CAAC,KAAK,iBAAiB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,CAAA;QAEzG,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACnC,CAAC;IAES,UAAU,CAAC,KAAU,EAAE,SAAiB,EAAE,aAAqB;QACrE,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;YACjE,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,aAAa,CAAC;QAC1D,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,wBAAwB,CAAC,GAAQ,EAAE,aAAqB;QAC9D,MAAM,IAAI,GAAQ,EAAE,CAAC;QACrB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACpB,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,MAAM,OAAO,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACzB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAC9B,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;oBAC3C,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,aAAa,GAAG,aAAa,CAAC,CAAC;gBACpE,CAAC;;oBAEG,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACS,WAAW,CAAC,OAAY,EAAE,OAAY,EAAE,UAAsB,EAAE,aAAqB;QAC3F,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO;YACpB,OAAO,IAAI,CAAC;aACX,CAAC;YACF,MAAM,OAAO,GAAQ,EAAE,CAAC;YACxB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBACxB,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;gBAClF,IAAI,KAAK,GAAY,KAAK,CAAC;gBAC3B,IAAI,CAAC,CAAC,QAAQ;oBACV,KAAK,GAAG,KAAK,CAAC,CAAC,gJAAgJ;qBAC9J,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;oBACxD,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;oBACnD,KAAK,GAAG,KAAK,CAAC,CAAC,4EAA4E;qBAC1F,CAAC;oBACF,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;wBACf,KAAK,wBAAiB,CAAC,MAAM;4BACzB,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;4BACtC,MAAM;wBACV,KAAK,wBAAiB,CAAC,IAAI;4BACvB,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;4BAChF,MAAM;wBACV,KAAK,wBAAiB,CAAC,MAAM,CAAC;wBAC9B,KAAK,wBAAiB,CAAC,OAAO;4BAC1B,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;4BACtC,MAAM;oBACd,CAAC;gBACL,CAAC;gBACD,IAAI,KAAK,EAAE,CAAC;oBACR,sCAAsC;oBACtC,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;oBACzC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;wBAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACtF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC;wBAC9C,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAEtF,OAAO,CAAC,GAAG,CAAC,GAAG;wBACX,KAAK,EAAE,GAAG;wBACV,QAAQ,EAAE,CAAC;wBACX,QAAQ,EAAE,CAAC;qBACd,CAAC;gBACN,CAAC;YACL,CAAC;YAED,OAAO,OAAO,CAAC;QACnB,CAAC;IACL,CAAC;IAGM,KAAK,CAAC,IAAI,CAAC,MAAkB,EAAE,YAA0B,EAAE,4BAAsC,IAAI,EAAE,IAAc;QACxH,MAAM,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACjD,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3H,IAAI,CAAC,EAAE;gBACH,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,SAAS,wBAAwB,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YAClG,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,OAAO,IAAI,EAAE,CAAC,QAAQ,KAAK,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,MAAM,EAAE,CAAA;QAC5D,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEjB,MAAM,GAAG,GAAG,kBAAkB,MAAM,CAAC,UAAU,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,CAAC,QAAQ,UAAU,KAAK,EAAE,CAAA;QAC1G,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,iEAAiE;YACjE,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjB,IAAI,yBAAyB,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,yBAAyB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACxD,MAAM,GAAG,GAAG,yBAAyB,CAAC,CAAC,CAAC,CAAC;oBACzC,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC;oBACpF,IAAI,OAAO,EAAE,CAAC;wBACV,IAAI,MAAM,GAAW,EAAE,CAAC;wBACxB,MAAM,mBAAmB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,UAAU,CAAC;wBAC5I,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7D,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,aAAa;4BACnD,6BAA6B;4BAC7B,MAAM,GAAG;;;+CAGU,mBAAmB,MAAM,OAAO,CAAC,qBAAqB;;+CAEtD,OAAO,CAAC,sBAAsB,OAAO,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAA,CAAC,2CAA2C;;4BAExJ,uCAAuC;4BACvC,MAAM,GAAG;;;+CAGU,mBAAmB,MAAM,OAAO,CAAC,qBAAqB;;+CAEtD,mBAAmB,MAAM,OAAO,CAAC,QAAQ,sBAAsB,OAAO,CAAC,sBAAsB,YAAY,OAAO,CAAC,0BAA0B;;kDAExI,OAAO,CAAC,mBAAmB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAA,CAAC,2CAA2C;wBAE3J,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;wBAC9C,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAChC,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;wBACvB,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,GAAG,CAAC;QACf,CAAC;QACD,4CAA4C;QAC5C,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,YAAY,CAAC,MAAkB,EAAE,IAAc;QACrD,IAAI,IAAI,GAAW,EAAE,CAAC;QACtB,MAAM,MAAM,GAAW,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC1H,MAAM,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;YACvD,MAAM,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAClH,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,GAAG,EAAE,CAAC,KAAK,GAAG,MAAM,EAAE,CAAA;QACzD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,UAAU,GAAW,SAAS,MAAM,CAAC,UAAU,CAAC,UAAU,MAAM,MAAM,KAAK,OAAO,EAAE,CAAC;QAC3F,MAAM,uBAAuB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;QAErF,IAAI,MAAM,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;YACvC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB;YAC9D,MAAM,aAAa,GAAW,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACxD,OAAO,GAAG,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,CAAA;YAC7D,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,gBAAgB,GAAW,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC3D,OAAO,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,CAAA;YAC9D,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,cAAc,GAAW,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACzD,OAAO,IAAI,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAA;YAC3C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,GAAG,GAAW,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBAC9C,OAAO,IAAI,EAAE,CAAC,QAAQ,cAAc,CAAA;YACxC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjB,MAAM,mBAAmB,GAAW,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvF,MAAM,WAAW,GAAW,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;gBACtD,OAAO,IAAI,EAAE,CAAC,QAAQ,QAAQ,EAAE,CAAC,IAAI,GAAG,CAAA;YAC5C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,IAAI,GAAG;;;;;0BAKO,aAAa;;;;sBAIjB,UAAU;;8BAEF,gBAAgB;6BACjB,cAAc;yBAClB,GAAG;;;8BAGE,IAAI,CAAC,sBAAsB,CAAC,uBAAuB,CAAC;;;;0BAIxD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,iDAAiD,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,mBAAmB,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC;;;6BAGpK,WAAW,EAAE,CAAC;QACnC,CAAC;aACI,CAAC;YACF,4BAA4B;YAC5B,yBAAyB;YACzB,IAAI,GAAG,UAAU,CAAC;QACtB,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,MAAkB,EAAE,OAA4B,EAAE,IAAc;QAChF,MAAM,MAAM,GAAG,IAAI,uBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,OAAO;gBACf,4CAA4C;gBAC5C,MAAM,IAAI,KAAK,CAAC,qEAAqE,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;YACnH,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc;gBACjC,wBAAwB;gBACxB,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,UAAU,CAAC,IAAI,6BAA6B,CAAC,CAAC;YAExG,MAAM,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;YACvB,MAAM,CAAC,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,uDAAuD;YACvJ,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,mDAAmD;YAEtF,qKAAqK;YACrK,2HAA2H;YAE3H,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAE7C,wEAAwE;YACxE,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,OAAO,EAAE,iBAAiB;gBAChD,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YACjE,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,OAAO,EAAE,mBAAmB;gBAClD,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAEnE,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,mEAAmE;gBACnE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACnC,wEAAwE;oBACxE,8EAA8E;oBAC9E,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,sBAAe,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAC,UAAU,EAAE,IAAI,CAAC,WAAW,EAAC,EAAE,CAAC,OAAY,EAAE,OAAgB,EAAE,EAAE;wBAC9I,4EAA4E;wBAC5E,eAAe;wBACf,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;wBAC5B,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;4BACrB,uEAAuE;4BACvE,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,OAAO,EAAE,iBAAiB;gCAChD,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;4BAC5D,IAAI,CAAC,OAAO,IAAI,KAAK,KAAK,OAAO,EAAE,mBAAmB;gCAClD,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;4BAE9D,iGAAiG;4BACjG,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;gCACjC,IAAI,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oCACrC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;oCACvB,MAAM,CAAC,OAAO,GAAG,8BAA8B,CAAA;oCAE/C,MAAM,CAAC,OAAO,CAAC,CAAC;gCACpB,CAAC;4BACL,CAAC;4BACD,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;4BACtB,OAAO,CAAE,IAAI,CAAC,CAAC;wBACnB,CAAC;;4BAEG,gFAAgF;4BAChF,8DAA8D;4BAC9D,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;wBACvB,MAAM,CAAC,OAAO,GAAG,8BAA8B,CAAA;wBAC/C,MAAM,CAAC,OAAO,CAAC,CAAC;oBACxB,CAAC,CAAC,CAAC,CAAC;gBACR,CAAC,CAAC,CAAC;YACP,CAAC;iBACI,CAAC;gBACF,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,IAAI,EAAE;oBAC3C,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;oBAEtC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACZ,kHAAkH;wBAClH,KAAK,IAAI,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;4BACjC,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;gCAC5B,OAAO,KAAK,CAAC;wBACrB,CAAC;wBAED,uEAAuE;wBACvE,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;wBACxD,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;wBAE1D,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;wBAC5B,OAAO,IAAI,CAAA;oBACf,CAAC;yBACI,CAAC;wBACF,MAAM,CAAC,OAAO,GAAG,6BAA6B,CAAC;wBAC/C,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;wBAC5B,OAAO,KAAK,CAAC;oBACjB,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;YAC3B,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,MAAM,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;YAC5B,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,4EAA4E;IAC5E,+BAA+B;IAC/B,4EAA4E;IAG5E,4EAA4E;IAC5E,+BAA+B;IAC/B,4EAA4E;IAErE,KAAK,CAAC,gBAAgB,CAAC,WAAmB,EAAE,WAAqC;QACpF,MAAM,IAAI,GAAG;;;;;;2BAMM,IAAI,CAAC,gBAAgB;;2BAErB,IAAI,CAAC,gBAAgB;;;;2BAIrB,IAAI,CAAC,gBAAgB;;;;oCAIZ,CAAC;QAE7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QACzD,2GAA2G;QAE3G,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,+CAA+C;YAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;gBACtC,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/D,IAAI,MAAM;wBACN,SAAS,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC;gBACzF,CAAC;gBAED,MAAM,OAAO,GAAG,kBAAkB,IAAI,CAAC,gBAAgB,MAAM,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC;gBACvJ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBAEhD,6BAA6B;gBAC7B,IAAI,gBAAgB,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5C,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBACtB,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,gBAAgB,EAAE,CAAC;4BAC1F,gBAAgB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBAC7D,CAAC;oBACL,CAAC,CAAC,CAAC;gBACP,CAAC;gBAED,OAAO;oBACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,UAAU,EAAE,IAAI,CAAC,MAAM;oBACvB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,QAAQ;oBACjB,iBAAiB,EAAE,gBAAgB;oBACnC,OAAO,EAAE,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS;iBACvD,CAAC;YACN,CAAC,CAAC,CAAC;YAEH,mCAAmC;YACnC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAE5C,4BAA4B;YAC5B,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAEzD,kDAAkD;YAClD,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBACpD,IAAI,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,iBAAiB,GAAG,GAAG,EAAE,CAAC;oBAC7D,OAAO,MAAM,CAAC,iBAAiB,CAAC;gBACpC,CAAC;gBACD,OAAO,GAAG,CAAC;YACf,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAEzB,OAAO;gBACH,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC7B,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW;gBACjC,OAAO,EAAE,QAAQ;gBACjB,MAAM,EAAE,EAAE;gBACV,gBAAgB,EAAE,gBAAgB;gBAClC,OAAO,EAAE,OAAO;aACnB,CAAA;QACL,CAAC;aACI,CAAC;YACF,OAAO;gBACH,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,6CAA6C,GAAG,WAAW;gBACnE,gBAAgB,EAAE,IAAI;gBACtB,OAAO,EAAE,IAAI;aAChB,CAAA;QACL,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAC,WAAmB,EAAE,WAAqC;QAC1F,MAAM,IAAI,GAAG;;;;;;;mBAOF,IAAI,CAAC,gBAAgB;;mBAErB,IAAI,CAAC,gBAAgB;;;;mBAIrB,IAAI,CAAC,gBAAgB;;;;4BAIZ,CAAC;QAErB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAEzD,2GAA2G;QAC3G,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,mIAAmI;YACnI,IAAI,WAAW,GAAG,EAAE,CAAC;YACrB,MAAM,WAAW,GAAwC,EAAE,CAAC;YAE5D,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBAC1B,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/D,IAAI,MAAM;wBACN,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC9C,CAAC;gBACD,MAAM,OAAO,GAAG,cAAc,IAAI,CAAC,gBAAgB,oBAAoB,IAAI,CAAC,QAAQ,kBAAkB,IAAI,CAAC,MAAM,yBAAyB,IAAI,CAAC,gBAAgB,MAAM,IAAI,CAAC,cAAc,IAAI,SAAS,EAAE,CAAC;gBACxM,WAAW,IAAI,OAAO,CAAC;gBACvB,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC3B,WAAW,IAAI,aAAa,CAAC;gBACjC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAE3D,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChD,IAAI,gBAAgB,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAE5C,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBACjC,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oBACnD,WAAW,CAAC,IAAI,CAAC;wBACb,QAAQ,EAAE,UAAU,CAAC,QAAQ;wBAC7B,UAAU,EAAE,UAAU,CAAC,UAAU;wBACjC,UAAU,EAAE,UAAU;qBACzB,CAAC,CAAC;oBAEH,IAAI,UAAU,GAAG,gBAAgB,EAAE,CAAC;wBAChC,gBAAgB,GAAG,UAAU,CAAC;oBAClC,CAAC;gBACL,CAAC,CAAC,CAAC;gBAEH,OAAO;oBACH,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC7B,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW;oBACjC,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,EAAE;oBACV,gBAAgB,EAAE,gBAAgB;oBAClC,iBAAiB,EAAE,WAAW;iBACjC,CAAC;YACN,CAAC;iBACI,CAAC;gBACF,OAAO;oBACH,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;oBAC7B,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW;oBACjC,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,yCAAyC,GAAG,WAAW;oBAC/D,gBAAgB,EAAE,IAAI;oBACtB,iBAAiB,EAAE,IAAI;iBAC1B,CAAC;YACN,CAAC;QACL,CAAC;aACI,CAAC;YACF,OAAO;gBACH,SAAS,EAAE,CAAC;gBACZ,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,6CAA6C,GAAG,WAAW;gBACnE,iBAAiB,EAAE,IAAI;gBACvB,gBAAgB,EAAE,IAAI;aACzB,CAAA;QACL,CAAC;IACL,CAAC;IAES,KAAK,CAAC,sBAAsB;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACpG,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,kDAAkD,CAAC,CAAA;QACpI,MAAM,GAAG,GAAsB,EAAE,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,CAAE,IAAI,sBAAe,CAAC,IAAI,EAC9B;gBACI,GAAG,IAAI,CAAC,CAAC,CAAC;gBACV,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;aAChI,CACJ,CAAC,CAAC;QACP,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAES,KAAK,CAAC,uBAAuB;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,mBAAmB,EAAE,IAAI,CAAC,CAAC;QACrG,MAAM,GAAG,GAAuB,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,GAAG,GAAG,IAAI,uBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YACzC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAES,KAAK,CAAC,eAAe;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,WAAW,EAAE,IAAI,CAAC,CAAC;QAC9F,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,+BAA+B,CAAC,CAAA;QAC/G,MAAM,GAAG,GAAe,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,CAAE,IAAI,eAAQ,CAAC,IAAI,EACvB;gBACI,GAAG,KAAK,CAAC,CAAC,CAAC;gBACX,SAAS,EAAE,SAAS,CAAC,MAAM,CAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAChE,CACJ,CAAC,CAAC;QACP,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAES,KAAK,CAAC,wBAAwB;QACpC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,oBAAoB,EAAE,IAAI,CAAC,CAAC;QACvG,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,mDAAmD,CAAC,CAAA;QACnI,MAAM,GAAG,GAAwB,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,GAAG,CAAC,IAAI,CAAE,IAAI,wBAAiB,CAAC,IAAI,EAChC;gBACI,GAAG,KAAK,CAAC,CAAC,CAAC;gBACX,kBAAkB,EAAE,SAAS,CAAC,MAAM,CAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;aAChI,CACJ,CAAC,CAAC;QACP,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAES,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,WAAW;YAChB,OAAO,IAAI,CAAC,WAAW,CAAA;aACtB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,wGAAwG;YACxG,IAAI,qBAAS,IAAI,qBAAS,CAAC,KAAK;gBAC5B,OAAO,qBAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAA;QACtH,CAAC;QACD,+CAA+C;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,KAAK,CAAC,sBAAsB;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,0BAA0B,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC/H,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,8BAA8B,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;YAC1H,OAAO,IAAI,eAAQ,CAAC,IAAI,EACpB;gBACI,GAAG,IAAI,CAAC,CAAC,CAAC;gBACV,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;aACxC,CACJ,CAAC;QACN,CAAC;;YAEG,OAAO,IAAI,CAAC;IACpB,CAAC;IAES,KAAK,CAAC,eAAe;QAC3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,WAAW,EAAE,IAAI,CAAC,CAAC;QAC9F,MAAM,GAAG,GAAe,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,EAAE,GAAG,IAAI,eAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACjC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAES,KAAK,CAAC,mBAAmB;QAC/B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,eAAe,EAAE,IAAI,CAAC,CAAC;QACtG,MAAM,GAAG,GAAmB,EAAE,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,mBAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1C,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAES,KAAK,CAAC,iCAAiC;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,CAAC,gBAAgB,6BAA6B,EAAE,IAAI,CAAC,CAAC;QAClH,MAAM,GAAG,GAAiC,EAAE,CAAC;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,iCAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YACxD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAGS,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,aAAkB,IAAI;QAC5D,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBAC9D,OAAO,IAAI,CAAC;YAChB,CAAC;iBACI,CAAC;gBACF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;gBAC7D,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC,CAAC,yBAAyB;QACtC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,YAAY;gBACtB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC;YAEzD,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC,CAAC,yBAAyB;QACtC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC,CAAC,yBAAyB;QACtC,CAAC;IACL,CAAC;IAES,KAAK,CAAC,mBAAmB;QAC/B,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;QAClD,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC,CAAC,yBAAyB;QACtC,CAAC;IACL,CAAC;IAED,IAAI,oBAAoB;QACpB,IAAI,CAAC,IAAI,CAAC,qBAAqB;YAC3B,IAAI,CAAC,qBAAqB,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAEhE,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,IAA6B;QAC3D,MAAM,MAAM,GAA6B,EAAE,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACnF,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACnK,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,UAAkB,EAAE,YAA0B;QAC3E,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;YAClE,IAAI,GAAG,EAAE,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;gBACxC,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;oBACpC,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB;gBACpD,CAAC;qBACI,CAAC;oBACF,IAAA,eAAQ,EAAC,UAAU,UAAU,WAAW,YAAY,CAAC,QAAQ,EAAE,4BAA4B,CAAC,CAAA;oBAC5F,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;QACL,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAES,sBAAsB,CAAC,UAAkB,EAAE,YAA0B;QAC3E,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACzD,IAAI,CAAC,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,YAAY,CAAC,CAAC;aACjD,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YAC1C,IAAI,CAAC,CAAC;gBACF,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,CAAC,EAAE,CAAC;gBACL,IAAA,eAAQ,EAAC,UAAU,UAAU,qGAAqG,CAAC,CAAA;gBACnI,OAAO,IAAI,CAAA;YACf,CAAC;iBACI,CAAC;gBACF,oCAAoC;gBACpC,IAAI,GAAG,GAAW,WAAW,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,UAAU,MAAM,CAAC,CAAC,QAAQ,UAAU,CAAA;gBACpF,IAAI,KAAK,GAAW,EAAE,CAAC;gBACvB,KAAK,IAAI,GAAG,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;oBACzC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC/D,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;wBAChB,KAAK,IAAI,OAAO,CAAC;oBACrB,KAAK,IAAI,IAAI,GAAG,CAAC,SAAS,KAAK,MAAM,GAAG,GAAG,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC;gBACjE,CAAC;gBACD,OAAO,GAAG,GAAG,KAAK,CAAC;YACvB,CAAC;QACL,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,sBAAsB;QAC/B,OAAO,IAAI,qDAAyB,EAAE,CAAC;IAC3C,CAAC;IAGD,4EAA4E;IAC5E,6BAA6B;IAC7B,4EAA4E;IAC5E,IAAc,QAAQ;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA78DD,sDA68DC;AAED,uIAAuI;AACvI,MAAM,wBAAwB;IAA9B;QACY,kBAAa,GAAQ,EAAE,CAAC;IAyBpC,CAAC;IAvBU,KAAK,CAAC,OAAO,CAAC,GAAW;QAC5B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC;gBACtC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;;gBAEjC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,KAAa;QAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAChC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAW;QAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,GAAG,CAAC;gBACtC,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YACnC,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;CACJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/sqlserver-dataprovider",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"description": "MemberJunction: SQL Server Client Data Provider",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,13 +19,14 @@
|
|
|
19
19
|
"typescript": "^5.3.3"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@memberjunction/ai": "~1.
|
|
23
|
-
"@memberjunction/
|
|
24
|
-
"@memberjunction/
|
|
25
|
-
"@memberjunction/core
|
|
26
|
-
"@memberjunction/
|
|
27
|
-
"@memberjunction/
|
|
28
|
-
"@memberjunction/
|
|
22
|
+
"@memberjunction/ai": "~1.4.1",
|
|
23
|
+
"@memberjunction/actions": "~1.4.1",
|
|
24
|
+
"@memberjunction/aiengine": "~1.4.1",
|
|
25
|
+
"@memberjunction/core": "~1.4.1",
|
|
26
|
+
"@memberjunction/core-entities": "~1.4.1",
|
|
27
|
+
"@memberjunction/global": "~1.4.1",
|
|
28
|
+
"@memberjunction/queue": "~1.4.1",
|
|
29
|
+
"@memberjunction/ai-vector-dupe": "~1.4.1",
|
|
29
30
|
"mssql": "^10.0.2",
|
|
30
31
|
"typeorm": "^0.3.20"
|
|
31
32
|
}
|