@pierskarsenbarg/sdm 1.31.0 → 1.33.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 (86) hide show
  1. package/account.d.ts +7 -10
  2. package/account.js +4 -4
  3. package/account.js.map +1 -1
  4. package/accountAttachment.d.ts +1 -1
  5. package/accountAttachment.js +1 -1
  6. package/accountGroup.d.ts +87 -0
  7. package/accountGroup.js +84 -0
  8. package/accountGroup.js.map +1 -0
  9. package/approvalWorkflow.d.ts +16 -6
  10. package/approvalWorkflow.js +16 -6
  11. package/approvalWorkflow.js.map +1 -1
  12. package/getAccount.d.ts +10 -10
  13. package/getAccount.js +8 -8
  14. package/getAccountGroup.d.ts +101 -0
  15. package/getAccountGroup.js +66 -0
  16. package/getAccountGroup.js.map +1 -0
  17. package/getApprovalWorkflow.d.ts +4 -4
  18. package/getApprovalWorkflow.js +4 -4
  19. package/getGroup.d.ts +127 -0
  20. package/getGroup.js +72 -0
  21. package/getGroup.js.map +1 -0
  22. package/getGroupRole.d.ts +101 -0
  23. package/getGroupRole.js +66 -0
  24. package/getGroupRole.js.map +1 -0
  25. package/getNode.d.ts +6 -6
  26. package/getNode.js +4 -4
  27. package/getResource.d.ts +6 -6
  28. package/getResource.js +4 -4
  29. package/getRole.d.ts +2 -0
  30. package/getRole.js +2 -0
  31. package/getRole.js.map +1 -1
  32. package/getSecretEngine.d.ts +74 -2
  33. package/getSecretEngine.js +12 -0
  34. package/getSecretEngine.js.map +1 -1
  35. package/getSecretStore.d.ts +2 -2
  36. package/getWorkflow.d.ts +38 -0
  37. package/getWorkflow.js +38 -0
  38. package/getWorkflow.js.map +1 -1
  39. package/getWorkflowRole.d.ts +14 -4
  40. package/getWorkflowRole.js +14 -4
  41. package/getWorkflowRole.js.map +1 -1
  42. package/group.d.ts +113 -0
  43. package/group.js +82 -0
  44. package/group.js.map +1 -0
  45. package/groupRole.d.ts +87 -0
  46. package/groupRole.js +84 -0
  47. package/groupRole.js.map +1 -0
  48. package/identityAlias.d.ts +13 -0
  49. package/identityAlias.js +13 -0
  50. package/identityAlias.js.map +1 -1
  51. package/identitySet.d.ts +1 -1
  52. package/identitySet.js +1 -1
  53. package/index.d.ts +18 -0
  54. package/index.js +26 -2
  55. package/index.js.map +1 -1
  56. package/node.d.ts +4 -4
  57. package/node.js +4 -4
  58. package/package.json +1 -1
  59. package/policy.d.ts +3 -4
  60. package/policy.js +3 -4
  61. package/policy.js.map +1 -1
  62. package/proxyClusterKey.d.ts +1 -1
  63. package/proxyClusterKey.js +1 -1
  64. package/remoteIdentity.d.ts +13 -0
  65. package/remoteIdentity.js +13 -0
  66. package/remoteIdentity.js.map +1 -1
  67. package/resource.d.ts +15 -24
  68. package/resource.js +2 -0
  69. package/resource.js.map +1 -1
  70. package/role.d.ts +66 -17
  71. package/role.js +66 -17
  72. package/role.js.map +1 -1
  73. package/secretEngine.d.ts +9 -15
  74. package/secretEngine.js +2 -0
  75. package/secretEngine.js.map +1 -1
  76. package/secretStore.d.ts +63 -6
  77. package/secretStore.js +10 -0
  78. package/secretStore.js.map +1 -1
  79. package/types/input.d.ts +397 -117
  80. package/types/output.d.ts +887 -252
  81. package/workflow.d.ts +48 -0
  82. package/workflow.js +48 -0
  83. package/workflow.js.map +1 -1
  84. package/workflowRole.d.ts +7 -3
  85. package/workflowRole.js +7 -3
  86. package/workflowRole.js.map +1 -1
package/workflow.d.ts CHANGED
@@ -3,6 +3,54 @@ import * as pulumi from "@pulumi/pulumi";
3
3
  * Workflows are the collection of rules that define the resources to which access can be requested,
4
4
  * the users that can request that access, and the mechanism for approving those requests which can either
5
5
  * but automatic approval or a set of users authorized to approve the requests.
6
+ * ## Example Usage
7
+ *
8
+ * ```typescript
9
+ * import * as pulumi from "@pulumi/pulumi";
10
+ * import * as sdm from "@pierskarsenbarg/sdm";
11
+ *
12
+ * // Create approval workflows first
13
+ * const autoGrant = new sdm.ApprovalWorkflow("auto_grant", {
14
+ * name: "Auto Grant Example",
15
+ * approvalMode: "automatic",
16
+ * });
17
+ * const manualApproval = new sdm.ApprovalWorkflow("manual_approval", {
18
+ * name: "Manual Approval Example",
19
+ * approvalMode: "manual",
20
+ * approvalSteps: [{
21
+ * quantifier: "any",
22
+ * skipAfter: "2h0m0s",
23
+ * approvers: [{
24
+ * reference: "manager-of-requester",
25
+ * }],
26
+ * }],
27
+ * });
28
+ * // Create workflows that reference the approval workflows
29
+ * const autoGrantWorkflow = new sdm.Workflow("auto_grant_workflow", {
30
+ * name: "auto grant workflow example",
31
+ * approvalFlowId: autoGrant.id,
32
+ * enabled: true,
33
+ * accessRules: JSON.stringify([{
34
+ * type: "redis",
35
+ * tags: {
36
+ * region: "us-east",
37
+ * },
38
+ * }]),
39
+ * });
40
+ * const manualApprovalWorkflow = new sdm.Workflow("manual_approval_workflow", {
41
+ * name: "manual approval workflow example",
42
+ * approvalFlowId: manualApproval.id,
43
+ * enabled: true,
44
+ * accessRules: JSON.stringify([{
45
+ * type: "redis",
46
+ * tags: {
47
+ * region: "us-east",
48
+ * },
49
+ * }]),
50
+ * });
51
+ * ```
52
+ * This resource can be imported using the import command.
53
+ *
6
54
  * ## Import
7
55
  *
8
56
  * A Workflow can be imported using the id, e.g.,
package/workflow.js CHANGED
@@ -9,6 +9,54 @@ const utilities = require("./utilities");
9
9
  * Workflows are the collection of rules that define the resources to which access can be requested,
10
10
  * the users that can request that access, and the mechanism for approving those requests which can either
11
11
  * but automatic approval or a set of users authorized to approve the requests.
12
+ * ## Example Usage
13
+ *
14
+ * ```typescript
15
+ * import * as pulumi from "@pulumi/pulumi";
16
+ * import * as sdm from "@pierskarsenbarg/sdm";
17
+ *
18
+ * // Create approval workflows first
19
+ * const autoGrant = new sdm.ApprovalWorkflow("auto_grant", {
20
+ * name: "Auto Grant Example",
21
+ * approvalMode: "automatic",
22
+ * });
23
+ * const manualApproval = new sdm.ApprovalWorkflow("manual_approval", {
24
+ * name: "Manual Approval Example",
25
+ * approvalMode: "manual",
26
+ * approvalSteps: [{
27
+ * quantifier: "any",
28
+ * skipAfter: "2h0m0s",
29
+ * approvers: [{
30
+ * reference: "manager-of-requester",
31
+ * }],
32
+ * }],
33
+ * });
34
+ * // Create workflows that reference the approval workflows
35
+ * const autoGrantWorkflow = new sdm.Workflow("auto_grant_workflow", {
36
+ * name: "auto grant workflow example",
37
+ * approvalFlowId: autoGrant.id,
38
+ * enabled: true,
39
+ * accessRules: JSON.stringify([{
40
+ * type: "redis",
41
+ * tags: {
42
+ * region: "us-east",
43
+ * },
44
+ * }]),
45
+ * });
46
+ * const manualApprovalWorkflow = new sdm.Workflow("manual_approval_workflow", {
47
+ * name: "manual approval workflow example",
48
+ * approvalFlowId: manualApproval.id,
49
+ * enabled: true,
50
+ * accessRules: JSON.stringify([{
51
+ * type: "redis",
52
+ * tags: {
53
+ * region: "us-east",
54
+ * },
55
+ * }]),
56
+ * });
57
+ * ```
58
+ * This resource can be imported using the import command.
59
+ *
12
60
  * ## Import
13
61
  *
14
62
  * A Workflow can be imported using the id, e.g.,
package/workflow.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../workflow.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;GAWG;AACH,MAAa,QAAS,SAAQ,MAAM,CAAC,cAAc;IAC/C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAqB,EAAE,IAAmC;QACnH,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC,YAAY,CAAC;IACzD,CAAC;IAiDD,YAAY,IAAY,EAAE,WAA0C,EAAE,IAAmC;QACrG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAwC,CAAC;YACvD,cAAc,CAAC,4BAA4B,CAAC,GAAG,KAAK,EAAE,0BAA0B,CAAC;YACjF,cAAc,CAAC,0BAA0B,CAAC,GAAG,KAAK,EAAE,wBAAwB,CAAC;YAC7E,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;YACzD,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;SAC5C;aAAM;YACH,MAAM,IAAI,GAAG,WAAuC,CAAC;YACrD,cAAc,CAAC,4BAA4B,CAAC,GAAG,IAAI,EAAE,0BAA0B,CAAC;YAChF,cAAc,CAAC,0BAA0B,CAAC,GAAG,IAAI,EAAE,wBAAwB,CAAC;YAC5E,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;YACxD,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;SAC3C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;;AAvGL,4BAwGC;AA1FG,gBAAgB;AACO,qBAAY,GAAG,6BAA6B,CAAC"}
1
+ {"version":3,"file":"workflow.js","sourceRoot":"","sources":["../workflow.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,MAAa,QAAS,SAAQ,MAAM,CAAC,cAAc;IAC/C;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAqB,EAAE,IAAmC;QACnH,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,QAAQ,CAAC,YAAY,CAAC;IACzD,CAAC;IAiDD,YAAY,IAAY,EAAE,WAA0C,EAAE,IAAmC;QACrG,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAwC,CAAC;YACvD,cAAc,CAAC,4BAA4B,CAAC,GAAG,KAAK,EAAE,0BAA0B,CAAC;YACjF,cAAc,CAAC,0BAA0B,CAAC,GAAG,KAAK,EAAE,wBAAwB,CAAC;YAC7E,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,gBAAgB,CAAC,GAAG,KAAK,EAAE,cAAc,CAAC;YACzD,cAAc,CAAC,WAAW,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC;YAC/C,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK,EAAE,WAAW,CAAC;YACnD,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,EAAE,OAAO,CAAC;YAC3C,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,IAAI,CAAC;YACrC,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;SAC5C;aAAM;YACH,MAAM,IAAI,GAAG,WAAuC,CAAC;YACrD,cAAc,CAAC,4BAA4B,CAAC,GAAG,IAAI,EAAE,0BAA0B,CAAC;YAChF,cAAc,CAAC,0BAA0B,CAAC,GAAG,IAAI,EAAE,wBAAwB,CAAC;YAC5E,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,gBAAgB,CAAC,GAAG,IAAI,EAAE,cAAc,CAAC;YACxD,cAAc,CAAC,WAAW,CAAC,GAAG,IAAI,EAAE,SAAS,CAAC;YAC9C,cAAc,CAAC,aAAa,CAAC,GAAG,IAAI,EAAE,WAAW,CAAC;YAClD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;YAC1C,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC;YACpC,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;SAC3C;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,QAAQ,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;;AAvGL,4BAwGC;AA1FG,gBAAgB;AACO,qBAAY,GAAG,6BAA6B,CAAC"}
package/workflowRole.d.ts CHANGED
@@ -8,9 +8,13 @@ import * as pulumi from "@pulumi/pulumi";
8
8
  * import * as pulumi from "@pulumi/pulumi";
9
9
  * import * as sdm from "@pierskarsenbarg/sdm";
10
10
  *
11
- * const workflowRoleExample = new sdm.WorkflowRole("workflowRoleExample", {
12
- * roleId: "r-243561",
13
- * workflowId: "aw-343865",
11
+ * const workflowRoleExample = new sdm.WorkflowRole("workflow_role_example", {
12
+ * workflowId: manualApprovalWorkflow.id,
13
+ * roleId: developers.id,
14
+ * });
15
+ * const workflowRoleWithIds = new sdm.WorkflowRole("workflow_role_with_ids", {
16
+ * workflowId: "w-1234567890abcdef",
17
+ * roleId: "r-1234567890abcdef",
14
18
  * });
15
19
  * ```
16
20
  * This resource can be imported using the import command.
package/workflowRole.js CHANGED
@@ -14,9 +14,13 @@ const utilities = require("./utilities");
14
14
  * import * as pulumi from "@pulumi/pulumi";
15
15
  * import * as sdm from "@pierskarsenbarg/sdm";
16
16
  *
17
- * const workflowRoleExample = new sdm.WorkflowRole("workflowRoleExample", {
18
- * roleId: "r-243561",
19
- * workflowId: "aw-343865",
17
+ * const workflowRoleExample = new sdm.WorkflowRole("workflow_role_example", {
18
+ * workflowId: manualApprovalWorkflow.id,
19
+ * roleId: developers.id,
20
+ * });
21
+ * const workflowRoleWithIds = new sdm.WorkflowRole("workflow_role_with_ids", {
22
+ * workflowId: "w-1234567890abcdef",
23
+ * roleId: "r-1234567890abcdef",
20
24
  * });
21
25
  * ```
22
26
  * This resource can be imported using the import command.
@@ -1 +1 @@
1
- {"version":3,"file":"workflowRole.js","sourceRoot":"","sources":["../workflowRole.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,YAAa,SAAQ,MAAM,CAAC,cAAc;IACnD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAyB,EAAE,IAAmC;QACvH,OAAO,IAAI,YAAY,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,YAAY,CAAC,YAAY,CAAC;IAC7D,CAAC;IAmBD,YAAY,IAAY,EAAE,WAAkD,EAAE,IAAmC;QAC7G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA4C,CAAC;YAC3D,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;SACpD;aAAM;YACH,MAAM,IAAI,GAAG,WAA2C,CAAC;YACzD,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACzD;YACD,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC7D;YACD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;SACnD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;;AAjEL,oCAkEC;AApDG,gBAAgB;AACO,yBAAY,GAAG,qCAAqC,CAAC"}
1
+ {"version":3,"file":"workflowRole.js","sourceRoot":"","sources":["../workflowRole.ts"],"names":[],"mappings":";AAAA,sEAAsE;AACtE,iFAAiF;;;AAEjF,yCAAyC;AACzC,yCAAyC;AAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,YAAa,SAAQ,MAAM,CAAC,cAAc;IACnD;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAAyB,EAAE,IAAmC;QACvH,OAAO,IAAI,YAAY,CAAC,IAAI,EAAO,KAAK,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,YAAY,CAAC,YAAY,CAAC;IAC7D,CAAC;IAmBD,YAAY,IAAY,EAAE,WAAkD,EAAE,IAAmC;QAC7G,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA4C,CAAC;YAC3D,cAAc,CAAC,QAAQ,CAAC,GAAG,KAAK,EAAE,MAAM,CAAC;YACzC,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,EAAE,UAAU,CAAC;SACpD;aAAM;YACH,MAAM,IAAI,GAAG,WAA2C,CAAC;YACzD,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzC,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;aACzD;YACD,IAAI,IAAI,EAAE,UAAU,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBAC7C,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;aAC7D;YACD,cAAc,CAAC,QAAQ,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;YACxC,cAAc,CAAC,YAAY,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC;SACnD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;;AAjEL,oCAkEC;AApDG,gBAAgB;AACO,yBAAY,GAAG,qCAAqC,CAAC"}