@xyne/workflow-sdk 2.8.0 → 3.1.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.
- package/dist/agents/agent-step.d.ts +6 -6
- package/dist/client/workflow-client.d.ts.map +1 -1
- package/dist/client/workflow-client.js +2 -6
- package/dist/client/workflow-client.js.map +1 -1
- package/dist/common/attachment.d.ts +25 -0
- package/dist/common/attachment.d.ts.map +1 -1
- package/dist/common/attachment.js +50 -0
- package/dist/common/attachment.js.map +1 -1
- package/dist/common/index.d.ts +3 -1
- package/dist/common/index.d.ts.map +1 -1
- package/dist/common/index.js +2 -1
- package/dist/common/index.js.map +1 -1
- package/dist/common/validate-payload.d.ts +25 -0
- package/dist/common/validate-payload.d.ts.map +1 -0
- package/dist/common/validate-payload.js +74 -0
- package/dist/common/validate-payload.js.map +1 -0
- package/dist/engine/available-context.d.ts +1 -1
- package/dist/engine/available-context.d.ts.map +1 -1
- package/dist/engine/available-context.js +36 -3
- package/dist/engine/available-context.js.map +1 -1
- package/dist/engine/config-validator.js +1 -1
- package/dist/engine/config-validator.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/router/workflow-router.d.ts.map +1 -1
- package/dist/router/workflow-router.js +2 -20
- package/dist/router/workflow-router.js.map +1 -1
- package/dist/runtime/workflow-runtime.d.ts +7 -5
- package/dist/runtime/workflow-runtime.d.ts.map +1 -1
- package/dist/runtime/workflow-runtime.js +12 -47
- package/dist/runtime/workflow-runtime.js.map +1 -1
- package/dist/steps/base-step.d.ts +10 -0
- package/dist/steps/base-step.d.ts.map +1 -1
- package/dist/steps/base-step.js +16 -0
- package/dist/steps/base-step.js.map +1 -1
- package/dist/steps/builtin/conditional.step.d.ts +38 -0
- package/dist/steps/builtin/conditional.step.d.ts.map +1 -1
- package/dist/steps/builtin/conditional.step.js +17 -6
- package/dist/steps/builtin/conditional.step.js.map +1 -1
- package/dist/steps/builtin/http-request.step.d.ts +2 -2
- package/dist/steps/builtin/parallel.step.d.ts +88 -34
- package/dist/steps/builtin/parallel.step.d.ts.map +1 -1
- package/dist/steps/builtin/parallel.step.js +23 -28
- package/dist/steps/builtin/parallel.step.js.map +1 -1
- package/dist/steps/builtin/switch.step.d.ts +37 -0
- package/dist/steps/builtin/switch.step.d.ts.map +1 -1
- package/dist/steps/builtin/switch.step.js +15 -6
- package/dist/steps/builtin/switch.step.js.map +1 -1
- package/dist/steps/builtin/wait.step.d.ts +152 -12
- package/dist/steps/builtin/wait.step.d.ts.map +1 -1
- package/dist/steps/builtin/wait.step.js +12 -0
- package/dist/steps/builtin/wait.step.js.map +1 -1
- package/dist/triggers/builtin/default-manual-trigger.d.ts +12 -86
- package/dist/triggers/builtin/default-manual-trigger.d.ts.map +1 -1
- package/dist/triggers/builtin/default-manual-trigger.js +14 -40
- package/dist/triggers/builtin/default-manual-trigger.js.map +1 -1
- package/dist/types/pause-state.d.ts +10 -0
- package/dist/types/pause-state.d.ts.map +1 -1
- package/dist/util/pause-form-schema.d.ts.map +1 -1
- package/dist/util/pause-form-schema.js +15 -1
- package/dist/util/pause-form-schema.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,33 +2,19 @@ import { z } from 'zod';
|
|
|
2
2
|
import { ManualTrigger } from '../manual-trigger.js';
|
|
3
3
|
import { BuiltinTriggerType } from '../../types/known-types.js';
|
|
4
4
|
import { TriggerCategory } from '../../types/categories.js';
|
|
5
|
-
import { ATTACHMENT_ARRAY_JSON_SCHEMA } from '../../common/attachment.js';
|
|
6
5
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
6
|
+
* Default manual trigger — fires via `runtime.triggerManual()`.
|
|
7
|
+
*
|
|
8
|
+
* The author-supplied `inputSchema` fully describes the payload, including any
|
|
9
|
+
* file inputs: a document is just a typed field carrying `format: 'attachment'`
|
|
10
|
+
* (single) or an array of those (multiple). There is no separate attachments
|
|
11
|
+
* slot — uploaded files become ordinary named fields, so they're referenced by
|
|
12
|
+
* name (`{{trigger.pan}}`) and validated by the schema like any other input.
|
|
11
13
|
*/
|
|
12
|
-
export const ManualTriggerAttachmentsSchema = z.object({
|
|
13
|
-
accept: z.array(z.string()).optional()
|
|
14
|
-
.describe('Allowed MIME types or wildcards, e.g. ["application/pdf", "image/*"]'),
|
|
15
|
-
maxSize: z.number().int().positive().optional()
|
|
16
|
-
.describe('Max bytes per file'),
|
|
17
|
-
maxCount: z.number().int().positive().optional()
|
|
18
|
-
.describe('Max number of files'),
|
|
19
|
-
required: z.boolean().default(false)
|
|
20
|
-
.describe('Whether at least one attachment is required to trigger the workflow'),
|
|
21
|
-
});
|
|
22
14
|
export const DefaultManualTriggerConfigSchema = z.object({
|
|
23
15
|
inputSchema: z.record(z.unknown()).optional()
|
|
24
|
-
.describe('JSON Schema describing the expected manual input. The UI renders a form from this when triggering'),
|
|
25
|
-
attachments: ManualTriggerAttachmentsSchema.optional()
|
|
26
|
-
.describe('When set, the trigger UI shows a file upload area; uploaded files land in context.trigger.attachments'),
|
|
16
|
+
.describe('JSON Schema describing the expected manual input (incl. attachment fields). The UI renders a form from this when triggering'),
|
|
27
17
|
});
|
|
28
|
-
/**
|
|
29
|
-
* Default manual trigger — fires via `runtime.triggerManual()`.
|
|
30
|
-
* Accepts any JSON payload as input plus optional file attachments.
|
|
31
|
-
*/
|
|
32
18
|
export class DefaultManualTrigger extends ManualTrigger {
|
|
33
19
|
type = BuiltinTriggerType.MANUAL;
|
|
34
20
|
name = 'Manual Trigger';
|
|
@@ -45,11 +31,11 @@ export class DefaultManualTrigger extends ManualTrigger {
|
|
|
45
31
|
return jsonSchema;
|
|
46
32
|
}
|
|
47
33
|
/**
|
|
48
|
-
* The
|
|
49
|
-
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
34
|
+
* The `inputSchema` *is* the shape of `context.trigger` — whatever the author
|
|
35
|
+
* declared (typed fields and attachment fields alike) is what the variable
|
|
36
|
+
* picker sees. Attachment fields already carry `format: 'attachment'`, so the
|
|
37
|
+
* picker types them as `attachment` / `attachment[]` with no special-casing
|
|
38
|
+
* here. Falls back to a permissive object when no schema was declared.
|
|
53
39
|
*/
|
|
54
40
|
resolveOutputJsonSchema(config) {
|
|
55
41
|
const inputSchema = config['inputSchema'];
|
|
@@ -57,21 +43,9 @@ export class DefaultManualTrigger extends ManualTrigger {
|
|
|
57
43
|
typeof inputSchema === 'object' &&
|
|
58
44
|
!Array.isArray(inputSchema) &&
|
|
59
45
|
Object.keys(inputSchema).length > 0;
|
|
60
|
-
|
|
46
|
+
return hasInputSchema
|
|
61
47
|
? { ...inputSchema }
|
|
62
48
|
: { type: 'object', additionalProperties: true };
|
|
63
|
-
// When the trigger declares an attachments slot, uploaded files land in
|
|
64
|
-
// `context.trigger.attachments` at runtime — so expose them in the output
|
|
65
|
-
// schema as an attachment[] (typed so the variable picker offers
|
|
66
|
-
// `{{trigger.attachments}}` to attachment-typed inputs).
|
|
67
|
-
if (config['attachments']) {
|
|
68
|
-
const props = {
|
|
69
|
-
...(base['properties'] ?? {}),
|
|
70
|
-
attachments: ATTACHMENT_ARRAY_JSON_SCHEMA,
|
|
71
|
-
};
|
|
72
|
-
return { ...base, type: 'object', properties: props };
|
|
73
|
-
}
|
|
74
|
-
return base;
|
|
75
49
|
}
|
|
76
50
|
}
|
|
77
51
|
//# sourceMappingURL=default-manual-trigger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-manual-trigger.js","sourceRoot":"","sources":["../../../src/triggers/builtin/default-manual-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"default-manual-trigger.js","sourceRoot":"","sources":["../../../src/triggers/builtin/default-manual-trigger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;SAC1C,QAAQ,CAAC,6HAA6H,CAAC;CAC3I,CAAC,CAAC;AAEH,MAAM,OAAO,oBAAqB,SAAQ,aAAsD;IAC5E,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC;IACjC,IAAI,GAAG,gBAAgB,CAAC;IACxB,WAAW,GAAG,mDAAmD,CAAC;IAClE,QAAQ,GAAG,eAAe,CAAC,MAAM,CAAC;IAClC,IAAI,GAAG,QAAQ,CAAC;IAChB,YAAY,GAAG,gCAAgC,CAAC;IAChD,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAE9C,oBAAoB,CAAC,UAAmC;QAC/D,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,CAAwD,CAAC;QAC9F,IAAI,KAAK,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QAC5E,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;OAMG;IACM,uBAAuB,CAAC,MAA+B;QAC9D,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAC1C,MAAM,cAAc,GAClB,WAAW;YACX,OAAO,WAAW,KAAK,QAAQ;YAC/B,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,WAAsC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAEjE,OAAO,cAAc;YACnB,CAAC,CAAC,EAAE,GAAI,WAAuC,EAAE;YACjD,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IACrD,CAAC;CACF"}
|
|
@@ -63,6 +63,16 @@ export type PauseFormField = {
|
|
|
63
63
|
required?: boolean;
|
|
64
64
|
description?: string;
|
|
65
65
|
defaultValue?: boolean;
|
|
66
|
+
} | {
|
|
67
|
+
type: 'attachment';
|
|
68
|
+
name: string;
|
|
69
|
+
label: string;
|
|
70
|
+
required?: boolean;
|
|
71
|
+
description?: string;
|
|
72
|
+
multiple?: boolean;
|
|
73
|
+
accept?: string[];
|
|
74
|
+
maxSize?: number;
|
|
75
|
+
maxItems?: number;
|
|
66
76
|
};
|
|
67
77
|
export interface PauseForm {
|
|
68
78
|
fields: PauseFormField[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pause-state.d.ts","sourceRoot":"","sources":["../../src/types/pause-state.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pause-state.d.ts","sourceRoot":"","sources":["../../src/types/pause-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;CAChB;AAID,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,cAAc,GACtB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,oBAAoB,EAAE,CAAC;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAID;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEN,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACrD,0DAA0D;IAC1D,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,mGAAmG;IACnG,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACnC;AAID;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB,UAAU,GACV,gBAAgB,GAChB,QAAQ,CAAC;AAEb,MAAM,WAAW,UAAU;IACzB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,qEAAqE;IACrE,QAAQ,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACrC,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC5C,uCAAuC;IACvC,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;CACrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pause-form-schema.d.ts","sourceRoot":"","sources":["../../src/util/pause-form-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"pause-form-schema.d.ts","sourceRoot":"","sources":["../../src/util/pause-form-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzE,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,MAAM,CAUzE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkB9E"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { attachmentProperty } from '../common/attachment.js';
|
|
1
2
|
/** Map a pause-form field type to the JSON Schema scalar kind of its value. */
|
|
2
3
|
export function jsonTypeForFormField(type) {
|
|
3
4
|
switch (type) {
|
|
@@ -18,7 +19,20 @@ export function jsonTypeForFormField(type) {
|
|
|
18
19
|
export function pauseFormToJsonSchema(form) {
|
|
19
20
|
const properties = {};
|
|
20
21
|
for (const field of form.fields) {
|
|
21
|
-
|
|
22
|
+
if (field.type === 'attachment') {
|
|
23
|
+
// Attachments aren't scalars — emit the canonical attachment schema (carries
|
|
24
|
+
// `format:'attachment'`) so the submitted value (an Attachment ref / refs) is
|
|
25
|
+
// typed and referenceable downstream like any other attachment.
|
|
26
|
+
properties[field.name] = attachmentProperty({
|
|
27
|
+
...(field.multiple !== undefined ? { multiple: field.multiple } : {}),
|
|
28
|
+
...(field.accept !== undefined ? { accept: field.accept } : {}),
|
|
29
|
+
...(field.maxSize !== undefined ? { maxSize: field.maxSize } : {}),
|
|
30
|
+
...(field.maxItems !== undefined ? { maxItems: field.maxItems } : {}),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
properties[field.name] = { type: jsonTypeForFormField(field.type), title: field.name };
|
|
35
|
+
}
|
|
22
36
|
}
|
|
23
37
|
return { type: 'object', properties, additionalProperties: true };
|
|
24
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pause-form-schema.js","sourceRoot":"","sources":["../../src/util/pause-form-schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pause-form-schema.js","sourceRoot":"","sources":["../../src/util/pause-form-schema.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,+EAA+E;AAC/E,MAAM,UAAU,oBAAoB,CAAC,IAA4B;IAC/D,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,QAAQ,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,SAAS,CAAC;QACnB,oDAAoD;QACpD;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAe;IACnD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAChC,6EAA6E;YAC7E,8EAA8E;YAC9E,gEAAgE;YAChE,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,kBAAkB,CAAC;gBAC1C,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrE,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,GAAG,CAAC,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClE,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACzF,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;AACpE,CAAC"}
|