botmux 3.18.2 → 3.18.3

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 (42) hide show
  1. package/dist/.runtime-build-id +1 -1
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +28 -3
  4. package/dist/cli.js.map +1 -1
  5. package/dist/core/fleet-state-store.d.ts.map +1 -1
  6. package/dist/core/fleet-state-store.js +6 -0
  7. package/dist/core/fleet-state-store.js.map +1 -1
  8. package/dist/core/fleet-supervisor-policy.d.ts +38 -6
  9. package/dist/core/fleet-supervisor-policy.d.ts.map +1 -1
  10. package/dist/core/fleet-supervisor-policy.js +32 -9
  11. package/dist/core/fleet-supervisor-policy.js.map +1 -1
  12. package/dist/core/fleet-supervisor.d.ts +39 -0
  13. package/dist/core/fleet-supervisor.d.ts.map +1 -1
  14. package/dist/core/fleet-supervisor.js +61 -9
  15. package/dist/core/fleet-supervisor.js.map +1 -1
  16. package/dist/core/reply-target.d.ts +27 -0
  17. package/dist/core/reply-target.d.ts.map +1 -1
  18. package/dist/core/reply-target.js +58 -0
  19. package/dist/core/reply-target.js.map +1 -1
  20. package/dist/daemon.d.ts +3 -0
  21. package/dist/daemon.d.ts.map +1 -1
  22. package/dist/daemon.js +19 -5
  23. package/dist/daemon.js.map +1 -1
  24. package/dist/im/lark/event-dispatcher.d.ts +13 -0
  25. package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
  26. package/dist/im/lark/event-dispatcher.js +22 -1
  27. package/dist/im/lark/event-dispatcher.js.map +1 -1
  28. package/dist/platform/tunnel-client.d.ts +27 -0
  29. package/dist/platform/tunnel-client.d.ts.map +1 -1
  30. package/dist/platform/tunnel-client.js +205 -22
  31. package/dist/platform/tunnel-client.js.map +1 -1
  32. package/dist/services/send-policy.d.ts +38 -0
  33. package/dist/services/send-policy.d.ts.map +1 -1
  34. package/dist/services/send-policy.js +33 -0
  35. package/dist/services/send-policy.js.map +1 -1
  36. package/dist/types.d.ts +16 -0
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/utils/child-env.d.ts +41 -0
  39. package/dist/utils/child-env.d.ts.map +1 -1
  40. package/dist/utils/child-env.js +53 -0
  41. package/dist/utils/child-env.js.map +1 -1
  42. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-client.d.ts","sourceRoot":"","sources":["../../src/platform/tunnel-client.ts"],"names":[],"mappings":"AAMA,OAAO,EAA0C,KAAK,eAAe,EAAqB,MAAM,cAAc,CAAC;AAE/G,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;4DACwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;sCAEkC;IAClC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,iEAAiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wDAAwD;AACxD,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,eAAe,CAAC;IACzB,qCAAqC;IACrC,gBAAgB,EAAE,MAAM,MAAM,CAAC;IAC/B,oCAAoC;IACpC,iBAAiB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACvC,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,eAAe,EAAE,CAAC;IAClC;uCACmC;IACnC,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B;4CACwC;IACxC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACxD,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC7D;AA4CD,MAAM,WAAW,kBAAkB;IACjC,IAAI,IAAI,IAAI,CAAC;CACd;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,CAkXvF"}
1
+ {"version":3,"file":"tunnel-client.d.ts","sourceRoot":"","sources":["../../src/platform/tunnel-client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAgB,MAAM,IAAI,CAAC;AAC7C,OAAO,EAA0C,KAAK,eAAe,EAAqB,MAAM,cAAc,CAAC;AAE/G,wDAAwD;AACxD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;4DACwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;sCAEkC;IAClC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,iEAAiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wDAAwD;AACxD,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,OAAO,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,eAAe,CAAC;IACzB,qCAAqC;IACrC,gBAAgB,EAAE,MAAM,MAAM,CAAC;IAC/B,oCAAoC;IACpC,iBAAiB,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACvC,UAAU,EAAE,MAAM,MAAM,CAAC;IACzB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,MAAM,eAAe,EAAE,CAAC;IAClC;uCACmC;IACnC,cAAc,CAAC,EAAE,MAAM,MAAM,CAAC;IAC9B;4CACwC;IACxC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACxD,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CAC7D;AA0DD,MAAM,WAAW,kBAAkB;IACjC,IAAI,IAAI,IAAI,CAAC;CACd;AAED,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,mBAAmB,GAAG,kBAAkB,CAoWvF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAiHhF"}
@@ -3,7 +3,7 @@
3
3
  // 下发 open-stream,本端拨一条数据连接回去、裸桥接到本地 dashboard 端口。
4
4
  import net from 'node:net';
5
5
  import { hostname, networkInterfaces } from 'node:os';
6
- import { WebSocket, createWebSocketStream } from 'ws';
6
+ import { WebSocket } from 'ws';
7
7
  import { setPlatformTeams, clearPlatformBinding } from './binding.js';
8
8
  const HEARTBEAT_MS = 30_000;
9
9
  const BACKOFF_MIN_MS = 1_000;
@@ -21,6 +21,17 @@ const DATA_DIAL_PARALLEL = 3;
21
21
  const DATA_DIAL_MAX_WAVES = 2;
22
22
  const DATA_DIAL_WAVE_BACKOFF_MS = 150;
23
23
  const DATA_DIAL_OVERALL_DEADLINE_MS = 8_000;
24
+ // 桥接的 WebSocket 侧背压水位:本地 dashboard 读得比平台链路发得快时(下载、长日志),
25
+ // 未确认送达的字节超过这个水位就暂停 TCP 读取,等确认后继续。`pipe()` 原来替我们管背压,
26
+ // 手写事件桥接(见 bridgeDataChannel():Bun 不支持 createWebSocketStream)就必须自己管,
27
+ // 否则大响应会在内存里堆帧。
28
+ const WS_BACKPRESSURE_BYTES = 4 * 1024 * 1024;
29
+ // 背压确认用的 ping 间隔:超水位后每隔这么久探一次「平台真的收下了吗」。
30
+ // 取值权衡:太小则空转 ping,太大则恢复迟钝、拉长大响应的总时长。
31
+ const WS_BACKPRESSURE_PROBE_MS = 20;
32
+ // 本地 dashboard FIN 后,等 WebSocket 把已排队的帧刷完并收到对端 close 的上限;
33
+ // 到点仍未收到就硬收尾,别把 socket 永久挂着。
34
+ const WS_CLOSE_FLUSH_TIMEOUT_MS = 30_000;
24
35
  // 控制连接并行拨号(happy-eyeballs):一轮并行拨几条、谁先握手成功用谁,兜住入口 VIP 对新建连接
25
36
  // ~35% 的黑洞。单条超时给足 TLS 握手时间(好连接 ~40ms,黑洞则等满超时判负)。
26
37
  const CONTROL_DIAL_PARALLEL = 3;
@@ -363,27 +374,7 @@ export function startPlatformTunnelClient(opts) {
363
374
  }
364
375
  inflight.clear();
365
376
  // 数据流必须关 permessage-deflate(连接创建时已设),否则大文件帧经网关压缩协商错位 → RSV1 断流。
366
- const dup = createWebSocketStream(winner);
367
- const tcp = net.connect(opts.getDashboardPort(), '127.0.0.1');
368
- // 交互式终端关 Nagle:终端输出常被拆成「回显字符 + 光标/颜色控制序列」这类分帧小包,
369
- // Nagle 会把紧随其后的小包扣到对端 delayed-ACK(~40ms)才发出。网页终端经平台隧道中转时
370
- // 这条桥接 socket 串在链路中间,用户就感到每隔一下卡 ~40ms;本机直连不经隧道故不卡。
371
- tcp.setNoDelay(true);
372
- const kill = () => {
373
- try {
374
- dup.destroy();
375
- }
376
- catch { /* ignore */ }
377
- try {
378
- tcp.destroy();
379
- }
380
- catch { /* ignore */ }
381
- };
382
- dup.on('error', kill);
383
- tcp.on('error', kill);
384
- tcp.on('close', kill);
385
- dup.pipe(tcp);
386
- tcp.pipe(dup);
377
+ bridgeDataChannel(winner, opts.getDashboardPort());
387
378
  };
388
379
  // 每波并行拨 DATA_DIAL_PARALLEL 条,谁先 open 谁胜出;一波全黑洞/失败才进下一波(有界)。
389
380
  const dialWave = () => {
@@ -479,6 +470,184 @@ export function startPlatformTunnelClient(opts) {
479
470
  },
480
471
  };
481
472
  }
473
+ /**
474
+ * 把一条胜出的数据通道 WebSocket 裸桥接到本地 dashboard 的 TCP 端口。
475
+ *
476
+ * 手动事件桥接,不用 `ws` 的 `createWebSocketStream()`:那个 API 在 **Bun 里直接抛
477
+ * `Error("Not supported yet in Bun")`**(实测 bun 1.4.0 抛、node v22.21.1 正常)。
478
+ * 而编译版单文件二进制跑的就是 Bun —— 于是控制通道连上了(`new WebSocket` 在 Bun 下
479
+ * 正常,日志照打「隧道已连接平台」、平台侧显示机器在线),但每次真要转发请求都崩在桥接
480
+ * 那一行,数据通道永远建不起来:平台侧 Dashboard 整站打不开,而本地直连不经隧道故一切
481
+ * 正常。这个「dev 模式能开、二进制不能开」的分裂就是它。
482
+ *
483
+ * ⚠️ 背压信号为什么不用 `bufferedAmount`:**Bun 下它恒为 0**。实测(bun 1.4.0 客户端
484
+ * + 真 Node `ws` 服务端、对端停读):连发 400MB 后 `bufferedAmount` 一直是 0、
485
+ * `pause()` 只打印 `[bun] Warning: ... not implemented in bun` 且暂停期间 400/400 条
486
+ * 照送、`send(data, cb)` 的回调在「交给内部队列」时就结算(对端应用层实收 0.0MB 时
487
+ * 400 个回调已全部回来,所以自计数也恒为 0)、`ws` shim 无 `_socket` 可看
488
+ * `writableLength`、Bun 原生 `globalThis.WebSocket` 的 `bufferedAmount` 同样恒 0。
489
+ * ⟹ **ws 层没有任何可用的已缓冲量信号**。
490
+ *
491
+ * 所以改用**协议层确认**:超水位后 `ping()`,只有收到 `pong` 才继续读 TCP。pong 必须由
492
+ * 对端真的读到我们的字节后才可能回来,因此它是「平台确实在消费」的证据,且在 Node 与
493
+ * Bun 下行为一致(两个运行时都实测:对端停读期间 0 个 pong,恢复后收到)。
494
+ *
495
+ * 导出而非内联在 `openDataStream` 里,是为了让测试能 import 到**生产这一份**——
496
+ * 早先测试自己复制了一份桥接,结果删掉整段背压/改成发文本都不报红。
497
+ */
498
+ export function bridgeDataChannel(winner, dashboardPort) {
499
+ const tcp = net.connect(dashboardPort, '127.0.0.1');
500
+ // 交互式终端关 Nagle:终端输出常被拆成「回显字符 + 光标/颜色控制序列」这类分帧小包,
501
+ // Nagle 会把紧随其后的小包扣到对端 delayed-ACK(~40ms)才发出。网页终端经平台隧道中转时
502
+ // 这条桥接 socket 串在链路中间,用户就感到每隔一下卡 ~40ms;本机直连不经隧道故不卡。
503
+ tcp.setNoDelay(true);
504
+ let killed = false;
505
+ let ending = false;
506
+ // 「已发出但未被 pong 确认的字节数」——反向背压水位,同时是 finish() 判断排空的依据。
507
+ // 声明在 kill/finish 之前:它们会读这个变量,别让顺序变成 TDZ 隐患。
508
+ let unacked = 0;
509
+ let probing = false;
510
+ /**
511
+ * 硬收尾:双向都会触发 close/error,去重避免重复 destroy。
512
+ *
513
+ * 优雅关闭路径不需要在这里额外让路:finish() 已经等到 `unacked` 归零才 `close()`,
514
+ * 到 winner 'close' 回来时队列本就是空的,此时 terminate 无数据可丢。
515
+ * (实测过一个「ending 时跳过 terminate」的额外分支:Bun 下 64MB × 4 次、以及平台永不
516
+ * 回 close 的场景,加与不加逐字同结果 ⟹ 是没有牙的复杂度,删掉。)
517
+ */
518
+ const kill = () => {
519
+ if (killed)
520
+ return;
521
+ killed = true;
522
+ try {
523
+ winner.terminate();
524
+ }
525
+ catch { /* ignore */ }
526
+ try {
527
+ tcp.destroy();
528
+ }
529
+ catch { /* ignore */ }
530
+ };
531
+ /**
532
+ * 本地 dashboard 写完并 FIN 时的收尾:**先等排空、再 `close()`**,绝不 `terminate()`。
533
+ *
534
+ * ⚠️ 这里实测会真丢数据,且踩了两层:
535
+ * 1. `terminate()` 直接掐断 socket,Bun 内部队列里没发出去的帧全丢。64MB 响应 A/B
536
+ * (本地写满 64MB 后 FIN,平台侧统计实收):`terminate()` → 只收到 50.2MB。
537
+ * 2. 光换成 `close()` 也不够:仍有 `unacked > 0`(帧已交给队列但对端未确认)时
538
+ * close 会抢在排空前生效,实测 4 次里 2 次丢 4~5MB。
539
+ * 所以先用 ping/pong 等到 `unacked` 归零(pong 证明对端真读到了我们的字节),再 close。
540
+ * 实测该顺序 64MB × 5 次全部零丢失。原先 `pipe()` 的 `end:true` 免费提供了这个语义。
541
+ *
542
+ * ⚠️⚠️ 别把上面的字节数当成「凑够这个量就能测出来」:丢多少、乃至丢不丢,取决于 FIN 那一
543
+ * 刻 Bun 队列里恰好压着多少字节(灌速 × 平台消费节奏 × 调度的竞态),**不是尺寸阈值**。
544
+ * 两次独立测量就不一致:一处 64MB 丢 14~27MB、24MB 不丢;另一处 64MB 在快/限速平台都零丢。
545
+ * ⟹ 这条不能靠行为断言守,回归防线是测试里那条**源码形态守卫**(别删它)。
546
+ */
547
+ const finish = () => {
548
+ if (killed || ending)
549
+ return;
550
+ ending = true;
551
+ const closeWhenDrained = () => {
552
+ if (killed)
553
+ return;
554
+ if (winner.readyState !== winner.OPEN) {
555
+ kill();
556
+ return;
557
+ }
558
+ if (unacked <= 0) {
559
+ try {
560
+ winner.close();
561
+ }
562
+ catch {
563
+ kill();
564
+ }
565
+ return;
566
+ }
567
+ try {
568
+ winner.ping();
569
+ }
570
+ catch {
571
+ kill();
572
+ return;
573
+ }
574
+ setTimeout(closeWhenDrained, WS_BACKPRESSURE_PROBE_MS);
575
+ };
576
+ closeWhenDrained();
577
+ // 关闭帧发出后对端会回 close,届时 winner 的 'close' 走 kill() 收 tcp。
578
+ // 兜底:对端不回(或迟迟排不空)时别把 socket 永久挂着。
579
+ setTimeout(kill, WS_CLOSE_FLUSH_TIMEOUT_MS);
580
+ };
581
+ // ── 平台 → 本地 ──
582
+ // TCP 侧写不动时暂停 WebSocket 读取,drain 后恢复。
583
+ // ⚠️ `winner.pause()` 在 Bun 下是 no-op(见函数注释),所以**这个方向在编译版里仍然没有
584
+ // 闸门**:平台灌得比本地 dashboard 收得快时,帧会堆在进程里。下面反向那条 ping 闸门只管
585
+ // 「本地 → 平台」,**不解决这一侧**,别把它读成这一侧的兜底。保留 pause/resume 是因为它
586
+ // 在 Node(源码/npm 形态)下真实有效且在 Bun 下无害。编译态这一侧待 follow-up。
587
+ winner.on('message', (data) => {
588
+ const buf = toBuffer(data);
589
+ if (!buf.length)
590
+ return;
591
+ if (!tcp.write(buf)) {
592
+ try {
593
+ winner.pause();
594
+ }
595
+ catch { /* ignore */ }
596
+ }
597
+ });
598
+ tcp.on('drain', () => { try {
599
+ winner.resume();
600
+ }
601
+ catch { /* ignore */ } });
602
+ // ── 本地 → 平台 ──
603
+ // 水位变量见函数开头(unacked/probing)。不用 bufferedAmount:Bun 下恒为 0。
604
+ const onPong = () => {
605
+ unacked = 0; // 对端读到了我们此前写的字节
606
+ if (killed)
607
+ return;
608
+ tcp.resume();
609
+ };
610
+ winner.on('pong', onPong);
611
+ const probeUntilDrained = () => {
612
+ if (killed)
613
+ return;
614
+ if (unacked <= WS_BACKPRESSURE_BYTES) {
615
+ probing = false;
616
+ tcp.resume();
617
+ return;
618
+ }
619
+ try {
620
+ winner.ping();
621
+ }
622
+ catch { /* 连接已废,kill 会收尾 */ }
623
+ setTimeout(probeUntilDrained, WS_BACKPRESSURE_PROBE_MS);
624
+ };
625
+ tcp.on('data', (chunk) => {
626
+ if (winner.readyState !== winner.OPEN)
627
+ return;
628
+ // binary:true 是显式声明,不是必需的保险:实测 ws 对 Buffer 入参本就发二进制帧
629
+ // (不加也是 isBinary=true、字节逐字不变)。写出来是为了让「这是裸字节桥、
630
+ // 不许按文本处理」这件事在代码里可见,避免日后有人换成 string 载荷。
631
+ winner.send(chunk, { binary: true });
632
+ unacked += chunk.length;
633
+ if (unacked > WS_BACKPRESSURE_BYTES && !probing) {
634
+ probing = true;
635
+ tcp.pause(); // 停读本地,直到 pong 证明平台已消费
636
+ setTimeout(probeUntilDrained, WS_BACKPRESSURE_PROBE_MS);
637
+ }
638
+ });
639
+ winner.on('close', kill);
640
+ winner.on('error', kill);
641
+ // ⚠️ 不要在 tcp 'close' 上直接 kill:'end'(对端 FIN)之后紧跟就是 'close',
642
+ // 那会立刻 terminate 掉正在刷出的 WebSocket,把 finish() 的排空又变回截断。
643
+ // 本地 socket 关掉后由 finish()/winner 的 close 事件负责收尾。
644
+ tcp.on('close', () => { if (!ending)
645
+ kill(); });
646
+ tcp.on('error', kill);
647
+ // 本地 dashboard 读完即关:半关会让隧道另一头一直等,所以收尾。走 finish() 而非 kill(),
648
+ // 否则 Bun 内部队列里未发出的尾部会被丢掉(见 finish() 上的实测数据)。
649
+ tcp.on('end', finish);
650
+ }
482
651
  function safeSend(sock, obj) {
483
652
  try {
484
653
  if (sock.readyState === WebSocket.OPEN)
@@ -488,6 +657,20 @@ function safeSend(sock, obj) {
488
657
  /* ignore */
489
658
  }
490
659
  }
660
+ /**
661
+ * 把 `ws` 的 message 负载归一成一个 Buffer。
662
+ *
663
+ * `RawData` 可能是 Buffer、Buffer[](分片未合并)或 ArrayBuffer,取决于 ws 的
664
+ * 配置与运行时;桥接要往 TCP 写的是连续字节,所以三种都得收敛。原先
665
+ * `createWebSocketStream()` 内部替我们做了这件事。
666
+ */
667
+ function toBuffer(data) {
668
+ if (Buffer.isBuffer(data))
669
+ return data;
670
+ if (Array.isArray(data))
671
+ return Buffer.concat(data);
672
+ return Buffer.from(data);
673
+ }
491
674
  function wsBase(platformUrl) {
492
675
  const u = new URL(platformUrl);
493
676
  u.protocol = u.protocol === 'https:' ? 'wss:' : 'ws:';
@@ -1 +1 @@
1
- {"version":3,"file":"tunnel-client.js","sourceRoot":"","sources":["../../src/platform/tunnel-client.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,iDAAiD;AACjD,kDAAkD;AAClD,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,IAAI,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAA2C,MAAM,cAAc,CAAC;AA8C/G,MAAM,YAAY,GAAG,MAAM,CAAC;AAC5B,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,gEAAgE;AAChE,iEAAiE;AACjE,gDAAgD;AAChD,gFAAgF;AAChF,+EAA+E;AAC/E,4CAA4C;AAC5C,uDAAuD;AACvD,+CAA+C;AAC/C,MAAM,oBAAoB,GAAG,KAAK,CAAC;AACnC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,yBAAyB,GAAG,GAAG,CAAC;AACtC,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAE5C,2DAA2D;AAC3D,iDAAiD;AACjD,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,eAAe,GAAG,MAAM,CAAC;AAE/B,yDAAyD;AACzD,gEAAgE;AAChE,oCAAoC;AACpC,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACtD,KAAK,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;gBAC5B,IAAI,EAAE,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,OAAO;oBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAMD,MAAM,UAAU,yBAAyB,CAAC,IAAyB;IACjE,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,EAAE,GAAqB,IAAI,CAAC;IAChC,uCAAuC;IACvC,IAAI,YAAY,GAA0B,IAAI,CAAC;IAC/C,IAAI,SAAS,GAA0B,IAAI,CAAC;IAC5C,IAAI,SAAS,GAA0B,IAAI,CAAC;IAC5C,IAAI,cAAc,GAA0B,IAAI,CAAC;IACjD,IAAI,OAAO,GAAG,cAAc,CAAC;IAC7B,sBAAsB;IACtB,IAAI,KAAK,GAAmB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE7D,gEAAgE;IAChE,0DAA0D;IAC1D,oEAAoE;IACpE,sDAAsD;IACtD,sCAAsC;IACtC,SAAS,OAAO;QACd,IAAI,OAAO;YAAE,OAAO;QACpB,MAAM,GAAG,GAAG,GAAG,IAAI,yBAAyB,MAAM,EAAE,CAAC;QAErD,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,aAAa;QAClC,IAAI,OAAO,GAAG,qBAAqB,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAa,CAAC;QACnC,YAAY,GAAG,KAAK,CAAC;QAErB,MAAM,UAAU,GAAG,CAAC,MAAwB,EAAQ,EAAE;YACpD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,KAAK,MAAM;oBAAE,SAAS;gBAC3B,IAAI,CAAC;oBAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBACtD,gFAAgF;gBAChF,wFAAwF;gBACxF,yEAAyE;gBACzE,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAiB,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC;oBAAC,CAAC,CAAC,SAAS,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,GAAS,EAAE;YAC5B,IAAI,OAAO;gBAAE,OAAO;YACpB,IAAI,EAAE,OAAO,GAAG,CAAC;gBAAE,OAAO,CAAC,cAAc;YACzC,OAAO,GAAG,IAAI,CAAC,CAAC,0BAA0B;YAC1C,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,iBAAiB,EAAE,CAAC;QACtB,CAAC,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,gEAAgE;YAChE,yDAAyD;YACzD,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,IAAI;oBAAE,OAAO;gBACjB,IAAI,GAAG,IAAI,CAAC;gBACZ,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnB,IAAI,CAAC;oBAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAChD,UAAU,EAAE,CAAC;YACf,CAAC,EAAE,uBAAuB,CAAC,CAAC;YAE5B,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACnB,IAAI,IAAI;oBAAE,OAAO;gBACjB,IAAI,GAAG,IAAI,CAAC;gBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,OAAO,EAAE,CAAC;oBAAC,IAAI,CAAC;wBAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC,CAAC,YAAY;gBACtF,OAAO,GAAG,IAAI,CAAC;gBACf,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnB,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjB,kCAAkC;gBAClC,IAAI,CAAC;oBAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC/D,IAAI,CAAC;oBAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAChE,IAAI,CAAC;oBAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC9E,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC3C,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC/C,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG;oBAAE,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBACpE,IAAI,IAAI;oBAAE,OAAO;gBACjB,IAAI,GAAG,IAAI,CAAC;gBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnB,IAAI,CAAC;oBAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAChD,UAAU,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpB,IAAI,IAAI;oBAAE,OAAO;gBACjB,IAAI,GAAG,IAAI,CAAC;gBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnB,IAAI,CAAC;oBAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAChD,oDAAoD;gBACpD,UAAU,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpB,IAAI,IAAI;oBAAE,OAAO;gBACjB,IAAI,GAAG,IAAI,CAAC;gBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnB,+CAA+C;gBAC/C,UAAU,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,SAAS,YAAY,CAAC,IAAe;QACnC,EAAE,GAAG,IAAI,CAAC;QACV,YAAY,GAAG,IAAI,CAAC;QACpB,OAAO,GAAG,cAAc,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;QAEjE,gEAAgE;QAChE,kEAAkE;QAClE,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAC3B,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;gBAAE,OAAO;YAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,0CAA0C;gBAC1C,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;gBACrC,IAAI,CAAC;oBAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,8CAA8C;gBAC/F,OAAO;YACT,CAAC;YACD,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC;gBAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC,EAAE,eAAe,CAAC,CAAC;QAEpB,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,GAA8G,CAAC;YACnH,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC/C,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAClD,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACzD,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACnD,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACnE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnG,IAAI,CAAC;oBACH,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjD,CAAC;gBACD,yCAAyC;gBACzC,aAAa,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,aAAa,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACpB,WAAW,EAAE,CAAC;YACd,iBAAiB,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACrB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,wBAAwB;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,WAAW;QAClB,IAAI,SAAS,EAAE,CAAC;YACd,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IAED,SAAS,iBAAiB;QACxB,IAAI,OAAO,IAAI,cAAc;YAAE,OAAO;QACtC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,cAAc,GAAG,IAAI,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,OAAO,CAAC,CAAC;QACZ,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,YAAY,CAAC,IAAe;QACnC,QAAQ,CAAC,IAAI,EAAE;YACb,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ,EAAE;YACrC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE;YAChC,cAAc,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE;YAC9C,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACtC,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtD,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE;YAC5B,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,SAAS,aAAa,CAAC,IAAe;QACpC,QAAQ,CAAC,IAAI,EAAE;YACb,IAAI,EAAE,WAAW;YACjB,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE;YAChC,cAAc,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE;YAC9C,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtD,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE;YAC5B,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,SAAS,QAAQ,CAAC,MAAc,EAAE,QAAgB,EAAE,IAAe;QACjE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;YAC5C,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,YAAY,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;IACnC,CAAC;IAED,SAAS,SAAS,CAAC,MAAc,EAAE,IAAe;QAChD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACjD,YAAY,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7B,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,+CAA+C;IAC/C,4DAA4D;IAC5D,mEAAmE;IACnE,SAAS,aAAa,CAAC,IAAe;QACpC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAChC,OAAO,GAAG,IAAI,CAAC,CAAC,yDAAyD;QACzE,WAAW,EAAE,CAAC;QACd,IAAI,cAAc,EAAE,CAAC;YACnB,YAAY,CAAC,cAAc,CAAC,CAAC;YAC7B,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,oBAAoB,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IAED,SAAS,YAAY;QACnB,IAAI,CAAC;YACH,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,SAAS,cAAc,CAAC,QAAgB;QACtC,MAAM,GAAG,GAAG,GAAG,IAAI,sBAAsB,MAAM,WAAW,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,KAAK,CAAC,CAAe,uBAAuB;QACtD,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAa,CAAC,CAAC,iCAAiC;QAExE,mDAAmD;QACnD,MAAM,MAAM,GAAG,CAAC,MAAiB,EAAQ,EAAE;YACzC,GAAG,GAAG,IAAI,CAAC;YACX,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,EAAE,KAAK,MAAM;oBAAE,SAAS;gBAC5B,IAAI,CAAC;oBAAC,EAAE,CAAC,SAAS,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAChD,CAAC;YACD,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,gEAAgE;YAChE,MAAM,GAAG,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,WAAW,CAAC,CAAC;YAC9D,iDAAiD;YACjD,yDAAyD;YACzD,mDAAmD;YACnD,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACrB,MAAM,IAAI,GAAG,GAAG,EAAE;gBAChB,IAAI,CAAC;oBAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC7C,IAAI,CAAC;oBAAC,GAAG,CAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC/C,CAAC,CAAC;YACF,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACtB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACtB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACtB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACd,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChB,CAAC,CAAC;QAEF,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC1B,IAAI,GAAG;gBAAE,OAAO;YAChB,IAAI,EAAE,CAAC;YACP,IAAI,OAAO,GAAG,kBAAkB,CAAC;YACjC,MAAM,MAAM,GAAG,GAAS,EAAE;gBACxB,IAAI,GAAG;oBAAE,OAAO;gBAChB,IAAI,EAAE,OAAO,GAAG,CAAC;oBAAE,OAAO,CAAC,cAAc;gBACzC,uBAAuB;gBACvB,IAAI,IAAI,GAAG,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,6BAA6B,EAAE,CAAC;oBACzF,UAAU,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9D,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnB,IAAI,IAAI,GAAG,KAAK,CAAC;gBACjB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,IAAI,IAAI;wBAAE,OAAO;oBACjB,IAAI,GAAG,IAAI,CAAC;oBACZ,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtB,IAAI,CAAC;wBAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;oBAChD,MAAM,EAAE,CAAC;gBACX,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBACzB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;oBACnB,IAAI,IAAI;wBAAE,OAAO;oBACjB,IAAI,GAAG,IAAI,CAAC;oBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtB,IAAI,GAAG,EAAE,CAAC;wBAAC,IAAI,CAAC;4BAAC,IAAI,CAAC,SAAS,EAAE,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC,CAAC,YAAY;oBAClF,MAAM,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACpB,IAAI,IAAI;wBAAE,OAAO;oBACjB,IAAI,GAAG,IAAI,CAAC;oBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtB,MAAM,EAAE,CAAC;gBACX,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,OAAO,EAAE,CAAC;IAEV,OAAO;QACL,IAAI;YACF,OAAO,GAAG,IAAI,CAAC;YACf,WAAW,EAAE,CAAC;YACd,IAAI,cAAc,EAAE,CAAC;gBACnB,YAAY,CAAC,cAAc,CAAC,CAAC;gBAC7B,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,sCAAsC;YACtC,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;oBAC7B,IAAI,CAAC;wBAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;oBACtD,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAsE,CAAC,CAAC,CAAC;oBAC5F,IAAI,CAAC;wBAAC,CAAC,CAAC,SAAS,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC/C,CAAC;gBACD,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,IAAI,CAAC;gBACH,EAAE,EAAE,KAAK,EAAE,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,QAAQ,CAAC,IAAe,EAAE,GAAY;IAC7C,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,WAAmB;IACjC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,gBAAgB;IAChB,OAAO,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"tunnel-client.js","sourceRoot":"","sources":["../../src/platform/tunnel-client.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,iDAAiD;AACjD,kDAAkD;AAClD,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,SAAS,EAAgB,MAAM,IAAI,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAA2C,MAAM,cAAc,CAAC;AA8C/G,MAAM,YAAY,GAAG,MAAM,CAAC;AAC5B,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,cAAc,GAAG,MAAM,CAAC;AAC9B,gEAAgE;AAChE,iEAAiE;AACjE,gDAAgD;AAChD,gFAAgF;AAChF,+EAA+E;AAC/E,4CAA4C;AAC5C,uDAAuD;AACvD,+CAA+C;AAC/C,MAAM,oBAAoB,GAAG,KAAK,CAAC;AACnC,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,yBAAyB,GAAG,GAAG,CAAC;AACtC,MAAM,6BAA6B,GAAG,KAAK,CAAC;AAE5C,wDAAwD;AACxD,qDAAqD;AACrD,qEAAqE;AACrE,gBAAgB;AAChB,MAAM,qBAAqB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE9C,yCAAyC;AACzC,qCAAqC;AACrC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC,0DAA0D;AAC1D,6BAA6B;AAC7B,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC,2DAA2D;AAC3D,iDAAiD;AACjD,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,uBAAuB,GAAG,KAAK,CAAC;AACtC,yDAAyD;AACzD,qDAAqD;AACrD,MAAM,eAAe,GAAG,MAAM,CAAC;AAE/B,yDAAyD;AACzD,gEAAgE;AAChE,oCAAoC;AACpC,SAAS,gBAAgB,CAAC,IAAY;IACpC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC;YACtD,KAAK,MAAM,EAAE,IAAI,IAAI,IAAI,EAAE,EAAE,CAAC;gBAC5B,IAAI,EAAE,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,OAAO;oBAAE,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAMD,MAAM,UAAU,yBAAyB,CAAC,IAAyB;IACjE,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,EAAE,GAAqB,IAAI,CAAC;IAChC,uCAAuC;IACvC,IAAI,YAAY,GAA0B,IAAI,CAAC;IAC/C,IAAI,SAAS,GAA0B,IAAI,CAAC;IAC5C,IAAI,SAAS,GAA0B,IAAI,CAAC;IAC5C,IAAI,cAAc,GAA0B,IAAI,CAAC;IACjD,IAAI,OAAO,GAAG,cAAc,CAAC;IAC7B,sBAAsB;IACtB,IAAI,KAAK,GAAmB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE9E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE7D,gEAAgE;IAChE,0DAA0D;IAC1D,oEAAoE;IACpE,sDAAsD;IACtD,sCAAsC;IACtC,SAAS,OAAO;QACd,IAAI,OAAO;YAAE,OAAO;QACpB,MAAM,GAAG,GAAG,GAAG,IAAI,yBAAyB,MAAM,EAAE,CAAC;QAErD,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,aAAa;QAClC,IAAI,OAAO,GAAG,qBAAqB,CAAC;QACpC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAa,CAAC;QACnC,YAAY,GAAG,KAAK,CAAC;QAErB,MAAM,UAAU,GAAG,CAAC,MAAwB,EAAQ,EAAE;YACpD,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,IAAI,CAAC,KAAK,MAAM;oBAAE,SAAS;gBAC3B,IAAI,CAAC;oBAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBACtD,gFAAgF;gBAChF,wFAAwF;gBACxF,yEAAyE;gBACzE,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAiB,CAAC,CAAC,CAAC;gBACvC,IAAI,CAAC;oBAAC,CAAC,CAAC,SAAS,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC/C,CAAC;YACD,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,GAAS,EAAE;YAC5B,IAAI,OAAO;gBAAE,OAAO;YACpB,IAAI,EAAE,OAAO,GAAG,CAAC;gBAAE,OAAO,CAAC,cAAc;YACzC,OAAO,GAAG,IAAI,CAAC,CAAC,0BAA0B;YAC1C,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,iBAAiB,EAAE,CAAC;QACtB,CAAC,CAAC;QAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/C,gEAAgE;YAChE,yDAAyD;YACzD,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9D,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAChB,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,IAAI;oBAAE,OAAO;gBACjB,IAAI,GAAG,IAAI,CAAC;gBACZ,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnB,IAAI,CAAC;oBAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAChD,UAAU,EAAE,CAAC;YACf,CAAC,EAAE,uBAAuB,CAAC,CAAC;YAE5B,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACnB,IAAI,IAAI;oBAAE,OAAO;gBACjB,IAAI,GAAG,IAAI,CAAC;gBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,OAAO,EAAE,CAAC;oBAAC,IAAI,CAAC;wBAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC,CAAC,YAAY;gBACtF,OAAO,GAAG,IAAI,CAAC;gBACf,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnB,UAAU,CAAC,IAAI,CAAC,CAAC;gBACjB,kCAAkC;gBAClC,IAAI,CAAC;oBAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC/D,IAAI,CAAC;oBAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAChE,IAAI,CAAC;oBAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC9E,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBAC3C,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC/C,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG;oBAAE,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;gBACpE,IAAI,IAAI;oBAAE,OAAO;gBACjB,IAAI,GAAG,IAAI,CAAC;gBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnB,IAAI,CAAC;oBAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAChD,UAAU,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpB,IAAI,IAAI;oBAAE,OAAO;gBACjB,IAAI,GAAG,IAAI,CAAC;gBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnB,IAAI,CAAC;oBAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAChD,oDAAoD;gBACpD,UAAU,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACpB,IAAI,IAAI;oBAAE,OAAO;gBACjB,IAAI,GAAG,IAAI,CAAC;gBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACnB,+CAA+C;gBAC/C,UAAU,EAAE,CAAC;YACf,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,SAAS,YAAY,CAAC,IAAe;QACnC,EAAE,GAAG,IAAI,CAAC;QACV,YAAY,GAAG,IAAI,CAAC;QACpB,OAAO,GAAG,cAAc,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpB,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;QAEjE,gEAAgE;QAChE,kEAAkE;QAClE,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YAC3B,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;gBAAE,OAAO;YAC/C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,0CAA0C;gBAC1C,IAAI,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;gBACrC,IAAI,CAAC;oBAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,8CAA8C;gBAC/F,OAAO;YACT,CAAC;YACD,SAAS,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC;gBAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC7C,CAAC,EAAE,eAAe,CAAC,CAAC;QAEpB,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,IAAI,GAA8G,CAAC;YACnH,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;gBAC/C,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBAClD,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACzD,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACnD,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YAC9B,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACnE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACnG,IAAI,CAAC;oBACH,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjD,CAAC;gBACD,yCAAyC;gBACzC,aAAa,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;iBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,aAAa,CAAC,IAAI,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACpB,WAAW,EAAE,CAAC;YACd,iBAAiB,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;YACrB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,wBAAwB;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS,WAAW;QAClB,IAAI,SAAS,EAAE,CAAC;YACd,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,SAAS,GAAG,IAAI,CAAC;QACnB,CAAC;IACH,CAAC;IAED,SAAS,iBAAiB;QACxB,IAAI,OAAO,IAAI,cAAc;YAAE,OAAO;QACtC,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,cAAc,GAAG,IAAI,CAAC;YACtB,OAAO,EAAE,CAAC;QACZ,CAAC,EAAE,OAAO,CAAC,CAAC;QACZ,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,EAAE,cAAc,CAAC,CAAC;IAClD,CAAC;IAED,SAAS,YAAY,CAAC,IAAe;QACnC,QAAQ,CAAC,IAAI,EAAE;YACb,IAAI,EAAE,UAAU;YAChB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ,EAAE;YACrC,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE;YAChC,cAAc,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE;YAC9C,aAAa,EAAE,IAAI,CAAC,gBAAgB,EAAE;YACtC,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtD,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE;YAC5B,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,SAAS,aAAa,CAAC,IAAe;QACpC,QAAQ,CAAC,IAAI,EAAE;YACb,IAAI,EAAE,WAAW;YACjB,aAAa,EAAE,IAAI,CAAC,UAAU,EAAE;YAChC,cAAc,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE;YAC9C,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtD,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE;YAC5B,WAAW,EAAE,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE;SAC3C,CAAC,CAAC;IACL,CAAC;IAED,SAAS,QAAQ,CAAC,MAAc,EAAE,QAAgB,EAAE,IAAe;QACjE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,CAAC;YAC5C,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,CAAC;QACD,YAAY,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY;IACnC,CAAC;IAED,SAAS,SAAS,CAAC,MAAc,EAAE,IAAe;QAChD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QACjD,YAAY,EAAE,CAAC;QACf,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7B,aAAa,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,+CAA+C;IAC/C,4DAA4D;IAC5D,mEAAmE;IACnE,SAAS,aAAa,CAAC,IAAe;QACpC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAChC,OAAO,GAAG,IAAI,CAAC,CAAC,yDAAyD;QACzE,WAAW,EAAE,CAAC;QACd,IAAI,cAAc,EAAE,CAAC;YACnB,YAAY,CAAC,cAAc,CAAC,CAAC;YAC7B,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,oBAAoB,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,YAAY;QACd,CAAC;IACH,CAAC;IAED,SAAS,YAAY;QACnB,IAAI,CAAC;YACH,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAED,SAAS,cAAc,CAAC,QAAgB;QACtC,MAAM,GAAG,GAAG,GAAG,IAAI,sBAAsB,MAAM,WAAW,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,GAAG,GAAG,KAAK,CAAC,CAAe,uBAAuB;QACtD,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAa,CAAC,CAAC,iCAAiC;QAExE,mDAAmD;QACnD,MAAM,MAAM,GAAG,CAAC,MAAiB,EAAQ,EAAE;YACzC,GAAG,GAAG,IAAI,CAAC;YACX,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,EAAE,KAAK,MAAM;oBAAE,SAAS;gBAC5B,IAAI,CAAC;oBAAC,EAAE,CAAC,SAAS,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAChD,CAAC;YACD,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjB,gEAAgE;YAChE,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC;QAEF,4DAA4D;QAC5D,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC1B,IAAI,GAAG;gBAAE,OAAO;YAChB,IAAI,EAAE,CAAC;YACP,IAAI,OAAO,GAAG,kBAAkB,CAAC;YACjC,MAAM,MAAM,GAAG,GAAS,EAAE;gBACxB,IAAI,GAAG;oBAAE,OAAO;gBAChB,IAAI,EAAE,OAAO,GAAG,CAAC;oBAAE,OAAO,CAAC,cAAc;gBACzC,uBAAuB;gBACvB,IAAI,IAAI,GAAG,mBAAmB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,6BAA6B,EAAE,CAAC;oBACzF,UAAU,CAAC,QAAQ,EAAE,yBAAyB,CAAC,CAAC;gBAClD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC,CAAC;YACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC9D,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACnB,IAAI,IAAI,GAAG,KAAK,CAAC;gBACjB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,IAAI,IAAI;wBAAE,OAAO;oBACjB,IAAI,GAAG,IAAI,CAAC;oBACZ,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtB,IAAI,CAAC;wBAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;oBAChD,MAAM,EAAE,CAAC;gBACX,CAAC,EAAE,oBAAoB,CAAC,CAAC;gBACzB,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;oBACnB,IAAI,IAAI;wBAAE,OAAO;oBACjB,IAAI,GAAG,IAAI,CAAC;oBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtB,IAAI,GAAG,EAAE,CAAC;wBAAC,IAAI,CAAC;4BAAC,IAAI,CAAC,SAAS,EAAE,CAAC;wBAAC,CAAC;wBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;wBAAC,OAAO;oBAAC,CAAC,CAAC,YAAY;oBAClF,MAAM,CAAC,IAAI,CAAC,CAAC;gBACf,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;oBACpB,IAAI,IAAI;wBAAE,OAAO;oBACjB,IAAI,GAAG,IAAI,CAAC;oBACZ,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACtB,MAAM,EAAE,CAAC;gBACX,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEF,QAAQ,EAAE,CAAC;IACb,CAAC;IAED,OAAO,EAAE,CAAC;IAEV,OAAO;QACL,IAAI;YACF,OAAO,GAAG,IAAI,CAAC;YACf,WAAW,EAAE,CAAC;YACd,IAAI,cAAc,EAAE,CAAC;gBACnB,YAAY,CAAC,cAAc,CAAC,CAAC;gBAC7B,cAAc,GAAG,IAAI,CAAC;YACxB,CAAC;YACD,sCAAsC;YACtC,IAAI,YAAY,EAAE,CAAC;gBACjB,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;oBAC7B,IAAI,CAAC;wBAAC,CAAC,CAAC,kBAAkB,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;oBACtD,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAsE,CAAC,CAAC,CAAC;oBAC5F,IAAI,CAAC;wBAAC,CAAC,CAAC,SAAS,EAAE,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;gBAC/C,CAAC;gBACD,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,IAAI,CAAC;gBACH,EAAE,EAAE,KAAK,EAAE,CAAC;YACd,CAAC;YAAC,MAAM,CAAC;gBACP,YAAY;YACd,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAiB,EAAE,aAAqB;IACxE,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACpD,iDAAiD;IACjD,yDAAyD;IACzD,mDAAmD;IACnD,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,qDAAqD;IACrD,6CAA6C;IAC7C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB;;;;;;;OAOG;IACH,MAAM,IAAI,GAAG,GAAS,EAAE;QACtB,IAAI,MAAM;YAAE,OAAO;QACnB,MAAM,GAAG,IAAI,CAAC;QACd,IAAI,CAAC;YAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC;YAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF;;;;;;;;;;;;;;;OAeG;IACH,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,IAAI,MAAM,IAAI,MAAM;YAAE,OAAO;QAC7B,MAAM,GAAG,IAAI,CAAC;QACd,MAAM,gBAAgB,GAAG,GAAS,EAAE;YAClC,IAAI,MAAM;gBAAE,OAAO;YACnB,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;gBAAC,IAAI,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC1D,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;gBAAC,IAAI,CAAC;oBAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,IAAI,EAAE,CAAC;gBAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACvE,IAAI,CAAC;gBAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,IAAI,EAAE,CAAC;gBAAC,OAAO;YAAC,CAAC;YAChD,UAAU,CAAC,gBAAgB,EAAE,wBAAwB,CAAC,CAAC;QACzD,CAAC,CAAC;QACF,gBAAgB,EAAE,CAAC;QACnB,uDAAuD;QACvD,kCAAkC;QAClC,UAAU,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;IAC9C,CAAC,CAAC;IAEF,gBAAgB;IAChB,sCAAsC;IACtC,8DAA8D;IAC9D,uDAAuD;IACvD,wDAAwD;IACxD,sDAAsD;IACtD,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;YACpB,IAAI,CAAC;gBAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;IACH,CAAC,CAAC,CAAC;IACH,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3E,gBAAgB;IAChB,0DAA0D;IAC1D,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,OAAO,GAAG,CAAC,CAAC,CAAuB,gBAAgB;QACnD,IAAI,MAAM;YAAE,OAAO;QACnB,GAAG,CAAC,MAAM,EAAE,CAAC;IACf,CAAC,CAAC;IACF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE1B,MAAM,iBAAiB,GAAG,GAAS,EAAE;QACnC,IAAI,MAAM;YAAE,OAAO;QACnB,IAAI,OAAO,IAAI,qBAAqB,EAAE,CAAC;YAAC,OAAO,GAAG,KAAK,CAAC;YAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAChF,IAAI,CAAC;YAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;QACpD,UAAU,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAC/B,IAAI,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,IAAI;YAAE,OAAO;QAC9C,qDAAqD;QACrD,8CAA8C;QAC9C,wCAAwC;QACxC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACrC,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;QACxB,IAAI,OAAO,GAAG,qBAAqB,IAAI,CAAC,OAAO,EAAE,CAAC;YAChD,OAAO,GAAG,IAAI,CAAC;YACf,GAAG,CAAC,KAAK,EAAE,CAAC,CAAqB,uBAAuB;YACxD,UAAU,CAAC,iBAAiB,EAAE,wBAAwB,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzB,2DAA2D;IAC3D,uDAAuD;IACvD,iDAAiD;IACjD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM;QAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtB,4DAA4D;IAC5D,6CAA6C;IAC7C,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,QAAQ,CAAC,IAAe,EAAE,GAAY;IAC7C,IAAI,CAAC;QACH,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,YAAY;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,QAAQ,CAAC,IAAa;IAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAmB,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,MAAM,CAAC,WAAmB;IACjC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,gBAAgB;IAChB,OAAO,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AACpC,CAAC"}
@@ -28,6 +28,44 @@ export interface QuoteTargetArgs {
28
28
  * non-`--no-quote` sends quote.
29
29
  */
30
30
  export declare function resolveQuoteTarget(args: QuoteTargetArgs): string | null;
31
+ export interface AfterTheFactTopicQuoteArgs {
32
+ /** The message id this send would quote (null ⇒ nothing to decide). */
33
+ quoteTargetId: string | null;
34
+ /**
35
+ * The frozen per-turn record's `inThread` for the turn that produced
36
+ * `quoteTargetId`: did the inbound message arrive from INSIDE a topic?
37
+ * `undefined` = unknown (pre-`inThread` session row).
38
+ */
39
+ quotedTurnInThread?: boolean;
40
+ /**
41
+ * `thread_id` the quote target carries RIGHT NOW, freshly probed from Lark.
42
+ * `null` = confirmed no topic. `undefined` = probe failed / not attempted.
43
+ */
44
+ currentThreadId?: string | null;
45
+ /** An explicit `--quote <id>` is the operator's own choice; never override it. */
46
+ explicitQuote?: string;
47
+ }
48
+ /**
49
+ * Whether a chat-scope send must DROP its quote and post flat instead.
50
+ *
51
+ * Lark's reply API makes a reply inherit the **current** topic membership of the
52
+ * message it quotes — `reply_in_thread: false` only declines to OPEN a new
53
+ * topic, it cannot escape an existing one. So when the user @s the bot at group
54
+ * top level and only AFTERWARDS opens a 话题 on that very message, quoting it
55
+ * drops the answer into a topic the user never @'d the bot in (the same
56
+ * user-reported bug the regular-group fold fixes on the dispatcher side — this
57
+ * is its `botmux send` half, which owns the visible prose reply).
58
+ *
59
+ * Requires BOTH halves, so it can only ever fire on the exact reported case:
60
+ * • the quoted turn arrived at top level (`inThread === false`), and
61
+ * • that message NOW carries a `thread_id` — i.e. the topic appeared later.
62
+ *
63
+ * Fails toward the pre-existing behavior (keep quoting) whenever either half is
64
+ * unknown: an old session row has no `inThread`, and a failed/skipped probe
65
+ * leaves `currentThreadId` undefined. Quoting is the long-standing default, so
66
+ * uncertainty must never silently change where every normal reply lands.
67
+ */
68
+ export declare function shouldDropAfterTheFactTopicQuote(args: AfterTheFactTopicQuoteArgs): boolean;
31
69
  export interface ManagedVcQuoteArgs {
32
70
  managed: boolean;
33
71
  durableDelivery: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"send-policy.d.ts","sourceRoot":"","sources":["../../src/services/send-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send-policy.d.ts","sourceRoot":"","sources":["../../src/services/send-policy.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,39 @@ export function resolveQuoteTarget(args) {
9
9
  const target = args.explicitQuote ?? args.sessionQuoteTargetId;
10
10
  return target && target.trim() ? target.trim() : null;
11
11
  }
12
+ /**
13
+ * Whether a chat-scope send must DROP its quote and post flat instead.
14
+ *
15
+ * Lark's reply API makes a reply inherit the **current** topic membership of the
16
+ * message it quotes — `reply_in_thread: false` only declines to OPEN a new
17
+ * topic, it cannot escape an existing one. So when the user @s the bot at group
18
+ * top level and only AFTERWARDS opens a 话题 on that very message, quoting it
19
+ * drops the answer into a topic the user never @'d the bot in (the same
20
+ * user-reported bug the regular-group fold fixes on the dispatcher side — this
21
+ * is its `botmux send` half, which owns the visible prose reply).
22
+ *
23
+ * Requires BOTH halves, so it can only ever fire on the exact reported case:
24
+ * • the quoted turn arrived at top level (`inThread === false`), and
25
+ * • that message NOW carries a `thread_id` — i.e. the topic appeared later.
26
+ *
27
+ * Fails toward the pre-existing behavior (keep quoting) whenever either half is
28
+ * unknown: an old session row has no `inThread`, and a failed/skipped probe
29
+ * leaves `currentThreadId` undefined. Quoting is the long-standing default, so
30
+ * uncertainty must never silently change where every normal reply lands.
31
+ */
32
+ export function shouldDropAfterTheFactTopicQuote(args) {
33
+ if (!args.quoteTargetId)
34
+ return false;
35
+ // `--quote <id>` is an explicit operator instruction; honor it verbatim.
36
+ if (args.explicitQuote)
37
+ return false;
38
+ // Only a turn PROVEN to have arrived at top level can be a victim here.
39
+ // `undefined` (legacy row) must keep the old behavior, never guess.
40
+ if (args.quotedTurnInThread !== false)
41
+ return false;
42
+ // The topic must actually exist now. `undefined` = we don't know ⇒ keep quoting.
43
+ return typeof args.currentThreadId === 'string' && args.currentThreadId.trim().length > 0;
44
+ }
12
45
  /** A quote message id is a routing primitive: Lark's reply API derives the
13
46
  * destination chat from that id, not from the separately supplied chat id.
14
47
  * Managed deliveries therefore cannot choose one, while an explicit IM turn
@@ -1 +1 @@
1
- {"version":3,"file":"send-policy.js","sourceRoot":"","sources":["../../src/services/send-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send-policy.js","sourceRoot":"","sources":["../../src/services/send-policy.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -973,6 +973,22 @@ export interface FrozenSessionReplyContext {
973
973
  quoteTargetId?: string;
974
974
  replyTargetSenderOpenId?: string;
975
975
  replyTargetSenderIsBot?: boolean;
976
+ /**
977
+ * The inbound message that opened this turn already carried a Lark
978
+ * `thread_id` — i.e. it arrived from INSIDE a topic, not from the group's
979
+ * flat top level.
980
+ *
981
+ * `target.mode` alone cannot express this: a chat-scope turn records
982
+ * `mode:'plain'` both for a genuine top-level @ AND for a native-topic seed
983
+ * (whose opening message carries thread_id but no root_id, so neither the
984
+ * regular-group fold nor the shared-topic seeder supplies a replyRootId).
985
+ * Only the pair (`mode==='plain'` && `inThread !== true`) means "this session
986
+ * answered that message flat, AT TOP LEVEL".
987
+ *
988
+ * Written for chat-scope turns only; absent on older persisted rows, where it
989
+ * reads as "unknown" and callers must fail toward the pre-existing behavior.
990
+ */
991
+ inThread?: boolean;
976
992
  }
977
993
  /** Host-side destination frozen when a Codex App turn crosses daemon
978
994
  * acceptance. Transient HTTP/silent sinks deliberately carry only their kind: