@beeos-ai/device-agent 0.12.4 → 0.12.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 (47) hide show
  1. package/dist/agent-runtime/adapters/base.d.ts +1 -1
  2. package/dist/agent-runtime/adapters/openai.js +3 -1
  3. package/dist/agent-runtime/adapters/openai.js.map +1 -1
  4. package/dist/agent-runtime/core.d.ts +7 -4
  5. package/dist/agent-runtime/core.js +42 -5
  6. package/dist/agent-runtime/core.js.map +1 -1
  7. package/dist/agent-runtime/models/client.js +19 -35
  8. package/dist/agent-runtime/models/client.js.map +1 -1
  9. package/dist/agent-runtime/models/image/compress.d.ts +3 -2
  10. package/dist/agent-runtime/models/image/compress.js +12 -2
  11. package/dist/agent-runtime/models/image/compress.js.map +1 -1
  12. package/dist/agent-runtime/models/openai-base-url.d.ts +6 -0
  13. package/dist/agent-runtime/models/openai-base-url.js +23 -0
  14. package/dist/agent-runtime/models/openai-base-url.js.map +1 -0
  15. package/dist/agent-runtime/modes/hybrid/index.js +7 -7
  16. package/dist/agent-runtime/modes/hybrid/index.js.map +1 -1
  17. package/dist/agent-runtime/modes/hybrid/planner/llm-planner.js +5 -1
  18. package/dist/agent-runtime/modes/hybrid/planner/llm-planner.js.map +1 -1
  19. package/dist/agent-runtime/modes/orchestrator/index.js +2 -1
  20. package/dist/agent-runtime/modes/orchestrator/index.js.map +1 -1
  21. package/dist/agent-runtime/plan-executor.js +1 -1
  22. package/dist/agent-runtime/plan-executor.js.map +1 -1
  23. package/dist/agent-runtime/reflectors/action-reflector.js +3 -2
  24. package/dist/agent-runtime/reflectors/action-reflector.js.map +1 -1
  25. package/dist/agent-runtime/reflectors/trajectory-reflector.js +3 -2
  26. package/dist/agent-runtime/reflectors/trajectory-reflector.js.map +1 -1
  27. package/dist/agent-runtime/skills/replay.js +16 -1
  28. package/dist/agent-runtime/skills/replay.js.map +1 -1
  29. package/dist/app/agent-host.js +4 -1
  30. package/dist/app/agent-host.js.map +1 -1
  31. package/dist/app/session-manager.d.ts +3 -3
  32. package/dist/app/session-manager.js +18 -20
  33. package/dist/app/session-manager.js.map +1 -1
  34. package/dist/device/apps.d.ts +6 -0
  35. package/dist/device/apps.js +16 -0
  36. package/dist/device/apps.js.map +1 -1
  37. package/dist/messaging/message-client.d.ts +48 -0
  38. package/dist/messaging/message-client.js +132 -4
  39. package/dist/messaging/message-client.js.map +1 -1
  40. package/dist/plugins/message-bus/inbound.js +10 -0
  41. package/dist/plugins/message-bus/inbound.js.map +1 -1
  42. package/dist/plugins/message-bus/ms-channel-notifier.d.ts +26 -14
  43. package/dist/plugins/message-bus/ms-channel-notifier.js +135 -63
  44. package/dist/plugins/message-bus/ms-channel-notifier.js.map +1 -1
  45. package/dist/ports/agent-core.d.ts +5 -8
  46. package/dist/ports/agent-host.d.ts +2 -2
  47. package/package.json +1 -1
@@ -73,24 +73,23 @@ export declare class MsChannelNotifier implements SessionUpdateNotifier {
73
73
  private readonly sleep;
74
74
  private readonly stream;
75
75
  private streamFlushTimer;
76
+ private streamDrain;
76
77
  private pendingBodyText;
78
+ private handleQueue;
79
+ /** Current prose segment, committed to parts only at a tool/terminal boundary. */
77
80
  private pendingReplyText;
78
81
  private pendingReasoningText;
79
82
  private reasoningText;
80
83
  private reasoningPartIndex;
81
- private activeTextPart;
82
84
  private nextPartSequence;
83
85
  private readonly toolParts;
84
86
  constructor(opts: MsChannelNotifierOptions);
85
87
  /** Durable reply id targeted by Message Service `chat_cancel` envelopes. */
86
88
  get replyMessageId(): string | undefined;
87
- /**
88
- * Called by SessionManager for every `session/update` envelope on
89
- * this notifier's bound sid. Fire-and-forget: the SessionManager
90
- * event hot path is synchronous, so we kick off the publish in the
91
- * background and never block.
92
- */
93
- send(_sessionId: string, update: Record<string, unknown>): void;
89
+ /** Wait until the v3 reply row exists before starting the model run. */
90
+ opened(): Promise<void>;
91
+ /** Process updates in source order and expose backpressure to SessionManager. */
92
+ send(_sessionId: string, update: Record<string, unknown>): Promise<void>;
94
93
  /**
95
94
  * Cumulative reply text emitted so far. Exposed for diagnostics +
96
95
  * tests; not part of any wire contract.
@@ -111,19 +110,32 @@ export declare class MsChannelNotifier implements SessionUpdateNotifier {
111
110
  private publishFinal;
112
111
  private publishFinalOnce;
113
112
  private scheduleStreamFlush;
114
- private flushStreamDeltas;
113
+ /**
114
+ * Persist at most one small body frame, then wait for Message Service.
115
+ * This is the backpressure boundary that prevents a fast VLM from building
116
+ * an unbounded serialized HTTP queue inside MessageStreamWriter.
117
+ */
118
+ private drainStreamBatch;
119
+ /** Drain every pending frame before a tool/terminal ordering boundary. */
120
+ private drainStreamDeltas;
115
121
  private publishReasoning;
116
122
  /**
117
- * Keep one mutable wire text part per uninterrupted prose segment. Token
118
- * deltas replace that part in place; a tool call closes it so later prose
119
- * receives a new sequence number and can render after the tool card.
123
+ * Freeze one prose segment before a tool card or terminal state. Live text
124
+ * stays on the append-only body wire; Web derives the uncommitted suffix
125
+ * from that body, so token updates do not enqueue an additional setParts
126
+ * request for every flush.
120
127
  */
121
- private publishText;
122
- private finishText;
128
+ private commitTextSegment;
123
129
  private finishReasoning;
124
130
  private publishToolCall;
125
131
  private publishToolUpdate;
126
132
  private appendFilePart;
133
+ /**
134
+ * Produce a harmless prose separator after a parts mutation. Besides making
135
+ * adjacent VLM rounds readable, this creates the canonical message.delta
136
+ * that Message Service uses to fan the latest tool parts out in real time.
137
+ */
138
+ private appendToolBoundaryText;
127
139
  private partSequence;
128
140
  private logTerminalDelivered;
129
141
  private logTerminalFailure;
@@ -49,9 +49,13 @@ const DELTA_MAX_ATTEMPTS = 3;
49
49
  const TERMINAL_MAX_ATTEMPTS = 8;
50
50
  const RETRY_BASE_MS = 500;
51
51
  const RETRY_CAP_MS = 30_000;
52
- // Message SDK serializes every stream mutation over HTTP. Coalesce token-sized
53
- // updates so a terminal/cancel is never stuck behind hundreds of queued writes.
54
- const STREAM_FLUSH_MS = 750;
52
+ // Bound the producer to one Message Service mutation at a time. Phone VLMs can
53
+ // emit many one-character deltas per second while a remote PATCH takes tens or
54
+ // hundreds of milliseconds; queueing every timer tick makes later rounds lag
55
+ // behind the phone and then arrive in bursts.
56
+ const STREAM_FLUSH_MS = 40;
57
+ const STREAM_BODY_CHUNK_CHARS = 12;
58
+ const TOOL_BOUNDARY_TEXT = "\n";
55
59
  const realSleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
56
60
  export class MsChannelNotifier {
57
61
  opts;
@@ -66,12 +70,14 @@ export class MsChannelNotifier {
66
70
  sleep;
67
71
  stream;
68
72
  streamFlushTimer = null;
73
+ streamDrain = null;
69
74
  pendingBodyText = "";
75
+ handleQueue = Promise.resolve();
76
+ /** Current prose segment, committed to parts only at a tool/terminal boundary. */
70
77
  pendingReplyText = "";
71
78
  pendingReasoningText = "";
72
79
  reasoningText = "";
73
80
  reasoningPartIndex = null;
74
- activeTextPart = null;
75
81
  nextPartSequence = 0;
76
82
  toolParts = new Map();
77
83
  constructor(opts) {
@@ -89,14 +95,15 @@ export class MsChannelNotifier {
89
95
  get replyMessageId() {
90
96
  return this.stream?.id;
91
97
  }
92
- /**
93
- * Called by SessionManager for every `session/update` envelope on
94
- * this notifier's bound sid. Fire-and-forget: the SessionManager
95
- * event hot path is synchronous, so we kick off the publish in the
96
- * background and never block.
97
- */
98
+ /** Wait until the v3 reply row exists before starting the model run. */
99
+ async opened() {
100
+ await this.stream?.opened();
101
+ }
102
+ /** Process updates in source order and expose backpressure to SessionManager. */
98
103
  send(_sessionId, update) {
99
- void this.handle(update);
104
+ const queued = this.handleQueue.then(() => this.handle(update));
105
+ this.handleQueue = queued.catch(() => undefined);
106
+ return queued;
100
107
  }
101
108
  /**
102
109
  * Cumulative reply text emitted so far. Exposed for diagnostics +
@@ -111,6 +118,7 @@ export class MsChannelNotifier {
111
118
  }
112
119
  /** Ensure the durable reply reaches a terminal state before unbinding it. */
113
120
  async finish(stopReason, errorText = "", task = null) {
121
+ await this.handleQueue;
114
122
  await this.publishFinal(stopReason, errorText, task);
115
123
  }
116
124
  async handle(update) {
@@ -137,11 +145,11 @@ export class MsChannelNotifier {
137
145
  return;
138
146
  }
139
147
  case "tool_call": {
140
- this.publishToolCall(update);
148
+ await this.publishToolCall(update);
141
149
  return;
142
150
  }
143
151
  case "tool_call_update": {
144
- this.publishToolUpdate(update);
152
+ await this.publishToolUpdate(update);
145
153
  return;
146
154
  }
147
155
  case "stream_complete": {
@@ -222,8 +230,8 @@ export class MsChannelNotifier {
222
230
  async publishFinalOnce(stopReason, errorText, task) {
223
231
  if (this.stream) {
224
232
  try {
225
- this.flushStreamDeltas();
226
- this.finishText();
233
+ await this.drainStreamDeltas();
234
+ this.commitTextSegment();
227
235
  this.finishReasoning();
228
236
  const taskPayload = taskContent(task);
229
237
  if (Object.keys(taskPayload).length > 0) {
@@ -308,34 +316,84 @@ export class MsChannelNotifier {
308
316
  }
309
317
  }
310
318
  scheduleStreamFlush() {
311
- if (!this.stream || this.streamFlushTimer || this.finalized)
319
+ if (!this.stream
320
+ || this.streamFlushTimer
321
+ || this.streamDrain
322
+ || this.finalized)
312
323
  return;
313
324
  this.streamFlushTimer = setTimeout(() => {
314
325
  this.streamFlushTimer = null;
315
326
  if (!this.finalized && !this.stream?.isTerminated) {
316
- this.flushStreamDeltas();
327
+ void this.drainStreamBatch().catch((err) => {
328
+ this.opts.logger.error({
329
+ ...describeError(err),
330
+ channelId: this.opts.channelId,
331
+ }, "ms-channel-notifier: live stream drain failed");
332
+ });
317
333
  }
318
334
  }, STREAM_FLUSH_MS);
319
335
  }
320
- flushStreamDeltas() {
336
+ /**
337
+ * Persist at most one small body frame, then wait for Message Service.
338
+ * This is the backpressure boundary that prevents a fast VLM from building
339
+ * an unbounded serialized HTTP queue inside MessageStreamWriter.
340
+ */
341
+ async drainStreamBatch() {
342
+ if (!this.stream || this.streamDrain) {
343
+ await this.streamDrain;
344
+ return;
345
+ }
346
+ if (this.streamFlushTimer) {
347
+ clearTimeout(this.streamFlushTimer);
348
+ this.streamFlushTimer = null;
349
+ }
350
+ const run = (async () => {
351
+ const reasoning = this.pendingReasoningText;
352
+ const { head: body, tail } = takeStreamBodyChunk(this.pendingBodyText, STREAM_BODY_CHUNK_CHARS);
353
+ this.pendingReasoningText = "";
354
+ this.pendingBodyText = tail;
355
+ if (reasoning)
356
+ this.publishReasoning(reasoning);
357
+ if (body)
358
+ this.stream?.appendBody(body);
359
+ if (reasoning || body)
360
+ await this.stream?.flush();
361
+ })();
362
+ this.streamDrain = run;
363
+ let succeeded = false;
364
+ try {
365
+ await run;
366
+ succeeded = true;
367
+ }
368
+ finally {
369
+ this.streamDrain = null;
370
+ if (succeeded && (this.pendingReasoningText || this.pendingBodyText)) {
371
+ this.scheduleStreamFlush();
372
+ }
373
+ }
374
+ }
375
+ /** Drain every pending frame before a tool/terminal ordering boundary. */
376
+ async drainStreamDeltas() {
321
377
  if (!this.stream)
322
378
  return;
323
379
  if (this.streamFlushTimer) {
324
380
  clearTimeout(this.streamFlushTimer);
325
381
  this.streamFlushTimer = null;
326
382
  }
327
- const reasoning = this.pendingReasoningText;
328
- const body = this.pendingBodyText;
329
- const reply = this.pendingReplyText;
330
- this.pendingReasoningText = "";
331
- this.pendingBodyText = "";
332
- this.pendingReplyText = "";
333
- if (reasoning)
334
- this.publishReasoning(reasoning);
335
- if (body)
336
- this.stream.appendBody(body);
337
- if (reply)
338
- this.publishText(reply);
383
+ while (this.streamDrain
384
+ || this.pendingReasoningText.length > 0
385
+ || this.pendingBodyText.length > 0) {
386
+ if (this.streamDrain) {
387
+ await this.streamDrain;
388
+ }
389
+ else {
390
+ await this.drainStreamBatch();
391
+ }
392
+ if (this.streamFlushTimer) {
393
+ clearTimeout(this.streamFlushTimer);
394
+ this.streamFlushTimer = null;
395
+ }
396
+ }
339
397
  }
340
398
  publishReasoning(text) {
341
399
  if (!this.stream || !text)
@@ -356,38 +414,21 @@ export class MsChannelNotifier {
356
414
  }
357
415
  }
358
416
  /**
359
- * Keep one mutable wire text part per uninterrupted prose segment. Token
360
- * deltas replace that part in place; a tool call closes it so later prose
361
- * receives a new sequence number and can render after the tool card.
417
+ * Freeze one prose segment before a tool card or terminal state. Live text
418
+ * stays on the append-only body wire; Web derives the uncommitted suffix
419
+ * from that body, so token updates do not enqueue an additional setParts
420
+ * request for every flush.
362
421
  */
363
- publishText(text) {
364
- if (!this.stream || !text)
365
- return;
366
- if (this.activeTextPart === null) {
367
- const seq = this.partSequence();
368
- const index = this.stream.parts.length;
369
- this.activeTextPart = { index, seq, text };
370
- this.stream.addPart({ type: "text", text, state: "streaming", _seq: seq });
422
+ commitTextSegment() {
423
+ if (!this.stream || !this.pendingReplyText)
371
424
  return;
372
- }
373
- this.activeTextPart.text += text;
374
- this.stream.replacePart(this.activeTextPart.index, {
375
- type: "text",
376
- text: this.activeTextPart.text,
377
- state: "streaming",
378
- _seq: this.activeTextPart.seq,
379
- });
380
- }
381
- finishText() {
382
- if (!this.stream || this.activeTextPart === null)
383
- return;
384
- this.stream.replacePart(this.activeTextPart.index, {
425
+ this.stream.addPart({
385
426
  type: "text",
386
- text: this.activeTextPart.text,
427
+ text: this.pendingReplyText,
387
428
  state: "done",
388
- _seq: this.activeTextPart.seq,
429
+ _seq: this.partSequence(),
389
430
  });
390
- this.activeTextPart = null;
431
+ this.pendingReplyText = "";
391
432
  }
392
433
  finishReasoning() {
393
434
  if (!this.stream || this.reasoningPartIndex === null)
@@ -399,14 +440,14 @@ export class MsChannelNotifier {
399
440
  _seq: this.reasoningPartIndex,
400
441
  });
401
442
  }
402
- publishToolCall(update) {
443
+ async publishToolCall(update) {
403
444
  if (!this.stream)
404
445
  return;
405
446
  const id = pickString(update.toolCallId);
406
447
  if (!id || this.toolParts.has(id))
407
448
  return;
408
- this.flushStreamDeltas();
409
- this.finishText();
449
+ await this.drainStreamDeltas();
450
+ this.commitTextSegment();
410
451
  const name = pickString(update.title) || "device_action";
411
452
  const args = parseJsonValue(update.arguments);
412
453
  const useIndex = this.stream.parts.length;
@@ -419,8 +460,15 @@ export class MsChannelNotifier {
419
460
  _seq: this.partSequence(),
420
461
  });
421
462
  this.toolParts.set(id, { useIndex, name, args });
422
- }
423
- publishToolUpdate(update) {
463
+ this.appendToolBoundaryText();
464
+ // SessionManager awaits notifier.send(). Make that boundary mean the
465
+ // narration and action card reached Message Service before MCP touches
466
+ // the phone. Message Service intentionally does not broadcast parts-only
467
+ // PATCHes, so the trailing text boundary supplies the delta event that
468
+ // carries the newly persisted parts to Web/Mobile observers.
469
+ await this.stream.flush();
470
+ }
471
+ async publishToolUpdate(update) {
424
472
  if (!this.stream)
425
473
  return;
426
474
  const id = pickString(update.toolCallId);
@@ -428,7 +476,7 @@ export class MsChannelNotifier {
428
476
  return;
429
477
  let tool = this.toolParts.get(id);
430
478
  if (!tool) {
431
- this.publishToolCall({
479
+ await this.publishToolCall({
432
480
  ...update,
433
481
  title: pickString(update.title) || "device_action",
434
482
  arguments: update.arguments ?? "{}",
@@ -463,6 +511,8 @@ export class MsChannelNotifier {
463
511
  else {
464
512
  this.stream.replacePart(tool.progressIndex, result);
465
513
  }
514
+ this.appendToolBoundaryText();
515
+ await this.stream.flush();
466
516
  return;
467
517
  }
468
518
  if (update.output === undefined)
@@ -481,6 +531,7 @@ export class MsChannelNotifier {
481
531
  else {
482
532
  this.stream.replacePart(tool.progressIndex, progress);
483
533
  }
534
+ await this.stream.flush();
484
535
  }
485
536
  appendFilePart(file) {
486
537
  if (!this.stream)
@@ -493,6 +544,18 @@ export class MsChannelNotifier {
493
544
  _seq: this.partSequence(),
494
545
  });
495
546
  }
547
+ /**
548
+ * Produce a harmless prose separator after a parts mutation. Besides making
549
+ * adjacent VLM rounds readable, this creates the canonical message.delta
550
+ * that Message Service uses to fan the latest tool parts out in real time.
551
+ */
552
+ appendToolBoundaryText() {
553
+ if (!this.stream)
554
+ return;
555
+ this.accumulatedText += TOOL_BOUNDARY_TEXT;
556
+ this.pendingReplyText += TOOL_BOUNDARY_TEXT;
557
+ this.stream.appendBody(TOOL_BOUNDARY_TEXT);
558
+ }
496
559
  partSequence() {
497
560
  return this.nextPartSequence++;
498
561
  }
@@ -556,6 +619,15 @@ export class MsChannelNotifier {
556
619
  }
557
620
  }
558
621
  }
622
+ function takeStreamBodyChunk(body, maxChars) {
623
+ if (!body)
624
+ return { head: "", tail: "" };
625
+ const codePoints = Array.from(body);
626
+ return {
627
+ head: codePoints.slice(0, maxChars).join(""),
628
+ tail: codePoints.slice(maxChars).join(""),
629
+ };
630
+ }
559
631
  function pickTaskOutcome(value) {
560
632
  if (!value || typeof value !== "object")
561
633
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"ms-channel-notifier.js","sourceRoot":"","sources":["../../../src/plugins/message-bus/ms-channel-notifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ms-channel-notifier.js","sourceRoot":"","sources":["../../../src/plugins/message-bus/ms-channel-notifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAUH,OAAO,EACL,wBAAwB,GAEzB,MAAM,4BAA4B,CAAC;AA2BpC;;;;;;;;;;;GAWG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,YAAY,GAAG,MAAM,CAAC;AAC5B,+EAA+E;AAC/E,+EAA+E;AAC/E,6EAA6E;AAC7E,8CAA8C;AAC9C,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,uBAAuB,GAAG,EAAE,CAAC;AACnC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEhC,MAAM,SAAS,GAAG,CAAC,EAAU,EAAiB,EAAE,CAC9C,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAEpD,MAAM,OAAO,iBAAiB;IA0BC;IAzB7B,qFAAqF;IAC7E,eAAe,GAAG,EAAE,CAAC;IAC7B,4FAA4F;IAC3E,KAAK,GAAqB,EAAE,CAAC;IAC9C,mFAAmF;IAC3E,UAAU,GAAG,CAAC,CAAC;IACf,SAAS,GAAG,KAAK,CAAC;IAClB,YAAY,GAAyB,IAAI,CAAC;IACjC,KAAK,CAAgC;IACrC,MAAM,CAA4B;IAC3C,gBAAgB,GAAyC,IAAI,CAAC;IAC9D,WAAW,GAAyB,IAAI,CAAC;IACzC,eAAe,GAAG,EAAE,CAAC;IACrB,WAAW,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IACvD,kFAAkF;IAC1E,gBAAgB,GAAG,EAAE,CAAC;IACtB,oBAAoB,GAAG,EAAE,CAAC;IAC1B,aAAa,GAAG,EAAE,CAAC;IACnB,kBAAkB,GAAkB,IAAI,CAAC;IACzC,gBAAgB,GAAG,CAAC,CAAC;IACZ,SAAS,GAAG,IAAI,GAAG,EAGjC,CAAC;IAEJ,YAA6B,IAA8B;QAA9B,SAAI,GAAJ,IAAI,CAA0B;QACzD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC/C,cAAc,EAAE,IAAI,CAAC,SAAS;YAC9B,EAAE,EAAE,GAAG,IAAI,CAAC,gBAAgB,QAAQ;YACpC,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,IAAI,CAAC,gBAAgB;YAC9B,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE;SAC1C,CAAC,IAAI,IAAI,CAAC;IACb,CAAC;IAED,4EAA4E;IAC5E,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;IACzB,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,iFAAiF;IACjF,IAAI,CAAC,UAAkB,EAAE,MAA+B;QACtD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,+DAA+D;IAC/D,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,MAAM,CACV,UAAkB,EAClB,SAAS,GAAG,EAAE,EACd,OAAyC,IAAI;QAE7C,MAAM,IAAI,CAAC,WAAW,CAAC;QACvB,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,MAA+B;QAClD,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC;YACH,QAAQ,aAAa,EAAE,CAAC;gBACtB,KAAK,qBAAqB,CAAC,CAAC,CAAC;oBAC3B,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACjD,IAAI,CAAC,OAAO;wBAAE,OAAO;oBACrB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;wBACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC9B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBACpC,CAAC;oBACD,IAAI,CAAC,eAAe,GAAG,kBAAkB,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;oBACzE,MAAM,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC7D,OAAO;gBACT,CAAC;gBACD,KAAK,qBAAqB,CAAC,CAAC,CAAC;oBAC3B,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAC7C,IAAI,CAAC,IAAI;wBAAE,OAAO;oBAClB,MAAM,IAAI,CAAC,YAAY,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;oBACrD,OAAO;gBACT,CAAC;gBACD,KAAK,WAAW,CAAC,CAAC,CAAC;oBACjB,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;oBACnC,OAAO;gBACT,CAAC;gBACD,KAAK,kBAAkB,CAAC,CAAC,CAAC;oBACxB,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;oBACrC,OAAO;gBACT,CAAC;gBACD,KAAK,iBAAiB,CAAC,CAAC,CAAC;oBACvB,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC;oBAC/D,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC3C,MAAM,aAAa,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACrD,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC1C,IAAI,aAAa,IAAI,IAAI,EAAE,UAAU,IAAI,aAAa,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC3E,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,EAAE,gBAAgB,EAAE,aAAa,EAAE,mBAAmB,EAAE,IAAI,CAAC,UAAU,EAAE,EACzE,oDAAoD,CACrD,CAAC;oBACJ,CAAC;oBACD,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;oBACrD,OAAO;gBACT,CAAC;gBACD;oBACE,OAAO;YACX,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CACpB;gBACE,GAAG,aAAa,CAAC,GAAG,CAAC;gBACrB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;gBAC9B,aAAa;aACd,EACD,qCAAqC,CACtC,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,aAA4D,EAC5D,IAAY;QAEZ,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,aAAa,KAAK,qBAAqB,EAAE,CAAC;gBAC5C,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC;gBAC7B,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC;YACpC,CAAC;YACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,OAAO;QACT,CAAC;QACD,8DAA8D;QAC9D,4DAA4D;QAC5D,gEAAgE;QAChE,6DAA6D;QAC7D,iEAAiE;QACjE,qDAAqD;QACrD,MAAM,IAAI,CAAC,aAAa,CACtB;YACE,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YACnC,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE;gBACP,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;gBACjC,MAAM,EAAE;oBACN,aAAa;oBACb,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;iBAChC;aACF;SACF,EACD,kBAAkB,CACnB,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,YAAY,CACxB,UAAkB,EAClB,SAAiB,EACjB,IAAsC;QAEtC,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC3B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,YAAY,CAAC;YACxB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACvE,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC;QAC1B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,UAAkB,EAClB,SAAiB,EACjB,IAAsC;QAGtC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;wBAClB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,qBAAqB;wBAC3B,IAAI,EAAE,WAAwB;wBAC9B,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE;qBAC1B,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,CAAC;gBACpC,IAAI,UAAU,KAAK,WAAW,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;oBAC7D,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;gBACxD,CAAC;qBAAM,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBACpC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;gBACtD,CAAC;qBAAM,IAAI,SAAS,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;oBAChD,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;wBACrB,IAAI,EAAE,IAAI,CAAC,eAAe,IAAI,SAAS,IAAI,IAAI,EAAE,SAAS,IAAI,aAAa;wBAC3E,UAAU,EAAE,IAAI,EAAE,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;qBACjE,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAC9E,CAAC;gBACD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;gBACtB,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACnD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAC3C,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,OAAgC,CAAC;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACvC,IAAI,UAAU,KAAK,WAAW,EAAE,CAAC;YAC/B,OAAO,GAAG;gBACR,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;gBACjC,KAAK,EAAE,WAAW;gBAClB,IAAI,EAAE,IAAI,CAAC,eAAe;gBAC1B,GAAG,WAAW;gBACd,GAAG,WAAW,CAAC,IAAI,CAAC;aACrB,CAAC;QACJ,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,OAAO,GAAG;gBACR,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;gBACjC,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,IAAI,CAAC,eAAe;gBAC1B,GAAG,WAAW;gBACd,GAAG,WAAW,CAAC,IAAI,CAAC;aACrB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,GAAG;gBACR,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;gBACjC,IAAI,EAAE,IAAI,CAAC,eAAe;gBAC1B,GAAG,WAAW;gBACd,GAAG,WAAW,CAAC,IAAI,CAAC;aACrB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CACtB;gBACE,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;gBACnC,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;gBACnC,2DAA2D;gBAC3D,sDAAsD;gBACtD,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,QAAQ;gBACzC,OAAO;aACR,EACD,qBAAqB,CACtB,CAAC;YACF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kEAAkE;YAClE,8DAA8D;YAC9D,kEAAkE;YAClE,yDAAyD;YACzD,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,IACE,CAAC,IAAI,CAAC,MAAM;eACT,IAAI,CAAC,gBAAgB;eACrB,IAAI,CAAC,WAAW;eAChB,IAAI,CAAC,SAAS;YACjB,OAAO;QACT,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,CAAC;gBAClD,KAAK,IAAI,CAAC,gBAAgB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;oBAClD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CACpB;wBACE,GAAG,aAAa,CAAC,GAAG,CAAC;wBACrB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;qBAC/B,EACD,+CAA+C,CAChD,CAAC;gBACJ,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,EAAE,eAAe,CAAC,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrC,MAAM,IAAI,CAAC,WAAW,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;QAED,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAC5C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,mBAAmB,CAC9C,IAAI,CAAC,eAAe,EACpB,uBAAuB,CACxB,CAAC;YACF,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAE5B,IAAI,SAAS;gBAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;YAChD,IAAI,IAAI;gBAAE,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,SAAS,IAAI,IAAI;gBAAE,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC;QACpD,CAAC,CAAC,EAAE,CAAC;QACL,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,CAAC;YACV,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBACrE,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,0EAA0E;IAClE,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,OACE,IAAI,CAAC,WAAW;eACb,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC;eACpC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAClC,CAAC;YACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACrB,MAAM,IAAI,CAAC,WAAW,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAChC,CAAC;YACD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,IAAY;QACnC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI;YAAE,OAAO;QAClC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC;QAC3B,MAAM,IAAI,GAAG;YACX,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,IAAI,CAAC,aAAa;YACxB,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,YAAY,EAAE;SACrD,CAAC;QACF,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,iBAAiB;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QACnD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,IAAI,CAAC,gBAAgB;YAC3B,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC7B,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,kBAAkB,KAAK,IAAI;YAAE,OAAO;QAC7D,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC/C,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,IAAI,CAAC,aAAa;YACxB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,IAAI,CAAC,kBAAkB;SAC9B,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAA+B;QAC3D,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO;QAC1C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC;QACzD,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,UAAU;YAChB,EAAE;YACF,IAAI;YACJ,SAAS,EAAE,IAAI;YACf,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,qEAAqE;QACrE,uEAAuE;QACvE,yEAAyE;QACzE,uEAAuE;QACvE,6DAA6D;QAC7D,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,MAA+B;QAC7D,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,MAAM,EAAE,GAAG,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,CAAC,eAAe,CAAC;gBACzB,GAAG,MAAM;gBACT,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,eAAe;gBAClD,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;aACpC,CAAC,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC;QACD,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,CAAC;QAC/D,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACrC,IAAI,EAAE,UAAU;gBAChB,EAAE;gBACF,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,IAAI,CAAC,IAAI;gBACpB,KAAK,EAAE,MAAM;gBACb,IAAI,EAAE,IAAI,CAAC,QAAQ;aACpB,CAAC,CAAC;YACH,MAAM,MAAM,GAAG;gBACb,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,EAAE;gBACf,OAAO,EAAE,MAAM;gBACf,QAAQ,EAAE,MAAM,KAAK,QAAQ;gBAC7B,IAAI,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE;aAChD,CAAC;YACF,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YACtD,CAAC;YACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QACxC,MAAM,QAAQ,GAAG;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,WAAW;YAClB,IAAI,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;YAC3D,IAAI,EAAE,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,YAAY,EAAE;SAChD,CAAC;QACF,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QACxD,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAEO,cAAc,CAAC,IAAoB;QACzC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,MAAM;YACZ,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,SAAS,EAAE,IAAI,CAAC,QAAQ,IAAI,0BAA0B;YACtD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,sBAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,CAAC,eAAe,IAAI,kBAAkB,CAAC;QAC3C,IAAI,CAAC,gBAAgB,IAAI,kBAAkB,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC7C,CAAC;IAEO,YAAY;QAClB,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACjC,CAAC;IAEO,oBAAoB,CAAC,UAAkB,EAAE,SAAiB;QAChE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB;YACE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC9B,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC5C,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YACnC,UAAU;YACV,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;YACpC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACxB,QAAQ,EAAE,UAAU,KAAK,WAAW,IAAI,CAAC,CAAC,SAAS;YACnD,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB;SACpD,EACD,qDAAqD,CACtD,CAAC;IACJ,CAAC;IAEO,kBAAkB,CAAC,UAAkB,EAAE,GAAY;QACzD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CACpB;YACE,GAAG,aAAa,CAAC,GAAG,CAAC;YACrB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;YAC9B,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAC5C,UAAU;YACV,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,iBAAiB;SACpD,EACD,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IAEO,WAAW;QACjB,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACvC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAED;;;;;;OAMG;IACK,KAAK,CAAC,aAAa,CACzB,KAA0D,EAC1D,WAAmB;QAEnB,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;gBACnC,IAAI,OAAO,KAAK,WAAW;oBAAE,OAAO;gBACpC,IAAI,OAAO,KAAK,OAAO,IAAI,OAAO,IAAI,WAAW;oBAAE,MAAM,GAAG,CAAC;gBAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CACpB,YAAY,EACZ,aAAa,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CACnC,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB;oBACE,GAAG,aAAa,CAAC,GAAG,CAAC;oBACrB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;oBAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,OAAO;oBACP,WAAW;oBACX,SAAS,EAAE,KAAK;iBACjB,EACD,+CAA+C,CAChD,CAAC;gBACF,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,SAAS,mBAAmB,CAC1B,IAAY,EACZ,QAAgB;IAEhB,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;KAC1C,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrD,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,UAAU,GAAG,wBAAwB,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC;QACN,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,OAAO,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,WAAW,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,YAAY,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,WAAW,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,UAAU,CAAC,GAAG,CAAC,YAAY,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC,UAAU,CAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAClF,CAA8B,CAAC;AAClC,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACnD,OAAO,UAAU,CAAE,KAAiC,CAAC,WAAW,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,WAAW,CAAC,IAAsC;IACzD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO;QACL,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA+B;IACxD,MAAM,CAAC,GAAG,MAAM,CAAC,aAAa,CAAC;IAC/B,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,eAAe,CAAC,OAAgB;IACvC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACvD,MAAM,CAAC,GAAG,OAA6C,CAAC;IACxD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC;IAC9C,OAAO,EAAE,CAAC;AACZ,CAAC;AAQD,SAAS,gBAAgB,CACvB,OAAgB;IAEhB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,CAAC,GAAG,OAMT,CAAC;IACF,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;IAC7E,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe,IAAI,OAAO,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5D,MAAM,IAAI,GAAmB;YAC3B,GAAG,EAAE,CAAC,CAAC,GAAG;YACV,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjE,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClF,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACnD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CACzB,QAAgB,EAChB,IAA6C;IAE7C,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC;IAChC,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,QAAQ,CAAC;IAChC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AACrF,CAAC;AAED,SAAS,UAAU,CAAC,CAAU;IAC5B,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAc,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,IACE,KAAK,KAAK,IAAI;QACd,OAAO,KAAK,KAAK,SAAS;QAC1B,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACpB,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,EAC7C,CAAC;QACD,OAAO,KAAkB,CAAC;IAC5B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAa;IACxC,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,YAAY,CAAC;QAClB,KAAK,UAAU,CAAC;QAChB,KAAK,SAAS,CAAC;QACf,KAAK,gBAAgB;YACnB,OAAO,KAAK,CAAC;QACf,KAAK,WAAW;YACd,OAAO,WAAW,CAAC;QACrB,KAAK,SAAS;YACZ,OAAO,SAAS,CAAC;QACnB,KAAK,OAAO;YACV,OAAO,OAAO,CAAC;QACjB;YACE,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,aAAa,CAAC,GAAY;IACjC,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,MAAM,GAAG,GAA4B,EAAE,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;QAC7E,MAAM,MAAM,GAAG,GAId,CAAC;QACF,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;YAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAClE,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;YAAE,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAC5D,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,CAAC;QACH,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9B,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAI,KAA4B,CAAC,IAAI,CAAC;QAChD,OAAO,OAAO,IAAI,KAAK,QAAQ;YAC7B,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,KAAK,IAAI,GAAG;YAC7C,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IACxC,CAAC;IACD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,GAAY;IACjC,MAAM,MAAM,GAAI,GAA4B,EAAE,MAAM,CAAC;IACrD,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,WAAW,CAAC;QACvC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,OAAO,CAAC;QACrD,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG;YAAE,OAAO,OAAO,CAAC;QAClD,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,iEAAiE;IACjE,qEAAqE;IACrE,wBAAwB;IACxB,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -84,16 +84,13 @@ export interface AgentCoreRunError {
84
84
  }
85
85
  /** Optional callbacks an `IAgentCore` may invoke during `run()`. */
86
86
  export interface AgentCoreRunCallbacks {
87
- /** Streaming text delta — surfaced by ACP as `agent_message_chunk`. */
87
+ /** Streaming user-visible text delta. */
88
88
  onText?: (text: string) => void | Promise<void>;
89
89
  /**
90
- * Streaming "thinking" delta — surfaced by ACP as `agent_thought_chunk`
91
- * (a separate reasoning channel from the user-visible reply). Sources:
92
- * VLM rationale per step (`AgentLoop`), planner `makePlan` / `replan`
93
- * descriptions (`PlanExecutor.firePlan`), and any future o1-style
94
- * reasoning tokens. Distinct from `onText` so the web UI can render
95
- * thoughts in the reasoning side panel without polluting the main
96
- * conversation stream.
90
+ * Historical callback name for planner narration. Device Agent's
91
+ * "reasoning" is product-visible prose and is projected into the main
92
+ * reply, not a hidden thinking panel. VLM rationale already streams via
93
+ * `onText`; implementations must not replay the parsed rationale here.
97
94
  */
98
95
  onReasoning?: (text: string) => void | Promise<void>;
99
96
  /** Tool call lifecycle — start / update / end. */
@@ -34,8 +34,8 @@ import type { IDeviceIdentity } from "./identity.js";
34
34
  *
35
35
  * Events that translate into ACP `session/update` envelopes also carry
36
36
  * `messageId` — the **per-task authoritative message id** that all of
37
- * `agent_message_chunk` / `agent_thought_chunk` / `tool_call` /
38
- * `tool_call_update` / `task:notice` share so chat-store's sidecar
37
+ * visible text / tool lifecycle / `task:notice` updates share so
38
+ * chat-store's sidecar
39
39
  * resolver can pin them to the same assistant bubble.
40
40
  */
41
41
  export type AgentEvent = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beeos-ai/device-agent",
3
- "version": "0.12.4",
3
+ "version": "0.12.6",
4
4
  "description": "BeeOS device-agent — Android/desktop AI control agent (TypeScript) speaking ACP over Bridge WebSocket. Connects to a sibling device-mcp-server process for device control.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",