harness-dispatch 0.9.0 → 0.10.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/CHANGELOG.md +560 -1
- package/README.md +74 -43
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js.map +1 -1
- package/dist/bin.d.ts.map +1 -1
- package/dist/bin.js +166 -29
- package/dist/bin.js.map +1 -1
- package/dist/config/coercions.d.ts +5 -0
- package/dist/config/coercions.d.ts.map +1 -1
- package/dist/config/coercions.js +8 -0
- package/dist/config/coercions.js.map +1 -1
- package/dist/config/protocol.js.map +1 -1
- package/dist/config/validation.d.ts.map +1 -1
- package/dist/config/validation.js.map +1 -1
- package/dist/config.d.ts +11 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +111 -148
- package/dist/config.js.map +1 -1
- package/dist/configure-yaml.d.ts.map +1 -1
- package/dist/configure-yaml.js +57 -13
- package/dist/configure-yaml.js.map +1 -1
- package/dist/dispatch-log.d.ts.map +1 -1
- package/dist/dispatch-log.js +3 -1
- package/dist/dispatch-log.js.map +1 -1
- package/dist/dispatchers/generic-cli.d.ts.map +1 -1
- package/dist/dispatchers/generic-cli.js +189 -97
- package/dist/dispatchers/generic-cli.js.map +1 -1
- package/dist/dispatchers/openai-compatible.d.ts +0 -5
- package/dist/dispatchers/openai-compatible.d.ts.map +1 -1
- package/dist/dispatchers/openai-compatible.js +129 -82
- package/dist/dispatchers/openai-compatible.js.map +1 -1
- package/dist/dispatchers/shared/harness-login.d.ts.map +1 -1
- package/dist/dispatchers/shared/harness-login.js +7 -2
- package/dist/dispatchers/shared/harness-login.js.map +1 -1
- package/dist/dispatchers/shared/stream-subprocess.d.ts.map +1 -1
- package/dist/dispatchers/shared/stream-subprocess.js +7 -60
- package/dist/dispatchers/shared/stream-subprocess.js.map +1 -1
- package/dist/file-lock.d.ts.map +1 -1
- package/dist/file-lock.js +31 -19
- package/dist/file-lock.js.map +1 -1
- package/dist/harness-presets.d.ts +51 -0
- package/dist/harness-presets.d.ts.map +1 -0
- package/dist/harness-presets.js +154 -0
- package/dist/harness-presets.js.map +1 -0
- package/dist/http/parse.d.ts +8 -1
- package/dist/http/parse.d.ts.map +1 -1
- package/dist/http/parse.js +10 -3
- package/dist/http/parse.js.map +1 -1
- package/dist/http/server.d.ts.map +1 -1
- package/dist/http/server.js +9 -2
- package/dist/http/server.js.map +1 -1
- package/dist/job-runner.js +6 -0
- package/dist/job-runner.js.map +1 -1
- package/dist/jobs/lifecycle.d.ts +100 -0
- package/dist/jobs/lifecycle.d.ts.map +1 -0
- package/dist/jobs/lifecycle.js +263 -0
- package/dist/jobs/lifecycle.js.map +1 -0
- package/dist/jobs/read.d.ts +17 -0
- package/dist/jobs/read.d.ts.map +1 -0
- package/dist/jobs/read.js +103 -0
- package/dist/jobs/read.js.map +1 -0
- package/dist/jobs/run.d.ts +45 -0
- package/dist/jobs/run.d.ts.map +1 -0
- package/dist/jobs/run.js +351 -0
- package/dist/jobs/run.js.map +1 -0
- package/dist/jobs/start.d.ts +9 -0
- package/dist/jobs/start.d.ts.map +1 -0
- package/dist/jobs/start.js +126 -0
- package/dist/jobs/start.js.map +1 -0
- package/dist/jobs/store.d.ts.map +1 -1
- package/dist/jobs/store.js +13 -3
- package/dist/jobs/store.js.map +1 -1
- package/dist/jobs/supervisor.d.ts +151 -0
- package/dist/jobs/supervisor.d.ts.map +1 -0
- package/dist/jobs/supervisor.js +679 -0
- package/dist/jobs/supervisor.js.map +1 -0
- package/dist/jobs.d.ts +15 -233
- package/dist/jobs.d.ts.map +1 -1
- package/dist/jobs.js +14 -1409
- package/dist/jobs.js.map +1 -1
- package/dist/leaderboard.d.ts.map +1 -1
- package/dist/leaderboard.js +5 -1
- package/dist/leaderboard.js.map +1 -1
- package/dist/mcp/config-hot-reload.d.ts.map +1 -1
- package/dist/mcp/config-hot-reload.js +4 -1
- package/dist/mcp/config-hot-reload.js.map +1 -1
- package/dist/mcp/dispatcher-factory.js +1 -1
- package/dist/mcp/dispatcher-factory.js.map +1 -1
- package/dist/mcp/resources.d.ts.map +1 -1
- package/dist/mcp/resources.js +3 -2
- package/dist/mcp/resources.js.map +1 -1
- package/dist/mcp/tools.d.ts +9 -2
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +45 -6
- package/dist/mcp/tools.js.map +1 -1
- package/dist/observability/spans.d.ts.map +1 -1
- package/dist/observability/spans.js +10 -2
- package/dist/observability/spans.js.map +1 -1
- package/dist/redaction.d.ts +90 -0
- package/dist/redaction.d.ts.map +1 -0
- package/dist/redaction.js +221 -0
- package/dist/redaction.js.map +1 -0
- package/dist/router.d.ts +12 -23
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +83 -224
- package/dist/router.js.map +1 -1
- package/dist/state-dir.d.ts.map +1 -1
- package/dist/state-dir.js +15 -1
- package/dist/state-dir.js.map +1 -1
- package/dist/status.d.ts +14 -3
- package/dist/status.d.ts.map +1 -1
- package/dist/status.js +36 -3
- package/dist/status.js.map +1 -1
- package/dist/workspace-lock.d.ts +20 -0
- package/dist/workspace-lock.d.ts.map +1 -1
- package/dist/workspace-lock.js +63 -0
- package/dist/workspace-lock.js.map +1 -1
- package/dist/workspace-resolve.d.ts +0 -9
- package/dist/workspace-resolve.d.ts.map +1 -1
- package/dist/workspace-resolve.js +38 -183
- package/dist/workspace-resolve.js.map +1 -1
- package/dist/workspaces.d.ts.map +1 -1
- package/dist/workspaces.js +63 -139
- package/dist/workspaces.js.map +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supervisor.js","sourceRoot":"","sources":["../../src/jobs/supervisor.ts"],"names":[],"mappings":"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"}
|
package/dist/jobs.d.ts
CHANGED
|
@@ -1,235 +1,17 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
export { buildContextPreamble };
|
|
18
|
-
export { setJobRetentionDays };
|
|
19
|
-
export type { JobDeps, JobManifest, JobResultPayload, JobStatus, StartedJob, StartJobInput };
|
|
20
|
-
/**
|
|
21
|
-
* Rebuild a job's input from its on-disk bundle and execute it. This is the
|
|
22
|
-
* detached runner's whole job; the manifest deliberately carries everything
|
|
23
|
-
* a run needs (prompt path, resolved workingDir, hints, service) precisely
|
|
24
|
-
* so execution can happen in a process that wasn't there when the job was
|
|
25
|
-
* created.
|
|
26
|
-
*/
|
|
27
|
-
export declare function executeJobDir(deps: JobDeps, jobDir: string): Promise<void>;
|
|
28
|
-
/**
|
|
29
|
-
* Occupied slots: jobs actually executing right now. Counts `running` (and
|
|
30
|
-
* plain `queued` — a runner spawned but not yet started) only while the
|
|
31
|
-
* heartbeat is fresh, so a crashed runner's slot is reclaimed by the same
|
|
32
|
-
* ORPHAN_THRESHOLD_MS rule that already frees its status. Slot-queued jobs
|
|
33
|
-
* are waiting for a slot, not holding one.
|
|
34
|
-
*/
|
|
35
|
-
/**
|
|
36
|
-
* What one run of a route costs against the concurrency budget.
|
|
37
|
-
*
|
|
38
|
-
* Unknown routes count as a full 1.0 on purpose. A job that has not been
|
|
39
|
-
* routed yet (no forced `service`) has no weight to look up, and this bound
|
|
40
|
-
* exists because a measured burst of 13 concurrent CLIs exhausted memory —
|
|
41
|
-
* so the safe assumption for "might be anything" is "might be heavy".
|
|
42
|
-
*/
|
|
43
|
-
export declare function resourceWeightFor(status: JobStatus, config: RouterConfig | undefined): number;
|
|
44
|
-
/**
|
|
45
|
-
* Capacity currently in use, as a weighted sum rather than a job count.
|
|
46
|
-
*
|
|
47
|
-
* With every weight at 1.0 this is exactly the old count, so an existing
|
|
48
|
-
* `max_concurrent_runs` keeps its previous meaning.
|
|
49
|
-
*/
|
|
50
|
-
export declare function activeCapacity(statuses: Array<{
|
|
51
|
-
status: JobStatus;
|
|
52
|
-
}>, config: RouterConfig | undefined): number;
|
|
53
|
-
/**
|
|
54
|
-
* How many supervisor PROCESSES may exist, regardless of how many jobs run.
|
|
55
|
-
*
|
|
56
|
-
* Previously every job got its own detached Node process. Measured on Windows
|
|
57
|
-
* with Node 24: a bare node process is 52 MB RSS and one that has bootstrapped
|
|
58
|
-
* a runtime is 65 MB, against ~54 MB for the agent CLI it exists to supervise.
|
|
59
|
-
* So more than half the memory of a concurrent run was wrapper, and it scaled
|
|
60
|
-
* linearly — 13 concurrent jobs meant 845 MB of supervision before any agent
|
|
61
|
-
* had read a file. That is the concurrency ceiling.
|
|
62
|
-
*
|
|
63
|
-
* A supervisor is almost entirely idle: it waits on a child process and writes
|
|
64
|
-
* the result. One can watch several at once for the cost of async I/O, so
|
|
65
|
-
* wrapper memory becomes O(1) in the number of jobs instead of O(N), capped
|
|
66
|
-
* here at ~260 MB.
|
|
67
|
-
*
|
|
68
|
-
* Four rather than one purely to bound blast radius: a supervisor crash strands
|
|
69
|
-
* only the jobs it held. Those are recoverable anyway — the job directory is
|
|
70
|
-
* the source of truth and the heartbeat check already marks stranded jobs
|
|
71
|
-
* orphaned — but losing a quarter of in-flight work beats losing all of it.
|
|
72
|
-
*/
|
|
73
|
-
export declare const SUPERVISOR_POOL_SIZE = 4;
|
|
74
|
-
/**
|
|
75
|
-
* Take exclusive ownership of a job directory.
|
|
76
|
-
*
|
|
77
|
-
* `wx` fails if the file exists, atomically, on both Windows and POSIX — which
|
|
78
|
-
* is what stops two supervisors racing onto the same job. A claim left behind
|
|
79
|
-
* by a crashed supervisor is reclaimed once that job's heartbeat has gone
|
|
80
|
-
* stale, by the same ORPHAN_THRESHOLD_MS rule used everywhere else.
|
|
81
|
-
*
|
|
82
|
-
* Exported for tests: the one-winner property under concurrent reclaim is the
|
|
83
|
-
* invariant, and it is only checkable by calling this directly.
|
|
84
|
-
*/
|
|
85
|
-
export declare function claimJobDir(jobDir: string, status: JobStatus): Promise<boolean>;
|
|
86
|
-
/**
|
|
87
|
-
* Supervisor main loop: claim work, run several jobs at once, exit when idle.
|
|
88
|
-
*
|
|
89
|
-
* Exiting on idle keeps the no-jobs steady state at zero processes, same as
|
|
90
|
-
* before — the pool is a way to share supervision cost while work exists, not
|
|
91
|
-
* a daemon.
|
|
92
|
-
*/
|
|
93
|
-
export declare function runSupervisor(deps: JobDeps, supervisorId?: string): Promise<void>;
|
|
94
|
-
/**
|
|
95
|
-
* Start slot-queued jobs, oldest first, until the machine is at its limit.
|
|
96
|
-
*
|
|
97
|
-
* Deliberately has no daemon behind it: this runs on every new dispatch and
|
|
98
|
-
* again as each runner exits, which between them covers every moment a slot
|
|
99
|
-
* can free. The cost of that choice is that if every runner dies while jobs
|
|
100
|
-
* are queued, the queue resumes on the next dispatch rather than immediately.
|
|
101
|
-
* Bounded waiting was the explicit alternative and was not chosen — a queued
|
|
102
|
-
* job keeps its jobId and its artifacts either way, so nothing is lost.
|
|
103
|
-
*
|
|
104
|
-
* NOT called at server start, which was tried and reverted: it silently ran
|
|
105
|
-
* jobs abandoned by a dead session. `orphanStrandedSlotQueue` runs there
|
|
106
|
-
* instead and reports them. See its comment for why reporting beats resuming.
|
|
107
|
-
*/
|
|
108
|
-
/**
|
|
109
|
-
* Mark jobs stranded in the slot queue by a server that is gone.
|
|
110
|
-
*
|
|
111
|
-
* Called once at server start, where the reasoning holds unconditionally: this
|
|
112
|
-
* process has not queued anything yet, so anything still slot-queued was
|
|
113
|
-
* queued by a session that no longer exists and nothing will ever drain it —
|
|
114
|
-
* a new dispatch would, but the caller is asking about THIS job, and until
|
|
115
|
-
* they happen to send unrelated work it reads `queued` forever.
|
|
116
|
-
*
|
|
117
|
-
* Deliberately reports rather than runs. Resuming was tried and is worse: a
|
|
118
|
-
* job queued days ago would execute at the next server start, in its original
|
|
119
|
-
* workingDir, at up to `full_auto`, with nobody watching. The job keeps its id
|
|
120
|
-
* and artifacts, so `retry_job` re-runs it as a decision rather than a side
|
|
121
|
-
* effect of opening an editor.
|
|
122
|
-
*
|
|
123
|
-
* The one status this writes back. Orphan detection elsewhere is
|
|
124
|
-
* compute-on-read and never persists its verdict, because the owner might
|
|
125
|
-
* still be alive; here the owner is definitionally gone.
|
|
126
|
-
*/
|
|
127
|
-
export declare function orphanStrandedSlotQueue(): Promise<number>;
|
|
128
|
-
export declare function drainSlotQueue(config: RouterConfig | undefined, configPath: string | undefined): Promise<void>;
|
|
129
|
-
/**
|
|
130
|
-
* Supervisors currently alive, counted from their heartbeat files.
|
|
131
|
-
*
|
|
132
|
-
* Approximate on purpose: over-counting briefly means the pool runs one short
|
|
133
|
-
* until the next drain, and under-counting means one extra supervisor that
|
|
134
|
-
* finds no work and exits within SUPERVISOR_IDLE_EXIT_MS. Neither warrants a
|
|
135
|
-
* lock, and both self-correct.
|
|
136
|
-
*/
|
|
137
|
-
declare function countLiveSupervisors(): Promise<number>;
|
|
138
|
-
/**
|
|
139
|
-
* Exported for the cleanup test, which must exercise the REAL sweep rather
|
|
140
|
-
* than a copy of its logic — the bug being pinned is that a stale heartbeat
|
|
141
|
-
* was never removed, and a reimplementation in the test would pin nothing.
|
|
142
|
-
*/
|
|
143
|
-
export declare const countLiveSupervisorsForTest: typeof countLiveSupervisors;
|
|
144
|
-
export declare function startAsyncJob(deps: JobDeps, input: StartJobInput): Promise<JobStatus>;
|
|
145
|
-
export declare function startAsyncJobTracked(deps: JobDeps, input: StartJobInput): Promise<StartedJob>;
|
|
146
|
-
export declare function getAsyncJob(jobId: string): Promise<{
|
|
147
|
-
manifest: JobManifest;
|
|
148
|
-
status: JobStatus;
|
|
149
|
-
result?: JobResultPayload;
|
|
150
|
-
/** Tail of live stdout/stderr while the job is still running. */
|
|
151
|
-
partialOutput?: string;
|
|
152
|
-
}>;
|
|
153
|
-
export declare function listAsyncJobs(): Promise<JobStatus[]>;
|
|
154
|
-
/** What a cancel request actually did — the caller needs to tell these apart. */
|
|
155
|
-
export interface CancelOutcome {
|
|
156
|
-
jobId: string;
|
|
157
|
-
/**
|
|
158
|
-
* `cancelled` — it was queued and never started; stopped outright.
|
|
159
|
-
* `cancelling` — it is running; teardown requested and lands shortly.
|
|
160
|
-
* `already_finished` — it had already reached a terminal state; nothing done.
|
|
161
|
-
*/
|
|
162
|
-
outcome: "cancelled" | "cancelling" | "already_finished";
|
|
163
|
-
status: JobStatus["status"];
|
|
164
|
-
message: string;
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Ask a job to stop.
|
|
168
|
-
*
|
|
169
|
-
* Cancellation cannot be a signal here: jobs run inside POOLED supervisors,
|
|
170
|
-
* and the only pid recorded against a job belongs to a process that is also
|
|
171
|
-
* running other jobs, so signalling it would cancel work nobody asked to
|
|
172
|
-
* cancel. Instead this writes a marker the run itself honours — it drops out
|
|
173
|
-
* of its event stream, which triggers the dispatcher's teardown (killTree on
|
|
174
|
-
* the agent CLI and its children) and releases the workspace lock through the
|
|
175
|
-
* same path a normal finish uses.
|
|
176
|
-
*
|
|
177
|
-
* Two consequences worth stating plainly, because a caller who assumes
|
|
178
|
-
* otherwise will be surprised:
|
|
179
|
-
*
|
|
180
|
-
* 1. It is not instantaneous. A running job stops within about a second;
|
|
181
|
-
* `cancelling` means requested, not done. Poll job_status to see it land.
|
|
182
|
-
* 2. Work already done is NOT undone. A cancelled agent may have already
|
|
183
|
-
* edited files in the workspace, and those edits stay. Cancelling stops
|
|
184
|
-
* further work; it is not a rollback.
|
|
185
|
-
*
|
|
186
|
-
* A cancelled run is deliberately not recorded as a failure: the route's
|
|
187
|
-
* circuit breaker and failure count never see it, because the caller changing
|
|
188
|
-
* their mind says nothing about whether the route works.
|
|
189
|
-
*/
|
|
190
|
-
export declare function cancelJob(jobId: string, reason?: string): Promise<CancelOutcome>;
|
|
191
|
-
/**
|
|
192
|
-
* Inspect or resolve the isolated workspace a finished job left behind.
|
|
193
|
-
*
|
|
194
|
-
* Looks the job up the same way job_status does, then hands off to
|
|
195
|
-
* workspace-resolve.ts. Kept here so the caller only ever needs a jobId —
|
|
196
|
-
* where the workspace lives, and which policy produced it, are details
|
|
197
|
-
* recorded in the job's own result.
|
|
198
|
-
*/
|
|
199
|
-
export declare function resolveJobWorkspace(jobId: string, action: "diff" | "apply" | "discard", opts?: {
|
|
200
|
-
force?: boolean;
|
|
201
|
-
}): Promise<unknown>;
|
|
202
|
-
export interface RetryOutcome {
|
|
203
|
-
jobId: string;
|
|
204
|
-
retryOf: string;
|
|
205
|
-
service?: string;
|
|
206
|
-
reusedFrom: {
|
|
207
|
-
prompt: boolean;
|
|
208
|
-
files: number;
|
|
209
|
-
workingDir: string;
|
|
210
|
-
};
|
|
211
|
-
message: string;
|
|
212
|
-
}
|
|
213
|
-
/**
|
|
214
|
-
* Run a finished job's task again.
|
|
215
|
-
*
|
|
216
|
-
* The last verb missing from the job lifecycle: you could start work, watch
|
|
217
|
-
* it, stop it, and resolve its workspace — but if it failed, reproducing it
|
|
218
|
-
* meant reconstructing the prompt, the file list, the working directory and
|
|
219
|
-
* the hints by hand, from a job record that already holds all four. The
|
|
220
|
-
* machinery to execute a job bundle existed (executeJobDir) and simply was
|
|
221
|
-
* not reachable from outside.
|
|
222
|
-
*
|
|
223
|
-
* The prompt is taken from prompt.md, which is the FROZEN prompt — including
|
|
224
|
-
* any context preamble the original dispatch rendered in. A retry therefore
|
|
225
|
-
* reproduces what the delegate actually saw, not what the caller typed.
|
|
226
|
-
*
|
|
227
|
-
* `service` retargets the attempt, which is the common case rather than an
|
|
228
|
-
* afterthought: the reason a run failed is often the route, not the task
|
|
229
|
-
* ("codex hit its usage limit — try claude"). Omit it to reuse the original
|
|
230
|
-
* route, or to let the router pick again if the original had none.
|
|
231
|
-
*/
|
|
232
|
-
export declare function retryJob(jobId: string, deps: JobDeps, opts?: {
|
|
233
|
-
service?: string;
|
|
234
|
-
}): Promise<RetryOutcome>;
|
|
2
|
+
* The job surface, assembled from the modules that own each concern.
|
|
3
|
+
*
|
|
4
|
+
* This file was 1,600 lines holding all of them at once: running a job,
|
|
5
|
+
* admission and the supervisor pool, the start/read verbs, and the lifecycle
|
|
6
|
+
* verbs. It is a barrel now, which is what it had already half become — every
|
|
7
|
+
* consumer imports from here, so the split is invisible outside src/jobs/.
|
|
8
|
+
*/
|
|
9
|
+
export { executeJobDir, resolveRunnerPath, runJob } from "./jobs/run.js";
|
|
10
|
+
export { activeCapacity, claimJobDir, countLiveSupervisorsForTest, drainSlotQueue, orphanStrandedSlotQueue, resourceWeightFor, runSupervisor, SUPERVISOR_POOL_SIZE, } from "./jobs/supervisor.js";
|
|
11
|
+
export { getAsyncJob, listAsyncJobs } from "./jobs/read.js";
|
|
12
|
+
export { startAsyncJob, startAsyncJobTracked } from "./jobs/start.js";
|
|
13
|
+
export { cancelJob, resolveJobWorkspace, retryJob, type CancelOutcome, type RetryOutcome, } from "./jobs/lifecycle.js";
|
|
14
|
+
export { buildContextPreamble } from "./jobs/context.js";
|
|
15
|
+
export { setJobRetentionDays } from "./jobs/store.js";
|
|
16
|
+
export type { JobDeps, JobStatus, StartJobInput, StartedJob } from "./jobs/types.js";
|
|
235
17
|
//# sourceMappingURL=jobs.d.ts.map
|
package/dist/jobs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EACL,cAAc,EACd,WAAW,EACX,2BAA2B,EAC3B,cAAc,EACd,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,QAAQ,EACR,KAAK,aAAa,EAClB,KAAK,YAAY,GAClB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
|