Spaces:
Runtime error
Runtime error
FaziHamza commited on
Commit ·
981277a
1
Parent(s): 29c1ea0
Refactor code structure for improved readability and maintainability
Browse files- apps/agent-service/apps/agent-service/src/agent/chat-graph.d.ts +1 -0
- apps/agent-service/apps/agent-service/src/agent/chat-graph.js +68 -37
- apps/agent-service/apps/agent-service/src/agent/chat-graph.js.map +1 -1
- apps/agent-service/apps/agent-service/src/agent/xtroedge.service.d.ts +2 -0
- apps/agent-service/apps/agent-service/src/agent/xtroedge.service.js +17 -3
- apps/agent-service/apps/agent-service/src/agent/xtroedge.service.js.map +1 -1
- apps/agent-service/tsconfig.app.tsbuildinfo +0 -0
- apps/api-gateway/apps/api-gateway/src/chat/chat.controller.d.ts +9 -0
- apps/api-gateway/apps/api-gateway/src/chat/chat.controller.js +19 -0
- apps/api-gateway/apps/api-gateway/src/chat/chat.controller.js.map +1 -1
- apps/api-gateway/apps/api-gateway/src/chat/chat.service.d.ts +12 -0
- apps/api-gateway/apps/api-gateway/src/chat/chat.service.js +120 -2
- apps/api-gateway/apps/api-gateway/src/chat/chat.service.js.map +1 -1
- apps/api-gateway/tsconfig.app.tsbuildinfo +0 -0
apps/agent-service/apps/agent-service/src/agent/chat-graph.d.ts
CHANGED
|
@@ -65,6 +65,7 @@ export declare class ChatGraphService {
|
|
| 65 |
private creationClaim;
|
| 66 |
private briefDrift;
|
| 67 |
private prizeSumMismatch;
|
|
|
|
| 68 |
private uiBlockFault;
|
| 69 |
private directResponse;
|
| 70 |
private stripEmojis;
|
|
|
|
| 65 |
private creationClaim;
|
| 66 |
private briefDrift;
|
| 67 |
private prizeSumMismatch;
|
| 68 |
+
private namePairFault;
|
| 69 |
private uiBlockFault;
|
| 70 |
private directResponse;
|
| 71 |
private stripEmojis;
|
apps/agent-service/apps/agent-service/src/agent/chat-graph.js
CHANGED
|
@@ -460,7 +460,7 @@ SQL Rules:
|
|
| 460 |
for (const slot of ChatGraphService_1.BRIEF_SLOTS) {
|
| 461 |
const value = typeof ledger[slot.key] === 'string' ? ledger[slot.key].trim() : '';
|
| 462 |
if (value)
|
| 463 |
-
settled.push(`- ${slot.label}: ${value.slice(0,
|
| 464 |
else if (!slot.optional)
|
| 465 |
missing.push(slot.label);
|
| 466 |
}
|
|
@@ -468,23 +468,18 @@ SQL Rules:
|
|
| 468 |
return '';
|
| 469 |
const name = typeof ledger.name === 'string' ? ledger.name.trim() : '';
|
| 470 |
let block = '\n\n### The brief so far — settled (FOR YOUR EYES ONLY)\n' +
|
| 471 |
-
'
|
| 472 |
-
'was said and agreed.\n' +
|
| 473 |
(name ? `- Name: ${name.slice(0, 120)}\n` : '') +
|
| 474 |
settled.join('\n') + '\n';
|
| 475 |
if (missing.length) {
|
| 476 |
block +=
|
| 477 |
`\nNot yet settled: ${missing.join(', ')}.\n` +
|
| 478 |
-
'Ask about the first of those
|
| 479 |
-
'
|
| 480 |
-
'
|
| 481 |
-
'is missing or how much is left.\n';
|
| 482 |
}
|
| 483 |
else {
|
| 484 |
-
block +=
|
| 485 |
-
'\nNothing is missing. Ask no further question about the brief: send the ' +
|
| 486 |
-
'card and the two buttons, and say in one line that they can change ' +
|
| 487 |
-
'anything first.\n';
|
| 488 |
}
|
| 489 |
block += 'A change to one of these is an update, not a restart.\n';
|
| 490 |
return block;
|
|
@@ -496,13 +491,11 @@ SQL Rules:
|
|
| 496 |
const uiArabic = /arab|ar\b/i.test(state.contextParams?.ui_language || '');
|
| 497 |
const arabic = hasArabic || (!hasLatin && uiArabic);
|
| 498 |
const lang = arabic ? 'Arabic' : 'English';
|
| 499 |
-
return (`\n- WRITE THIS ENTIRE REPLY IN ${lang.toUpperCase()}
|
| 500 |
-
`
|
| 501 |
-
`must be in ${lang} too. Do not mix languages and do not translate ` +
|
| 502 |
-
`alongside. Only English or Arabic is ever allowed.` +
|
| 503 |
(arabic
|
| 504 |
-
? '\n-
|
| 505 |
-
'
|
| 506 |
: ''));
|
| 507 |
}
|
| 508 |
staleAmount(reply, userMessage) {
|
|
@@ -616,6 +609,23 @@ SQL Rules:
|
|
| 616 |
`${values.length} prizes add up to ${sum.toLocaleString('en-US')} ` +
|
| 617 |
`(${values.join(' + ')}).`;
|
| 618 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 619 |
uiBlockFault(reply, ledger) {
|
| 620 |
const block = reply.match(/```(?:chatbolt-ui|chatbolt_ui)\s*([\s\S]*?)```/i);
|
| 621 |
const body = block ? block[1] : '';
|
|
@@ -631,7 +641,7 @@ SQL Rules:
|
|
| 631 |
if (!block)
|
| 632 |
return complete ? 'missing_create' : 'missing';
|
| 633 |
if (/["']?create_contest["']?/i.test(body))
|
| 634 |
-
return
|
| 635 |
const OFFERS_CREATE = /"[^"]*\b(?:confirm and create|create (?:this|the|my) contest|create it|proceed with (?:the )?(?:contest )?creation|go ahead and create|yes,? create)\b[^"]*"/i;
|
| 636 |
const suggestions = body.match(/"suggestions"\s*:\s*\[([\s\S]*?)\]/i);
|
| 637 |
if (suggestions && OFFERS_CREATE.test(suggestions[1]))
|
|
@@ -671,7 +681,7 @@ SQL Rules:
|
|
| 671 |
'\n\n### No SQL Needed\n' + instruction +
|
| 672 |
langLine +
|
| 673 |
'\n- NEVER mention SQL, database, queries, or internal tools.' +
|
| 674 |
-
'\n-
|
| 675 |
const messages = [
|
| 676 |
{ role: 'system', content: systemContent },
|
| 677 |
...windowedHistory.map(m => ({ role: m.role, content: m.content })),
|
|
@@ -708,8 +718,7 @@ SQL Rules:
|
|
| 708 |
messages: [
|
| 709 |
{
|
| 710 |
role: 'system',
|
| 711 |
-
content:
|
| 712 |
-
'\n\n### Output the ui block only\n' +
|
| 713 |
(fault === 'stale_amount'
|
| 714 |
? `${stale}\n` +
|
| 715 |
'The card is built from the brief, so the client is looking at a figure ' +
|
|
@@ -732,31 +741,51 @@ SQL Rules:
|
|
| 732 |
'full payload (prompt and brief, every value taken from what the client ' +
|
| 733 |
'actually agreed), and a secondary "Change something" using "send". ' +
|
| 734 |
'No "suggestions" on this turn.\n'
|
| 735 |
-
: fault === '
|
| 736 |
-
? 'The
|
| 737 |
-
'
|
| 738 |
-
'
|
| 739 |
-
'Send the
|
| 740 |
-
'
|
| 741 |
-
'
|
| 742 |
-
'"
|
| 743 |
-
'
|
| 744 |
-
'
|
| 745 |
-
'
|
| 746 |
-
|
| 747 |
-
'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 748 |
'Reply with exactly one fenced block, starting ```chatbolt-ui and ending ```.\n' +
|
| 749 |
'Base it on the conversation and on the reply you just gave.' +
|
| 750 |
(terse
|
| 751 |
? '\nOutput the fenced block and NOTHING else. No sentence before it, ' +
|
| 752 |
'none after it. Your last answer had no block in it at all.'
|
| 753 |
-
: '')
|
|
|
|
| 754 |
},
|
| 755 |
...(terse
|
| 756 |
? []
|
| 757 |
: windowedHistory.map(m => ({ role: m.role, content: m.content }))),
|
| 758 |
-
{
|
| 759 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 760 |
],
|
| 761 |
max_tokens: 4000,
|
| 762 |
});
|
|
@@ -916,6 +945,8 @@ ChatGraphService.BRIEF_SLOTS = [
|
|
| 916 |
{ key: 'duration', label: 'Duration' },
|
| 917 |
{ key: 'audience', label: 'Audience', optional: true },
|
| 918 |
{ key: 'draw_type', label: 'Draw type', optional: true },
|
|
|
|
|
|
|
| 919 |
];
|
| 920 |
exports.ChatGraphService = ChatGraphService = ChatGraphService_1 = __decorate([
|
| 921 |
(0, common_1.Injectable)(),
|
|
|
|
| 460 |
for (const slot of ChatGraphService_1.BRIEF_SLOTS) {
|
| 461 |
const value = typeof ledger[slot.key] === 'string' ? ledger[slot.key].trim() : '';
|
| 462 |
if (value)
|
| 463 |
+
settled.push(`- ${slot.label}: ${value.slice(0, 160)}`);
|
| 464 |
else if (!slot.optional)
|
| 465 |
missing.push(slot.label);
|
| 466 |
}
|
|
|
|
| 468 |
return '';
|
| 469 |
const name = typeof ledger.name === 'string' ? ledger.name.trim() : '';
|
| 470 |
let block = '\n\n### The brief so far — settled (FOR YOUR EYES ONLY)\n' +
|
| 471 |
+
'Authoritative; never quote or list back.\n' +
|
|
|
|
| 472 |
(name ? `- Name: ${name.slice(0, 120)}\n` : '') +
|
| 473 |
settled.join('\n') + '\n';
|
| 474 |
if (missing.length) {
|
| 475 |
block +=
|
| 476 |
`\nNot yet settled: ${missing.join(', ')}.\n` +
|
| 477 |
+
'Ask about the first of those only, in your own words, as one short ' +
|
| 478 |
+
'question. Never ask about a settled slot in any form. Do not say what ' +
|
| 479 |
+
'is missing.\n';
|
|
|
|
| 480 |
}
|
| 481 |
else {
|
| 482 |
+
block += '\nNothing is missing. Ask nothing more: send the card and both buttons.\n';
|
|
|
|
|
|
|
|
|
|
| 483 |
}
|
| 484 |
block += 'A change to one of these is an update, not a restart.\n';
|
| 485 |
return block;
|
|
|
|
| 491 |
const uiArabic = /arab|ar\b/i.test(state.contextParams?.ui_language || '');
|
| 492 |
const arabic = hasArabic || (!hasLatin && uiArabic);
|
| 493 |
const lang = arabic ? 'Arabic' : 'English';
|
| 494 |
+
return (`\n- WRITE THIS ENTIRE REPLY IN ${lang.toUpperCase()} — the message, every ` +
|
| 495 |
+
`chip and every button label. Never mix languages. Only English or Arabic.` +
|
|
|
|
|
|
|
| 496 |
(arabic
|
| 497 |
+
? '\n- Latin-script brand or product names stay as the client wrote them; ' +
|
| 498 |
+
'everything else is Arabic.'
|
| 499 |
: ''));
|
| 500 |
}
|
| 501 |
staleAmount(reply, userMessage) {
|
|
|
|
| 609 |
`${values.length} prizes add up to ${sum.toLocaleString('en-US')} ` +
|
| 610 |
`(${values.join(' + ')}).`;
|
| 611 |
}
|
| 612 |
+
namePairFault(body) {
|
| 613 |
+
const ARABIC = /[-ۿ]/;
|
| 614 |
+
const LATIN = /[A-Za-z]{2,}/;
|
| 615 |
+
const field = (key) => {
|
| 616 |
+
const m = new RegExp(`"${key}"\\s*:\\s*"((?:[^"\\\\]|\\\\.)*)"`).exec(body);
|
| 617 |
+
return m ? m[1].trim() : null;
|
| 618 |
+
};
|
| 619 |
+
const name = field('name');
|
| 620 |
+
const arabicName = field('arabic_name');
|
| 621 |
+
if (name && ARABIC.test(name))
|
| 622 |
+
return 'name_language';
|
| 623 |
+
if (!arabicName || !ARABIC.test(arabicName))
|
| 624 |
+
return 'name_language';
|
| 625 |
+
if (LATIN.test(arabicName))
|
| 626 |
+
return 'name_language';
|
| 627 |
+
return null;
|
| 628 |
+
}
|
| 629 |
uiBlockFault(reply, ledger) {
|
| 630 |
const block = reply.match(/```(?:chatbolt-ui|chatbolt_ui)\s*([\s\S]*?)```/i);
|
| 631 |
const body = block ? block[1] : '';
|
|
|
|
| 641 |
if (!block)
|
| 642 |
return complete ? 'missing_create' : 'missing';
|
| 643 |
if (/["']?create_contest["']?/i.test(body))
|
| 644 |
+
return this.namePairFault(body);
|
| 645 |
const OFFERS_CREATE = /"[^"]*\b(?:confirm and create|create (?:this|the|my) contest|create it|proceed with (?:the )?(?:contest )?creation|go ahead and create|yes,? create)\b[^"]*"/i;
|
| 646 |
const suggestions = body.match(/"suggestions"\s*:\s*\[([\s\S]*?)\]/i);
|
| 647 |
if (suggestions && OFFERS_CREATE.test(suggestions[1]))
|
|
|
|
| 681 |
'\n\n### No SQL Needed\n' + instruction +
|
| 682 |
langLine +
|
| 683 |
'\n- NEVER mention SQL, database, queries, or internal tools.' +
|
| 684 |
+
'\n- No emojis: plain text only.';
|
| 685 |
const messages = [
|
| 686 |
{ role: 'system', content: systemContent },
|
| 687 |
...windowedHistory.map(m => ({ role: m.role, content: m.content })),
|
|
|
|
| 718 |
messages: [
|
| 719 |
{
|
| 720 |
role: 'system',
|
| 721 |
+
content: '### Output the ui block only\n' +
|
|
|
|
| 722 |
(fault === 'stale_amount'
|
| 723 |
? `${stale}\n` +
|
| 724 |
'The card is built from the brief, so the client is looking at a figure ' +
|
|
|
|
| 741 |
'full payload (prompt and brief, every value taken from what the client ' +
|
| 742 |
'actually agreed), and a secondary "Change something" using "send". ' +
|
| 743 |
'No "suggestions" on this turn.\n'
|
| 744 |
+
: fault === 'name_language'
|
| 745 |
+
? 'The contest name is stored twice, once per language, and every screen ' +
|
| 746 |
+
'shows one or the other. Your brief did not give a real pair, so one ' +
|
| 747 |
+
'audience would see the wrong language.\n' +
|
| 748 |
+
'Send the block again with all four present and each in its own ' +
|
| 749 |
+
'language, whatever language this conversation is in:\n' +
|
| 750 |
+
' "name" — English only\n' +
|
| 751 |
+
' "arabic_name" — Arabic only, the same contest, not a ' +
|
| 752 |
+
'transliteration and not a copy of the English\n' +
|
| 753 |
+
' "description" — English only\n' +
|
| 754 |
+
' "arabic_description" — Arabic only\n' +
|
| 755 |
+
'Arabic fields carry Arabic letters, Arabic punctuation and digits — no ' +
|
| 756 |
+
'Latin words. Change nothing else: same levels, same prizes, same ' +
|
| 757 |
+
'figures, same dates.\n'
|
| 758 |
+
: fault === 'missing_create'
|
| 759 |
+
? 'The brief is complete and the client has no way to build it. Only the ' +
|
| 760 |
+
'Create button creates a contest — you cannot, and saying it is done ' +
|
| 761 |
+
'does not make it so.\n' +
|
| 762 |
+
'Send the summary card and exactly two entries in "actions": the primary ' +
|
| 763 |
+
'one carrying "action": "create_contest" with its full payload (prompt ' +
|
| 764 |
+
'and brief), and a secondary "Change something" using "send". No ' +
|
| 765 |
+
'"suggestions" on this turn.\n' +
|
| 766 |
+
'Every value in the brief must be one the client actually agreed — copy ' +
|
| 767 |
+
'them from the settled list. Do not invent a name, a prize split, or a ' +
|
| 768 |
+
'date, and do not change a figure they already gave.\n'
|
| 769 |
+
: 'Your previous reply left out the required chatbolt-ui block. Send it now ' +
|
| 770 |
+
'and nothing else: no prose, no explanation, no apology.\n') +
|
| 771 |
'Reply with exactly one fenced block, starting ```chatbolt-ui and ending ```.\n' +
|
| 772 |
'Base it on the conversation and on the reply you just gave.' +
|
| 773 |
(terse
|
| 774 |
? '\nOutput the fenced block and NOTHING else. No sentence before it, ' +
|
| 775 |
'none after it. Your last answer had no block in it at all.'
|
| 776 |
+
: '') +
|
| 777 |
+
(terse ? '' : `\n\n---\n${systemContent}`),
|
| 778 |
},
|
| 779 |
...(terse
|
| 780 |
? []
|
| 781 |
: windowedHistory.map(m => ({ role: m.role, content: m.content }))),
|
| 782 |
+
{
|
| 783 |
+
role: 'user',
|
| 784 |
+
content: `${state.userMessage}\n\n` +
|
| 785 |
+
`--- the reply you just gave, which needs the fix described above ---\n` +
|
| 786 |
+
`${reply}\n` +
|
| 787 |
+
`--- end of that reply ---`,
|
| 788 |
+
},
|
| 789 |
],
|
| 790 |
max_tokens: 4000,
|
| 791 |
});
|
|
|
|
| 945 |
{ key: 'duration', label: 'Duration' },
|
| 946 |
{ key: 'audience', label: 'Audience', optional: true },
|
| 947 |
{ key: 'draw_type', label: 'Draw type', optional: true },
|
| 948 |
+
{ key: 'objective', label: 'Business objective', optional: true },
|
| 949 |
+
{ key: 'category', label: 'Contest category', optional: true },
|
| 950 |
];
|
| 951 |
exports.ChatGraphService = ChatGraphService = ChatGraphService_1 = __decorate([
|
| 952 |
(0, common_1.Injectable)(),
|
apps/agent-service/apps/agent-service/src/agent/chat-graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"version":3,"file":"chat-graph.js","sourceRoot":"","sources":["../../../../../../../apps/agent-service/src/agent/chat-graph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4D;AAC5D,yDAAoD;AACpD,+BAAsC;AACtC,oDAA0E;AAC1E,8DAA6D;AAC7D,+CAA2C;AAC3C,uEAAkE;AAClE,qDAAiE;AACjE,qEAAgE;AAEhE,uEAA8E;AAI9E,MAAM,UAAU,GAAG,sBAAU,CAAC,IAAI,CAAC;IAEjC,WAAW,EAAK,CAAA,sBAAkB,CAAA;IAClC,OAAO,EAAS,CAAA,sBAAkB,CAAA;IAGlC,SAAS,EAAO,CAAA,sBAAkB,CAAA;IAClC,KAAK,EAAW,CAAA,sBAAkB,CAAA;IAClC,UAAU,EAAM,CAAA,sBAAkB,CAAA;IAClC,QAAQ,EAAQ,CAAA,sBAAkB,CAAA;IAClC,gBAAgB,EAAE,CAAA,sBAAkB,CAAA;IACpC,OAAO,EAAS,CAAA,sBAA4B,CAAA;IAC5C,aAAa,EAAG,CAAA,sBAA8B,CAAA;IAC9C,aAAa,EAAG,CAAA,sBAAkC,CAAA;IAClD,YAAY,EAAI,CAAA,sBAAe,CAAA;IAC/B,aAAa,EAAG,CAAA,sBAAmB,CAAA;IACnC,eAAe,EAAE,CAAA,sBAA8G,CAAA;IAC/H,UAAU,EAAM,CAAA,sBAAkB,CAAA;IAClC,WAAW,EAAK,CAAA,sBAAkB,CAAA;IAOlC,WAAW,EAAK,CAAA,sBAAyC,CAAA;IAGzD,YAAY,EAAI,CAAA,sBAA2C,CAAA;IAC3D,QAAQ,EAAQ,CAAA,sBAAsB,CAAA;IAGtC,cAAc,EAAE,CAAA,sBAAmB,CAAA;IACnC,cAAc,EAAE,CAAA,sBAAkB,CAAA;IAIlC,SAAS,EAAO,CAAA,sBAAkB,CAAA;IAClC,UAAU,EAAM,CAAA,sBAAkB,CAAA;IAClC,gBAAgB,EAAE,CAAA,sBAAkB,CAAA;IACpC,GAAG,EAAa,CAAA,sBAAyB,CAAA;IACzC,UAAU,EAAM,CAAA,sBAAkB,CAAA;IAClC,WAAW,EAAK,CAAA,sBAAe,CAAA;IAC/B,UAAU,EAAM,CAAA,sBAAyB,CAAA;IACzC,SAAS,EAAO,CAAA,sBAAkB,CAAA;IAClC,MAAM,EAAU,CAAA,sBAAkC,CAAA;IAClD,gBAAgB,EAAE,CAAA,sBAAkB,CAAA;IAGpC,KAAK,EAAW,CAAA,sBAAkB,CAAA;IAClC,UAAU,EAAM,CAAA,sBAAkB,CAAA;IAClC,SAAS,EAAO,CAAA,sBAAkB,CAAA;CACnC,CAAC,CAAC;AAOI,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAI3B,YACiC,iBAA+C,EAC1C,eAA6C,EAChE,UAAsB,EACtB,cAAqC,EACrC,MAAqB,EACrB,aAAmC,EACnC,cAAqC;QANN,sBAAiB,GAAjB,iBAAiB,CAAa;QACzB,oBAAe,GAAf,eAAe,CAAa;QAChE,eAAU,GAAV,UAAU,CAAY;QACtB,mBAAc,GAAd,cAAc,CAAuB;QACrC,WAAM,GAAN,MAAM,CAAe;QACrB,kBAAa,GAAb,aAAa,CAAsB;QACnC,mBAAc,GAAd,cAAc,CAAuB;QAVvC,WAAM,GAAG,IAAI,eAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;QACpD,UAAK,GAA8C,IAAI,CAAC;IAU7D,CAAC;IAKJ,KAAK,CAAC,GAAG,CAAC,KAiBT;QAEC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEzC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACnC,GAAG,KAAK;YACR,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;YAChC,eAAe,EAAE,KAAK,CAAC,UAAU;YACjC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE;YAClC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;YACpC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;YACtC,YAAY,EAAE,MAAe;YAC7B,QAAQ,EAAE,EAAgB;YAC1B,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;YACd,GAAG,EAAE,IAAI;YACT,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,EAAE;YACpB,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,SAAS;YACjB,gBAAgB,EAAE,EAAE;YACpB,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,KAAK,CAAC,KAAK;SACvB,CAAC,CAAC;QAEH,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,UAAU;YAC9B,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;YAGrB,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc;SACxC,CAAC;IACJ,CAAC;IAIO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEO,UAAU;QAChB,MAAM,KAAK,GAAG,IAAI,sBAAU,CAAC,UAAU,CAAC;aAGrC,OAAO,CAAC,gBAAgB,EAAK,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC1E,OAAO,CAAC,kBAAkB,EAAG,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;aAC5E,OAAO,CAAC,UAAU,EAAW,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACrE,OAAO,CAAC,cAAc,EAAO,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aACxE,OAAO,CAAC,aAAa,EAAQ,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aACvE,OAAO,CAAC,YAAY,EAAS,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACtE,OAAO,CAAC,SAAS,EAAY,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACnE,OAAO,CAAC,iBAAiB,EAAI,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aAC3E,OAAO,CAAC,iBAAiB,EAAI,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aAI3E,OAAO,CAAC,iBAAK,EAAE,gBAAgB,CAAC;aAChC,OAAO,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;aAC7C,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC;aAGvC,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAiB,EAAE,EAAE;YACrD,IAAI,CAAC,CAAC,YAAY,KAAK,UAAU,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;gBAAE,OAAO,iBAAiB,CAAC;YAC5F,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC;aAGD,mBAAmB,CAAC,cAAc,EAAE,CAAC,CAAiB,EAAE,EAAE;YACzD,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,eAAe;gBAAE,OAAO,iBAAiB,CAAC;YAClE,OAAO,aAAa,CAAC;QACvB,CAAC,CAAC;aASD,mBAAmB,CAAC,aAAa,EAAE,CAAC,CAAiB,EAAE,EAAE;YACxD,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YACvD,IAAI,CAAC,CAAC,UAAU;gBAAE,OAAO,YAAY,CAAC;YACtC,OAAO,iBAAiB,CAAC;QAC3B,CAAC,CAAC;aAGD,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC;aAGjC,OAAO,CAAC,YAAY,EAAE,eAAG,CAAC;aAC1B,OAAO,CAAC,iBAAiB,EAAE,eAAG,CAAC;aAC/B,OAAO,CAAC,iBAAiB,EAAE,eAAG,CAAC,CAAC;QAEnC,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAYO,KAAK,CAAC,aAAa,CAAC,KAAqB;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAGhD,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;YACzD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAC1D,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,eAAe,EACrB,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAC1E,KAAK,CAAC,OAAO,IAAI,EAAE,CACpB,CAAC;YAKF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAClE,UAAU,EACV,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,aAAa,IAAI,EAAE,EACzB,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAuB,CACtD,CAAC;YAKF,MAAM,cAAc,GAAG,yHAAyH,CAAC;YACjJ,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,YAAY,GAAwB,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YAW1E,MAAM,oBAAoB,GAAG,UAAU,CAAC;YACxC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAU/D,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACvG,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CACnE,WAAW,CAAC,IAAI,EAChB,CAAC,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACjE,KAAK,CAAC,aAAa,IAAI,EAAE,EACzB,gBAAgB;gBACd,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE;gBAClC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CACrE,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,2CAA2C,UAAU,aAAa,SAAS,CAAC,MAAM,GAAG;gBACrF,aAAa,UAAU,CAAC,MAAM,SAAS,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAClG,CAAC;YACF,OAAO;gBACL,cAAc,EAAE,SAAS;gBACzB,SAAS;gBACT,UAAU;gBACV,QAAQ,EAAE,EAAgB;gBAC1B,YAAY;gBACZ,cAAc,EAAE,gBAAgB;aACjC,CAAC;QACJ,CAAC;QAGD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAChD,KAAK,CAAC,gBAAgB,IAAI,EAAE,EAC5B,KAAK,CAAC,aAAa,CACpB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,4EAA4E,QAAQ,CAAC,MAAM,GAAG,CAC/F,CAAC;QACF,OAAO;YACL,cAAc,EAAE,QAAQ;YACxB,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,EAAgB;YAC1B,YAAY,EAAE,MAAM;SACrB,CAAC;IACJ,CAAC;IAMO,KAAK,CAAC,eAAe,CAAC,KAAqB;QACjD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAGhD,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;YACzF,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;QAClC,CAAC;QAGD,MAAM,aAAa,GAAG,KAAK,CAAC;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjC,IAAA,qBAAc,EACZ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAG,CAAC,gBAAgB,EAAE;oBAC9C,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,KAAK,EAAE,KAAK,CAAC,WAAW;oBACxB,KAAK,EAAE,CAAC;iBACT,CAAC,CACH;gBACD,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,aAAa,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,CAC1F;aACF,CAAC,CAAC;YAEH,IAAK,OAAe,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAI,OAAe,CAAC,OAAO,CAAC,GAAG,CAC1C,CAAC,IAAS,EAAE,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,CAC5E,CAAC;gBACF,MAAM,gBAAgB,GAAG,kCAAkC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAmC,OAAe,CAAC,OAAO,CAAC,MAAM,gBAAgB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBACvH,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAElB,IAAI,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAC1D,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;IAClC,CAAC;IAMO,KAAK,CAAC,QAAQ,CAAC,KAAqB;QAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAChD,MAAM,aAAa,GAAG;YACpB,iDAAiD;YACjD,wCAAwC;YACxC,0BAA0B;YAC1B,MAAM;SACP,CAAC;QACF,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACrE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,6BAA6B,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,YAAY,gBAAgB,CACpF,CAAC;QACF,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;IAC9C,CAAC;IAOO,KAAK,CAAC,WAAW,CAAC,KAAqB;QAC7C,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACzE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QACvB,CAAC;QAGD,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC;QAChE,IAAI,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC;gBAClD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,cAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAChF,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YAElB,aAAa,GAAG,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC/D,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjF,OAAO,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC;YACrC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QAGD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC;YAC7C,CAAC,CAAC,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC;YAC9E,CAAC,CAAC,EAAE,CAAC;QAGP,MAAM,WAAW,GAAsE;YACrF;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE;;;EAGf,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,cAAc;EACvC,aAAa;EACb,KAAK,CAAC,gBAAgB,IAAI,EAAE;;;;;;;;;wFAS0D;aACjF;SACF,CAAC;QAGF,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAA4B,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,GAAG,KAAK,CAAC,WAAW,wEAAwE;SACtG,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACxC,QAAQ,EAAE,KAAK,CAAC,UAAU;YAC1B,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI,GAAG,GAAkB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEjG,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YACjE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC5F,CAAC;QAGD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACvF,GAAG,GAAG,IAAI,CAAC;QACb,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC3E,CAAC;IAKO,KAAK,CAAC,UAAU,CAAC,KAAqB;QAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,EAAE,CAAC;YAChD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC;YAEH,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB;mBAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAc,EACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAG,CAAC,cAAc,EAAE;gBAC9C,iBAAiB,EAAE,gBAAgB;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,EAAE,KAAK,CAAC,GAAG;aACf,CAAC,CACH,CAAC;YAEF,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,CAAC;YACjG,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;YAGzE,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YAEhC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACtC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5D,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEd,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACpC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACpE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEb,SAAS,GAAG,4BAA4B,SAAS,IAAI;oBACnD,8BAA8B,WAAW,QAAQ;oBACjD,uFAAuF,CAAC;gBAG1F,IAAI,MAA8B,CAAC;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;oBACvE,IAAI,MAAM;wBAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;gBACpG,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,4EAA4E;oBACtF,2DAA2D,CAAC;YAChE,CAAC;YAED,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAChF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YAChE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,IAAI,eAAe,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAClG,CAAC;IACH,CAAC;IAKO,KAAK,CAAC,MAAM,CAAC,KAAqB;QACxC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,UAAU,eAAe,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAE/G,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACxC,QAAQ,EAAE,KAAK,CAAC,UAAU;YAC1B,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,uEAAuE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,cAAc,EAAE;iBAC1H;gBACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,KAAK,CAAC,GAAG,eAAe,KAAK,CAAC,UAAU,4CAA4C,EAAE;aAClI;YACD,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAkB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,QAAQ,GAAG,IAAI,CAAC;QAElD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;QAEzF,OAAO;YACL,GAAG,EAAE,QAAQ,IAAI,KAAK,CAAC,GAAG;YAC1B,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW;SACzD,CAAC;IACJ,CAAC;IAUO,KAAK,CAAC,SAAS,CAAC,KAAqB;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,+CAA+C,KAAK,CAAC,UAAU,uBAAuB,KAAK,CAAC,UAAU,EAAE,CACzG,CAAC;QAEF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,QAAQ;YACpB,CAAC,CAAC,4GAA4G;YAC9G,CAAC,CAAC,mHAAmH,CAAC;QAExH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IAC/E,CAAC;IAMO,KAAK,CAAC,cAAc,CAAC,KAAqB;QAChD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAEhD,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;QAE3C,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAErE,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,cAAc,CAAC;YAC9D,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAC9B,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;YACvB,oCAAoC;YACpC,sFAAsF;YACtF,+EAA+E;YAC/E,8EAA8E;YAC9E,6CAA6C;YAC7C,CAAC,OAAO;gBACN,CAAC,CAAC,sLAAsL;gBACxL,CAAC,CAAC,qFAAqF,CAAC;YAC1F,qDAAqD;YACrD,uBAAuB;YACvB,2DAA2D;YAC3D,8DAA8D;YAC9D,4DAA4D;YAC5D,wEAAwE;YACxE,gFAAgF;YAChF,wCAAwC;YACxC,gFAAgF;YAChF,6LAA6L,CAAC;QAEhM,MAAM,QAAQ,GAAsE;YAClF,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE;YAC1C,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAA4B,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3F,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE;SAC7C,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACxC,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM;YACpC,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ;YACR,UAAU,EAAE,KAAK;YAEjB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;SACxC,CAAC,CAAC;QAGH,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YAC1E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACvC,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM;gBACpC,MAAM,EAAE,KAAK,CAAC,QAAQ;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE;oBACR,GAAG,QAAQ;oBACX,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE;oBACrC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oHAAoH,EAAE;iBAChJ;gBACD,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAClD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,WAAW,SAAS,CAAC,CAAC;QAExE,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC9B,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW;YACxD,SAAS,EAAE,MAAM,CAAC,UAAU;SAC7B,CAAC;IACJ,CAAC;IA6BO,iBAAiB,CAAC,MAAiD;QACzE,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,kBAAgB,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClF,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;iBAC9D,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAO/B,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,IAAI,KAAK,GACP,2DAA2D;YAC3D,0EAA0E;YAC1E,wBAAwB;YACxB,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAE5B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK;gBACH,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oBAC7C,2EAA2E;oBAC3E,2EAA2E;oBAC3E,2EAA2E;oBAC3E,mCAAmC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,KAAK;gBACH,0EAA0E;oBAC1E,qEAAqE;oBACrE,mBAAmB,CAAC;QACxB,CAAC;QAID,KAAK,IAAI,yDAAyD,CAAC;QAEnE,OAAO,KAAK,CAAC;IACf,CAAC;IAgBO,mBAAmB,CAAC,KAAqB;QAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;QAEpC,MAAM,SAAS,GAAG,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;QAI3E,MAAM,MAAM,GAAG,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3C,OAAO,CACL,kCAAkC,IAAI,CAAC,WAAW,EAAE,0BAA0B;YAC9E,4EAA4E;YAC5E,cAAc,IAAI,kDAAkD;YACpE,oDAAoD;YACpD,CAAC,MAAM;gBACL,CAAC,CAAC,yEAAyE;oBACzE,oEAAoE;gBACtE,CAAC,CAAC,EAAE,CAAC,CACR,CAAC;IACJ,CAAC;IA4BO,WAAW,CAAC,KAAa,EAAE,WAAmB;QACpD,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAI9B,MAAM,KAAK,GACT,4IAA4I,CAAC,IAAI,CAAC,WAAW,CAAC;YAC9J,oFAAoF,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzG,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAIlC,OAAO,yCAAyC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI;YAChF,4BAA4B,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC;IACjE,CAAC;IAiBO,aAAa,CAAC,KAAa,EAAE,WAAmB;QACtD,MAAM,IAAI,GAAG,IAAI,GAAG,CAClB,CAAC,WAAW,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAC/E,CAAC;QAMF,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,KAAK,GAAa,EAAE,CAAC;QAG3B,MAAM,aAAa,GACjB,uEAAuE,CAAC;QAC1E,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAyBO,aAAa,CAAC,KAAa,EAAE,WAAW,GAAG,EAAE;QACnD,IAAI,oGAAoG;aACrG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,+CAA+C,EAAE,EAAE,CAAC,CAAC;QAEjF,MAAM,MAAM,GAA4B;YACtC,CAAC,gCAAgC,EAAE,gBAAgB,CAAC;YACpD,CAAC,gCAAgC,EAAE,kBAAkB,CAAC;YACtD,CAAC,uBAAuB,EAAE,kBAAkB,CAAC;YAC7C,CAAC,wEAAwE,EAAE,uBAAuB,CAAC;YACnG,CAAC,uCAAuC,EAAE,WAAW,CAAC;YACtD,CAAC,kDAAkD,EAAE,sBAAsB,CAAC;YAU5E,CAAC,MAAM,EAAE,SAAS,CAAC;YAUnB,CAAC,+IAA+I;gBAC9I,gBAAgB,CAAC;YACnB,CAAC,2CAA2C,EAAE,aAAa,CAAC;SAC7D,CAAC;QAEF,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAcO,UAAU,CAChB,KAAa,EACb,WAAmB,EACnB,MAAiD;QAEjD,MAAM,OAAO,GAAG,MAAM,EAAE,MAAM,CAAC;QAC/B,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAG1B,IAAI,wDAAwD,CAAC,IAAI,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAE5F,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,GAAG,GAAG,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACvD,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE3C,OAAO,yBAAyB,IAAI,yCAAyC;YAC3E,qCAAqC,GAAG,GAAG,CAAC;IAChD,CAAC;IAcO,gBAAgB,CAAC,KAAa;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzD,MAAM,MAAM,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;aAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aAC5B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAEhC,OAAO,wBAAwB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW;YACtE,GAAG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG;YACnE,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC/B,CAAC;IAEO,YAAY,CAClB,KAAa,EACb,MAAiD;QAEjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAUnC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAW,EAAE;YAC1C,IAAI,OAAO,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;gBAAE,OAAO,IAAI,CAAC;YACzE,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,kBAAgB,CAAC,WAAW;aAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;aACxB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEjC,IAAI,CAAC,KAAK;YAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3D,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAIxD,MAAM,aAAa,GACjB,+JAA+J,CAAC;QAClK,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACtE,IAAI,WAAW,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,gBAAgB,CAAC;QAQ/E,IAAI,QAAQ;YAAE,OAAO,gBAAgB,CAAC;QAEtC,OAAO,IAAI,CAAC;IACd,CAAC;IAMO,KAAK,CAAC,cAAc,CAAC,KAAqB;QAChD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAChD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAErE,IAAI,WAAmB,CAAC;QACxB,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,WAAW,GAAG,0DAA0D;gBACtE,gGAAgG,CAAC;QACrG,CAAC;aAAM,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YAQhC,WAAW,GAAG,uDAAuD;gBACnE,6DAA6D;gBAC7D,kEAAkE;gBAClE,mDAAmD,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,4EAA4E;gBACxF,wDAAwD;gBACxD,uFAAuF;gBACvF,wDAAwD;gBACxD,4DAA4D;gBAC5D,qDAAqD;gBACrD,sCAAsC,CAAC;QAC3C,CAAC;QAGD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEjD,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,cAAc,CAAC;YAC9D,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAC9B,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,yBAAyB,GAAG,WAAW;YACvC,QAAQ;YACR,8DAA8D;YAC9D,4JAA4J,CAAC;QAE/J,MAAM,QAAQ,GAAsE;YAClF,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE;YAC1C,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAA4B,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3F,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE;SAC7C,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACxC,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM;YACpC,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ;YACR,UAAU,EAAE,KAAK;YAEjB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;SACxC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,WAAW,SAAS,CAAC,CAAC;QAExE,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;QAUhC,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc;YAChC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC;mBACxC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;mBAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAClE,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc;YAChC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACjF,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,KAAK;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,KAAK,EAAE,CAAC,CAAC;QAMlF,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;oBACxC,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM;oBACpC,MAAM,EAAE,KAAK,CAAC,QAAQ;oBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,QAAQ;4BACd,OAAO,EACL,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;gCAC5B,oCAAoC;gCACpC,CAAC,KAAK,KAAK,cAAc;oCACvB,CAAC,CAAC,GAAG,KAAK,IAAI;wCACZ,yEAAyE;wCACzE,yEAAyE;wCACzE,wEAAwE;wCACxE,wEAAwE;wCACxE,uEAAuE;wCACvE,0CAA0C;wCAC1C,wEAAwE;wCACxE,wEAAwE;wCACxE,uEAAuE;wCACvE,wDAAwD;oCAC1D,CAAC,CAAC,KAAK,KAAK,gBAAgB;wCAC5B,CAAC,CAAC,sEAAsE;4CACtE,uEAAuE;4CACvE,uEAAuE;4CACvE,wBAAwB;4CACxB,wEAAwE;4CACxE,0EAA0E;4CAC1E,yEAAyE;4CACzE,qEAAqE;4CACrE,kCAAkC;wCACpC,CAAC,CAAC,KAAK,KAAK,gBAAgB;4CAC5B,CAAC,CAAC,wEAAwE;gDACxE,sEAAsE;gDACtE,wBAAwB;gDACxB,0EAA0E;gDAC1E,wEAAwE;gDACxE,kEAAkE;gDAClE,+BAA+B;gDAC/B,yEAAyE;gDACzE,wEAAwE;gDACxE,uDAAuD;4CACzD,CAAC,CAAC,2EAA2E;gDAC3E,2DAA2D,CAAC;gCAChE,gFAAgF;gCAChF,6DAA6D;gCAC7D,CAAC,KAAK;oCACJ,CAAC,CAAC,qEAAqE;wCACrE,4DAA4D;oCAC9D,CAAC,CAAC,EAAE,CAAC;yBACV;wBACD,GAAG,CAAC,KAAK;4BACP,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAA4B,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBAC7F,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE;wBAC5C,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE;qBACtC;oBACD,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;gBACH,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAC9E,MAAM,KAAK,GAAG,+CAA+C,CAAC;gBAC9D,IAAI,KAAK,EAAE,CAAC;oBAIV,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBACtB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8CAA8C,KAAK,GAAG,CAAC,CAAC;oBAC1E,CAAC;yBAAM,CAAC;wBACN,KAAK,GAAG,GAAG,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wDAAwD,KAAK,GAAG,CAAC,CAAC;oBACpF,CAAC;oBACD,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;oBAClC,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,iCAAiC,OAAO,GAAG,CAAC,0BAA0B,KAAK,GAAG,CAC/E,CAAC;gBACF,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAGlB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;gBACrF,MAAM;YACR,CAAC;QACH,CAAC;QAKD,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,+CAA+C,CAAC;YAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,gDAAgD,MAAM,CAAC,MAAM,WAAW;oBACxE,YAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CACvD,CAAC;gBACF,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACrC,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM;wBACpC,MAAM,EAAE,KAAK,CAAC,QAAQ;wBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,QAAQ,EAAE;4BACR;gCACE,IAAI,EAAE,QAAQ;gCACd,OAAO,EACL,6CAA6C;oCAC7C,2EAA2E;oCAC3E,+DAA+D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oCACrF,0EAA0E;oCAC1E,kDAAkD;oCAClD,sEAAsE;oCACtE,kCAAkC;6BACrC;4BACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;yBACjC;wBACD,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;oBAC1D,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;wBACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACjC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;wBAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,IAAI,CAAC,MAAM;4BACT,CAAC,CAAC,+CAA+C,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BAClF,CAAC,CAAC,8CAA8C,CACnD,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;oBAC/F,CAAC;oBACD,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;gBACjC,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAElB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;gBAC5F,CAAC;YACH,CAAC;QACH,CAAC;QAOD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,8DAA8D,KAAK,KAAK;oBACxE,sDAAsD,CACvD,CAAC;gBACF,MAAM,MAAM,GAAG,+CAA+C,CAAC;gBAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACrC,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM;wBACpC,MAAM,EAAE,KAAK,CAAC,QAAQ;wBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,QAAQ,EAAE;4BACR;gCACE,IAAI,EAAE,QAAQ;gCACd,OAAO,EACL,6BAA6B;oCAC7B,8DAA8D,KAAK,MAAM;oCACzE,uEAAuE;oCACvE,0DAA0D;oCAC1D,yEAAyE;oCACzE,yCAAyC;oCACzC,oEAAoE;oCACpE,mEAAmE;oCACnE,eAAe;oCACf,mDAAmD;6BACtD;4BACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;yBACjC;wBACD,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzD,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;4BACjC,CAAC,CAAC,GAAG,KAAK,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,EAAE;4BAC1C,CAAC,CAAC,KAAK,CAAC;wBACV,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;4BACpD,KAAK,GAAG,OAAO,CAAC;4BAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;wBACrE,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;wBAC1F,CAAC;oBACH,CAAC;oBACD,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;gBACjC,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yDAAyD,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;gBACnG,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK;YACL,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,MAAM;YAC5C,SAAS,EAAE,MAAM,CAAC,UAAU;SAC7B,CAAC;IACJ,CAAC;IASO,WAAW,CAAC,IAAY;QAC9B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,IAAI;aAER,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;aACtC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;aACtC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;aACtC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;aAE3B,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC;aAC1B,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,OAAO,CAAC,SAAiB;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;QAC7C,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtG,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;;AA1yCU,4CAAgB;AA2lBH,4BAAW,GAA8D;IAC/F,EAAE,GAAG,EAAE,OAAO,EAAM,KAAK,EAAE,mBAAmB,EAAE;IAChD,EAAE,GAAG,EAAE,QAAQ,EAAK,KAAK,EAAE,QAAQ,EAAE;IACrC,EAAE,GAAG,EAAE,QAAQ,EAAK,KAAK,EAAE,QAAQ,EAAE;IACrC,EAAE,GAAG,EAAE,UAAU,EAAG,KAAK,EAAE,UAAU,EAAE;IACvC,EAAE,GAAG,EAAE,UAAU,EAAG,KAAK,EAAE,UAAU,EAAG,QAAQ,EAAE,IAAI,EAAE;IACxD,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;CACzD,AAPkC,CAOjC;2BAlmBS,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;IAMR,WAAA,IAAA,eAAM,EAAC,iBAAQ,CAAC,YAAY,CAAC,CAAA;IAC7B,WAAA,IAAA,eAAM,EAAC,iBAAQ,CAAC,iBAAiB,CAAC,CAAA;qCADgC,2BAAW;QACR,2BAAW;QACpD,wBAAU;QACN,+CAAqB;QAC7B,8BAAa;QACN,6CAAoB;QACnB,+CAAqB;GAX7C,gBAAgB,CA2yC5B"}
|
|
|
|
| 1 |
+
{"version":3,"file":"chat-graph.js","sourceRoot":"","sources":["../../../../../../../apps/agent-service/src/agent/chat-graph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAA4D;AAC5D,yDAAoD;AACpD,+BAAsC;AACtC,oDAA0E;AAC1E,8DAA6D;AAC7D,+CAA2C;AAC3C,uEAAkE;AAClE,qDAAiE;AACjE,qEAAgE;AAEhE,uEAA8E;AAI9E,MAAM,UAAU,GAAG,sBAAU,CAAC,IAAI,CAAC;IAEjC,WAAW,EAAK,CAAA,sBAAkB,CAAA;IAClC,OAAO,EAAS,CAAA,sBAAkB,CAAA;IAGlC,SAAS,EAAO,CAAA,sBAAkB,CAAA;IAClC,KAAK,EAAW,CAAA,sBAAkB,CAAA;IAClC,UAAU,EAAM,CAAA,sBAAkB,CAAA;IAClC,QAAQ,EAAQ,CAAA,sBAAkB,CAAA;IAClC,gBAAgB,EAAE,CAAA,sBAAkB,CAAA;IACpC,OAAO,EAAS,CAAA,sBAA4B,CAAA;IAC5C,aAAa,EAAG,CAAA,sBAA8B,CAAA;IAC9C,aAAa,EAAG,CAAA,sBAAkC,CAAA;IAClD,YAAY,EAAI,CAAA,sBAAe,CAAA;IAC/B,aAAa,EAAG,CAAA,sBAAmB,CAAA;IACnC,eAAe,EAAE,CAAA,sBAA8G,CAAA;IAC/H,UAAU,EAAM,CAAA,sBAAkB,CAAA;IAClC,WAAW,EAAK,CAAA,sBAAkB,CAAA;IAOlC,WAAW,EAAK,CAAA,sBAAyC,CAAA;IAGzD,YAAY,EAAI,CAAA,sBAA2C,CAAA;IAC3D,QAAQ,EAAQ,CAAA,sBAAsB,CAAA;IAGtC,cAAc,EAAE,CAAA,sBAAmB,CAAA;IACnC,cAAc,EAAE,CAAA,sBAAkB,CAAA;IAIlC,SAAS,EAAO,CAAA,sBAAkB,CAAA;IAClC,UAAU,EAAM,CAAA,sBAAkB,CAAA;IAClC,gBAAgB,EAAE,CAAA,sBAAkB,CAAA;IACpC,GAAG,EAAa,CAAA,sBAAyB,CAAA;IACzC,UAAU,EAAM,CAAA,sBAAkB,CAAA;IAClC,WAAW,EAAK,CAAA,sBAAe,CAAA;IAC/B,UAAU,EAAM,CAAA,sBAAyB,CAAA;IACzC,SAAS,EAAO,CAAA,sBAAkB,CAAA;IAClC,MAAM,EAAU,CAAA,sBAAkC,CAAA;IAClD,gBAAgB,EAAE,CAAA,sBAAkB,CAAA;IAGpC,KAAK,EAAW,CAAA,sBAAkB,CAAA;IAClC,UAAU,EAAM,CAAA,sBAAkB,CAAA;IAClC,SAAS,EAAO,CAAA,sBAAkB,CAAA;CACnC,CAAC,CAAC;AAOI,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAI3B,YACiC,iBAA+C,EAC1C,eAA6C,EAChE,UAAsB,EACtB,cAAqC,EACrC,MAAqB,EACrB,aAAmC,EACnC,cAAqC;QANN,sBAAiB,GAAjB,iBAAiB,CAAa;QACzB,oBAAe,GAAf,eAAe,CAAa;QAChE,eAAU,GAAV,UAAU,CAAY;QACtB,mBAAc,GAAd,cAAc,CAAuB;QACrC,WAAM,GAAN,MAAM,CAAe;QACrB,kBAAa,GAAb,aAAa,CAAsB;QACnC,mBAAc,GAAd,cAAc,CAAuB;QAVvC,WAAM,GAAG,IAAI,eAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;QACpD,UAAK,GAA8C,IAAI,CAAC;IAU7D,CAAC;IAKJ,KAAK,CAAC,GAAG,CAAC,KAiBT;QAEC,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEzC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC;YACnC,GAAG,KAAK;YACR,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE;YAChC,eAAe,EAAE,KAAK,CAAC,UAAU;YACjC,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,EAAE;YAClC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;YACpC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,IAAI;YACtC,YAAY,EAAE,MAAe;YAC7B,QAAQ,EAAE,EAAgB;YAC1B,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;YACd,GAAG,EAAE,IAAI;YACT,UAAU,EAAE,CAAC;YACb,gBAAgB,EAAE,EAAE;YACpB,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,SAAS;YACjB,gBAAgB,EAAE,EAAE;YACpB,KAAK,EAAE,EAAE;YACT,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,KAAK,CAAC,KAAK;SACvB,CAAC,CAAC;QAEH,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,WAAW,EAAE,MAAM,CAAC,UAAU;YAC9B,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;YAGrB,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,cAAc;SACxC,CAAC;IACJ,CAAC;IAIO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEO,UAAU;QAChB,MAAM,KAAK,GAAG,IAAI,sBAAU,CAAC,UAAU,CAAC;aAGrC,OAAO,CAAC,gBAAgB,EAAK,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aAC1E,OAAO,CAAC,kBAAkB,EAAG,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;aAC5E,OAAO,CAAC,UAAU,EAAW,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACrE,OAAO,CAAC,cAAc,EAAO,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aACxE,OAAO,CAAC,aAAa,EAAQ,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aACvE,OAAO,CAAC,YAAY,EAAS,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;aACtE,OAAO,CAAC,SAAS,EAAY,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACnE,OAAO,CAAC,iBAAiB,EAAI,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aAC3E,OAAO,CAAC,iBAAiB,EAAI,CAAC,CAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;aAI3E,OAAO,CAAC,iBAAK,EAAE,gBAAgB,CAAC;aAChC,OAAO,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;aAC7C,OAAO,CAAC,kBAAkB,EAAE,UAAU,CAAC;aAGvC,mBAAmB,CAAC,UAAU,EAAE,CAAC,CAAiB,EAAE,EAAE;YACrD,IAAI,CAAC,CAAC,YAAY,KAAK,UAAU,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS;gBAAE,OAAO,iBAAiB,CAAC;YAC5F,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC;aAGD,mBAAmB,CAAC,cAAc,EAAE,CAAC,CAAiB,EAAE,EAAE;YACzD,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,eAAe;gBAAE,OAAO,iBAAiB,CAAC;YAClE,OAAO,aAAa,CAAC;QACvB,CAAC,CAAC;aASD,mBAAmB,CAAC,aAAa,EAAE,CAAC,CAAiB,EAAE,EAAE;YACxD,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,GAAG,CAAC;gBAAE,OAAO,SAAS,CAAC;YACvD,IAAI,CAAC,CAAC,UAAU;gBAAE,OAAO,YAAY,CAAC;YACtC,OAAO,iBAAiB,CAAC;QAC3B,CAAC,CAAC;aAGD,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC;aAGjC,OAAO,CAAC,YAAY,EAAE,eAAG,CAAC;aAC1B,OAAO,CAAC,iBAAiB,EAAE,eAAG,CAAC;aAC/B,OAAO,CAAC,iBAAiB,EAAE,eAAG,CAAC,CAAC;QAEnC,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAYO,KAAK,CAAC,aAAa,CAAC,KAAqB;QAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAGhD,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;YACzD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAC1D,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,eAAe,EACrB,EAAE,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,EAC1E,KAAK,CAAC,OAAO,IAAI,EAAE,CACpB,CAAC;YAKF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAClE,UAAU,EACV,KAAK,CAAC,eAAe,EACrB,KAAK,CAAC,aAAa,IAAI,EAAE,EACzB,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAuB,CACtD,CAAC;YAKF,MAAM,cAAc,GAAG,yHAAyH,CAAC;YACjJ,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAClD,MAAM,YAAY,GAAwB,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;YAW1E,MAAM,oBAAoB,GAAG,UAAU,CAAC;YACxC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAU/D,MAAM,WAAW,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;YACvG,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC,kBAAkB,CACnE,WAAW,CAAC,IAAI,EAChB,CAAC,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EACjE,KAAK,CAAC,aAAa,IAAI,EAAE,EACzB,gBAAgB;gBACd,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE;gBAClC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CACrE,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,2CAA2C,UAAU,aAAa,SAAS,CAAC,MAAM,GAAG;gBACrF,aAAa,UAAU,CAAC,MAAM,SAAS,YAAY,GAAG,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAClG,CAAC;YACF,OAAO;gBACL,cAAc,EAAE,SAAS;gBACzB,SAAS;gBACT,UAAU;gBACV,QAAQ,EAAE,EAAgB;gBAC1B,YAAY;gBACZ,cAAc,EAAE,gBAAgB;aACjC,CAAC;QACJ,CAAC;QAGD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAChD,KAAK,CAAC,gBAAgB,IAAI,EAAE,EAC5B,KAAK,CAAC,aAAa,CACpB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,4EAA4E,QAAQ,CAAC,MAAM,GAAG,CAC/F,CAAC;QACF,OAAO;YACL,cAAc,EAAE,QAAQ;YACxB,SAAS,EAAE,QAAQ;YACnB,UAAU,EAAE,QAAQ;YACpB,QAAQ,EAAE,EAAgB;YAC1B,YAAY,EAAE,MAAM;SACrB,CAAC;IACJ,CAAC;IAMO,KAAK,CAAC,eAAe,CAAC,KAAqB;QACjD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAGhD,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kDAAkD,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC;YACzF,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;QAClC,CAAC;QAGD,MAAM,aAAa,GAAG,KAAK,CAAC;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;gBACjC,IAAA,qBAAc,EACZ,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,YAAG,CAAC,gBAAgB,EAAE;oBAC9C,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,KAAK,EAAE,KAAK,CAAC,WAAW;oBACxB,KAAK,EAAE,CAAC;iBACT,CAAC,CACH;gBACD,IAAI,OAAO,CAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC/B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,oBAAoB,aAAa,IAAI,CAAC,CAAC,EAAE,aAAa,CAAC,CAC1F;aACF,CAAC,CAAC;YAEH,IAAK,OAAe,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,OAAO,GAAI,OAAe,CAAC,OAAO,CAAC,GAAG,CAC1C,CAAC,IAAS,EAAE,CAAS,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,OAAO,EAAE,CAC5E,CAAC;gBACF,MAAM,gBAAgB,GAAG,kCAAkC,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnF,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAmC,OAAe,CAAC,OAAO,CAAC,MAAM,gBAAgB,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;gBACvH,OAAO,EAAE,gBAAgB,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAElB,IAAI,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAC1D,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;IAClC,CAAC;IAMO,KAAK,CAAC,QAAQ,CAAC,KAAqB;QAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAChD,MAAM,aAAa,GAAG;YACpB,iDAAiD;YACjD,wCAAwC;YACxC,0BAA0B;YAC1B,MAAM;SACP,CAAC;QACF,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACrE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,6BAA6B,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,YAAY,gBAAgB,CACpF,CAAC;QACF,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;IAC9C,CAAC;IAOO,KAAK,CAAC,WAAW,CAAC,KAAqB;QAC7C,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;YACzE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;QACvB,CAAC;QAGD,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,IAAI,IAAI,CAAC,YAAY,CAAC;QAChE,IAAI,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;YAC3B,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC;gBAClD,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,cAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAChF,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;YAElB,aAAa,GAAG,wBAAwB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBAC/D,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACjF,OAAO,SAAS,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC;YACrC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;QAGD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC;YAC7C,CAAC,CAAC,4BAA4B,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC;YAC9E,CAAC,CAAC,EAAE,CAAC;QAGP,MAAM,WAAW,GAAsE;YACrF;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE;;;EAGf,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,cAAc;EACvC,aAAa;EACb,KAAK,CAAC,gBAAgB,IAAI,EAAE;;;;;;;;;wFAS0D;aACjF;SACF,CAAC;QAGF,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1C,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAA4B,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,WAAW,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,GAAG,KAAK,CAAC,WAAW,wEAAwE;SACtG,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACxC,QAAQ,EAAE,KAAK,CAAC,UAAU;YAC1B,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI,GAAG,GAAkB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAEjG,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YACjE,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAC5F,CAAC;QAGD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAE3D,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACvF,GAAG,GAAG,IAAI,CAAC;QACb,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IAC3E,CAAC;IAKO,KAAK,CAAC,UAAU,CAAC,KAAqB;QAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAChD,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,eAAe,EAAE,CAAC;YAChD,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;QAC/B,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC;YAEH,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB;mBAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YACpD,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAc,EACjC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAG,CAAC,cAAc,EAAE;gBAC9C,iBAAiB,EAAE,gBAAgB;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,GAAG,EAAE,KAAK,CAAC,GAAG;aACf,CAAC,CACH,CAAC;YAEF,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBAClE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,gBAAgB,EAAE,CAAC;YACjG,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,4BAA4B,MAAM,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;YAGzE,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YAEhC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACtC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC5D,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAEd,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACpC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACpE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEb,SAAS,GAAG,4BAA4B,SAAS,IAAI;oBACnD,8BAA8B,WAAW,QAAQ;oBACjD,uFAAuF,CAAC;gBAG1F,IAAI,MAA8B,CAAC;gBACnC,IAAI,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;oBACvE,IAAI,MAAM;wBAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;gBACpG,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,SAAS,GAAG,4EAA4E;oBACtF,2DAA2D,CAAC;YAChE,CAAC;YAED,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;QAChF,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YAChE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,OAAO,IAAI,eAAe,EAAE,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAClG,CAAC;IACH,CAAC;IAKO,KAAK,CAAC,MAAM,CAAC,KAAqB;QACxC,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,UAAU,eAAe,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAE/G,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACxC,QAAQ,EAAE,KAAK,CAAC,UAAU;YAC1B,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,uEAAuE,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,cAAc,EAAE;iBAC1H;gBACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,KAAK,CAAC,GAAG,eAAe,KAAK,CAAC,UAAU,4CAA4C,EAAE;aAClI;YACD,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;QAEH,IAAI,QAAQ,GAAkB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACtG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,QAAQ,GAAG,IAAI,CAAC;QAElD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8BAA8B,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;QAEzF,OAAO;YACL,GAAG,EAAE,QAAQ,IAAI,KAAK,CAAC,GAAG;YAC1B,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW;SACzD,CAAC;IACJ,CAAC;IAUO,KAAK,CAAC,SAAS,CAAC,KAAqB;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,+CAA+C,KAAK,CAAC,UAAU,uBAAuB,KAAK,CAAC,UAAU,EAAE,CACzG,CAAC;QAEF,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,QAAQ;YACpB,CAAC,CAAC,4GAA4G;YAC9G,CAAC,CAAC,mHAAmH,CAAC;QAExH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC;IAC/E,CAAC;IAMO,KAAK,CAAC,cAAc,CAAC,KAAqB;QAChD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAEhD,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;QAE3C,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAErE,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,cAAc,CAAC;YAC9D,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAC9B,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,CAAC;YACvB,oCAAoC;YACpC,sFAAsF;YACtF,+EAA+E;YAC/E,8EAA8E;YAC9E,6CAA6C;YAC7C,CAAC,OAAO;gBACN,CAAC,CAAC,sLAAsL;gBACxL,CAAC,CAAC,qFAAqF,CAAC;YAC1F,qDAAqD;YACrD,uBAAuB;YACvB,2DAA2D;YAC3D,8DAA8D;YAC9D,4DAA4D;YAC5D,wEAAwE;YACxE,gFAAgF;YAChF,wCAAwC;YACxC,gFAAgF;YAChF,6LAA6L,CAAC;QAEhM,MAAM,QAAQ,GAAsE;YAClF,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE;YAC1C,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAA4B,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3F,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE;SAC7C,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACxC,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM;YACpC,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ;YACR,UAAU,EAAE,KAAK;YAEjB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;SACxC,CAAC,CAAC;QAGH,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,IAAI,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;YAC1E,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBACvC,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM;gBACpC,MAAM,EAAE,KAAK,CAAC,QAAQ;gBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,QAAQ,EAAE;oBACR,GAAG,QAAQ;oBACX,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE;oBACrC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,oHAAoH,EAAE;iBAChJ;gBACD,UAAU,EAAE,KAAK;aAClB,CAAC,CAAC;YACH,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;gBAClD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,WAAW,SAAS,CAAC,CAAC;QAExE,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC9B,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,WAAW;YACxD,SAAS,EAAE,MAAM,CAAC,UAAU;SAC7B,CAAC;IACJ,CAAC;IAkCO,iBAAiB,CAAC,MAAiD;QACzE,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAEvB,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,kBAAgB,CAAC,WAAW,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAMlF,IAAI,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;iBAC9D,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAO/B,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,IAAI,KAAK,GACP,2DAA2D;YAC3D,4CAA4C;YAC5C,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAO5B,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,KAAK;gBACH,sBAAsB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oBAC7C,qEAAqE;oBACrE,wEAAwE;oBACxE,eAAe,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,KAAK,IAAI,2EAA2E,CAAC;QACvF,CAAC;QAID,KAAK,IAAI,yDAAyD,CAAC;QAEnE,OAAO,KAAK,CAAC;IACf,CAAC;IAgBO,mBAAmB,CAAC,KAAqB;QAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC;QAEpC,MAAM,SAAS,GAAG,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC;QAI3E,MAAM,MAAM,GAAG,SAAS,IAAI,CAAC,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAE3C,OAAO,CAKL,kCAAkC,IAAI,CAAC,WAAW,EAAE,wBAAwB;YAC5E,2EAA2E;YAC3E,CAAC,MAAM;gBACL,CAAC,CAAC,yEAAyE;oBACzE,4BAA4B;gBAC9B,CAAC,CAAC,EAAE,CAAC,CACR,CAAC;IACJ,CAAC;IA4BO,WAAW,CAAC,KAAa,EAAE,WAAmB;QACpD,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC;QAI9B,MAAM,KAAK,GACT,4IAA4I,CAAC,IAAI,CAAC,WAAW,CAAC;YAC9J,oFAAoF,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACzG,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,MAAM,GAAG,4BAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,KAAK,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAIlC,OAAO,yCAAyC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI;YAChF,4BAA4B,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC;IACjE,CAAC;IAiBO,aAAa,CAAC,KAAa,EAAE,WAAmB;QACtD,MAAM,IAAI,GAAG,IAAI,GAAG,CAClB,CAAC,WAAW,CAAC,KAAK,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAC/E,CAAC;QAMF,KAAK,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,KAAK,GAAa,EAAE,CAAC;QAG3B,MAAM,aAAa,GACjB,uEAAuE,CAAC;QAC1E,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1C,CAAC;IAyBO,aAAa,CAAC,KAAa,EAAE,WAAW,GAAG,EAAE;QACnD,IAAI,oGAAoG;aACrG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,+CAA+C,EAAE,EAAE,CAAC,CAAC;QAEjF,MAAM,MAAM,GAA4B;YACtC,CAAC,gCAAgC,EAAE,gBAAgB,CAAC;YACpD,CAAC,gCAAgC,EAAE,kBAAkB,CAAC;YACtD,CAAC,uBAAuB,EAAE,kBAAkB,CAAC;YAC7C,CAAC,wEAAwE,EAAE,uBAAuB,CAAC;YACnG,CAAC,uCAAuC,EAAE,WAAW,CAAC;YACtD,CAAC,kDAAkD,EAAE,sBAAsB,CAAC;YAU5E,CAAC,MAAM,EAAE,SAAS,CAAC;YAUnB,CAAC,+IAA+I;gBAC9I,gBAAgB,CAAC;YACnB,CAAC,2CAA2C,EAAE,aAAa,CAAC;SAC7D,CAAC;QAEF,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;YACjC,IAAI,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAAE,OAAO,KAAK,CAAC;QACnC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAcO,UAAU,CAChB,KAAa,EACb,WAAmB,EACnB,MAAiD;QAEjD,MAAM,OAAO,GAAG,MAAM,EAAE,MAAM,CAAC;QAC/B,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAG1B,IAAI,wDAAwD,CAAC,IAAI,CAAC,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QAE5F,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAEpD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,GAAG,GAAG,+BAA+B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACvD,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QAE3C,OAAO,yBAAyB,IAAI,yCAAyC;YAC3E,qCAAqC,GAAG,GAAG,CAAC;IAChD,CAAC;IAcO,gBAAgB,CAAC,KAAa;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC7E,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,MAAM,OAAO,GAAG,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QAEzD,MAAM,MAAM,GAAG,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QACzB,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;aAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aAC5B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3B,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9C,IAAI,GAAG,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC;QAEhC,OAAO,wBAAwB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW;YACtE,GAAG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG;YACnE,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC/B,CAAC;IAmBO,aAAa,CAAC,IAAY;QAChC,MAAM,MAAM,GAAG,OAAO,CAAC;QACvB,MAAM,KAAK,GAAG,cAAc,CAAC;QAC7B,MAAM,KAAK,GAAG,CAAC,GAAW,EAAiB,EAAE;YAC3C,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,mCAAmC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5E,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAChC,CAAC,CAAC;QAKF,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3B,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;QAExC,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,eAAe,CAAC;QACtD,IAAI,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,eAAe,CAAC;QAEpE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,eAAe,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,YAAY,CAClB,KAAa,EACb,MAAiD;QAEjD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;QAC7E,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAUnC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAW,EAAE;YAC1C,IAAI,OAAO,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;gBAAE,OAAO,IAAI,CAAC;YACzE,MAAM,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,qBAAqB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,kBAAgB,CAAC,WAAW;aAC1C,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;aACxB,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAEjC,IAAI,CAAC,KAAK;YAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;QAI3D,IAAI,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAI5E,MAAM,aAAa,GACjB,+JAA+J,CAAC;QAClK,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACtE,IAAI,WAAW,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,gBAAgB,CAAC;QAQ/E,IAAI,QAAQ;YAAE,OAAO,gBAAgB,CAAC;QAEtC,OAAO,IAAI,CAAC;IACd,CAAC;IAMO,KAAK,CAAC,cAAc,CAAC,KAAqB;QAChD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,KAAK,MAAM;YAAE,QAAQ,CAAC;QAChD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAErE,IAAI,WAAmB,CAAC;QACxB,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,WAAW,GAAG,0DAA0D;gBACtE,gGAAgG,CAAC;QACrG,CAAC;aAAM,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YAQhC,WAAW,GAAG,uDAAuD;gBACnE,6DAA6D;gBAC7D,kEAAkE;gBAClE,mDAAmD,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,4EAA4E;gBACxF,wDAAwD;gBACxD,uFAAuF;gBACvF,wDAAwD;gBACxD,4DAA4D;gBAC5D,qDAAqD;gBACrD,sCAAsC,CAAC;QAC3C,CAAC;QAGD,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEjD,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,cAAc,CAAC;YAC9D,CAAC,KAAK,CAAC,gBAAgB,IAAI,EAAE,CAAC;YAC9B,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,yBAAyB,GAAG,WAAW;YACvC,QAAQ;YACR,8DAA8D;YAM9D,iCAAiC,CAAC;QAEpC,MAAM,QAAQ,GAAsE;YAClF,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE;YAC1C,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAA4B,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3F,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,EAAE;SAC7C,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACxC,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM;YACpC,MAAM,EAAE,KAAK,CAAC,QAAQ;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,QAAQ;YACR,UAAU,EAAE,KAAK;YAEjB,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;SACxC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,2BAA2B,MAAM,CAAC,WAAW,SAAS,CAAC,CAAC;QAExE,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;QAUhC,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc;YAChC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC;mBACxC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;mBAC5B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAClE,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc;YAChC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,cAAuB,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACjF,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,KAAK;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,KAAK,EAAE,CAAC,CAAC;QAMlF,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC;gBAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;oBACxC,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM;oBACpC,MAAM,EAAE,KAAK,CAAC,QAAQ;oBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,QAAQ;4BASd,OAAO,EACL,gCAAgC;gCAChC,CAAC,KAAK,KAAK,cAAc;oCACvB,CAAC,CAAC,GAAG,KAAK,IAAI;wCACZ,yEAAyE;wCACzE,yEAAyE;wCACzE,wEAAwE;wCACxE,wEAAwE;wCACxE,uEAAuE;wCACvE,0CAA0C;wCAC1C,wEAAwE;wCACxE,wEAAwE;wCACxE,uEAAuE;wCACvE,wDAAwD;oCAC1D,CAAC,CAAC,KAAK,KAAK,gBAAgB;wCAC5B,CAAC,CAAC,sEAAsE;4CACtE,uEAAuE;4CACvE,uEAAuE;4CACvE,wBAAwB;4CACxB,wEAAwE;4CACxE,0EAA0E;4CAC1E,yEAAyE;4CACzE,qEAAqE;4CACrE,kCAAkC;wCACpC,CAAC,CAAC,KAAK,KAAK,eAAe;4CAC3B,CAAC,CAAC,wEAAwE;gDACxE,sEAAsE;gDACtE,0CAA0C;gDAC1C,iEAAiE;gDACjE,wDAAwD;gDACxD,yCAAyC;gDACzC,gEAAgE;gDAChE,iDAAiD;gDACjD,yCAAyC;gDACzC,wCAAwC;gDACxC,yEAAyE;gDACzE,mEAAmE;gDACnE,wBAAwB;4CAC1B,CAAC,CAAC,KAAK,KAAK,gBAAgB;gDAC5B,CAAC,CAAC,wEAAwE;oDACxE,sEAAsE;oDACtE,wBAAwB;oDACxB,0EAA0E;oDAC1E,wEAAwE;oDACxE,kEAAkE;oDAClE,+BAA+B;oDAC/B,yEAAyE;oDACzE,wEAAwE;oDACxE,uDAAuD;gDACzD,CAAC,CAAC,2EAA2E;oDAC3E,2DAA2D,CAAC;gCAChE,gFAAgF;gCAChF,6DAA6D;gCAC7D,CAAC,KAAK;oCACJ,CAAC,CAAC,qEAAqE;wCACrE,4DAA4D;oCAC9D,CAAC,CAAC,EAAE,CAAC;gCACP,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,aAAa,EAAE,CAAC;yBAC7C;wBACD,GAAG,CAAC,KAAK;4BACP,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAA4B,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;wBAW7F;4BACE,IAAI,EAAE,MAAM;4BACZ,OAAO,EACL,GAAG,KAAK,CAAC,WAAW,MAAM;gCAC1B,wEAAwE;gCACxE,GAAG,KAAK,IAAI;gCACZ,2BAA2B;yBAC9B;qBACF;oBACD,UAAU,EAAE,IAAI;iBACjB,CAAC,CAAC;gBACH,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;gBAC9E,MAAM,KAAK,GAAG,+CAA+C,CAAC;gBAC9D,IAAI,KAAK,EAAE,CAAC;oBAIV,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBACtB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,8CAA8C,KAAK,GAAG,CAAC,CAAC;oBAC1E,CAAC;yBAAM,CAAC;wBACN,KAAK,GAAG,GAAG,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;wBAClC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,wDAAwD,KAAK,GAAG,CAAC,CAAC;oBACpF,CAAC;oBACD,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;oBAClC,MAAM;gBACR,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,iCAAiC,OAAO,GAAG,CAAC,0BAA0B,KAAK,GAAG,CAC/E,CAAC;gBACF,MAAM,IAAI,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;YACpC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAGlB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;gBACrF,MAAM;YACR,CAAC;QACH,CAAC;QAKD,IAAI,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,+CAA+C,CAAC;YAC9D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAI,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,gDAAgD,MAAM,CAAC,MAAM,WAAW;oBACxE,YAAY,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CACvD,CAAC;gBACF,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACrC,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM;wBACpC,MAAM,EAAE,KAAK,CAAC,QAAQ;wBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,QAAQ,EAAE;4BACR;gCACE,IAAI,EAAE,QAAQ;gCACd,OAAO,EACL,6CAA6C;oCAC7C,2EAA2E;oCAC3E,+DAA+D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oCACrF,0EAA0E;oCAC1E,kDAAkD;oCAClD,sEAAsE;oCACtE,kCAAkC;6BACrC;4BACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;yBACjC;wBACD,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;oBAC1D,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;wBACzC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACjC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;wBAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CACb,IAAI,CAAC,MAAM;4BACT,CAAC,CAAC,+CAA+C,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;4BAClF,CAAC,CAAC,8CAA8C,CACnD,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;oBAC/F,CAAC;oBACD,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;gBACjC,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAElB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;gBAC5F,CAAC;YACH,CAAC;QACH,CAAC;QAOD,IAAI,KAAK,CAAC,cAAc,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YAC3D,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,8DAA8D,KAAK,KAAK;oBACxE,sDAAsD,CACvD,CAAC;gBACF,MAAM,MAAM,GAAG,+CAA+C,CAAC;gBAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC/C,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;wBACrC,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,MAAM;wBACpC,MAAM,EAAE,KAAK,CAAC,QAAQ;wBACtB,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,QAAQ,EAAE;4BACR;gCACE,IAAI,EAAE,QAAQ;gCACd,OAAO,EACL,6BAA6B;oCAC7B,8DAA8D,KAAK,MAAM;oCACzE,uEAAuE;oCACvE,0DAA0D;oCAC1D,yEAAyE;oCACzE,yCAAyC;oCACzC,oEAAoE;oCACpE,mEAAmE;oCACnE,eAAe;oCACf,mDAAmD;6BACtD;4BACD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE;yBACjC;wBACD,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzD,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;4BACjC,CAAC,CAAC,GAAG,KAAK,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAE,CAAC,CAAC,CAAC,EAAE;4BAC1C,CAAC,CAAC,KAAK,CAAC;wBACV,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;4BACpD,KAAK,GAAG,OAAO,CAAC;4BAChB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;wBACrE,CAAC;6BAAM,CAAC;4BACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qEAAqE,CAAC,CAAC;wBAC1F,CAAC;oBACH,CAAC;oBACD,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC;gBACjC,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yDAAyD,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,CAAC,CAAC;gBACnG,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK;YACL,UAAU,EAAE,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,MAAM;YAC5C,SAAS,EAAE,MAAM,CAAC,UAAU;SAC7B,CAAC;IACJ,CAAC;IASO,WAAW,CAAC,IAAY;QAC9B,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,OAAO,IAAI;aAER,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;aACtC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;aACtC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;aACtC,OAAO,CAAC,uBAAuB,EAAE,EAAE,CAAC;aACpC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;aAE3B,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC;aAC1B,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,OAAO,CAAC,SAAiB;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC;QAC7C,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtG,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtE,CAAC;;AA14CU,4CAAgB;AA2lBH,4BAAW,GAA8D;IAC/F,EAAE,GAAG,EAAE,OAAO,EAAM,KAAK,EAAE,mBAAmB,EAAE;IAChD,EAAE,GAAG,EAAE,QAAQ,EAAK,KAAK,EAAE,QAAQ,EAAE;IACrC,EAAE,GAAG,EAAE,QAAQ,EAAK,KAAK,EAAE,QAAQ,EAAE;IACrC,EAAE,GAAG,EAAE,UAAU,EAAG,KAAK,EAAE,UAAU,EAAE;IACvC,EAAE,GAAG,EAAE,UAAU,EAAG,KAAK,EAAE,UAAU,EAAG,QAAQ,EAAE,IAAI,EAAE;IACxD,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE;IAIxD,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,IAAI,EAAE;IACjE,EAAE,GAAG,EAAE,UAAU,EAAG,KAAK,EAAE,kBAAkB,EAAI,QAAQ,EAAE,IAAI,EAAE;CAClE,AAZkC,CAYjC;2BAvmBS,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;IAMR,WAAA,IAAA,eAAM,EAAC,iBAAQ,CAAC,YAAY,CAAC,CAAA;IAC7B,WAAA,IAAA,eAAM,EAAC,iBAAQ,CAAC,iBAAiB,CAAC,CAAA;qCADgC,2BAAW;QACR,2BAAW;QACpD,wBAAU;QACN,+CAAqB;QAC7B,8BAAa;QACN,6CAAoB;QACnB,+CAAqB;GAX7C,gBAAgB,CA24C5B"}
|
apps/agent-service/apps/agent-service/src/agent/xtroedge.service.d.ts
CHANGED
|
@@ -20,6 +20,8 @@ export declare class XtroEdgeService {
|
|
| 20 |
private static readonly ONE_SHOT_MAX_TOKENS;
|
| 21 |
private readonly threads;
|
| 22 |
private static readonly THREAD_TTL_MS;
|
|
|
|
|
|
|
| 23 |
private baseUrl;
|
| 24 |
private resolveModel;
|
| 25 |
chat(options: XtroEdgeChatOptions): Promise<XtroEdgeChatResult>;
|
|
|
|
| 20 |
private static readonly ONE_SHOT_MAX_TOKENS;
|
| 21 |
private readonly threads;
|
| 22 |
private static readonly THREAD_TTL_MS;
|
| 23 |
+
private static readonly BURST_BACKOFF_MS;
|
| 24 |
+
private static readonly TOKEN_RATE_BACKOFF_MS;
|
| 25 |
private baseUrl;
|
| 26 |
private resolveModel;
|
| 27 |
chat(options: XtroEdgeChatOptions): Promise<XtroEdgeChatResult>;
|
apps/agent-service/apps/agent-service/src/agent/xtroedge.service.js
CHANGED
|
@@ -134,7 +134,7 @@ let XtroEdgeService = XtroEdgeService_1 = class XtroEdgeService {
|
|
| 134 |
async request(apiKey, method, path, body) {
|
| 135 |
const url = `${this.baseUrl()}${path}`;
|
| 136 |
const timeoutMs = Math.max(1, parseInt(process.env.LLM_TIMEOUT_SECONDS || '25', 10)) * 1000;
|
| 137 |
-
const maxAttempts =
|
| 138 |
for (let attempt = 1;; attempt++) {
|
| 139 |
const controller = new AbortController();
|
| 140 |
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
@@ -168,12 +168,24 @@ let XtroEdgeService = XtroEdgeService_1 = class XtroEdgeService {
|
|
| 168 |
const detail = await this.readDetail(response);
|
| 169 |
if (response.status === 429) {
|
| 170 |
const quota = /^(daily_requests|monthly_requests|daily_tokens)/i.test(detail);
|
|
|
|
| 171 |
if (!quota && attempt < maxAttempts) {
|
| 172 |
-
const
|
| 173 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 174 |
await new Promise((r) => setTimeout(r, waitMs));
|
| 175 |
continue;
|
| 176 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 177 |
}
|
| 178 |
if ((response.status === 502 || response.status === 504) && attempt === 1) {
|
| 179 |
this.logger.warn(`[XTROEDGE] upstream ${response.status} — retrying once`);
|
|
@@ -211,6 +223,8 @@ XtroEdgeService.MODELS = {
|
|
| 211 |
XtroEdgeService.DEFAULT_MODEL = 'XtroEdge Pro v3';
|
| 212 |
XtroEdgeService.ONE_SHOT_MAX_TOKENS = 16_000;
|
| 213 |
XtroEdgeService.THREAD_TTL_MS = 6 * 60 * 60 * 1000;
|
|
|
|
|
|
|
| 214 |
exports.XtroEdgeService = XtroEdgeService = XtroEdgeService_1 = __decorate([
|
| 215 |
(0, common_1.Injectable)()
|
| 216 |
], XtroEdgeService);
|
|
|
|
| 134 |
async request(apiKey, method, path, body) {
|
| 135 |
const url = `${this.baseUrl()}${path}`;
|
| 136 |
const timeoutMs = Math.max(1, parseInt(process.env.LLM_TIMEOUT_SECONDS || '25', 10)) * 1000;
|
| 137 |
+
const maxAttempts = XtroEdgeService_1.BURST_BACKOFF_MS.length + 1;
|
| 138 |
for (let attempt = 1;; attempt++) {
|
| 139 |
const controller = new AbortController();
|
| 140 |
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
|
|
| 168 |
const detail = await this.readDetail(response);
|
| 169 |
if (response.status === 429) {
|
| 170 |
const quota = /^(daily_requests|monthly_requests|daily_tokens)/i.test(detail);
|
| 171 |
+
const tokenRate = /token rate limit|tokens this minute/i.test(detail);
|
| 172 |
if (!quota && attempt < maxAttempts) {
|
| 173 |
+
const schedule = tokenRate
|
| 174 |
+
? XtroEdgeService_1.TOKEN_RATE_BACKOFF_MS
|
| 175 |
+
: XtroEdgeService_1.BURST_BACKOFF_MS;
|
| 176 |
+
const advised = Number(response.headers.get('retry-after'));
|
| 177 |
+
const waitMs = Number.isFinite(advised) && advised > 0
|
| 178 |
+
? Math.min(advised * 1000, 30_000)
|
| 179 |
+
: schedule[attempt - 1] ?? schedule[schedule.length - 1];
|
| 180 |
+
this.logger.warn(`[XTROEDGE] ${tokenRate ? 'token rate' : 'burst'} limit — ` +
|
| 181 |
+
`retrying in ${waitMs}ms (${attempt}/${maxAttempts}): ${detail.slice(0, 120)}`);
|
| 182 |
await new Promise((r) => setTimeout(r, waitMs));
|
| 183 |
continue;
|
| 184 |
}
|
| 185 |
+
if (quota)
|
| 186 |
+
this.logger.error(`[XTROEDGE] quota trip — not retryable: ${detail}`);
|
| 187 |
+
else
|
| 188 |
+
this.logger.error(`[XTROEDGE] rate limit survived ${maxAttempts} attempts: ${detail}`);
|
| 189 |
}
|
| 190 |
if ((response.status === 502 || response.status === 504) && attempt === 1) {
|
| 191 |
this.logger.warn(`[XTROEDGE] upstream ${response.status} — retrying once`);
|
|
|
|
| 223 |
XtroEdgeService.DEFAULT_MODEL = 'XtroEdge Pro v3';
|
| 224 |
XtroEdgeService.ONE_SHOT_MAX_TOKENS = 16_000;
|
| 225 |
XtroEdgeService.THREAD_TTL_MS = 6 * 60 * 60 * 1000;
|
| 226 |
+
XtroEdgeService.BURST_BACKOFF_MS = [1_000, 3_000, 7_000];
|
| 227 |
+
XtroEdgeService.TOKEN_RATE_BACKOFF_MS = [5_000, 12_000, 20_000];
|
| 228 |
exports.XtroEdgeService = XtroEdgeService = XtroEdgeService_1 = __decorate([
|
| 229 |
(0, common_1.Injectable)()
|
| 230 |
], XtroEdgeService);
|
apps/agent-service/apps/agent-service/src/agent/xtroedge.service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"version":3,"file":"xtroedge.service.js","sourceRoot":"","sources":["../../../../../../../apps/agent-service/src/agent/xtroedge.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AAoE7C,IAAM,eAAe,uBAArB,MAAM,eAAe;IAArB;QACY,WAAM,GAAG,IAAI,eAAM,CAAC,iBAAe,CAAC,IAAI,CAAC,CAAC;QA4B1C,YAAO,GAAG,IAAI,GAAG,EAG/B,CAAC;
|
|
|
|
| 1 |
+
{"version":3,"file":"xtroedge.service.js","sourceRoot":"","sources":["../../../../../../../apps/agent-service/src/agent/xtroedge.service.ts"],"names":[],"mappings":"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"}
|
apps/agent-service/tsconfig.app.tsbuildinfo
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
apps/api-gateway/apps/api-gateway/src/chat/chat.controller.d.ts
CHANGED
|
@@ -30,4 +30,13 @@ export declare class ChatController {
|
|
| 30 |
createdAt: Date;
|
| 31 |
}[];
|
| 32 |
}>;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
}
|
|
|
|
| 30 |
createdAt: Date;
|
| 31 |
}[];
|
| 32 |
}>;
|
| 33 |
+
listConversations(req: any, userIdentifier: string, limit?: string): Promise<{
|
| 34 |
+
conversations: {
|
| 35 |
+
sessionId: string;
|
| 36 |
+
title: string;
|
| 37 |
+
messageCount: number;
|
| 38 |
+
createdAt: Date;
|
| 39 |
+
lastMessageAt: Date;
|
| 40 |
+
}[];
|
| 41 |
+
}>;
|
| 42 |
}
|
apps/api-gateway/apps/api-gateway/src/chat/chat.controller.js
CHANGED
|
@@ -28,6 +28,9 @@ let ChatController = class ChatController {
|
|
| 28 |
getHistory(req, sessionId) {
|
| 29 |
return this.chatService.getHistory(req.agent, sessionId);
|
| 30 |
}
|
|
|
|
|
|
|
|
|
|
| 31 |
};
|
| 32 |
exports.ChatController = ChatController;
|
| 33 |
__decorate([
|
|
@@ -54,6 +57,22 @@ __decorate([
|
|
| 54 |
__metadata("design:paramtypes", [Object, String]),
|
| 55 |
__metadata("design:returntype", void 0)
|
| 56 |
], ChatController.prototype, "getHistory", null);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 57 |
exports.ChatController = ChatController = __decorate([
|
| 58 |
(0, swagger_1.ApiTags)('Chat'),
|
| 59 |
(0, swagger_1.ApiSecurity)('api-key'),
|
|
|
|
| 28 |
getHistory(req, sessionId) {
|
| 29 |
return this.chatService.getHistory(req.agent, sessionId);
|
| 30 |
}
|
| 31 |
+
listConversations(req, userIdentifier, limit) {
|
| 32 |
+
return this.chatService.listConversations(req.agent, userIdentifier, Number(limit) || 50);
|
| 33 |
+
}
|
| 34 |
};
|
| 35 |
exports.ChatController = ChatController;
|
| 36 |
__decorate([
|
|
|
|
| 57 |
__metadata("design:paramtypes", [Object, String]),
|
| 58 |
__metadata("design:returntype", void 0)
|
| 59 |
], ChatController.prototype, "getHistory", null);
|
| 60 |
+
__decorate([
|
| 61 |
+
(0, common_1.Get)('conversations'),
|
| 62 |
+
(0, swagger_1.ApiOperation)({
|
| 63 |
+
summary: "List a user's conversations",
|
| 64 |
+
description: 'Every conversation for one user_identifier, newest activity first, with a ' +
|
| 65 |
+
'title taken from the opening message and the stored message count. The ' +
|
| 66 |
+
'widget builds its History tab from this, so the list follows the person ' +
|
| 67 |
+
'rather than the browser they happened to use.',
|
| 68 |
+
}),
|
| 69 |
+
__param(0, (0, common_1.Request)()),
|
| 70 |
+
__param(1, (0, common_1.Query)('user_identifier')),
|
| 71 |
+
__param(2, (0, common_1.Query)('limit')),
|
| 72 |
+
__metadata("design:type", Function),
|
| 73 |
+
__metadata("design:paramtypes", [Object, String, String]),
|
| 74 |
+
__metadata("design:returntype", void 0)
|
| 75 |
+
], ChatController.prototype, "listConversations", null);
|
| 76 |
exports.ChatController = ChatController = __decorate([
|
| 77 |
(0, swagger_1.ApiTags)('Chat'),
|
| 78 |
(0, swagger_1.ApiSecurity)('api-key'),
|
apps/api-gateway/apps/api-gateway/src/chat/chat.controller.js.map
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"version":3,"file":"chat.controller.js","sourceRoot":"","sources":["../../../../../../../apps/api-gateway/src/chat/chat.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwF;AACxF,6CAAqE;AACrE,gEAA2D;AAC3D,iDAA6C;AAC7C,6DAAwD;AAMjD,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAOzD,WAAW,CAAY,GAAG,EAAU,GAAmB;QACrD,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAOD,UAAU,CAAY,GAAG,EAAuB,SAAiB;QAC/D,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;CACF,CAAA;
|
|
|
|
| 1 |
+
{"version":3,"file":"chat.controller.js","sourceRoot":"","sources":["../../../../../../../apps/api-gateway/src/chat/chat.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAwF;AACxF,6CAAqE;AACrE,gEAA2D;AAC3D,iDAA6C;AAC7C,6DAAwD;AAMjD,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,YAA6B,WAAwB;QAAxB,gBAAW,GAAX,WAAW,CAAa;IAAG,CAAC;IAOzD,WAAW,CAAY,GAAG,EAAU,GAAmB;QACrD,OAAO,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAOD,UAAU,CAAY,GAAG,EAAuB,SAAiB;QAC/D,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAWD,iBAAiB,CACJ,GAAG,EACY,cAAsB,EAChC,KAAc;QAE9B,OAAO,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5F,CAAC;CACF,CAAA;AArCY,wCAAc;AAQzB;IALC,IAAA,aAAI,EAAC,SAAS,CAAC;IACf,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,iDAAiD;QAC1D,WAAW,EAAE,gDAAgD;KAC9D,CAAC;IACW,WAAA,IAAA,gBAAO,GAAE,CAAA;IAAO,WAAA,IAAA,aAAI,GAAE,CAAA;;6CAAM,iCAAc;;iDAEtD;AAOD;IALC,IAAA,YAAG,EAAC,SAAS,CAAC;IACd,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,gCAAgC;QACzC,WAAW,EAAE,6CAA6C;KAC3D,CAAC;IACU,WAAA,IAAA,gBAAO,GAAE,CAAA;IAAO,WAAA,IAAA,cAAK,EAAC,YAAY,CAAC,CAAA;;;;gDAE9C;AAWD;IATC,IAAA,YAAG,EAAC,eAAe,CAAC;IACpB,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,6BAA6B;QACtC,WAAW,EACT,4EAA4E;YAC5E,yEAAyE;YACzE,0EAA0E;YAC1E,+CAA+C;KAClD,CAAC;IAEC,WAAA,IAAA,gBAAO,GAAE,CAAA;IACT,WAAA,IAAA,cAAK,EAAC,iBAAiB,CAAC,CAAA;IACxB,WAAA,IAAA,cAAK,EAAC,OAAO,CAAC,CAAA;;;;uDAGhB;yBApCU,cAAc;IAJ1B,IAAA,iBAAO,EAAC,MAAM,CAAC;IACf,IAAA,qBAAW,EAAC,SAAS,CAAC;IACtB,IAAA,kBAAS,EAAC,2BAAW,CAAC;IACtB,IAAA,mBAAU,EAAC,MAAM,CAAC;qCAEyB,0BAAW;GAD1C,cAAc,CAqC1B"}
|
apps/api-gateway/apps/api-gateway/src/chat/chat.service.d.ts
CHANGED
|
@@ -20,6 +20,15 @@ export declare class ChatService {
|
|
| 20 |
createdAt: Date;
|
| 21 |
}[];
|
| 22 |
}>;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
sendMessage(agent: Agent, dto: SendMessageDto): Promise<{
|
| 24 |
session_id: string;
|
| 25 |
reply: string;
|
|
@@ -58,6 +67,9 @@ export declare class ChatService {
|
|
| 58 |
private extractChatUi;
|
| 59 |
private static readonly CARD_TEXT;
|
| 60 |
private static readonly AUDIENCE_AR;
|
|
|
|
|
|
|
|
|
|
| 61 |
private static readonly COUNTRY_AR;
|
| 62 |
private audienceIn;
|
| 63 |
private countriesIn;
|
|
|
|
| 20 |
createdAt: Date;
|
| 21 |
}[];
|
| 22 |
}>;
|
| 23 |
+
listConversations(agent: Agent, userIdentifier: string, limit?: number): Promise<{
|
| 24 |
+
conversations: {
|
| 25 |
+
sessionId: string;
|
| 26 |
+
title: string;
|
| 27 |
+
messageCount: number;
|
| 28 |
+
createdAt: Date;
|
| 29 |
+
lastMessageAt: Date;
|
| 30 |
+
}[];
|
| 31 |
+
}>;
|
| 32 |
sendMessage(agent: Agent, dto: SendMessageDto): Promise<{
|
| 33 |
session_id: string;
|
| 34 |
reply: string;
|
|
|
|
| 67 |
private extractChatUi;
|
| 68 |
private static readonly CARD_TEXT;
|
| 69 |
private static readonly AUDIENCE_AR;
|
| 70 |
+
private static readonly OBJECTIVE_AR;
|
| 71 |
+
private static readonly CATEGORY_AR;
|
| 72 |
+
private taxonomyIn;
|
| 73 |
private static readonly COUNTRY_AR;
|
| 74 |
private audienceIn;
|
| 75 |
private countriesIn;
|
apps/api-gateway/apps/api-gateway/src/chat/chat.service.js
CHANGED
|
@@ -56,6 +56,51 @@ let ChatService = ChatService_1 = class ChatService {
|
|
| 56 |
})),
|
| 57 |
};
|
| 58 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 59 |
async sendMessage(agent, dto) {
|
| 60 |
if (process.env.DEBUG_MODE === 'true')
|
| 61 |
debugger;
|
|
@@ -427,10 +472,28 @@ let ChatService = ChatService_1 = class ChatService {
|
|
| 427 |
const t = brief.type.trim();
|
| 428 |
fields.push({ label: T.contestType, value: T.types[t] || t });
|
| 429 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 430 |
if (!fields.length)
|
| 431 |
return;
|
| 432 |
-
const
|
| 433 |
-
const
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 434 |
ui.card = {
|
| 435 |
title,
|
| 436 |
...(subtitle ? { subtitle } : {}),
|
|
@@ -562,6 +625,16 @@ let ChatService = ChatService_1 = class ChatService {
|
|
| 562 |
}
|
| 563 |
return { text, ui: hasUi ? clean : undefined, slots };
|
| 564 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 565 |
audienceIn(value, lang) {
|
| 566 |
if (lang !== 'ar' || !value)
|
| 567 |
return value;
|
|
@@ -669,6 +742,10 @@ let ChatService = ChatService_1 = class ChatService {
|
|
| 669 |
out.name = str(brief.name);
|
| 670 |
if (str(brief.description))
|
| 671 |
out.theme = str(brief.description);
|
|
|
|
|
|
|
|
|
|
|
|
|
| 672 |
if (Array.isArray(brief.levels) && brief.levels.length) {
|
| 673 |
const types = brief.levels
|
| 674 |
.map((l) => str(l?.type))
|
|
@@ -766,6 +843,7 @@ ChatService.CARD_TEXT = {
|
|
| 766 |
levels: 'Levels', prizes: 'Prizes', dates: 'Dates', duration: 'Duration',
|
| 767 |
audience: 'Audience', where: 'Where', winners: 'Winners', draw: 'Draw',
|
| 768 |
contestType: 'Contest type', fallbackTitle: 'Your contest',
|
|
|
|
| 769 |
total: 'total', week: 'week(s)', days: 'days',
|
| 770 |
everywhereExcept: (c) => `Everywhere except ${c}`,
|
| 771 |
draws: {
|
|
@@ -779,6 +857,7 @@ ChatService.CARD_TEXT = {
|
|
| 779 |
levels: 'المراحل', prizes: 'الجوائز', dates: 'التواريخ', duration: 'المدة',
|
| 780 |
audience: 'الجمهور', where: 'النطاق', winners: 'الفائزون', draw: 'طريقة الاختيار',
|
| 781 |
contestType: 'نوع المسابقة', fallbackTitle: 'مسابقتك',
|
|
|
|
| 782 |
total: 'الإجمالي', week: 'أسبوع', days: 'يوم',
|
| 783 |
everywhereExcept: (c) => `كل الدول ما عدا ${c}`,
|
| 784 |
draws: {
|
|
@@ -812,6 +891,45 @@ ChatService.AUDIENCE_AR = [
|
|
| 812 |
[/\bover\b/gi, 'أكثر من'],
|
| 813 |
[/\bunder\b/gi, 'أقل من'],
|
| 814 |
];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 815 |
ChatService.COUNTRY_AR = {
|
| 816 |
'saudi arabia': 'السعودية',
|
| 817 |
'united arab emirates': 'الإمارات',
|
|
|
|
| 56 |
})),
|
| 57 |
};
|
| 58 |
}
|
| 59 |
+
async listConversations(agent, userIdentifier, limit = 50) {
|
| 60 |
+
if (!userIdentifier)
|
| 61 |
+
return { conversations: [] };
|
| 62 |
+
const conversations = await this.convRepo.find({
|
| 63 |
+
where: { agent_id: agent.id, user_identifier: userIdentifier },
|
| 64 |
+
order: { created_at: 'DESC' },
|
| 65 |
+
take: Math.min(Math.max(Number(limit) || 50, 1), 200),
|
| 66 |
+
});
|
| 67 |
+
if (!conversations.length)
|
| 68 |
+
return { conversations: [] };
|
| 69 |
+
const firstMessages = await this.msgRepo.find({
|
| 70 |
+
where: {
|
| 71 |
+
conversation_id: (0, typeorm_2.In)(conversations.map(c => c.id)),
|
| 72 |
+
role: shared_1.MessageRole.USER,
|
| 73 |
+
},
|
| 74 |
+
order: { created_at: 'ASC' },
|
| 75 |
+
select: ['conversation_id', 'content', 'created_at'],
|
| 76 |
+
});
|
| 77 |
+
const titleFor = new Map();
|
| 78 |
+
for (const m of firstMessages) {
|
| 79 |
+
if (!titleFor.has(m.conversation_id)) {
|
| 80 |
+
titleFor.set(m.conversation_id, m.content.replace(/\s+/g, ' ').trim().slice(0, 80));
|
| 81 |
+
}
|
| 82 |
+
}
|
| 83 |
+
const lastMessages = await this.msgRepo.find({
|
| 84 |
+
where: { conversation_id: (0, typeorm_2.In)(conversations.map(c => c.id)) },
|
| 85 |
+
order: { created_at: 'DESC' },
|
| 86 |
+
select: ['conversation_id', 'created_at'],
|
| 87 |
+
});
|
| 88 |
+
const lastAt = new Map();
|
| 89 |
+
for (const m of lastMessages) {
|
| 90 |
+
if (!lastAt.has(m.conversation_id))
|
| 91 |
+
lastAt.set(m.conversation_id, m.created_at);
|
| 92 |
+
}
|
| 93 |
+
const rows = conversations.map(c => ({
|
| 94 |
+
sessionId: c.session_id,
|
| 95 |
+
title: titleFor.get(c.id) || 'New Chat',
|
| 96 |
+
messageCount: c.message_count ?? 0,
|
| 97 |
+
createdAt: c.created_at,
|
| 98 |
+
lastMessageAt: lastAt.get(c.id) ?? c.created_at,
|
| 99 |
+
}));
|
| 100 |
+
rows.sort((a, b) => +new Date(b.lastMessageAt) - +new Date(a.lastMessageAt));
|
| 101 |
+
this.logger.log(`[CHAT_LIST] user=${userIdentifier} conversations=${rows.length}`);
|
| 102 |
+
return { conversations: rows };
|
| 103 |
+
}
|
| 104 |
async sendMessage(agent, dto) {
|
| 105 |
if (process.env.DEBUG_MODE === 'true')
|
| 106 |
debugger;
|
|
|
|
| 472 |
const t = brief.type.trim();
|
| 473 |
fields.push({ label: T.contestType, value: T.types[t] || t });
|
| 474 |
}
|
| 475 |
+
if (typeof brief.business_objective === 'string' && brief.business_objective.trim()) {
|
| 476 |
+
fields.push({
|
| 477 |
+
label: T.objective,
|
| 478 |
+
value: this.taxonomyIn(brief.business_objective.trim(), ChatService_1.OBJECTIVE_AR, lang),
|
| 479 |
+
});
|
| 480 |
+
}
|
| 481 |
+
if (typeof brief.contest_category === 'string' && brief.contest_category.trim()) {
|
| 482 |
+
fields.push({
|
| 483 |
+
label: T.category,
|
| 484 |
+
value: this.taxonomyIn(brief.contest_category.trim(), ChatService_1.CATEGORY_AR, lang),
|
| 485 |
+
});
|
| 486 |
+
}
|
| 487 |
if (!fields.length)
|
| 488 |
return;
|
| 489 |
+
const arabicName = String(brief.arabic_name ?? '').trim();
|
| 490 |
+
const englishName = String(brief.name ?? '').trim();
|
| 491 |
+
const title = (lang === 'ar' ? arabicName || englishName : englishName || arabicName)
|
| 492 |
+
|| ui.card?.title || T.fallbackTitle;
|
| 493 |
+
const arabicDesc = String(brief.arabic_description ?? '').trim();
|
| 494 |
+
const englishDesc = String(brief.description ?? '').trim();
|
| 495 |
+
const subtitle = (lang === 'ar' ? arabicDesc || englishDesc : englishDesc || arabicDesc)
|
| 496 |
+
|| ui.card?.subtitle;
|
| 497 |
ui.card = {
|
| 498 |
title,
|
| 499 |
...(subtitle ? { subtitle } : {}),
|
|
|
|
| 625 |
}
|
| 626 |
return { text, ui: hasUi ? clean : undefined, slots };
|
| 627 |
}
|
| 628 |
+
taxonomyIn(value, table, lang) {
|
| 629 |
+
if (lang !== 'ar' || !value)
|
| 630 |
+
return value;
|
| 631 |
+
return value
|
| 632 |
+
.split(',')
|
| 633 |
+
.map(v => v.trim())
|
| 634 |
+
.filter(Boolean)
|
| 635 |
+
.map(v => table[v.toLowerCase().replace(/\s*&\s*/g, ' and ').replace(/\s+/g, ' ')] ?? v)
|
| 636 |
+
.join('، ');
|
| 637 |
+
}
|
| 638 |
audienceIn(value, lang) {
|
| 639 |
if (lang !== 'ar' || !value)
|
| 640 |
return value;
|
|
|
|
| 742 |
out.name = str(brief.name);
|
| 743 |
if (str(brief.description))
|
| 744 |
out.theme = str(brief.description);
|
| 745 |
+
if (str(brief.business_objective))
|
| 746 |
+
out.objective = str(brief.business_objective);
|
| 747 |
+
if (str(brief.contest_category))
|
| 748 |
+
out.category = str(brief.contest_category);
|
| 749 |
if (Array.isArray(brief.levels) && brief.levels.length) {
|
| 750 |
const types = brief.levels
|
| 751 |
.map((l) => str(l?.type))
|
|
|
|
| 843 |
levels: 'Levels', prizes: 'Prizes', dates: 'Dates', duration: 'Duration',
|
| 844 |
audience: 'Audience', where: 'Where', winners: 'Winners', draw: 'Draw',
|
| 845 |
contestType: 'Contest type', fallbackTitle: 'Your contest',
|
| 846 |
+
objective: 'Objective', category: 'Category',
|
| 847 |
total: 'total', week: 'week(s)', days: 'days',
|
| 848 |
everywhereExcept: (c) => `Everywhere except ${c}`,
|
| 849 |
draws: {
|
|
|
|
| 857 |
levels: 'المراحل', prizes: 'الجوائز', dates: 'التواريخ', duration: 'المدة',
|
| 858 |
audience: 'الجمهور', where: 'النطاق', winners: 'الفائزون', draw: 'طريقة الاختيار',
|
| 859 |
contestType: 'نوع المسابقة', fallbackTitle: 'مسابقتك',
|
| 860 |
+
objective: 'الهدف التجاري', category: 'تصنيف المسابقة',
|
| 861 |
total: 'الإجمالي', week: 'أسبوع', days: 'يوم',
|
| 862 |
everywhereExcept: (c) => `كل الدول ما عدا ${c}`,
|
| 863 |
draws: {
|
|
|
|
| 891 |
[/\bover\b/gi, 'أكثر من'],
|
| 892 |
[/\bunder\b/gi, 'أقل من'],
|
| 893 |
];
|
| 894 |
+
ChatService.OBJECTIVE_AR = {
|
| 895 |
+
'brand awareness': 'التعريف بالعلامة التجارية',
|
| 896 |
+
'awareness': 'التعريف بالعلامة',
|
| 897 |
+
'store traffic': 'زيادة زيارات المتجر',
|
| 898 |
+
'foot traffic': 'زيادة الزيارات',
|
| 899 |
+
'sales': 'زيادة المبيعات',
|
| 900 |
+
'sales and conversion': 'المبيعات والتحويل',
|
| 901 |
+
'conversion': 'التحويل',
|
| 902 |
+
'app installs': 'تحميل التطبيق',
|
| 903 |
+
'app downloads': 'تحميل التطبيق',
|
| 904 |
+
'content collection': 'جمع المحتوى',
|
| 905 |
+
'user generated content': 'محتوى من المشاركين',
|
| 906 |
+
'customer loyalty': 'ولاء العملاء',
|
| 907 |
+
'loyalty': 'الولاء',
|
| 908 |
+
'engagement': 'التفاعل',
|
| 909 |
+
'lead generation': 'جمع العملاء المحتملين',
|
| 910 |
+
'product launch': 'إطلاق منتج',
|
| 911 |
+
'market research': 'أبحاث السوق',
|
| 912 |
+
};
|
| 913 |
+
ChatService.CATEGORY_AR = {
|
| 914 |
+
'food and drink': 'الطعام والشراب',
|
| 915 |
+
'food & beverage': 'الطعام والشراب',
|
| 916 |
+
'food and beverage': 'الطعام والشراب',
|
| 917 |
+
'sports': 'الرياضة',
|
| 918 |
+
'travel': 'السفر',
|
| 919 |
+
'health': 'الصحة',
|
| 920 |
+
'health and fitness': 'الصحة واللياقة',
|
| 921 |
+
'fashion': 'الأزياء',
|
| 922 |
+
'beauty': 'الجمال',
|
| 923 |
+
'technology': 'التقنية',
|
| 924 |
+
'electronics': 'الإلكترونيات',
|
| 925 |
+
'entertainment': 'الترفيه',
|
| 926 |
+
'education': 'التعليم',
|
| 927 |
+
'automotive': 'السيارات',
|
| 928 |
+
'retail': 'التجزئة',
|
| 929 |
+
'gaming': 'الألعاب',
|
| 930 |
+
'finance': 'التمويل',
|
| 931 |
+
'home and living': 'المنزل والمعيشة',
|
| 932 |
+
};
|
| 933 |
ChatService.COUNTRY_AR = {
|
| 934 |
'saudi arabia': 'السعودية',
|
| 935 |
'united arab emirates': 'الإمارات',
|
apps/api-gateway/apps/api-gateway/src/chat/chat.service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
{"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../../../../../../apps/api-gateway/src/chat/chat.service.ts"],"names":[],"mappings":"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"}
|
|
|
|
| 1 |
+
{"version":3,"file":"chat.service.js","sourceRoot":"","sources":["../../../../../../../apps/api-gateway/src/chat/chat.service.ts"],"names":[],"mappings":"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"}
|
apps/api-gateway/tsconfig.app.tsbuildinfo
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|