aibroker 0.35.0 → 0.35.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/dist/core/hybrid.d.ts +12 -0
- package/dist/core/hybrid.d.ts.map +1 -1
- package/dist/core/hybrid.js +38 -0
- package/dist/core/hybrid.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -449,6 +449,7 @@ Addressing is explicit: `hub:machine-b/session:abc` routes through the bridge to
|
|
|
449
449
|
| [inbound.md](docs/inbound.md) | Generic `POST /hook/<route>` endpoint |
|
|
450
450
|
| [outbound.md](docs/outbound.md) | Acting in external systems through a platform's own actions |
|
|
451
451
|
| [mailbox.md](docs/mailbox.md) | Durable per-session queue and confirmed delivery |
|
|
452
|
+
| [session-watchdog.md](docs/session-watchdog.md) | Keeping a long autonomous session running: one goal at a time, context rollover, and the failures that shaped it |
|
|
452
453
|
| [audit.md](docs/audit.md) | What is recorded, and how to read it |
|
|
453
454
|
| [mesh.md](docs/mesh.md) | Multi-machine mesh networking |
|
|
454
455
|
| [ipc.md](docs/ipc.md) | IPC protocol and message format |
|
package/dist/core/hybrid.d.ts
CHANGED
|
@@ -33,6 +33,9 @@ export declare class HybridSessionManager {
|
|
|
33
33
|
private discover?;
|
|
34
34
|
/** True when the last attempt to look could not complete, so the list is last-known. */
|
|
35
35
|
private lastDiscoveryFailed;
|
|
36
|
+
/** When discovery last ran, so a burst of readers costs one enumeration. */
|
|
37
|
+
private lastSyncAt;
|
|
38
|
+
private coalesceMs;
|
|
36
39
|
constructor(apiBackend: APIBackend);
|
|
37
40
|
/**
|
|
38
41
|
* Where live sessions come from. Injected rather than imported so this stays
|
|
@@ -44,6 +47,15 @@ export declare class HybridSessionManager {
|
|
|
44
47
|
paiName?: string | null;
|
|
45
48
|
tabTitle?: string | null;
|
|
46
49
|
}>): void;
|
|
50
|
+
/**
|
|
51
|
+
* Change how long one enumeration is reused for.
|
|
52
|
+
*
|
|
53
|
+
* Exists so tests can assert the two properties separately: that a burst
|
|
54
|
+
* costs one enumeration, and that a fresh look reflects what changed. With a
|
|
55
|
+
* fixed window the second is only observable by waiting, which makes the
|
|
56
|
+
* suite slow and the failure mode ambiguous.
|
|
57
|
+
*/
|
|
58
|
+
setCoalesceWindow(ms: number): void;
|
|
47
59
|
/** Create a new headless (API) session. Delegates to APIBackend. */
|
|
48
60
|
createApiSession(name: string, cwd: string): HybridSession;
|
|
49
61
|
/** Register a visual (iTerm2) session. The transport creates the tab and passes the ID. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid.d.ts","sourceRoot":"","sources":["../../src/core/hybrid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"hybrid.d.ts","sourceRoot":"","sources":["../../src/core/hybrid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAapD,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,QAAQ,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,mBAAmB;IACnB,IAAI,EAAE,WAAW,CAAC;IAClB,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,qBAAa,oBAAoB;IAC/B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEhC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,YAAY,CAAM;IAC1B,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,QAAQ,CAAC,CAA+F;IAChH,wFAAwF;IACxF,OAAO,CAAC,mBAAmB,CAAS;IACpC,4EAA4E;IAC5E,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,UAAU,CAAoB;gBAE1B,UAAU,EAAE,UAAU;IAIlC;;;OAGG;IACH,YAAY,CAAC,EAAE,EAAE,MAAM,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,GAAG,IAAI;IAIpH;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAMnC,oEAAoE;IACpE,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa;IAkB1D,2FAA2F;IAC3F,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,aAAa;IAiBvF,oFAAoF;IACpF,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAYvD,0FAA0F;IAC1F,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAiCvD,6EAA6E;IAC7E,kBAAkB,IAAI,IAAI;IAW1B,0DAA0D;IAC1D,IAAI,aAAa,IAAI,aAAa,GAAG,SAAS,CAE7C;IAED;;;OAGG;IACH,uBAAuB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM;IAoBrD,iEAAiE;IACjE,UAAU,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ3D;;;;;;OAMG;IACH,YAAY,IAAI,aAAa,EAAE;IAK/B;;;;;;;;OAQG;IACH,aAAa,IAAI,aAAa,EAAE;IAIhC;;;;;;;;;;;;;;;;;;OAkBG;IACH,OAAO,CAAC,YAAY;IAoDpB,4CAA4C;IAC5C,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAMpD;;;;;;;;OAQG;IACH,iBAAiB,IAAI,MAAM;IAqB3B;;;;OAIG;IACH,kBAAkB,IAAI,MAAM,GAAG,IAAI;CASpC;AAED,wEAAwE;AACxE,eAAO,IAAI,aAAa,EAAE,oBAAoB,GAAG,IAAW,CAAC;AAE7D,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,oBAAoB,GAAG,IAAI,GAAG,IAAI,CAErE"}
|
package/dist/core/hybrid.js
CHANGED
|
@@ -11,6 +11,14 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { log } from "./log.js";
|
|
13
13
|
import { activeItermSessionId } from "./state.js";
|
|
14
|
+
/**
|
|
15
|
+
* How long one enumeration is reused for.
|
|
16
|
+
*
|
|
17
|
+
* Short enough that no answer a person reads is meaningfully out of date;
|
|
18
|
+
* long enough that a client reconnect storm cannot turn a blocking terminal
|
|
19
|
+
* query into the daemon's whole capacity.
|
|
20
|
+
*/
|
|
21
|
+
const SYNC_COALESCE_MS = 3_000;
|
|
14
22
|
export class HybridSessionManager {
|
|
15
23
|
apiBackend;
|
|
16
24
|
sessions = [];
|
|
@@ -19,6 +27,9 @@ export class HybridSessionManager {
|
|
|
19
27
|
discover;
|
|
20
28
|
/** True when the last attempt to look could not complete, so the list is last-known. */
|
|
21
29
|
lastDiscoveryFailed = false;
|
|
30
|
+
/** When discovery last ran, so a burst of readers costs one enumeration. */
|
|
31
|
+
lastSyncAt = 0;
|
|
32
|
+
coalesceMs = SYNC_COALESCE_MS;
|
|
22
33
|
constructor(apiBackend) {
|
|
23
34
|
this.apiBackend = apiBackend;
|
|
24
35
|
}
|
|
@@ -29,6 +40,17 @@ export class HybridSessionManager {
|
|
|
29
40
|
setDiscovery(fn) {
|
|
30
41
|
this.discover = fn;
|
|
31
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Change how long one enumeration is reused for.
|
|
45
|
+
*
|
|
46
|
+
* Exists so tests can assert the two properties separately: that a burst
|
|
47
|
+
* costs one enumeration, and that a fresh look reflects what changed. With a
|
|
48
|
+
* fixed window the second is only observable by waiting, which makes the
|
|
49
|
+
* suite slow and the failure mode ambiguous.
|
|
50
|
+
*/
|
|
51
|
+
setCoalesceWindow(ms) {
|
|
52
|
+
this.coalesceMs = ms;
|
|
53
|
+
}
|
|
32
54
|
// ── Session creation ──
|
|
33
55
|
/** Create a new headless (API) session. Delegates to APIBackend. */
|
|
34
56
|
createApiSession(name, cwd) {
|
|
@@ -202,6 +224,22 @@ export class HybridSessionManager {
|
|
|
202
224
|
syncFromLive() {
|
|
203
225
|
if (!this.discover)
|
|
204
226
|
return;
|
|
227
|
+
// COALESCE. Discovery is a blocking AppleScript round trip — measured at
|
|
228
|
+
// 1.26 s on this machine — and Node has one thread. A mobile client that
|
|
229
|
+
// reconnects every two seconds asks for the list on every connect, so each
|
|
230
|
+
// reconnect stalled the whole daemon for seconds: heartbeats from other
|
|
231
|
+
// adapters timed out, their re-registrations queued behind the same lock,
|
|
232
|
+
// and the phone's own connection dropped because nothing could service it,
|
|
233
|
+
// which made it reconnect again. The hub spent fifteen seconds at a time
|
|
234
|
+
// unable to answer anything.
|
|
235
|
+
//
|
|
236
|
+
// A short reuse window, not a cache with a lifetime: it exists to make a
|
|
237
|
+
// BURST cost one enumeration, and it is deliberately shorter than a human
|
|
238
|
+
// can act, so no user-visible answer is stale by more than a moment.
|
|
239
|
+
const now = Date.now();
|
|
240
|
+
if (now - this.lastSyncAt < this.coalesceMs)
|
|
241
|
+
return;
|
|
242
|
+
this.lastSyncAt = now;
|
|
205
243
|
let live;
|
|
206
244
|
try {
|
|
207
245
|
live = this.discover();
|
package/dist/core/hybrid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hybrid.js","sourceRoot":"","sources":["../../src/core/hybrid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"hybrid.js","sourceRoot":"","sources":["../../src/core/hybrid.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAmB/B,MAAM,OAAO,oBAAoB;IACtB,UAAU,CAAa;IAEf,QAAQ,GAAoB,EAAE,CAAC;IACxC,YAAY,GAAG,CAAC,CAAC,CAAC;IAClB,OAAO,GAAG,CAAC,CAAC;IACZ,QAAQ,CAAgG;IAChH,wFAAwF;IAChF,mBAAmB,GAAG,KAAK,CAAC;IACpC,4EAA4E;IACpE,UAAU,GAAG,CAAC,CAAC;IACf,UAAU,GAAG,gBAAgB,CAAC;IAEtC,YAAY,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,EAAgG;QAC3G,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;IACrB,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAU;QAC1B,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,yBAAyB;IAEzB,oEAAoE;IACpE,gBAAgB,CAAC,IAAY,EAAE,GAAW;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAkB;YAC7B,EAAE,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE;YACzB,IAAI;YACJ,GAAG;YACH,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,gBAAgB,EAAE,UAAU,CAAC,EAAE;SAChC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,yCAAyC;QACzC,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,UAAU,CAAC,EAAE,CAAC;QAChD,GAAG,CAAC,uCAAuC,IAAI,MAAM,OAAO,CAAC,EAAE,OAAO,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;QACxF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,2FAA2F;IAC3F,qBAAqB,CAAC,IAAY,EAAE,GAAW,EAAE,cAAsB;QACrE,MAAM,OAAO,GAAkB;YAC7B,EAAE,EAAE,KAAK,IAAI,CAAC,OAAO,EAAE,EAAE;YACzB,IAAI;YACJ,GAAG;YACH,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,gBAAgB,EAAE,cAAc;SACjC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7C,GAAG,CAAC,6CAA6C,IAAI,MAAM,OAAO,CAAC,EAAE,OAAO,cAAc,GAAG,CAAC,CAAC;QAC/F,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,mBAAmB;IAEnB,oFAAoF;IACpF,aAAa,CAAC,KAAa;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,KAAK,GAAG,CAAC,CAAC;QAC9B,kEAAkE;QAClE,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAC7D,CAAC;QACD,GAAG,CAAC,8BAA8B,OAAO,CAAC,IAAI,aAAa,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QAC5F,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,0FAA0F;IAC1F,aAAa,CAAC,KAAa;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO;YAAE,OAAO,SAAS,CAAC;QAE/B,2CAA2C;QAC3C,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAEnC,sBAAsB;QACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACrD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC/C,CAAC;aAAM,IAAI,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;aAAM,IAAI,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;YAC3C,2CAA2C;YAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5E,CAAC;QAED,oCAAoC;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC;QACrC,IAAI,SAAS,EAAE,IAAI,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,eAAe,GAAG,SAAS,CAAC,gBAAgB,CAAC;QAC/D,CAAC;QAED,GAAG,CAAC,0BAA0B,OAAO,CAAC,IAAI,aAAa,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;QACxF,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,6EAA6E;IAC7E,kBAAkB;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACtD,GAAG,CAAC,uCAAuC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,kBAAkB;IAElB,0DAA0D;IAC1D,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,CAAC;IAED;;;OAGG;IACH,uBAAuB,CAAC,OAAoB;QAC1C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC3B,MAAM,EAAE,CAAC;gBACT,GAAG,CAAC,8CAA8C,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBACpG,sBAAsB;gBACtB,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,CAAC;qBAAM,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;oBACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iEAAiE;IACjE,UAAU,CAAC,gBAAwB,EAAE,OAAe;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,gBAAgB,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,GAAG,CAAC,6BAA6B,CAAC,CAAC,IAAI,QAAQ,OAAO,GAAG,CAAC,CAAC;YAC3D,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,YAAY;QACV,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa;QACX,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACK,YAAY;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,yEAAyE;QACzE,yEAAyE;QACzE,2EAA2E;QAC3E,wEAAwE;QACxE,0EAA0E;QAC1E,2EAA2E;QAC3E,yEAAyE;QACzE,6BAA6B;QAC7B,EAAE;QACF,yEAAyE;QACzE,0EAA0E;QAC1E,qEAAqE;QACrE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU;YAAE,OAAO;QACpD,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,IAAI,IAA4F,CAAC;QACjG,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACnC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,GAAG,CAAC,6DAA6D,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC/G,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/C,IAAI,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;QAEtC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC;YAC/D,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;gBAAE,SAAS;YACpC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAChF,CAAC;QACD,uEAAuE;QACvE,wEAAwE;QACxE,wEAAwE;QACxE,oEAAoE;QACpE,uEAAuE;QACvE,iEAAiE;QACjE,MAAM,SAAS,GAAG,YAAY,EAAE,gBAAgB,IAAI,oBAAoB,CAAC;QACzE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC;YAC3E,IAAI,CAAC,IAAI,CAAC;gBAAE,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IAED,4CAA4C;IAC5C,UAAU,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,gBAAgB;IAEhB;;;;;;;;OAQG;IACH,iBAAiB;QACf,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,4EAA4E;QAC5E,6CAA6C;QAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,mBAAmB;gBAC7B,CAAC,CAAC,oDAAoD;gBACtD,CAAC,CAAC,cAAc,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,QAAQ,GAAG,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC;YACzC,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;YACpD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACpC,OAAO,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5E,CAAC,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC;QAClC,IAAI,CAAC,MAAM;YAAE,OAAO,oBAAoB,CAAC;QACzC,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QACxC,CAAC;QACD,sDAAsD;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,wEAAwE;AACxE,MAAM,CAAC,IAAI,aAAa,GAAgC,IAAI,CAAC;AAE7D,MAAM,UAAU,gBAAgB,CAAC,CAA8B;IAC7D,aAAa,GAAG,CAAC,CAAC;AACpB,CAAC"}
|