cli-jaw 2.17.9 → 2.17.10
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/dist/src/core/config.js +34 -3
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/settings-merge.js +40 -0
- package/dist/src/core/settings-merge.js.map +1 -1
- package/dist/src/discord/bot.js +140 -26
- package/dist/src/discord/bot.js.map +1 -1
- package/dist/src/discord/reactions.js +92 -0
- package/dist/src/discord/reactions.js.map +1 -0
- package/dist/src/messaging/ack-reaction.js +192 -0
- package/dist/src/messaging/ack-reaction.js.map +1 -0
- package/dist/src/messaging/channel-capabilities.js +9 -3
- package/dist/src/messaging/channel-capabilities.js.map +1 -1
- package/dist/src/messaging/channel-validate.js +12 -0
- package/dist/src/messaging/channel-validate.js.map +1 -1
- package/dist/src/messaging/queue-notice.js +164 -0
- package/dist/src/messaging/queue-notice.js.map +1 -0
- package/dist/src/slack/api.js +93 -0
- package/dist/src/slack/api.js.map +1 -1
- package/dist/src/slack/auto-join.js +330 -0
- package/dist/src/slack/auto-join.js.map +1 -0
- package/dist/src/slack/bot.js +237 -21
- package/dist/src/slack/bot.js.map +1 -1
- package/dist/src/slack/manifest.js +12 -0
- package/dist/src/slack/manifest.js.map +1 -1
- package/dist/src/slack/send-only-client.js +14 -2
- package/dist/src/slack/send-only-client.js.map +1 -1
- package/dist/src/telegram/bot.js +146 -64
- package/dist/src/telegram/bot.js.map +1 -1
- package/dist/src/telegram/ipv4-fetch.js +74 -0
- package/dist/src/telegram/ipv4-fetch.js.map +1 -0
- package/dist/src/telegram/reactions.js +126 -0
- package/dist/src/telegram/reactions.js.map +1 -0
- package/package.json +1 -1
- package/public/locales/en.json +1 -0
- package/public/locales/ja.json +1 -0
- package/public/locales/ko.json +1 -0
- package/public/locales/zh.json +1 -0
- package/scripts/check-redaction-sinks.mjs +5 -0
package/dist/src/telegram/bot.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
// ─── Telegram Bot ────────────────────────────────────
|
|
2
|
-
import https from 'node:https';
|
|
3
2
|
import nodeFetch from 'node-fetch';
|
|
4
3
|
import { Bot } from 'grammy';
|
|
5
4
|
import { sequentialize } from '@grammyjs/runner';
|
|
@@ -38,6 +37,10 @@ export { escapeHtmlTg, markdownToTelegramHtml, chunkTelegramMessage, createForwa
|
|
|
38
37
|
// Re-exported from collect.ts (extracted in Phase B)
|
|
39
38
|
import { orchestrateAndCollect, orchestrateAndCollectData } from '../orchestrator/collect.js';
|
|
40
39
|
import { log } from '../core/logger.js';
|
|
40
|
+
import { createIpv4Fetch } from './ipv4-fetch.js';
|
|
41
|
+
import { createAckHandle, resolveAckConfig, shouldAck, TELEGRAM_ACK_DEFAULTS, } from '../messaging/ack-reaction.js';
|
|
42
|
+
import { createQueueNotice, QueueNoticeRegistry } from '../messaging/queue-notice.js';
|
|
43
|
+
import { createTelegramAckTransport, createTelegramNoticeTransport, TELEGRAM_REACTION_TIMEOUT_MS, } from './reactions.js';
|
|
41
44
|
export { orchestrateAndCollect };
|
|
42
45
|
import { startPendingElicitation, handleElicitationCallback, discardPendingElicitation, } from './elicitation-buttons.js';
|
|
43
46
|
import { redactOutboundPayload, redactOutboundText, logErrorText, userErrorText } from '../messaging/redact.js';
|
|
@@ -176,6 +179,32 @@ function installTelegramTargetReplyForwarder() {
|
|
|
176
179
|
});
|
|
177
180
|
});
|
|
178
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Queue-notice teardowns. Module scope because tgOrchestrate is a closure inside
|
|
184
|
+
* _initTelegramInner, and both shutdown and re-init have to reach these.
|
|
185
|
+
*/
|
|
186
|
+
const telegramNoticeRegistry = new QueueNoticeRegistry();
|
|
187
|
+
/** Covers the worst honest chain: a notice edit plus a replace-mode reaction. */
|
|
188
|
+
const TELEGRAM_NOTICE_DRAIN_MS = TELEGRAM_REACTION_TIMEOUT_MS * 2 + 3000;
|
|
189
|
+
/**
|
|
190
|
+
* Stop polling and close out queued notices, in the one order that is safe.
|
|
191
|
+
*
|
|
192
|
+
* stop() aborts synchronously and only THEN awaits its running loop, so starting
|
|
193
|
+
* it without awaiting closes the admission window before the drain snapshots the
|
|
194
|
+
* registry. Draining first would let a newly-received update register after that
|
|
195
|
+
* snapshot, and the awaited stop would block on its undrained delivery.
|
|
196
|
+
*
|
|
197
|
+
* The catch is attached at construction, not after the drain: stop() can reject
|
|
198
|
+
* through its loop, and the drain in between is a window where nothing would be
|
|
199
|
+
* listening.
|
|
200
|
+
*/
|
|
201
|
+
async function disposeTelegramRuntime(poller) {
|
|
202
|
+
const stopping = poller?.stop().catch((e) => {
|
|
203
|
+
log.warn('[telegram:poller-stop]', logErrorText(e));
|
|
204
|
+
});
|
|
205
|
+
await telegramNoticeRegistry.drain(TELEGRAM_NOTICE_DRAIN_MS);
|
|
206
|
+
await stopping;
|
|
207
|
+
}
|
|
179
208
|
// ─── Transport Contract Exports ─────────────────────
|
|
180
209
|
export async function shutdownTelegram() {
|
|
181
210
|
if (tgRetryTimer) {
|
|
@@ -183,16 +212,9 @@ export async function shutdownTelegram() {
|
|
|
183
212
|
tgRetryTimer = null;
|
|
184
213
|
}
|
|
185
214
|
detachTelegramForwarder();
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
try {
|
|
190
|
-
await oldPoller.stop();
|
|
191
|
-
}
|
|
192
|
-
catch (e) {
|
|
193
|
-
log.warn('[telegram:poller-stop]', logErrorText(e));
|
|
194
|
-
}
|
|
195
|
-
}
|
|
215
|
+
const oldPoller = telegramPoller;
|
|
216
|
+
telegramPoller = null;
|
|
217
|
+
await disposeTelegramRuntime(oldPoller);
|
|
196
218
|
if (!telegramBot)
|
|
197
219
|
return;
|
|
198
220
|
const old = telegramBot;
|
|
@@ -462,11 +484,11 @@ async function _initTelegramInner() {
|
|
|
462
484
|
await new Promise(r => setTimeout(r, 2000));
|
|
463
485
|
}
|
|
464
486
|
}
|
|
465
|
-
const
|
|
466
|
-
log.warn('[telegram:poller-stop]', logErrorText(e));
|
|
467
|
-
});
|
|
487
|
+
const reinitPoller = telegramPoller;
|
|
468
488
|
telegramPoller = null;
|
|
469
|
-
|
|
489
|
+
// Same helper as shutdown: a re-init that skipped the drain would strand
|
|
490
|
+
// every queued notice from the previous run.
|
|
491
|
+
await disposeTelegramRuntime(reinitPoller);
|
|
470
492
|
const envToken = process.env["TELEGRAM_TOKEN"];
|
|
471
493
|
if (envToken)
|
|
472
494
|
settings["telegram"].token = envToken;
|
|
@@ -487,41 +509,12 @@ async function _initTelegramInner() {
|
|
|
487
509
|
telegramActiveChatIds.add(id);
|
|
488
510
|
log.info(`[tg] Pre-seeded ${settings["telegram"].allowedChatIds.length} chat(s) from allowedChatIds`);
|
|
489
511
|
}
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
agent: ipv4Agent,
|
|
497
|
-
});
|
|
498
|
-
}
|
|
499
|
-
return new Promise((resolve, reject) => {
|
|
500
|
-
const u = new URL(url);
|
|
501
|
-
const headersInit = init["headers"];
|
|
502
|
-
const opts = {
|
|
503
|
-
hostname: u.hostname, port: u.port || 443, path: u.pathname + u.search,
|
|
504
|
-
method: init["method"] || 'GET', agent: ipv4Agent,
|
|
505
|
-
headers: headersInit instanceof Headers
|
|
506
|
-
? Object.fromEntries(headersInit)
|
|
507
|
-
: (headersInit || {}),
|
|
508
|
-
};
|
|
509
|
-
const req = https.request(opts, (res) => {
|
|
510
|
-
let data = '';
|
|
511
|
-
res.on('data', (c) => data += c);
|
|
512
|
-
res.on('end', () => resolve({
|
|
513
|
-
ok: (res.statusCode ?? 0) >= 200 && (res.statusCode ?? 0) < 300,
|
|
514
|
-
status: res.statusCode,
|
|
515
|
-
json: () => Promise.resolve(JSON.parse(data)),
|
|
516
|
-
text: () => Promise.resolve(data),
|
|
517
|
-
}));
|
|
518
|
-
});
|
|
519
|
-
req.on('error', reject);
|
|
520
|
-
if (body)
|
|
521
|
-
req.write(typeof body === 'string' ? body : JSON.stringify(body));
|
|
522
|
-
req.end();
|
|
523
|
-
});
|
|
524
|
-
};
|
|
512
|
+
// The factory, not an inline closure: production and the cancellation test
|
|
513
|
+
// must drive the same implementation, or the test proves only itself.
|
|
514
|
+
const ipv4Fetch = createIpv4Fetch({
|
|
515
|
+
streamingFetch: (url, init) => nodeFetch(url, init),
|
|
516
|
+
isStreamingBody: requiresStreamingFetchBody,
|
|
517
|
+
});
|
|
525
518
|
const bot = new Bot(settings["telegram"].token, {
|
|
526
519
|
client: { fetch: ipv4Fetch },
|
|
527
520
|
});
|
|
@@ -603,13 +596,22 @@ async function _initTelegramInner() {
|
|
|
603
596
|
await tgOrchestrate(ctx, result.combinedAnswer, result.combinedAnswer);
|
|
604
597
|
}
|
|
605
598
|
});
|
|
606
|
-
async function tgOrchestrate(ctx, prompt, displayMsg) {
|
|
599
|
+
async function tgOrchestrate(ctx, prompt, displayMsg, ackInput = {}) {
|
|
607
600
|
const chatId = ctx.chat?.id;
|
|
608
601
|
if (!ctx.chat)
|
|
609
602
|
return;
|
|
610
603
|
const chat = ctx.chat;
|
|
611
604
|
const responseTarget = buildTelegramTarget(ctx);
|
|
612
605
|
const result = submitMessage(prompt, stripUndefined({ origin: 'telegram', displayText: displayMsg, skipOrchestrate: true, target: responseTarget, chatId }));
|
|
606
|
+
// Narrowed once so the closures below capture a definite number.
|
|
607
|
+
const anchorId = ackInput.anchorId;
|
|
608
|
+
const ackConfig = resolveAckConfig(settings["telegram"]?.ack, TELEGRAM_ACK_DEFAULTS);
|
|
609
|
+
const ackHandle = anchorId !== undefined && shouldAck(ackConfig, {
|
|
610
|
+
isDirect: chat.type === 'private',
|
|
611
|
+
isMention: ackInput.isMention ?? false,
|
|
612
|
+
})
|
|
613
|
+
? createAckHandle(ackConfig, createTelegramAckTransport(ctx.api, chat.id, anchorId), (e) => log.info('[tg:ack]', logErrorText(e)))
|
|
614
|
+
: null;
|
|
613
615
|
// Reproduce grammy ctx.reply's auto-injected routing (context.js: thread/business/DM-topic)
|
|
614
616
|
// so the rich-first send helper lands replies exactly where ctx.reply would.
|
|
615
617
|
const replyOptsOf = (c) => stripUndefined({
|
|
@@ -633,7 +635,25 @@ async function _initTelegramInner() {
|
|
|
633
635
|
log.info(`[tg:queue] agent busy, queued (${result.pending} pending)`);
|
|
634
636
|
// 큐 처리 후 응답을 이 채팅으로 전달 — requestId로 request-level 격리
|
|
635
637
|
const requestId = result.requestId;
|
|
638
|
+
const notice = createQueueNotice({
|
|
639
|
+
expiredText: t('tg.queueExpired', {}, currentLocale()),
|
|
640
|
+
onError: (e) => log.info('[tg:queue-notice]', logErrorText(e)),
|
|
641
|
+
});
|
|
642
|
+
// One terminal outcome per turn, shared by whoever reaches it first.
|
|
643
|
+
//
|
|
644
|
+
// A boolean would pick a winner and let the loser return immediately —
|
|
645
|
+
// and the loser here is the shutdown drain, which would then stop the
|
|
646
|
+
// poller while the winner is still delivering. Handing back the
|
|
647
|
+
// winner's promise makes every path converge on one completion.
|
|
648
|
+
let terminal = null;
|
|
649
|
+
const claimTerminal = (run) => {
|
|
650
|
+
if (!terminal) {
|
|
651
|
+
terminal = run().catch(e => log.info('[tg:queue]', logErrorText(e)));
|
|
652
|
+
}
|
|
653
|
+
return terminal;
|
|
654
|
+
};
|
|
636
655
|
const finalDeliveryControl = {};
|
|
656
|
+
let unregister = () => { };
|
|
637
657
|
const finalDelivery = new Promise((resolve, reject) => {
|
|
638
658
|
let timer;
|
|
639
659
|
let settled = false;
|
|
@@ -641,13 +661,23 @@ async function _initTelegramInner() {
|
|
|
641
661
|
clearTimeout(timer);
|
|
642
662
|
removeBroadcastListener(queueHandler);
|
|
643
663
|
};
|
|
644
|
-
|
|
664
|
+
// Timeout, shutdown and an explicit cancel all land here.
|
|
665
|
+
const expire = (reason, signal) => claimTerminal(async () => {
|
|
645
666
|
if (settled)
|
|
646
667
|
return;
|
|
647
668
|
settled = true;
|
|
648
669
|
cleanup();
|
|
670
|
+
// Started together rather than in sequence: awaiting the notice
|
|
671
|
+
// first can eat the whole drain deadline before the reaction is
|
|
672
|
+
// even attempted.
|
|
673
|
+
await Promise.allSettled([
|
|
674
|
+
notice.close('expired', signal),
|
|
675
|
+
ackHandle?.settle('failure') ?? Promise.resolve(),
|
|
676
|
+
]);
|
|
677
|
+
unregister();
|
|
649
678
|
reject(reason);
|
|
650
|
-
};
|
|
679
|
+
});
|
|
680
|
+
finalDeliveryControl.cancel = (reason) => { void expire(reason); };
|
|
651
681
|
const queueHandler = (type, data) => {
|
|
652
682
|
if (type !== 'orchestrate_done' || !data["text"] || data["origin"] !== 'telegram' || data["requestId"] !== requestId)
|
|
653
683
|
return;
|
|
@@ -655,25 +685,58 @@ async function _initTelegramInner() {
|
|
|
655
685
|
return;
|
|
656
686
|
settled = true;
|
|
657
687
|
cleanup();
|
|
658
|
-
void
|
|
659
|
-
|
|
688
|
+
void claimTerminal(async () => {
|
|
689
|
+
const body = String(data["text"]);
|
|
690
|
+
try {
|
|
691
|
+
await sendTelegramMarkdown(ctx.api, chat.id, body, replyOptsOf(ctx));
|
|
692
|
+
}
|
|
693
|
+
catch (error) {
|
|
694
|
+
// The answer never landed, so the notice is not stale —
|
|
695
|
+
// it is the only trace this turn happened.
|
|
696
|
+
await Promise.allSettled([
|
|
697
|
+
notice.close('expired'),
|
|
698
|
+
ackHandle?.settle('failure') ?? Promise.resolve(),
|
|
699
|
+
]);
|
|
700
|
+
unregister();
|
|
701
|
+
reject(error);
|
|
702
|
+
return;
|
|
703
|
+
}
|
|
704
|
+
// Only now is the notice redundant.
|
|
705
|
+
await Promise.allSettled([
|
|
706
|
+
notice.close('answered'),
|
|
707
|
+
ackHandle?.settle('success') ?? Promise.resolve(),
|
|
708
|
+
]);
|
|
709
|
+
unregister();
|
|
660
710
|
resolve();
|
|
661
|
-
void relayTelegramImages(bot, chat.id,
|
|
711
|
+
void relayTelegramImages(bot, chat.id, body, responseTarget).catch(() => { });
|
|
662
712
|
void sendElicitationKeyboards(chat.id, data["elicitationSpecs"]).catch(() => { });
|
|
663
|
-
})
|
|
664
|
-
.catch(reject);
|
|
713
|
+
});
|
|
665
714
|
};
|
|
715
|
+
// Armed synchronously, before any reaction call: a delayed
|
|
716
|
+
// setMessageReaction must not be able to outlive the completion it
|
|
717
|
+
// is acknowledging, or the result arrives with no listener here.
|
|
666
718
|
timer = setTimeout(() => {
|
|
667
|
-
|
|
719
|
+
void expire(new Error('telegram_queue_delivery_timeout'));
|
|
668
720
|
}, 300000);
|
|
669
721
|
addBroadcastListener(queueHandler);
|
|
722
|
+
unregister = telegramNoticeRegistry.add((signal) => expire(new Error('telegram_queue_shutdown'), signal));
|
|
670
723
|
});
|
|
671
724
|
void finalDelivery.catch(() => { });
|
|
725
|
+
// Not awaited: the notice below is what the user needs to see, and the
|
|
726
|
+
// reaction is decoration on top of it.
|
|
727
|
+
void ackHandle?.to('running', { wasQueued: true });
|
|
672
728
|
try {
|
|
673
|
-
await ctx.reply(t('tg.queued', { count: result.pending }, currentLocale()));
|
|
729
|
+
const posted = await ctx.reply(t('tg.queued', { count: result.pending }, currentLocale()));
|
|
730
|
+
// The exported factory, not an inline object: tests drive the same
|
|
731
|
+
// binding production uses.
|
|
732
|
+
notice.bind(createTelegramNoticeTransport(ctx.api, chat.id, posted.message_id));
|
|
674
733
|
await finalDelivery;
|
|
675
734
|
}
|
|
676
735
|
catch (error) {
|
|
736
|
+
// A failed notice post means no handle will ever arrive; without
|
|
737
|
+
// this a deferred close waits for a bind that cannot happen and the
|
|
738
|
+
// drain burns its whole deadline.
|
|
739
|
+
notice.abandon();
|
|
677
740
|
finalDeliveryControl.cancel?.(error);
|
|
678
741
|
await finalDelivery.catch(() => { });
|
|
679
742
|
telegramFinalDeliveryFailures.add(ctx.update.update_id);
|
|
@@ -780,6 +843,11 @@ async function _initTelegramInner() {
|
|
|
780
843
|
if (toolHandler)
|
|
781
844
|
addBroadcastListener(toolHandler);
|
|
782
845
|
let finalDeliveryStarted = false;
|
|
846
|
+
// The started path is the COMMON one — the agent is idle — and it never
|
|
847
|
+
// touched the handle, so an ACK-enabled command got no reaction at all
|
|
848
|
+
// unless it happened to be queued.
|
|
849
|
+
let ackOutcome = 'failure';
|
|
850
|
+
void ackHandle?.to('running');
|
|
783
851
|
try {
|
|
784
852
|
const { text: collectedText, data: doneData } = await orchestrateAndCollectData(prompt, stripUndefined({
|
|
785
853
|
origin: 'telegram', chatId: chat.id, requestId: submitRequestId, _skipInsert: true,
|
|
@@ -800,6 +868,9 @@ async function _initTelegramInner() {
|
|
|
800
868
|
}
|
|
801
869
|
finalDeliveryStarted = true;
|
|
802
870
|
await sendTelegramMarkdown(ctx.api, chat.id, collectedText, replyOptsOf(ctx));
|
|
871
|
+
// The text is what the user was waiting for. Image relay is
|
|
872
|
+
// fire-and-forget below, so it cannot hold the outcome open.
|
|
873
|
+
ackOutcome = 'success';
|
|
803
874
|
log.info(`[tg:out] ${chat.id}: ${redactOutboundText(collectedText).slice(0, 80)}`);
|
|
804
875
|
void relayTelegramImages(bot, chat.id, collectedText, responseTarget).catch(() => { });
|
|
805
876
|
void sendElicitationKeyboards(chat.id, doneData["elicitationSpecs"]).catch(() => { });
|
|
@@ -820,12 +891,19 @@ async function _initTelegramInner() {
|
|
|
820
891
|
if (finalDeliveryStarted)
|
|
821
892
|
telegramFinalDeliveryFailures.add(ctx.update.update_id);
|
|
822
893
|
}
|
|
894
|
+
finally {
|
|
895
|
+
// Exactly one settle per turn, whichever way the body exited.
|
|
896
|
+
await ackHandle?.settle(ackOutcome);
|
|
897
|
+
}
|
|
823
898
|
}
|
|
824
899
|
bot.on('message:text', async (ctx) => {
|
|
825
900
|
if (!ctx.chat)
|
|
826
901
|
return;
|
|
827
902
|
markChatActive(ctx.chat.id, ctx);
|
|
828
903
|
let text = ctx.message.text;
|
|
904
|
+
// Captured BEFORE the mention is stripped below — afterwards there is
|
|
905
|
+
// nothing left to detect, and the ACK scope gate needs to know.
|
|
906
|
+
const isMention = !!botUsername && text.includes(`@${botUsername}`);
|
|
829
907
|
if (botUsername) {
|
|
830
908
|
text = text.replace(new RegExp(`@${escapeRegExp(botUsername)}\\b`, 'g'), '').trim();
|
|
831
909
|
}
|
|
@@ -890,7 +968,7 @@ async function _initTelegramInner() {
|
|
|
890
968
|
}
|
|
891
969
|
return;
|
|
892
970
|
}
|
|
893
|
-
await tgOrchestrate(ctx, text, text);
|
|
971
|
+
await tgOrchestrate(ctx, text, text, { anchorId: ctx.message.message_id, isMention });
|
|
894
972
|
});
|
|
895
973
|
bot.on('message:photo', async (ctx) => {
|
|
896
974
|
const photos = ctx.message.photo;
|
|
@@ -905,7 +983,7 @@ async function _initTelegramInner() {
|
|
|
905
983
|
}));
|
|
906
984
|
const filePath = saveUpload(dlResult["buffer"], `photo${dlResult["ext"]}`);
|
|
907
985
|
const prompt = buildMediaPrompt(filePath, caption);
|
|
908
|
-
await tgOrchestrate(ctx, prompt, `${t('tg.imageCaption', { caption }, currentLocale())}
|
|
986
|
+
await tgOrchestrate(ctx, prompt, `${t('tg.imageCaption', { caption }, currentLocale())}`, { anchorId: ctx.message.message_id });
|
|
909
987
|
}
|
|
910
988
|
catch (err) {
|
|
911
989
|
log.error('[tg:photo:error]', logErrorText(err));
|
|
@@ -924,14 +1002,18 @@ async function _initTelegramInner() {
|
|
|
924
1002
|
}));
|
|
925
1003
|
const filePath = saveUpload(dlResult["buffer"], doc.file_name || 'document');
|
|
926
1004
|
const prompt = buildMediaPrompt(filePath, caption);
|
|
927
|
-
await tgOrchestrate(ctx, prompt, `[📎 ${doc.file_name || 'file'}] ${caption}
|
|
1005
|
+
await tgOrchestrate(ctx, prompt, `[📎 ${doc.file_name || 'file'}] ${caption}`, { anchorId: ctx.message.message_id });
|
|
928
1006
|
}
|
|
929
1007
|
catch (err) {
|
|
930
1008
|
log.error('[tg:doc:error]', logErrorText(err));
|
|
931
1009
|
await ctx.reply(t('tg.fileFail', { msg: userErrorText(err) }, currentLocale()));
|
|
932
1010
|
}
|
|
933
1011
|
});
|
|
934
|
-
bot.on('message:voice', async (ctx) => {
|
|
1012
|
+
bot.on('message:voice', async (ctx) => {
|
|
1013
|
+
// handleVoice's callback contract is three parameters, so the anchor is
|
|
1014
|
+
// injected here rather than widening that module's signature.
|
|
1015
|
+
await handleVoice(ctx, currentLocale, (c, prompt, display) => tgOrchestrate(c, prompt, display, { anchorId: ctx.message?.message_id }));
|
|
1016
|
+
});
|
|
935
1017
|
// Identity first: the self-echo guard needs it, and the refusal below has
|
|
936
1018
|
// to happen BEFORE anything is attached. Returning after attaching left the
|
|
937
1019
|
// forwarder wired to a bot that never starts, still trying to send.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bot.js","sourceRoot":"","sources":["../../../src/telegram/bot.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bot.js","sourceRoot":"","sources":["../../../src/telegram/bot.ts"],"names":[],"mappings":"AAAA,wDAAwD;AAExD,OAAO,SAA+B,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,GAAG,EAAgB,MAAM,QAAQ,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EACH,UAAU,EAAE,gBAAgB,EAC5B,kBAAkB,GACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kCAAkC,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACrH,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAClH,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AAC/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EACH,mBAAmB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,mBAAmB,EAChF,mBAAmB,EAAE,gBAAgB,GACxC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACH,YAAY,EAAE,iBAAiB,EAAE,aAAa,GACjD,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,4BAA4B,EAAE,MAAM,oCAAoC,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAE3E,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAGhF,OAAO,EACH,YAAY,EACZ,wBAAwB,EACxB,uBAAuB,EACvB,mBAAmB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAqB,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AACnC,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAEtF,OAAO,EACH,YAAY,EACZ,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,uBAAuB,GAC1B,MAAM,gBAAgB,CAAC;AAExB,qDAAqD;AACrD,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAC9F,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EACH,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,qBAAqB,GAExB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,EACH,0BAA0B,EAC1B,6BAA6B,EAC7B,4BAA4B,GAC/B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,CAAC;AACjC,OAAO,EACH,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,GAC5B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAChH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,2BAA2B,EAAkC,MAAM,sCAAsC,CAAC;AAClK,OAAO,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AAElF,wDAAwD;AAExD,MAAM,CAAC,IAAI,WAAW,GAAe,IAAI,CAAC;AAC1C,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;AACvD,IAAI,YAAY,GAAyC,IAAI,CAAC;AAC9D,IAAI,UAAU,GAAG,KAAK,CAAC;AACvB,IAAI,eAAe,GAAG,CAAC,CAAC;AACxB,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,IAAI,WAAW,GAAkB,IAAI,CAAC;AACtC,IAAI,cAAc,GAAiC,IAAI,CAAC;AACxD,MAAM,6BAA6B,GAAG,IAAI,GAAG,EAAU,CAAC;AACxD;;;;;GAKG;AACH,IAAI,SAAS,GAAkB,IAAI,CAAC;AACpC,MAAM,UAAU,2BAA2B,CAAC,KAAoB,IAAU,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;AAC9F,IAAI,uBAAuB,GAAqC,IAAI,CAAC;AACrE,SAAS,4BAA4B;IACjC,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAmB,EAAE,CAAC,CAAC;IACnE,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACvC,OAAO,SAAS,CAAC;AACrB,CAAC;AACD,MAAM,UAAU,oBAAoB,CAAC,MAA+B,EAAE,SAAS,GAAG,uBAAuB;IACrG,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAA8E,CAAC;IAC/G,MAAM,IAAI,GAAG,OAAO,OAAO,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACnE,MAAM,SAAS,GAAG,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,EAAE;QAC9C,GAAG,MAAM;QACT,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;KACzH,EAAE,IAAI,CAAC,CAAC;IACT,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,KAK1B;IACG,+BAA+B;IAC/B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAC5G,uEAAuE;IACvE,IAAI,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IACjD,OAAO,KAAK,CAAC;AACjB,CAAC;AACD,MAAM,qBAAqB,GAAG,IAAI,yBAAyB,CAAC,EAAE,CAAC,CAAC;AAChE,IAAI,6BAA6B,GAAG,KAAK,CAAC;AAC1C,MAAM,0BAA0B,GAAG,wBAAwB,CAAC;IACxD,WAAW,EAAE,oBAAoB;IACjC,cAAc,EAAE,uBAAuB;IACvC,cAAc,EAAE,CAAC,EAAE,GAAG,EAA2B,EAAE,EAAE,CAAC,uBAAuB,CAAC;QAC1E,GAAG,EAAE,GAAU;QACf,aAAa,EAAE,GAAG,EAAE;YAChB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YAClD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,CAAC;QACD,aAAa,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,UAAU,CAAC;QACpD,UAAU,EAAE,CAAC,IAA6B,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE,mCAAmC;QACjH,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAgD,EAAE,EAAE;YACvE,GAAG,CAAC,IAAI,CAAC,uBAAuB,MAAM,KAAK,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAClF,CAAC;KACJ,CAAC;CACL,CAAC,CAAC;AAGH,SAAS,aAAa;IAClB,OAAO,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,cAAc,CAAC,MAAc,EAAE,GAAa;IACjD,kFAAkF;IAClF,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,sEAAsE;IACtE,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,IAAI,EAAE,CAAC;IAC3D,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,UAAU,CAAC,CAAC,cAAc,GAAG,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC;QAC3D,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACrF,CAAC;IACD,mCAAmC;IACnC,IAAI,GAAG,EAAE,CAAC;QACN,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QACxC,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACxC,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;AACL,CAAC;AAED,SAAS,uBAAuB;IAC5B,0BAA0B,CAAC,MAAM,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAQ;IACrC,0BAA0B,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,mCAAmC;IACxC,IAAI,6BAA6B;QAAE,OAAO;IAC1C,6BAA6B,GAAG,IAAI,CAAC;IACrC,oBAAoB,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;QAChC,IAAI,IAAI,KAAK,kBAAkB,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI;YAAE,OAAO;QAC5G,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YAAE,OAAO;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAA6B,CAAC;QAC1D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,UAAU;YAAE,OAAO;QACrD,KAAK,iBAAiB,CAAC;YACnB,OAAO,EAAE,UAAU;YACnB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1B,MAAM;SACT,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,YAAY,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC;YAC5F,wDAAwD;YACxD,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACvC,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC9E,KAAK,MAAM,EAAE,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;oBAC/B,KAAK,iBAAiB,CAAC;wBACnB,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU;wBACrC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,YAAY,EAAE,MAAM;qBACvD,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBACvB,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,GAAG,CAAC,KAAK,CAAC,mBAAmB,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,MAAM,sBAAsB,GAAG,IAAI,mBAAmB,EAAE,CAAC;AACzD,iFAAiF;AACjF,MAAM,wBAAwB,GAAG,4BAA4B,GAAG,CAAC,GAAG,IAAI,CAAC;AAEzE;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,sBAAsB,CAAC,MAAwC;IAC1E,MAAM,QAAQ,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;QACjD,GAAG,CAAC,IAAI,CAAC,wBAAwB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IACH,MAAM,sBAAsB,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC7D,MAAM,QAAQ,CAAC;AACnB,CAAC;AAED,uDAAuD;AAEvD,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAClC,IAAI,YAAY,EAAE,CAAC;QAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAAC,YAAY,GAAG,IAAI,CAAC;IAAC,CAAC;IACtE,uBAAuB,EAAE,CAAC;IAC1B,MAAM,SAAS,GAAG,cAAc,CAAC;IACjC,cAAc,GAAG,IAAI,CAAC;IACtB,MAAM,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,CAAC,WAAW;QAAE,OAAO;IACzB,MAAM,GAAG,GAAG,WAAW,CAAC;IACxB,WAAW,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC;QAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAAC,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QAC1C,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAA2B,IAAI,IAAI,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,oBAAoB;IAChC,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,MAAM;QAC9C,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC;QAC1C,CAAC,CAAE,CAAC,GAAG,qBAAqB,CAA4B,CAAC;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAClC,MAAc,EACd,IAAY,EACZ,KAAyE;IAEzE,MAAM,GAAG,GAAG,sBAAsB,EAAE,CAAC;IACrC,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,KAAK,EAAE,YAAY,CAAC;IACnC,OAAO,GAAG,CAAC,GAAG,CAAC,WAAW,CACtB,MAAM,EACN,kBAAkB,CAAC,IAAI,CAAC,EACxB,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CACvE,CAAC;AACN,CAAC;AAMD,IAAI,mBAAmB,GAAe,IAAI,CAAC;AAC3C,IAAI,qBAAqB,GAAkB,IAAI,CAAC;AAEhD,MAAM,UAAU,4BAA4B;IACxC,mBAAmB,GAAG,IAAI,CAAC;IAC3B,qBAAqB,GAAG,IAAI,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,qBAAqB;IACjC,MAAM,EAAE,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IACtE,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,wBAAwB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAC3E,CAAC;IACD,IAAI,mBAAmB,IAAI,qBAAqB,KAAK,KAAK,EAAE,CAAC;QACzD,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC3C,CAAC;IACD,mBAAmB,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,qBAAqB,GAAG,KAAK,CAAC;IAC9B,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;AAC3C,CAAC;AAED,SAAS,sBAAsB;IAC3B,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,OAAO,qBAAqB,EAAE,CAAC,MAAM,CAAC;AAC1C,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAY;IACrC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;IAChC,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,YAAY,CAAC;IAClE,MAAM,eAAe,GAAG,GAAG,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1F,OAAO,cAAc,CAAC;QAClB,OAAO,EAAE,UAAU;QACnB,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;QACtC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;QACpC,QAAQ,EAAE,eAAe,KAAK,SAAS,IAAI,eAAe,GAAG,CAAC;YAC1D,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC;YACzB,CAAC,CAAC,SAAS;KAClB,CAAC,CAAC;AACP,CAAC;AAED;;;;;GAKG;AACH,SAAS,sBAAsB,CAAC,MAA+B;IAC3D,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC;WACjF,MAAM,CAAC,qBAAqB,CAAC,CAAwC,CAAC;IAC7E,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAwC,CAAC;IACjF,MAAM,OAAO,GAAG,OAAO,IAAK,QAAQ,EAAE,CAAC,SAAS,CAAyC,CAAC;IAC1F,MAAM,IAAI,GAAG,OAAO,EAAE,CAAC,MAAM,CAAwC,CAAC;IACtE,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAwC,CAAC;IAC9F,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAErD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,YAAY,CAAC;IAClE,MAAM,cAAc,GAAG,OAAO,EAAE,CAAC,kBAAkB,CAAC,KAAK,IAAI,CAAC;IAC9D,MAAM,QAAQ,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC/E,MAAM,MAAM,GAAiB,cAAc,CAAC;QACxC,OAAO,EAAE,UAAU;QACnB,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;QACtC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS;KACrF,CAAiB,CAAC;IAEnB,OAAO,uBAAuB,CAAC;QAC3B,SAAS;QACT,QAAQ,EAAE,MAAM,CAAC,WAAW,CAAW;QACvC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAW;QAC5B,MAAM,EAAE,IAAI,CAAC,IAAI,CAAW;QAC5B,cAAc;QACd,eAAe,EAAE,OAAO,EAAE,CAAC,mBAAmB,CAAuB;QACrE,MAAM;KACT,CAAC,CAAC;AACP,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,MAA+B;IACxD,MAAM,OAAO,GAAG,iBAAiB,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,qBAAqB,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,4BAA4B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnJ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACnB,GAAG,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,mCAAmC,CAAC,CAAC;IACpG,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;yDACyD;AACzD,SAAS,qBAAqB,CAAC,MAA+B;IAC1D,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,GAAuB;IACtD,yFAAyF;IACzF,4FAA4F;IAC5F,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IACpC,IAAI,GAAG,EAAE,IAAI,KAAK,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC;QAC3F,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACpD,IAAI,CAAC;YACD,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,sCAAsC,EAAE;gBACjE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;oBAChC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ;oBAC1D,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY;iBAC/G,CAAC,CAAC;gBACH,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;aACtC,CAAC,CAAC;YACH,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAA4B,CAAC;YACxE,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,qBAAqB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAC/I,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAG,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACnE,CAAC;IACL,CAAC;IAED,MAAM,GAAG,GAAG,sBAAsB,EAAE,CAAC;IACrC,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAC;QACrC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,yBAAyB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;IACtG,CAAC;IAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,IAAI,uBAAuB,EAAE,CAAC;IAC/E,IAAI,CAAC,MAAM;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,8BAA8B,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;IAEtF,4EAA4E;IAC5E,sFAAsF;IACtF,6EAA6E;IAC7E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;IACzE,MAAM,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEnD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;QACxD,gFAAgF;QAChF,uEAAuE;QACvE,MAAM,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;QAC1G,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IACvD,CAAC;IAED,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,kDAAkD,EAAE,CAAC;QAChH,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAClC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;YACvE,iBAAiB,EAAE,eAAe;YAClC,YAAY,EAAE,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAmD;SAC1G,CAAC,CAAC,EACH,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,4BAA4B,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CACrE,CAAC;QACF,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;QAC/D,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC3D,CAAC;IAED,aAAa;IACb,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC;IACpF,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAClF,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;IAC5I,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,yCAAyC;AACzC,iBAAiB,CAAC,UAAU,EAAE;IAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE;IAC1B,QAAQ,EAAE,gBAAgB;CAC7B,CAAC,CAAC;AACH,qBAAqB,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;AACvD,mCAAmC,EAAE,CAAC;AAEtC,SAAS,4BAA4B,CAAC,IAAY;IAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;AACjE,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,oBAAoB,CAAC,GAAQ;IAClC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,uBAAuB,EAAE;SACjC,GAAG,CAAC,CAAC,CAAwE,EAAE,EAAE,CAAC,CAAC;QAChF,OAAO,EAAE,CAAC,CAAC,IAAI;QACf,WAAW,EAAE,4BAA4B,CACrC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CACrG;KACJ,CAAC,CAAC,CAAC;IACR,uDAAuD;IACvD,4EAA4E;IAC5E,OAAO,OAAO,CAAC,GAAG,CAAC;QACf,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,MAAqB,EAAE,CAAC;KACxE,CAAC,CAAC;AACP,CAAC;AAED,SAAS,sBAAsB;IAC3B,OAAO,cAAc,CAAC,UAAU,EAAE,aAAa,EAAE,EAAE;QAC/C,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YAC3B,8BAA8B,EAAE,CAAC;YACjC,OAAO,yBAAyB,CAAC,KAAK,EAAE;gBACpC,kBAAkB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC;aACrD,CAAC,CAAC;QACP,CAAC;QACD,YAAY,EAAE,GAAG,EAAE;YACf,kCAAkC,EAAE,CAAC;YACrC,qBAAqB,EAAE,CAAC;QAC5B,CAAC;QACD,YAAY,EAAE,GAAG,EAAE;YACf,kCAAkC,EAAE,CAAC;YACrC,6BAA6B,EAAE,CAAC;QACpC,CAAC;QACD,cAAc,EAAE,GAAG,EAAE,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACzE,qBAAqB,EAAE,GAAG,EAAE,CAAC,qBAAqB,EAAE;KACvD,CAAC,CAAC;AACP,CAAC;AAED,wDAAwD;AAExD,MAAM,CAAC,KAAK,UAAU,YAAY;IAC9B,IAAI,UAAU,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAC5D,OAAO,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IACD,UAAU,GAAG,IAAI,CAAC;IAClB,IAAI,CAAC;QAAC,OAAO,MAAM,kBAAkB,EAAE,CAAC;IAAC,CAAC;YAAS,CAAC;QAAC,UAAU,GAAG,KAAK,CAAC;IAAC,CAAC;AAC9E,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC7B,yEAAyE;IACzE,IAAI,YAAY,EAAE,CAAC;QAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QAAC,YAAY,GAAG,IAAI,CAAC;IAAC,CAAC;IAEtE,uBAAuB,EAAE,CAAC;IAC1B,IAAI,WAAW,EAAE,CAAC;QACd,MAAM,GAAG,GAAG,WAAW,CAAC;QACxB,WAAW,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC;YACD,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QACrB,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YAClB,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IACD,MAAM,YAAY,GAAG,cAAc,CAAC;IACpC,cAAc,GAAG,IAAI,CAAC;IACtB,yEAAyE;IACzE,6CAA6C;IAC7C,MAAM,sBAAsB,CAAC,YAAY,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC/C,IAAI,QAAQ;QAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,GAAG,QAAQ,CAAC;IAEpD,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IAC5D,IAAI,UAAU,EAAE,CAAC;QACb,QAAQ,CAAC,UAAU,CAAC,CAAC,cAAc,GAAG,UAAU;aAC3C,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;aAClC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC;QACjE,GAAG,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAC7D,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED,+DAA+D;IAC/D,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;QAC9C,KAAK,MAAM,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,cAAc;YAAE,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpF,GAAG,CAAC,IAAI,CAAC,mBAAmB,QAAQ,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,MAAM,8BAA8B,CAAC,CAAC;IAC1G,CAAC;IAED,2EAA2E;IAC3E,sEAAsE;IACtE,MAAM,SAAS,GAAG,eAAe,CAAC;QAC9B,cAAc,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,IAAmB,CAAqB;QACtF,eAAe,EAAE,0BAA0B;KAC9C,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE;QAC5C,MAAM,EAAE,EAAE,KAAK,EAAE,SAAkB,EAAE;KACxC,CAAC,CAAC;IACH,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAC/D,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;IAEnE,oEAAoE;IACpE,EAAE;IACF,yEAAyE;IACzE,uEAAuE;IACvE,2EAA2E;IAC3E,iEAAiE;IACjE,EAAE;IACF,0EAA0E;IAC1E,kDAAkD;IAClD,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,IAAI,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;YAAE,OAAO;QACzH,MAAM,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,sEAAsE;QACtE,GAAG,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,IAAI,EAAE,EAAE,SAAS,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9G,MAAM,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC;QACpD,IAAI,OAAO,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAChD,OAAO;QACX,CAAC;QACD,MAAM,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACxB,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;YAC7C,MAAM,IAAI,EAAE,CAAC;YACb,OAAO;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;QAChC,IAAI,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YACpD,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;YAC7D,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,WAAW,EAAE,CAAC,EAAE,CAAC;gBACpD,OAAO;YACX,CAAC;QACL,CAAC;QACD,MAAM,IAAI,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;IACjF,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,kBAAkB,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAE7G,wEAAwE;IACxE,GAAG,CAAC,aAAa,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7C,MAAM,GAAG,CAAC,mBAAmB,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC;QAC1C,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM;YAAE,OAAO;QAC/B,MAAM,MAAM,GAAG,sBAAsB,CACjC,uBAAuB,EACvB,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAC/B,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,MAAM,EACb,EAAE,eAAe,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC,EAAE,CACpD,CAAC;QACF,MAAM,GAAG,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7F,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC,CAAC;QAC3E,MAAM,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;YAAC,MAAM,GAAG,CAAC,mBAAmB,EAAE,CAAC;YAAC,OAAO;QAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACzF,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,GAAG,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,uBAAuB,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,OAAO;QACX,CAAC;QACD,MAAM,GAAG,CAAC,mBAAmB,CAAC,EAAE,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxE,mFAAmF;QACnF,MAAM,GAAG,CAAC,sBAAsB,CAAC,EAAE,YAAY,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7F,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;QAC3E,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,UAAU,aAAa,CACxB,GAAY,EACZ,MAAc,EACd,UAAkB,EAClB,WAAuD,EAAE;QAEzD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAO;QACtB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,UAAmB,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACtK,iEAAiE;QACjE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;QACnC,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,qBAAqB,CAAC,CAAC;QACrF,MAAM,SAAS,GAAqB,QAAQ,KAAK,SAAS,IAAI,SAAS,CAAC,SAAS,EAAE;YAC/E,QAAQ,EAAE,IAAI,CAAC,IAAI,KAAK,SAAS;YACjC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,KAAK;SACzC,CAAC;YACE,CAAC,CAAC,eAAe,CACb,SAAS,EACT,0BAA0B,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,EACtD,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAC/C;YACD,CAAC,CAAC,IAAI,CAAC;QACX,4FAA4F;QAC5F,6EAA6E;QAC7E,MAAM,WAAW,GAAG,CAAC,CAAU,EAAgB,EAAE,CAAC,cAAc,CAAC;YAC7D,sBAAsB,EAAE,CAAC,CAAC,oBAAoB;YAC9C,iBAAiB,EAAE,CAAC,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS;YAChF,wBAAwB,EAAE,CAAC,CAAC,GAAG,EAAE,qBAAqB,EAAE,QAAQ;SACnE,CAAC,CAAC;QACH,4EAA4E;QAC5E,wEAAwE;QACxE,MAAM,wBAAwB,GAAG,KAAK,EAAE,YAA6B,EAAE,KAAc,EAAE,EAAE;YACrF,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG;gBAAE,OAAO;YAC5C,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,GAAG,CAAC,CAAC;YACrE,KAAK,MAAM,EAAE,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;gBAC/B,MAAM,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,YAAY,EAAE,qBAAqB,CAAC,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;qBAC9I,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YAC1B,CAAC;QACL,CAAC,CAAC;QAEF,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,kCAAkC,MAAM,CAAC,OAAO,WAAW,CAAC,CAAC;YACtE,qDAAqD;YACrD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YACnC,MAAM,MAAM,GAAG,iBAAiB,CAAC;gBAC7B,WAAW,EAAE,CAAC,CAAC,iBAAiB,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC;gBACtD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;aACjE,CAAC,CAAC;YACH,qEAAqE;YACrE,EAAE;YACF,uEAAuE;YACvE,sEAAsE;YACtE,gEAAgE;YAChE,gEAAgE;YAChE,IAAI,QAAQ,GAAyB,IAAI,CAAC;YAC1C,MAAM,aAAa,GAAG,CAAC,GAAwB,EAAiB,EAAE;gBAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACZ,QAAQ,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACzE,CAAC;gBACD,OAAO,QAAQ,CAAC;YACpB,CAAC,CAAC;YACF,MAAM,oBAAoB,GAA2C,EAAE,CAAC;YACxE,IAAI,UAAU,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3B,MAAM,aAAa,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACxD,IAAI,KAAoC,CAAC;gBACzC,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,MAAM,OAAO,GAAG,GAAG,EAAE;oBACjB,YAAY,CAAC,KAAK,CAAC,CAAC;oBACpB,uBAAuB,CAAC,YAAY,CAAC,CAAC;gBAC1C,CAAC,CAAC;gBACF,0DAA0D;gBAC1D,MAAM,MAAM,GAAG,CAAC,MAAe,EAAE,MAAoB,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,IAAI,EAAE;oBAC/E,IAAI,OAAO;wBAAE,OAAO;oBACpB,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,EAAE,CAAC;oBACV,gEAAgE;oBAChE,gEAAgE;oBAChE,kBAAkB;oBAClB,MAAM,OAAO,CAAC,UAAU,CAAC;wBACrB,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC;wBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;qBACpD,CAAC,CAAC;oBACH,UAAU,EAAE,CAAC;oBACb,MAAM,CAAC,MAAM,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC;gBACH,oBAAoB,CAAC,MAAM,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnE,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,IAA6B,EAAE,EAAE;oBACjE,IAAI,IAAI,KAAK,kBAAkB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,SAAS;wBAAE,OAAO;oBAC7H,IAAI,OAAO;wBAAE,OAAO;oBACpB,OAAO,GAAG,IAAI,CAAC;oBACf,OAAO,EAAE,CAAC;oBACV,KAAK,aAAa,CAAC,KAAK,IAAI,EAAE;wBAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;wBAClC,IAAI,CAAC;4BACD,MAAM,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;wBACzE,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACb,wDAAwD;4BACxD,2CAA2C;4BAC3C,MAAM,OAAO,CAAC,UAAU,CAAC;gCACrB,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;gCACvB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;6BACpD,CAAC,CAAC;4BACH,UAAU,EAAE,CAAC;4BACb,MAAM,CAAC,KAAK,CAAC,CAAC;4BACd,OAAO;wBACX,CAAC;wBACD,oCAAoC;wBACpC,MAAM,OAAO,CAAC,UAAU,CAAC;4BACrB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;4BACxB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;yBACpD,CAAC,CAAC;wBACH,UAAU,EAAE,CAAC;wBACb,OAAO,EAAE,CAAC;wBACV,KAAK,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;wBAC9E,KAAK,wBAAwB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;oBACtF,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC;gBACF,2DAA2D;gBAC3D,mEAAmE;gBACnE,iEAAiE;gBACjE,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBACpB,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;gBAC9D,CAAC,EAAE,MAAM,CAAC,CAAC;gBACX,oBAAoB,CAAC,YAAY,CAAC,CAAC;gBACnC,UAAU,GAAG,sBAAsB,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAC/C,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;YACH,KAAK,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACpC,uEAAuE;YACvE,uCAAuC;YACvC,KAAK,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;gBAC3F,mEAAmE;gBACnE,2BAA2B;gBAC3B,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;gBAChF,MAAM,aAAa,CAAC;YACxB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,iEAAiE;gBACjE,oEAAoE;gBACpE,kCAAkC;gBAClC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,oBAAoB,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC;gBACrC,MAAM,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBACrC,6BAA6B,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACxD,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,OAAO;QACX,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YAC/B,MAAM,GAAG,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACtC,OAAO;QACX,CAAC;QAED,4CAA4C;QAC5C,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC;QACzC,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAE7B,MAAM,GAAG,CAAC,mBAAmB,CAAC,QAAQ,CAAC;aAClC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;aAC1C,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;YACpC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,CAAC;iBAC5B,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;iBAC7C,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,MAAM,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,EAAE,WAAW,KAAK,KAAK,CAAC;QAC9D,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,IAAI,sBAAsB,GAAkC,IAAI,CAAC;QACjE,IAAI,iBAAiB,GAAyC,IAAI,CAAC;QACnE,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACpD,IAAI,SAAS,GAAa,EAAE,CAAC;QAE7B,MAAM,iBAAiB,GAAG,KAAK,IAAI,EAAE;YACjC,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO;gBAAE,OAAO;YAErB,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBAC1B,sBAAsB,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;yBAClE,IAAI,CAAC,CAAC,CAAyB,EAAE,EAAE;wBAChC,WAAW,GAAG,CAAC,CAAC,UAAU,CAAC;wBAC3B,OAAO,WAAW,CAAC;oBACvB,CAAC,CAAC;yBACD,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;yBACjB,OAAO,CAAC,GAAG,EAAE;wBACV,sBAAsB,GAAG,IAAI,CAAC;oBAClC,CAAC,CAAC,CAAC;gBACX,CAAC;gBACD,MAAM,sBAAsB,CAAC;gBAC7B,OAAO;YACX,CAAC;YAED,MAAM,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;iBACnF,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1B,CAAC,CAAC;QAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;YAC9B,IAAI,iBAAiB;gBAAE,OAAO;YAC9B,iBAAiB,GAAG,UAAU,CAAC,KAAK,IAAI,EAAE;gBACtC,iBAAiB,GAAG,IAAI,CAAC;gBACzB,IAAI,mBAAmB;oBAAE,OAAO;gBAChC,mBAAmB,GAAG,IAAI,CAAC;gBAC3B,IAAI,CAAC;oBACD,MAAM,iBAAiB,EAAE,CAAC;gBAC9B,CAAC;wBAAS,CAAC;oBACP,mBAAmB,GAAG,KAAK,CAAC;oBAC5B,2DAA2D;oBAC3D,IAAI,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB;wBAAE,oBAAoB,EAAE,CAAC;gBACtF,CAAC;YACL,CAAC,EAAE,GAAG,CAAC,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,EAAE;YAClC,IAAI,CAAC,IAAI;gBAAE,OAAO;YAClB,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI;gBAAE,OAAO;YACrD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE;gBAAE,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5D,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACvD,oBAAoB,EAAE,CAAC;QAC3B,CAAC,CAAC;QAEF,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAY,EAAE,IAAyB,EAAE,EAAE;YACxE,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBACzB,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,CAAC;gBAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC/E,YAAY,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,WAAW,GAAG,UAAU,EAAE,CAAC,CAAC;YAC/E,CAAC;iBAAM,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACnC,YAAY,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBAChC,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;YAC3E,CAAC;iBAAM,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChE,wFAAwF;gBACxF,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI;oBAAE,OAAO;gBAClC,YAAY,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACJ,OAAO;YACX,CAAC;QACL,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAET,IAAI,WAAW;YAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;QAEnD,IAAI,oBAAoB,GAAG,KAAK,CAAC;QACjC,wEAAwE;QACxE,uEAAuE;QACvE,mCAAmC;QACnC,IAAI,UAAU,GAA0B,SAAS,CAAC;QAClD,KAAK,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,yBAAyB,CAAC,MAAM,EAAE,cAAc,CAAC;gBACnG,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,IAAI;gBAClF,MAAM,EAAE,cAAc;gBACtB,KAAK,EAAE,MAAM,CAAC,cAAc,EAAE,KAAK;gBACnC,aAAa,EAAE,MAAM,CAAC,cAAc,EAAE,aAAa;gBACnD,SAAS,EAAE,MAAM,CAAC,cAAc,EAAE,SAAS;aAC9C,CAAC,CAAC,CAAC;YACJ,aAAa,CAAC,cAAc,CAAC,CAAC;YAC9B,IAAI,iBAAiB,EAAE,CAAC;gBACpB,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBAChC,iBAAiB,GAAG,IAAI,CAAC;YAC7B,CAAC;YACD,IAAI,WAAW;gBAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,WAAW,EAAE,CAAC;gBACd,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,oBAAoB,GAAG,IAAI,CAAC;YAC5B,MAAM,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9E,4DAA4D;YAC5D,6DAA6D;YAC7D,UAAU,GAAG,SAAS,CAAC;YACvB,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE,KAAK,kBAAkB,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACnF,KAAK,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACvF,KAAK,wBAAwB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1F,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,aAAa,CAAC,cAAc,CAAC,CAAC;YAC9B,IAAI,iBAAiB,EAAE,CAAC;gBACpB,YAAY,CAAC,iBAAiB,CAAC,CAAC;gBAChC,iBAAiB,GAAG,IAAI,CAAC;YAC7B,CAAC;YACD,IAAI,WAAW;gBAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;YACtD,IAAI,WAAW,EAAE,CAAC;gBACd,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3C,MAAM,GAAG,CAAC,KAAK,CAAC,YAAY,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAClD,IAAI,oBAAoB;gBAAE,6BAA6B,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACtF,CAAC;gBAAS,CAAC;YACP,8DAA8D;YAC9D,MAAM,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACjC,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAO;QACtB,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACjC,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAC5B,sEAAsE;QACtE,gEAAgE;QAChE,MAAM,SAAS,GAAG,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC;QACpE,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,YAAY,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACxF,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACpB,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YAC1F,IAAI,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,yBAAyB,CAAC,OAAO,EAAE;oBAC5C,OAAO,EAAE,UAAU;oBACnB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,eAAe,EAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,aAAa,EAAE,oBAAoB,EAAE;iBACxC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;oBACX,MAAM,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC/C,OAAO;gBACX,CAAC;YACL,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC;YAEtE,mEAAmE;YACnE,6DAA6D;YAC7D,mEAAmE;YACnE,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;gBACtB,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBACvC,MAAM,GAAG,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC;gBACzD,IAAI,CAAC;oBACD,MAAM,aAAa,CAAC,GAAG,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;gBACvD,CAAC;gBAAC,OAAO,GAAY,EAAE,CAAC;oBACpB,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;oBAC3C,MAAM,GAAG,CAAC,KAAK,CAAC,mBAAmB,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC3F,CAAC;gBACD,OAAO;YACX,CAAC;YAED,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;gBACf,MAAM,GAAG,GAAG,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpD,IAAI,CAAC;oBACD,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;gBAAC,MAAM,CAAC;oBACL,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;gBACxC,CAAC;YACL,CAAC;YACD,OAAO;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,kBAAkB,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QAE9E,2EAA2E;QAC3E,yEAAyE;QACzE,yBAAyB,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/C,0DAA0D;QAC1D,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACzF,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC/B,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACJ,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO;QACX,CAAC;QACD,MAAM,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1F,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAClC,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;QACjC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1C,GAAG,CAAC,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,EAAE,EAAE,YAAY,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;QACtI,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC;gBACpG,IAAI,EAAE,OAAO;gBACb,QAAQ,EAAE,wBAAwB,CAAC,KAAK;gBACxC,QAAQ,EAAE,OAAO,CAAC,SAAS;aAC9B,CAAC,CAA4B,CAAC;YAC/B,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAW,EAAE,QAAQ,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACrF,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACpI,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,GAAG,CAAC,KAAK,CAAC,kBAAkB,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YACjD,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QACrF,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACrC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC;QACjC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1C,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,SAAS,CAAC,CAAC;QAChF,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC;gBAChG,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,wBAAwB,CAAC,QAAQ;gBAC3C,QAAQ,EAAE,GAAG,CAAC,SAAS;aAC1B,CAAC,CAAwB,CAAC;YAC3B,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC;YAC7E,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACnD,MAAM,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAG,CAAC,SAAS,IAAI,MAAM,KAAK,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACzH,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACpB,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC;QACpF,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAClC,wEAAwE;QACxE,8DAA8D;QAC9D,MAAM,WAAW,CAAC,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CACzD,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC,CAAC,CAAC;IAEH,0EAA0E;IAC1E,4EAA4E;IAC5E,oEAAoE;IACpE,EAAE;IACF,sEAAsE;IACtE,6DAA6D;IAC7D,WAAW,GAAG,IAAI,CAAC;IACnB,SAAS,GAAG,IAAI,CAAC;IACjB,IAAI,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QACjC,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;QACjB,WAAW,GAAG,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC;QAClC,SAAS,GAAG,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACpB,GAAG,CAAC,IAAI,CAAC,yCAAyC,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,0EAA0E;IAC1E,2CAA2C;IAC3C,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACrB,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,wEAAwE,CAAC,CAAC,CAAC;QAClG,OAAO,mBAAmB,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;IACxE,CAAC;IAED,+DAA+D;IAC/D,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,KAAK,KAAK,EAAE,CAAC;QAC7C,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,oBAAoB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACvC,GAAG,CAAC,IAAI,CAAC,qCAAqC,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC;QACrC,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC;QACtB,KAAK,EAAE,qBAAqB;QAC5B,gCAAgC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/C,wEAAwE;YACxE,wEAAwE;YACxE,0EAA0E;YAC1E,mDAAmD;YACnD,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAA4C,CAAC,CAAC;YACpF,IAAI,CAAC,SAAS,CAAC,KAAK;gBAAE,OAAO;YAC7B,IAAI,CAAC;gBACD,IAAI,CAAC,oBAAoB,CAAC,MAA4C,EAAE,uBAAuB,CAAC,EAAE,CAAC;oBAC/F,MAAM,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;oBAC/B,IAAI,6BAA6B,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;wBACtD,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBACtD,CAAC;gBACL,CAAC;gBACD,aAAa,CAAC,iBAAiB,EAAE,EAAE,SAAS,CAAC,CAAC;YAClD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,aAAa,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;gBACrD,MAAM,KAAK,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACP,6BAA6B,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC3D,CAAC;QACL,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACd,eAAe,GAAG,CAAC,CAAC;YACpB,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,4BAA4B,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACtH,GAAG,CAAC,IAAI,CAAC,WAAW,WAAW,IAAI,SAAS,qCAAqC,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,CAAC,CAAC;QAClH,CAAC;KACJ,CAAC,CAAC;IACH,cAAc,GAAG,MAAM,CAAC;IACxB,uBAAuB,GAAG,4BAA4B,EAAE,CAAC;IACzD,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QAClC,MAAM,aAAa,GAAG,GAAgD,CAAC;QACvE,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,KAAK,GAAG,IAAI,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACzF,IAAI,KAAK,EAAE,CAAC;YACR,eAAe,EAAE,CAAC;YAClB,IAAI,eAAe,GAAG,cAAc,EAAE,CAAC;gBACnC,GAAG,CAAC,KAAK,CAAC,yBAAyB,cAAc,sCAAsC,CAAC,CAAC;gBACzF,OAAO;YACX,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACvE,GAAG,CAAC,IAAI,CAAC,qCAAqC,eAAe,IAAI,cAAc,OAAO,KAAK,GAAG,IAAI,MAAM,CAAC,CAAC;YAC1G,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC,KAAK,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAC1F,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,GAAG,CAAC,KAAK,CAAC,0FAA0F,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7H,CAAC;IACL,CAAC,CAAC,CAAC;IACH,WAAW,GAAG,GAAG,CAAC;IAClB,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACjC,mFAAmF;IACnF,iFAAiF;IACjF,OAAO,gBAAgB,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
// ─── Telegram IPv4 fetch ─────────────────────────────
|
|
2
|
+
// grammY's client fetch is replaced to force IPv4 (some hosts resolve AAAA and
|
|
3
|
+
// then hang). Two things that replacement must not lose:
|
|
4
|
+
//
|
|
5
|
+
// 1. init.signal — grammY passes a per-call AbortSignal, and dropping it makes
|
|
6
|
+
// every "bounded" call a lie: the promise settles while the socket keeps
|
|
7
|
+
// running, so a shutdown drain returns with work still in flight. grammY's
|
|
8
|
+
// own default API timeout is 500 seconds.
|
|
9
|
+
// 2. streaming bodies — file uploads need the real fetch, not this one.
|
|
10
|
+
//
|
|
11
|
+
// Exported as a factory so production and tests drive the SAME implementation.
|
|
12
|
+
import https from 'https';
|
|
13
|
+
/**
|
|
14
|
+
* Build the IPv4 fetch grammY will call.
|
|
15
|
+
*
|
|
16
|
+
* The abort wiring is the load-bearing part: on abort the request is DESTROYED,
|
|
17
|
+
* not merely rejected. Rejecting stops the waiting; destroying stops the work.
|
|
18
|
+
*/
|
|
19
|
+
export function createIpv4Fetch(deps = {}) {
|
|
20
|
+
const request = deps.request ?? https.request;
|
|
21
|
+
// An https.Agent cannot serve an injected http.request, so a caller that
|
|
22
|
+
// supplies its own request factory may also pass `agent: null` to opt out
|
|
23
|
+
// rather than inherit one that rejects its protocol.
|
|
24
|
+
const agent = 'agent' in deps ? deps.agent : new https.Agent({ family: 4 });
|
|
25
|
+
return (url, init = {}) => {
|
|
26
|
+
const body = init['body'];
|
|
27
|
+
if (deps.isStreamingBody?.(body) && deps.streamingFetch) {
|
|
28
|
+
return deps.streamingFetch(url, { ...init, agent });
|
|
29
|
+
}
|
|
30
|
+
return new Promise((resolve, reject) => {
|
|
31
|
+
const u = new URL(url);
|
|
32
|
+
const signal = init['signal'];
|
|
33
|
+
if (signal?.aborted) {
|
|
34
|
+
reject(new Error('telegram_request_aborted'));
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const headersInit = init['headers'];
|
|
38
|
+
const opts = {
|
|
39
|
+
hostname: u.hostname,
|
|
40
|
+
port: u.port || 443,
|
|
41
|
+
path: u.pathname + u.search,
|
|
42
|
+
method: init['method'] || 'GET',
|
|
43
|
+
agent,
|
|
44
|
+
headers: headersInit instanceof Headers
|
|
45
|
+
? Object.fromEntries(headersInit)
|
|
46
|
+
: (headersInit || {}),
|
|
47
|
+
};
|
|
48
|
+
const req = request(opts, (res) => {
|
|
49
|
+
let data = '';
|
|
50
|
+
res.on('data', (c) => data += c);
|
|
51
|
+
res.on('end', () => resolve({
|
|
52
|
+
ok: (res.statusCode ?? 0) >= 200 && (res.statusCode ?? 0) < 300,
|
|
53
|
+
status: res.statusCode,
|
|
54
|
+
json: () => Promise.resolve(JSON.parse(data)),
|
|
55
|
+
text: () => Promise.resolve(data),
|
|
56
|
+
}));
|
|
57
|
+
});
|
|
58
|
+
req.on('error', reject);
|
|
59
|
+
if (signal) {
|
|
60
|
+
const onAbort = () => {
|
|
61
|
+
// destroy(), not just reject: the point is to stop the work,
|
|
62
|
+
// not merely to stop waiting for it.
|
|
63
|
+
req.destroy(new Error('telegram_request_aborted'));
|
|
64
|
+
};
|
|
65
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
66
|
+
req.on('close', () => signal.removeEventListener('abort', onAbort));
|
|
67
|
+
}
|
|
68
|
+
if (body)
|
|
69
|
+
req.write(typeof body === 'string' ? body : JSON.stringify(body));
|
|
70
|
+
req.end();
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=ipv4-fetch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ipv4-fetch.js","sourceRoot":"","sources":["../../../src/telegram/ipv4-fetch.ts"],"names":[],"mappings":"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"}
|