@usine/durable 0.1.0 → 0.2.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.
@@ -1,6 +1,6 @@
1
1
  import { withAbortSignal } from "@earendil-works/chord/context";
2
2
  import { Type } from "@earendil-works/pi-ai";
3
- import { defineTool } from "@earendil-works/pi-durable";
3
+ import { defineTool, } from "@earendil-works/pi-durable";
4
4
  import { assembleChildPrompt } from "@usine/agents/prompt";
5
5
  import { ChildRequest, ChildSessionBudgetExceededError, reportText, WorkingDirectory, } from "@usine/agents/runtime";
6
6
  import { AgentSessionId, ChildSession, ChildSessionBudget, ChildSessionCount, SessionFinished, sessionPool, } from "@usine/core/agent/session";
@@ -33,6 +33,8 @@ const aborted = (context, sessionId) => Option.match(Option.fromNullishOr(contex
33
33
  return Effect.sync(() => signal.removeEventListener("abort", onAbort));
34
34
  }),
35
35
  });
36
+ /** Runs `effect` until the tool call aborts. On abort, runs `onAbort` and interrupts the call. */
37
+ const untilAborted = (effect, context, sessionId, onAbort) => Effect.raceFirst(effect, aborted(context, sessionId).pipe(Effect.andThen(onAbort), Effect.andThen(Effect.interrupt)));
36
38
  /** Registers the child in `hub.children` until the scope closes. */
37
39
  const register = (hub, child) => Effect.acquireRelease(Effect.sync(() => {
38
40
  hub.children.set(child.session.id, child);
@@ -87,15 +89,17 @@ export const subagentTool = (services) => {
87
89
  message: `Attempt tried to spawn child ${attemptedChildren} after reaching its ${spec.maxChildren}-child budget`,
88
90
  });
89
91
  }
92
+ const sessionId = AgentSessionId.make(`${parentId}:child:${attemptedChildren}`);
90
93
  if (!(yield* Deferred.isDone(hub.attached))) {
91
94
  yield* Effect.logInfo("Waiting for execute to supply the Attempt's child host and environment before spawning a child", {
92
95
  attemptId: spec.attemptId,
93
96
  });
94
97
  }
95
- const request = yield* Deferred.await(hub.attached);
98
+ // An abort, such as the harness closing at shutdown, ends a wait for a released Attempt.
99
+ const request = yield* untilAborted(Deferred.await(hub.attached), context, sessionId, Effect.logInfo("Abandoning the child spawn of an aborted tool call; no execute call supplied the child host", { attemptId: spec.attemptId, sessionId }));
96
100
  // Read when each child starts, so a preflight that ran after the Attempt launched applies.
97
101
  const session = new ChildSession({
98
- id: AgentSessionId.make(`${parentId}:child:${attemptedChildren}`),
102
+ id: sessionId,
99
103
  parentId,
100
104
  agent: spec.agent.name,
101
105
  brain: spec.agent.brain,
@@ -107,6 +111,7 @@ export const subagentTool = (services) => {
107
111
  environment: request.environment,
108
112
  host: request.host,
109
113
  worker: request.worker,
114
+ machine: request.machine,
110
115
  prompt: assembleChildPrompt({
111
116
  agent: spec.agent.name,
112
117
  persona: spec.agent.persona,
@@ -123,11 +128,11 @@ export const subagentTool = (services) => {
123
128
  });
124
129
  // Annotate logs with the Attempt because this tool runs outside the Attempt's fiber. An abort
125
130
  // interrupts a launch that is still waiting through retry delays.
126
- const child = yield* Effect.raceFirst(services.backend
131
+ const child = yield* untilAborted(services.backend
127
132
  .launch(childRequest)
128
- .pipe(Effect.annotateLogs({ attemptId: spec.attemptId, worker: request.worker })), aborted(context, session.id).pipe(Effect.tap(() => Effect.logInfo("Abandoning the child launch of an aborted tool call", {
133
+ .pipe(Effect.annotateLogs({ attemptId: spec.attemptId, worker: request.worker })), context, session.id, Effect.logInfo("Abandoning the child launch of an aborted tool call", {
129
134
  sessionId: session.id,
130
- })), Effect.andThen(Effect.interrupt)));
135
+ }));
131
136
  yield* register(hub, child);
132
137
  yield* Effect.addFinalizer((exit) => Exit.isFailure(exit)
133
138
  ? Effect.logWarning("Child session ended before returning a result", {
@@ -147,9 +152,9 @@ export const subagentTool = (services) => {
147
152
  // These errors end the stream with the same report the child's result contains, so they are
148
153
  // ignored here.
149
154
  const forwarding = yield* child.events.pipe(Stream.runForEach(forward), Effect.catchTag(["AgentResultError", "AgentBlockedError", "AgentQuestionError"], () => Effect.void), Effect.forkScoped);
150
- const outcome = yield* Effect.raceFirst(child.result.pipe(Effect.map(Result.succeed), Effect.catchTag(["AgentResultError", "AgentBlockedError", "AgentQuestionError"], (report) => Effect.succeed(Result.fail(report)))), aborted(context, session.id).pipe(Effect.tap(() => Effect.logInfo("Interrupting the child of an aborted tool call", {
155
+ const outcome = yield* untilAborted(child.result.pipe(Effect.map(Result.succeed), Effect.catchTag(["AgentResultError", "AgentBlockedError", "AgentQuestionError"], (report) => Effect.succeed(Result.fail(report)))), context, session.id, Effect.logInfo("Interrupting the child of an aborted tool call", {
151
156
  sessionId: session.id,
152
- })), Effect.andThen(child.interrupt), Effect.andThen(Effect.interrupt)));
157
+ }).pipe(Effect.andThen(child.interrupt)));
153
158
  yield* Fiber.join(forwarding);
154
159
  yield* call("wait for the child's Hold to end", async (signal) => {
155
160
  const scoped = withAbortSignal(signal, context);
@@ -187,7 +192,7 @@ export const subagentTool = (services) => {
187
192
  onSuccess: (result) => Effect.logInfo("Child session returned to the Pi parent", { sessionId: session.id }).pipe(Effect.as(result.message)),
188
193
  });
189
194
  return {
190
- content: [{ type: "text", text }],
195
+ output: [{ type: "text", text }],
191
196
  details: { childSessionId: session.id },
192
197
  };
193
198
  }, Effect.scoped);
@@ -1 +1 @@
1
- {"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../src/attempt/subagent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../src/attempt/subagent.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ declare const StoredRequest_base: Schema.Class<StoredRequest, Schema.Struct<{
9
9
  /** The absolute path of the Attempt's worktree on the Worker's machine. */
10
10
  readonly cwd: Schema.NonEmptyString;
11
11
  }>, {}>;
12
- /** The persisted part of an Attempt's request, without `host` and `environment`. */
12
+ /** The persisted part of an Attempt's request, without `host`, `machine`, and `environment`. */
13
13
  export declare class StoredRequest extends StoredRequest_base {
14
14
  }
15
15
  declare const AttemptRequest_base: Schema.Class<AttemptRequest, Schema.Struct<{
@@ -18,6 +18,11 @@ declare const AttemptRequest_base: Schema.Class<AttemptRequest, Schema.Struct<{
18
18
  /** The absolute path of the Attempt's worktree on the Worker's machine. */
19
19
  readonly cwd: Schema.NonEmptyString;
20
20
  readonly host: Schema.Union<readonly [typeof import("@usine/agents/child-host").LocalProcess, typeof import("@usine/agents/child-host").RemoteShell]>;
21
+ /**
22
+ * The provider's ID of the machine that a provisioned Worker created for the Attempt, or `None`
23
+ * on other Workers.
24
+ */
25
+ readonly machine: Schema.Option<Schema.brand<Schema.String, "MachineId">>;
21
26
  /**
22
27
  * The environment variables passed to the children: the Worker's allowlisted variables plus the
23
28
  * Attempt's credential configuration (ADR 0011).
@@ -1 +1 @@
1
- {"version":3,"file":"attempt-runtime.d.ts","sourceRoot":"","sources":["../src/attempt-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attempt-runtime.d.ts","sourceRoot":"","sources":["../src/attempt-runtime.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,9 @@ import * as AttemptChannel from "@usine/core/attempt/channel";
3
3
  import { AttemptId } from "@usine/core/attempt";
4
4
  import { AgentFailure, AttemptFailure } from "@usine/core/attempt/failure";
5
5
  import { StepResult } from "@usine/core/step/result";
6
- import { GatewayCredentialKind, WorkerName } from "@usine/core/worker";
6
+ import { GatewayCredentialKind, MachineId, WorkerName } from "@usine/core/worker";
7
7
  import { Context, Effect, Result, Schema } from "effect";
8
- /** The persisted part of an Attempt's request, without `host` and `environment`. */
8
+ /** The persisted part of an Attempt's request, without `host`, `machine`, and `environment`. */
9
9
  export class StoredRequest extends Schema.Class("@usine/durable/StoredRequest")({
10
10
  spec: AttemptChannel.RunSpec,
11
11
  worker: WorkerName,
@@ -16,6 +16,11 @@ export class StoredRequest extends Schema.Class("@usine/durable/StoredRequest")(
16
16
  export class AttemptRequest extends Schema.Class("@usine/durable/AttemptRequest")({
17
17
  ...StoredRequest.fields,
18
18
  host: ChildHost,
19
+ /**
20
+ * The provider's ID of the machine that a provisioned Worker created for the Attempt, or `None`
21
+ * on other Workers.
22
+ */
23
+ machine: Schema.Option(MachineId),
19
24
  /**
20
25
  * The environment variables passed to the children: the Worker's allowlisted variables plus the
21
26
  * Attempt's credential configuration (ADR 0011).
@@ -1 +1 @@
1
- {"version":3,"file":"attempt-runtime.js","sourceRoot":"","sources":["../src/attempt-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attempt-runtime.js","sourceRoot":"","sources":["../src/attempt-runtime.ts"],"names":[],"mappings":"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"}
package/dist/harness.d.ts CHANGED
@@ -1,20 +1,33 @@
1
1
  import type { Context as ChordContext } from "@earendil-works/chord";
2
2
  import type { Models } from "@earendil-works/pi-ai";
3
3
  import { type CommitPublication, type Extension, Harness, type ModelRef, type Storage } from "@earendil-works/pi-durable";
4
- import { Context, Effect, Layer, Option, Schema, Scope } from "effect";
4
+ import { Context, Effect, Layer, Option, Schema, type Scope } from "effect";
5
5
  declare const DurableHarnessError_base: Schema.Class<DurableHarnessError, Schema.TaggedStruct<"DurableHarnessError", {
6
6
  /**
7
- * A description of the failed operation, such as `open`, `resume`, or the `operation` passed to
8
- * `use`.
7
+ * A description of the failed operation, such as `open the durable harness`, or the
8
+ * `operation` passed to `use`.
9
9
  */
10
10
  readonly operation: Schema.NonEmptyString;
11
- /** The error message, or the stop reason if the harness has stopped. */
11
+ /** The error message, or the storage error's message if a storage error failed the harness. */
12
12
  readonly message: Schema.NonEmptyString;
13
13
  readonly cause: Schema.Defect;
14
14
  }>, import("effect/Cause").YieldableError>;
15
15
  /** A failed pi-durable call. */
16
16
  export declare class DurableHarnessError extends DurableHarnessError_base {
17
17
  }
18
+ declare const DurableStorageFailed_base: Schema.Class<DurableStorageFailed, Schema.TaggedStruct<"DurableStorageFailed", {
19
+ /** The failed harness's generation: 1 for the first open, and one more for each reopen. */
20
+ readonly generation: Schema.Int;
21
+ /** The storage error's message. */
22
+ readonly message: Schema.NonEmptyString;
23
+ readonly cause: Schema.Defect;
24
+ }>, import("effect/Cause").YieldableError>;
25
+ /**
26
+ * A storage error that failed the pi-durable Session. pi-durable then aborts the harness's running
27
+ * tasks and closes it, and every later call on it fails.
28
+ */
29
+ export declare class DurableStorageFailed extends DurableStorageFailed_base {
30
+ }
18
31
  /** Callbacks for harness events, kept across reopens. */
19
32
  export interface HarnessListener {
20
33
  /**
@@ -22,16 +35,18 @@ export interface HarnessListener {
22
35
  * harness.
23
36
  */
24
37
  readonly onCommit: (publication: CommitPublication) => void;
25
- /** Runs after a poisoned or stuck Session is replaced by a reopened harness. */
26
- readonly onReopen: () => void;
27
- /** Runs once the harness stops permanently. */
28
- readonly onStop: () => void;
38
+ /**
39
+ * Runs once a failed harness has closed, before the reopened one resumes its tasks. It must not
40
+ * block or throw.
41
+ */
42
+ readonly onFailure: (failure: DurableStorageFailed) => void;
29
43
  }
30
44
  /**
31
- * A storage repair that runs on a newly opened harness before its tasks resume. It must log its own
32
- * failures and never fail.
45
+ * A storage repair that runs on a newly opened harness before its tasks resume. `storage` is the
46
+ * storage that the harness opened. A failed read through it fails only that read; a failed read
47
+ * through `harness` fails the harness. It must log its own failures and never fail.
33
48
  */
34
- export type BeforeResume = (harness: Harness) => Effect.Effect<void>;
49
+ export type BeforeResume = (harness: Harness, storage: Storage) => Effect.Effect<void>;
35
50
  export interface DurableHarnessOptions {
36
51
  /** Opens the storage. Runs again on each reopen. */
37
52
  readonly openStorage: Effect.Effect<Storage, DurableHarnessError>;
@@ -53,30 +68,29 @@ declare const DurableHarness_base: Context.ServiceClass<DurableHarness, "@usine/
53
68
  readonly install: (extension: Extension) => Effect.Effect<void>;
54
69
  /**
55
70
  * Runs `beforeResume`, then starts the task scheduler, and repeats both on each reopen. Call it
56
- * after installing all extensions.
71
+ * after installing all extensions. Fails with the storage error if one fails the harness first.
57
72
  */
58
73
  readonly resume: (beforeResume: BeforeResume) => Effect.Effect<void, DurableHarnessError>;
59
74
  /**
60
- * Runs a call against the open harness and retries it once if the Session was poisoned or
61
- * replaced, so the call must be safe to repeat. Fails with the stop reason after the harness
62
- * stops.
75
+ * Runs a call against the open harness. If a storage error fails the harness during the call,
76
+ * waits for the reopened harness and runs the call once more, so the call must be safe to
77
+ * repeat. Fails with the storage error before `resume` completes and after the harness stops.
63
78
  */
64
79
  readonly use: <A>(operation: string, run: (harness: Harness, context: ChordContext) => Promise<A>) => Effect.Effect<A, DurableHarnessError>;
65
80
  /** Registers `listener` until the scope closes. */
66
81
  readonly subscribe: (listener: HarnessListener) => Effect.Effect<void, never, Scope.Scope>;
67
82
  }>;
68
83
  /**
69
- * The pi-durable Harness over one storage. Reopens the storage and resumes the tasks after a
70
- * poisoned Session or a stuck step, and stops if the reopened harness gets stuck within
71
- * `STUCK_AGAIN_MILLIS`.
84
+ * The pi-durable Harness over one storage. After a storage error fails the harness, reopens the
85
+ * storage and resumes the tasks, unless `resume` hasn't completed yet. Stops if the reopen fails
86
+ * or if the reopened harness fails within a minute.
72
87
  */
73
88
  export declare class DurableHarness extends DurableHarness_base {
74
89
  }
75
90
  /**
76
- * The number of reports of one failure, with no adopted commit between them, after which a step
77
- * counts as stuck.
91
+ * Returns a `DurableHarnessError` with the message of `cause`. For a `SessionFailed`, uses the
92
+ * message of the storage error that failed the harness.
78
93
  */
79
- export declare const StuckStepReports: Context.Reference<number>;
80
94
  export declare const durableError: (operation: string, cause: unknown) => DurableHarnessError;
81
95
  /**
82
96
  * Opens the harness for the layer's lifetime. Closes it on release without writing any task
@@ -1 +1 @@
1
- {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,SAAS,EACd,OAAO,EACP,KAAK,QAAQ,EACb,KAAK,OAAO,EAEb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,OAAO,EAAY,MAAM,EAAE,KAAK,EAAE,MAAM,EAAoB,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;;IAMjG;;;OAGG;;IAEH,wEAAwE;;;;AAT1E,gCAAgC;AAChC,qBAAa,mBAAoB,SAAQ,wBAWvC;CAAG;AAEL,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5D,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC;IAC9B,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAErE,MAAM,WAAW,qBAAqB;IACpC,oDAAoD;IACpD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAClE,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;CAChD;;qBAUoB,MAAM;2BACA,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9C;;;OAGG;sBACe,CAAC,SAAS,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAC/D;;;OAGG;qBACc,CAAC,YAAY,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACzF;;;;OAIG;kBACW,CAAC,CAAC,EACd,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,KACzD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAC1C,mDAAmD;wBAC/B,CAAC,QAAQ,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;;AA9B9F;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,mBA2BA;CAAG;AAcvC;;;GAGG;AACH,eAAO,MAAM,gBAAgB,2BAE3B,CAAC;AAWH,eAAO,MAAM,YAAY,cAAe,MAAM,SAAS,OAAO,wBACY,CAAC;AA6S3E;;;GAGG;AACH,eAAO,MAAM,KAAK,YACP,qBAAqB,KAC7B,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,mBAAmB,CAAgD,CAAC"}
1
+ {"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EACL,KAAK,iBAAiB,EAEtB,KAAK,SAAS,EACd,OAAO,EACP,KAAK,QAAQ,EAEb,KAAK,OAAO,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,OAAO,EAAY,MAAM,EAAE,KAAK,EAAE,MAAM,EAAU,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,QAAQ,CAAC;;IAM5F;;;OAGG;;IAEH,+FAA+F;;;;AATjG,gCAAgC;AAChC,qBAAa,mBAAoB,SAAQ,wBAWvC;CAAG;;IASH,2FAA2F;;IAE3F,mCAAmC;;;;AATrC;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,yBAQxC;CAAG;AAEL,yDAAyD;AACzD,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5D;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,CAAC,OAAO,EAAE,oBAAoB,KAAK,IAAI,CAAC;CAC7D;AAED;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAEvF,MAAM,WAAW,qBAAqB;IACpC,oDAAoD;IACpD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IAClE,yEAAyE;IACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;CAChD;;qBAUoB,MAAM;2BACA,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;IAC9C;;;OAGG;sBACe,CAAC,SAAS,EAAE,SAAS,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAC/D;;;OAGG;qBACc,CAAC,YAAY,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,mBAAmB,CAAC;IACzF;;;;OAIG;kBACW,CAAC,CAAC,EACd,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,KACzD,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,mBAAmB,CAAC;IAC1C,mDAAmD;wBAC/B,CAAC,QAAQ,EAAE,eAAe,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;;AA9B9F;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,mBA2BA;CAAG;AAavC;;;GAGG;AACH,eAAO,MAAM,YAAY,cAAe,MAAM,SAAS,OAAO,wBAK1D,CAAC;AAgVL;;;GAGG;AACH,eAAO,MAAM,KAAK,YACP,qBAAqB,KAC7B,KAAK,CAAC,KAAK,CAAC,cAAc,EAAE,mBAAmB,CAAgD,CAAC"}