@webiny/api-workflows 6.4.5-beta.0 → 6.6.0-alpha.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.
Files changed (59) hide show
  1. package/WorkflowsFeature.d.ts +5 -0
  2. package/WorkflowsFeature.js +17 -0
  3. package/WorkflowsFeature.js.map +1 -0
  4. package/WorkflowsInitializer.d.ts +19 -0
  5. package/WorkflowsInitializer.js +97 -0
  6. package/WorkflowsInitializer.js.map +1 -0
  7. package/WorkflowsSchemaFactory.d.ts +8 -0
  8. package/WorkflowsSchemaFactory.js +19 -0
  9. package/WorkflowsSchemaFactory.js.map +1 -0
  10. package/domain/workflowState/WorkflowState.d.ts +1 -0
  11. package/domain/workflowState/WorkflowState.js +3 -0
  12. package/domain/workflowState/WorkflowState.js.map +1 -1
  13. package/domain/workflowState/WorkflowStateMapper.js +4 -2
  14. package/domain/workflowState/WorkflowStateMapper.js.map +1 -1
  15. package/domain/workflowState/abstractions.d.ts +3 -0
  16. package/domain/workflowState/abstractions.js.map +1 -1
  17. package/domain/workflowState/stateModel.js +1 -0
  18. package/domain/workflowState/stateModel.js.map +1 -1
  19. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.d.ts +3 -1
  20. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js +10 -2
  21. package/features/workflowState/CreateWorkflowState/CreateWorkflowStateUseCase.js.map +1 -1
  22. package/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.d.ts +9 -0
  23. package/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.js +13 -0
  24. package/features/workflowState/CreateWorkflowState/DefaultWorkflowStateContextProvider.js.map +1 -0
  25. package/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.d.ts +13 -0
  26. package/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.js +5 -0
  27. package/features/workflowState/CreateWorkflowState/WorkflowStateContextProvider.js.map +1 -0
  28. package/features/workflowState/CreateWorkflowState/feature.js +2 -0
  29. package/features/workflowState/CreateWorkflowState/feature.js.map +1 -1
  30. package/features/workflowState/CreateWorkflowState/index.d.ts +1 -0
  31. package/features/workflowState/CreateWorkflowState/index.js +1 -0
  32. package/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.d.ts +9 -0
  33. package/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.js +13 -0
  34. package/features/workflowState/ListWorkflowStates/DefaultWorkflowStateFilter.js.map +1 -0
  35. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.d.ts +3 -1
  36. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js +38 -7
  37. package/features/workflowState/ListWorkflowStates/ListWorkflowStatesUseCase.js.map +1 -1
  38. package/features/workflowState/ListWorkflowStates/WorkflowStateFilter.d.ts +8 -0
  39. package/features/workflowState/ListWorkflowStates/WorkflowStateFilter.js +5 -0
  40. package/features/workflowState/ListWorkflowStates/WorkflowStateFilter.js.map +1 -0
  41. package/features/workflowState/ListWorkflowStates/feature.js +2 -0
  42. package/features/workflowState/ListWorkflowStates/feature.js.map +1 -1
  43. package/features/workflowState/ListWorkflowStates/index.d.ts +1 -0
  44. package/features/workflowState/ListWorkflowStates/index.js +1 -0
  45. package/graphql/notifications.d.ts +2 -2
  46. package/graphql/notifications.js +44 -43
  47. package/graphql/notifications.js.map +1 -1
  48. package/graphql/validation/listWorkflowStates.d.ts +1 -1
  49. package/graphql/validation/listWorkflows.d.ts +1 -1
  50. package/graphql/workflowState.d.ts +2 -2
  51. package/graphql/workflowState.js +378 -306
  52. package/graphql/workflowState.js.map +1 -1
  53. package/graphql/workflows.d.ts +2 -2
  54. package/graphql/workflows.js +200 -178
  55. package/graphql/workflows.js.map +1 -1
  56. package/index.d.ts +1 -2
  57. package/index.js +1 -97
  58. package/package.json +17 -14
  59. package/index.js.map +0 -1
package/index.js CHANGED
@@ -1,97 +1 @@
1
- import { ContextPlugin, createRegisterExtensionPlugin } from "@webiny/handler";
2
- import { TenantContext } from "@webiny/api-core/features/tenancy/TenantContext/index.js";
3
- import { IdentityContext } from "@webiny/api-core/features/security/IdentityContext/index.js";
4
- import { WcpContext } from "@webiny/api-core/features/wcp/WcpContext/index.js";
5
- import { GetModelUseCase } from "@webiny/api-headless-cms/features/contentModel/GetModel/index.js";
6
- import { WORKFLOW_MODEL_ID, WorkflowModel } from "./domain/workflow/workflowModel.js";
7
- import { WORKFLOW_STATE_MODEL_ID, WorkflowStateModel } from "./domain/workflowState/stateModel.js";
8
- import { createWorkflowsSchema } from "./graphql/workflows.js";
9
- import { createWorkflowStateSchema } from "./graphql/workflowState.js";
10
- import { WorkflowModel as abstractions_js_WorkflowModel } from "./domain/workflow/abstractions.js";
11
- import { WorkflowStateModel as abstractions_js_WorkflowStateModel } from "./domain/workflowState/abstractions.js";
12
- import { WorkflowMapper } from "./domain/workflow/WorkflowMapper.js";
13
- import { WorkflowStateMapper } from "./domain/workflowState/WorkflowStateMapper.js";
14
- import { GetWorkflowFeature } from "./features/workflow/GetWorkflow/feature.js";
15
- import { ListWorkflowsFeature } from "./features/workflow/ListWorkflows/feature.js";
16
- import { CreateWorkflowFeature } from "./features/workflow/CreateWorkflow/feature.js";
17
- import { DeleteWorkflowFeature } from "./features/workflow/DeleteWorkflow/feature.js";
18
- import { UpdateWorkflowFeature } from "./features/workflow/UpdateWorkflow/feature.js";
19
- import { StoreWorkflowFeature } from "./features/workflow/StoreWorkflow/feature.js";
20
- import { GetWorkflowStateFeature } from "./features/workflowState/GetWorkflowState/feature.js";
21
- import { GetTargetWorkflowStateFeature } from "./features/workflowState/GetTargetWorkflowState/feature.js";
22
- import { ListOwnWorkflowStatesFeature } from "./features/workflowState/ListOwnWorkflowStates/feature.js";
23
- import { ListWorkflowStatesFeature } from "./features/workflowState/ListWorkflowStates/feature.js";
24
- import { ListRequestedWorkflowStatesFeature } from "./features/workflowState/ListRequestedWorkflowStates/feature.js";
25
- import { CreateWorkflowStateFeature } from "./features/workflowState/CreateWorkflowState/feature.js";
26
- import { UpdateWorkflowStateFeature } from "./features/workflowState/UpdateWorkflowState/feature.js";
27
- import { CancelWorkflowStateFeature } from "./features/workflowState/CancelWorkflowState/feature.js";
28
- import { DeleteWorkflowStateFeature } from "./features/workflowState/DeleteWorkflowState/feature.js";
29
- import { DeleteTargetWorkflowStateFeature } from "./features/workflowState/DeleteTargetWorkflowState/feature.js";
30
- import { StartWorkflowStateStepFeature } from "./features/workflowState/StartWorkflowStateStep/feature.js";
31
- import { ApproveWorkflowStateStepFeature } from "./features/workflowState/ApproveWorkflowStateStep/feature.js";
32
- import { RejectWorkflowStateStepFeature } from "./features/workflowState/RejectWorkflowStateStep/feature.js";
33
- import { TakeOverWorkflowStateStepFeature } from "./features/workflowState/TakeOverWorkflowStateStep/feature.js";
34
- import { GetUserTeamsFeature } from "./features/internal/GetUserTeams/feature.js";
35
- import { ListNotificationTypesFeature } from "./features/notifications/ListNotificationTypes/index.js";
36
- import { NotificationTransportFeature } from "./features/notifications/NotificationTransport/index.js";
37
- import { createNotificationsGraphQL } from "./graphql/notifications.js";
38
- const createWorkflows = ()=>{
39
- const modelsPlugin = createRegisterExtensionPlugin((context)=>{
40
- context.container.register(WorkflowModel);
41
- context.container.register(WorkflowStateModel);
42
- });
43
- const workflowsContextPlugin = new ContextPlugin(async (context)=>{
44
- const tenantContext = context.container.resolve(TenantContext);
45
- const identityContext = context.container.resolve(IdentityContext);
46
- const wcpContext = context.container.resolve(WcpContext);
47
- const hasTenant = tenantContext.getTenant();
48
- const canUseWorkflows = wcpContext.canUseWorkflows();
49
- if (!hasTenant) return;
50
- if (!canUseWorkflows) return;
51
- context.container.register(WorkflowModel);
52
- context.container.register(WorkflowStateModel);
53
- const getModel = context.container.resolve(GetModelUseCase);
54
- await identityContext.withoutAuthorization(async ()=>{
55
- const [workflowModel, workflowStateModel] = await Promise.all([
56
- getModel.execute(WORKFLOW_MODEL_ID),
57
- getModel.execute(WORKFLOW_STATE_MODEL_ID)
58
- ]);
59
- context.container.registerInstance(abstractions_js_WorkflowModel, workflowModel.value);
60
- context.container.registerInstance(abstractions_js_WorkflowStateModel, workflowStateModel.value);
61
- });
62
- context.container.register(WorkflowMapper);
63
- context.container.register(WorkflowStateMapper);
64
- ListNotificationTypesFeature.register(context.container);
65
- NotificationTransportFeature.register(context.container);
66
- GetWorkflowFeature.register(context.container);
67
- ListWorkflowsFeature.register(context.container);
68
- CreateWorkflowFeature.register(context.container);
69
- DeleteWorkflowFeature.register(context.container);
70
- UpdateWorkflowFeature.register(context.container);
71
- StoreWorkflowFeature.register(context.container);
72
- GetUserTeamsFeature.register(context.container);
73
- GetWorkflowStateFeature.register(context.container);
74
- GetTargetWorkflowStateFeature.register(context.container);
75
- ListOwnWorkflowStatesFeature.register(context.container);
76
- ListWorkflowStatesFeature.register(context.container);
77
- ListRequestedWorkflowStatesFeature.register(context.container);
78
- CreateWorkflowStateFeature.register(context.container);
79
- UpdateWorkflowStateFeature.register(context.container);
80
- CancelWorkflowStateFeature.register(context.container);
81
- DeleteWorkflowStateFeature.register(context.container);
82
- DeleteTargetWorkflowStateFeature.register(context.container);
83
- StartWorkflowStateStepFeature.register(context.container);
84
- ApproveWorkflowStateStepFeature.register(context.container);
85
- RejectWorkflowStateStepFeature.register(context.container);
86
- TakeOverWorkflowStateStepFeature.register(context.container);
87
- context.plugins.register(createNotificationsGraphQL(), createWorkflowsSchema(), createWorkflowStateSchema());
88
- });
89
- workflowsContextPlugin.name = "workflows.context";
90
- return [
91
- workflowsContextPlugin,
92
- modelsPlugin
93
- ];
94
- };
95
- export { createWorkflows };
96
-
97
- //# sourceMappingURL=index.js.map
1
+ export { WorkflowsFeature } from "./WorkflowsFeature.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/api-workflows",
3
- "version": "6.4.5-beta.0",
3
+ "version": "6.6.0-alpha.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": "./index.js",
@@ -17,23 +17,26 @@
17
17
  },
18
18
  "license": "MIT",
19
19
  "dependencies": {
20
- "@webiny/api": "6.4.5-beta.0",
21
- "@webiny/api-core": "6.4.5-beta.0",
22
- "@webiny/api-headless-cms": "6.4.5-beta.0",
23
- "@webiny/api-mailer": "6.4.5-beta.0",
24
- "@webiny/feature": "6.4.5-beta.0",
25
- "@webiny/handler": "6.4.5-beta.0",
26
- "@webiny/handler-graphql": "6.4.5-beta.0",
27
- "@webiny/utils": "6.4.5-beta.0",
20
+ "@webiny/api": "6.6.0-alpha.0",
21
+ "@webiny/api-core": "6.6.0-alpha.0",
22
+ "@webiny/api-graphql": "6.6.0-alpha.0",
23
+ "@webiny/api-headless-cms": "6.6.0-alpha.0",
24
+ "@webiny/api-mailer": "6.6.0-alpha.0",
25
+ "@webiny/di": "1.0.2",
26
+ "@webiny/event-handler-core": "6.6.0-alpha.0",
27
+ "@webiny/feature": "6.6.0-alpha.0",
28
+ "@webiny/utils": "6.6.0-alpha.0",
29
+ "graphql": "16.14.2",
28
30
  "zod": "4.4.3"
29
31
  },
30
32
  "devDependencies": {
31
- "@webiny/build-tools": "6.4.5-beta.0",
32
- "@webiny/plugins": "6.4.5-beta.0",
33
- "@webiny/project-utils": "6.4.5-beta.0",
34
- "@webiny/testing": "6.4.5-beta.0",
33
+ "@webiny/api-core-testing": "6.6.0-alpha.0",
34
+ "@webiny/api-headless-cms-testing": "6.6.0-alpha.0",
35
+ "@webiny/build-tools": "6.6.0-alpha.0",
36
+ "@webiny/plugins": "6.6.0-alpha.0",
37
+ "@webiny/project-utils": "6.6.0-alpha.0",
35
38
  "type-fest": "5.8.0",
36
- "typescript": "6.0.3",
39
+ "typescript": "7.0.2",
37
40
  "vitest": "4.1.10"
38
41
  },
39
42
  "publishConfig": {
package/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { ContextPlugin, createRegisterExtensionPlugin } from \"@webiny/handler\";\nimport { TenantContext } from \"@webiny/api-core/features/tenancy/TenantContext/index.js\";\nimport { IdentityContext } from \"@webiny/api-core/features/security/IdentityContext/index.js\";\nimport { WcpContext } from \"@webiny/api-core/features/wcp/WcpContext/index.js\";\nimport { GetModelUseCase } from \"@webiny/api-headless-cms/features/contentModel/GetModel/index.js\";\nimport {\n WORKFLOW_MODEL_ID,\n WorkflowModel as WorkflowPrivateModel\n} from \"./domain/workflow/workflowModel.js\";\nimport {\n WORKFLOW_STATE_MODEL_ID,\n WorkflowStateModel as WorkflowStatePrivateModel\n} from \"./domain/workflowState/stateModel.js\";\nimport { createWorkflowsSchema } from \"~/graphql/workflows.js\";\nimport { createWorkflowStateSchema } from \"~/graphql/workflowState.js\";\nimport { WorkflowModel } from \"./domain/workflow/abstractions.js\";\nimport { WorkflowStateModel } from \"./domain/workflowState/abstractions.js\";\nimport { WorkflowMapper } from \"~/domain/workflow/WorkflowMapper.js\";\nimport { WorkflowStateMapper } from \"~/domain/workflowState/WorkflowStateMapper.js\";\nimport { GetWorkflowFeature } from \"~/features/workflow/GetWorkflow/feature.js\";\nimport { ListWorkflowsFeature } from \"~/features/workflow/ListWorkflows/feature.js\";\nimport { CreateWorkflowFeature } from \"~/features/workflow/CreateWorkflow/feature.js\";\nimport { DeleteWorkflowFeature } from \"~/features/workflow/DeleteWorkflow/feature.js\";\nimport { UpdateWorkflowFeature } from \"~/features/workflow/UpdateWorkflow/feature.js\";\nimport { StoreWorkflowFeature } from \"~/features/workflow/StoreWorkflow/feature.js\";\nimport { GetWorkflowStateFeature } from \"~/features/workflowState/GetWorkflowState/feature.js\";\nimport { GetTargetWorkflowStateFeature } from \"~/features/workflowState/GetTargetWorkflowState/feature.js\";\nimport { ListOwnWorkflowStatesFeature } from \"~/features/workflowState/ListOwnWorkflowStates/feature.js\";\nimport { ListWorkflowStatesFeature } from \"~/features/workflowState/ListWorkflowStates/feature.js\";\nimport { ListRequestedWorkflowStatesFeature } from \"~/features/workflowState/ListRequestedWorkflowStates/feature.js\";\nimport { CreateWorkflowStateFeature } from \"~/features/workflowState/CreateWorkflowState/feature.js\";\nimport { UpdateWorkflowStateFeature } from \"~/features/workflowState/UpdateWorkflowState/feature.js\";\nimport { CancelWorkflowStateFeature } from \"~/features/workflowState/CancelWorkflowState/feature.js\";\nimport { DeleteWorkflowStateFeature } from \"~/features/workflowState/DeleteWorkflowState/feature.js\";\nimport { DeleteTargetWorkflowStateFeature } from \"~/features/workflowState/DeleteTargetWorkflowState/feature.js\";\nimport { StartWorkflowStateStepFeature } from \"~/features/workflowState/StartWorkflowStateStep/feature.js\";\nimport { ApproveWorkflowStateStepFeature } from \"~/features/workflowState/ApproveWorkflowStateStep/feature.js\";\nimport { RejectWorkflowStateStepFeature } from \"~/features/workflowState/RejectWorkflowStateStep/feature.js\";\nimport { TakeOverWorkflowStateStepFeature } from \"~/features/workflowState/TakeOverWorkflowStateStep/feature.js\";\nimport { GetUserTeamsFeature } from \"~/features/internal/GetUserTeams/feature.js\";\nimport { ListNotificationTypesFeature } from \"~/features/notifications/ListNotificationTypes/index.js\";\nimport { NotificationTransportFeature } from \"./features/notifications/NotificationTransport/index.js\";\nimport { createNotificationsGraphQL } from \"~/graphql/notifications.js\";\n\nexport const createWorkflows = () => {\n const modelsPlugin = createRegisterExtensionPlugin(context => {\n context.container.register(WorkflowPrivateModel);\n context.container.register(WorkflowStatePrivateModel);\n });\n\n const workflowsContextPlugin = new ContextPlugin(async context => {\n const tenantContext = context.container.resolve(TenantContext);\n const identityContext = context.container.resolve(IdentityContext);\n const wcpContext = context.container.resolve(WcpContext);\n\n const hasTenant = tenantContext.getTenant();\n const canUseWorkflows = wcpContext.canUseWorkflows();\n if (!hasTenant) {\n return;\n }\n\n if (!canUseWorkflows) {\n return;\n }\n\n // Register private models\n context.container.register(WorkflowPrivateModel);\n context.container.register(WorkflowStatePrivateModel);\n\n // Fetch and register CMS models\n const getModel = context.container.resolve(GetModelUseCase);\n\n await identityContext.withoutAuthorization(async () => {\n const [workflowModel, workflowStateModel] = await Promise.all([\n getModel.execute(WORKFLOW_MODEL_ID),\n getModel.execute(WORKFLOW_STATE_MODEL_ID)\n ]);\n\n context.container.registerInstance(WorkflowModel, workflowModel.value);\n context.container.registerInstance(WorkflowStateModel, workflowStateModel.value);\n });\n\n // Register mappers\n context.container.register(WorkflowMapper);\n context.container.register(WorkflowStateMapper);\n\n // Register notification features\n ListNotificationTypesFeature.register(context.container);\n NotificationTransportFeature.register(context.container);\n\n // Register workflow features\n GetWorkflowFeature.register(context.container);\n ListWorkflowsFeature.register(context.container);\n CreateWorkflowFeature.register(context.container);\n DeleteWorkflowFeature.register(context.container);\n UpdateWorkflowFeature.register(context.container);\n StoreWorkflowFeature.register(context.container);\n\n // Register internal features\n GetUserTeamsFeature.register(context.container);\n\n // Register workflow state features\n GetWorkflowStateFeature.register(context.container);\n GetTargetWorkflowStateFeature.register(context.container);\n ListOwnWorkflowStatesFeature.register(context.container);\n ListWorkflowStatesFeature.register(context.container);\n ListRequestedWorkflowStatesFeature.register(context.container);\n CreateWorkflowStateFeature.register(context.container);\n UpdateWorkflowStateFeature.register(context.container);\n CancelWorkflowStateFeature.register(context.container);\n DeleteWorkflowStateFeature.register(context.container);\n DeleteTargetWorkflowStateFeature.register(context.container);\n StartWorkflowStateStepFeature.register(context.container);\n ApproveWorkflowStateStepFeature.register(context.container);\n RejectWorkflowStateStepFeature.register(context.container);\n TakeOverWorkflowStateStepFeature.register(context.container);\n\n context.plugins.register(\n createNotificationsGraphQL(),\n createWorkflowsSchema(),\n createWorkflowStateSchema()\n );\n });\n\n workflowsContextPlugin.name = \"workflows.context\";\n\n return [workflowsContextPlugin, modelsPlugin];\n};\n"],"names":["createWorkflows","modelsPlugin","createRegisterExtensionPlugin","context","WorkflowPrivateModel","WorkflowStatePrivateModel","workflowsContextPlugin","ContextPlugin","tenantContext","TenantContext","identityContext","IdentityContext","wcpContext","WcpContext","hasTenant","canUseWorkflows","getModel","GetModelUseCase","workflowModel","workflowStateModel","Promise","WORKFLOW_MODEL_ID","WORKFLOW_STATE_MODEL_ID","WorkflowModel","WorkflowStateModel","WorkflowMapper","WorkflowStateMapper","ListNotificationTypesFeature","NotificationTransportFeature","GetWorkflowFeature","ListWorkflowsFeature","CreateWorkflowFeature","DeleteWorkflowFeature","UpdateWorkflowFeature","StoreWorkflowFeature","GetUserTeamsFeature","GetWorkflowStateFeature","GetTargetWorkflowStateFeature","ListOwnWorkflowStatesFeature","ListWorkflowStatesFeature","ListRequestedWorkflowStatesFeature","CreateWorkflowStateFeature","UpdateWorkflowStateFeature","CancelWorkflowStateFeature","DeleteWorkflowStateFeature","DeleteTargetWorkflowStateFeature","StartWorkflowStateStepFeature","ApproveWorkflowStateStepFeature","RejectWorkflowStateStepFeature","TakeOverWorkflowStateStepFeature","createNotificationsGraphQL","createWorkflowsSchema","createWorkflowStateSchema"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CO,MAAMA,kBAAkB;IAC3B,MAAMC,eAAeC,8BAA8BC,CAAAA;QAC/CA,QAAQ,SAAS,CAAC,QAAQ,CAACC;QAC3BD,QAAQ,SAAS,CAAC,QAAQ,CAACE;IAC/B;IAEA,MAAMC,yBAAyB,IAAIC,cAAc,OAAMJ;QACnD,MAAMK,gBAAgBL,QAAQ,SAAS,CAAC,OAAO,CAACM;QAChD,MAAMC,kBAAkBP,QAAQ,SAAS,CAAC,OAAO,CAACQ;QAClD,MAAMC,aAAaT,QAAQ,SAAS,CAAC,OAAO,CAACU;QAE7C,MAAMC,YAAYN,cAAc,SAAS;QACzC,MAAMO,kBAAkBH,WAAW,eAAe;QAClD,IAAI,CAACE,WACD;QAGJ,IAAI,CAACC,iBACD;QAIJZ,QAAQ,SAAS,CAAC,QAAQ,CAACC;QAC3BD,QAAQ,SAAS,CAAC,QAAQ,CAACE;QAG3B,MAAMW,WAAWb,QAAQ,SAAS,CAAC,OAAO,CAACc;QAE3C,MAAMP,gBAAgB,oBAAoB,CAAC;YACvC,MAAM,CAACQ,eAAeC,mBAAmB,GAAG,MAAMC,QAAQ,GAAG,CAAC;gBAC1DJ,SAAS,OAAO,CAACK;gBACjBL,SAAS,OAAO,CAACM;aACpB;YAEDnB,QAAQ,SAAS,CAAC,gBAAgB,CAACoB,+BAAeL,cAAc,KAAK;YACrEf,QAAQ,SAAS,CAAC,gBAAgB,CAACqB,oCAAoBL,mBAAmB,KAAK;QACnF;QAGAhB,QAAQ,SAAS,CAAC,QAAQ,CAACsB;QAC3BtB,QAAQ,SAAS,CAAC,QAAQ,CAACuB;QAG3BC,6BAA6B,QAAQ,CAACxB,QAAQ,SAAS;QACvDyB,6BAA6B,QAAQ,CAACzB,QAAQ,SAAS;QAGvD0B,mBAAmB,QAAQ,CAAC1B,QAAQ,SAAS;QAC7C2B,qBAAqB,QAAQ,CAAC3B,QAAQ,SAAS;QAC/C4B,sBAAsB,QAAQ,CAAC5B,QAAQ,SAAS;QAChD6B,sBAAsB,QAAQ,CAAC7B,QAAQ,SAAS;QAChD8B,sBAAsB,QAAQ,CAAC9B,QAAQ,SAAS;QAChD+B,qBAAqB,QAAQ,CAAC/B,QAAQ,SAAS;QAG/CgC,oBAAoB,QAAQ,CAAChC,QAAQ,SAAS;QAG9CiC,wBAAwB,QAAQ,CAACjC,QAAQ,SAAS;QAClDkC,8BAA8B,QAAQ,CAAClC,QAAQ,SAAS;QACxDmC,6BAA6B,QAAQ,CAACnC,QAAQ,SAAS;QACvDoC,0BAA0B,QAAQ,CAACpC,QAAQ,SAAS;QACpDqC,mCAAmC,QAAQ,CAACrC,QAAQ,SAAS;QAC7DsC,2BAA2B,QAAQ,CAACtC,QAAQ,SAAS;QACrDuC,2BAA2B,QAAQ,CAACvC,QAAQ,SAAS;QACrDwC,2BAA2B,QAAQ,CAACxC,QAAQ,SAAS;QACrDyC,2BAA2B,QAAQ,CAACzC,QAAQ,SAAS;QACrD0C,iCAAiC,QAAQ,CAAC1C,QAAQ,SAAS;QAC3D2C,8BAA8B,QAAQ,CAAC3C,QAAQ,SAAS;QACxD4C,gCAAgC,QAAQ,CAAC5C,QAAQ,SAAS;QAC1D6C,+BAA+B,QAAQ,CAAC7C,QAAQ,SAAS;QACzD8C,iCAAiC,QAAQ,CAAC9C,QAAQ,SAAS;QAE3DA,QAAQ,OAAO,CAAC,QAAQ,CACpB+C,8BACAC,yBACAC;IAER;IAEA9C,uBAAuB,IAAI,GAAG;IAE9B,OAAO;QAACA;QAAwBL;KAAa;AACjD"}