@acorex/platform 21.0.0-next.44 → 21.0.0-next.45

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.
Files changed (26) hide show
  1. package/fesm2022/{acorex-platform-common-common-settings.provider-lWz_f-Ia.mjs → acorex-platform-common-common-settings.provider-CsOyxClO.mjs} +17 -3
  2. package/fesm2022/acorex-platform-common-common-settings.provider-CsOyxClO.mjs.map +1 -0
  3. package/fesm2022/acorex-platform-common.mjs +204 -164
  4. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-core.mjs +5 -4
  6. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-layout-entity.mjs +381 -49
  8. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-layout-views.mjs +5 -3
  10. package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
  11. package/fesm2022/acorex-platform-layout-widget-core.mjs +72 -6
  12. package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-widgets.mjs +109 -131
  14. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  15. package/fesm2022/acorex-platform-themes-default.mjs +71 -5
  16. package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
  17. package/fesm2022/acorex-platform-workflow.mjs +85 -4
  18. package/fesm2022/acorex-platform-workflow.mjs.map +1 -1
  19. package/package.json +1 -1
  20. package/types/acorex-platform-common.d.ts +64 -47
  21. package/types/acorex-platform-layout-entity.d.ts +79 -4
  22. package/types/acorex-platform-layout-widget-core.d.ts +15 -0
  23. package/types/acorex-platform-layout-widgets.d.ts +15 -19
  24. package/types/acorex-platform-themes-default.d.ts +6 -0
  25. package/types/acorex-platform-workflow.d.ts +68 -2
  26. package/fesm2022/acorex-platform-common-common-settings.provider-lWz_f-Ia.mjs.map +0 -1
@@ -1166,6 +1166,20 @@ interface AXPClaimWorkflowTaskRequest {
1166
1166
  interface AXPClaimWorkflowTaskResponse {
1167
1167
  success: boolean;
1168
1168
  error?: string;
1169
+ errorCode?: string;
1170
+ }
1171
+ /**
1172
+ * Reassign a human-task bookmark to the current user without resuming the workflow.
1173
+ */
1174
+ interface AXPReassignWorkflowTaskToSelfRequest {
1175
+ instanceId: string;
1176
+ bookmarkId: string;
1177
+ stepId: string;
1178
+ }
1179
+ interface AXPReassignWorkflowTaskToSelfResponse {
1180
+ success: boolean;
1181
+ error?: string;
1182
+ errorCode?: string;
1169
1183
  }
1170
1184
 
1171
1185
  /**
@@ -1208,6 +1222,10 @@ interface AXPWorkflowEngine {
1208
1222
  * Engines that do not support pooling should omit this method.
1209
1223
  */
1210
1224
  claimTask?(request: AXPClaimWorkflowTaskRequest): Promise<AXPClaimWorkflowTaskResponse>;
1225
+ /**
1226
+ * Optional: reassign a human-task bookmark to the current user (requires permission on the engine).
1227
+ */
1228
+ reassignTaskToSelf?(request: AXPReassignWorkflowTaskToSelfRequest): Promise<AXPReassignWorkflowTaskToSelfResponse>;
1211
1229
  }
1212
1230
  /**
1213
1231
  * Injection token for workflow engine.
@@ -1215,6 +1233,35 @@ interface AXPWorkflowEngine {
1215
1233
  */
1216
1234
  declare const AXP_WORKFLOW_ENGINE: InjectionToken<AXPWorkflowEngine>;
1217
1235
 
1236
+ /**
1237
+ * Stable workflow engine error codes for UI branching (toasts, take-over flow, etc.).
1238
+ */
1239
+ declare const AXP_WORKFLOW_ERROR_CODES: {
1240
+ readonly TASK_NOT_ASSIGNEE: "WORKFLOW_TASK_NOT_ASSIGNEE";
1241
+ readonly CLAIM_REQUIRED: "WORKFLOW_CLAIM_REQUIRED";
1242
+ readonly REASSIGN_NOT_ALLOWED: "WORKFLOW_REASSIGN_NOT_ALLOWED";
1243
+ };
1244
+ type AXPWorkflowErrorCode = (typeof AXP_WORKFLOW_ERROR_CODES)[keyof typeof AXP_WORKFLOW_ERROR_CODES];
1245
+ /**
1246
+ * Business-rule failure from {@link AXPWorkflowEngine} (expected, user-facing).
1247
+ */
1248
+ declare class AXPWorkflowEngineError extends Error {
1249
+ readonly code: AXPWorkflowErrorCode;
1250
+ readonly details?: Record<string, unknown> | undefined;
1251
+ constructor(message: string, code: AXPWorkflowErrorCode, details?: Record<string, unknown> | undefined);
1252
+ }
1253
+ /**
1254
+ * Resolves a stable error code from an unknown thrown value.
1255
+ */
1256
+ declare function getWorkflowEngineErrorCode(error: unknown): AXPWorkflowErrorCode | undefined;
1257
+ /**
1258
+ * Resolves a user-facing message and optional code from an unknown thrown value.
1259
+ */
1260
+ declare function getWorkflowEngineErrorInfo(error: unknown): {
1261
+ message: string;
1262
+ code?: AXPWorkflowErrorCode;
1263
+ };
1264
+
1218
1265
  /**
1219
1266
  * Result of starting a workflow.
1220
1267
  */
@@ -1301,6 +1348,10 @@ interface WorkflowResumeResult {
1301
1348
  * Error message (if failed).
1302
1349
  */
1303
1350
  error?: string;
1351
+ /**
1352
+ * Stable engine error code when available (e.g. WORKFLOW_TASK_NOT_ASSIGNEE).
1353
+ */
1354
+ errorCode?: string;
1304
1355
  }
1305
1356
  /**
1306
1357
  * Result of claiming a pooled workflow task (cartable / candidate pool).
@@ -1309,6 +1360,16 @@ interface WorkflowClaimTaskResult {
1309
1360
  success: boolean;
1310
1361
  instanceId: string;
1311
1362
  error?: string;
1363
+ errorCode?: string;
1364
+ }
1365
+ /**
1366
+ * Result of reassigning a human-task bookmark to the current user.
1367
+ */
1368
+ interface WorkflowReassignTaskToSelfResult {
1369
+ success: boolean;
1370
+ instanceId: string;
1371
+ error?: string;
1372
+ errorCode?: string;
1312
1373
  }
1313
1374
  /**
1314
1375
  * Workflow Manager - Facade for workflow lifecycle orchestration.
@@ -1408,6 +1469,11 @@ declare class AXPWorkflowManager {
1408
1469
  * Supported only when the injected workflow engine implements {@link AXPWorkflowEngine.claimTask}.
1409
1470
  */
1410
1471
  claimTask(instanceId: string, bookmarkId: string, stepId: string): Promise<WorkflowClaimTaskResult>;
1472
+ /**
1473
+ * Reassign a human-task bookmark to the current user without advancing the workflow.
1474
+ * Supported only when the injected workflow engine implements {@link AXPWorkflowEngine.reassignTaskToSelf}.
1475
+ */
1476
+ reassignTaskToSelf(instanceId: string, bookmarkId: string, stepId: string): Promise<WorkflowReassignTaskToSelfResult>;
1411
1477
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPWorkflowManager, never>;
1412
1478
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowManager>;
1413
1479
  }
@@ -1814,5 +1880,5 @@ declare class AXPWorkflowDefinitionService {
1814
1880
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPWorkflowDefinitionService>;
1815
1881
  }
1816
1882
 
1817
- export { AXPActivityDefinitionService, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflowDefinitionService, AXPWorkflowError, AXPWorkflowEventService, AXPWorkflowFunction, AXPWorkflowLocalEngine, AXPWorkflowManager, AXPWorkflowModule, AXPWorkflowRegistryService, AXPWorkflowService, AXP_ACTIVITY_CATEGORY_PROVIDER, AXP_ACTIVITY_PROVIDER, AXP_WORKFLOW_CATEGORY_PROVIDER, AXP_WORKFLOW_ENGINE, AXP_WORKFLOW_PROVIDER, AXP_WORKFLOW_TASK_BOARD_ACTIVITY_TYPES, ActivityExecutor, WorkflowExpressionScopeService, axpIsWorkflowTaskBoardActivityType, createWorkFlowEvent, ofType };
1818
- export type { AXPActivityCategory, AXPActivityCategoryProvider, AXPActivityCategoryProviderToken, AXPActivityDefinition, AXPActivityExecutionContextState, AXPActivityIncident, AXPActivityProvider, AXPActivityProviderToken, AXPActivityStatus, AXPActivityVariable, AXPBookmark, AXPClaimWorkflowTaskRequest, AXPClaimWorkflowTaskResponse, AXPCompletionCallbackState, AXPConnection, AXPElsaWorkflowExtensions, AXPExceptionState, AXPFrontActivityCompleteRequest, AXPFrontActivityCompleteResponse, AXPGetWorkflowStateRequest, AXPResumeWorkflowRequest, AXPResumeWorkflowResponse, AXPStartWorkflowRequest, AXPStartWorkflowResponse, AXPTaskType, AXPWorkflow, AXPWorkflowActionInput, AXPWorkflowActivityInstance, AXPWorkflowBinding, AXPWorkflowCategory, AXPWorkflowCategoryProvider, AXPWorkflowCategoryProviderToken, AXPWorkflowCondition, AXPWorkflowConditionType, AXPWorkflowDefinition, AXPWorkflowEngine, AXPWorkflowEvent, AXPWorkflowExtensions, AXPWorkflowFaultState, AXPWorkflowGraph, AXPWorkflowInstance, AXPWorkflowInstanceState, AXPWorkflowModuleConfigs, AXPWorkflowNextStep, AXPWorkflowOutputProperty, AXPWorkflowProvider, AXPWorkflowProviderToken, AXPWorkflowState, AXPWorkflowStatus, AXPWorkflowStep, AXPWorkflowSubStatus, AXPWorkflowTask, ActivityExecutionResult, WorkflowClaimTaskResult, WorkflowCompleteResult, WorkflowExpressionContext, WorkflowResumeResult, WorkflowStartResult };
1883
+ export { AXPActivityDefinitionService, AXPWorkflowAction, AXPWorkflowContext, AXPWorkflowDefinitionService, AXPWorkflowEngineError, AXPWorkflowError, AXPWorkflowEventService, AXPWorkflowFunction, AXPWorkflowLocalEngine, AXPWorkflowManager, AXPWorkflowModule, AXPWorkflowRegistryService, AXPWorkflowService, AXP_ACTIVITY_CATEGORY_PROVIDER, AXP_ACTIVITY_PROVIDER, AXP_WORKFLOW_CATEGORY_PROVIDER, AXP_WORKFLOW_ENGINE, AXP_WORKFLOW_ERROR_CODES, AXP_WORKFLOW_PROVIDER, AXP_WORKFLOW_TASK_BOARD_ACTIVITY_TYPES, ActivityExecutor, WorkflowExpressionScopeService, axpIsWorkflowTaskBoardActivityType, createWorkFlowEvent, getWorkflowEngineErrorCode, getWorkflowEngineErrorInfo, ofType };
1884
+ export type { AXPActivityCategory, AXPActivityCategoryProvider, AXPActivityCategoryProviderToken, AXPActivityDefinition, AXPActivityExecutionContextState, AXPActivityIncident, AXPActivityProvider, AXPActivityProviderToken, AXPActivityStatus, AXPActivityVariable, AXPBookmark, AXPClaimWorkflowTaskRequest, AXPClaimWorkflowTaskResponse, AXPCompletionCallbackState, AXPConnection, AXPElsaWorkflowExtensions, AXPExceptionState, AXPFrontActivityCompleteRequest, AXPFrontActivityCompleteResponse, AXPGetWorkflowStateRequest, AXPReassignWorkflowTaskToSelfRequest, AXPReassignWorkflowTaskToSelfResponse, AXPResumeWorkflowRequest, AXPResumeWorkflowResponse, AXPStartWorkflowRequest, AXPStartWorkflowResponse, AXPTaskType, AXPWorkflow, AXPWorkflowActionInput, AXPWorkflowActivityInstance, AXPWorkflowBinding, AXPWorkflowCategory, AXPWorkflowCategoryProvider, AXPWorkflowCategoryProviderToken, AXPWorkflowCondition, AXPWorkflowConditionType, AXPWorkflowDefinition, AXPWorkflowEngine, AXPWorkflowErrorCode, AXPWorkflowEvent, AXPWorkflowExtensions, AXPWorkflowFaultState, AXPWorkflowGraph, AXPWorkflowInstance, AXPWorkflowInstanceState, AXPWorkflowModuleConfigs, AXPWorkflowNextStep, AXPWorkflowOutputProperty, AXPWorkflowProvider, AXPWorkflowProviderToken, AXPWorkflowState, AXPWorkflowStatus, AXPWorkflowStep, AXPWorkflowSubStatus, AXPWorkflowTask, ActivityExecutionResult, WorkflowClaimTaskResult, WorkflowCompleteResult, WorkflowExpressionContext, WorkflowReassignTaskToSelfResult, WorkflowResumeResult, WorkflowStartResult };
@@ -1 +0,0 @@
1
- {"version":3,"file":"acorex-platform-common-common-settings.provider-lWz_f-Ia.mjs","sources":["../../../../libs/platform/common/src/lib/configs/common-settings.provider.ts"],"sourcesContent":["import { Injectable, Injector } from '@angular/core';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { AXPSettingDefinitionProvider, AXPSettingDefinitionProviderContext } from '../settings';\nimport { AXPCommonSettings } from './common-settings.key';\n\nconst I18N = '@general:settings';\n\n@Injectable()\nexport class AXPCommonSettingProvider implements AXPSettingDefinitionProvider {\n constructor(private _injector: Injector) {}\n\n async provide(context: AXPSettingDefinitionProviderContext): Promise<void> {\n // Define the 'General Settings' group\n context\n .group('general')\n ?.addSection(\n 'notifications',\n `${I18N}.general.notifications.title`,\n `${I18N}.general.notifications.description`,\n )\n // Add the 'Enable Operation Toasts' setting\n .addSetting({\n key: AXPCommonSettings.EnableOperationToasts,\n title: `${I18N}.general.notifications.enable-operation-toasts.title`,\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n\n description: `${I18N}.general.notifications.enable-operation-toasts.description`,\n })\n\n // End the 'Notifications' section\n .endSection()\n .addSection('entity', `${I18N}.general.entity.title`, `${I18N}.general.entity.description`)\n // Add the 'Enable Operation Toasts' setting\n .addSetting({\n key: AXPCommonSettings.EntityFilterApplyMode,\n title: `${I18N}.general.entity.filter-apply-mode.title`,\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: 'auto',\n widget: {\n type: AXPWidgetsCatalog.select,\n options: {\n label: null,\n valueField: 'value',\n textField: 'text',\n dataSource: [\n { value: 'auto', text: `${I18N}.general.entity.filter-apply-mode.options.auto` },\n { value: 'manual', text: `${I18N}.general.entity.filter-apply-mode.options.manual` },\n ],\n },\n },\n\n description: `${I18N}.general.entity.filter-apply-mode.description`,\n })\n .addSetting({\n key: AXPCommonSettings.ShowCategoryColumnsByDefault,\n title: `${I18N}.general.entity.show-category-columns-by-default.title`,\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: false,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: `${I18N}.general.entity.show-category-columns-by-default.description`,\n })\n .addSetting({\n key: AXPCommonSettings.ApplyLayoutOrdering,\n title: `${I18N}.general.entity.apply-layout-ordering.title`,\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: `${I18N}.general.entity.apply-layout-ordering.description`,\n })\n .addSetting({\n key: AXPCommonSettings.RedirectToDetailsAfterCreate,\n title: `${I18N}.general.entity.redirect-to-details-after-create.title`,\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: `${I18N}.general.entity.redirect-to-details-after-create.description`,\n })\n .addSetting({\n key: AXPCommonSettings.ShowPageBadge,\n title: `${I18N}.general.entity.show-page-badge.title`,\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: `${I18N}.general.entity.show-page-badge.description`,\n })\n\n // End the 'Entity Settings' section\n .endSection()\n // End the 'General Settings' group\n .endGroup();\n }\n}\n"],"names":[],"mappings":";;;;;;AAMA,MAAM,IAAI,GAAG,mBAAmB;MAGnB,wBAAwB,CAAA;AACnC,IAAA,WAAA,CAAoB,SAAmB,EAAA;QAAnB,IAAA,CAAA,SAAS,GAAT,SAAS;IAAa;IAE1C,MAAM,OAAO,CAAC,OAA4C,EAAA;;QAExD;aACG,KAAK,CAAC,SAAS;cACd,UAAU,CACV,eAAe,EACf,CAAA,EAAG,IAAI,CAAA,4BAAA,CAA8B,EACrC,CAAA,EAAG,IAAI,CAAA,kCAAA,CAAoC;;AAG5C,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,iBAAiB,CAAC,qBAAqB;YAC5C,KAAK,EAAE,CAAA,EAAG,IAAI,CAAA,oDAAA,CAAsD;YACpE,KAAK,EAAE,gBAAgB,CAAC,IAAI;AAC5B,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9B,gBAAA,OAAO,EAAE;AACP,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;YAED,WAAW,EAAE,CAAA,EAAG,IAAI,CAAA,0DAAA,CAA4D;SACjF;;AAGA,aAAA,UAAU;aACV,UAAU,CAAC,QAAQ,EAAE,CAAA,EAAG,IAAI,uBAAuB,EAAE,CAAA,EAAG,IAAI,CAAA,2BAAA,CAA6B;;AAEzF,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,iBAAiB,CAAC,qBAAqB;YAC5C,KAAK,EAAE,CAAA,EAAG,IAAI,CAAA,uCAAA,CAAyC;YACvD,KAAK,EAAE,gBAAgB,CAAC,IAAI;AAC5B,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,MAAM;AACpB,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9B,gBAAA,OAAO,EAAE;AACP,oBAAA,KAAK,EAAE,IAAI;AACX,oBAAA,UAAU,EAAE,OAAO;AACnB,oBAAA,SAAS,EAAE,MAAM;AACjB,oBAAA,UAAU,EAAE;wBACV,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAA,EAAG,IAAI,CAAA,8CAAA,CAAgD,EAAE;wBAChF,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA,EAAG,IAAI,CAAA,gDAAA,CAAkD,EAAE;AACrF,qBAAA;AACF,iBAAA;AACF,aAAA;YAED,WAAW,EAAE,CAAA,EAAG,IAAI,CAAA,6CAAA,CAA+C;SACpE;AACA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,iBAAiB,CAAC,4BAA4B;YACnD,KAAK,EAAE,CAAA,EAAG,IAAI,CAAA,sDAAA,CAAwD;YACtE,KAAK,EAAE,gBAAgB,CAAC,IAAI;AAC5B,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,KAAK;AACnB,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9B,gBAAA,OAAO,EAAE;AACP,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;YACD,WAAW,EAAE,CAAA,EAAG,IAAI,CAAA,4DAAA,CAA8D;SACnF;AACA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,iBAAiB,CAAC,mBAAmB;YAC1C,KAAK,EAAE,CAAA,EAAG,IAAI,CAAA,2CAAA,CAA6C;YAC3D,KAAK,EAAE,gBAAgB,CAAC,IAAI;AAC5B,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9B,gBAAA,OAAO,EAAE;AACP,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;YACD,WAAW,EAAE,CAAA,EAAG,IAAI,CAAA,iDAAA,CAAmD;SACxE;AACA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,iBAAiB,CAAC,4BAA4B;YACnD,KAAK,EAAE,CAAA,EAAG,IAAI,CAAA,sDAAA,CAAwD;YACtE,KAAK,EAAE,gBAAgB,CAAC,IAAI;AAC5B,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9B,gBAAA,OAAO,EAAE;AACP,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;YACD,WAAW,EAAE,CAAA,EAAG,IAAI,CAAA,4DAAA,CAA8D;SACnF;AACA,aAAA,UAAU,CAAC;YACV,GAAG,EAAE,iBAAiB,CAAC,aAAa;YACpC,KAAK,EAAE,CAAA,EAAG,IAAI,CAAA,qCAAA,CAAuC;YACrD,KAAK,EAAE,gBAAgB,CAAC,IAAI;AAC5B,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9B,gBAAA,OAAO,EAAE;AACP,oBAAA,KAAK,EAAE,IAAI;AACZ,iBAAA;AACF,aAAA;YACD,WAAW,EAAE,CAAA,EAAG,IAAI,CAAA,2CAAA,CAA6C;SAClE;;AAGA,aAAA,UAAU;;AAEV,aAAA,QAAQ,EAAE;IACf;8GAnHW,wBAAwB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHAAxB,wBAAwB,EAAA,CAAA,CAAA;;2FAAxB,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBADpC;;;;;"}