@agent-relay/sdk 6.3.4 → 6.3.6

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 (55) hide show
  1. package/bin/agent-relay-broker-darwin-arm64 +0 -0
  2. package/bin/agent-relay-broker-darwin-x64 +0 -0
  3. package/bin/agent-relay-broker-linux-arm64 +0 -0
  4. package/bin/agent-relay-broker-linux-x64 +0 -0
  5. package/bin/agent-relay-broker-win32-x64.exe +0 -0
  6. package/dist/client.d.ts +34 -0
  7. package/dist/client.d.ts.map +1 -1
  8. package/dist/client.js +167 -46
  9. package/dist/client.js.map +1 -1
  10. package/dist/event-bus.d.ts +45 -0
  11. package/dist/event-bus.d.ts.map +1 -0
  12. package/dist/event-bus.js +68 -0
  13. package/dist/event-bus.js.map +1 -0
  14. package/dist/examples/demo.js +27 -27
  15. package/dist/examples/demo.js.map +1 -1
  16. package/dist/examples/persona-spawn.js +9 -10
  17. package/dist/examples/persona-spawn.js.map +1 -1
  18. package/dist/examples/quickstart.js +17 -17
  19. package/dist/examples/quickstart.js.map +1 -1
  20. package/dist/examples/ralph-loop.js +37 -37
  21. package/dist/examples/ralph-loop.js.map +1 -1
  22. package/dist/index.d.ts +2 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/lifecycle-hooks.d.ts +140 -0
  27. package/dist/lifecycle-hooks.d.ts.map +1 -0
  28. package/dist/lifecycle-hooks.js +29 -0
  29. package/dist/lifecycle-hooks.js.map +1 -0
  30. package/dist/relay.d.ts +37 -29
  31. package/dist/relay.d.ts.map +1 -1
  32. package/dist/relay.js +52 -30
  33. package/dist/relay.js.map +1 -1
  34. package/dist/shadow.d.ts +4 -4
  35. package/dist/shadow.d.ts.map +1 -1
  36. package/dist/shadow.js +9 -9
  37. package/dist/shadow.js.map +1 -1
  38. package/dist/spawn-from-env.d.ts.map +1 -1
  39. package/dist/spawn-from-env.js +20 -22
  40. package/dist/spawn-from-env.js.map +1 -1
  41. package/dist/workflows/__tests__/budget-enforcement.test.js +1 -7
  42. package/dist/workflows/__tests__/budget-enforcement.test.js.map +1 -1
  43. package/dist/workflows/__tests__/e2e-permissions.test.js +18 -11
  44. package/dist/workflows/__tests__/e2e-permissions.test.js.map +1 -1
  45. package/dist/workflows/__tests__/permissions-integration.test.js +18 -9
  46. package/dist/workflows/__tests__/permissions-integration.test.js.map +1 -1
  47. package/dist/workflows/__tests__/verification-custom.test.js +1 -7
  48. package/dist/workflows/__tests__/verification-custom.test.js.map +1 -1
  49. package/dist/workflows/__tests__/verification-traceback.test.js +1 -7
  50. package/dist/workflows/__tests__/verification-traceback.test.js.map +1 -1
  51. package/dist/workflows/runner.d.ts +1 -0
  52. package/dist/workflows/runner.d.ts.map +1 -1
  53. package/dist/workflows/runner.js +24 -23
  54. package/dist/workflows/runner.js.map +1 -1
  55. package/package.json +12 -12
Binary file
Binary file
Binary file
Binary file
package/dist/client.d.ts CHANGED
@@ -13,6 +13,8 @@ import { type ChildProcess } from 'node:child_process';
13
13
  import { type PtyInputStream, type PtyInputStreamOptions } from './transport.js';
14
14
  import type { AgentRuntime, BrokerEvent, BrokerStats, BrokerStatus, CrashInsightsResponse, PendingRelayMessage, PtySnapshot, InboundDeliveryMode, SnapshotFormat } from './protocol.js';
15
15
  import type { SpawnHeadlessInput, SpawnPtyInput, SpawnProviderInput, SendMessageInput, ListAgent } from './types.js';
16
+ import { EventBus } from './event-bus.js';
17
+ import type { AgentRelayEvents } from './lifecycle-hooks.js';
16
18
  export interface AgentRelayClientOptions {
17
19
  baseUrl: string;
18
20
  apiKey?: string;
@@ -20,6 +22,14 @@ export interface AgentRelayClientOptions {
20
22
  fetch?: typeof globalThis.fetch;
21
23
  /** Timeout in ms for HTTP requests. Default: 30000. */
22
24
  requestTimeoutMs?: number;
25
+ /**
26
+ * Shared event bus. When constructed bare, the client owns its own bus
27
+ * — listeners registered via `addListener` flow only through this
28
+ * client. When passed in (typically by `AgentRelay`), the client uses
29
+ * the supplied bus so facade-registered listeners observe call-site
30
+ * hooks fired here.
31
+ */
32
+ eventBus?: EventBus<AgentRelayEvents>;
23
33
  }
24
34
  export interface AgentRelayBrokerInitArgs {
25
35
  /** Optional HTTP API port for dashboard proxy (0 = disabled). */
@@ -50,6 +60,8 @@ export interface AgentRelaySpawnOptions {
50
60
  startupTimeoutMs?: number;
51
61
  /** Timeout in ms for HTTP requests to the broker. Default: 30000. */
52
62
  requestTimeoutMs?: number;
63
+ /** Optional shared event bus — see {@link AgentRelayClientOptions.eventBus}. */
64
+ eventBus?: EventBus<AgentRelayEvents>;
53
65
  }
54
66
  export interface SessionInfo {
55
67
  broker_version: string;
@@ -76,7 +88,27 @@ export declare class AgentRelayClient {
76
88
  /** Lease renewal timer (only for spawned brokers). */
77
89
  private leaseTimer;
78
90
  workspaceKey?: string;
91
+ /** Resolved broker URL — captured so call-site lifecycle contexts can surface it. */
92
+ readonly baseUrl: string;
93
+ /** Shared multi-listener registry. Created bare when no `eventBus` is passed in. */
94
+ readonly eventBus: EventBus<AgentRelayEvents>;
79
95
  constructor(options: AgentRelayClientOptions);
96
+ /**
97
+ * Register a listener on the client's event bus. Returns an unsubscribe
98
+ * function. Equivalent to `client.eventBus.addListener(...)` but mirrors
99
+ * the `AgentRelay` facade API so direct-client callers don't need to
100
+ * reach through `.eventBus`.
101
+ */
102
+ addListener<K extends keyof AgentRelayEvents>(event: K, handler: (...args: AgentRelayEvents[K]) => void | Promise<void>): () => void;
103
+ /** Remove a previously-registered listener. */
104
+ removeListener<K extends keyof AgentRelayEvents>(event: K, handler: (...args: AgentRelayEvents[K]) => void | Promise<void>): void;
105
+ /**
106
+ * Fold `beforeAgentSpawn` patches into the input. Listeners run in
107
+ * registration order; each may return a {@link SpawnPatch} that is
108
+ * shallow-merged over the running result. Handler exceptions are caught
109
+ * and logged but do not abort the chain.
110
+ */
111
+ private runBeforeSpawn;
80
112
  /**
81
113
  * Connect to an already-running broker by reading its connection file.
82
114
  *
@@ -89,6 +121,7 @@ export declare class AgentRelayClient {
89
121
  static connect(options?: {
90
122
  cwd?: string;
91
123
  connectionPath?: string;
124
+ eventBus?: EventBus<AgentRelayEvents>;
92
125
  }): AgentRelayClient;
93
126
  /**
94
127
  * Spawn a local broker process and return a connected client.
@@ -140,6 +173,7 @@ export declare class AgentRelayClient {
140
173
  release(name: string, reason?: string): Promise<{
141
174
  name: string;
142
175
  }>;
176
+ private emitAfterSpawn;
143
177
  listAgents(): Promise<ListAgent[]>;
144
178
  sendInput(name: string, data: string): Promise<{
145
179
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -15,12 +15,57 @@ import { readFileSync, existsSync } from 'node:fs';
15
15
  import path from 'node:path';
16
16
  import { BrokerTransport, AgentRelayProtocolError, } from './transport.js';
17
17
  import { getBrokerBinaryPath, formatBrokerNotFoundError } from './broker-path.js';
18
+ import { EventBus } from './event-bus.js';
18
19
  function isHeadlessProvider(value) {
19
20
  return value === 'claude' || value === 'opencode';
20
21
  }
21
22
  function resolveSpawnTransport(input) {
22
23
  return input.transport ?? (input.provider === 'opencode' ? 'headless' : 'pty');
23
24
  }
25
+ /**
26
+ * Serialize a {@link SpawnPtyInput} for the broker `/api/spawn` endpoint.
27
+ * Factored out of {@link AgentRelayClient.spawnPty} so the same shape can
28
+ * be applied to the post-`beforeAgentSpawn` resolved input.
29
+ */
30
+ function buildSpawnPtyBody(input) {
31
+ return {
32
+ name: input.name,
33
+ cli: input.cli,
34
+ ...(input.model !== undefined ? { model: input.model } : {}),
35
+ args: input.args ?? [],
36
+ ...(input.task !== undefined ? { task: input.task } : {}),
37
+ channels: input.channels ?? [],
38
+ ...(input.cwd !== undefined ? { cwd: input.cwd } : {}),
39
+ ...(input.team !== undefined ? { team: input.team } : {}),
40
+ ...(input.agentToken !== undefined ? { agentToken: input.agentToken } : {}),
41
+ ...(input.shadowOf !== undefined ? { shadowOf: input.shadowOf } : {}),
42
+ ...(input.shadowMode !== undefined ? { shadowMode: input.shadowMode } : {}),
43
+ ...(input.continueFrom !== undefined ? { continueFrom: input.continueFrom } : {}),
44
+ ...(input.idleThresholdSecs !== undefined ? { idleThresholdSecs: input.idleThresholdSecs } : {}),
45
+ ...(input.restartPolicy !== undefined ? { restartPolicy: input.restartPolicy } : {}),
46
+ ...(input.skipRelayPrompt !== undefined ? { skipRelayPrompt: input.skipRelayPrompt } : {}),
47
+ };
48
+ }
49
+ function buildSpawnProviderBody(input, transport) {
50
+ return {
51
+ name: input.name,
52
+ cli: input.provider,
53
+ ...(input.model !== undefined ? { model: input.model } : {}),
54
+ args: input.args ?? [],
55
+ ...(input.task !== undefined ? { task: input.task } : {}),
56
+ channels: input.channels ?? [],
57
+ ...(input.cwd !== undefined ? { cwd: input.cwd } : {}),
58
+ ...(input.team !== undefined ? { team: input.team } : {}),
59
+ ...(input.agentToken !== undefined ? { agentToken: input.agentToken } : {}),
60
+ ...(input.shadowOf !== undefined ? { shadowOf: input.shadowOf } : {}),
61
+ ...(input.shadowMode !== undefined ? { shadowMode: input.shadowMode } : {}),
62
+ ...(input.continueFrom !== undefined ? { continueFrom: input.continueFrom } : {}),
63
+ ...(input.idleThresholdSecs !== undefined ? { idleThresholdSecs: input.idleThresholdSecs } : {}),
64
+ ...(input.restartPolicy !== undefined ? { restartPolicy: input.restartPolicy } : {}),
65
+ ...(input.skipRelayPrompt !== undefined ? { skipRelayPrompt: input.skipRelayPrompt } : {}),
66
+ transport,
67
+ };
68
+ }
24
69
  function isProcessRunning(pid) {
25
70
  if (!Number.isInteger(pid) || pid <= 0) {
26
71
  return false;
@@ -60,7 +105,13 @@ export class AgentRelayClient {
60
105
  /** Lease renewal timer (only for spawned brokers). */
61
106
  leaseTimer = null;
62
107
  workspaceKey;
108
+ /** Resolved broker URL — captured so call-site lifecycle contexts can surface it. */
109
+ baseUrl;
110
+ /** Shared multi-listener registry. Created bare when no `eventBus` is passed in. */
111
+ eventBus;
63
112
  constructor(options) {
113
+ this.baseUrl = options.baseUrl;
114
+ this.eventBus = options.eventBus ?? new EventBus();
64
115
  this.transport = new BrokerTransport({
65
116
  baseUrl: options.baseUrl,
66
117
  apiKey: options.apiKey,
@@ -68,6 +119,40 @@ export class AgentRelayClient {
68
119
  requestTimeoutMs: options.requestTimeoutMs,
69
120
  });
70
121
  }
122
+ /**
123
+ * Register a listener on the client's event bus. Returns an unsubscribe
124
+ * function. Equivalent to `client.eventBus.addListener(...)` but mirrors
125
+ * the `AgentRelay` facade API so direct-client callers don't need to
126
+ * reach through `.eventBus`.
127
+ */
128
+ addListener(event, handler) {
129
+ return this.eventBus.addListener(event, handler);
130
+ }
131
+ /** Remove a previously-registered listener. */
132
+ removeListener(event, handler) {
133
+ this.eventBus.removeListener(event, handler);
134
+ }
135
+ /**
136
+ * Fold `beforeAgentSpawn` patches into the input. Listeners run in
137
+ * registration order; each may return a {@link SpawnPatch} that is
138
+ * shallow-merged over the running result. Handler exceptions are caught
139
+ * and logged but do not abort the chain.
140
+ */
141
+ async runBeforeSpawn(ctx) {
142
+ let resolved = { ...ctx.input };
143
+ for (const handler of this.eventBus.listeners('beforeAgentSpawn')) {
144
+ try {
145
+ const patch = await handler({ ...ctx, input: resolved });
146
+ if (patch && typeof patch === 'object') {
147
+ resolved = { ...resolved, ...patch };
148
+ }
149
+ }
150
+ catch (err) {
151
+ console.error('[agent-relay] beforeAgentSpawn listener threw:', err);
152
+ }
153
+ }
154
+ return resolved;
155
+ }
71
156
  /**
72
157
  * Connect to an already-running broker by reading its connection file.
73
158
  *
@@ -98,7 +183,11 @@ export class AgentRelayClient {
98
183
  if (!isProcessRunning(conn.pid)) {
99
184
  throw new Error(`Stale broker connection file (${connPath}) points to dead pid ${conn.pid}. Start the broker with 'agent-relay up' or use AgentRelayClient.spawn().`);
100
185
  }
101
- return new AgentRelayClient({ baseUrl: conn.url, apiKey: conn.api_key });
186
+ return new AgentRelayClient({
187
+ baseUrl: conn.url,
188
+ apiKey: conn.api_key,
189
+ ...(options?.eventBus ? { eventBus: options.eventBus } : {}),
190
+ });
102
191
  }
103
192
  /**
104
193
  * Spawn a local broker process and return a connected client.
@@ -160,6 +249,7 @@ export class AgentRelayClient {
160
249
  baseUrl,
161
250
  apiKey,
162
251
  requestTimeoutMs: options?.requestTimeoutMs,
252
+ ...(options?.eventBus ? { eventBus: options.eventBus } : {}),
163
253
  });
164
254
  client.child = child;
165
255
  // The broker prints "API listening on …" the moment its TCP listener is
@@ -243,53 +333,54 @@ export class AgentRelayClient {
243
333
  }
244
334
  // ── Agent lifecycle ────────────────────────────────────────────────
245
335
  async spawnPty(input) {
246
- return this.transport.request('/api/spawn', {
247
- method: 'POST',
248
- body: JSON.stringify({
249
- name: input.name,
250
- cli: input.cli,
251
- ...(input.model !== undefined ? { model: input.model } : {}),
252
- args: input.args ?? [],
253
- ...(input.task !== undefined ? { task: input.task } : {}),
254
- channels: input.channels ?? [],
255
- ...(input.cwd !== undefined ? { cwd: input.cwd } : {}),
256
- ...(input.team !== undefined ? { team: input.team } : {}),
257
- ...(input.agentToken !== undefined ? { agentToken: input.agentToken } : {}),
258
- ...(input.shadowOf !== undefined ? { shadowOf: input.shadowOf } : {}),
259
- ...(input.shadowMode !== undefined ? { shadowMode: input.shadowMode } : {}),
260
- ...(input.continueFrom !== undefined ? { continueFrom: input.continueFrom } : {}),
261
- ...(input.idleThresholdSecs !== undefined ? { idleThresholdSecs: input.idleThresholdSecs } : {}),
262
- ...(input.restartPolicy !== undefined ? { restartPolicy: input.restartPolicy } : {}),
263
- ...(input.skipRelayPrompt !== undefined ? { skipRelayPrompt: input.skipRelayPrompt } : {}),
264
- }),
265
- });
336
+ const beforeCtx = {
337
+ kind: 'pty',
338
+ input,
339
+ spawnerPid: process.pid,
340
+ spawnStartTs: new Date().toISOString(),
341
+ baseUrl: this.baseUrl,
342
+ };
343
+ const t0 = Date.now();
344
+ const resolvedInput = (await this.runBeforeSpawn(beforeCtx));
345
+ try {
346
+ const result = await this.transport.request('/api/spawn', {
347
+ method: 'POST',
348
+ body: JSON.stringify(buildSpawnPtyBody(resolvedInput)),
349
+ });
350
+ await this.emitAfterSpawn(beforeCtx, resolvedInput, t0, result, undefined);
351
+ return result;
352
+ }
353
+ catch (err) {
354
+ await this.emitAfterSpawn(beforeCtx, resolvedInput, t0, undefined, err);
355
+ throw err;
356
+ }
266
357
  }
267
358
  async spawnProvider(input) {
268
359
  const transport = resolveSpawnTransport(input);
269
360
  if (transport === 'headless' && !isHeadlessProvider(input.provider)) {
270
361
  throw new Error(`provider '${input.provider}' does not support headless transport (supported: claude, opencode)`);
271
362
  }
272
- return this.transport.request('/api/spawn', {
273
- method: 'POST',
274
- body: JSON.stringify({
275
- name: input.name,
276
- cli: input.provider,
277
- ...(input.model !== undefined ? { model: input.model } : {}),
278
- args: input.args ?? [],
279
- ...(input.task !== undefined ? { task: input.task } : {}),
280
- channels: input.channels ?? [],
281
- ...(input.cwd !== undefined ? { cwd: input.cwd } : {}),
282
- ...(input.team !== undefined ? { team: input.team } : {}),
283
- ...(input.agentToken !== undefined ? { agentToken: input.agentToken } : {}),
284
- ...(input.shadowOf !== undefined ? { shadowOf: input.shadowOf } : {}),
285
- ...(input.shadowMode !== undefined ? { shadowMode: input.shadowMode } : {}),
286
- ...(input.continueFrom !== undefined ? { continueFrom: input.continueFrom } : {}),
287
- ...(input.idleThresholdSecs !== undefined ? { idleThresholdSecs: input.idleThresholdSecs } : {}),
288
- ...(input.restartPolicy !== undefined ? { restartPolicy: input.restartPolicy } : {}),
289
- ...(input.skipRelayPrompt !== undefined ? { skipRelayPrompt: input.skipRelayPrompt } : {}),
290
- transport,
291
- }),
292
- });
363
+ const beforeCtx = {
364
+ kind: 'provider',
365
+ input,
366
+ spawnerPid: process.pid,
367
+ spawnStartTs: new Date().toISOString(),
368
+ baseUrl: this.baseUrl,
369
+ };
370
+ const t0 = Date.now();
371
+ const resolvedInput = (await this.runBeforeSpawn(beforeCtx));
372
+ try {
373
+ const result = await this.transport.request('/api/spawn', {
374
+ method: 'POST',
375
+ body: JSON.stringify(buildSpawnProviderBody(resolvedInput, transport)),
376
+ });
377
+ await this.emitAfterSpawn(beforeCtx, resolvedInput, t0, result, undefined);
378
+ return result;
379
+ }
380
+ catch (err) {
381
+ await this.emitAfterSpawn(beforeCtx, resolvedInput, t0, undefined, err);
382
+ throw err;
383
+ }
293
384
  }
294
385
  async spawnHeadless(input) {
295
386
  return this.spawnProvider({ ...input, transport: 'headless' });
@@ -301,10 +392,40 @@ export class AgentRelayClient {
301
392
  return this.spawnProvider({ ...input, provider: 'opencode' });
302
393
  }
303
394
  async release(name, reason) {
304
- return this.transport.request(`/api/spawned/${encodeURIComponent(name)}`, {
305
- method: 'DELETE',
306
- ...(reason ? { body: JSON.stringify({ reason }) } : {}),
307
- });
395
+ const beforeCtx = { name, reason, baseUrl: this.baseUrl };
396
+ const t0 = Date.now();
397
+ await this.eventBus.emit('beforeAgentRelease', beforeCtx);
398
+ try {
399
+ const result = await this.transport.request(`/api/spawned/${encodeURIComponent(name)}`, {
400
+ method: 'DELETE',
401
+ ...(reason ? { body: JSON.stringify({ reason }) } : {}),
402
+ });
403
+ const afterCtx = {
404
+ ...beforeCtx,
405
+ durationMs: Date.now() - t0,
406
+ };
407
+ await this.eventBus.emit('afterAgentRelease', afterCtx);
408
+ return result;
409
+ }
410
+ catch (err) {
411
+ const afterCtx = {
412
+ ...beforeCtx,
413
+ error: err instanceof Error ? err : new Error(String(err)),
414
+ durationMs: Date.now() - t0,
415
+ };
416
+ await this.eventBus.emit('afterAgentRelease', afterCtx);
417
+ throw err;
418
+ }
419
+ }
420
+ async emitAfterSpawn(beforeCtx, resolvedInput, startMs, result, error) {
421
+ const afterCtx = {
422
+ ...beforeCtx,
423
+ resolvedInput,
424
+ ...(result ? { result } : {}),
425
+ ...(error !== undefined ? { error: error instanceof Error ? error : new Error(String(error)) } : {}),
426
+ durationMs: Date.now() - startMs,
427
+ };
428
+ await this.eventBus.emit('afterAgentSpawn', afterCtx);
308
429
  }
309
430
  async listAgents() {
310
431
  const result = await this.transport.request('/api/spawned');
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,uBAAuB,GAGxB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AA8FlF,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,UAAU,CAAC;AACpD,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAyB;IACtD,OAAO,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAQ,KAA+B,CAAC,IAAI,KAAK,OAAO,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,IAA+B;IAC1D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0EAA0E;AAE1E,MAAM,OAAO,gBAAgB;IACV,SAAS,CAAkB;IAE5C,qDAAqD;IAC7C,KAAK,GAAwB,IAAI,CAAC;IAC1C,sDAAsD;IAC9C,UAAU,GAA0C,IAAI,CAAC;IAEjE,YAAY,CAAU;IAEtB,YAAY,OAAgC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC;YACnC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;SAC3C,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,OAAO,CAAC,OAAmD;QAChE,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;QACnD,MAAM,QAAQ,GACZ,OAAO,EAAE,cAAc,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,iBAAiB,CAAC,CAAC;QAEtG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,4BAA4B,QAAQ,oFAAoF,CACzH,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,IAA6F,CAAC;QAClG,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,0CAA0C,CAAC,CAAC;QACzG,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACrG,MAAM,IAAI,KAAK,CACb,yCAAyC,QAAQ,yCAAyC,CAC3F,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,iCAAiC,QAAQ,wBAAwB,IAAI,CAAC,GAAG,2EAA2E,CACrJ,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;;OASG;IACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAgC;QACjD,IAAI,UAAU,GAAG,OAAO,EAAE,UAAU,CAAC;QACrC,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAC;YACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,UAAU,GAAG,QAAQ,CAAC;QACxB,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,OAAO,EAAE,gBAAgB,IAAI,MAAM,CAAC;QACtD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAEvD,MAAM,GAAG,GAAG;YACV,GAAG,OAAO,CAAC,GAAG;YACd,GAAG,OAAO,EAAE,GAAG;YACf,yBAAyB,EACvB,OAAO,EAAE,GAAG,EAAE,yBAAyB,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,GAAG;YACzF,oBAAoB,EAAE,MAAM;SAC7B,CAAC;QAEF,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC;QAC3F,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,EAAE;YACpC,GAAG;YACH,GAAG;YACH,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;SAClC,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;YAC1D,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACpD,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrB,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;gBACpC,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,qEAAqE;QACrE,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE;YACpD,UAAU;YACV,IAAI;YACJ,GAAG;YACH,WAAW;YACX,WAAW;SACZ,CAAC,CAAC;QACH,4BAA4B,CAAC,KAAK,CAAC,CAAC;QAEpC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC;YAClC,OAAO;YACP,MAAM;YACN,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;SAC5C,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAErB,wEAAwE;QACxE,qEAAqE;QACrE,2DAA2D;QAC3D,EAAE;QACF,sEAAsE;QACtE,kEAAkE;QAClE,uEAAuE;QACvE,qEAAqE;QACrE,mDAAmD;QACnD,EAAE;QACF,yEAAyE;QACzE,yEAAyE;QACzE,sEAAsE;QACtE,yDAAyD;QACzD,MAAM,YAAY,GAAG,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE;YACpD,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1B,MAAM,CACJ,IAAI,KAAK,CACP,wBAAwB,CACtB,mCAAmC,IAAI,2BAA2B,EAClE,KAAK,EACL,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,EAAE,CACpD,CACF,CACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,sEAAsE;QACtE,oDAAoD;QACpD,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAE7B,IAAI,OAAgC,CAAC;QACrC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;gBAClE,MAAM;YACR,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACjE,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gBACjF,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC;oBAAE,MAAM,GAAG,CAAC;gBACtC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAED,MAAM,CAAC,aAAa,EAAE,CAAC;QAEvB,4DAA4D;QAC5D,MAAM,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE;YACnC,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtC,CAAC,EAAE,MAAM,CAAC,CAAC;QAEX,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACpB,MAAM,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACtB,aAAa,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBACjC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,6DAA6D;IAC7D,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;IACzB,CAAC;IAED,sEAAsE;IAEtE,KAAK,CAAC,UAAU;QACd,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAc,cAAc,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAsB,SAAS,CAAC,CAAC;IAChE,CAAC;IAED,sEAAsE;IAEtE,aAAa,CAAC,QAAiB;QAC7B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,OAAO,CAAC,QAAsC;QAC5C,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,WAAW,CAAC,MAAyE;QACnF,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,YAAY,CAAC,IAAY,EAAE,IAAa;QACtC,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,sEAAsE;IAEtE,KAAK,CAAC,QAAQ,CAAC,KAAoB;QACjC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE;YAC1C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gBACtB,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;gBAC9B,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,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,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChG,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3F,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAyB;QAC3C,MAAM,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,SAAS,KAAK,UAAU,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CACb,aAAa,KAAK,CAAC,QAAQ,qEAAqE,CACjG,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,EAAE;YAC1C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,GAAG,EAAE,KAAK,CAAC,QAAQ;gBACnB,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5D,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;gBACtB,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;gBAC9B,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,GAAG,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,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,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3E,GAAG,CAAC,KAAK,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,GAAG,CAAC,KAAK,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChG,GAAG,CAAC,KAAK,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpF,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1F,SAAS;aACV,CAAC;SACH,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAyB;QAC3C,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,WAAW,CACf,KAA2C;QAE3C,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,KAA2C;QAE3C,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAY,EAAE,MAAe;QACzC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;YACxE,MAAM,EAAE,QAAQ;YAChB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAA0B,cAAc,CAAC,CAAC;QACrF,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAED,sEAAsE;IAEtE,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,IAAY;QACxC,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;YACtE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,OAA+B;QAC3D,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,SAAS,CACb,IAAY,EACZ,IAAY,EACZ,IAAY;QAEZ,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE;YACvE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACrC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAY;QACvC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CACzC,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CACzD,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpE,MAAM,IAAI,uBAAuB,CAAC;gBAChC,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,qDAAqD;aAC/D,CAAC,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,IAAY,EACZ,IAAyB;QAEzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CACzC,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,EACxD;YACE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC;SAC/B,CACF,CAAC;QACF,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACpE,MAAM,IAAI,uBAAuB,CAAC;gBAChC,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,yDAAyD;aACnE,CAAC,CAAC;QACL,CAAC;QACD,OAAO;YACL,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACjE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CACzC,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,UAAU,CACnD,CAAC;QACF,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,OAAiC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CACzC,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAChD,EAAE,MAAM,EAAE,MAAM,EAAE,CACnB,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,SAAyB,OAAO;QAC3D,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3B,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CACzF,CAAC;IACJ,CAAC;IAED,qBAAqB,CAAC,IAAY,EAAE,UAA2C,EAAE;QAC/E,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAErC,OAAO;YACL,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE;gBAC3B,MAAM,KAAK,GAAa,EAAE,CAAC;gBAC3B,IAAI,OAKS,CAAC;gBACd,IAAI,IAAI,GAAG,KAAK,CAAC;gBAEjB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBACzC,IACE,KAAK,CAAC,IAAI,KAAK,eAAe;wBAC9B,KAAK,CAAC,IAAI,KAAK,IAAI;wBACnB,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,EACjE,CAAC;wBACD,OAAO;oBACT,CAAC;oBACD,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;wBAC5B,OAAO,GAAG,SAAS,CAAC;wBACpB,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;wBAC7C,OAAO;oBACT,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC,CAAC,CAAC;gBAEH,MAAM,KAAK,GAAG,GAA2B,EAAE;oBACzC,IAAI,GAAG,IAAI,CAAC;oBACZ,WAAW,EAAE,CAAC;oBACd,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;wBAC5B,OAAO,GAAG,SAAS,CAAC;wBACpB,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAkB,EAAE,CAAC,CAAC;oBACrD,CAAC;oBACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAkB,EAAE,CAAC;gBACnD,CAAC,CAAC;gBAEF,OAAO;oBACL,IAAI;wBACF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACrB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAY,EAAE,CAAC,CAAC;wBAC1E,CAAC;wBACD,IAAI,IAAI,EAAE,CAAC;4BACT,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAkB,EAAE,CAAC,CAAC;wBACpE,CAAC;wBACD,OAAO,IAAI,OAAO,CAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;4BAC7D,OAAO,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;wBAChC,CAAC,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM;wBACJ,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;oBAClC,CAAC;oBACD,KAAK,CAAC,KAAe;wBACnB,IAAI,GAAG,IAAI,CAAC;wBACZ,WAAW,EAAE,CAAC;wBACd,IAAI,OAAO,EAAE,CAAC;4BACZ,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;4BAC3B,OAAO,GAAG,SAAS,CAAC;4BACpB,MAAM,CAAC,KAAK,CAAC,CAAC;wBAChB,CAAC;wBACD,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC/B,CAAC;oBACD,CAAC,MAAM,CAAC,aAAa,CAAC;wBACpB,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF,CAAC;YACJ,CAAC;SACF,CAAC;IACJ,CAAC;IAED,sEAAsE;IAEtE,KAAK,CAAC,WAAW,CAAC,KAAuB;QACvC,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE;gBAC/C,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,cAAc,EAAE,KAAK,CAAC,cAAc;oBACpC,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;iBACjB,CAAC;aACH,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,uBAAuB,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACvF,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;YAC5D,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,sEAAsE;IAEtE,KAAK,CAAC,QAAQ,CACZ,IAAY,EACZ,KAAa,EACb,IAA6B;QAE7B,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC9E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IAED,sEAAsE;IAEtE,KAAK,CAAC,iBAAiB,CAAC,IAAY,EAAE,QAAkB;QACtD,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE;YACjF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY,EAAE,QAAkB;QACxD,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,kBAAkB,CAAC,IAAI,CAAC,cAAc,EAAE;YACnF,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;SACnC,CAAC,CAAC;IACL,CAAC;IAED,sEAAsE;IAEtE,KAAK,CAAC,UAAU,CAAC,KAAc;QAI7B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,UAAU,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,KAAK,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAe,aAAa,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACvD,CAAC;IAED,sEAAsE;IAEtE,KAAK,CAAC,SAAS,CAAC,MAA4C;QAC1D,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,gBAAgB,EAAE;YAC9C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU;QACd,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QAED,8DAA8D;QAC9D,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;QAE5B,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,8FAA8F;IAC9F,UAAU;QACR,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/C,CAAC;CACF;AAED,4EAA4E;AAE5E;;;;GAIG;AACH,KAAK,UAAU,aAAa,CAC1B,KAAmB,EACnB,SAAiB,EACjB,KAAgC;IAEhC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAE1D,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC7C,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAEpD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,MAAM,CACJ,IAAI,KAAK,CACP,wBAAwB,CAAC,yCAAyC,SAAS,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAC/F,CACF,CAAC;YACJ,CAAC;QACH,CAAC,EAAE,SAAS,CAAC,CAAC;QAEd,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,CACJ,IAAI,KAAK,CACP,wBAAwB,CACtB,mCAAmC,IAAI,wBAAwB,EAC/D,KAAK,EACL,KAAK,CACN,CACF,CACF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,QAAQ,GAAG,IAAI,CAAC;gBAChB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,2BAA2B,GAAG,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,QAAQ;gBAAE,OAAO;YACrB,gBAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YAE1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACjE,IAAI,KAAK,EAAE,CAAC;gBACV,QAAQ,GAAG,IAAI,CAAC;gBAChB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,EAAE,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAmB;IACvD,mEAAmE;IACnE,2EAA2E;IAC3E,8EAA8E;IAC9E,8EAA8E;IAC9E,gDAAgD;IAChD,KAAK,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC5B,MAAM,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,4BAA4B;CAC7B,CAAC;AAEF,SAAS,gBAAgB,CAAC,KAAe,EAAE,IAAY;IACrD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACtB,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB,CAC/B,OAAe,EACf,KAAmB,EACnB,KAAgC;IAEhC,MAAM,OAAO,GAAG;QACd,OAAO,KAAK,CAAC,GAAG,IAAI,SAAS,EAAE;QAC/B,OAAO,KAAK,CAAC,GAAG,EAAE;QAClB,WAAW,aAAa,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;QACxD,eAAe,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;QACvD,eAAe,mBAAmB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;KACxD,CAAC;IACF,OAAO,GAAG,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AAC9C,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAe;IAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK;SACT,KAAK,CAAC,CAAC,CAAC,CAAC;SACT,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SACjC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,aAAa,CAAC,UAAkB,EAAE,IAAc;IACvD,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACjD,IAAI,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,WAAW,CAAC,KAAmB,EAAE,SAAiB;IACzD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC5B,OAAO,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACpB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Typed multi-listener registry shared by `AgentRelay` and `AgentRelayClient`.
3
+ *
4
+ * Replaces the previous single-callback `on*: EventHook<T> = null` fields on
5
+ * `AgentRelay` so multiple integrations (burn stamping, Pear UI, third-party
6
+ * observers, …) can subscribe to the same event without stepping on each
7
+ * other.
8
+ *
9
+ * Each `addListener(event, handler)` returns an unsubscribe function;
10
+ * `removeListener(event, handler)` is also available. Handlers fire in
11
+ * registration order; async handlers are awaited sequentially. Handler
12
+ * exceptions are caught and logged to `console.error` so one bad listener
13
+ * never blocks the originating operation or subsequent listeners.
14
+ *
15
+ * The bus is intentionally generic — callers parameterize it with a typed
16
+ * event map (see `AgentRelayEvents` in `./lifecycle-hooks.ts`) so each
17
+ * event's payload is fully checked at the addListener / emit boundary.
18
+ */
19
+ export type EventMap = Record<string, readonly unknown[]>;
20
+ export type EventHandler<Args extends readonly unknown[]> = (...args: Args) => void | Promise<void>;
21
+ export declare class EventBus<E extends EventMap> {
22
+ private handlers;
23
+ /**
24
+ * Register a handler for `event`. Returns an unsubscribe function that
25
+ * removes the handler when called.
26
+ */
27
+ addListener<K extends keyof E>(event: K, handler: EventHandler<E[K]>): () => void;
28
+ /** Remove a previously-registered handler. Idempotent. */
29
+ removeListener<K extends keyof E>(event: K, handler: EventHandler<E[K]>): void;
30
+ /** Number of currently-registered handlers for `event`. Useful for tests. */
31
+ listenerCount<K extends keyof E>(event: K): number;
32
+ /** Snapshot the handlers for `event` so iteration is safe under concurrent mutation. */
33
+ listeners<K extends keyof E>(event: K): Array<EventHandler<E[K]>>;
34
+ /**
35
+ * Fire `event` with `args`, awaiting each handler sequentially in
36
+ * registration order. Handler exceptions are caught and logged; they
37
+ * never abort the dispatch chain.
38
+ *
39
+ * Return value is intentionally `void`; consumers that need to collect
40
+ * patches (e.g. `beforeAgentSpawn`'s shallow-merge contract) iterate
41
+ * `listeners()` directly so they can capture each handler's return.
42
+ */
43
+ emit<K extends keyof E>(event: K, ...args: E[K]): Promise<void>;
44
+ }
45
+ //# sourceMappingURL=event-bus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,CAAC,CAAC;AAE1D,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,SAAS,OAAO,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpG,qBAAa,QAAQ,CAAC,CAAC,SAAS,QAAQ;IACtC,OAAO,CAAC,QAAQ,CAAkE;IAElF;;;OAGG;IACH,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAsBjF,0DAA0D;IAC1D,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAS9E,6EAA6E;IAC7E,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM;IAIlD,wFAAwF;IACxF,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAKjE;;;;;;;;OAQG;IACG,IAAI,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAStE"}
@@ -0,0 +1,68 @@
1
+ export class EventBus {
2
+ handlers = new Map();
3
+ /**
4
+ * Register a handler for `event`. Returns an unsubscribe function that
5
+ * removes the handler when called.
6
+ */
7
+ addListener(event, handler) {
8
+ let set = this.handlers.get(event);
9
+ if (!set) {
10
+ set = new Set();
11
+ this.handlers.set(event, set);
12
+ }
13
+ set.add(handler);
14
+ return () => {
15
+ // Re-read the current Set from the map so a stale closure can't blow
16
+ // away the new Set if the caller unsubscribes, re-registers a fresh
17
+ // handler under the same event, then calls the original `off` again.
18
+ // Without this identity check the double-`off()` would silently drop
19
+ // every listener for the event.
20
+ const current = this.handlers.get(event);
21
+ if (current !== set)
22
+ return;
23
+ current.delete(handler);
24
+ if (current.size === 0) {
25
+ this.handlers.delete(event);
26
+ }
27
+ };
28
+ }
29
+ /** Remove a previously-registered handler. Idempotent. */
30
+ removeListener(event, handler) {
31
+ const set = this.handlers.get(event);
32
+ if (!set)
33
+ return;
34
+ set.delete(handler);
35
+ if (set.size === 0) {
36
+ this.handlers.delete(event);
37
+ }
38
+ }
39
+ /** Number of currently-registered handlers for `event`. Useful for tests. */
40
+ listenerCount(event) {
41
+ return this.handlers.get(event)?.size ?? 0;
42
+ }
43
+ /** Snapshot the handlers for `event` so iteration is safe under concurrent mutation. */
44
+ listeners(event) {
45
+ const set = this.handlers.get(event);
46
+ return set ? Array.from(set) : [];
47
+ }
48
+ /**
49
+ * Fire `event` with `args`, awaiting each handler sequentially in
50
+ * registration order. Handler exceptions are caught and logged; they
51
+ * never abort the dispatch chain.
52
+ *
53
+ * Return value is intentionally `void`; consumers that need to collect
54
+ * patches (e.g. `beforeAgentSpawn`'s shallow-merge contract) iterate
55
+ * `listeners()` directly so they can capture each handler's return.
56
+ */
57
+ async emit(event, ...args) {
58
+ for (const handler of this.listeners(event)) {
59
+ try {
60
+ await handler(...args);
61
+ }
62
+ catch (err) {
63
+ console.error(`[agent-relay] listener for "${String(event)}" threw:`, err);
64
+ }
65
+ }
66
+ }
67
+ }
68
+ //# sourceMappingURL=event-bus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../src/event-bus.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAO,QAAQ;IACX,QAAQ,GAAwD,IAAI,GAAG,EAAE,CAAC;IAElF;;;OAGG;IACH,WAAW,CAAoB,KAAQ,EAAE,OAA2B;QAClE,IAAI,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,OAA2C,CAAC,CAAC;QACrD,OAAO,GAAG,EAAE;YACV,qEAAqE;YACrE,oEAAoE;YACpE,qEAAqE;YACrE,qEAAqE;YACrE,gCAAgC;YAChC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,OAAO,KAAK,GAAG;gBAAE,OAAO;YAC5B,OAAO,CAAC,MAAM,CAAC,OAA2C,CAAC,CAAC;YAC5D,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,cAAc,CAAoB,KAAQ,EAAE,OAA2B;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG;YAAE,OAAO;QACjB,GAAG,CAAC,MAAM,CAAC,OAA2C,CAAC,CAAC;QACxD,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,aAAa,CAAoB,KAAQ;QACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,wFAAwF;IACxF,SAAS,CAAoB,KAAQ;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,GAAG,CAAC,CAAC,CAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,IAAI,CAAoB,KAAQ,EAAE,GAAG,IAAU;QACnD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;YACzB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,MAAM,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAC7E,CAAC;QACH,CAAC;IACH,CAAC;CACF"}