@memberjunction/sqlserver-dataprovider 1.4.0 → 1.5.0

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): any;
74
- protected HandleEntityAIActions(entity: BaseEntity, before: boolean, user: UserInfo): Promise<void>;
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":"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"}
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
- // check for forbidden keywords and characters
313
+ // Define forbidden keywords and characters as whole words using regular expressions
313
314
  const forbiddenPatterns = [
314
- 'insert',
315
- 'update',
316
- 'delete',
317
- 'exec',
318
- 'execute',
319
- 'drop',
320
- '--',
321
- '/*',
322
- '*/',
323
- 'union',
324
- 'cast',
325
- 'xp_',
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 (lowerClause.includes(pattern)) {
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
- if (params.Fields.find((f) => f.trim().toLowerCase() === pKeyField.Name.toLowerCase()) === undefined)
359
- fieldList.push(pKeyField);
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
- if (fieldList.find((f) => f.Name.trim().toLowerCase() === pKeyField.Name.toLowerCase()) === undefined)
377
- fieldList.push(pKeyField); // this should never happen, all views should always have primary key in them, but just in case we do this here to ensure it
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.PrimaryKey.Name} FROM [${entityInfo.SchemaName}].${entityBaseView} WHERE (${whereSQL}))
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.PrimaryKey.Name} IN
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.PrimaryKey.Name} IN (SELECT ${entityInfo.PrimaryKey.Name} FROM ${entityInfo.SchemaName}.${entityInfo.FullTextSearchFunction}('${u}'))`;
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.PrimaryKey.NeedsQuotes ? "'" : '';
638
- return `(SELECT ${f.RelatedEntityFieldName} FROM [${entity.SchemaName}].${entity.BaseView} WHERE ${entity.PrimaryKey.Name}=${quotes}${CompositeKey.GetValueByIndex(0)}${quotes})`;
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.PrimaryKey.Name} FROM @ResultTable
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 HandleEntityAIActions(entity, before, user) {
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
- const p = {
865
- entityAIActionId: a.ID,
866
- entityRecord: entity,
867
- actionId: a.AIActionID,
868
- modelId: a.AIModelID
869
- };
870
- if (before) {
871
- // do it with await so we're blocking, as it needs to complete before the record save continues
872
- await ai.ExecuteEntityAIAction(p);
873
- }
874
- else {
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
- catch (e) {
880
- (0, core_1.LogError)(e.message);
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 pkeyName = entity.PrimaryKey.Name;
889
- const pkeyVal = entity.PrimaryKey.Value;
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 ((!pkeyVal) && !entity.EntityInfo.AllowCreateAPI) {
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
- const bNewRecord = pkeyVal ? false : true;
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.PrimaryKeys) {
994
- const pkeyQuotes = pkey.NeedsQuotes ? "'" : '';
995
- sRet += `, @${pkey.CodeName} = ` + pkeyQuotes + pkey.Value + pkeyQuotes; // add pkey to update SP at end, but only if other fields included
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.PrimaryKey.NeedsQuotes ? "'" : '';
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.PrimaryKey.Name]}${quotes}`; // don't yet support composite foreign keys
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.PrimaryKey.Name]}${quotes}`; // don't yet support composite foreign keys
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.PrimaryKeys.map((pk) => {
1210
- const quotes = pk.NeedsQuotes ? "'" : '';
1211
- return `@${pk.CodeName}=${quotes}${pk.Value}${quotes}`;
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.PrimaryKey?.Value)
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
- if (success && results)
1285
- resolve(entity.PrimaryKey.Value === results[0][entity.PrimaryKey.Name]);
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
- reject(results);
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
  }
@@ -1667,14 +1792,14 @@ class SQLServerDataProvider extends core_1.ProviderBase {
1667
1792
  }
1668
1793
  else {
1669
1794
  // got our field, create a SQL Query
1670
- let sql = `SELECT ${f.Name} FROM [${e.SchemaName}].[${e.BaseView}] WHERE `;
1795
+ let sql = `SELECT [${f.Name}] FROM [${e.SchemaName}].[${e.BaseView}] WHERE `;
1671
1796
  let where = '';
1672
1797
  for (let pkv of CompositeKey.KeyValuePairs) {
1673
1798
  const pk = e.PrimaryKeys.find(pk => pk.Name === pkv.FieldName);
1674
1799
  const quotes = pk.NeedsQuotes ? "'" : '';
1675
1800
  if (where.length > 0)
1676
1801
  where += ' AND ';
1677
- where += `${pkv.FieldName}=${quotes}${pkv.Value}${quotes}`;
1802
+ where += `[${pkv.FieldName}]=${quotes}${pkv.Value}${quotes}`;
1678
1803
  }
1679
1804
  return sql + where;
1680
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.4.0",
3
+ "version": "1.5.0",
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.4.0",
23
- "@memberjunction/aiengine": "~1.4.0",
24
- "@memberjunction/core": "~1.4.0",
25
- "@memberjunction/core-entities": "~1.4.0",
26
- "@memberjunction/global": "~1.4.0",
27
- "@memberjunction/queue": "~1.4.0",
28
- "@memberjunction/ai-vector-dupe": "~1.4.0",
22
+ "@memberjunction/ai": "~1.5.0",
23
+ "@memberjunction/actions": "~1.5.0",
24
+ "@memberjunction/aiengine": "~1.5.0",
25
+ "@memberjunction/core": "~1.5.0",
26
+ "@memberjunction/core-entities": "~1.5.0",
27
+ "@memberjunction/global": "~1.5.0",
28
+ "@memberjunction/queue": "~1.5.0",
29
+ "@memberjunction/ai-vector-dupe": "~1.5.0",
29
30
  "mssql": "^10.0.2",
30
31
  "typeorm": "^0.3.20"
31
32
  }