@projectcor/maia-components 2.11.90-0 → 2.11.90-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +28 -41
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +128 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +7 -3
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +4 -2
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +29 -2
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +33 -24
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +23 -4
- package/lib/components/atoms/MAIAInput/MAIAInput.js +11 -4
- package/lib/components/atoms/icons/SkillIcon.js +30 -0
- package/lib/components/atoms/icons/SkillsNavIcon.js +27 -0
- package/lib/components/atoms/icons/index.js +3 -1
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +14 -1
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +34 -2
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +5 -3
- package/lib/components/molecules/ChatAIModal/constants.js +6 -2
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +357 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +145 -0
- package/lib/components/molecules/ChatAIMySkills/index.js +2 -0
- package/lib/components/molecules/ChatFooter/ChatFooter.js +18 -5
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +3 -1
- package/lib/components/molecules/Sidebar/Sidebar.js +25 -4
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +160 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +34 -0
- package/lib/components/organisms/AbmSkillGenerateModal/index.js +2 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +446 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +98 -0
- package/lib/components/organisms/AbmSkillModal/index.js +2 -0
- package/lib/components/organisms/ChatAI/ChatAI.js +7 -3
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +8 -1
- package/lib/constants/config.js +4 -1
- package/lib/constants/permissions/index.js +2 -2
- package/lib/constants/permissions/utils.js +4 -1
- package/lib/context/global-context.js +1 -1
- package/lib/hooks/useContextMentions.js +47 -9
- package/lib/hooks/useEntitySearch.js +277 -91
- package/lib/hooks/useMentionAllowedTypes.js +26 -8
- package/lib/hooks/useMentionPopover.js +42 -13
- package/lib/lang/br/index.js +58 -3
- package/lib/lang/en/index.js +58 -3
- package/lib/lang/es/index.js +58 -3
- package/lib/lang/fr/index.js +54 -3
- package/lib/services/maia/Skills/createSkill.js +39 -0
- package/lib/services/maia/Skills/deleteSkill.js +38 -0
- package/lib/services/maia/Skills/generateSkill.js +41 -0
- package/lib/services/maia/Skills/getSkills.js +90 -0
- package/lib/services/maia/Skills/updateSkill.js +39 -0
- package/lib/types/contextMention.js +1 -1
- package/lib/types/skill.js +2 -0
- package/lib/utils/contextMentionIcons.js +29 -1
- package/lib/utils/contextMentionTriggers.js +3 -1
- package/lib/utils/renderContextMentions.js +9 -4
- package/package.json +13 -8
|
@@ -34,4 +34,4 @@ export var buildContextMessage = function buildContextMessage(mentions) {
|
|
|
34
34
|
* único para que el visual se mantenga consistente en cualquier lugar.
|
|
35
35
|
*/
|
|
36
36
|
export var CONTEXT_MENTION_CHIP_CLASS = 'maia-context-mention-chip';
|
|
37
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZENvbnRleHRNZXNzYWdlIiwibWVudGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJyZXN1bHQiLCJmb3JFYWNoIiwibSIsImVudGl0eSIsImlkIiwibmFtZSIsImxhYmVsIiwidHlwZSIsImJ1Y2tldCIsInNvbWUiLCJlIiwiU3RyaW5nIiwicHVzaCIsIkNPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2NvbnRleHRNZW50aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIENvbnRleHRFbnRpdHlUeXBlID0gJ2NsaWVudCcgfCAncHJvamVjdCcgfCAndGFzaycgfCAndXNlcicgfCAnbWNwJyB8ICdza2lsbCdcblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnRpb24gPSB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXJcbiAgdHlwZTogQ29udGV4dEVudGl0eVR5cGVcbiAgbGFiZWw6IHN0cmluZ1xuICBtZXRhZGF0YT86IHtcbiAgICBjbGllbnRJZD86IHN0cmluZyB8IG51bWJlciB8IG51bGxcbiAgICBjbGllbnROYW1lPzogc3RyaW5nIHwgbnVsbFxuICAgIHByb2plY3RJZD86IHN0cmluZyB8IG51bWJlciB8IG51bGxcbiAgICBwcm9qZWN0TmFtZT86IHN0cmluZyB8IG51bGxcbiAgICBmZWVJZD86IHN0cmluZyB8IG51bWJlciB8IG51bGxcbiAgICAvKiogVGFyZWEgcGFkcmUgKHN1YnRhcmVhcyBlbiByZXN1bHRhZG9zIGRlIGBzZWFyY2hgKSAqL1xuICAgIGZhdGhlcklkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbFxuICAgIGZhdGhlclRpdGxlPzogc3RyaW5nIHwgbnVsbFxuICAgIHRvdGFsUHJveWVjdG9zPzogbnVtYmVyIHwgbnVsbFxuICAgIC8qKlxuICAgICAqIE5vbWJyZSBjb21wbGV0byBkZXNkZSBsYSBxdWVyeSAocC4gZWouIGRpcmVjdG9yaW8pLiBFbCBgbGFiZWxgIGRlbCBjaGlwIHB1ZWRlIHNlclxuICAgICAqIGRpc3RpbnRvIChlai4gXCJZb1wiKTsgcGFyYSBhdmF0YXIvaW5pY2lhbGVzIHVzYXIgZXN0ZSBjYW1wbywgaWd1YWwgcXVlIGVuIGxhIGZpbGEgZGVsIG1vZGFsLlxuICAgICAqL1xuICAgIG5hbWU/OiBzdHJpbmcgfCBudWxsXG4gICAgLyoqIERpcmVjdG9yaW8gZGUgdXN1YXJpb3MgKHVzZXJzRGlyZWN0b3J5KSAqL1xuICAgIHBpY3R1cmU/OiBzdHJpbmcgfCBudWxsXG4gICAgcG9zaXRpb25OYW1lPzogc3RyaW5nIHwgbnVsbFxuICAgIGVtYWlsPzogc3RyaW5nIHwgbnVsbFxuICB9XG59XG5cbmV4cG9ydCB0eXBlIENvbnRleHRNZW50aW9uQnJlYWRjcnVtYiA9IHtcbiAgLyoqIENhbnRpZGFkIGRlIGl0ZW1zIHJlbGFjaW9uYWRvcyAocC5lai4gXCIxMyBwcm95ZWN0b3NcIiBlbiB1biBjbGllbnQpICovXG4gIGNvdW50PzogbnVtYmVyXG4gIC8qKiBFdGlxdWV0YSBkZWwgY29udGVvIHlhIHRyYWR1Y2lkYSAocC5lai4gXCJwcm95ZWN0b3NcIikgKi9cbiAgY291bnRMYWJlbD86IHN0cmluZ1xuICAvKiogRW50aWRhZCBwYWRyZSAocC5lai4gbm9tYnJlIGRlbCBjbGllbnQgZGVsIHByb2plY3QpICovXG4gIHBhcmVudD86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudGlvbkl0ZW0gPSB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXJcbiAgdHlwZTogQ29udGV4dEVudGl0eVR5cGVcbiAgLyoqIFRleHRvIHByaW5jaXBhbCBtb3N0cmFkbyBlbiBsYSBmaWxhICovXG4gIHByaW1hcnk6IHN0cmluZ1xuICAvKiogUmFuZ28gZGVsIHF1ZXJ5IGJ1c2NhZG8gZGVudHJvIGRlIGBwcmltYXJ5YCBwYXJhIHJlc2FsdGFyICovXG4gIHByaW1hcnlIaWdobGlnaHQ/OiB7IHN0YXJ0OiBudW1iZXI7IGxlbmd0aDogbnVtYmVyIH1cbiAgLyoqIERhdG9zIHNlY3VuZGFyaW9zIG9wY2lvbmFsZXMgcGFyYSBlbCBicmVhZGNydW1iICovXG4gIGJyZWFkY3J1bWI/OiBDb250ZXh0TWVudGlvbkJyZWFkY3J1bWJcbiAgLyoqIE1ldGFkYXRhIG9yaWdpbmFsIHBhcmEgcmVjb25zdHJ1aXIgbGEgbWVudGlvbiBhbCBzZWxlY2Npb25hciAqL1xuICByYXc6IENvbnRleHRNZW50aW9uWydtZXRhZGF0YSddICYgeyBpZDogc3RyaW5nIHwgbnVtYmVyOyBuYW1lOiBzdHJpbmcgfVxufVxuXG4vKiogRW50aWRhZCBjb250ZXh0dWFsIG1lbmNpb25hZGEgKGZvcm1hIG3DrW5pbWEgcXVlIHZpYWphIGVuIG1ldGFkYXRhKSAqL1xuZXhwb3J0IHR5cGUgQ29udGV4dE1lc3NhZ2VFbnRpdHkgPSB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXJcbiAgbmFtZTogc3RyaW5nXG59XG5cbi8qKlxuICogQmxvcXVlIGBjb250ZXh0X21lc3NhZ2VgIHF1ZSB2aWFqYSBlbiBsYSBtZXRhZGF0YSBkZWwgb3JjaGVzdHJhdG9yIHlcbiAqIHNlIHBlcnNpc3RlIHBvci1tZW5zYWplLiBTb2xvIHZpdmUgZW4gZWwgbWVuc2FqZSBkb25kZSBzZSBhZ3JlZ8OzIGxhXG4gKiBtZW5jacOzbjogbm8gXCJwaXNhXCIgZWwgY29udGV4dG8gZ2xvYmFsIG5pIHNlIHByb3BhZ2EgYSBvdHJvcyB0dXJub3MuXG4gKi9cbmV4cG9ydCB0eXBlIENvbnRleHRNZXNzYWdlID0ge1xuICBjbGllbnQ/OiBDb250ZXh0TWVzc2FnZUVudGl0eVtdXG4gIHByb2plY3Q/OiBDb250ZXh0TWVzc2FnZUVudGl0eVtdXG4gIHRhc2s/OiBDb250ZXh0TWVzc2FnZUVudGl0eVtdXG4gIHVzZXI/OiBDb250ZXh0TWVzc2FnZUVudGl0eVtdXG4gIG1jcD86IENvbnRleHRNZXNzYWdlRW50aXR5W11cbiAgc2tpbGw/OiBDb250ZXh0TWVzc2FnZUVudGl0eVtdXG59XG5cbi8qKlxuICogQWdydXBhIGxhcyBtZW50aW9ucyBkZWwgZWRpdG9yIHBvciB0aXBvIHkgZGVqYSBlbCBzaGFwZSBtw61uaW1vIChpZCArIG5hbWUpXG4gKiBxdWUgZXNwZXJhIGVsIGJhY2tlbmQuIERldnVlbHZlIGB1bmRlZmluZWRgIGN1YW5kbyBubyBoYXkgbWVudGlvbnMgYXPDrSBlbFxuICogY2FsbGVyIHB1ZWRlIGRlY2lkaXIgc2kgaW5jbHVpciBvIG5vIGxhIGtleSBlbiBlbCBwYXlsb2FkLlxuICovXG5leHBvcnQgY29uc3QgYnVpbGRDb250ZXh0TWVzc2FnZSA9IChtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10gfCBudWxsKTogQ29udGV4dE1lc3NhZ2UgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAoIW1lbnRpb25zIHx8ICFBcnJheS5pc0FycmF5KG1lbnRpb25zKSB8fCBtZW50aW9ucy5sZW5ndGggPT09IDApIHJldHVybiB1bmRlZmluZWRcbiAgY29uc3QgcmVzdWx0OiBDb250ZXh0TWVzc2FnZSA9IHt9XG4gIG1lbnRpb25zLmZvckVhY2gobSA9PiB7XG4gICAgY29uc3QgZW50aXR5OiBDb250ZXh0TWVzc2FnZUVudGl0eSA9IHsgaWQ6IG0uaWQsIG5hbWU6IG0ubGFiZWwgfVxuICAgIGlmICghcmVzdWx0W20udHlwZV0pIHJlc3VsdFttLnR5cGVdID0gW11cbiAgICBjb25zdCBidWNrZXQgPSByZXN1bHRbbS50eXBlXSFcbiAgICBpZiAoIWJ1Y2tldC5zb21lKGUgPT4gU3RyaW5nKGUuaWQpID09PSBTdHJpbmcoZW50aXR5LmlkKSkpIGJ1Y2tldC5wdXNoKGVudGl0eSlcbiAgfSlcbiAgcmV0dXJuIHJlc3VsdFxufVxuXG4vKipcbiAqIENsYXNlIENTUy9rZXkgZGUgZXN0aWxvcyBjb21wYXJ0aWRhIGVudHJlIGVsIGNoaXAgZGVsIGVkaXRvciB5IGVsIGNoaXBcbiAqIHJlbmRlcmVhZG8gZW4gbG9zIG1lbnNhamVzIChjaGF0IGFjdHVhbCArIGhpc3RvcmlhbCkuIFNpcnZlIGNvbW8gcHVudG9cbiAqIMO6bmljbyBwYXJhIHF1ZSBlbCB2aXN1YWwgc2UgbWFudGVuZ2EgY29uc2lzdGVudGUgZW4gY3VhbHF1aWVyIGx1Z2FyLlxuICovXG5leHBvcnQgY29uc3QgQ09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1MgPSAnbWFpYS1jb250ZXh0LW1lbnRpb24tY2hpcCdcbiJdLCJtYXBwaW5ncyI6IkFBa0RBOztBQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUEsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FBSUMsUUFBa0MsRUFBaUM7RUFDckcsSUFBSSxDQUFDQSxRQUFRLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxPQUFPLENBQUNGLFFBQVEsQ0FBQyxJQUFJQSxRQUFRLENBQUNHLE1BQU0sS0FBSyxDQUFDLEVBQUUsT0FBT0MsU0FBUztFQUNwRixJQUFNQyxNQUFzQixHQUFHLENBQUMsQ0FBQztFQUNqQ0wsUUFBUSxDQUFDTSxPQUFPLENBQUMsVUFBQUMsQ0FBQyxFQUFJO0lBQ3BCLElBQU1DLE1BQTRCLEdBQUc7TUFBRUMsRUFBRSxFQUFFRixDQUFDLENBQUNFLEVBQUU7TUFBRUMsSUFBSSxFQUFFSCxDQUFDLENBQUNJO0lBQU0sQ0FBQztJQUNoRSxJQUFJLENBQUNOLE1BQU0sQ0FBQ0UsQ0FBQyxDQUFDSyxJQUFJLENBQUMsRUFBRVAsTUFBTSxDQUFDRSxDQUFDLENBQUNLLElBQUksQ0FBQyxHQUFHLEVBQUU7SUFDeEMsSUFBTUMsTUFBTSxHQUFHUixNQUFNLENBQUNFLENBQUMsQ0FBQ0ssSUFBSSxDQUFFO0lBQzlCLElBQUksQ0FBQ0MsTUFBTSxDQUFDQyxJQUFJLENBQUMsVUFBQUMsQ0FBQztNQUFBLE9BQUlDLE1BQU0sQ0FBQ0QsQ0FBQyxDQUFDTixFQUFFLENBQUMsS0FBS08sTUFBTSxDQUFDUixNQUFNLENBQUNDLEVBQUUsQ0FBQztJQUFBLEVBQUMsRUFBRUksTUFBTSxDQUFDSSxJQUFJLENBQUNULE1BQU0sQ0FBQztFQUNoRixDQUFDLENBQUM7RUFDRixPQUFPSCxNQUFNO0FBQ2YsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNYSwwQkFBMEIsR0FBRywyQkFBMkIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3NraWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNraWxsID0ge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbiAgY3JlYXRlZF9hdD86IHN0cmluZ1xuICB1cGRhdGVkX2F0Pzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFNraWxsc1Jlc3BvbnNlID0ge1xuICBkYXRhOiBTa2lsbFtdXG4gIGhhc19tb3JlPzogYm9vbGVhblxuICBuZXh0X29mZnNldD86IG51bWJlciB8IG51bGxcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -6,6 +6,7 @@ import { FileProject } from '@projectcor/icons/lib/components/FileProject';
|
|
|
6
6
|
import { Globe } from '@projectcor/icons/lib/components/Globe';
|
|
7
7
|
import { User } from '@projectcor/icons/lib/components/User';
|
|
8
8
|
import { NotionIcon, NOTION_BRAND_PATH_BLACK, NOTION_BRAND_PATH_WHITE } from '../components/atoms/icons/NotionIcon';
|
|
9
|
+
import { SkillIcon, SKILL_ICON_PATH } from '../components/atoms/icons/SkillIcon';
|
|
9
10
|
import { TaskLinkIcon } from '../components/atoms/icons/TaskLinkIcon';
|
|
10
11
|
import { TASK_LINK_ICON_COLOR, TASK_LINK_ICON_PATH } from '../constants/taskLinkIcon';
|
|
11
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -18,6 +19,7 @@ export var isNotionMcpSlug = function isNotionMcpSlug(id) {
|
|
|
18
19
|
return String(id !== null && id !== void 0 ? id : '').toLowerCase() === NOTION_MCP_SLUG;
|
|
19
20
|
};
|
|
20
21
|
var MENTION_ICON_PATHS = {
|
|
22
|
+
skill: SKILL_ICON_PATH,
|
|
21
23
|
client: 'M3.375 7C3.1875 7 3 6.84375 3 6.625V5.375C3 5.1875 3.1875 5 3.375 5H4V3.5C4 2.6875 4.6875 2 5.5 2H15.5C16.3438 2 17 2.6875 17 3.5V16.5C17 17.3438 16.3438 18 15.5 18H5.5C4.6875 18 4 17.3438 4 16.5V15H3.375C3.1875 15 3 14.8438 3 14.625V13.375C3 13.1875 3.1875 13 3.375 13H4V11H3.375C3.1875 11 3 10.8438 3 10.625V9.375C3 9.1875 3.1875 9 3.375 9H4V7H3.375ZM5.5 16.5H15.5V3.5H5.5V16.5ZM10.5 10C9.40625 10 8.5 9.125 8.5 8C8.5 6.90625 9.40625 6 10.5 6C11.625 6 12.5 6.90625 12.5 8C12.5 9.125 11.625 10 10.5 10ZM13.3125 14H7.71875C7.3125 14 7 13.75 7 13.4062V12.8125C7 11.8125 7.96875 11 9.125 11C9.4375 11 9.6875 11.25 10.5 11.25C11.3438 11.25 11.5625 11 11.9062 11C13.0625 11 14 11.8125 14 12.8125V13.4062C14 13.75 13.6875 14 13.3125 14Z',
|
|
22
24
|
project: 'M12.9375 2.4375L15.5312 5.0625C15.8125 5.34375 16 5.75 16 6.125V16.5C16 17.3438 15.3125 18 14.5 18H5.5C4.65625 18 4 17.3438 4 16.5V3.5C4 2.6875 4.65625 2 5.5 2H11.875C12.25 2 12.6562 2.15625 12.9375 2.4375ZM12 6H14.375L12 3.625V6ZM5.5 3.5V16.5H14.5V7.5H11.25C10.8125 7.5 10.5 7.1875 10.5 6.75V3.5H5.5ZM13.25 14.75H9.75C9.59375 14.75 9.5 14.6562 9.5 14.5V13.5C9.5 13.375 9.59375 13.25 9.75 13.25H13.25C13.375 13.25 13.5 13.375 13.5 13.5V14.5C13.5 14.6562 13.375 14.75 13.25 14.75ZM8 15H7C6.71875 15 6.5 14.7812 6.5 14.5V13.5C6.5 13.25 6.71875 13 7 13H8C8.25 13 8.5 13.25 8.5 13.5V14.5C8.5 14.7812 8.25 15 8 15ZM8 11H7C6.71875 11 6.5 10.7812 6.5 10.5V9.5C6.5 9.25 6.71875 9 7 9H8C8.25 9 8.5 9.25 8.5 9.5V10.5C8.5 10.7812 8.25 11 8 11ZM13.25 10.75H9.75C9.59375 10.75 9.5 10.6562 9.5 10.5V9.5C9.5 9.375 9.59375 9.25 9.75 9.25H13.25C13.375 9.25 13.5 9.375 13.5 9.5V10.5C13.5 10.6562 13.375 10.75 13.25 10.75ZM8 7H7C6.71875 7 6.5 6.78125 6.5 6.5V5.5C6.5 5.25 6.71875 5 7 5H8C8.25 5 8.5 5.25 8.5 5.5V6.5C8.5 6.78125 8.25 7 8 7Z',
|
|
23
25
|
user: 'M12.3839 11.3125C11.6071 11.3125 11.2589 11.75 10 11.75C8.71429 11.75 8.36607 11.3125 7.58929 11.3125C5.60714 11.3125 4 12.9805 4 15.0039V15.6875C4 16.4258 4.5625 17 5.28571 17H14.7143C15.4107 17 16 16.4258 16 15.6875V15.0039C16 12.9805 14.3661 11.3125 12.3839 11.3125ZM14.7143 15.6875H5.28571V15.0039C5.28571 13.6914 6.30357 12.625 7.58929 12.625C7.99107 12.625 8.60714 13.0625 10 13.0625C11.3661 13.0625 11.9821 12.625 12.3839 12.625C13.6696 12.625 14.7143 13.6914 14.7143 15.0039V15.6875ZM10 10.875C12.1161 10.875 13.8571 9.125 13.8571 6.9375C13.8571 4.77734 12.1161 3 10 3C7.85714 3 6.14286 4.77734 6.14286 6.9375C6.14286 9.125 7.85714 10.875 10 10.875ZM10 4.3125C11.3929 4.3125 12.5714 5.51562 12.5714 6.9375C12.5714 8.38672 11.3929 9.5625 10 9.5625C8.58036 9.5625 7.42857 8.38672 7.42857 6.9375C7.42857 5.51562 8.58036 4.3125 10 4.3125Z',
|
|
@@ -37,6 +39,23 @@ var createSvgIcon = function createSvgIcon(pathData, color, size) {
|
|
|
37
39
|
svg.appendChild(path);
|
|
38
40
|
return svg;
|
|
39
41
|
};
|
|
42
|
+
var createSkillIconSvgElement = function createSkillIconSvgElement(color, size) {
|
|
43
|
+
var svg = document.createElementNS(SVG_NS, 'svg');
|
|
44
|
+
svg.setAttribute('viewBox', '0 0 20 20');
|
|
45
|
+
svg.setAttribute('width', String(size));
|
|
46
|
+
svg.setAttribute('height', String(size));
|
|
47
|
+
svg.setAttribute('fill', 'none');
|
|
48
|
+
svg.setAttribute('aria-hidden', 'true');
|
|
49
|
+
svg.style.display = 'block';
|
|
50
|
+
var path = document.createElementNS(SVG_NS, 'path');
|
|
51
|
+
path.setAttribute('d', SKILL_ICON_PATH);
|
|
52
|
+
path.setAttribute('stroke', color);
|
|
53
|
+
path.setAttribute('stroke-linecap', 'round');
|
|
54
|
+
path.setAttribute('stroke-linejoin', 'round');
|
|
55
|
+
path.setAttribute('stroke-width', '1.5');
|
|
56
|
+
svg.appendChild(path);
|
|
57
|
+
return svg;
|
|
58
|
+
};
|
|
40
59
|
var createNotionIconSvgElement = function createNotionIconSvgElement(size) {
|
|
41
60
|
var svg = document.createElementNS(SVG_NS, 'svg');
|
|
42
61
|
svg.setAttribute('viewBox', '0 0 100 100');
|
|
@@ -76,6 +95,12 @@ export var getContextMentionIcon = function getContextMentionIcon(type, color, m
|
|
|
76
95
|
});
|
|
77
96
|
case 'user':
|
|
78
97
|
return /*#__PURE__*/_jsx(User, _objectSpread({}, iconProps));
|
|
98
|
+
case 'skill':
|
|
99
|
+
return /*#__PURE__*/_jsx(SkillIcon, {
|
|
100
|
+
width: resolvedSize,
|
|
101
|
+
height: resolvedSize,
|
|
102
|
+
color: color
|
|
103
|
+
});
|
|
79
104
|
case 'mcp':
|
|
80
105
|
if (isNotionMcpSlug(mentionId)) {
|
|
81
106
|
return /*#__PURE__*/_jsx(NotionIcon, {
|
|
@@ -94,6 +119,9 @@ export var createContextMentionIconElement = function createContextMentionIconEl
|
|
|
94
119
|
if (type === 'task') {
|
|
95
120
|
return createSvgIcon(TASK_LINK_ICON_PATH, TASK_LINK_ICON_COLOR, resolvedSize);
|
|
96
121
|
}
|
|
122
|
+
if (type === 'skill') {
|
|
123
|
+
return createSkillIconSvgElement(color, resolvedSize);
|
|
124
|
+
}
|
|
97
125
|
if (type === 'mcp' && isNotionMcpSlug(mentionId)) {
|
|
98
126
|
return createNotionIconSvgElement(resolvedSize);
|
|
99
127
|
}
|
|
@@ -103,4 +131,4 @@ export var createContextMentionIconElement = function createContextMentionIconEl
|
|
|
103
131
|
var pathData = (_MENTION_ICON_PATHS$t = MENTION_ICON_PATHS[type]) !== null && _MENTION_ICON_PATHS$t !== void 0 ? _MENTION_ICON_PATHS$t : MENTION_ICON_PATHS.user;
|
|
104
132
|
return createSvgIcon(pathData, color, resolvedSize);
|
|
105
133
|
};
|
|
106
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250YWN0IiwiRmlsZVByb2plY3QiLCJHbG9iZSIsIlVzZXIiLCJOb3Rpb25JY29uIiwiTk9USU9OX0JSQU5EX1BBVEhfQkxBQ0siLCJOT1RJT05fQlJBTkRfUEFUSF9XSElURSIsIlRhc2tMaW5rSWNvbiIsIlRBU0tfTElOS19JQ09OX0NPTE9SIiwiVEFTS19MSU5LX0lDT05fUEFUSCIsImpzeCIsIl9qc3giLCJTVkdfTlMiLCJERUZBVUxUX0lDT05fU0laRSIsIk5PVElPTl9NQ1BfU0xVRyIsImlzTm90aW9uTWNwU2x1ZyIsImlkIiwiU3RyaW5nIiwidG9Mb3dlckNhc2UiLCJNRU5USU9OX0lDT05fUEFUSFMiLCJjbGllbnQiLCJwcm9qZWN0IiwidXNlciIsIm1jcCIsImNyZWF0ZVN2Z0ljb24iLCJwYXRoRGF0YSIsImNvbG9yIiwic2l6ZSIsInN2ZyIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudE5TIiwic2V0QXR0cmlidXRlIiwic3R5bGUiLCJkaXNwbGF5IiwicGF0aCIsImFwcGVuZENoaWxkIiwiY3JlYXRlTm90aW9uSWNvblN2Z0VsZW1lbnQiLCJwMSIsInAyIiwiZ2V0Q29udGV4dE1lbnRpb25JY29uIiwidHlwZSIsIm1lbnRpb25JZCIsInJlc29sdmVkU2l6ZSIsImljb25Qcm9wcyIsIndpZHRoIiwiY29uY2F0IiwiaGVpZ2h0IiwiX29iamVjdFNwcmVhZCIsImNyZWF0ZUNvbnRleHRNZW50aW9uSWNvbkVsZW1lbnQiLCJfTUVOVElPTl9JQ09OX1BBVEhTJHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY29udGV4dE1lbnRpb25JY29ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDb250YWN0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ29udGFjdCdcbmltcG9ydCB7IEZpbGVQcm9qZWN0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvRmlsZVByb2plY3QnXG5pbXBvcnQgeyBHbG9iZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0dsb2JlJ1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1VzZXInXG5pbXBvcnQgeyBOb3Rpb25JY29uLCBOT1RJT05fQlJBTkRfUEFUSF9CTEFDSywgTk9USU9OX0JSQU5EX1BBVEhfV0hJVEUgfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL2ljb25zL05vdGlvbkljb24nXG5pbXBvcnQgeyBUYXNrTGlua0ljb24gfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL2ljb25zL1Rhc2tMaW5rSWNvbidcbmltcG9ydCB7IENvbnRleHRFbnRpdHlUeXBlIH0gZnJvbSAnLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgeyBUQVNLX0xJTktfSUNPTl9DT0xPUiwgVEFTS19MSU5LX0lDT05fUEFUSCB9IGZyb20gJy4uL2NvbnN0YW50cy90YXNrTGlua0ljb24nXG5cbmNvbnN0IFNWR19OUyA9ICdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZydcbmNvbnN0IERFRkFVTFRfSUNPTl9TSVpFID0gMTRcblxuLyoqIFNsdWcgTUNQIGRlbCBjb25lY3RvciBOb3Rpb24gKGFsaW5lYWRvIGNvbiBOT1RJT05fQ09OTkVDVE9SX1NMVUcgZW4gY2F0YWxvZykuICovXG5leHBvcnQgY29uc3QgTk9USU9OX01DUF9TTFVHID0gJ25vdGlvbidcblxuZXhwb3J0IGNvbnN0IGlzTm90aW9uTWNwU2x1ZyA9IChpZDogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkKTogYm9vbGVhbiA9PlxuICBTdHJpbmcoaWQgPz8gJycpLnRvTG93ZXJDYXNlKCkgPT09IE5PVElPTl9NQ1BfU0xVR1xuXG5jb25zdCBNRU5USU9OX0lDT05fUEFUSFM6IFJlY29yZDxFeGNsdWRlPENvbnRleHRFbnRpdHlUeXBlLCAndGFzayc+LCBzdHJpbmc+ID0ge1xuICBjbGllbnQ6XG4gICAgJ00zLjM3NSA3QzMuMTg3NSA3IDMgNi44NDM3NSAzIDYuNjI1VjUuMzc1QzMgNS4xODc1IDMuMTg3NSA1IDMuMzc1IDVINFYzLjVDNCAyLjY4NzUgNC42ODc1IDIgNS41IDJIMTUuNUMxNi4zNDM4IDIgMTcgMi42ODc1IDE3IDMuNVYxNi41QzE3IDE3LjM0MzggMTYuMzQzOCAxOCAxNS41IDE4SDUuNUM0LjY4NzUgMTggNCAxNy4zNDM4IDQgMTYuNVYxNUgzLjM3NUMzLjE4NzUgMTUgMyAxNC44NDM4IDMgMTQuNjI1VjEzLjM3NUMzIDEzLjE4NzUgMy4xODc1IDEzIDMuMzc1IDEzSDRWMTFIMy4zNzVDMy4xODc1IDExIDMgMTAuODQzOCAzIDEwLjYyNVY5LjM3NUMzIDkuMTg3NSAzLjE4NzUgOSAzLjM3NSA5SDRWN0gzLjM3NVpNNS41IDE2LjVIMTUuNVYzLjVINS41VjE2LjVaTTEwLjUgMTBDOS40MDYyNSAxMCA4LjUgOS4xMjUgOC41IDhDOC41IDYuOTA2MjUgOS40MDYyNSA2IDEwLjUgNkMxMS42MjUgNiAxMi41IDYuOTA2MjUgMTIuNSA4QzEyLjUgOS4xMjUgMTEuNjI1IDEwIDEwLjUgMTBaTTEzLjMxMjUgMTRINy43MTg3NUM3LjMxMjUgMTQgNyAxMy43NSA3IDEzLjQwNjJWMTIuODEyNUM3IDExLjgxMjUgNy45Njg3NSAxMSA5LjEyNSAxMUM5LjQzNzUgMTEgOS42ODc1IDExLjI1IDEwLjUgMTEuMjVDMTEuMzQzOCAxMS4yNSAxMS41NjI1IDExIDExLjkwNjIgMTFDMTMuMDYyNSAxMSAxNCAxMS44MTI1IDE0IDEyLjgxMjVWMTMuNDA2MkMxNCAxMy43NSAxMy42ODc1IDE0IDEzLjMxMjUgMTRaJyxcbiAgcHJvamVjdDpcbiAgICAnTTEyLjkzNzUgMi40Mzc1TDE1LjUzMTIgNS4wNjI1QzE1LjgxMjUgNS4zNDM3NSAxNiA1Ljc1IDE2IDYuMTI1VjE2LjVDMTYgMTcuMzQzOCAxNS4zMTI1IDE4IDE0LjUgMThINS41QzQuNjU2MjUgMTggNCAxNy4zNDM4IDQgMTYuNVYzLjVDNCAyLjY4NzUgNC42NTYyNSAyIDUuNSAySDExLjg3NUMxMi4yNSAyIDEyLjY1NjIgMi4xNTYyNSAxMi45Mzc1IDIuNDM3NVpNMTIgNkgxNC4zNzVMMTIgMy42MjVWNlpNNS41IDMuNVYxNi41SDE0LjVWNy41SDExLjI1QzEwLjgxMjUgNy41IDEwLjUgNy4xODc1IDEwLjUgNi43NVYzLjVINS41Wk0xMy4yNSAxNC43NUg5Ljc1QzkuNTkzNzUgMTQuNzUgOS41IDE0LjY1NjIgOS41IDE0LjVWMTMuNUM5LjUgMTMuMzc1IDkuNTkzNzUgMTMuMjUgOS43NSAxMy4yNUgxMy4yNUMxMy4zNzUgMTMuMjUgMTMuNSAxMy4zNzUgMTMuNSAxMy41VjE0LjVDMTMuNSAxNC42NTYyIDEzLjM3NSAxNC43NSAxMy4yNSAxNC43NVpNOCAxNUg3QzYuNzE4NzUgMTUgNi41IDE0Ljc4MTIgNi41IDE0LjVWMTMuNUM2LjUgMTMuMjUgNi43MTg3NSAxMyA3IDEzSDhDOC4yNSAxMyA4LjUgMTMuMjUgOC41IDEzLjVWMTQuNUM4LjUgMTQuNzgxMiA4LjI1IDE1IDggMTVaTTggMTFIN0M2LjcxODc1IDExIDYuNSAxMC43ODEyIDYuNSAxMC41VjkuNUM2LjUgOS4yNSA2LjcxODc1IDkgNyA5SDhDOC4yNSA5IDguNSA5LjI1IDguNSA5LjVWMTAuNUM4LjUgMTAuNzgxMiA4LjI1IDExIDggMTFaTTEzLjI1IDEwLjc1SDkuNzVDOS41OTM3NSAxMC43NSA5LjUgMTAuNjU2MiA5LjUgMTAuNVY5LjVDOS41IDkuMzc1IDkuNTkzNzUgOS4yNSA5Ljc1IDkuMjVIMTMuMjVDMTMuMzc1IDkuMjUgMTMuNSA5LjM3NSAxMy41IDkuNVYxMC41QzEzLjUgMTAuNjU2MiAxMy4zNzUgMTAuNzUgMTMuMjUgMTAuNzVaTTggN0g3QzYuNzE4NzUgNyA2LjUgNi43ODEyNSA2LjUgNi41VjUuNUM2LjUgNS4yNSA2LjcxODc1IDUgNyA1SDhDOC4yNSA1IDguNSA1LjI1IDguNSA1LjVWNi41QzguNSA2Ljc4MTI1IDguMjUgNyA4IDdaJyxcbiAgdXNlcjogJ00xMi4zODM5IDExLjMxMjVDMTEuNjA3MSAxMS4zMTI1IDExLjI1ODkgMTEuNzUgMTAgMTEuNzVDOC43MTQyOSAxMS43NSA4LjM2NjA3IDExLjMxMjUgNy41ODkyOSAxMS4zMTI1QzUuNjA3MTQgMTEuMzEyNSA0IDEyLjk4MDUgNCAxNS4wMDM5VjE1LjY4NzVDNCAxNi40MjU4IDQuNTYyNSAxNyA1LjI4NTcxIDE3SDE0LjcxNDNDMTUuNDEwNyAxNyAxNiAxNi40MjU4IDE2IDE1LjY4NzVWMTUuMDAzOUMxNiAxMi45ODA1IDE0LjM2NjEgMTEuMzEyNSAxMi4zODM5IDExLjMxMjVaTTE0LjcxNDMgMTUuNjg3NUg1LjI4NTcxVjE1LjAwMzlDNS4yODU3MSAxMy42OTE0IDYuMzAzNTcgMTIuNjI1IDcuNTg5MjkgMTIuNjI1QzcuOTkxMDcgMTIuNjI1IDguNjA3MTQgMTMuMDYyNSAxMCAxMy4wNjI1QzExLjM2NjEgMTMuMDYyNSAxMS45ODIxIDEyLjYyNSAxMi4zODM5IDEyLjYyNUMxMy42Njk2IDEyLjYyNSAxNC43MTQzIDEzLjY5MTQgMTQuNzE0MyAxNS4wMDM5VjE1LjY4NzVaTTEwIDEwLjg3NUMxMi4xMTYxIDEwLjg3NSAxMy44NTcxIDkuMTI1IDEzLjg1NzEgNi45Mzc1QzEzLjg1NzEgNC43NzczNCAxMi4xMTYxIDMgMTAgM0M3Ljg1NzE0IDMgNi4xNDI4NiA0Ljc3NzM0IDYuMTQyODYgNi45Mzc1QzYuMTQyODYgOS4xMjUgNy44NTcxNCAxMC44NzUgMTAgMTAuODc1Wk0xMCA0LjMxMjVDMTEuMzkyOSA0LjMxMjUgMTIuNTcxNCA1LjUxNTYyIDEyLjU3MTQgNi45Mzc1QzEyLjU3MTQgOC4zODY3MiAxMS4zOTI5IDkuNTYyNSAxMCA5LjU2MjVDOC41ODAzNiA5LjU2MjUgNy40Mjg1NyA4LjM4NjcyIDcuNDI4NTcgNi45Mzc1QzcuNDI4NTcgNS41MTU2MiA4LjU4MDM2IDQuMzEyNSAxMCA0LjMxMjVaJyxcbiAgbWNwOiAnTTEwIDNDNi4xMzMwNiAzIDMgNi4xMzMwNiAzIDEwQzMgMTMuODY2OSA2LjEzMzA2IDE3IDEwIDE3QzEzLjg2NjkgMTcgMTcgMTMuODY2OSAxNyAxMEMxNyA2LjEzMzA2IDEzLjg2NjkgMyAxMCAzWk0xNS4wNTI0IDcuNTE2MTNIMTMuMTYxM0MxMi45NjM3IDYuNSAxMi42NTMyIDUuNTk2NzcgMTIuMjU4MSA0Ljg2MjlDMTMuNDcxOCA1LjM5OTE5IDE0LjQ1OTcgNi4zMzA2NSAxNS4wNTI0IDcuNTE2MTNaTTEwIDQuMzU0ODRDMTAuNTA4MSA0LjM1NDg0IDExLjM1NDggNS41NDAzMiAxMS43NzgyIDcuNTE2MTNIOC4xOTM1NUM4LjYxNjk0IDUuNTQwMzIgOS40NjM3MSA0LjM1NDg0IDEwIDQuMzU0ODRaTTQuMzU0ODQgMTBDNC4zNTQ4NCA5LjYzMzA2IDQuMzgzMDYgOS4yMzc5IDQuNDY3NzQgOC44NzA5N0g2LjY0MTEzQzYuNjEyOSA5LjI2NjEzIDYuNjEyOSA5LjYzMzA2IDYuNjEyOSAxMEM2LjYxMjkgMTAuMzk1MiA2LjYxMjkgMTAuNzYyMSA2LjY0MTEzIDExLjEyOUg0LjQ2Nzc0QzQuMzgzMDYgMTAuNzkwMyA0LjM1NDg0IDEwLjM5NTIgNC4zNTQ4NCAxMFpNNC45MTkzNSAxMi40ODM5SDYuODEwNDhDNy4wMDgwNiAxMy41MjgyIDcuMzE4NTUgMTQuNDMxNSA3LjcxMzcxIDE1LjE2NTNDNi41IDE0LjYyOSA1LjUxMjEgMTMuNjY5NCA0LjkxOTM1IDEyLjQ4MzlaTTYuODEwNDggNy41MTYxM0g0LjkxOTM1QzUuNTEyMSA2LjMzMDY1IDYuNSA1LjM5OTE5IDcuNzEzNzEgNC44NjI5QzcuMzE4NTUgNS41OTY3NyA3LjAwODA2IDYuNSA2LjgxMDQ4IDcuNTE2MTNaTTEwIDE1LjY0NTJDOS40NjM3MSAxNS42NDUyIDguNjE2OTQgMTQuNDg3OSA4LjE5MzU1IDEyLjQ4MzlIMTEuNzc4MkMxMS4zNTQ4IDE0LjQ4NzkgMTAuNTA4MSAxNS42NDUyIDEwIDE1LjY0NTJaTTExLjk3NTggMTEuMTI5SDcuOTk1OTdDNy45Njc3NCAxMC43OTAzIDcuOTY3NzQgMTAuMzk1MiA3Ljk2Nzc0IDEwQzcuOTY3NzQgOS42MDQ4NCA3Ljk2Nzc0IDkuMjM3OSA3Ljk5NTk3IDguODcwOTdIMTEuOTc1OEMxMi4wMDQgOS4yMzc5IDEyLjAzMjMgOS42MDQ4NCAxMi4wMzIzIDEwQzEyLjAzMjMgMTAuMzk1MiAxMi4wMDQgMTAuNzkwMyAxMS45NzU4IDExLjEyOVpNMTIuMjU4MSAxNS4xNjUzQzEyLjY1MzIgMTQuNDMxNSAxMi45NjM3IDEzLjUyODIgMTMuMTYxMyAxMi40ODM5SDE1LjA1MjRDMTQuNDU5NyAxMy42Njk0IDEzLjQ3MTggMTQuNjI5IDEyLjI1ODEgMTUuMTY1M1pNMTMuMzMwNiAxMS4xMjlDMTMuMzU4OSAxMC43NjIxIDEzLjM4NzEgMTAuMzk1MiAxMy4zODcxIDEwQzEzLjM4NzEgOS42MzMwNiAxMy4zNTg5IDkuMjY2MTMgMTMuMzMwNiA4Ljg3MDk3SDE1LjUzMjNDMTUuNTg4NyA5LjIzNzkgMTUuNjQ1MiA5LjYzMzA2IDE1LjY0NTIgMTBDMTUuNjQ1MiAxMC4zOTUyIDE1LjU4ODcgMTAuNzkwMyAxNS41MzIzIDExLjEyOUgxMy4zMzA2WicsXG59XG5cbmNvbnN0IGNyZWF0ZVN2Z0ljb24gPSAocGF0aERhdGE6IHN0cmluZywgY29sb3I6IHN0cmluZywgc2l6ZTogbnVtYmVyKTogU1ZHU1ZHRWxlbWVudCA9PiB7XG4gIGNvbnN0IHN2ZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhTVkdfTlMsICdzdmcnKVxuICBzdmcuc2V0QXR0cmlidXRlKCd2aWV3Qm94JywgJzAgMCAyMCAyMCcpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgU3RyaW5nKHNpemUpKVxuICBzdmcuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCBTdHJpbmcoc2l6ZSkpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKVxuICBzdmcuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcblxuICBjb25zdCBwYXRoID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFNWR19OUywgJ3BhdGgnKVxuICBwYXRoLnNldEF0dHJpYnV0ZSgnZCcsIHBhdGhEYXRhKVxuICBwYXRoLnNldEF0dHJpYnV0ZSgnZmlsbCcsIGNvbG9yKVxuICBwYXRoLnNldEF0dHJpYnV0ZSgnZmlsbC1ydWxlJywgJ25vbnplcm8nKVxuICBzdmcuYXBwZW5kQ2hpbGQocGF0aClcblxuICByZXR1cm4gc3ZnXG59XG5cbmNvbnN0IGNyZWF0ZU5vdGlvbkljb25TdmdFbGVtZW50ID0gKHNpemU6IG51bWJlcik6IFNWR1NWR0VsZW1lbnQgPT4ge1xuICBjb25zdCBzdmcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAnc3ZnJylcbiAgc3ZnLnNldEF0dHJpYnV0ZSgndmlld0JveCcsICcwIDAgMTAwIDEwMCcpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ3dpZHRoJywgU3RyaW5nKHNpemUpKVxuICBzdmcuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCBTdHJpbmcoc2l6ZSkpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKVxuICBzdmcuc3R5bGUuZGlzcGxheSA9ICdibG9jaydcblxuICBjb25zdCBwMSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhTVkdfTlMsICdwYXRoJylcbiAgcDEuc2V0QXR0cmlidXRlKCdmaWxsJywgJyNmZmYnKVxuICBwMS5zZXRBdHRyaWJ1dGUoJ2QnLCBOT1RJT05fQlJBTkRfUEFUSF9XSElURSlcblxuICBjb25zdCBwMiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhTVkdfTlMsICdwYXRoJylcbiAgcDIuc2V0QXR0cmlidXRlKCdmaWxsJywgJyMwMDAnKVxuICBwMi5zZXRBdHRyaWJ1dGUoJ2ZpbGwtcnVsZScsICdldmVub2RkJylcbiAgcDIuc2V0QXR0cmlidXRlKCdjbGlwLXJ1bGUnLCAnZXZlbm9kZCcpXG4gIHAyLnNldEF0dHJpYnV0ZSgnZCcsIE5PVElPTl9CUkFORF9QQVRIX0JMQUNLKVxuXG4gIHN2Zy5hcHBlbmRDaGlsZChwMSlcbiAgc3ZnLmFwcGVuZENoaWxkKHAyKVxuICByZXR1cm4gc3ZnXG59XG5cbmV4cG9ydCBjb25zdCBnZXRDb250ZXh0TWVudGlvbkljb24gPSAoXG4gIHR5cGU6IENvbnRleHRFbnRpdHlUeXBlLFxuICBjb2xvcjogc3RyaW5nLFxuICBtZW50aW9uSWQ6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgc2l6ZT86IG51bWJlclxuKTogUmVhY3ROb2RlID0+IHtcbiAgY29uc3QgcmVzb2x2ZWRTaXplID0gc2l6ZSA/PyBERUZBVUxUX0lDT05fU0laRVxuICBjb25zdCBpY29uUHJvcHMgPSB7IGNvbG9yLCB3aWR0aDogYCR7cmVzb2x2ZWRTaXplfXB4YCwgaGVpZ2h0OiBgJHtyZXNvbHZlZFNpemV9cHhgIH1cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAnY2xpZW50JzpcbiAgICAgIHJldHVybiA8Q29udGFjdCB7Li4uaWNvblByb3BzfSAvPlxuICAgIGNhc2UgJ3Byb2plY3QnOlxuICAgICAgcmV0dXJuIDxGaWxlUHJvamVjdCB7Li4uaWNvblByb3BzfSAvPlxuICAgIGNhc2UgJ3Rhc2snOlxuICAgICAgcmV0dXJuIDxUYXNrTGlua0ljb24gd2lkdGg9e3Jlc29sdmVkU2l6ZX0gaGVpZ2h0PXtyZXNvbHZlZFNpemV9IGNvbG9yPXtUQVNLX0xJTktfSUNPTl9DT0xPUn0gLz5cbiAgICBjYXNlICd1c2VyJzpcbiAgICAgIHJldHVybiA8VXNlciB7Li4uaWNvblByb3BzfSAvPlxuICAgIGNhc2UgJ21jcCc6XG4gICAgICBpZiAoaXNOb3Rpb25NY3BTbHVnKG1lbnRpb25JZCkpIHtcbiAgICAgICAgcmV0dXJuIDxOb3Rpb25JY29uIHdpZHRoPXtyZXNvbHZlZFNpemV9IGhlaWdodD17cmVzb2x2ZWRTaXplfSAvPlxuICAgICAgfVxuICAgICAgcmV0dXJuIDxHbG9iZSB7Li4uaWNvblByb3BzfSAvPlxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPFVzZXIgey4uLmljb25Qcm9wc30gLz5cbiAgfVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlQ29udGV4dE1lbnRpb25JY29uRWxlbWVudCA9IChcbiAgdHlwZTogQ29udGV4dEVudGl0eVR5cGUsXG4gIGNvbG9yOiBzdHJpbmcsXG4gIG1lbnRpb25JZDogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkLFxuICBzaXplPzogbnVtYmVyXG4pOiBIVE1MRWxlbWVudCB8IFNWR1NWR0VsZW1lbnQgPT4ge1xuICBjb25zdCByZXNvbHZlZFNpemUgPSBzaXplID8/IERFRkFVTFRfSUNPTl9TSVpFXG4gIGlmICh0eXBlID09PSAndGFzaycpIHtcbiAgICByZXR1cm4gY3JlYXRlU3ZnSWNvbihUQVNLX0xJTktfSUNPTl9QQVRILCBUQVNLX0xJTktfSUNPTl9DT0xPUiwgcmVzb2x2ZWRTaXplKVxuICB9XG5cbiAgaWYgKHR5cGUgPT09ICdtY3AnICYmIGlzTm90aW9uTWNwU2x1ZyhtZW50aW9uSWQpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZU5vdGlvbkljb25TdmdFbGVtZW50KHJlc29sdmVkU2l6ZSlcbiAgfVxuXG4gIGlmICh0eXBlID09PSAnbWNwJykge1xuICAgIHJldHVybiBjcmVhdGVTdmdJY29uKE1FTlRJT05fSUNPTl9QQVRIUy5tY3AsIGNvbG9yLCByZXNvbHZlZFNpemUpXG4gIH1cblxuICBjb25zdCBwYXRoRGF0YSA9IE1FTlRJT05fSUNPTl9QQVRIU1t0eXBlXSA/PyBNRU5USU9OX0lDT05fUEFUSFMudXNlclxuICByZXR1cm4gY3JlYXRlU3ZnSWNvbihwYXRoRGF0YSwgY29sb3IsIHJlc29sdmVkU2l6ZSlcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsU0FBU0EsT0FBTyxRQUFRLDBDQUEwQztBQUNsRSxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsSUFBSSxRQUFRLHVDQUF1QztBQUM1RCxTQUFTQyxVQUFVLEVBQUVDLHVCQUF1QixFQUFFQyx1QkFBdUIs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
|
|
134
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250YWN0IiwiRmlsZVByb2plY3QiLCJHbG9iZSIsIlVzZXIiLCJOb3Rpb25JY29uIiwiTk9USU9OX0JSQU5EX1BBVEhfQkxBQ0siLCJOT1RJT05fQlJBTkRfUEFUSF9XSElURSIsIlNraWxsSWNvbiIsIlNLSUxMX0lDT05fUEFUSCIsIlRhc2tMaW5rSWNvbiIsIlRBU0tfTElOS19JQ09OX0NPTE9SIiwiVEFTS19MSU5LX0lDT05fUEFUSCIsImpzeCIsIl9qc3giLCJTVkdfTlMiLCJERUZBVUxUX0lDT05fU0laRSIsIk5PVElPTl9NQ1BfU0xVRyIsImlzTm90aW9uTWNwU2x1ZyIsImlkIiwiU3RyaW5nIiwidG9Mb3dlckNhc2UiLCJNRU5USU9OX0lDT05fUEFUSFMiLCJza2lsbCIsImNsaWVudCIsInByb2plY3QiLCJ1c2VyIiwibWNwIiwiY3JlYXRlU3ZnSWNvbiIsInBhdGhEYXRhIiwiY29sb3IiLCJzaXplIiwic3ZnIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50TlMiLCJzZXRBdHRyaWJ1dGUiLCJzdHlsZSIsImRpc3BsYXkiLCJwYXRoIiwiYXBwZW5kQ2hpbGQiLCJjcmVhdGVTa2lsbEljb25TdmdFbGVtZW50IiwiY3JlYXRlTm90aW9uSWNvblN2Z0VsZW1lbnQiLCJwMSIsInAyIiwiZ2V0Q29udGV4dE1lbnRpb25JY29uIiwidHlwZSIsIm1lbnRpb25JZCIsInJlc29sdmVkU2l6ZSIsImljb25Qcm9wcyIsIndpZHRoIiwiY29uY2F0IiwiaGVpZ2h0IiwiX29iamVjdFNwcmVhZCIsImNyZWF0ZUNvbnRleHRNZW50aW9uSWNvbkVsZW1lbnQiLCJfTUVOVElPTl9JQ09OX1BBVEhTJHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY29udGV4dE1lbnRpb25JY29ucy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDb250YWN0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ29udGFjdCdcbmltcG9ydCB7IEZpbGVQcm9qZWN0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvRmlsZVByb2plY3QnXG5pbXBvcnQgeyBHbG9iZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0dsb2JlJ1xuaW1wb3J0IHsgVXNlciB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1VzZXInXG5pbXBvcnQgeyBOb3Rpb25JY29uLCBOT1RJT05fQlJBTkRfUEFUSF9CTEFDSywgTk9USU9OX0JSQU5EX1BBVEhfV0hJVEUgfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL2ljb25zL05vdGlvbkljb24nXG5pbXBvcnQgeyBTa2lsbEljb24sIFNLSUxMX0lDT05fUEFUSCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvaWNvbnMvU2tpbGxJY29uJ1xuaW1wb3J0IHsgVGFza0xpbmtJY29uIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9pY29ucy9UYXNrTGlua0ljb24nXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSB9IGZyb20gJy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgVEFTS19MSU5LX0lDT05fQ09MT1IsIFRBU0tfTElOS19JQ09OX1BBVEggfSBmcm9tICcuLi9jb25zdGFudHMvdGFza0xpbmtJY29uJ1xuXG5jb25zdCBTVkdfTlMgPSAnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnXG5jb25zdCBERUZBVUxUX0lDT05fU0laRSA9IDE0XG5cbi8qKiBTbHVnIE1DUCBkZWwgY29uZWN0b3IgTm90aW9uIChhbGluZWFkbyBjb24gTk9USU9OX0NPTk5FQ1RPUl9TTFVHIGVuIGNhdGFsb2cpLiAqL1xuZXhwb3J0IGNvbnN0IE5PVElPTl9NQ1BfU0xVRyA9ICdub3Rpb24nXG5cbmV4cG9ydCBjb25zdCBpc05vdGlvbk1jcFNsdWcgPSAoaWQ6IHN0cmluZyB8IG51bWJlciB8IHVuZGVmaW5lZCk6IGJvb2xlYW4gPT5cbiAgU3RyaW5nKGlkID8/ICcnKS50b0xvd2VyQ2FzZSgpID09PSBOT1RJT05fTUNQX1NMVUdcblxuY29uc3QgTUVOVElPTl9JQ09OX1BBVEhTOiBSZWNvcmQ8RXhjbHVkZTxDb250ZXh0RW50aXR5VHlwZSwgJ3Rhc2snPiwgc3RyaW5nPiA9IHtcbiAgc2tpbGw6IFNLSUxMX0lDT05fUEFUSCxcbiAgY2xpZW50OlxuICAgICdNMy4zNzUgN0MzLjE4NzUgNyAzIDYuODQzNzUgMyA2LjYyNVY1LjM3NUMzIDUuMTg3NSAzLjE4NzUgNSAzLjM3NSA1SDRWMy41QzQgMi42ODc1IDQuNjg3NSAyIDUuNSAySDE1LjVDMTYuMzQzOCAyIDE3IDIuNjg3NSAxNyAzLjVWMTYuNUMxNyAxNy4zNDM4IDE2LjM0MzggMTggMTUuNSAxOEg1LjVDNC42ODc1IDE4IDQgMTcuMzQzOCA0IDE2LjVWMTVIMy4zNzVDMy4xODc1IDE1IDMgMTQuODQzOCAzIDE0LjYyNVYxMy4zNzVDMyAxMy4xODc1IDMuMTg3NSAxMyAzLjM3NSAxM0g0VjExSDMuMzc1QzMuMTg3NSAxMSAzIDEwLjg0MzggMyAxMC42MjVWOS4zNzVDMyA5LjE4NzUgMy4xODc1IDkgMy4zNzUgOUg0VjdIMy4zNzVaTTUuNSAxNi41SDE1LjVWMy41SDUuNVYxNi41Wk0xMC41IDEwQzkuNDA2MjUgMTAgOC41IDkuMTI1IDguNSA4QzguNSA2LjkwNjI1IDkuNDA2MjUgNiAxMC41IDZDMTEuNjI1IDYgMTIuNSA2LjkwNjI1IDEyLjUgOEMxMi41IDkuMTI1IDExLjYyNSAxMCAxMC41IDEwWk0xMy4zMTI1IDE0SDcuNzE4NzVDNy4zMTI1IDE0IDcgMTMuNzUgNyAxMy40MDYyVjEyLjgxMjVDNyAxMS44MTI1IDcuOTY4NzUgMTEgOS4xMjUgMTFDOS40Mzc1IDExIDkuNjg3NSAxMS4yNSAxMC41IDExLjI1QzExLjM0MzggMTEuMjUgMTEuNTYyNSAxMSAxMS45MDYyIDExQzEzLjA2MjUgMTEgMTQgMTEuODEyNSAxNCAxMi44MTI1VjEzLjQwNjJDMTQgMTMuNzUgMTMuNjg3NSAxNCAxMy4zMTI1IDE0WicsXG4gIHByb2plY3Q6XG4gICAgJ00xMi45Mzc1IDIuNDM3NUwxNS41MzEyIDUuMDYyNUMxNS44MTI1IDUuMzQzNzUgMTYgNS43NSAxNiA2LjEyNVYxNi41QzE2IDE3LjM0MzggMTUuMzEyNSAxOCAxNC41IDE4SDUuNUM0LjY1NjI1IDE4IDQgMTcuMzQzOCA0IDE2LjVWMy41QzQgMi42ODc1IDQuNjU2MjUgMiA1LjUgMkgxMS44NzVDMTIuMjUgMiAxMi42NTYyIDIuMTU2MjUgMTIuOTM3NSAyLjQzNzVaTTEyIDZIMTQuMzc1TDEyIDMuNjI1VjZaTTUuNSAzLjVWMTYuNUgxNC41VjcuNUgxMS4yNUMxMC44MTI1IDcuNSAxMC41IDcuMTg3NSAxMC41IDYuNzVWMy41SDUuNVpNMTMuMjUgMTQuNzVIOS43NUM5LjU5Mzc1IDE0Ljc1IDkuNSAxNC42NTYyIDkuNSAxNC41VjEzLjVDOS41IDEzLjM3NSA5LjU5Mzc1IDEzLjI1IDkuNzUgMTMuMjVIMTMuMjVDMTMuMzc1IDEzLjI1IDEzLjUgMTMuMzc1IDEzLjUgMTMuNVYxNC41QzEzLjUgMTQuNjU2MiAxMy4zNzUgMTQuNzUgMTMuMjUgMTQuNzVaTTggMTVIN0M2LjcxODc1IDE1IDYuNSAxNC43ODEyIDYuNSAxNC41VjEzLjVDNi41IDEzLjI1IDYuNzE4NzUgMTMgNyAxM0g4QzguMjUgMTMgOC41IDEzLjI1IDguNSAxMy41VjE0LjVDOC41IDE0Ljc4MTIgOC4yNSAxNSA4IDE1Wk04IDExSDdDNi43MTg3NSAxMSA2LjUgMTAuNzgxMiA2LjUgMTAuNVY5LjVDNi41IDkuMjUgNi43MTg3NSA5IDcgOUg4QzguMjUgOSA4LjUgOS4yNSA4LjUgOS41VjEwLjVDOC41IDEwLjc4MTIgOC4yNSAxMSA4IDExWk0xMy4yNSAxMC43NUg5Ljc1QzkuNTkzNzUgMTAuNzUgOS41IDEwLjY1NjIgOS41IDEwLjVWOS41QzkuNSA5LjM3NSA5LjU5Mzc1IDkuMjUgOS43NSA5LjI1SDEzLjI1QzEzLjM3NSA5LjI1IDEzLjUgOS4zNzUgMTMuNSA5LjVWMTAuNUMxMy41IDEwLjY1NjIgMTMuMzc1IDEwLjc1IDEzLjI1IDEwLjc1Wk04IDdIN0M2LjcxODc1IDcgNi41IDYuNzgxMjUgNi41IDYuNVY1LjVDNi41IDUuMjUgNi43MTg3NSA1IDcgNUg4QzguMjUgNSA4LjUgNS4yNSA4LjUgNS41VjYuNUM4LjUgNi43ODEyNSA4LjI1IDcgOCA3WicsXG4gIHVzZXI6ICdNMTIuMzgzOSAxMS4zMTI1QzExLjYwNzEgMTEuMzEyNSAxMS4yNTg5IDExLjc1IDEwIDExLjc1QzguNzE0MjkgMTEuNzUgOC4zNjYwNyAxMS4zMTI1IDcuNTg5MjkgMTEuMzEyNUM1LjYwNzE0IDExLjMxMjUgNCAxMi45ODA1IDQgMTUuMDAzOVYxNS42ODc1QzQgMTYuNDI1OCA0LjU2MjUgMTcgNS4yODU3MSAxN0gxNC43MTQzQzE1LjQxMDcgMTcgMTYgMTYuNDI1OCAxNiAxNS42ODc1VjE1LjAwMzlDMTYgMTIuOTgwNSAxNC4zNjYxIDExLjMxMjUgMTIuMzgzOSAxMS4zMTI1Wk0xNC43MTQzIDE1LjY4NzVINS4yODU3MVYxNS4wMDM5QzUuMjg1NzEgMTMuNjkxNCA2LjMwMzU3IDEyLjYyNSA3LjU4OTI5IDEyLjYyNUM3Ljk5MTA3IDEyLjYyNSA4LjYwNzE0IDEzLjA2MjUgMTAgMTMuMDYyNUMxMS4zNjYxIDEzLjA2MjUgMTEuOTgyMSAxMi42MjUgMTIuMzgzOSAxMi42MjVDMTMuNjY5NiAxMi42MjUgMTQuNzE0MyAxMy42OTE0IDE0LjcxNDMgMTUuMDAzOVYxNS42ODc1Wk0xMCAxMC44NzVDMTIuMTE2MSAxMC44NzUgMTMuODU3MSA5LjEyNSAxMy44NTcxIDYuOTM3NUMxMy44NTcxIDQuNzc3MzQgMTIuMTE2MSAzIDEwIDNDNy44NTcxNCAzIDYuMTQyODYgNC43NzczNCA2LjE0Mjg2IDYuOTM3NUM2LjE0Mjg2IDkuMTI1IDcuODU3MTQgMTAuODc1IDEwIDEwLjg3NVpNMTAgNC4zMTI1QzExLjM5MjkgNC4zMTI1IDEyLjU3MTQgNS41MTU2MiAxMi41NzE0IDYuOTM3NUMxMi41NzE0IDguMzg2NzIgMTEuMzkyOSA5LjU2MjUgMTAgOS41NjI1QzguNTgwMzYgOS41NjI1IDcuNDI4NTcgOC4zODY3MiA3LjQyODU3IDYuOTM3NUM3LjQyODU3IDUuNTE1NjIgOC41ODAzNiA0LjMxMjUgMTAgNC4zMTI1WicsXG4gIG1jcDogJ00xMCAzQzYuMTMzMDYgMyAzIDYuMTMzMDYgMyAxMEMzIDEzLjg2NjkgNi4xMzMwNiAxNyAxMCAxN0MxMy44NjY5IDE3IDE3IDEzLjg2NjkgMTcgMTBDMTcgNi4xMzMwNiAxMy44NjY5IDMgMTAgM1pNMTUuMDUyNCA3LjUxNjEzSDEzLjE2MTNDMTIuOTYzNyA2LjUgMTIuNjUzMiA1LjU5Njc3IDEyLjI1ODEgNC44NjI5QzEzLjQ3MTggNS4zOTkxOSAxNC40NTk3IDYuMzMwNjUgMTUuMDUyNCA3LjUxNjEzWk0xMCA0LjM1NDg0QzEwLjUwODEgNC4zNTQ4NCAxMS4zNTQ4IDUuNTQwMzIgMTEuNzc4MiA3LjUxNjEzSDguMTkzNTVDOC42MTY5NCA1LjU0MDMyIDkuNDYzNzEgNC4zNTQ4NCAxMCA0LjM1NDg0Wk00LjM1NDg0IDEwQzQuMzU0ODQgOS42MzMwNiA0LjM4MzA2IDkuMjM3OSA0LjQ2Nzc0IDguODcwOTdINi42NDExM0M2LjYxMjkgOS4yNjYxMyA2LjYxMjkgOS42MzMwNiA2LjYxMjkgMTBDNi42MTI5IDEwLjM5NTIgNi42MTI5IDEwLjc2MjEgNi42NDExMyAxMS4xMjlINC40Njc3NEM0LjM4MzA2IDEwLjc5MDMgNC4zNTQ4NCAxMC4zOTUyIDQuMzU0ODQgMTBaTTQuOTE5MzUgMTIuNDgzOUg2LjgxMDQ4QzcuMDA4MDYgMTMuNTI4MiA3LjMxODU1IDE0LjQzMTUgNy43MTM3MSAxNS4xNjUzQzYuNSAxNC42MjkgNS41MTIxIDEzLjY2OTQgNC45MTkzNSAxMi40ODM5Wk02LjgxMDQ4IDcuNTE2MTNINC45MTkzNUM1LjUxMjEgNi4zMzA2NSA2LjUgNS4zOTkxOSA3LjcxMzcxIDQuODYyOUM3LjMxODU1IDUuNTk2NzcgNy4wMDgwNiA2LjUgNi44MTA0OCA3LjUxNjEzWk0xMCAxNS42NDUyQzkuNDYzNzEgMTUuNjQ1MiA4LjYxNjk0IDE0LjQ4NzkgOC4xOTM1NSAxMi40ODM5SDExLjc3ODJDMTEuMzU0OCAxNC40ODc5IDEwLjUwODEgMTUuNjQ1MiAxMCAxNS42NDUyWk0xMS45NzU4IDExLjEyOUg3Ljk5NTk3QzcuOTY3NzQgMTAuNzkwMyA3Ljk2Nzc0IDEwLjM5NTIgNy45Njc3NCAxMEM3Ljk2Nzc0IDkuNjA0ODQgNy45Njc3NCA5LjIzNzkgNy45OTU5NyA4Ljg3MDk3SDExLjk3NThDMTIuMDA0IDkuMjM3OSAxMi4wMzIzIDkuNjA0ODQgMTIuMDMyMyAxMEMxMi4wMzIzIDEwLjM5NTIgMTIuMDA0IDEwLjc5MDMgMTEuOTc1OCAxMS4xMjlaTTEyLjI1ODEgMTUuMTY1M0MxMi42NTMyIDE0LjQzMTUgMTIuOTYzNyAxMy41MjgyIDEzLjE2MTMgMTIuNDgzOUgxNS4wNTI0QzE0LjQ1OTcgMTMuNjY5NCAxMy40NzE4IDE0LjYyOSAxMi4yNTgxIDE1LjE2NTNaTTEzLjMzMDYgMTEuMTI5QzEzLjM1ODkgMTAuNzYyMSAxMy4zODcxIDEwLjM5NTIgMTMuMzg3MSAxMEMxMy4zODcxIDkuNjMzMDYgMTMuMzU4OSA5LjI2NjEzIDEzLjMzMDYgOC44NzA5N0gxNS41MzIzQzE1LjU4ODcgOS4yMzc5IDE1LjY0NTIgOS42MzMwNiAxNS42NDUyIDEwQzE1LjY0NTIgMTAuMzk1MiAxNS41ODg3IDEwLjc5MDMgMTUuNTMyMyAxMS4xMjlIMTMuMzMwNlonLFxufVxuXG5jb25zdCBjcmVhdGVTdmdJY29uID0gKHBhdGhEYXRhOiBzdHJpbmcsIGNvbG9yOiBzdHJpbmcsIHNpemU6IG51bWJlcik6IFNWR1NWR0VsZW1lbnQgPT4ge1xuICBjb25zdCBzdmcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAnc3ZnJylcbiAgc3ZnLnNldEF0dHJpYnV0ZSgndmlld0JveCcsICcwIDAgMjAgMjAnKVxuICBzdmcuc2V0QXR0cmlidXRlKCd3aWR0aCcsIFN0cmluZyhzaXplKSlcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgU3RyaW5nKHNpemUpKVxuICBzdmcuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJylcbiAgc3ZnLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snXG5cbiAgY29uc3QgcGF0aCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhTVkdfTlMsICdwYXRoJylcbiAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2QnLCBwYXRoRGF0YSlcbiAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2ZpbGwnLCBjb2xvcilcbiAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2ZpbGwtcnVsZScsICdub256ZXJvJylcbiAgc3ZnLmFwcGVuZENoaWxkKHBhdGgpXG5cbiAgcmV0dXJuIHN2Z1xufVxuXG5jb25zdCBjcmVhdGVTa2lsbEljb25TdmdFbGVtZW50ID0gKGNvbG9yOiBzdHJpbmcsIHNpemU6IG51bWJlcik6IFNWR1NWR0VsZW1lbnQgPT4ge1xuICBjb25zdCBzdmcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAnc3ZnJylcbiAgc3ZnLnNldEF0dHJpYnV0ZSgndmlld0JveCcsICcwIDAgMjAgMjAnKVxuICBzdmcuc2V0QXR0cmlidXRlKCd3aWR0aCcsIFN0cmluZyhzaXplKSlcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgU3RyaW5nKHNpemUpKVxuICBzdmcuc2V0QXR0cmlidXRlKCdmaWxsJywgJ25vbmUnKVxuICBzdmcuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJylcbiAgc3ZnLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snXG5cbiAgY29uc3QgcGF0aCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhTVkdfTlMsICdwYXRoJylcbiAgcGF0aC5zZXRBdHRyaWJ1dGUoJ2QnLCBTS0lMTF9JQ09OX1BBVEgpXG4gIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2UnLCBjb2xvcilcbiAgcGF0aC5zZXRBdHRyaWJ1dGUoJ3N0cm9rZS1saW5lY2FwJywgJ3JvdW5kJylcbiAgcGF0aC5zZXRBdHRyaWJ1dGUoJ3N0cm9rZS1saW5lam9pbicsICdyb3VuZCcpXG4gIHBhdGguc2V0QXR0cmlidXRlKCdzdHJva2Utd2lkdGgnLCAnMS41JylcbiAgc3ZnLmFwcGVuZENoaWxkKHBhdGgpXG5cbiAgcmV0dXJuIHN2Z1xufVxuXG5jb25zdCBjcmVhdGVOb3Rpb25JY29uU3ZnRWxlbWVudCA9IChzaXplOiBudW1iZXIpOiBTVkdTVkdFbGVtZW50ID0+IHtcbiAgY29uc3Qgc3ZnID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKFNWR19OUywgJ3N2ZycpXG4gIHN2Zy5zZXRBdHRyaWJ1dGUoJ3ZpZXdCb3gnLCAnMCAwIDEwMCAxMDAnKVxuICBzdmcuc2V0QXR0cmlidXRlKCd3aWR0aCcsIFN0cmluZyhzaXplKSlcbiAgc3ZnLnNldEF0dHJpYnV0ZSgnaGVpZ2h0JywgU3RyaW5nKHNpemUpKVxuICBzdmcuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJylcbiAgc3ZnLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snXG5cbiAgY29uc3QgcDEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAncGF0aCcpXG4gIHAxLnNldEF0dHJpYnV0ZSgnZmlsbCcsICcjZmZmJylcbiAgcDEuc2V0QXR0cmlidXRlKCdkJywgTk9USU9OX0JSQU5EX1BBVEhfV0hJVEUpXG5cbiAgY29uc3QgcDIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05TLCAncGF0aCcpXG4gIHAyLnNldEF0dHJpYnV0ZSgnZmlsbCcsICcjMDAwJylcbiAgcDIuc2V0QXR0cmlidXRlKCdmaWxsLXJ1bGUnLCAnZXZlbm9kZCcpXG4gIHAyLnNldEF0dHJpYnV0ZSgnY2xpcC1ydWxlJywgJ2V2ZW5vZGQnKVxuICBwMi5zZXRBdHRyaWJ1dGUoJ2QnLCBOT1RJT05fQlJBTkRfUEFUSF9CTEFDSylcblxuICBzdmcuYXBwZW5kQ2hpbGQocDEpXG4gIHN2Zy5hcHBlbmRDaGlsZChwMilcbiAgcmV0dXJuIHN2Z1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Q29udGV4dE1lbnRpb25JY29uID0gKFxuICB0eXBlOiBDb250ZXh0RW50aXR5VHlwZSxcbiAgY29sb3I6IHN0cmluZyxcbiAgbWVudGlvbklkOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQsXG4gIHNpemU/OiBudW1iZXJcbik6IFJlYWN0Tm9kZSA9PiB7XG4gIGNvbnN0IHJlc29sdmVkU2l6ZSA9IHNpemUgPz8gREVGQVVMVF9JQ09OX1NJWkVcbiAgY29uc3QgaWNvblByb3BzID0geyBjb2xvciwgd2lkdGg6IGAke3Jlc29sdmVkU2l6ZX1weGAsIGhlaWdodDogYCR7cmVzb2x2ZWRTaXplfXB4YCB9XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ2NsaWVudCc6XG4gICAgICByZXR1cm4gPENvbnRhY3Qgey4uLmljb25Qcm9wc30gLz5cbiAgICBjYXNlICdwcm9qZWN0JzpcbiAgICAgIHJldHVybiA8RmlsZVByb2plY3Qgey4uLmljb25Qcm9wc30gLz5cbiAgICBjYXNlICd0YXNrJzpcbiAgICAgIHJldHVybiA8VGFza0xpbmtJY29uIHdpZHRoPXtyZXNvbHZlZFNpemV9IGhlaWdodD17cmVzb2x2ZWRTaXplfSBjb2xvcj17VEFTS19MSU5LX0lDT05fQ09MT1J9IC8+XG4gICAgY2FzZSAndXNlcic6XG4gICAgICByZXR1cm4gPFVzZXIgey4uLmljb25Qcm9wc30gLz5cbiAgICBjYXNlICdza2lsbCc6XG4gICAgICByZXR1cm4gPFNraWxsSWNvbiB3aWR0aD17cmVzb2x2ZWRTaXplfSBoZWlnaHQ9e3Jlc29sdmVkU2l6ZX0gY29sb3I9e2NvbG9yfSAvPlxuICAgIGNhc2UgJ21jcCc6XG4gICAgICBpZiAoaXNOb3Rpb25NY3BTbHVnKG1lbnRpb25JZCkpIHtcbiAgICAgICAgcmV0dXJuIDxOb3Rpb25JY29uIHdpZHRoPXtyZXNvbHZlZFNpemV9IGhlaWdodD17cmVzb2x2ZWRTaXplfSAvPlxuICAgICAgfVxuICAgICAgcmV0dXJuIDxHbG9iZSB7Li4uaWNvblByb3BzfSAvPlxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPFVzZXIgey4uLmljb25Qcm9wc30gLz5cbiAgfVxufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlQ29udGV4dE1lbnRpb25JY29uRWxlbWVudCA9IChcbiAgdHlwZTogQ29udGV4dEVudGl0eVR5cGUsXG4gIGNvbG9yOiBzdHJpbmcsXG4gIG1lbnRpb25JZDogc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkLFxuICBzaXplPzogbnVtYmVyXG4pOiBIVE1MRWxlbWVudCB8IFNWR1NWR0VsZW1lbnQgPT4ge1xuICBjb25zdCByZXNvbHZlZFNpemUgPSBzaXplID8/IERFRkFVTFRfSUNPTl9TSVpFXG4gIGlmICh0eXBlID09PSAndGFzaycpIHtcbiAgICByZXR1cm4gY3JlYXRlU3ZnSWNvbihUQVNLX0xJTktfSUNPTl9QQVRILCBUQVNLX0xJTktfSUNPTl9DT0xPUiwgcmVzb2x2ZWRTaXplKVxuICB9XG5cbiAgaWYgKHR5cGUgPT09ICdza2lsbCcpIHtcbiAgICByZXR1cm4gY3JlYXRlU2tpbGxJY29uU3ZnRWxlbWVudChjb2xvciwgcmVzb2x2ZWRTaXplKVxuICB9XG5cbiAgaWYgKHR5cGUgPT09ICdtY3AnICYmIGlzTm90aW9uTWNwU2x1ZyhtZW50aW9uSWQpKSB7XG4gICAgcmV0dXJuIGNyZWF0ZU5vdGlvbkljb25TdmdFbGVtZW50KHJlc29sdmVkU2l6ZSlcbiAgfVxuXG4gIGlmICh0eXBlID09PSAnbWNwJykge1xuICAgIHJldHVybiBjcmVhdGVTdmdJY29uKE1FTlRJT05fSUNPTl9QQVRIUy5tY3AsIGNvbG9yLCByZXNvbHZlZFNpemUpXG4gIH1cblxuICBjb25zdCBwYXRoRGF0YSA9IE1FTlRJT05fSUNPTl9QQVRIU1t0eXBlXSA/PyBNRU5USU9OX0lDT05fUEFUSFMudXNlclxuICByZXR1cm4gY3JlYXRlU3ZnSWNvbihwYXRoRGF0YSwgY29sb3IsIHJlc29sdmVkU2l6ZSlc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
|
|
@@ -9,6 +9,7 @@ export var TYPE_TO_TRIGGER_SEQUENCE = {
|
|
|
9
9
|
mcp: -2
|
|
10
10
|
};
|
|
11
11
|
export var getMentionTabPrefix = function getMentionTabPrefix(type) {
|
|
12
|
+
if (type === 'skill') return '@/';
|
|
12
13
|
var mapped = TYPE_TO_TRIGGER_SEQUENCE[type];
|
|
13
14
|
if (mapped === undefined) return '@';
|
|
14
15
|
if (mapped < 0) return "".concat('@'.repeat(Math.abs(mapped)), "/");
|
|
@@ -16,6 +17,7 @@ export var getMentionTabPrefix = function getMentionTabPrefix(type) {
|
|
|
16
17
|
};
|
|
17
18
|
export var getAtRunTabTypes = function getAtRunTabTypes(allowedTypes) {
|
|
18
19
|
return allowedTypes.filter(function (type) {
|
|
20
|
+
if (type === 'skill') return false;
|
|
19
21
|
var mapped = TYPE_TO_TRIGGER_SEQUENCE[type];
|
|
20
22
|
return mapped === undefined || mapped > 0;
|
|
21
23
|
});
|
|
@@ -48,4 +50,4 @@ export var getTriggerSequenceFromType = function getTriggerSequenceFromType(type
|
|
|
48
50
|
var idx = allowedTypes.indexOf(type);
|
|
49
51
|
return idx >= 0 ? idx + 1 : 1;
|
|
50
52
|
};
|
|
51
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUWVBFX1RPX1RSSUdHRVJfU0VRVUVOQ0UiLCJ1c2VyIiwidGFzayIsInByb2plY3QiLCJjbGllbnQiLCJtY3AiLCJnZXRNZW50aW9uVGFiUHJlZml4IiwidHlwZSIsIm1hcHBlZCIsInVuZGVmaW5lZCIsImNvbmNhdCIsInJlcGVhdCIsIk1hdGgiLCJhYnMiLCJnZXRBdFJ1blRhYlR5cGVzIiwiYWxsb3dlZFR5cGVzIiwiZmlsdGVyIiwiZ2V0VHlwZUZyb21UcmlnZ2VyU2VxdWVuY2UiLCJhdFJ1bkxlbmd0aCIsImRlZmF1bHRUeXBlIiwiX09iamVjdCRlbnRyaWVzJGZpbmQkMiIsIl9PYmplY3QkZW50cmllcyRmaW5kMiIsIl9hbGxvd2VkVHlwZXMkdGFiSWR4IiwiX09iamVjdCRlbnRyaWVzJGZpbmQkIiwiX09iamVjdCRlbnRyaWVzJGZpbmQiLCJzbGFzaFR5cGUiLCJPYmplY3QiLCJlbnRyaWVzIiwiZmluZCIsIl9yZWYiLCJfcmVmMiIsIl9zbGljZWRUb0FycmF5IiwibGVuIiwiaW5jbHVkZXMiLCJub3JtYWxpemVkIiwibWF4IiwiZmxvb3IiLCJtYXBwZWRUeXBlIiwiX3JlZjMiLCJfcmVmNCIsInRhYklkeCIsIm1pbiIsImxlbmd0aCIsImdldFRyaWdnZXJTZXF1ZW5jZUZyb21UeXBlIiwiaWR4IiwiaW5kZXhPZiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jb250ZXh0TWVudGlvblRyaWdnZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHRFbnRpdHlUeXBlIH0gZnJvbSAnLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5cbi8qKiBTZWN1ZW5jaWEgZGUgYEBgIChwb3NpdGl2YSkgbyBgQEAvYOKApiAobmVnYXRpdmEgPSBydW4gZGUgQCArIHNsYXNoKSBwb3IgdGlwbyBkZSB0YWIuICovXG5leHBvcnQgY29uc3QgVFlQRV9UT19UUklHR0VSX1NFUVVFTkNFOiBQYXJ0aWFsPFJlY29yZDxDb250ZXh0RW50aXR5VHlwZSwgbnVtYmVyPj4gPSB7XG4gIHVzZXI6IDEsXG4gIHRhc2s6IDIsXG4gIHByb2plY3Q6IDMsXG4gIGNsaWVudDogNCxcbiAgLyoqIFRyaWdnZXJzIGNvbiBzbGFzaDogQEAvIHBhcmEgbWNwIChhdFJ1bkxlbmd0aCBuZWdhdGl2byBlbiBlbCBlZGl0b3IpICovXG4gIG1jcDogLTIsXG59XG5cbmV4cG9ydCBjb25zdCBnZXRNZW50aW9uVGFiUHJlZml4ID0gKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlKTogc3RyaW5nID0+
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUWVBFX1RPX1RSSUdHRVJfU0VRVUVOQ0UiLCJ1c2VyIiwidGFzayIsInByb2plY3QiLCJjbGllbnQiLCJtY3AiLCJnZXRNZW50aW9uVGFiUHJlZml4IiwidHlwZSIsIm1hcHBlZCIsInVuZGVmaW5lZCIsImNvbmNhdCIsInJlcGVhdCIsIk1hdGgiLCJhYnMiLCJnZXRBdFJ1blRhYlR5cGVzIiwiYWxsb3dlZFR5cGVzIiwiZmlsdGVyIiwiZ2V0VHlwZUZyb21UcmlnZ2VyU2VxdWVuY2UiLCJhdFJ1bkxlbmd0aCIsImRlZmF1bHRUeXBlIiwiX09iamVjdCRlbnRyaWVzJGZpbmQkMiIsIl9PYmplY3QkZW50cmllcyRmaW5kMiIsIl9hbGxvd2VkVHlwZXMkdGFiSWR4IiwiX09iamVjdCRlbnRyaWVzJGZpbmQkIiwiX09iamVjdCRlbnRyaWVzJGZpbmQiLCJzbGFzaFR5cGUiLCJPYmplY3QiLCJlbnRyaWVzIiwiZmluZCIsIl9yZWYiLCJfcmVmMiIsIl9zbGljZWRUb0FycmF5IiwibGVuIiwiaW5jbHVkZXMiLCJub3JtYWxpemVkIiwibWF4IiwiZmxvb3IiLCJtYXBwZWRUeXBlIiwiX3JlZjMiLCJfcmVmNCIsInRhYklkeCIsIm1pbiIsImxlbmd0aCIsImdldFRyaWdnZXJTZXF1ZW5jZUZyb21UeXBlIiwiaWR4IiwiaW5kZXhPZiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jb250ZXh0TWVudGlvblRyaWdnZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHRFbnRpdHlUeXBlIH0gZnJvbSAnLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5cbi8qKiBTZWN1ZW5jaWEgZGUgYEBgIChwb3NpdGl2YSkgbyBgQEAvYOKApiAobmVnYXRpdmEgPSBydW4gZGUgQCArIHNsYXNoKSBwb3IgdGlwbyBkZSB0YWIuICovXG5leHBvcnQgY29uc3QgVFlQRV9UT19UUklHR0VSX1NFUVVFTkNFOiBQYXJ0aWFsPFJlY29yZDxDb250ZXh0RW50aXR5VHlwZSwgbnVtYmVyPj4gPSB7XG4gIHVzZXI6IDEsXG4gIHRhc2s6IDIsXG4gIHByb2plY3Q6IDMsXG4gIGNsaWVudDogNCxcbiAgLyoqIFRyaWdnZXJzIGNvbiBzbGFzaDogQEAvIHBhcmEgbWNwIChhdFJ1bkxlbmd0aCBuZWdhdGl2byBlbiBlbCBlZGl0b3IpICovXG4gIG1jcDogLTIsXG59XG5cbmV4cG9ydCBjb25zdCBnZXRNZW50aW9uVGFiUHJlZml4ID0gKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlKTogc3RyaW5nID0+IHtcbiAgaWYgKHR5cGUgPT09ICdza2lsbCcpIHJldHVybiAnQC8nXG4gIGNvbnN0IG1hcHBlZCA9IFRZUEVfVE9fVFJJR0dFUl9TRVFVRU5DRVt0eXBlXVxuICBpZiAobWFwcGVkID09PSB1bmRlZmluZWQpIHJldHVybiAnQCdcbiAgaWYgKG1hcHBlZCA8IDApIHJldHVybiBgJHsnQCcucmVwZWF0KE1hdGguYWJzKG1hcHBlZCkpfS9gXG4gIHJldHVybiAnQCcucmVwZWF0KG1hcHBlZClcbn1cblxuZXhwb3J0IGNvbnN0IGdldEF0UnVuVGFiVHlwZXMgPSAoYWxsb3dlZFR5cGVzOiBDb250ZXh0RW50aXR5VHlwZVtdKTogQ29udGV4dEVudGl0eVR5cGVbXSA9PlxuICBhbGxvd2VkVHlwZXMuZmlsdGVyKHR5cGUgPT4ge1xuICAgIGlmICh0eXBlID09PSAnc2tpbGwnKSByZXR1cm4gZmFsc2VcbiAgICBjb25zdCBtYXBwZWQgPSBUWVBFX1RPX1RSSUdHRVJfU0VRVUVOQ0VbdHlwZV1cbiAgICByZXR1cm4gbWFwcGVkID09PSB1bmRlZmluZWQgfHwgbWFwcGVkID4gMFxuICB9KVxuXG5leHBvcnQgY29uc3QgZ2V0VHlwZUZyb21UcmlnZ2VyU2VxdWVuY2UgPSAoXG4gIGF0UnVuTGVuZ3RoOiBudW1iZXIsXG4gIGFsbG93ZWRUeXBlczogQ29udGV4dEVudGl0eVR5cGVbXSxcbiAgZGVmYXVsdFR5cGU6IENvbnRleHRFbnRpdHlUeXBlXG4pOiBDb250ZXh0RW50aXR5VHlwZSA9PiB7XG4gIGlmIChhdFJ1bkxlbmd0aCA8IDApIHtcbiAgICBjb25zdCBzbGFzaFR5cGUgPSAoT2JqZWN0LmVudHJpZXMoVFlQRV9UT19UUklHR0VSX1NFUVVFTkNFKS5maW5kKChbLCBsZW5dKSA9PiBsZW4gPT09IGF0UnVuTGVuZ3RoKT8uWzBdID8/XG4gICAgICBudWxsKSBhcyBDb250ZXh0RW50aXR5VHlwZSB8IG51bGxcbiAgICBpZiAoc2xhc2hUeXBlICYmIGFsbG93ZWRUeXBlcy5pbmNsdWRlcyhzbGFzaFR5cGUpKSByZXR1cm4gc2xhc2hUeXBlXG4gICAgcmV0dXJuIGRlZmF1bHRUeXBlXG4gIH1cbiAgY29uc3Qgbm9ybWFsaXplZCA9IE1hdGgubWF4KDEsIE1hdGguZmxvb3IoYXRSdW5MZW5ndGgpKVxuICBjb25zdCBtYXBwZWRUeXBlID0gKE9iamVjdC5lbnRyaWVzKFRZUEVfVE9fVFJJR0dFUl9TRVFVRU5DRSkuZmluZCgoWywgbGVuXSkgPT4gbGVuID09PSBub3JtYWxpemVkKT8uWzBdID8/XG4gICAgbnVsbCkgYXMgQ29udGV4dEVudGl0eVR5cGUgfCBudWxsXG4gIGlmIChtYXBwZWRUeXBlICYmIGFsbG93ZWRUeXBlcy5pbmNsdWRlcyhtYXBwZWRUeXBlKSkgcmV0dXJuIG1hcHBlZFR5cGVcbiAgY29uc3QgdGFiSWR4ID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgbm9ybWFsaXplZCAtIDEpLCBhbGxvd2VkVHlwZXMubGVuZ3RoIC0gMSlcbiAgcmV0dXJuIGFsbG93ZWRUeXBlc1t0YWJJZHhdID8/IGRlZmF1bHRUeXBlXG59XG5cbmV4cG9ydCBjb25zdCBnZXRUcmlnZ2VyU2VxdWVuY2VGcm9tVHlwZSA9ICh0eXBlOiBDb250ZXh0RW50aXR5VHlwZSwgYWxsb3dlZFR5cGVzOiBDb250ZXh0RW50aXR5VHlwZVtdKTogbnVtYmVyID0+IHtcbiAgY29uc3QgbWFwcGVkID0gVFlQRV9UT19UUklHR0VSX1NFUVVFTkNFW3R5cGVdXG4gIGlmIChtYXBwZWQgIT09IHVuZGVmaW5lZCkgcmV0dXJuIG1hcHBlZFxuICBjb25zdCBpZHggPSBhbGxvd2VkVHlwZXMuaW5kZXhPZih0eXBlKVxuICByZXR1cm4gaWR4ID49IDAgPyBpZHggKyAxIDogMVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBRUE7QUFDQSxPQUFPLElBQU1BLHdCQUFvRSxHQUFHO0VBQ2xGQyxJQUFJLEVBQUUsQ0FBQztFQUNQQyxJQUFJLEVBQUUsQ0FBQztFQUNQQyxPQUFPLEVBQUUsQ0FBQztFQUNWQyxNQUFNLEVBQUUsQ0FBQztFQUNUO0VBQ0FDLEdBQUcsRUFBRSxDQUFDO0FBQ1IsQ0FBQztBQUVELE9BQU8sSUFBTUMsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FBSUMsSUFBdUIsRUFBYTtFQUN0RSxJQUFJQSxJQUFJLEtBQUssT0FBTyxFQUFFLE9BQU8sSUFBSTtFQUNqQyxJQUFNQyxNQUFNLEdBQUdSLHdCQUF3QixDQUFDTyxJQUFJLENBQUM7RUFDN0MsSUFBSUMsTUFBTSxLQUFLQyxTQUFTLEVBQUUsT0FBTyxHQUFHO0VBQ3BDLElBQUlELE1BQU0sR0FBRyxDQUFDLEVBQUUsVUFBQUUsTUFBQSxDQUFVLEdBQUcsQ0FBQ0MsTUFBTSxDQUFDQyxJQUFJLENBQUNDLEdBQUcsQ0FBQ0wsTUFBTSxDQUFDLENBQUM7RUFDdEQsT0FBTyxHQUFHLENBQUNHLE1BQU0sQ0FBQ0gsTUFBTSxDQUFDO0FBQzNCLENBQUM7QUFFRCxPQUFPLElBQU1NLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUlDLFlBQWlDO0VBQUEsT0FDaEVBLFlBQVksQ0FBQ0MsTUFBTSxDQUFDLFVBQUFULElBQUksRUFBSTtJQUMxQixJQUFJQSxJQUFJLEtBQUssT0FBTyxFQUFFLE9BQU8sS0FBSztJQUNsQyxJQUFNQyxNQUFNLEdBQUdSLHdCQUF3QixDQUFDTyxJQUFJLENBQUM7SUFDN0MsT0FBT0MsTUFBTSxLQUFLQyxTQUFTLElBQUlELE1BQU0sR0FBRyxDQUFDO0VBQzNDLENBQUMsQ0FBQztBQUFBO0FBRUosT0FBTyxJQUFNUywwQkFBMEIsR0FBRyxT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
|
|
@@ -28,11 +28,11 @@ import { openTaskInCorPanel } from './openTaskInCorPanel';
|
|
|
28
28
|
* se captura de forma lazy hasta el cierre real `]]`.
|
|
29
29
|
*/
|
|
30
30
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
31
|
-
export var MENTION_MARKER_REGEX = /\[\[mention:(client|project|task|user|mcp):([^|\]]+)\|([\s\S]*?)\]\]/g;
|
|
31
|
+
export var MENTION_MARKER_REGEX = /\[\[mention:(client|project|task|user|mcp|skill):([^|\]]+)\|([\s\S]*?)\]\]/g;
|
|
32
32
|
export var MAIA_MENTION_PROTOCOL = 'maia-mention://';
|
|
33
33
|
var INCOMPLETE_MENTION_MARKER_REGEX = /\[\[mention:[\s\S]*$/;
|
|
34
34
|
var INCOMPLETE_SLASH_MARKER_REGEX = /\[\[slash_command:[^|\]]+\|([\s\S]*)$/;
|
|
35
|
-
var ALLOWED_TYPES = ['client', 'project', 'task', 'user', 'mcp'];
|
|
35
|
+
var ALLOWED_TYPES = ['client', 'project', 'task', 'user', 'mcp', 'skill'];
|
|
36
36
|
var parseMentionProtocolHref = function parseMentionProtocolHref(href) {
|
|
37
37
|
var rest = href.slice(MAIA_MENTION_PROTOCOL.length);
|
|
38
38
|
var slashIdx = rest.indexOf('/');
|
|
@@ -93,8 +93,13 @@ var splitLabelFirstWord = function splitLabelFirstWord(label) {
|
|
|
93
93
|
rest: normalized.slice(firstWhitespaceIdx)
|
|
94
94
|
};
|
|
95
95
|
};
|
|
96
|
+
var INLINE_MENTION_HOVER_BG = {
|
|
97
|
+
project: VIOLET_IA_COLORS[100]
|
|
98
|
+
};
|
|
96
99
|
var inlineMentionHoverCss = function inlineMentionHoverCss(type, isClickable) {
|
|
97
|
-
var
|
|
100
|
+
var _INLINE_MENTION_HOVER;
|
|
101
|
+
if (type === 'skill') return css([""]);
|
|
102
|
+
var bg = (_INLINE_MENTION_HOVER = INLINE_MENTION_HOVER_BG[type]) !== null && _INLINE_MENTION_HOVER !== void 0 ? _INLINE_MENTION_HOVER : MENTION_CHIP_NON_TASK_HOVER_BG;
|
|
98
103
|
return css(["background:", ";opacity:", ";"], bg, isClickable ? 0.95 : 1);
|
|
99
104
|
};
|
|
100
105
|
|
|
@@ -391,4 +396,4 @@ export var renderTextWithMentions = function renderTextWithMentions(text) {
|
|
|
391
396
|
if (lastIdx < text.length) out.push(text.slice(lastIdx));
|
|
392
397
|
return out;
|
|
393
398
|
};
|
|
394
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsIk1FTlRJT05fQ0hJUF9DT0xPUlMiLCJNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkciLCJTbGFzaENvbW1hbmRDaGlwIiwiU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVgiLCJWSU9MRVRfSUFfQ09MT1JTIiwiU0NUYXNrTGluayIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwiLCJvcGVuVGFza0luQ29yUGFuZWwiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJNRU5USU9OX01BUktFUl9SRUdFWCIsIk1BSUFfTUVOVElPTl9QUk9UT0NPTCIsIklOQ09NUExFVEVfTUVOVElPTl9NQVJLRVJfUkVHRVgiLCJJTkNPTVBMRVRFX1NMQVNIX01BUktFUl9SRUdFWCIsIkFMTE9XRURfVFlQRVMiLCJwYXJzZU1lbnRpb25Qcm90b2NvbEhyZWYiLCJocmVmIiwicmVzdCIsInNsaWNlIiwibGVuZ3RoIiwic2xhc2hJZHgiLCJpbmRleE9mIiwicmF3VHlwZSIsInJhd0lkIiwiaWQiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfdW51c2VkIiwidHlwZSIsImluY2x1ZGVzIiwic2VyaWFsaXplTWVudGlvbiIsIm1lbnRpb24iLCJjb25jYXQiLCJsYWJlbCIsInRyYW5zZm9ybU1lbnRpb25NYXJrZXJzIiwidGV4dCIsInJlcGxhY2UiLCJfbSIsInNhZmVMYWJlbCIsIlN0cmluZyIsImVuY29kZVVSSUNvbXBvbmVudCIsIm1lbnRpb25DaGlsZHJlblRvTGFiZWwiLCJjaGlsZHJlbiIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImMiLCJqb2luIiwic3BsaXRMYWJlbEZpcnN0V29yZCIsIm5vcm1hbGl6ZWQiLCJ0cmltIiwiZmlyc3RXb3JkIiwiZmlyc3RXaGl0ZXNwYWNlSWR4Iiwic2VhcmNoIiwiaW5saW5lTWVudGlvbkhvdmVyQ3NzIiwiaXNDbGlja2FibGUiLCJiZyIsIlNDSW5saW5lTWVudGlvbiIsInNwYW4iLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCJfTUVOVElPTl9DSElQX0NPTE9SUyQiLCIkdHlwZSIsInVzZXIiLCJfcmVmMiIsIl9NRU5USU9OX0NISVBfQ09MT1JTJDIiLCJmZyIsIl9yZWYzIiwiJGlzQ2xpY2thYmxlIiwiX3JlZjQiLCJTQ0lubGluZU1lbnRpb25JY29uIiwiX3JlZjUiLCIkdGFzayIsIl9yZWY2IiwiU0NJbmxpbmVNZW50aW9uSWNvblJvdyIsIlNDSW5saW5lTWVudGlvbldvcmQiLCJTQ0lubGluZU1lbnRpb25SZXN0IiwicmVuZGVyTWVudGlvbkxpbmsiLCJzdGFydHNXaXRoIiwiX3BhcnNlTWVudGlvblByb3RvY29sIiwiaXNUYXNrIiwiaWNvblNpemUiLCJ0YXNrVXJsIiwiaGFuZGxlVGFza0NsaWNrIiwiZSIsIm1ldGFLZXkiLCJjdHJsS2V5IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJoYW5kbGVUYXNrS2V5RG93biIsImtleSIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJvbktleURvd24iLCJpc1Byb2plY3QiLCJwcm9qZWN0VXJsIiwic2hvd0ljb24iLCJfc3BsaXRMYWJlbEZpcnN0V29yZCIsImhhbmRsZVByb2plY3RDbGljayIsIndpbmRvdyIsIm9wZW4iLCJ1bmRlZmluZWQiLCJyb2xlIiwidGFiSW5kZXgiLCJzdHJpcE1lbnRpb25NYXJrZXJzIiwiX3R5cGUiLCJfaWQiLCJmb3JtYXRDaGF0TGlzdFRpdGxlTWVudGlvbnMiLCJ3aXRob3V0TWVudGlvbnMiLCJzbGFzaFJlZ2V4IiwiUmVnRXhwIiwic291cmNlIiwid2l0aG91dFNsYXNoIiwid2l0aG91dEluY29tcGxldGVTbGFzaCIsImdldE1lbnRpb25VcmwiLCJNZW50aW9uQ2hpcCIsIl9yZWY3Iiwibm9ybWFsaXplZExhYmVsIiwidXJsIiwiX3NwbGl0TGFiZWxGaXJzdFdvcmQyIiwiaGFuZGxlQ2xpY2siLCJoYW5kbGVLZXlEb3duIiwiaGFzSW5saW5lTWFya2VycyIsImNvbGxlY3RJbmxpbmVNYXJrZXJzIiwibWFya2VycyIsImxhc3RJbmRleCIsIm0iLCJleGVjIiwiX20yIiwiX20zIiwiX3NsaWNlZFRvQXJyYXkiLCJwdXNoIiwia2luZCIsImluZGV4IiwicyIsInNvcnQiLCJhIiwiYiIsInJlbmRlclRleHRXaXRoTWVudGlvbnMiLCJvdXQiLCJsYXN0SWR4IiwiZm9yRWFjaCIsIm1hcmtlciIsImlubGluZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yZW5kZXJDb250ZXh0TWVudGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSwgUmVhY3RFbGVtZW50LCBNb3VzZUV2ZW50LCBLZXlib2FyZEV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUsIENvbnRleHRNZW50aW9uLCBDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyB9IGZyb20gJy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHtcbiAgTUVOVElPTl9DSElQX0NPTE9SUyxcbiAgTUVOVElPTl9DSElQX05PTl9UQVNLX0hPVkVSX0JHLFxufSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uQ2hpcC9Db250ZXh0TWVudGlvbkNoaXAuc3R5bGVzJ1xuaW1wb3J0IHsgU2xhc2hDb21tYW5kQ2hpcCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvU2xhc2hDb21tYW5kQ2hpcCdcbmltcG9ydCB7IFNMQVNIX0NPTU1BTkRfTUFSS0VSX1JFR0VYIH0gZnJvbSAnLi9zbGFzaENvbW1hbmRNYXJrZXInXG5pbXBvcnQgeyBWSU9MRVRfSUFfQ09MT1JTIH0gZnJvbSAnLi4vc3R5bGVzL2NvbmZpZydcbmltcG9ydCB7IFNDVGFza0xpbmsgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNZXNzYWdlcy9uZXdTdHlsZXMnXG5pbXBvcnQgeyBnZXRDb250ZXh0TWVudGlvbkljb24gfSBmcm9tICcuL2NvbnRleHRNZW50aW9uSWNvbnMnXG5pbXBvcnQgeyBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsIH0gZnJvbSAnLi9jb250ZXh0TWVudGlvbkxhYmVsJ1xuaW1wb3J0IHsgb3BlblRhc2tJbkNvclBhbmVsIH0gZnJvbSAnLi9vcGVuVGFza0luQ29yUGFuZWwnXG5cbi8qKlxuICogRm9ybWF0byBkZWwgbWFyY2Fkb3IgcXVlIHZpYWphIGVuIGVsIHRleHRvIGRlbCBtZW5zYWplOlxuICogICBbW21lbnRpb246PHR5cGU+OjxpZD58PGxhYmVsPl1dXG4gKlxuICogRWwgZWRpdG9yIGxvIGVtaXRlIGN1YW5kbyBzZXJpYWxpemEgZWwgY29udGVudGVkaXRhYmxlLCBlbCBiYWNrZW5kIGxvXG4gKiBwZXJzaXN0ZSB0YWwgY3VhbCB5IGFsIHJlbmRlcml6YXIgc2UgdHJhbnNmb3JtYSBlbiB1biBsaW5rIG1hcmtkb3duIGNvblxuICogdW4gcHJvdG9jb2xvIHByb3BpbyBxdWUgYEN1c3RvbUxpbmtgIGludGVyY2VwdGEgeSBkaWJ1amEgY29tbyBzcGFuXG4gKiBlc3RpbGFkby5cbiAqXG4gKiBQb3Igc2VwYXJhZG8sIGxhIG1ldGFkYXRhIGBjb250ZXh0X21lc3NhZ2VgIGxsZXZhIGxvcyB2YWxvcmVzIGxpbXBpb3NcbiAqIChpZCArIG5hbWUpIHBhcmEgcXVlIGVsIGJhY2tlbmQgcHVlZGEgaW50ZXJwcmV0YXIgbGFzIGVudGlkYWRlcyBzaW5cbiAqIHRlbmVyIHF1ZSBwYXJzZWFyIGVsIHRleHRvLlxuICovXG4vKipcbiAqIExhYmVsIHB1ZWRlIGNvbnRlbmVyIGBdYCAoZWo6IFwiW0VkdWNhdGVdQmxvZyBQb3N0IC4uLlwiKSwgcG9yIGVzb1xuICogc2UgY2FwdHVyYSBkZSBmb3JtYSBsYXp5IGhhc3RhIGVsIGNpZXJyZSByZWFsIGBdXWAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRU5USU9OX01BUktFUl9SRUdFWCA9IC9cXFtcXFttZW50aW9uOihjbGllbnR8cHJvamVjdHx0YXNrfHVzZXJ8bWNwKTooW158XFxdXSspXFx8KFtcXHNcXFNdKj8pXFxdXFxdL2dcbmV4cG9ydCBjb25zdCBNQUlBX01FTlRJT05fUFJPVE9DT0wgPSAnbWFpYS1tZW50aW9uOi8vJ1xuY29uc3QgSU5DT01QTEVURV9NRU5USU9OX01BUktFUl9SRUdFWCA9IC9cXFtcXFttZW50aW9uOltcXHNcXFNdKiQvXG5jb25zdCBJTkNPTVBMRVRFX1NMQVNIX01BUktFUl9SRUdFWCA9IC9cXFtcXFtzbGFzaF9jb21tYW5kOltefFxcXV0rXFx8KFtcXHNcXFNdKikkL1xuXG5jb25zdCBBTExPV0VEX1RZUEVTOiBDb250ZXh0RW50aXR5VHlwZVtdID0gWydjbGllbnQnLCAncHJvamVjdCcsICd0YXNrJywgJ3VzZXInLCAnbWNwJ11cblxuY29uc3QgcGFyc2VNZW50aW9uUHJvdG9jb2xIcmVmID0gKGhyZWY6IHN0cmluZyk6IHsgdHlwZTogQ29udGV4dEVudGl0eVR5cGU7IGlkOiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IHJlc3QgPSBocmVmLnNsaWNlKE1BSUFfTUVOVElPTl9QUk9UT0NPTC5sZW5ndGgpXG4gIGNvbnN0IHNsYXNoSWR4ID0gcmVzdC5pbmRleE9mKCcvJylcbiAgY29uc3QgcmF3VHlwZSA9IHNsYXNoSWR4ID49IDAgPyByZXN0LnNsaWNlKDAsIHNsYXNoSWR4KSA6IHJlc3RcbiAgY29uc3QgcmF3SWQgPSBzbGFzaElkeCA+PSAwID8gcmVzdC5zbGljZShzbGFzaElkeCArIDEpIDogJydcbiAgbGV0IGlkID0gJydcbiAgdHJ5IHtcbiAgICBpZCA9IHJhd0lkID8gZGVjb2RlVVJJQ29tcG9uZW50KHJhd0lkKSA6ICcnXG4gIH0gY2F0Y2gge1xuICAgIGlkID0gcmF3SWRcbiAgfVxuICBjb25zdCB0eXBlID0gQUxMT1dFRF9UWVBFUy5pbmNsdWRlcyhyYXdUeXBlIGFzIENvbnRleHRFbnRpdHlUeXBlKSA/IChyYXdUeXBlIGFzIENvbnRleHRFbnRpdHlUeXBlKSA6ICd1c2VyJ1xuICByZXR1cm4geyB0eXBlLCBpZCB9XG59XG5cbi8qKiBHZW5lcmEgZWwgbWFyY2Fkb3IgcGFyYSB1biBtZW50aW9uIGRhZG8uIExvIHVzYSBlbCBlZGl0b3IgYWwgc2VyaWFsaXphci4gKi9cbmV4cG9ydCBjb25zdCBzZXJpYWxpemVNZW50aW9uID0gKG1lbnRpb246IENvbnRleHRNZW50aW9uKTogc3RyaW5nID0+XG4gIGBbW21lbnRpb246JHttZW50aW9uLnR5cGV9OiR7bWVudGlvbi5pZH18JHttZW50aW9uLmxhYmVsfV1dYFxuXG4vKipcbiAqIENvbnZpZXJ0ZSBjYWRhIGBbW21lbnRpb246Li4uXV1gIGVuIHVuIGxpbmsgbWFya2Rvd24gY29uIHByb3RvY29sbyBwcm9waW9cbiAqIHBhcmEgcXVlIFN0cmVhbWRvd24gbG8gZW1pdGEgY29tbyBgPGE+YCB5IGBDdXN0b21MaW5rYCBsbyBpbnRlcmNlcHRlLlxuICovXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtTWVudGlvbk1hcmtlcnMgPSAodGV4dDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgaWYgKCF0ZXh0KSByZXR1cm4gdGV4dFxuICByZXR1cm4gdGV4dC5yZXBsYWNlKE1FTlRJT05fTUFSS0VSX1JFR0VYLCAoX20sIHR5cGUsIGlkLCBsYWJlbCkgPT4ge1xuICAgIGNvbnN0IHNhZmVMYWJlbCA9IFN0cmluZyhsYWJlbCkucmVwbGFjZSgvW1xcXFxcXF1dL2csICdcXFxcJCYnKVxuICAgIHJldHVybiBgWyR7c2FmZUxhYmVsfV0oJHtNQUlBX01FTlRJT05fUFJPVE9DT0x9JHt0eXBlfS8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoaWQpKX0pYFxuICB9KVxufVxuXG5jb25zdCBtZW50aW9uQ2hpbGRyZW5Ub0xhYmVsID0gKGNoaWxkcmVuOiBSZWFjdE5vZGUpOiBzdHJpbmcgPT4ge1xuICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnc3RyaW5nJykgcmV0dXJuIG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwoY2hpbGRyZW4pXG4gIGlmIChjaGlsZHJlbiA9PSBudWxsIHx8IGNoaWxkcmVuID09PSBmYWxzZSkgcmV0dXJuICcnXG4gIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xuICAgIHJldHVybiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKGNoaWxkcmVuLm1hcChjID0+ICh0eXBlb2YgYyA9PT0gJ3N0cmluZycgPyBjIDogJycpKS5qb2luKCcnKSlcbiAgfVxuICByZXR1cm4gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChTdHJpbmcoY2hpbGRyZW4pKVxufVxuXG5jb25zdCBzcGxpdExhYmVsRmlyc3RXb3JkID0gKGxhYmVsOiBzdHJpbmcpOiB7IGZpcnN0V29yZDogc3RyaW5nOyByZXN0OiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKGxhYmVsKS50cmltKClcbiAgaWYgKCFub3JtYWxpemVkKSByZXR1cm4geyBmaXJzdFdvcmQ6ICcnLCByZXN0OiAnJyB9XG4gIGNvbnN0IGZpcnN0V2hpdGVzcGFjZUlkeCA9IG5vcm1hbGl6ZWQuc2VhcmNoKC9cXHMvKVxuICBpZiAoZmlyc3RXaGl0ZXNwYWNlSWR4IDwgMCkgcmV0dXJuIHsgZmlyc3RXb3JkOiBub3JtYWxpemVkLCByZXN0OiAnJyB9XG4gIHJldHVybiB7XG4gICAgZmlyc3RXb3JkOiBub3JtYWxpemVkLnNsaWNlKDAsIGZpcnN0V2hpdGVzcGFjZUlkeCksXG4gICAgcmVzdDogbm9ybWFsaXplZC5zbGljZShmaXJzdFdoaXRlc3BhY2VJZHgpLFxuICB9XG59XG5cbmNvbnN0IGlubGluZU1lbnRpb25Ib3ZlckNzcyA9ICh0eXBlOiBDb250ZXh0RW50aXR5VHlwZSwgaXNDbGlja2FibGU/OiBib29sZWFuKSA9PiB7XG4gIGNvbnN0IGJnID0gdHlwZSA9PT0gJ3Byb2plY3QnID8gVklPTEVUX0lBX0NPTE9SU1sxMDBdIDogTUVOVElPTl9DSElQX05PTl9UQVNLX0hPVkVSX0JHXG4gIHJldHVybiBjc3NgXG4gICAgYmFja2dyb3VuZDogJHtiZ307XG4gICAgb3BhY2l0eTogJHtpc0NsaWNrYWJsZSA/IDAuOTUgOiAxfTtcbiAgYFxufVxuXG4vKiogU3BhbiBpbmxpbmUgZXN0aWxhZG8gKG1lbmNpb25lcyBuby10YXNrIGVuIGNoYXQpLiAqL1xuY29uc3QgU0NJbmxpbmVNZW50aW9uID0gc3R5bGVkLnNwYW48eyAkdHlwZTogQ29udGV4dEVudGl0eVR5cGU7ICRpc0NsaWNrYWJsZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgbWFyZ2luOiAwIDFweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogJHsoeyAkdHlwZSB9KSA9PiAoTUVOVElPTl9DSElQX0NPTE9SU1skdHlwZV0gPz8gTUVOVElPTl9DSElQX0NPTE9SUy51c2VyKS5iZ307XG4gIGNvbG9yOiAkeyh7ICR0eXBlIH0pID0+IChNRU5USU9OX0NISVBfQ09MT1JTWyR0eXBlXSA/PyBNRU5USU9OX0NISVBfQ09MT1JTLnVzZXIpLmZnfTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgY3Vyc29yOiAkeyh7ICRpc0NsaWNrYWJsZSB9KSA9PiAoJGlzQ2xpY2thYmxlID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnKX07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAmOmhvdmVyIHtcbiAgICAkeyh7ICR0eXBlLCAkaXNDbGlja2FibGUgfSkgPT4gaW5saW5lTWVudGlvbkhvdmVyQ3NzKCR0eXBlLCAkaXNDbGlja2FibGUpfVxuICB9XG5gXG5cbmNvbnN0IFNDSW5saW5lTWVudGlvbkljb24gPSBzdHlsZWQuc3Bhbjx7ICR0YXNrPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgd2lkdGg6ICR7KHsgJHRhc2sgfSkgPT4gKCR0YXNrID8gJzE2cHgnIDogJzE0cHgnKX07XG4gIGhlaWdodDogJHsoeyAkdGFzayB9KSA9PiAoJHRhc2sgPyAnMTZweCcgOiAnMTRweCcpfTtcbmBcblxuY29uc3QgU0NJbmxpbmVNZW50aW9uSWNvblJvdyA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYFxuXG5jb25zdCBTQ0lubGluZU1lbnRpb25Xb3JkID0gc3R5bGVkLnNwYW5gXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5gXG5cbmNvbnN0IFNDSW5saW5lTWVudGlvblJlc3QgPSBzdHlsZWQuc3BhbmBcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbmBcblxuLyoqXG4gKiBTaSBlbCBocmVmIGNvcnJlc3BvbmRlIGFsIHByb3RvY29sbyBkZSBtZW50aW9uLCBkZXZ1ZWx2ZSB1biBub2RvIGVzdGlsYWRvIHBvciB0aXBvLlxuICogTGFzIHRhcmVhcyB1c2FuIGA8YT5gIGNvbW8gbG9zIGVubGFjZXMgZGUgdGFyZWEgZGVsIGFnZW50ZSAoYC5oYXMtdGFzay1saW5rc2ApLlxuICovXG5leHBvcnQgY29uc3QgcmVuZGVyTWVudGlvbkxpbmsgPSAoaHJlZjogc3RyaW5nIHwgdW5kZWZpbmVkLCBjaGlsZHJlbjogUmVhY3ROb2RlKTogUmVhY3ROb2RlIHwgbnVsbCA9PiB7XG4gIGlmICghaHJlZiB8fCAhaHJlZi5zdGFydHNXaXRoKE1BSUFfTUVOVElPTl9QUk9UT0NPTCkpIHJldHVybiBudWxsXG4gIGNvbnN0IHsgdHlwZSwgaWQgfSA9IHBhcnNlTWVudGlvblByb3RvY29sSHJlZihocmVmKVxuICBjb25zdCBsYWJlbCA9IG1lbnRpb25DaGlsZHJlblRvTGFiZWwoY2hpbGRyZW4pXG4gIGNvbnN0IGlzVGFzayA9IHR5cGUgPT09ICd0YXNrJ1xuICBjb25zdCBpY29uU2l6ZSA9IGlzVGFzayA/IDE2IDogMTRcbiAgY29uc3QgdGFza1VybCA9IGAvdGFza3MvJHtpZH0vZGV0YWlsYFxuXG4gIGNvbnN0IGhhbmRsZVRhc2tDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4ge1xuICAgIGlmIChlLm1ldGFLZXkgfHwgZS5jdHJsS2V5KSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgb3BlblRhc2tJbkNvclBhbmVsKGlkLCAnZGV0YWlsJylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVRhc2tLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKGUua2V5ICE9PSAnRW50ZXInICYmIGUua2V5ICE9PSAnICcpIHJldHVyblxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIG9wZW5UYXNrSW5Db3JQYW5lbChpZCwgJ2RldGFpbCcpXG4gIH1cblxuICBpZiAoaXNUYXNrKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ1Rhc2tMaW5rXG4gICAgICAgIGhyZWY9e3Rhc2tVcmx9XG4gICAgICAgIGNsYXNzTmFtZT17Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9XG4gICAgICAgIGRhdGEtY29yLWxpbms9XCJ0YXNrXCJcbiAgICAgICAgZGF0YS1tZW50aW9uLXR5cGU9e3R5cGV9XG4gICAgICAgIGRhdGEtbWVudGlvbi1zdXJmYWNlPVwiY2hhdFwiXG4gICAgICAgIG9uQ2xpY2s9e2hhbmRsZVRhc2tDbGlja31cbiAgICAgICAgb25LZXlEb3duPXtoYW5kbGVUYXNrS2V5RG93bn1cbiAgICAgID5cbiAgICAgICAge2xhYmVsfVxuICAgICAgPC9TQ1Rhc2tMaW5rPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IGlzUHJvamVjdCA9IHR5cGUgPT09ICdwcm9qZWN0J1xuICBjb25zdCBwcm9qZWN0VXJsID0gaXNQcm9qZWN0ID8gYC9wcm9qZWN0cy8ke2lkfS9kYXNoYm9hcmRgIDogbnVsbFxuICBjb25zdCBzaG93SWNvbiA9ICFpc1Byb2plY3RcbiAgY29uc3QgeyBmaXJzdFdvcmQsIHJlc3QgfSA9IHNwbGl0TGFiZWxGaXJzdFdvcmQobGFiZWwpXG5cbiAgY29uc3QgaGFuZGxlUHJvamVjdENsaWNrID0gKGU6IE1vdXNlRXZlbnQ8SFRNTFNwYW5FbGVtZW50PikgPT4ge1xuICAgIGlmICghcHJvamVjdFVybCkgcmV0dXJuXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgIHdpbmRvdy5vcGVuKHByb2plY3RVcmwsICdfYmxhbmsnKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NJbmxpbmVNZW50aW9uXG4gICAgICAkdHlwZT17dHlwZX1cbiAgICAgICRpc0NsaWNrYWJsZT17aXNQcm9qZWN0fVxuICAgICAgY2xhc3NOYW1lPXtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31cbiAgICAgIGRhdGEtbWVudGlvbi10eXBlPXt0eXBlfVxuICAgICAgZGF0YS1tZW50aW9uLXN1cmZhY2U9XCJjaGF0XCJcbiAgICAgIG9uQ2xpY2s9e2lzUHJvamVjdCA/IGhhbmRsZVByb2plY3RDbGljayA6IHVuZGVmaW5lZH1cbiAgICAgIHJvbGU9e2lzUHJvamVjdCA/ICdidXR0b24nIDogdW5kZWZpbmVkfVxuICAgICAgdGFiSW5kZXg9e2lzUHJvamVjdCA/IDAgOiB1bmRlZmluZWR9XG4gICAgPlxuICAgICAge3Nob3dJY29uID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxTQ0lubGluZU1lbnRpb25JY29uUm93PlxuICAgICAgICAgICAgPFNDSW5saW5lTWVudGlvbkljb24gJHRhc2s9e2lzVGFza30+XG4gICAgICAgICAgICAgIHtnZXRDb250ZXh0TWVudGlvbkljb24odHlwZSwgTUVOVElPTl9DSElQX0NPTE9SU1t0eXBlXS5mZywgaWQsIGljb25TaXplKX1cbiAgICAgICAgICAgIDwvU0NJbmxpbmVNZW50aW9uSWNvbj5cbiAgICAgICAgICAgIDxTQ0lubGluZU1lbnRpb25Xb3JkPntmaXJzdFdvcmR9PC9TQ0lubGluZU1lbnRpb25Xb3JkPlxuICAgICAgICAgIDwvU0NJbmxpbmVNZW50aW9uSWNvblJvdz5cbiAgICAgICAgICB7cmVzdCA/IDxTQ0lubGluZU1lbnRpb25SZXN0PntyZXN0fTwvU0NJbmxpbmVNZW50aW9uUmVzdD4gOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICkgOiBudWxsfVxuICAgICAgeyFzaG93SWNvbiA/IGxhYmVsIDogbnVsbH1cbiAgICA8L1NDSW5saW5lTWVudGlvbj5cbiAgKVxufVxuXG4vKiogUXVpdGEgbG9zIG1hcmtlcnMgZGVsIHRleHRvLCBkZWphbmRvIHNvbG8gYGxhYmVsYC4gw5p0aWwgcGFyYSBmYWxsYmFjayBwbGFuby4gKi9cbmV4cG9ydCBjb25zdCBzdHJpcE1lbnRpb25NYXJrZXJzID0gKHRleHQ6IHN0cmluZyk6IHN0cmluZyA9PlxuICB0ZXh0LnJlcGxhY2UoTUVOVElPTl9NQVJLRVJfUkVHRVgsIChfbSwgX3R5cGUsIF9pZCwgbGFiZWwpID0+IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwoU3RyaW5nKGxhYmVsKSkpXG5cbi8qKlxuICogVMOtdHVsb3MgZGUgY29udmVyc2FjacOzbiAocC4gZWouIGBsYXN0X3F1ZXN0aW9uYCBkZXJpdmFkbyBkZWwgcHJpbWVyIG1lbnNhamUpIHB1ZWRlblxuICogaW5jbHVpciBlbCB0ZXh0byBzZXJpYWxpemFkbyBgW1ttZW50aW9uOnR5cGU6aWR8bGFiZWxdXWAuIFBhcmEgc2lkZWJhciB5IGxpc3RhZG9zLFxuICogcmVlbXBsYXphIGNhZGEgYmxvcXVlIHBvciBgbGFiZWxgIGVuIHRleHRvIHBsYW5vLCBzaW4gZWwgbWFyY2Fkb3IgY3J1ZG8uXG4gKi9cbmV4cG9ydCBjb25zdCBmb3JtYXRDaGF0TGlzdFRpdGxlTWVudGlvbnMgPSAodGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyA9PiB7XG4gIGlmICh0ZXh0ID09IG51bGwgfHwgdGV4dCA9PT0gJycpIHJldHVybiB0ZXh0ID8/ICcnXG4gIGNvbnN0IHdpdGhvdXRNZW50aW9ucyA9IHRleHQucmVwbGFjZShNRU5USU9OX01BUktFUl9SRUdFWCwgKF9tLCBfdHlwZSwgX2lkLCBsYWJlbCkgPT5cbiAgICBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKFN0cmluZyhsYWJlbCkudHJpbSgpKVxuICApXG4gIGNvbnN0IHNsYXNoUmVnZXggPSBuZXcgUmVnRXhwKFNMQVNIX0NPTU1BTkRfTUFSS0VSX1JFR0VYLnNvdXJjZSwgJ2cnKVxuICBjb25zdCB3aXRob3V0U2xhc2ggPSB3aXRob3V0TWVudGlvbnMucmVwbGFjZShzbGFzaFJlZ2V4LCAoX20sIF9pZCwgbGFiZWwpID0+IGAvJHtTdHJpbmcobGFiZWwpLnRyaW0oKX1gKVxuICBjb25zdCB3aXRob3V0SW5jb21wbGV0ZVNsYXNoID0gd2l0aG91dFNsYXNoLnJlcGxhY2UoXG4gICAgSU5DT01QTEVURV9TTEFTSF9NQVJLRVJfUkVHRVgsXG4gICAgKF9tLCBsYWJlbCkgPT4gYC8ke1N0cmluZyhsYWJlbCkudHJpbSgpfWBcbiAgKVxuICByZXR1cm4gd2l0aG91dEluY29tcGxldGVTbGFzaC5yZXBsYWNlKElOQ09NUExFVEVfTUVOVElPTl9NQVJLRVJfUkVHRVgsICcnKS50cmltKClcbn1cblxuLyoqIEdlbmVyYSBsYSBVUkwgZGUgbmF2ZWdhY2nDs24gcGFyYSB1biBtZW50aW9uIHNlZ8O6biBzdSB0aXBvLiAqL1xuY29uc3QgZ2V0TWVudGlvblVybCA9ICh0eXBlOiBDb250ZXh0RW50aXR5VHlwZSwgaWQ6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB8IG51bGwgPT4ge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdjbGllbnQnOlxuICAgICAgcmV0dXJuIGAvY2xpZW50cy8ke2lkfWBcbiAgICBjYXNlICdwcm9qZWN0JzpcbiAgICAgIHJldHVybiBgL3Byb2plY3RzLyR7aWR9L2Rhc2hib2FyZGBcbiAgICBjYXNlICd0YXNrJzpcbiAgICAgIHJldHVybiBgL3Rhc2tzLyR7aWR9L2RldGFpbGBcbiAgICBjYXNlICd1c2VyJzpcbiAgICAgIHJldHVybiBudWxsIC8vIExvcyB1c2VycyBubyBzb24gY2xpY2tlYWJsZXNcbiAgICBjYXNlICdtY3AnOlxuICAgICAgcmV0dXJuIG51bGxcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5jb25zdCBNZW50aW9uQ2hpcCA9ICh7IHR5cGUsIGlkLCBsYWJlbCB9OiB7IHR5cGU6IENvbnRleHRFbnRpdHlUeXBlOyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH0pID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZExhYmVsID0gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChsYWJlbClcbiAgY29uc3QgdXJsID0gZ2V0TWVudGlvblVybCh0eXBlLCBpZClcbiAgY29uc3QgaXNDbGlja2FibGUgPSAhIXVybFxuICBjb25zdCBpc1Rhc2sgPSB0eXBlID09PSAndGFzaydcbiAgY29uc3QgaXNQcm9qZWN0ID0gdHlwZSA9PT0gJ3Byb2plY3QnXG4gIGNvbnN0IHNob3dJY29uID0gIWlzUHJvamVjdFxuICBjb25zdCBpY29uU2l6ZSA9IGlzVGFzayA/IDE2IDogMTRcbiAgY29uc3QgeyBmaXJzdFdvcmQsIHJlc3QgfSA9IHNwbGl0TGFiZWxGaXJzdFdvcmQobm9ybWFsaXplZExhYmVsKVxuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKGU6IE1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQgfCBIVE1MU3BhbkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKCFpc0NsaWNrYWJsZSB8fCAhdXJsKSByZXR1cm5cbiAgICBpZiAodHlwZSA9PT0gJ3Rhc2snKSB7XG4gICAgICBpZiAoZS5tZXRhS2V5IHx8IGUuY3RybEtleSkgcmV0dXJuXG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgIG9wZW5UYXNrSW5Db3JQYW5lbChpZCwgJ2RldGFpbCcpXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgd2luZG93Lm9wZW4odXJsLCAnX2JsYW5rJylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUtleURvd24gPSAoZTogS2V5Ym9hcmRFdmVudDxIVE1MQW5jaG9yRWxlbWVudCB8IEhUTUxTcGFuRWxlbWVudD4pID0+IHtcbiAgICBpZiAoIWlzQ2xpY2thYmxlIHx8IHR5cGUgIT09ICd0YXNrJykgcmV0dXJuXG4gICAgaWYgKGUua2V5ICE9PSAnRW50ZXInICYmIGUua2V5ICE9PSAnICcpIHJldHVyblxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIG9wZW5UYXNrSW5Db3JQYW5lbChpZCwgJ2RldGFpbCcpXG4gIH1cblxuICBpZiAodHlwZSA9PT0gJ3Rhc2snKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ1Rhc2tMaW5rXG4gICAgICAgIGhyZWY9e3VybCA/PyAnIyd9XG4gICAgICAgIGNsYXNzTmFtZT17Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9XG4gICAgICAgIGRhdGEtY29yLWxpbms9XCJ0YXNrXCJcbiAgICAgICAgZGF0YS1tZW50aW9uLXR5cGU9XCJ0YXNrXCJcbiAgICAgICAgZGF0YS1tZW50aW9uLXN1cmZhY2U9XCJjaGF0XCJcbiAgICAgICAgb25DbGljaz17aGFuZGxlQ2xpY2t9XG4gICAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgID5cbiAgICAgICAge25vcm1hbGl6ZWRMYWJlbH1cbiAgICAgIDwvU0NUYXNrTGluaz5cbiAgICApXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0lubGluZU1lbnRpb25cbiAgICAgICR0eXBlPXt0eXBlfVxuICAgICAgJGlzQ2xpY2thYmxlPXtpc0NsaWNrYWJsZX1cbiAgICAgIGNsYXNzTmFtZT17Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9XG4gICAgICBkYXRhLW1lbnRpb24tdHlwZT17dHlwZX1cbiAgICAgIGRhdGEtbWVudGlvbi1zdXJmYWNlPVwiY2hhdFwiXG4gICAgICBvbkNsaWNrPXtpc0NsaWNrYWJsZSA/IGhhbmRsZUNsaWNrIDogdW5kZWZpbmVkfVxuICAgICAgcm9sZT17aXNDbGlja2FibGUgPyAnYnV0dG9uJyA6IHVuZGVmaW5lZH1cbiAgICAgIHRhYkluZGV4PXtpc0NsaWNrYWJsZSA/IDAgOiB1bmRlZmluZWR9XG4gICAgPlxuICAgICAge3Nob3dJY29uID8gKFxuICAgICAgICA8PlxuICAgICAgICAgIDxTQ0lubGluZU1lbnRpb25JY29uUm93PlxuICAgICAgICAgICAgPFNDSW5saW5lTWVudGlvbkljb24gJHRhc2s9e2lzVGFza30+XG4gICAgICAgICAgICAgIHtnZXRDb250ZXh0TWVudGlvbkljb24odHlwZSwgTUVOVElPTl9DSElQX0NPTE9SU1t0eXBlXS5mZywgaWQsIGljb25TaXplKX1cbiAgICAgICAgICAgIDwvU0NJbmxpbmVNZW50aW9uSWNvbj5cbiAgICAgICAgICAgIDxTQ0lubGluZU1lbnRpb25Xb3JkPntmaXJzdFdvcmR9PC9TQ0lubGluZU1lbnRpb25Xb3JkPlxuICAgICAgICAgIDwvU0NJbmxpbmVNZW50aW9uSWNvblJvdz5cbiAgICAgICAgICB7cmVzdCA/IDxTQ0lubGluZU1lbnRpb25SZXN0PntyZXN0fTwvU0NJbmxpbmVNZW50aW9uUmVzdD4gOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICkgOiBudWxsfVxuICAgICAgeyFzaG93SWNvbiA/IG5vcm1hbGl6ZWRMYWJlbCA6IG51bGx9XG4gICAgPC9TQ0lubGluZU1lbnRpb24+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IGhhc0lubGluZU1hcmtlcnMgPSAodGV4dDogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGlmICghdGV4dCkgcmV0dXJuIGZhbHNlXG4gIHJldHVybiB0ZXh0LmluY2x1ZGVzKCdbW21lbnRpb246JykgfHwgdGV4dC5pbmNsdWRlcygnW1tzbGFzaF9jb21tYW5kOicpXG59XG5cbnR5cGUgSW5saW5lTWFya2VyID1cbiAgfCB7IGtpbmQ6ICdtZW50aW9uJzsgaW5kZXg6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXI7IHR5cGU6IENvbnRleHRFbnRpdHlUeXBlOyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1cbiAgfCB7IGtpbmQ6ICdzbGFzaCc7IGluZGV4OiBudW1iZXI7IGxlbmd0aDogbnVtYmVyOyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH1cblxuY29uc3QgY29sbGVjdElubGluZU1hcmtlcnMgPSAodGV4dDogc3RyaW5nKTogSW5saW5lTWFya2VyW10gPT4ge1xuICBjb25zdCBtYXJrZXJzOiBJbmxpbmVNYXJrZXJbXSA9IFtdXG5cbiAgTUVOVElPTl9NQVJLRVJfUkVHRVgubGFzdEluZGV4ID0gMFxuICBsZXQgbTogUmVnRXhwRXhlY0FycmF5IHwgbnVsbCA9IE1FTlRJT05fTUFSS0VSX1JFR0VYLmV4ZWModGV4dClcbiAgd2hpbGUgKG0pIHtcbiAgICBjb25zdCBbLCByYXdUeXBlLCBpZCwgbGFiZWxdID0gbVxuICAgIGNvbnN0IHR5cGUgPSBBTExPV0VEX1RZUEVTLmluY2x1ZGVzKHJhd1R5cGUgYXMgQ29udGV4dEVudGl0eVR5cGUpID8gKHJhd1R5cGUgYXMgQ29udGV4dEVudGl0eVR5cGUpIDogJ3VzZXInXG4gICAgbWFya2Vycy5wdXNoKHsga2luZDogJ21lbnRpb24nLCBpbmRleDogbS5pbmRleCwgbGVuZ3RoOiBtWzBdLmxlbmd0aCwgdHlwZSwgaWQsIGxhYmVsIH0pXG4gICAgbSA9IE1FTlRJT05fTUFSS0VSX1JFR0VYLmV4ZWModGV4dClcbiAgfVxuXG4gIGNvbnN0IHNsYXNoUmVnZXggPSBuZXcgUmVnRXhwKFNMQVNIX0NPTU1BTkRfTUFSS0VSX1JFR0VYLnNvdXJjZSwgJ2cnKVxuICBsZXQgczogUmVnRXhwRXhlY0FycmF5IHwgbnVsbCA9IHNsYXNoUmVnZXguZXhlYyh0ZXh0KVxuICB3aGlsZSAocykge1xuICAgIG1hcmtlcnMucHVzaCh7IGtpbmQ6ICdzbGFzaCcsIGluZGV4OiBzLmluZGV4LCBsZW5ndGg6IHNbMF0ubGVuZ3RoLCBpZDogc1sxXSwgbGFiZWw6IHNbMl0gfSlcbiAgICBzID0gc2xhc2hSZWdleC5leGVjKHRleHQpXG4gIH1cblxuICByZXR1cm4gbWFya2Vycy5zb3J0KChhLCBiKSA9PiBhLmluZGV4IC0gYi5pbmRleClcbn1cblxuZXhwb3J0IGNvbnN0IHJlbmRlclRleHRXaXRoTWVudGlvbnMgPSAodGV4dDogc3RyaW5nKTogQXJyYXk8c3RyaW5nIHwgUmVhY3RFbGVtZW50PiA9PiB7XG4gIGlmICghdGV4dCkgcmV0dXJuIFt0ZXh0XVxuICBjb25zdCBtYXJrZXJzID0gY29sbGVjdElubGluZU1hcmtlcnModGV4dClcbiAgaWYgKG1hcmtlcnMubGVuZ3RoID09PSAwKSByZXR1cm4gW3RleHRdXG5cbiAgY29uc3Qgb3V0OiBBcnJheTxzdHJpbmcgfCBSZWFjdEVsZW1lbnQ+ID0gW11cbiAgbGV0IGxhc3RJZHggPSAwXG4gIG1hcmtlcnMuZm9yRWFjaChtYXJrZXIgPT4ge1xuICAgIGlmIChtYXJrZXIuaW5kZXggPiBsYXN0SWR4KSBvdXQucHVzaCh0ZXh0LnNsaWNlKGxhc3RJZHgsIG1hcmtlci5pbmRleCkpXG4gICAgaWYgKG1hcmtlci5raW5kID09PSAnbWVudGlvbicpIHtcbiAgICAgIG91dC5wdXNoKFxuICAgICAgICA8TWVudGlvbkNoaXBcbiAgICAgICAgICBrZXk9e2BtZW50aW9uLSR7bWFya2VyLmluZGV4fS0ke21hcmtlci50eXBlfS0ke21hcmtlci5pZH1gfVxuICAgICAgICAgIHR5cGU9e21hcmtlci50eXBlfVxuICAgICAgICAgIGlkPXttYXJrZXIuaWR9XG4gICAgICAgICAgbGFiZWw9e21hcmtlci5sYWJlbH1cbiAgICAgICAgLz5cbiAgICAgIClcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0LnB1c2goPFNsYXNoQ29tbWFuZENoaXAga2V5PXtgc2xhc2gtJHttYXJrZXIuaW5kZXh9LSR7bWFya2VyLmlkfWB9IGxhYmVsPXttYXJrZXIubGFiZWx9IGlubGluZT17ZmFsc2V9IC8+KVxuICAgIH1cbiAgICBsYXN0SWR4ID0gbWFya2VyLmluZGV4ICsgbWFya2VyLmxlbmd0aFxuICB9KVxuICBpZiAobGFzdElkeCA8IHRleHQubGVuZ3RoKSBvdXQucHVzaCh0ZXh0LnNsaWNlKGxhc3RJZHgpKVxuICByZXR1cm4gb3V0XG59XG4iXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsUUFBUSxtQkFBbUI7QUFDL0MsU0FBNENDLDBCQUEwQixRQUFRLHlCQUF5QjtBQUN2RyxTQUNFQyxtQkFBbUIsRUFDbkJDLDhCQUE4QixRQUN6QixrRUFBa0U7QUFDekUsU0FBU0MsZ0JBQWdCLFFBQVEsc0NBQXNDO0FBQ3ZFLFNBQVNDLDBCQUEwQixRQUFRLHNCQUFzQjtBQUNqRSxTQUFTQyxnQkFBZ0IsUUFBUSxrQkFBa0I7QUFDbkQsU0FBU0MsVUFBVSxRQUFRLGtEQUFrRDtBQUM3RSxTQUFTQyxxQkFBcUIs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
|
|
399
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsIk1FTlRJT05fQ0hJUF9DT0xPUlMiLCJNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkciLCJTbGFzaENvbW1hbmRDaGlwIiwiU0xBU0hfQ09NTUFORF9NQVJLRVJfUkVHRVgiLCJWSU9MRVRfSUFfQ09MT1JTIiwiU0NUYXNrTGluayIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwiLCJvcGVuVGFza0luQ29yUGFuZWwiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJNRU5USU9OX01BUktFUl9SRUdFWCIsIk1BSUFfTUVOVElPTl9QUk9UT0NPTCIsIklOQ09NUExFVEVfTUVOVElPTl9NQVJLRVJfUkVHRVgiLCJJTkNPTVBMRVRFX1NMQVNIX01BUktFUl9SRUdFWCIsIkFMTE9XRURfVFlQRVMiLCJwYXJzZU1lbnRpb25Qcm90b2NvbEhyZWYiLCJocmVmIiwicmVzdCIsInNsaWNlIiwibGVuZ3RoIiwic2xhc2hJZHgiLCJpbmRleE9mIiwicmF3VHlwZSIsInJhd0lkIiwiaWQiLCJkZWNvZGVVUklDb21wb25lbnQiLCJfdW51c2VkIiwidHlwZSIsImluY2x1ZGVzIiwic2VyaWFsaXplTWVudGlvbiIsIm1lbnRpb24iLCJjb25jYXQiLCJsYWJlbCIsInRyYW5zZm9ybU1lbnRpb25NYXJrZXJzIiwidGV4dCIsInJlcGxhY2UiLCJfbSIsInNhZmVMYWJlbCIsIlN0cmluZyIsImVuY29kZVVSSUNvbXBvbmVudCIsIm1lbnRpb25DaGlsZHJlblRvTGFiZWwiLCJjaGlsZHJlbiIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsImMiLCJqb2luIiwic3BsaXRMYWJlbEZpcnN0V29yZCIsIm5vcm1hbGl6ZWQiLCJ0cmltIiwiZmlyc3RXb3JkIiwiZmlyc3RXaGl0ZXNwYWNlSWR4Iiwic2VhcmNoIiwiSU5MSU5FX01FTlRJT05fSE9WRVJfQkciLCJwcm9qZWN0IiwiaW5saW5lTWVudGlvbkhvdmVyQ3NzIiwiaXNDbGlja2FibGUiLCJfSU5MSU5FX01FTlRJT05fSE9WRVIiLCJiZyIsIlNDSW5saW5lTWVudGlvbiIsInNwYW4iLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIl9yZWYiLCJfTUVOVElPTl9DSElQX0NPTE9SUyQiLCIkdHlwZSIsInVzZXIiLCJfcmVmMiIsIl9NRU5USU9OX0NISVBfQ09MT1JTJDIiLCJmZyIsIl9yZWYzIiwiJGlzQ2xpY2thYmxlIiwiX3JlZjQiLCJTQ0lubGluZU1lbnRpb25JY29uIiwiX3JlZjUiLCIkdGFzayIsIl9yZWY2IiwiU0NJbmxpbmVNZW50aW9uSWNvblJvdyIsIlNDSW5saW5lTWVudGlvbldvcmQiLCJTQ0lubGluZU1lbnRpb25SZXN0IiwicmVuZGVyTWVudGlvbkxpbmsiLCJzdGFydHNXaXRoIiwiX3BhcnNlTWVudGlvblByb3RvY29sIiwiaXNUYXNrIiwiaWNvblNpemUiLCJ0YXNrVXJsIiwiaGFuZGxlVGFza0NsaWNrIiwiZSIsIm1ldGFLZXkiLCJjdHJsS2V5IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJoYW5kbGVUYXNrS2V5RG93biIsImtleSIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJvbktleURvd24iLCJpc1Byb2plY3QiLCJwcm9qZWN0VXJsIiwic2hvd0ljb24iLCJfc3BsaXRMYWJlbEZpcnN0V29yZCIsImhhbmRsZVByb2plY3RDbGljayIsIndpbmRvdyIsIm9wZW4iLCJ1bmRlZmluZWQiLCJyb2xlIiwidGFiSW5kZXgiLCJzdHJpcE1lbnRpb25NYXJrZXJzIiwiX3R5cGUiLCJfaWQiLCJmb3JtYXRDaGF0TGlzdFRpdGxlTWVudGlvbnMiLCJ3aXRob3V0TWVudGlvbnMiLCJzbGFzaFJlZ2V4IiwiUmVnRXhwIiwic291cmNlIiwid2l0aG91dFNsYXNoIiwid2l0aG91dEluY29tcGxldGVTbGFzaCIsImdldE1lbnRpb25VcmwiLCJNZW50aW9uQ2hpcCIsIl9yZWY3Iiwibm9ybWFsaXplZExhYmVsIiwidXJsIiwiX3NwbGl0TGFiZWxGaXJzdFdvcmQyIiwiaGFuZGxlQ2xpY2siLCJoYW5kbGVLZXlEb3duIiwiaGFzSW5saW5lTWFya2VycyIsImNvbGxlY3RJbmxpbmVNYXJrZXJzIiwibWFya2VycyIsImxhc3RJbmRleCIsIm0iLCJleGVjIiwiX20yIiwiX20zIiwiX3NsaWNlZFRvQXJyYXkiLCJwdXNoIiwia2luZCIsImluZGV4IiwicyIsInNvcnQiLCJhIiwiYiIsInJlbmRlclRleHRXaXRoTWVudGlvbnMiLCJvdXQiLCJsYXN0SWR4IiwiZm9yRWFjaCIsIm1hcmtlciIsImlubGluZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9yZW5kZXJDb250ZXh0TWVudGlvbnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSwgUmVhY3RFbGVtZW50LCBNb3VzZUV2ZW50LCBLZXlib2FyZEV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUsIENvbnRleHRNZW50aW9uLCBDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyB9IGZyb20gJy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHtcbiAgTUVOVElPTl9DSElQX0NPTE9SUyxcbiAgTUVOVElPTl9DSElQX05PTl9UQVNLX0hPVkVSX0JHLFxufSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL0NvbnRleHRNZW50aW9uQ2hpcC9Db250ZXh0TWVudGlvbkNoaXAuc3R5bGVzJ1xuaW1wb3J0IHsgU2xhc2hDb21tYW5kQ2hpcCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvU2xhc2hDb21tYW5kQ2hpcCdcbmltcG9ydCB7IFNMQVNIX0NPTU1BTkRfTUFSS0VSX1JFR0VYIH0gZnJvbSAnLi9zbGFzaENvbW1hbmRNYXJrZXInXG5pbXBvcnQgeyBWSU9MRVRfSUFfQ09MT1JTIH0gZnJvbSAnLi4vc3R5bGVzL2NvbmZpZydcbmltcG9ydCB7IFNDVGFza0xpbmsgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNZXNzYWdlcy9uZXdTdHlsZXMnXG5pbXBvcnQgeyBnZXRDb250ZXh0TWVudGlvbkljb24gfSBmcm9tICcuL2NvbnRleHRNZW50aW9uSWNvbnMnXG5pbXBvcnQgeyBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsIH0gZnJvbSAnLi9jb250ZXh0TWVudGlvbkxhYmVsJ1xuaW1wb3J0IHsgb3BlblRhc2tJbkNvclBhbmVsIH0gZnJvbSAnLi9vcGVuVGFza0luQ29yUGFuZWwnXG5cbi8qKlxuICogRm9ybWF0byBkZWwgbWFyY2Fkb3IgcXVlIHZpYWphIGVuIGVsIHRleHRvIGRlbCBtZW5zYWplOlxuICogICBbW21lbnRpb246PHR5cGU+OjxpZD58PGxhYmVsPl1dXG4gKlxuICogRWwgZWRpdG9yIGxvIGVtaXRlIGN1YW5kbyBzZXJpYWxpemEgZWwgY29udGVudGVkaXRhYmxlLCBlbCBiYWNrZW5kIGxvXG4gKiBwZXJzaXN0ZSB0YWwgY3VhbCB5IGFsIHJlbmRlcml6YXIgc2UgdHJhbnNmb3JtYSBlbiB1biBsaW5rIG1hcmtkb3duIGNvblxuICogdW4gcHJvdG9jb2xvIHByb3BpbyBxdWUgYEN1c3RvbUxpbmtgIGludGVyY2VwdGEgeSBkaWJ1amEgY29tbyBzcGFuXG4gKiBlc3RpbGFkby5cbiAqXG4gKiBQb3Igc2VwYXJhZG8sIGxhIG1ldGFkYXRhIGBjb250ZXh0X21lc3NhZ2VgIGxsZXZhIGxvcyB2YWxvcmVzIGxpbXBpb3NcbiAqIChpZCArIG5hbWUpIHBhcmEgcXVlIGVsIGJhY2tlbmQgcHVlZGEgaW50ZXJwcmV0YXIgbGFzIGVudGlkYWRlcyBzaW5cbiAqIHRlbmVyIHF1ZSBwYXJzZWFyIGVsIHRleHRvLlxuICovXG4vKipcbiAqIExhYmVsIHB1ZWRlIGNvbnRlbmVyIGBdYCAoZWo6IFwiW0VkdWNhdGVdQmxvZyBQb3N0IC4uLlwiKSwgcG9yIGVzb1xuICogc2UgY2FwdHVyYSBkZSBmb3JtYSBsYXp5IGhhc3RhIGVsIGNpZXJyZSByZWFsIGBdXWAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRU5USU9OX01BUktFUl9SRUdFWCA9IC9cXFtcXFttZW50aW9uOihjbGllbnR8cHJvamVjdHx0YXNrfHVzZXJ8bWNwfHNraWxsKTooW158XFxdXSspXFx8KFtcXHNcXFNdKj8pXFxdXFxdL2dcbmV4cG9ydCBjb25zdCBNQUlBX01FTlRJT05fUFJPVE9DT0wgPSAnbWFpYS1tZW50aW9uOi8vJ1xuY29uc3QgSU5DT01QTEVURV9NRU5USU9OX01BUktFUl9SRUdFWCA9IC9cXFtcXFttZW50aW9uOltcXHNcXFNdKiQvXG5jb25zdCBJTkNPTVBMRVRFX1NMQVNIX01BUktFUl9SRUdFWCA9IC9cXFtcXFtzbGFzaF9jb21tYW5kOltefFxcXV0rXFx8KFtcXHNcXFNdKikkL1xuXG5jb25zdCBBTExPV0VEX1RZUEVTOiBDb250ZXh0RW50aXR5VHlwZVtdID0gWydjbGllbnQnLCAncHJvamVjdCcsICd0YXNrJywgJ3VzZXInLCAnbWNwJywgJ3NraWxsJ11cblxuY29uc3QgcGFyc2VNZW50aW9uUHJvdG9jb2xIcmVmID0gKGhyZWY6IHN0cmluZyk6IHsgdHlwZTogQ29udGV4dEVudGl0eVR5cGU7IGlkOiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IHJlc3QgPSBocmVmLnNsaWNlKE1BSUFfTUVOVElPTl9QUk9UT0NPTC5sZW5ndGgpXG4gIGNvbnN0IHNsYXNoSWR4ID0gcmVzdC5pbmRleE9mKCcvJylcbiAgY29uc3QgcmF3VHlwZSA9IHNsYXNoSWR4ID49IDAgPyByZXN0LnNsaWNlKDAsIHNsYXNoSWR4KSA6IHJlc3RcbiAgY29uc3QgcmF3SWQgPSBzbGFzaElkeCA+PSAwID8gcmVzdC5zbGljZShzbGFzaElkeCArIDEpIDogJydcbiAgbGV0IGlkID0gJydcbiAgdHJ5IHtcbiAgICBpZCA9IHJhd0lkID8gZGVjb2RlVVJJQ29tcG9uZW50KHJhd0lkKSA6ICcnXG4gIH0gY2F0Y2gge1xuICAgIGlkID0gcmF3SWRcbiAgfVxuICBjb25zdCB0eXBlID0gQUxMT1dFRF9UWVBFUy5pbmNsdWRlcyhyYXdUeXBlIGFzIENvbnRleHRFbnRpdHlUeXBlKSA/IChyYXdUeXBlIGFzIENvbnRleHRFbnRpdHlUeXBlKSA6ICd1c2VyJ1xuICByZXR1cm4geyB0eXBlLCBpZCB9XG59XG5cbi8qKiBHZW5lcmEgZWwgbWFyY2Fkb3IgcGFyYSB1biBtZW50aW9uIGRhZG8uIExvIHVzYSBlbCBlZGl0b3IgYWwgc2VyaWFsaXphci4gKi9cbmV4cG9ydCBjb25zdCBzZXJpYWxpemVNZW50aW9uID0gKG1lbnRpb246IENvbnRleHRNZW50aW9uKTogc3RyaW5nID0+XG4gIGBbW21lbnRpb246JHttZW50aW9uLnR5cGV9OiR7bWVudGlvbi5pZH18JHttZW50aW9uLmxhYmVsfV1dYFxuXG4vKipcbiAqIENvbnZpZXJ0ZSBjYWRhIGBbW21lbnRpb246Li4uXV1gIGVuIHVuIGxpbmsgbWFya2Rvd24gY29uIHByb3RvY29sbyBwcm9waW9cbiAqIHBhcmEgcXVlIFN0cmVhbWRvd24gbG8gZW1pdGEgY29tbyBgPGE+YCB5IGBDdXN0b21MaW5rYCBsbyBpbnRlcmNlcHRlLlxuICovXG5leHBvcnQgY29uc3QgdHJhbnNmb3JtTWVudGlvbk1hcmtlcnMgPSAodGV4dDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgaWYgKCF0ZXh0KSByZXR1cm4gdGV4dFxuICByZXR1cm4gdGV4dC5yZXBsYWNlKE1FTlRJT05fTUFSS0VSX1JFR0VYLCAoX20sIHR5cGUsIGlkLCBsYWJlbCkgPT4ge1xuICAgIGNvbnN0IHNhZmVMYWJlbCA9IFN0cmluZyhsYWJlbCkucmVwbGFjZSgvW1xcXFxcXF1dL2csICdcXFxcJCYnKVxuICAgIHJldHVybiBgWyR7c2FmZUxhYmVsfV0oJHtNQUlBX01FTlRJT05fUFJPVE9DT0x9JHt0eXBlfS8ke2VuY29kZVVSSUNvbXBvbmVudChTdHJpbmcoaWQpKX0pYFxuICB9KVxufVxuXG5jb25zdCBtZW50aW9uQ2hpbGRyZW5Ub0xhYmVsID0gKGNoaWxkcmVuOiBSZWFjdE5vZGUpOiBzdHJpbmcgPT4ge1xuICBpZiAodHlwZW9mIGNoaWxkcmVuID09PSAnc3RyaW5nJykgcmV0dXJuIG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwoY2hpbGRyZW4pXG4gIGlmIChjaGlsZHJlbiA9PSBudWxsIHx8IGNoaWxkcmVuID09PSBmYWxzZSkgcmV0dXJuICcnXG4gIGlmIChBcnJheS5pc0FycmF5KGNoaWxkcmVuKSkge1xuICAgIHJldHVybiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKGNoaWxkcmVuLm1hcChjID0+ICh0eXBlb2YgYyA9PT0gJ3N0cmluZycgPyBjIDogJycpKS5qb2luKCcnKSlcbiAgfVxuICByZXR1cm4gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChTdHJpbmcoY2hpbGRyZW4pKVxufVxuXG5jb25zdCBzcGxpdExhYmVsRmlyc3RXb3JkID0gKGxhYmVsOiBzdHJpbmcpOiB7IGZpcnN0V29yZDogc3RyaW5nOyByZXN0OiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKGxhYmVsKS50cmltKClcbiAgaWYgKCFub3JtYWxpemVkKSByZXR1cm4geyBmaXJzdFdvcmQ6ICcnLCByZXN0OiAnJyB9XG4gIGNvbnN0IGZpcnN0V2hpdGVzcGFjZUlkeCA9IG5vcm1hbGl6ZWQuc2VhcmNoKC9cXHMvKVxuICBpZiAoZmlyc3RXaGl0ZXNwYWNlSWR4IDwgMCkgcmV0dXJuIHsgZmlyc3RXb3JkOiBub3JtYWxpemVkLCByZXN0OiAnJyB9XG4gIHJldHVybiB7XG4gICAgZmlyc3RXb3JkOiBub3JtYWxpemVkLnNsaWNlKDAsIGZpcnN0V2hpdGVzcGFjZUlkeCksXG4gICAgcmVzdDogbm9ybWFsaXplZC5zbGljZShmaXJzdFdoaXRlc3BhY2VJZHgpLFxuICB9XG59XG5cbmNvbnN0IElOTElORV9NRU5USU9OX0hPVkVSX0JHOiBQYXJ0aWFsPFJlY29yZDxDb250ZXh0RW50aXR5VHlwZSwgc3RyaW5nPj4gPSB7XG4gIHByb2plY3Q6IFZJT0xFVF9JQV9DT0xPUlNbMTAwXSxcbn1cblxuY29uc3QgaW5saW5lTWVudGlvbkhvdmVyQ3NzID0gKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlLCBpc0NsaWNrYWJsZT86IGJvb2xlYW4pID0+IHtcbiAgaWYgKHR5cGUgPT09ICdza2lsbCcpIHJldHVybiBjc3NgYFxuICBjb25zdCBiZyA9IElOTElORV9NRU5USU9OX0hPVkVSX0JHW3R5cGVdID8/IE1FTlRJT05fQ0hJUF9OT05fVEFTS19IT1ZFUl9CR1xuICByZXR1cm4gY3NzYFxuICAgIGJhY2tncm91bmQ6ICR7Ymd9O1xuICAgIG9wYWNpdHk6ICR7aXNDbGlja2FibGUgPyAwLjk1IDogMX07XG4gIGBcbn1cblxuLyoqIFNwYW4gaW5saW5lIGVzdGlsYWRvIChtZW5jaW9uZXMgbm8tdGFzayBlbiBjaGF0KS4gKi9cbmNvbnN0IFNDSW5saW5lTWVudGlvbiA9IHN0eWxlZC5zcGFuPHsgJHR5cGU6IENvbnRleHRFbnRpdHlUeXBlOyAkaXNDbGlja2FibGU/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIG1hcmdpbjogMCAxcHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGJhY2tncm91bmQ6ICR7KHsgJHR5cGUgfSkgPT4gKE1FTlRJT05fQ0hJUF9DT0xPUlNbJHR5cGVdID8/IE1FTlRJT05fQ0hJUF9DT0xPUlMudXNlcikuYmd9O1xuICBjb2xvcjogJHsoeyAkdHlwZSB9KSA9PiAoTUVOVElPTl9DSElQX0NPTE9SU1skdHlwZV0gPz8gTUVOVElPTl9DSElQX0NPTE9SUy51c2VyKS5mZ307XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIGN1cnNvcjogJHsoeyAkaXNDbGlja2FibGUgfSkgPT4gKCRpc0NsaWNrYWJsZSA/ICdwb2ludGVyJyA6ICdkZWZhdWx0Jyl9O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgJjpob3ZlciB7XG4gICAgJHsoeyAkdHlwZSwgJGlzQ2xpY2thYmxlIH0pID0+IGlubGluZU1lbnRpb25Ib3ZlckNzcygkdHlwZSwgJGlzQ2xpY2thYmxlKX1cbiAgfVxuYFxuXG5jb25zdCBTQ0lubGluZU1lbnRpb25JY29uID0gc3R5bGVkLnNwYW48eyAkdGFzaz86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIHdpZHRoOiAkeyh7ICR0YXNrIH0pID0+ICgkdGFzayA/ICcxNnB4JyA6ICcxNHB4Jyl9O1xuICBoZWlnaHQ6ICR7KHsgJHRhc2sgfSkgPT4gKCR0YXNrID8gJzE2cHgnIDogJzE0cHgnKX07XG5gXG5cbmNvbnN0IFNDSW5saW5lTWVudGlvbkljb25Sb3cgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1heC13aWR0aDogMTAwJTtcbmBcblxuY29uc3QgU0NJbmxpbmVNZW50aW9uV29yZCA9IHN0eWxlZC5zcGFuYFxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuYFxuXG5jb25zdCBTQ0lubGluZU1lbnRpb25SZXN0ID0gc3R5bGVkLnNwYW5gXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5gXG5cbi8qKlxuICogU2kgZWwgaHJlZiBjb3JyZXNwb25kZSBhbCBwcm90b2NvbG8gZGUgbWVudGlvbiwgZGV2dWVsdmUgdW4gbm9kbyBlc3RpbGFkbyBwb3IgdGlwby5cbiAqIExhcyB0YXJlYXMgdXNhbiBgPGE+YCBjb21vIGxvcyBlbmxhY2VzIGRlIHRhcmVhIGRlbCBhZ2VudGUgKGAuaGFzLXRhc2stbGlua3NgKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlbmRlck1lbnRpb25MaW5rID0gKGhyZWY6IHN0cmluZyB8IHVuZGVmaW5lZCwgY2hpbGRyZW46IFJlYWN0Tm9kZSk6IFJlYWN0Tm9kZSB8IG51bGwgPT4ge1xuICBpZiAoIWhyZWYgfHwgIWhyZWYuc3RhcnRzV2l0aChNQUlBX01FTlRJT05fUFJPVE9DT0wpKSByZXR1cm4gbnVsbFxuICBjb25zdCB7IHR5cGUsIGlkIH0gPSBwYXJzZU1lbnRpb25Qcm90b2NvbEhyZWYoaHJlZilcbiAgY29uc3QgbGFiZWwgPSBtZW50aW9uQ2hpbGRyZW5Ub0xhYmVsKGNoaWxkcmVuKVxuICBjb25zdCBpc1Rhc2sgPSB0eXBlID09PSAndGFzaydcbiAgY29uc3QgaWNvblNpemUgPSBpc1Rhc2sgPyAxNiA6IDE0XG4gIGNvbnN0IHRhc2tVcmwgPSBgL3Rhc2tzLyR7aWR9L2RldGFpbGBcblxuICBjb25zdCBoYW5kbGVUYXNrQ2xpY2sgPSAoZTogTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHtcbiAgICBpZiAoZS5tZXRhS2V5IHx8IGUuY3RybEtleSkgcmV0dXJuXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgIG9wZW5UYXNrSW5Db3JQYW5lbChpZCwgJ2RldGFpbCcpXG4gIH1cblxuICBjb25zdCBoYW5kbGVUYXNrS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4ge1xuICAgIGlmIChlLmtleSAhPT0gJ0VudGVyJyAmJiBlLmtleSAhPT0gJyAnKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICB9XG5cbiAgaWYgKGlzVGFzaykge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NUYXNrTGlua1xuICAgICAgICBocmVmPXt0YXNrVXJsfVxuICAgICAgICBjbGFzc05hbWU9e0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVxuICAgICAgICBkYXRhLWNvci1saW5rPVwidGFza1wiXG4gICAgICAgIGRhdGEtbWVudGlvbi10eXBlPXt0eXBlfVxuICAgICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVUYXNrQ2xpY2t9XG4gICAgICAgIG9uS2V5RG93bj17aGFuZGxlVGFza0tleURvd259XG4gICAgICA+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvU0NUYXNrTGluaz5cbiAgICApXG4gIH1cblxuICBjb25zdCBpc1Byb2plY3QgPSB0eXBlID09PSAncHJvamVjdCdcbiAgY29uc3QgcHJvamVjdFVybCA9IGlzUHJvamVjdCA/IGAvcHJvamVjdHMvJHtpZH0vZGFzaGJvYXJkYCA6IG51bGxcbiAgY29uc3Qgc2hvd0ljb24gPSAhaXNQcm9qZWN0XG4gIGNvbnN0IHsgZmlyc3RXb3JkLCByZXN0IH0gPSBzcGxpdExhYmVsRmlyc3RXb3JkKGxhYmVsKVxuXG4gIGNvbnN0IGhhbmRsZVByb2plY3RDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxTcGFuRWxlbWVudD4pID0+IHtcbiAgICBpZiAoIXByb2plY3RVcmwpIHJldHVyblxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICB3aW5kb3cub3Blbihwcm9qZWN0VXJsLCAnX2JsYW5rJylcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDSW5saW5lTWVudGlvblxuICAgICAgJHR5cGU9e3R5cGV9XG4gICAgICAkaXNDbGlja2FibGU9e2lzUHJvamVjdH1cbiAgICAgIGNsYXNzTmFtZT17Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9XG4gICAgICBkYXRhLW1lbnRpb24tdHlwZT17dHlwZX1cbiAgICAgIGRhdGEtbWVudGlvbi1zdXJmYWNlPVwiY2hhdFwiXG4gICAgICBvbkNsaWNrPXtpc1Byb2plY3QgPyBoYW5kbGVQcm9qZWN0Q2xpY2sgOiB1bmRlZmluZWR9XG4gICAgICByb2xlPXtpc1Byb2plY3QgPyAnYnV0dG9uJyA6IHVuZGVmaW5lZH1cbiAgICAgIHRhYkluZGV4PXtpc1Byb2plY3QgPyAwIDogdW5kZWZpbmVkfVxuICAgID5cbiAgICAgIHtzaG93SWNvbiA/IChcbiAgICAgICAgPD5cbiAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uSWNvblJvdz5cbiAgICAgICAgICAgIDxTQ0lubGluZU1lbnRpb25JY29uICR0YXNrPXtpc1Rhc2t9PlxuICAgICAgICAgICAgICB7Z2V0Q29udGV4dE1lbnRpb25JY29uKHR5cGUsIE1FTlRJT05fQ0hJUF9DT0xPUlNbdHlwZV0uZmcsIGlkLCBpY29uU2l6ZSl9XG4gICAgICAgICAgICA8L1NDSW5saW5lTWVudGlvbkljb24+XG4gICAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uV29yZD57Zmlyc3RXb3JkfTwvU0NJbmxpbmVNZW50aW9uV29yZD5cbiAgICAgICAgICA8L1NDSW5saW5lTWVudGlvbkljb25Sb3c+XG4gICAgICAgICAge3Jlc3QgPyA8U0NJbmxpbmVNZW50aW9uUmVzdD57cmVzdH08L1NDSW5saW5lTWVudGlvblJlc3Q+IDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHshc2hvd0ljb24gPyBsYWJlbCA6IG51bGx9XG4gICAgPC9TQ0lubGluZU1lbnRpb24+XG4gIClcbn1cblxuLyoqIFF1aXRhIGxvcyBtYXJrZXJzIGRlbCB0ZXh0bywgZGVqYW5kbyBzb2xvIGBsYWJlbGAuIMOadGlsIHBhcmEgZmFsbGJhY2sgcGxhbm8uICovXG5leHBvcnQgY29uc3Qgc3RyaXBNZW50aW9uTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgdGV4dC5yZXBsYWNlKE1FTlRJT05fTUFSS0VSX1JFR0VYLCAoX20sIF90eXBlLCBfaWQsIGxhYmVsKSA9PiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKFN0cmluZyhsYWJlbCkpKVxuXG4vKipcbiAqIFTDrXR1bG9zIGRlIGNvbnZlcnNhY2nDs24gKHAuIGVqLiBgbGFzdF9xdWVzdGlvbmAgZGVyaXZhZG8gZGVsIHByaW1lciBtZW5zYWplKSBwdWVkZW5cbiAqIGluY2x1aXIgZWwgdGV4dG8gc2VyaWFsaXphZG8gYFtbbWVudGlvbjp0eXBlOmlkfGxhYmVsXV1gLiBQYXJhIHNpZGViYXIgeSBsaXN0YWRvcyxcbiAqIHJlZW1wbGF6YSBjYWRhIGJsb3F1ZSBwb3IgYGxhYmVsYCBlbiB0ZXh0byBwbGFubywgc2luIGVsIG1hcmNhZG9yIGNydWRvLlxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zID0gKHRleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcgPT4ge1xuICBpZiAodGV4dCA9PSBudWxsIHx8IHRleHQgPT09ICcnKSByZXR1cm4gdGV4dCA/PyAnJ1xuICBjb25zdCB3aXRob3V0TWVudGlvbnMgPSB0ZXh0LnJlcGxhY2UoTUVOVElPTl9NQVJLRVJfUkVHRVgsIChfbSwgX3R5cGUsIF9pZCwgbGFiZWwpID0+XG4gICAgbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChTdHJpbmcobGFiZWwpLnRyaW0oKSlcbiAgKVxuICBjb25zdCBzbGFzaFJlZ2V4ID0gbmV3IFJlZ0V4cChTTEFTSF9DT01NQU5EX01BUktFUl9SRUdFWC5zb3VyY2UsICdnJylcbiAgY29uc3Qgd2l0aG91dFNsYXNoID0gd2l0aG91dE1lbnRpb25zLnJlcGxhY2Uoc2xhc2hSZWdleCwgKF9tLCBfaWQsIGxhYmVsKSA9PiBgLyR7U3RyaW5nKGxhYmVsKS50cmltKCl9YClcbiAgY29uc3Qgd2l0aG91dEluY29tcGxldGVTbGFzaCA9IHdpdGhvdXRTbGFzaC5yZXBsYWNlKFxuICAgIElOQ09NUExFVEVfU0xBU0hfTUFSS0VSX1JFR0VYLFxuICAgIChfbSwgbGFiZWwpID0+IGAvJHtTdHJpbmcobGFiZWwpLnRyaW0oKX1gXG4gIClcbiAgcmV0dXJuIHdpdGhvdXRJbmNvbXBsZXRlU2xhc2gucmVwbGFjZShJTkNPTVBMRVRFX01FTlRJT05fTUFSS0VSX1JFR0VYLCAnJykudHJpbSgpXG59XG5cbi8qKiBHZW5lcmEgbGEgVVJMIGRlIG5hdmVnYWNpw7NuIHBhcmEgdW4gbWVudGlvbiBzZWfDum4gc3UgdGlwby4gKi9cbmNvbnN0IGdldE1lbnRpb25VcmwgPSAodHlwZTogQ29udGV4dEVudGl0eVR5cGUsIGlkOiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcgfCBudWxsID0+IHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAnY2xpZW50JzpcbiAgICAgIHJldHVybiBgL2NsaWVudHMvJHtpZH1gXG4gICAgY2FzZSAncHJvamVjdCc6XG4gICAgICByZXR1cm4gYC9wcm9qZWN0cy8ke2lkfS9kYXNoYm9hcmRgXG4gICAgY2FzZSAndGFzayc6XG4gICAgICByZXR1cm4gYC90YXNrcy8ke2lkfS9kZXRhaWxgXG4gICAgY2FzZSAndXNlcic6XG4gICAgICByZXR1cm4gbnVsbCAvLyBMb3MgdXNlcnMgbm8gc29uIGNsaWNrZWFibGVzXG4gICAgY2FzZSAnbWNwJzpcbiAgICAgIHJldHVybiBudWxsXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBudWxsXG4gIH1cbn1cblxuY29uc3QgTWVudGlvbkNoaXAgPSAoeyB0eXBlLCBpZCwgbGFiZWwgfTogeyB0eXBlOiBDb250ZXh0RW50aXR5VHlwZTsgaWQ6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9KSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRMYWJlbCA9IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwobGFiZWwpXG4gIGNvbnN0IHVybCA9IGdldE1lbnRpb25VcmwodHlwZSwgaWQpXG4gIGNvbnN0IGlzQ2xpY2thYmxlID0gISF1cmxcbiAgY29uc3QgaXNUYXNrID0gdHlwZSA9PT0gJ3Rhc2snXG4gIGNvbnN0IGlzUHJvamVjdCA9IHR5cGUgPT09ICdwcm9qZWN0J1xuICBjb25zdCBzaG93SWNvbiA9ICFpc1Byb2plY3RcbiAgY29uc3QgaWNvblNpemUgPSBpc1Rhc2sgPyAxNiA6IDE0XG4gIGNvbnN0IHsgZmlyc3RXb3JkLCByZXN0IH0gPSBzcGxpdExhYmVsRmlyc3RXb3JkKG5vcm1hbGl6ZWRMYWJlbClcblxuICBjb25zdCBoYW5kbGVDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50IHwgSFRNTFNwYW5FbGVtZW50PikgPT4ge1xuICAgIGlmICghaXNDbGlja2FibGUgfHwgIXVybCkgcmV0dXJuXG4gICAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgICAgaWYgKGUubWV0YUtleSB8fCBlLmN0cmxLZXkpIHJldHVyblxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpXG4gIH1cblxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQgfCBIVE1MU3BhbkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKCFpc0NsaWNrYWJsZSB8fCB0eXBlICE9PSAndGFzaycpIHJldHVyblxuICAgIGlmIChlLmtleSAhPT0gJ0VudGVyJyAmJiBlLmtleSAhPT0gJyAnKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICB9XG5cbiAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NUYXNrTGlua1xuICAgICAgICBocmVmPXt1cmwgPz8gJyMnfVxuICAgICAgICBjbGFzc05hbWU9e0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVxuICAgICAgICBkYXRhLWNvci1saW5rPVwidGFza1wiXG4gICAgICAgIGRhdGEtbWVudGlvbi10eXBlPVwidGFza1wiXG4gICAgICAgIGRhdGEtbWVudGlvbi1zdXJmYWNlPVwiY2hhdFwiXG4gICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrfVxuICAgICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgICA+XG4gICAgICAgIHtub3JtYWxpemVkTGFiZWx9XG4gICAgICA8L1NDVGFza0xpbms+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NJbmxpbmVNZW50aW9uXG4gICAgICAkdHlwZT17dHlwZX1cbiAgICAgICRpc0NsaWNrYWJsZT17aXNDbGlja2FibGV9XG4gICAgICBjbGFzc05hbWU9e0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVxuICAgICAgZGF0YS1tZW50aW9uLXR5cGU9e3R5cGV9XG4gICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgb25DbGljaz17aXNDbGlja2FibGUgPyBoYW5kbGVDbGljayA6IHVuZGVmaW5lZH1cbiAgICAgIHJvbGU9e2lzQ2xpY2thYmxlID8gJ2J1dHRvbicgOiB1bmRlZmluZWR9XG4gICAgICB0YWJJbmRleD17aXNDbGlja2FibGUgPyAwIDogdW5kZWZpbmVkfVxuICAgID5cbiAgICAgIHtzaG93SWNvbiA/IChcbiAgICAgICAgPD5cbiAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uSWNvblJvdz5cbiAgICAgICAgICAgIDxTQ0lubGluZU1lbnRpb25JY29uICR0YXNrPXtpc1Rhc2t9PlxuICAgICAgICAgICAgICB7Z2V0Q29udGV4dE1lbnRpb25JY29uKHR5cGUsIE1FTlRJT05fQ0hJUF9DT0xPUlNbdHlwZV0uZmcsIGlkLCBpY29uU2l6ZSl9XG4gICAgICAgICAgICA8L1NDSW5saW5lTWVudGlvbkljb24+XG4gICAgICAgICAgICA8U0NJbmxpbmVNZW50aW9uV29yZD57Zmlyc3RXb3JkfTwvU0NJbmxpbmVNZW50aW9uV29yZD5cbiAgICAgICAgICA8L1NDSW5saW5lTWVudGlvbkljb25Sb3c+XG4gICAgICAgICAge3Jlc3QgPyA8U0NJbmxpbmVNZW50aW9uUmVzdD57cmVzdH08L1NDSW5saW5lTWVudGlvblJlc3Q+IDogbnVsbH1cbiAgICAgICAgPC8+XG4gICAgICApIDogbnVsbH1cbiAgICAgIHshc2hvd0ljb24gPyBub3JtYWxpemVkTGFiZWwgOiBudWxsfVxuICAgIDwvU0NJbmxpbmVNZW50aW9uPlxuICApXG59XG5cbmV4cG9ydCBjb25zdCBoYXNJbmxpbmVNYXJrZXJzID0gKHRleHQ6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICBpZiAoIXRleHQpIHJldHVybiBmYWxzZVxuICByZXR1cm4gdGV4dC5pbmNsdWRlcygnW1ttZW50aW9uOicpIHx8IHRleHQuaW5jbHVkZXMoJ1tbc2xhc2hfY29tbWFuZDonKVxufVxuXG50eXBlIElubGluZU1hcmtlciA9XG4gIHwgeyBraW5kOiAnbWVudGlvbic7IGluZGV4OiBudW1iZXI7IGxlbmd0aDogbnVtYmVyOyB0eXBlOiBDb250ZXh0RW50aXR5VHlwZTsgaWQ6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9XG4gIHwgeyBraW5kOiAnc2xhc2gnOyBpbmRleDogbnVtYmVyOyBsZW5ndGg6IG51bWJlcjsgaWQ6IHN0cmluZzsgbGFiZWw6IHN0cmluZyB9XG5cbmNvbnN0IGNvbGxlY3RJbmxpbmVNYXJrZXJzID0gKHRleHQ6IHN0cmluZyk6IElubGluZU1hcmtlcltdID0+IHtcbiAgY29uc3QgbWFya2VyczogSW5saW5lTWFya2VyW10gPSBbXVxuXG4gIE1FTlRJT05fTUFSS0VSX1JFR0VYLmxhc3RJbmRleCA9IDBcbiAgbGV0IG06IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGwgPSBNRU5USU9OX01BUktFUl9SRUdFWC5leGVjKHRleHQpXG4gIHdoaWxlIChtKSB7XG4gICAgY29uc3QgWywgcmF3VHlwZSwgaWQsIGxhYmVsXSA9IG1cbiAgICBjb25zdCB0eXBlID0gQUxMT1dFRF9UWVBFUy5pbmNsdWRlcyhyYXdUeXBlIGFzIENvbnRleHRFbnRpdHlUeXBlKSA/IChyYXdUeXBlIGFzIENvbnRleHRFbnRpdHlUeXBlKSA6ICd1c2VyJ1xuICAgIG1hcmtlcnMucHVzaCh7IGtpbmQ6ICdtZW50aW9uJywgaW5kZXg6IG0uaW5kZXgsIGxlbmd0aDogbVswXS5sZW5ndGgsIHR5cGUsIGlkLCBsYWJlbCB9KVxuICAgIG0gPSBNRU5USU9OX01BUktFUl9SRUdFWC5leGVjKHRleHQpXG4gIH1cblxuICBjb25zdCBzbGFzaFJlZ2V4ID0gbmV3IFJlZ0V4cChTTEFTSF9DT01NQU5EX01BUktFUl9SRUdFWC5zb3VyY2UsICdnJylcbiAgbGV0IHM6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGwgPSBzbGFzaFJlZ2V4LmV4ZWModGV4dClcbiAgd2hpbGUgKHMpIHtcbiAgICBtYXJrZXJzLnB1c2goeyBraW5kOiAnc2xhc2gnLCBpbmRleDogcy5pbmRleCwgbGVuZ3RoOiBzWzBdLmxlbmd0aCwgaWQ6IHNbMV0sIGxhYmVsOiBzWzJdIH0pXG4gICAgcyA9IHNsYXNoUmVnZXguZXhlYyh0ZXh0KVxuICB9XG5cbiAgcmV0dXJuIG1hcmtlcnMuc29ydCgoYSwgYikgPT4gYS5pbmRleCAtIGIuaW5kZXgpXG59XG5cbmV4cG9ydCBjb25zdCByZW5kZXJUZXh0V2l0aE1lbnRpb25zID0gKHRleHQ6IHN0cmluZyk6IEFycmF5PHN0cmluZyB8IFJlYWN0RWxlbWVudD4gPT4ge1xuICBpZiAoIXRleHQpIHJldHVybiBbdGV4dF1cbiAgY29uc3QgbWFya2VycyA9IGNvbGxlY3RJbmxpbmVNYXJrZXJzKHRleHQpXG4gIGlmIChtYXJrZXJzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIFt0ZXh0XVxuXG4gIGNvbnN0IG91dDogQXJyYXk8c3RyaW5nIHwgUmVhY3RFbGVtZW50PiA9IFtdXG4gIGxldCBsYXN0SWR4ID0gMFxuICBtYXJrZXJzLmZvckVhY2gobWFya2VyID0+IHtcbiAgICBpZiAobWFya2VyLmluZGV4ID4gbGFzdElkeCkgb3V0LnB1c2godGV4dC5zbGljZShsYXN0SWR4LCBtYXJrZXIuaW5kZXgpKVxuICAgIGlmIChtYXJrZXIua2luZCA9PT0gJ21lbnRpb24nKSB7XG4gICAgICBvdXQucHVzaChcbiAgICAgICAgPE1lbnRpb25DaGlwXG4gICAgICAgICAga2V5PXtgbWVudGlvbi0ke21hcmtlci5pbmRleH0tJHttYXJrZXIudHlwZX0tJHttYXJrZXIuaWR9YH1cbiAgICAgICAgICB0eXBlPXttYXJrZXIudHlwZX1cbiAgICAgICAgICBpZD17bWFya2VyLmlkfVxuICAgICAgICAgIGxhYmVsPXttYXJrZXIubGFiZWx9XG4gICAgICAgIC8+XG4gICAgICApXG4gICAgfSBlbHNlIHtcbiAgICAgIG91dC5wdXNoKDxTbGFzaENvbW1hbmRDaGlwIGtleT17YHNsYXNoLSR7bWFya2VyLmluZGV4fS0ke21hcmtlci5pZH1gfSBsYWJlbD17bWFya2VyLmxhYmVsfSBpbmxpbmU9e2ZhbHNlfSAvPilcbiAgICB9XG4gICAgbGFzdElkeCA9IG1hcmtlci5pbmRleCArIG1hcmtlci5sZW5ndGhcbiAgfSlcbiAgaWYgKGxhc3RJZHggPCB0ZXh0Lmxlbmd0aCkgb3V0LnB1c2godGV4dC5zbGljZShsYXN0SWR4KSlcbiAgcmV0dXJuIG91dFxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLFFBQVEsbUJBQW1C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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@projectcor/maia-components",
|
|
3
|
-
"version": "2.11.90-
|
|
3
|
+
"version": "2.11.90-2",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"repository": {
|
|
@@ -37,32 +37,37 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@streamdown/code": "^1.0.1",
|
|
40
|
-
"
|
|
40
|
+
"dompurify": "3.4.13",
|
|
41
|
+
"mammoth": "1.12.0",
|
|
42
|
+
"mermaid": "11.16.1",
|
|
41
43
|
"rehype-sanitize": "^6.0.0",
|
|
42
44
|
"streamdown": "^2.1.0",
|
|
43
45
|
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
|
|
44
46
|
"zustand": "^4.* || ^5.*"
|
|
45
47
|
},
|
|
46
48
|
"overrides": {
|
|
47
|
-
"brace-expansion@1": "1.1.
|
|
48
|
-
"brace-expansion@2": "2.1.
|
|
49
|
+
"brace-expansion@1": "1.1.18",
|
|
50
|
+
"brace-expansion@2": "2.1.4",
|
|
49
51
|
"brace-expansion@5": "5.0.8",
|
|
50
52
|
"body-parser": "^1.20.6",
|
|
51
53
|
"@babel/plugin-transform-modules-systemjs": "^7.29.7",
|
|
52
54
|
"@tootallnate/once": "^3.0.1",
|
|
53
|
-
"
|
|
55
|
+
"dompurify": "3.4.13",
|
|
56
|
+
"fast-uri": "3.1.5",
|
|
54
57
|
"flatted": "^3.4.2",
|
|
55
58
|
"follow-redirects": "^1.16.0",
|
|
56
59
|
"form-data": "^4.0.6",
|
|
57
60
|
"got": "^11.8.6",
|
|
58
61
|
"handlebars": "^4.7.9",
|
|
59
62
|
"http-proxy-middleware": "^2.0.10",
|
|
60
|
-
"js-yaml@3": "3.15.
|
|
61
|
-
"js-yaml@4": "4.3.
|
|
63
|
+
"js-yaml@3": "3.15.1",
|
|
64
|
+
"js-yaml@4": "4.3.1",
|
|
62
65
|
"jszip": "^3.10.1",
|
|
63
66
|
"lodash": "^4.18.1",
|
|
64
67
|
"lodash@3": "4.18.1",
|
|
65
|
-
"
|
|
68
|
+
"mermaid": "11.16.1",
|
|
69
|
+
"minimatch@9": "9.0.7",
|
|
70
|
+
"nanoid": "3.3.18",
|
|
66
71
|
"node-forge": "^1.4.0",
|
|
67
72
|
"path-to-regexp@0.1": "0.1.13",
|
|
68
73
|
"pdfjs-dist": "4.10.38",
|