visionclaw 0.1.215-beta.7 → 0.1.215-beta.8

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 (45) hide show
  1. package/dist/agent/heartbeat-manager.d.ts +8 -0
  2. package/dist/agent/heartbeat-manager.d.ts.map +1 -1
  3. package/dist/agent/heartbeat-manager.js +50 -1
  4. package/dist/agent/heartbeat-manager.js.map +1 -1
  5. package/dist/agent/loop.d.ts.map +1 -1
  6. package/dist/agent/loop.js +46 -40
  7. package/dist/agent/loop.js.map +1 -1
  8. package/dist/agent/service-gate.d.ts +66 -0
  9. package/dist/agent/service-gate.d.ts.map +1 -0
  10. package/dist/agent/service-gate.js +174 -0
  11. package/dist/agent/service-gate.js.map +1 -0
  12. package/dist/channels/manager.d.ts +8 -0
  13. package/dist/channels/manager.d.ts.map +1 -1
  14. package/dist/channels/manager.js +15 -0
  15. package/dist/channels/manager.js.map +1 -1
  16. package/dist/config/application-config.d.ts +27 -0
  17. package/dist/config/application-config.d.ts.map +1 -1
  18. package/dist/config/application-config.js +18 -0
  19. package/dist/config/application-config.js.map +1 -1
  20. package/dist/config/types.d.ts +31 -0
  21. package/dist/config/types.d.ts.map +1 -1
  22. package/dist/config/types.js +4 -1
  23. package/dist/config/types.js.map +1 -1
  24. package/dist/i18n/messages.d.ts +12 -0
  25. package/dist/i18n/messages.d.ts.map +1 -1
  26. package/dist/i18n/messages.js +13 -0
  27. package/dist/i18n/messages.js.map +1 -1
  28. package/dist/obs/server.d.ts +6 -1
  29. package/dist/obs/server.d.ts.map +1 -1
  30. package/dist/obs/server.js +40 -26
  31. package/dist/obs/server.js.map +1 -1
  32. package/dist/obs/tunnel.d.ts.map +1 -1
  33. package/dist/obs/tunnel.js +10 -8
  34. package/dist/obs/tunnel.js.map +1 -1
  35. package/dist/onboarding/onboarding-service-client.d.ts +4 -1
  36. package/dist/onboarding/onboarding-service-client.d.ts.map +1 -1
  37. package/dist/onboarding/onboarding-service-client.js.map +1 -1
  38. package/dist/onboarding/remote-set-owner.d.ts +2 -0
  39. package/dist/onboarding/remote-set-owner.d.ts.map +1 -1
  40. package/dist/onboarding/remote-set-owner.js +74 -52
  41. package/dist/onboarding/remote-set-owner.js.map +1 -1
  42. package/dist/threads/lab-run-runtime.d.ts +1 -1
  43. package/dist/tools/lab-run-control.d.ts +1 -1
  44. package/dist-agent/bundle.cjs +2 -2
  45. package/package.json +1 -1
@@ -26,6 +26,7 @@ import { type VisionClawConfig } from "../config/types.js";
26
26
  import type { ProviderFallbackManager } from "./provider-fallback.js";
27
27
  import type { ThreadSupervisor } from "../threads/supervisor.js";
28
28
  import type { ChannelManager } from "../channels/manager.js";
29
+ import { type AgentServiceStatus } from "../config/application-config.js";
29
30
  import { type HeartbeatBillingPlan, type HeartbeatHealthEvent, type SubscriptionStatus } from "../onboarding/onboarding-service-client.js";
30
31
  import { CommandDispatcher } from "./command-dispatcher.js";
31
32
  import { type PendingUpgradeInfo } from "../config/index.js";
@@ -49,6 +50,8 @@ export interface HeartbeatManagerOptions {
49
50
  obsPort?: number;
50
51
  /** Re-arm the main loop's sleep timer after a live wake-policy change. */
51
52
  onProactiveWakeChanged?: (enabled: boolean) => void;
53
+ /** The billing application's decision changed state (P5a); the main loop wakes so its gate engages now. */
54
+ onServiceStateChanged?: (status: AgentServiceStatus) => void;
52
55
  /**
53
56
  * Reads the current ThreadSupervisor, or null when this process runs without
54
57
  * one (`multiThread.enabled === false`, or worker mode — though workers never
@@ -65,6 +68,7 @@ export declare class HeartbeatManager {
65
68
  readonly commandDispatcher: CommandDispatcher;
66
69
  private readonly config;
67
70
  private readonly onProactiveWakeChanged?;
71
+ private readonly onServiceStateChanged;
68
72
  private readonly obsClose?;
69
73
  private readonly getThreadSupervisor?;
70
74
  private channelManager;
@@ -72,6 +76,7 @@ export declare class HeartbeatManager {
72
76
  private _lastBillingPlans;
73
77
  private _lastBillingMessage;
74
78
  private _lastUsageStatus;
79
+ private _lastServiceStatus;
75
80
  private _lastLlmProviderPriority;
76
81
  private _lastMemoryEnabled;
77
82
  /**
@@ -158,6 +163,8 @@ export declare class HeartbeatManager {
158
163
  /** Billing message from the most recent heartbeat response (populated when expired). */
159
164
  get lastBillingMessage(): string | undefined;
160
165
  get lastUsageStatus(): UsageStatus | undefined;
166
+ /** The billing application's execution decision: last heartbeat that carried one, or the persisted seed. */
167
+ get lastServiceStatus(): AgentServiceStatus | undefined;
161
168
  get lastLlmProviderPriority(): string[] | undefined;
162
169
  /** Runtime-only memory feature gate from the most recent heartbeat response. */
163
170
  get lastMemoryEnabled(): boolean;
@@ -183,6 +190,7 @@ export declare class HeartbeatManager {
183
190
  */
184
191
  sendHeartbeatForSubscription(): Promise<SubscriptionStatus>;
185
192
  sendHeartbeatForUsageGate(): Promise<UsageStatus | undefined>;
193
+ sendHeartbeatForServiceGate(): Promise<AgentServiceStatus | undefined>;
186
194
  /** Mark process-lifetime tools/MCPs/skills as frozen after startup resolution. */
187
195
  markRuntimeSurfaceReady(): void;
188
196
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat-manager.d.ts","sourceRoot":"","sources":["../../src/agent/heartbeat-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heartbeat-manager.d.ts","sourceRoot":"","sources":["../../src/agent/heartbeat-manager.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@
25
25
  import { isGeminiEnabled, isProactiveUpgradeReminderEnabled, isProactiveWakeEnabled, isTunnelEnabled, isWorkspaceEnabled } from "../config/types.js";
26
26
  import { capabilitySetsEqual, resolveCapabilitySet, } from "../config/capabilities.js";
27
27
  import { getSystemTimezone } from "../utils/timezone.js";
28
- import { ApplicationRuntimeConfigSchema } from "../config/application-config.js";
28
+ import { AgentServiceStatusSchema, ApplicationRuntimeConfigSchema } from "../config/application-config.js";
29
29
  import { MachineReassignedError, OnboardingServiceClient, } from "../onboarding/onboarding-service-client.js";
30
30
  import { CommandDispatcher } from "./command-dispatcher.js";
31
31
  import { getCurrentVersion } from "../utils/version-check.js";
@@ -138,6 +138,7 @@ export class HeartbeatManager {
138
138
  commandDispatcher;
139
139
  config;
140
140
  onProactiveWakeChanged;
141
+ onServiceStateChanged;
141
142
  obsClose;
142
143
  getThreadSupervisor;
143
144
  channelManager = null;
@@ -145,6 +146,7 @@ export class HeartbeatManager {
145
146
  _lastBillingPlans = [];
146
147
  _lastBillingMessage;
147
148
  _lastUsageStatus;
149
+ _lastServiceStatus;
148
150
  _lastLlmProviderPriority;
149
151
  _lastMemoryEnabled = false;
150
152
  /**
@@ -214,7 +216,11 @@ export class HeartbeatManager {
214
216
  }
215
217
  constructor(config, options) {
216
218
  this.config = config;
219
+ // Seed the billing decision from the last persisted heartbeat so a restart
220
+ // during an onboarding outage does not run a stopped agent.
221
+ this._lastServiceStatus = config.serviceStatus;
217
222
  this.onProactiveWakeChanged = options?.onProactiveWakeChanged;
223
+ this.onServiceStateChanged = options?.onServiceStateChanged;
218
224
  this.obsClose = options?.obsClose;
219
225
  this.getThreadSupervisor = options?.getThreadSupervisor;
220
226
  const detectedMachineSerial = getMachineSerial();
@@ -586,6 +592,36 @@ export class HeartbeatManager {
586
592
  if (resp.usageStatus) {
587
593
  this._lastUsageStatus = resp.usageStatus;
588
594
  }
595
+ if (resp.serviceStatus !== undefined) {
596
+ const parsed = AgentServiceStatusSchema.safeParse(resp.serviceStatus);
597
+ if (!parsed.success) {
598
+ logger.warn("Ignoring malformed serviceStatus in heartbeat response");
599
+ }
600
+ else {
601
+ const next = parsed.data;
602
+ const stateChanged = this._lastServiceStatus?.state !== next.state;
603
+ if (stateChanged) {
604
+ logger.system(`Service state from ${next.applicationId ?? "platform"}: ${next.state}${next.reason ? ` (${next.reason})` : ""}`);
605
+ }
606
+ this._lastServiceStatus = next;
607
+ if (JSON.stringify(next) !== JSON.stringify(this.config.serviceStatus)) {
608
+ const previous = this.config.serviceStatus;
609
+ this.config.serviceStatus = next;
610
+ try {
611
+ saveConfig(this.config);
612
+ }
613
+ catch (err) {
614
+ // Disk still holds the previous value; keeping config in step with it
615
+ // makes the next heartbeat (the server sends the field every time)
616
+ // retry the write. Enforcement itself uses _lastServiceStatus.
617
+ this.config.serviceStatus = previous;
618
+ logger.warn(`Heartbeat: failed to persist service state: ${err instanceof Error ? err.message : String(err)}`);
619
+ }
620
+ }
621
+ if (stateChanged)
622
+ this.onServiceStateChanged?.(next);
623
+ }
624
+ }
589
625
  if (resp.ackedUsageReportIds) {
590
626
  markUsageReportsAcked(resp.ackedUsageReportIds);
591
627
  }
@@ -857,6 +893,10 @@ export class HeartbeatManager {
857
893
  get lastUsageStatus() {
858
894
  return this._lastUsageStatus;
859
895
  }
896
+ /** The billing application's execution decision: last heartbeat that carried one, or the persisted seed. */
897
+ get lastServiceStatus() {
898
+ return this._lastServiceStatus;
899
+ }
860
900
  get lastLlmProviderPriority() {
861
901
  return this._lastLlmProviderPriority;
862
902
  }
@@ -912,6 +952,12 @@ export class HeartbeatManager {
912
952
  await this.sendHeartbeat({ busy: false });
913
953
  return this._lastUsageStatus;
914
954
  }
955
+ async sendHeartbeatForServiceGate() {
956
+ if (!this.client)
957
+ return this._lastServiceStatus;
958
+ await this.sendHeartbeat({ busy: false });
959
+ return this._lastServiceStatus;
960
+ }
915
961
  /** Mark process-lifetime tools/MCPs/skills as frozen after startup resolution. */
916
962
  markRuntimeSurfaceReady() {
917
963
  this.runtimeSurfaceReady = true;
@@ -1027,6 +1073,9 @@ export class HeartbeatManager {
1027
1073
  async runDeepNightDreamingCheck() {
1028
1074
  if (this.isGloballyBusy())
1029
1075
  return;
1076
+ // A stopped agent makes no model calls, even before the main loop reaches its gate.
1077
+ if (this._lastServiceStatus !== undefined && this._lastServiceStatus.state !== "active")
1078
+ return;
1030
1079
  try {
1031
1080
  const { maybeRunDeepNightDreaming } = await import("./deep-night-dreaming.js");
1032
1081
  await maybeRunDeepNightDreaming(this.config, this.getThreadSupervisor ?? (() => null));
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat-manager.js","sourceRoot":"","sources":["../../src/agent/heartbeat-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"heartbeat-manager.js","sourceRoot":"","sources":["../../src/agent/heartbeat-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,eAAe,EAAE,iCAAiC,EAAE,sBAAsB,EAAE,eAAe,EAAE,kBAAkB,EAAyB,MAAM,oBAAoB,CAAC;AAC5K,OAAO,EACL,mBAAmB,EACnB,oBAAoB,GAErB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAIzD,OAAO,EAAE,wBAAwB,EAAE,8BAA8B,EAA2B,MAAM,iCAAiC,CAAC;AACpI,OAAO,EACL,sBAAsB,EACtB,uBAAuB,GAQxB,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,eAAe,GAEhB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,2CAA2C,CAAC;AACvF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,uBAAuB,EACvB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,2BAA2B,EAC3B,gCAAgC,GACjC,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,6BAA6B,EAC7B,aAAa,GACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,sCAAsC,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAiC3D,0DAA0D;AAC1D,MAAM,0BAA0B,GAAG,MAAM,CAAC;AAE1C;;;;;GAKG;AACH,MAAM,0BAA0B,GAAG,CAAC,GAAG,MAAM,CAAC;AAC9C,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAC3C,MAAM,+BAA+B,GAAG,EAAE,CAAC;AAC3C,MAAM,8BAA8B,GAAG,GAAG,GAAG,IAAI,CAAC;AAClD,MAAM,gCAAgC,GAAG,EAAE,GAAG,MAAM,CAAC;AACrD,MAAM,6BAA6B,GAAG,MAAM,CAAC;AAC7C,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAC5C,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAC1C,MAAM,iCAAiC,GAAG,KAAK,CAAC;AAEhD,iFAAiF;AACjF,KAAK,UAAU,8BAA8B;IAC3C,IAAI,KAAgD,CAAC;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE;SAC/B,IAAI,CAAC,GAAG,EAAE,CAAC,mBAAmB,EAAE,CAAC;SACjC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACtB,MAAM,CAAC,GAAG,CACR,2CACE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,sBAAsB,CACvB,CAAC;IACJ,CAAC,CAAC,CAAC;IACL,MAAM,QAAQ,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC7C,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YACtB,MAAM,CAAC,GAAG,CACR,4CAA4C,iCAAiC,MAAM;gBACjF,oBAAoB,CACvB,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,iCAAiC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC3C,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,4BAA4B,CACnC,OAAyB,EACzB,eAAsC,EACtC,UAAuB;IAEvB,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAE9B,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,MAAM,aAAa,GAAG,CAAC,KAAuB,EAAE,KAAa,EAAQ,EAAE;QACrE,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE;YACtC,QAAQ,EAAE,iBAAiB,KAAK,8BAA8B;SAC/D,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,oEAAoE;IACpE,sEAAsE;IACtE,uEAAuE;IACvE,oEAAoE;IACpE,wBAAwB;IACxB,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;IAChD,MAAM,SAAS,GAAG,UAAU,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;IACxD,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7D,IAAI,UAAU,EAAE,CAAC;YACf,uBAAuB,EAAE,CAAC;YAC1B,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,IAAI,KAAK,IAAI,SAAS,EAAE,CAAC;YACvB,aAAa,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACvC,aAAa,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,OAAO,gBAAgB;IAC3B,mFAAmF;IAC3E,cAAc,GAAG,IAAI,CAAC;IACtB,MAAM,GAAmC,IAAI,CAAC;IAC7C,iBAAiB,CAAoB;IAC7B,MAAM,CAAmB;IACzB,sBAAsB,CAA8B;IACpD,qBAAqB,CAAmD;IACxE,QAAQ,CAAuB;IAC/B,mBAAmB,CAAiC;IAC7D,cAAc,GAA0B,IAAI,CAAC;IAC7C,uBAAuB,GAAuB,MAAM,CAAC;IACrD,iBAAiB,GAA2B,EAAE,CAAC;IAC/C,mBAAmB,CAAqB;IACxC,gBAAgB,CAA0B;IAC1C,kBAAkB,CAAiC;IACnD,wBAAwB,CAAuB;IAC/C,kBAAkB,GAAG,KAAK,CAAC;IACnC;;;;;OAKG;IACc,gBAAgB,CAA0B;IACnD,gBAAgB,GAAmC,IAAI,CAAC;IAEhE,2BAA2B;IAC3B,sEAAsE;IAC9D,YAAY,GAAyC,IAAI,CAAC;IAClE,2DAA2D;IACnD,OAAO,GAA2B,IAAI,CAAC;IAC/C,yFAAyF;IACjF,cAAc,GAAG,KAAK,CAAC;IAC/B,sFAAsF;IAC9E,mBAAmB,GAAG,KAAK,CAAC;IACpC,qFAAqF;IAC7E,2BAA2B,GAAG,KAAK,CAAC;IAC5C,gFAAgF;IACxE,0BAA0B,GAAG,KAAK,CAAC;IAC3C;;;;OAIG;IACK,SAAS,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7C,mBAAmB,GAA2B,EAAE,CAAC;IACxC,cAAc,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAC3C,oBAAoB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAElE;;;;;;;;;;;OAWG;IACK,KAAK,CAAC,oBAAoB,CAAC,OAA+B;QAChE,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QAEjD,MAAM,OAAO,GAAG,0BAA0B,CAAC,OAAO,EAAE;YAClD,IAAI,EAAE,eAAe;YACrB,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;SAC7C,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;YAChB,MAAM,CAAC,GAAG,CAAC,oBAAoB,OAAO,CAAC,OAAO,kCAAkC,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CACnC,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EACnE,4FAA4F,CAC7F,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,CACR,0EACE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CACH,CAAC;YACF,OAAO;QACT,CAAC;QAED,0EAA0E;QAC1E,oEAAoE;QACpE,MAAM,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,YAAY,MAAwB,EAAE,OAAiC;QACrE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,2EAA2E;QAC3E,4DAA4D;QAC5D,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,aAAa,CAAC;QAC/C,IAAI,CAAC,sBAAsB,GAAG,OAAO,EAAE,sBAAsB,CAAC;QAC9D,IAAI,CAAC,qBAAqB,GAAG,OAAO,EAAE,qBAAqB,CAAC;QAC5D,IAAI,CAAC,QAAQ,GAAG,OAAO,EAAE,QAAQ,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,OAAO,EAAE,mBAAmB,CAAC;QACxD,MAAM,qBAAqB,GAAG,gBAAgB,EAAE,CAAC;QACjD,wEAAwE;QACxE,4EAA4E;QAC5E,uDAAuD;QACvD,IAAI,qBAAqB,IAAI,qBAAqB,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,EAAE,CAAC;YACzF,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,qBAAqB,CAAC;YAClD,IAAI,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvG,CAAC;QACH,CAAC;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,uBAAuB,CAAC;YAClD,4DAA4D;YAC5D,wDAAwD;YACxD,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS;YACzC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM;YAC5B,aAAa,EAAE,OAAO,EAAE,aAAa;YACrC,OAAO,EAAE,OAAO,EAAE,OAAO;SAC1B,CAAC,CAAC;QACH,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,cAAc,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,SAAS,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,cAAc,EAAE,wBAAwB,EAAE,CAAC,CAAC;QACnF,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;QACtE,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,gBAAgB,EAAE,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7F,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,oBAAoB,EAAE,uBAAuB,EAAE,CAAC,CAAC;QACxF,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,eAAe,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,oFAAoF;IAC5E,YAAY,CAAC,IAAa;QAChC,MAAM,OAAO,GAAqB;YAChC,OAAO,EAAE,iBAAiB,EAAE;YAC5B,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;YAC9B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpC,IAAI;YACJ,kBAAkB,EAAE,oBAAoB,EAAE;SAC3C,CAAC;QACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,MAAM;YAAE,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;QACpC,2EAA2E;QAC3E,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/C,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;QACD,wEAAwE;QACxE,sEAAsE;QACtE,mEAAmE;QACnE,0DAA0D;QAC1D,IAAI,iBAAiB,EAAE,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;gBAChC,IAAI,KAAK,CAAC,UAAU;oBAAE,OAAO,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;gBAC5D,IAAI,KAAK,CAAC,SAAS;oBAAE,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;gBACzD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;oBACvC,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;QACH,CAAC;QACD,oEAAoE;QACpE,iEAAiE;QACjE,mEAAmE;QACnE,qDAAqD;QACrD,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;QACnD,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,CAAC,0BAA0B,GAAG,GAAG,CAAC;QAC3C,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa;YAAE,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QACjF,0EAA0E;QAC1E,yEAAyE;QACzE,uEAAuE;QACvE,0EAA0E;QAC1E,oCAAoC;QACpC,MAAM,gBAAgB,GAAG,iBAAiB,EAAE,CAAC,IAAI,EAAE,CAAC;QACpD,IAAI,gBAAgB;YAAE,OAAO,CAAC,QAAQ,GAAG,gBAAgB,CAAC;QAC1D,IAAI,IAAI,CAAC,cAAc;YAAE,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QAChD,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,CAAC,kBAAkB,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAAC;QACxF,CAAC;QACD,sEAAsE;QACtE,2DAA2D;QAC3D,iEAAiE;QACjE,kEAAkE;QAClE,oEAAoE;QACpE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC;YAC9D,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;QACtE,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACK,KAAK,CAAC,aAAa,CAAC,OAG3B;QACC,mEAAmE;QACnE,gEAAgE;QAChE,gEAAgE;QAChE,kEAAkE;QAClE,iDAAiD;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,IAAI,OAAoB,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC7C,OAAO,GAAG,OAAO,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAClC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;gBAAS,CAAC;YACT,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,OAAO,CAAC,OAGrB;QACC,mEAAmE;QACnE,mEAAmE;QACnE,6DAA6D;QAC7D,kBAAkB,EAAE,CAAC;QAErB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAE9B,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC;QAChD,gCAAgC,CAAC,gCAAgC,CAAC,CAAC;QACnE,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,+BAA+B,CAAC,CAAC;QACpF,MAAM,SAAS,GAA8B,EAAE,CAAC;QAChD,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC,uCAAuC;QAClE,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe;YAC3F,IAAI,iBAAiB,GAAG,QAAQ,GAAG,8BAA8B;gBAAE,MAAM;YACzE,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpB,iBAAiB,IAAI,QAAQ,CAAC;QAChC,CAAC;QACD,MAAM,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;YAAE,wBAAwB,CAAC,cAAc,CAAC,CAAC;QACxE,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC;YACrD,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC9D,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1C,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACjE,CAAC;QACD,wEAAwE;QACxE,sEAAsE;QACtE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC9E,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;QAChD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpF,iEAAiE;QACjE,oEAAoE;QACpE,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,EAAE,+BAA+B,CAAC,CAAC;QACxF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,YAAY,GAAG,WAAW,CAAC;QAE/D,IAAI,IAA8B,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,GAAG,OAAO,CAAC,MAAM;gBACnB,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC;gBAC5C,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kEAAkE;YAClE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;gBAAE,2BAA2B,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAC/F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC;YAC7E,IAAI,GAAG,YAAY,sBAAsB,EAAE,CAAC;gBAC1C,MAAM,CAAC,GAAG,CACR,gFAAgF,CACjF,CAAC;gBACF,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC5E,SAAS,CAAC,KAAK,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnB,gEAAgE;gBAChE,+CAA+C;gBAC/C,MAAM,GAAG,CAAC;YACZ,CAAC;YACD,oCAAoC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,iEAAiE;QACjE,kEAAkE;QAClE,+DAA+D;QAC/D,gEAAgE;QAChE,8DAA8D;QAC9D,gEAAgE;QAChE,wDAAwD;QACxD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC;gBAAE,2BAA2B,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;YAC/F,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;gBAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC;YAC7E,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;YAChC,IAAI,KAAK,CAAC,SAAS,KAAK,gBAAgB;gBAAE,SAAS;YACnD,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACxG,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBACpC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B,uDAAuD;QACvD,2CAA2C;QAE3C,IAAI,IAAI,CAAC,aAAa,EAAE,YAAY,KAAK,SAAS,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,8BAA8B,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;YACzF,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;YACjF,CAAC;iBAAM,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBAC/C,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC;gBAC5C,IAAI,CAAC;oBACH,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,iBAAiB,GAAG,QAAQ,CAAC;oBACzC,MAAM,CAAC,IAAI,CAAC,2DAA2D,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAC7H,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChE,MAAM,2BAA2B,GAAG,sBAAsB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,oBAAoB,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,oBAAoB,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,MAAM,6BAA6B,GAAG,iCAAiC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS;eACtD,OAAO,IAAI,CAAC,gBAAgB,KAAK,SAAS;eAC1C,OAAO,IAAI,CAAC,aAAa,EAAE,oBAAoB,KAAK,SAAS,CAAC;QACnE,IAAI,mBAAgD,CAAC;QACrD,IAAI,mBAAmB,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,mBAAmB,GAAG,IAAI,CAAC,YAAY,KAAK,SAAS;oBACnD,CAAC,CAAC;wBACE,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE;4BAChD,gBAAgB,EAAE,uBAAuB;4BACzC,aAAa,EAAE,2BAA2B;yBAC3C,CAAC;wBACF,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,uBAAuB;wBAClE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,oBAAoB,IAAI,2BAA2B;qBACvF;oBACH,CAAC,CAAC,oBAAoB,CAAC,IAAI,CAAC,YAAY,EAAE;wBACtC,gBAAgB,EAAE,uBAAuB;wBACzC,aAAa,EAAE,2BAA2B;qBAC3C,CAAC,CAAC;YACT,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,IAAI,CACT,8CAA8C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACtD,MAAM,wBAAwB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAC9D,MAAM,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;YACtE,MAAM,oBAAoB,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;YACtD,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,gBAAgB,KAAK,uBAAuB,CAAC;YAC1F,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,aAAa,KAAK,2BAA2B,CAAC;YAC/F,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,KAAK,oBAAoB,CAAC;YAC1E,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,KAAK,oBAAoB,CAAC;YAC1E,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,WAAW,KAAK,6BAA6B,CAAC;YACjG,MAAM,uBAAuB,GAAG,CAAC,mBAAmB,CAAC,MAAM;mBACtD,IAAI,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC;YAC5C,MAAM,gBAAgB,GAAG,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;YAEzF,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,mBAAmB,CAAC;YAC/C,wEAAwE;YACxE,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,mBAAmB,CAAC,gBAAgB,CAAC;YACpE,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,aAAa,CAAC;YACrE,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;gBAChC,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC;YACvC,CAAC;YACD,IAAI,CAAC;gBACH,IAAI,gBAAgB,IAAI,gBAAgB,IAAI,oBAAoB,IAAI,uBAAuB,EAAE,CAAC;oBAC5F,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,oBAAoB,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,wBAAwB,CAAC;gBACxD,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,4BAA4B,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,oBAAoB,CAAC;gBAChD,MAAM,CAAC,IAAI,CACT,gDAAgD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACnG,CAAC;gBACF,mBAAmB,GAAG,SAAS,CAAC;YAClC,CAAC;YAED,IAAI,mBAAmB,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;gBACvD,uEAAuE;gBACvE,wEAAwE;gBACxE,6BAA6B,EAAE,CAAC;YAClC,CAAC;YAED,IAAI,mBAAmB,IAAI,gBAAgB,EAAE,CAAC;gBAC5C,MAAM,CAAC,MAAM,CAAC,qDAAqD,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,oBAAoB,CAAC,CAAC;YACxJ,CAAC;YACD,IAAI,mBAAmB,IAAI,aAAa,EAAE,CAAC;gBACzC,MAAM,CAAC,MAAM,CAAC,0CAA0C,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,oBAAoB,CAAC,CAAC;YACnI,CAAC;YACD,IAAI,mBAAmB,IAAI,aAAa,EAAE,CAAC;gBACzC,MAAM,CAAC,MAAM,CAAC,0CAA0C,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,oBAAoB,CAAC,CAAC;YACnI,CAAC;YACD,IAAI,mBAAmB,IAAI,sBAAsB,EAAE,CAAC;gBAClD,MAAM,CAAC,MAAM,CAAC,oDAAoD,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;YAChI,CAAC;YACD,IAAI,mBAAmB,IAAI,CAAC,gBAAgB,IAAI,aAAa,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBACpH,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;gBACvC,eAAe,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;oBACtD,IAAI,IAAI,CAAC,QAAQ;wBAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACzC,MAAM,mBAAmB,EAAE,CAAC;gBAC9B,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,mBAAmB,IAAI,CAAC,oBAAoB,IAAI,sBAAsB,CAAC,EAAE,CAAC;gBAC5E,IAAI,CAAC;oBACH,aAAa,EAAE,CAAC,cAAc,EAAE,qBAAqB,EAAE,CAAC;gBAC1D,CAAC;gBAAC,MAAM,CAAC;oBACP,qEAAqE;gBACvE,CAAC;YACH,CAAC;YACD,IAAI,mBAAmB,IAAI,oBAAoB,EAAE,CAAC;gBAChD,MAAM,CAAC,MAAM,CAAC,mBAAmB,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,oBAAoB,CAAC,CAAC;gBACjH,IAAI,CAAC,sBAAsB,EAAE,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACzD,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC;QAC7C,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3C,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;gBACzB,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC;gBACnE,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,CAAC,MAAM,CAAC,sBAAsB,IAAI,CAAC,aAAa,IAAI,UAAU,KAAK,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClI,CAAC;gBACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;gBAC/B,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;oBACvE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;oBAC3C,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;oBACjC,IAAI,CAAC;wBACH,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC1B,CAAC;oBAAC,OAAO,GAAG,EAAE,CAAC;wBACb,sEAAsE;wBACtE,mEAAmE;wBACnE,+DAA+D;wBAC/D,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,QAAQ,CAAC;wBACrC,MAAM,CAAC,IAAI,CAAC,+CAA+C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBACjH,CAAC;gBACH,CAAC;gBACD,IAAI,YAAY;oBAAE,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,wBAAwB,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzC,0EAA0E;gBAC1E,mDAAmD;gBACnD,MAAM,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,oBAAoB,CAAC,MAAM,qBACjE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACzF,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,eAAe,GAAG,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,IAAI,CAAC;YACxE,MAAM,WAAW,GAAG,6BAA6B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YAChF,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc;mBACrC,eAAe,KAAK,IAAI;mBACxB,WAAW,KAAK,IAAI;mBACpB,eAAe,KAAK,WAAW,CAAC;YAErC,IAAI,cAAc,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACxD,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC;gBACxC,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;gBACvC,MAAM,CAAC,MAAM,CACX,iCAAiC,eAAe,OAAO,WAAW,oBAAoB,CACvF,CAAC;gBACF,eAAe,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;oBACxD,mEAAmE;oBACnE,kEAAkE;oBAClE,0DAA0D;oBAC1D,MAAM,8BAA8B,EAAE,CAAC;oBACvC,aAAa,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBAC7C,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,CAAC;YACzD,6DAA6D;YAC7D,yDAAyD;YACzD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC;YAC7C,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;gBAC9B,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;oBAC/C,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;oBACzC,MAAM,CAAC,MAAM,CAAC,kBAAkB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;oBAC/E,6DAA6D;oBAC7D,kEAAkE;oBAClE,wDAAwD;oBACxD,gEAAgE;oBAChE,+DAA+D;oBAC/D,IAAI,CAAC;wBACH,KAAK,CAAC,cAAc,EAAE,qBAAqB,EAAE,CAAC;oBAChD,CAAC;oBAAC,MAAM,CAAC;wBACP,oDAAoD;oBACtD,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;gBACjE,gEAAgE;gBAChE,iEAAiE;gBACjE,8DAA8D;YAChE,CAAC;QACH,CAAC;QACD,IAAI,4BAA4B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACpF,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACrD,CAAC;QAED,qEAAqE;QACrE,qEAAqE;QACrE,wEAAwE;QACxE,oEAAoE;QACpE,oEAAoE;QACpE,uEAAuE;QACvE,EAAE;QACF,+DAA+D;QAC/D,kEAAkE;QAClE,iEAAiE;QACjE,iEAAiE;QACjE,+CAA+C;QAC/C,EAAE;QACF,4DAA4D;QAC5D,8DAA8D;QAC9D,mEAAmE;QACnE,8DAA8D;QAC9D,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC/D,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAChD,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,iBAAiB,CAAC;YAC9C,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACvC,IAAI,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxB,MAAM,CAAC,MAAM,CACX,gCAAgC,iBAAiB,SAAS,IAAI,CAAC,SAAS,GAAG;oBACzE,CAAC,mBAAmB,KAAK,SAAS;wBAChC,CAAC,CAAC,mCAAmC;wBACrC,CAAC,CAAC,iCAAiC,mBAAmB,oBAAoB,CAAC,CAChF,CAAC;gBACF,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;oBAC5E,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAuB,CACvC,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAChC,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,IAAI,CAAC,MAAM,CAAC,uBAAuB,CACpC,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,4DAA4D;gBAC5D,2DAA2D;gBAC3D,2DAA2D;gBAC3D,iEAAiE;gBACjE,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,iBAAiB,CAAC;gBAC1C,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAC;gBAC9C,MAAM,CAAC,IAAI,CACT,gDAAgD,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACnG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,kEAAkE;QAClE,8DAA8D;QAC9D,qEAAqE;QACrE,mEAAmE;QACnE,oDAAoD;QACpD,sEAAsE;QACtE,kEAAkE;QAClE,qEAAqE;QACrE,wEAAwE;QACxE,qEAAqE;QACrE,iEAAiE;QACjE,uEAAuE;QACvE,8DAA8D;QAC9D,oCAAoC;QACpC,MAAM,gCAAgC,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,mBAAmB;YACxF,CAAC,CAAC,sCAAsC,CAAC,IAAI,CAAC,MAAM,CAAC;YACrD,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,cAAc,EAAE,iCAAiC,EAAE,CAAC;YAC/D,MAAM,uBAAuB,GAAG,gCAAgC,KAAK,IAAI;mBACpE,gCAAgC,KAAK,sCAAsC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9F,IAAI,uBAAuB,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;gBAChE,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;gBACvC,MAAM,CAAC,MAAM,CAAC,wEAAwE,CAAC,CAAC;gBACxF,eAAe,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;oBACtD,IAAI,IAAI,CAAC,QAAQ;wBAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACzC,MAAM,mBAAmB,EAAE,CAAC;gBAC9B,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACvD,CAAC;QAED,wEAAwE;QACxE,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACvE,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CACR,cAA8B,EAC9B,cAAkC,EAClC,YAAuC;QAEvC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QAErC,mDAAmD;QACnD,IAAI,YAAY,EAAE,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;gBAC9B,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC;oBACrB,OAAO,EAAE,sBAAsB,YAAY,CAAC,WAAW,MAAM,YAAY,CAAC,SAAS,EAAE;iBACtF,CAAC;aACH,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CACX,uCAAuC,YAAY,CAAC,SAAS,KAAK,YAAY,CAAC,WAAW,MAAM,YAAY,CAAC,SAAS,GAAG,CAC1H,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;YAC9E,mEAAmE;YACnE,0DAA0D;YAC1D,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAuB,CACvC,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAChC,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,IAAI,CAAC,MAAM,CAAC,uBAAuB,CACpC,CAAC;QAEF,iDAAiD;QACjD,mFAAmF;QACnF,iFAAiF;QACjF,IAAI,cAAc,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,cAAc,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;YAChF,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACpC,iBAAiB,EACjB,OAAO,CAAC,oBAAoB,CAC7B,CAAC;QACJ,CAAC;QAED,mEAAmE;QACnE,sDAAsD;QACtD,qEAAqE;QACrE,iEAAiE;QACjE,qCAAqC;QACrC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM,CAAC,MAAM,CAAC,qDAAqD,CAAC,CAAC;QACvE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACjE,IAAI,OAAO,CAAC,UAAU,CAAC,sCAAsC,CAAC,EAAE,CAAC;gBAC/D,MAAM,CAAC,GAAG,CAAC,iDAAiD,OAAO,EAAE,CAAC,CAAC;gBACvE,IAAI,CAAC;oBACH,IAAI,cAAc,EAAE,CAAC;wBACnB,MAAM,cAAc,CAAC,WAAW,CAC9B,UAAU,EACV,MAAM,CAAC,cAAc,CAAC,EACtB,wEAAwE,CACzE,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,2BAA2B;gBAC7B,CAAC;gBACD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,uEAAuE;gBACvE,uEAAuE;gBACvE,4CAA4C;gBAC5C,MAAM,CAAC,IAAI,CAAC,yDAAyD,OAAO,EAAE,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;IACH,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,iBAAiB,CAAC,eAAe,GAAG,6BAA6B;QACrE,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;YACtE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3D,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;gBAAE,OAAO;YAE3C,mEAAmE;YACnE,sEAAsE;YACtE,8DAA8D;YAC9D,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YAClD,IACE,cAAc;gBACd,QAAQ,EAAE,UAAU;gBACpB,6BAA6B,CAC3B,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,EAC7C,QAAQ,CAAC,UAAU,CACpB,EACD,CAAC;gBACD,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,SAAS,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC;gBACpC,IAAI,CAAC;oBACH,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBACxB,MAAM,CAAC,IAAI,CACT,sDAAsD,cAAc,KAAK;wBACvE,8BAA8B,CACjC,CAAC;oBACF,OAAO;gBACT,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;oBAC5C,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,mBAAmB,CAAC;oBAC9C,MAAM,CAAC,IAAI,CACT,8DAA8D,cAAc,MAC1E,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CACjD,EAAE,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,uEAAuE;IACvE,IAAI,sBAAsB;QACxB,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED,sFAAsF;IACtF,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAED,wFAAwF;IACxF,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,4GAA4G;IAC5G,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,IAAI,uBAAuB;QACzB,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;IACD,gFAAgF;IAChF,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED;mFAC+E;IAC/E,kBAAkB,CAAC,KAA2B;QAC5C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,eAAe,CAAC,QAAuB;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO;QACpE,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC;YAC5B,SAAS,EAAE,gBAAgB;YAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,OAAO,EAAE,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC,OAAO,EAAE;YACpE,OAAO,EAAE,QAA8C;SACxD,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,gGAAgG;IAChG,mBAAmB,CAAC,EAA2B;QAC7C,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC;IAC7B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB;QAMpB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;IACxC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,4BAA4B;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,uBAAuB,CAAC;QACtD,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,uBAAuB,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,yBAAyB;QAC7B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,gBAAgB,CAAC;QAC/C,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,kBAAkB,CAAC;QACjD,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,kFAAkF;IAClF,uBAAuB;QACrB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,YAAY,CAAC,OAAsB;QACjC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,oEAAoE;QACpE,mEAAmE;QACnE,iCAAiC;QACjC,kBAAkB,EAAE,CAAC;QAErB,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI;YAAE,OAAO;QACvC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,WAAW;QACf,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAC/B,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,6DAA6D;QAC7D,6DAA6D;QAC7D,wCAAwC;QACxC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;OAKG;IACH,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,KAAK,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YAClE,iBAAiB;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,6EAA6E;IACrE,cAAc;QACpB,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACjE,CAAC;IAEO,mBAAmB;QACzB,OAAO,IAAI,CAAC,mBAAmB,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC;IACnG,CAAC;IAEO,gBAAgB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE;YACpC,CAAC,CAAC,0BAA0B;YAC5B,CAAC,CAAC,0BAA0B,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,4DAA4D;YAC5D,6DAA6D;YAC7D,+DAA+D;YAC/D,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7B,CAAC,EAAE,QAAQ,CAAC,CAAC;IACf,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,qEAAqE;YACrE,iEAAiE;QACnE,CAAC;QACD,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAqB,CAAC,CAAC,CAAC;QAC5D,KAAK,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACtC,8DAA8D;QAC9D,sBAAsB;QACtB,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,OAAO;QAClC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED;;;;;;;;;OASG;IACK,KAAK,CAAC,yBAAyB;QACrC,IAAI,IAAI,CAAC,cAAc,EAAE;YAAE,OAAO;QAClC,oFAAoF;QACpF,IAAI,IAAI,CAAC,kBAAkB,KAAK,SAAS,IAAI,IAAI,CAAC,kBAAkB,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO;QAChG,IAAI,CAAC;YACH,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM,MAAM,CAAC,0BAA0B,CAAC,CAAC;YAC/E,MAAM,yBAAyB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,mBAAmB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CACV,8CAA8C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACjG,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,MAAM,CAAC,gBAAgB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACnD,IAAI,CAAC,cAAc,CAAC,sBAAsB,CAAC;gBACzC,EAAE,EAAE,cAAc,IAAI,CAAC,GAAG,EAAE,EAAE;gBAC9B,OAAO,EAAE,QAAQ;gBACjB,MAAM,EAAE,cAAc;gBACtB,IAAI,EAAE,MAAM,CAAC,gBAAgB;gBAC7B,WAAW,EAAE,EAAE;gBACf,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,IAAI,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;aACnC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,mDAAmD,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;YACtD,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,CAAC;IACH,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAA+D,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAI1I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAsBpD,OAAO,EAAE,KAAK,UAAU,EAA8E,MAAM,YAAY,CAAC;AAwBzH,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC9B,MAAM,sBAAsB,CAAC;AAgB9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAmBhE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAS3C;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B;+DAC2D;IAC3D,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,cAAc,EAAE,cAAc,CAAC;QAAC,YAAY,EAAE,YAAY,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3I;;;;OAIG;IACH,UAAU,CAAC,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;CACH,GACA,OAAO,CAAC,IAAI,CAAC,CA+sCf"}
1
+ {"version":3,"file":"loop.d.ts","sourceRoot":"","sources":["../../src/agent/loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,EAA+D,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAI1I,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAqBpD,OAAO,EAAE,KAAK,UAAU,EAA8E,MAAM,YAAY,CAAC;AAyBzH,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC9B,MAAM,sBAAsB,CAAC;AAgB9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAmBhE,YAAY,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAS3C;;GAEG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B;+DAC2D;IAC3D,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;IACpD,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE;QAAE,UAAU,EAAE,UAAU,CAAC;QAAC,cAAc,EAAE,cAAc,CAAC;QAAC,YAAY,EAAE,YAAY,CAAC;QAAC,WAAW,EAAE,WAAW,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3I;;;;OAIG;IACH,UAAU,CAAC,EAAE;QACX,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,EAAE,YAAY,CAAC;KACrB,CAAC;CACH,GACA,OAAO,CAAC,IAAI,CAAC,CAktCf"}
@@ -26,7 +26,7 @@ import { ActivityTracker } from "./activity-tracker.js";
26
26
  import { ThreadActivityController } from "../threads/thread-activity-controller.js";
27
27
  import { shouldNotifyUpdate } from "../utils/version-check.js";
28
28
  import { shouldRunProactiveUpgradeCheck } from "./update-reminder-policy.js";
29
- import { loadOwnerConfig, consumePendingUpgrade, consumePendingRestart, getConfigDir, buildPricingUrl, ownerConfigExists, saveOwnerConfig, deleteOnboardingSession, } from "../config/index.js";
29
+ import { loadOwnerConfig, consumePendingUpgrade, consumePendingRestart, getConfigDir, ownerConfigExists, saveOwnerConfig, deleteOnboardingSession, } from "../config/index.js";
30
30
  import { syncSystemTimezone } from "../utils/timezone.js";
31
31
  import { logger } from "../logger.js";
32
32
  import { cleanOldScreenshots } from "../tools/screenshot.js";
@@ -39,7 +39,8 @@ import { OnboardingServiceClient } from "../onboarding/onboarding-service-client
39
39
  import { sendWelcomeMessages } from "../onboarding/send-invite.js";
40
40
  import { resumePendingChannelBinding } from "../onboarding/resume-channel-binding.js";
41
41
  import { runSubscriptionGate } from "./subscription-gate.js";
42
- import { runUsageGate, shouldEnforceUsageGate, USAGE_GATE_MESSAGE } from "./usage/usage-gate.js";
42
+ import { runUsageGate, shouldEnforceUsageGate } from "./usage/usage-gate.js";
43
+ import { answerAndDrop, executionGateReply, runServiceGate, serviceGateMessage, shouldEnforceServiceGate } from "./service-gate.js";
43
44
  import { InterruptHandler } from "./interrupt-handler.js";
44
45
  import { transcribeVoiceMessages } from "../utils/transcribe.js";
45
46
  import { gatherWakeContext } from "./gather-context.js";
@@ -68,7 +69,7 @@ import { UsageReporter } from "./usage/usage-reporter.js";
68
69
  import { hasPendingSkillLearning, runSkillLearningGate } from "./skill-learning-gate.js";
69
70
  import { createNotifyHandler } from "./notification-handler.js";
70
71
  import { startHeartbeatWatchdog } from "./heartbeat-watchdog.js";
71
- import { deliverReplyToMessage, sendTypingToMessage } from "./reply-delivery.js";
72
+ import { sendTypingToMessage } from "./reply-delivery.js";
72
73
  import { resolveTuiTerminalOutcome } from "../tui/protocol.js";
73
74
  import { resolveProactiveWakeDelayMs } from "./wake-schedule.js";
74
75
  import { installBuiltinSkills } from "../skills/install.js";
@@ -317,6 +318,12 @@ export async function startAgentLoop(config, options) {
317
318
  // Read lazily: the supervisor is constructed above only when
318
319
  // `config.multiThread.enabled`, and is null on single-process profiles.
319
320
  getThreadSupervisor: () => threadSupervisor,
321
+ onServiceStateChanged: (status) => {
322
+ // The product stopped the agent: engage the gate now instead of at the
323
+ // next scheduled wake. Same startup caveat as onProactiveWakeChanged.
324
+ if (status.state !== "active" && wakeResolver !== null)
325
+ wakeMainLoop();
326
+ },
320
327
  onProactiveWakeChanged: () => {
321
328
  // During the startup heartbeat no sleep is armed yet; updating the shared
322
329
  // config is sufficient. At runtime, interrupt only the current sleep so
@@ -328,6 +335,16 @@ export async function startAgentLoop(config, options) {
328
335
  },
329
336
  });
330
337
  heartbeatForSupervisor = heartbeat;
338
+ if (!workerMode) {
339
+ // Answer and drop at ingest while the product has stopped the agent, before
340
+ // a message can reach the main queue or a thread worker (workers never
341
+ // heartbeat). Only the product's decision applies here; the platform's
342
+ // subscription and usage gates keep their hold-and-replay behavior.
343
+ channelManager.setExecutionGate(() => {
344
+ const status = heartbeat.lastServiceStatus;
345
+ return shouldEnforceServiceGate(status) ? serviceGateMessage(status, resolveLocale(ownerConfig.language)) : null;
346
+ });
347
+ }
331
348
  // Register the server→agent command handlers (main process only). Workers
332
349
  // receive messages directly from the supervisor over IPC.
333
350
  if (!workerMode) {
@@ -801,7 +818,8 @@ export async function startAgentLoop(config, options) {
801
818
  cooldownMs: AUTO_REFRESH_COOLDOWN_MS,
802
819
  };
803
820
  const timeoutStreak = session.activeSession.getConsecutiveCompactionTimeouts?.() ?? 0;
804
- if (shouldAutoRefresh(autoRefresh, timeoutStreak, lastAutoRefreshAtMs, Date.now())) {
821
+ // A stopped agent makes no model calls, not even the refresh summarizer.
822
+ if (!shouldEnforceServiceGate(heartbeat.lastServiceStatus) && shouldAutoRefresh(autoRefresh, timeoutStreak, lastAutoRefreshAtMs, Date.now())) {
805
823
  logger.system(`[auto-refresh] forcing context refresh after ${timeoutStreak} consecutive compaction timeout(s)`);
806
824
  // Same shared runner as the manual `/refresh` command — no
807
825
  // stop-and-wait (we're already at the idle gate) and no inbound
@@ -839,17 +857,27 @@ export async function startAgentLoop(config, options) {
839
857
  // Push the busy=true flip to the dashboard immediately rather than
840
858
  // waiting for the next 30s tick of the runtime heartbeat loop.
841
859
  heartbeat.nudge();
842
- // --- Subscription gate ---
843
- if (!workerMode && heartbeat.lastSubscriptionStatus === "expired") {
844
- await runSubscriptionGate(config, channelManager, heartbeat);
845
- // Gate returned — subscription is now active/skip, continue normally
846
- }
847
- // --- Usage gate ---
848
- // Usage gate is subordinate to billing: only enforced when subscription
849
- // is active (billing on, subscription valid). If billing is "skip" or
850
- // "expired", the usage gate does not apply.
851
- if (!workerMode && shouldEnforceUsageGate(heartbeat.lastUsageStatus, heartbeat.lastSubscriptionStatus)) {
852
- await runUsageGate(config, channelManager, heartbeat);
860
+ // --- Execution gates ---
861
+ // Each gate polls heartbeats while it blocks, and a poll can flip another
862
+ // gate's status, so re-check all of them until none applies. Priority:
863
+ // the billing application's decision (P5a) outranks the platform's own
864
+ // subscription gate, which outranks the usage gate (only enforced while
865
+ // the subscription is active).
866
+ if (!workerMode) {
867
+ for (;;) {
868
+ if (shouldEnforceServiceGate(heartbeat.lastServiceStatus)) {
869
+ await runServiceGate(config, channelManager, heartbeat, messageQueue);
870
+ }
871
+ else if (heartbeat.lastSubscriptionStatus === "expired") {
872
+ await runSubscriptionGate(config, channelManager, heartbeat);
873
+ }
874
+ else if (shouldEnforceUsageGate(heartbeat.lastUsageStatus, heartbeat.lastSubscriptionStatus)) {
875
+ await runUsageGate(config, channelManager, heartbeat);
876
+ }
877
+ else {
878
+ break;
879
+ }
880
+ }
853
881
  }
854
882
  // --- Skill learning gate ---
855
883
  // Learning Mode only runs during the overnight quiet-hours window
@@ -921,31 +949,9 @@ export async function startAgentLoop(config, options) {
921
949
  const msg = messageQueue.dequeue();
922
950
  if (!msg)
923
951
  continue;
924
- if (shouldEnforceUsageGate(heartbeat.lastUsageStatus, heartbeat.lastSubscriptionStatus) && msg.channel !== "system") {
925
- const pricingUrl = buildPricingUrl(config);
926
- const gateReply = `${USAGE_GATE_MESSAGE}\n\nBrowse plans or top up: ${pricingUrl}`;
927
- const tuiRequestId = typeof msg.meta?.tuiRequestId === "string"
928
- ? msg.meta.tuiRequestId
929
- : undefined;
930
- if (tuiRequestId) {
931
- try {
932
- // Deliver first so the gate explanation is retained as the
933
- // request's latest correlated reply before it becomes terminal.
934
- await deliverReplyToMessage(channelManager, msg, gateReply);
935
- }
936
- catch (err) {
937
- logger.warn(`Failed to send usage gate direct reply: ${err instanceof Error ? err.message : String(err)}`);
938
- }
939
- finally {
940
- tuiAdapter?.markRequestFailed(tuiRequestId, "Usage gate blocked execution");
941
- }
942
- }
943
- else {
944
- deliverReplyToMessage(channelManager, msg, gateReply).catch((err) => {
945
- logger.warn(`Failed to send usage gate direct reply: ${err instanceof Error ? err.message : String(err)}`);
946
- });
947
- }
948
- messageQueue.markHandled(msg);
952
+ const gateReply = msg.channel === "system" ? null : executionGateReply(heartbeat, config, resolveLocale(ownerConfig.language));
953
+ if (gateReply !== null) {
954
+ await answerAndDrop(channelManager, messageQueue, msg, gateReply, tuiAdapter);
949
955
  continue;
950
956
  }
951
957
  messages.push(msg);