@projectcor/maia-components 2.49.0-beta.1 → 2.49.0
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/ApprovalBox/ApprovalBox.helpers.js +37 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.js +3 -37
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.helpers.js +117 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +31 -101
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.helpers.js +91 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +49 -140
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.helpers.js +257 -0
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +53 -205
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.helpers.js +4 -0
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +2 -4
- package/lib/components/atoms/ClientSelector/ClientSelector.helpers.js +26 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.js +12 -21
- package/lib/components/atoms/ContextMentionChip/buildChipElement.helpers.js +227 -0
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +15 -255
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.helpers.js +59 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +12 -57
- package/lib/components/atoms/MAIAInput/MAIAInput.attachments.helpers.js +74 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.helpers.js +184 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.js +127 -176
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.helpers.js +96 -0
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +40 -113
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.helpers.js +17 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +3 -15
- package/lib/components/atoms/ReasoningBlock/ReasoningSteps.js +3 -4
- package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.js +3 -11
- package/lib/components/atoms/ReasoningBlock/reasoningLeading.js +6 -1
- package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.js +2 -3
- package/lib/components/atoms/ReasoningBlock/reasoningTimeline.helpers.js +10 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.helpers.js +101 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +21 -77
- package/lib/components/atoms/TextArea/TextArea.helpers.js +23 -0
- package/lib/components/atoms/TextArea/TextArea.js +11 -20
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.helpers.js +37 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +6 -29
- package/lib/components/molecules/AbmSection/AbmGeneralSection.helpers.js +68 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.js +17 -56
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.helpers.js +133 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +31 -112
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.helpers.js +17 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +5 -15
- package/lib/components/molecules/ChatAIHome/ChatAIHome.helpers.js +370 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +197 -233
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.helpers.js +398 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +209 -235
- package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +515 -4
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +228 -344
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.helpers.js +5 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +3 -2
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.helpers.js +49 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +36 -33
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.helpers.js +39 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +30 -33
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.helpers.js +41 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +9 -35
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.helpers.js +48 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +9 -44
- package/lib/components/molecules/Sidebar/Sidebar.helpers.js +43 -0
- package/lib/components/molecules/Sidebar/Sidebar.js +25 -22
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.helpers.js +512 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +309 -643
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.helpers.js +37 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +13 -25
- package/lib/constants/formatExtensions.js +7 -8
- package/lib/dev/DevReasoningTimeline.js +8 -50
- package/lib/hooks/useAgentModel/useCreateAgent.helpers.js +144 -0
- package/lib/hooks/useAgentModel/useCreateAgent.js +38 -102
- package/lib/hooks/useChatManager/useChatManager.helpers.js +902 -0
- package/lib/hooks/useChatManager/useChatManager.js +267 -741
- package/lib/hooks/useChatMessages/useChatMessages.helpers.js +365 -0
- package/lib/hooks/useChatMessages/useChatMessages.js +59 -285
- package/lib/hooks/useClientSearch.helpers.js +36 -0
- package/lib/hooks/useClientSearch.js +4 -32
- package/lib/hooks/useContextMentions.helpers.js +212 -0
- package/lib/hooks/useContextMentions.js +5 -223
- package/lib/hooks/useContextMentions.types.js +2 -0
- package/lib/hooks/useContextPinPopover.helpers.js +95 -0
- package/lib/hooks/useContextPinPopover.js +16 -75
- package/lib/hooks/useEntitySearch.helpers.js +407 -0
- package/lib/hooks/useEntitySearch.js +52 -436
- package/lib/hooks/useMentionPopover.helpers.js +41 -0
- package/lib/hooks/useMentionPopover.js +9 -35
- package/lib/hooks/useMinimizedPillBottomOffset.helpers.js +47 -0
- package/lib/hooks/useMinimizedPillBottomOffset.js +15 -45
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.helpers.js +86 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +8 -82
- package/lib/hooks/useProjectSearch.helpers.js +61 -0
- package/lib/hooks/useProjectSearch.js +4 -58
- package/lib/hooks/useProjectSummaryConfig.helpers.js +62 -0
- package/lib/hooks/useProjectSummaryConfig.js +14 -52
- package/lib/hooks/useReasoningTrace/reasoningStore.js +8 -39
- package/lib/hooks/useRecentClientsSearch.helpers.js +33 -0
- package/lib/hooks/useRecentClientsSearch.js +4 -32
- package/lib/lang/br/index.js +1 -7
- package/lib/lang/en/index.js +1 -7
- package/lib/lang/es/index.js +1 -7
- package/lib/lang/fr/index.js +1 -7
- package/lib/services/maia/Agents/getAgents.helpers.js +241 -0
- package/lib/services/maia/Agents/getAgents.js +90 -282
- package/lib/services/maia/Orchestrator/orchestrator.helpers.js +130 -0
- package/lib/services/maia/Orchestrator/orchestrator.js +38 -121
- package/lib/services/utils/mapChatMessages.helpers.js +223 -0
- package/lib/services/utils/mapChatMessages.js +25 -254
- package/lib/store/sessions/sessionNotifications.helpers.js +45 -0
- package/lib/store/sessions/sessionNotifications.js +35 -41
- package/lib/store/sessions/sessionStreamManager.helpers.js +134 -0
- package/lib/store/sessions/sessionStreamManager.js +172 -236
- package/lib/test/mockSseStream.js +121 -0
- package/lib/test/streamdownCodeMock.js +6 -0
- package/lib/test/streamdownMock.js +12 -0
- package/lib/types/Chat.js +1 -1
- package/lib/types/agentModal.js +1 -1
- package/lib/types/reasoning.js +1 -1
- package/lib/utils/imagePreprocessor.helpers.js +28 -0
- package/lib/utils/imagePreprocessor.js +12 -37
- package/lib/utils/renderContextMentions.helpers.js +110 -0
- package/lib/utils/renderContextMentions.js +4 -110
- package/lib/utils/streamActivityMessages.helpers.js +222 -0
- package/lib/utils/streamActivityMessages.js +4 -221
- package/package.json +2 -2
- package/lib/components/atoms/ContextCompactedNotice/ContextCompactedNotice.js +0 -53
- package/lib/components/atoms/ContextCompactedNotice/ContextCompactedNotice.styles.js +0 -8
- package/lib/components/atoms/ContextCompactedNotice/index.js +0 -2
- package/lib/types/contextCompaction.js +0 -48
- package/lib/types/jest-dom.d.js +0 -2
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { normalizeHitlToolName } from '../../../utils/hitlAnalytics';
|
|
2
|
+
export var formatToolNameFallback = function formatToolNameFallback(toolName) {
|
|
3
|
+
var normalized = normalizeHitlToolName(toolName || 'unknown');
|
|
4
|
+
var withSpaces = normalized.replace(/_/g, ' ').trim();
|
|
5
|
+
if (!withSpaces) return 'Unknown';
|
|
6
|
+
return withSpaces.charAt(0).toUpperCase() + withSpaces.slice(1);
|
|
7
|
+
};
|
|
8
|
+
export var getActionLabel = function getActionLabel(t, toolName, displayName) {
|
|
9
|
+
var normalizedToolName = normalizeHitlToolName(toolName || 'unknown');
|
|
10
|
+
var translationKey = "approvalBox.actions.".concat(normalizedToolName);
|
|
11
|
+
var translatedLabel = t(translationKey);
|
|
12
|
+
if (translatedLabel !== translationKey) return translatedLabel;
|
|
13
|
+
if (displayName !== null && displayName !== void 0 && displayName.trim()) return displayName;
|
|
14
|
+
return formatToolNameFallback(normalizedToolName);
|
|
15
|
+
};
|
|
16
|
+
export var getDeliverableMode = function getDeliverableMode(toolArgs) {
|
|
17
|
+
if (!toolArgs || Array.isArray(toolArgs)) return '';
|
|
18
|
+
return String(toolArgs.deliverableType || toolArgs.deliverable_type || '').toLowerCase();
|
|
19
|
+
};
|
|
20
|
+
export var getSpecialActionCopy = function getSpecialActionCopy(t, action) {
|
|
21
|
+
var normalizedToolName = normalizeHitlToolName(action.tool_name);
|
|
22
|
+
var deliverableMode = getDeliverableMode(action.tool_args);
|
|
23
|
+
if (normalizedToolName === 'create_rework') {
|
|
24
|
+
return {
|
|
25
|
+
title: t('approvalBox.special.createRework.title'),
|
|
26
|
+
description: t('approvalBox.special.createRework.description')
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
if (normalizedToolName === 'update_deliverable' && ['children', 'checkbox'].includes(deliverableMode)) {
|
|
30
|
+
return {
|
|
31
|
+
title: t('approvalBox.special.updateDeliverableChildren.title'),
|
|
32
|
+
description: t('approvalBox.special.updateDeliverableChildren.description')
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return {};
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemVIaXRsVG9vbE5hbWUiLCJmb3JtYXRUb29sTmFtZUZhbGxiYWNrIiwidG9vbE5hbWUiLCJub3JtYWxpemVkIiwid2l0aFNwYWNlcyIsInJlcGxhY2UiLCJ0cmltIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsImdldEFjdGlvbkxhYmVsIiwidCIsImRpc3BsYXlOYW1lIiwibm9ybWFsaXplZFRvb2xOYW1lIiwidHJhbnNsYXRpb25LZXkiLCJjb25jYXQiLCJ0cmFuc2xhdGVkTGFiZWwiLCJnZXREZWxpdmVyYWJsZU1vZGUiLCJ0b29sQXJncyIsIkFycmF5IiwiaXNBcnJheSIsIlN0cmluZyIsImRlbGl2ZXJhYmxlVHlwZSIsImRlbGl2ZXJhYmxlX3R5cGUiLCJ0b0xvd2VyQ2FzZSIsImdldFNwZWNpYWxBY3Rpb25Db3B5IiwiYWN0aW9uIiwidG9vbF9uYW1lIiwiZGVsaXZlcmFibGVNb2RlIiwidG9vbF9hcmdzIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsImluY2x1ZGVzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQXBwcm92YWxCb3gvQXBwcm92YWxCb3guaGVscGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBlbmRpbmdBY3Rpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9DaGF0J1xuaW1wb3J0IHsgbm9ybWFsaXplSGl0bFRvb2xOYW1lIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaGl0bEFuYWx5dGljcydcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFRvb2xOYW1lRmFsbGJhY2sgPSAodG9vbE5hbWU/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplSGl0bFRvb2xOYW1lKHRvb2xOYW1lIHx8ICd1bmtub3duJylcbiAgY29uc3Qgd2l0aFNwYWNlcyA9IG5vcm1hbGl6ZWQucmVwbGFjZSgvXy9nLCAnICcpLnRyaW0oKVxuICBpZiAoIXdpdGhTcGFjZXMpIHJldHVybiAnVW5rbm93bidcbiAgcmV0dXJuIHdpdGhTcGFjZXMuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3aXRoU3BhY2VzLnNsaWNlKDEpXG59XG5cbmV4cG9ydCBjb25zdCBnZXRBY3Rpb25MYWJlbCA9ICh0OiAoa2V5OiBzdHJpbmcpID0+IHN0cmluZywgdG9vbE5hbWU/OiBzdHJpbmcsIGRpc3BsYXlOYW1lPzogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZFRvb2xOYW1lID0gbm9ybWFsaXplSGl0bFRvb2xOYW1lKHRvb2xOYW1lIHx8ICd1bmtub3duJylcbiAgY29uc3QgdHJhbnNsYXRpb25LZXkgPSBgYXBwcm92YWxCb3guYWN0aW9ucy4ke25vcm1hbGl6ZWRUb29sTmFtZX1gXG4gIGNvbnN0IHRyYW5zbGF0ZWRMYWJlbCA9IHQodHJhbnNsYXRpb25LZXkpXG5cbiAgaWYgKHRyYW5zbGF0ZWRMYWJlbCAhPT0gdHJhbnNsYXRpb25LZXkpIHJldHVybiB0cmFuc2xhdGVkTGFiZWxcbiAgaWYgKGRpc3BsYXlOYW1lPy50cmltKCkpIHJldHVybiBkaXNwbGF5TmFtZVxuICByZXR1cm4gZm9ybWF0VG9vbE5hbWVGYWxsYmFjayhub3JtYWxpemVkVG9vbE5hbWUpXG59XG5cbmV4cG9ydCBjb25zdCBnZXREZWxpdmVyYWJsZU1vZGUgPSAodG9vbEFyZ3M6IFBlbmRpbmdBY3Rpb25bJ3Rvb2xfYXJncyddKTogc3RyaW5nID0+IHtcbiAgaWYgKCF0b29sQXJncyB8fCBBcnJheS5pc0FycmF5KHRvb2xBcmdzKSkgcmV0dXJuICcnXG4gIHJldHVybiBTdHJpbmcodG9vbEFyZ3MuZGVsaXZlcmFibGVUeXBlIHx8IHRvb2xBcmdzLmRlbGl2ZXJhYmxlX3R5cGUgfHwgJycpLnRvTG93ZXJDYXNlKClcbn1cblxuZXhwb3J0IGNvbnN0IGdldFNwZWNpYWxBY3Rpb25Db3B5ID0gKFxuICB0OiAoa2V5OiBzdHJpbmcpID0+IHN0cmluZyxcbiAgYWN0aW9uOiBQZW5kaW5nQWN0aW9uXG4pOiB7IHRpdGxlPzogc3RyaW5nOyBkZXNjcmlwdGlvbj86IHN0cmluZyB9ID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZFRvb2xOYW1lID0gbm9ybWFsaXplSGl0bFRvb2xOYW1lKGFjdGlvbi50b29sX25hbWUpXG4gIGNvbnN0IGRlbGl2ZXJhYmxlTW9kZSA9IGdldERlbGl2ZXJhYmxlTW9kZShhY3Rpb24udG9vbF9hcmdzKVxuXG4gIGlmIChub3JtYWxpemVkVG9vbE5hbWUgPT09ICdjcmVhdGVfcmV3b3JrJykge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogdCgnYXBwcm92YWxCb3guc3BlY2lhbC5jcmVhdGVSZXdvcmsudGl0bGUnKSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0KCdhcHByb3ZhbEJveC5zcGVjaWFsLmNyZWF0ZVJld29yay5kZXNjcmlwdGlvbicpLFxuICAgIH1cbiAgfVxuXG4gIGlmIChub3JtYWxpemVkVG9vbE5hbWUgPT09ICd1cGRhdGVfZGVsaXZlcmFibGUnICYmIFsnY2hpbGRyZW4nLCAnY2hlY2tib3gnXS5pbmNsdWRlcyhkZWxpdmVyYWJsZU1vZGUpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiB0KCdhcHByb3ZhbEJveC5zcGVjaWFsLnVwZGF0ZURlbGl2ZXJhYmxlQ2hpbGRyZW4udGl0bGUnKSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0KCdhcHByb3ZhbEJveC5zcGVjaWFsLnVwZGF0ZURlbGl2ZXJhYmxlQ2hpbGRyZW4uZGVzY3JpcHRpb24nKSxcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge31cbn1cbiJdLCJtYXBwaW5ncyI6IkFBQ0EsU0FBU0EscUJBQXFCLFFBQVEsOEJBQThCO0FBRXBFLE9BQU8sSUFBTUMsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUFzQkEsQ0FBSUMsUUFBaUIsRUFBYTtFQUNuRSxJQUFNQyxVQUFVLEdBQUdILHFCQUFxQixDQUFDRSxRQUFRLElBQUksU0FBUyxDQUFDO0VBQy9ELElBQU1FLFVBQVUsR0FBR0QsVUFBVSxDQUFDRSxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDQyxJQUFJLENBQUMsQ0FBQztFQUN2RCxJQUFJLENBQUNGLFVBQVUsRUFBRSxPQUFPLFNBQVM7RUFDakMsT0FBT0EsVUFBVSxDQUFDRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUNDLFdBQVcsQ0FBQyxDQUFDLEdBQUdKLFVBQVUsQ0FBQ0ssS0FBSyxDQUFDLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBRUQsT0FBTyxJQUFNQyxjQUFjLEdBQUcsU0FBakJBLGNBQWNBLENBQUlDLENBQTBCLEVBQUVULFFBQWlCLEVBQUVVLFdBQW9CLEVBQWE7RUFDN0csSUFBTUMsa0JBQWtCLEdBQUdiLHFCQUFxQixDQUFDRSxRQUFRLElBQUksU0FBUyxDQUFDO0VBQ3ZFLElBQU1ZLGNBQWMsMEJBQUFDLE1BQUEsQ0FBMEJGLGtCQUFrQixDQUFFO0VBQ2xFLElBQU1HLGVBQWUsR0FBR0wsQ0FBQyxDQUFDRyxjQUFjLENBQUM7RUFFekMsSUFBSUUsZUFBZSxLQUFLRixjQUFjLEVBQUUsT0FBT0UsZUFBZTtFQUM5RCxJQUFJSixXQUFXLGFBQVhBLFdBQVcsZUFBWEEsV0FBVyxDQUFFTixJQUFJLENBQUMsQ0FBQyxFQUFFLE9BQU9NLFdBQVc7RUFDM0MsT0FBT1gsc0JBQXNCLENBQUNZLGtCQUFrQixDQUFDO0FBQ25ELENBQUM7QUFFRCxPQUFPLElBQU1JLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUlDLFFBQW9DLEVBQWE7RUFDbEYsSUFBSSxDQUFDQSxRQUFRLElBQUlDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixRQUFRLENBQUMsRUFBRSxPQUFPLEVBQUU7RUFDbkQsT0FBT0csTUFBTSxDQUFDSCxRQUFRLENBQUNJLGVBQWUsSUFBSUosUUFBUSxDQUFDSyxnQkFBZ0IsSUFBSSxFQUFFLENBQUMsQ0FBQ0MsV0FBVyxDQUFDLENBQUM7QUFDMUYsQ0FBQztBQUVELE9BQU8sSUFBTUMsb0JBQW9CLEdBQUcsU0FBdkJBLG9CQUFvQkEsQ0FDL0JkLENBQTBCLEVBQzFCZSxNQUFxQixFQUN3QjtFQUM3QyxJQUFNYixrQkFBa0IsR0FBR2IscUJBQXFCLENBQUMwQixNQUFNLENBQUNDLFNBQVMsQ0FBQztFQUNsRSxJQUFNQyxlQUFlLEdBQUdYLGtCQUFrQixDQUFDUyxNQUFNLENBQUNHLFNBQVMsQ0FBQztFQUU1RCxJQUFJaEIsa0JBQWtCLEtBQUssZUFBZSxFQUFFO0lBQzFDLE9BQU87TUFDTGlCLEtBQUssRUFBRW5CLENBQUMsQ0FBQyx3Q0FBd0MsQ0FBQztNQUNsRG9CLFdBQVcsRUFBRXBCLENBQUMsQ0FBQyw4Q0FBOEM7SUFDL0QsQ0FBQztFQUNIO0VBRUEsSUFBSUUsa0JBQWtCLEtBQUssb0JBQW9CLElBQUksQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUNtQixRQUFRLENBQUNKLGVBQWUsQ0FBQyxFQUFFO0lBQ3JHLE9BQU87TUFDTEUsS0FBSyxFQUFFbkIsQ0FBQyxDQUFDLHFEQUFxRCxDQUFDO01BQy9Eb0IsV0FBVyxFQUFFcEIsQ0FBQyxDQUFDLDJEQUEyRDtJQUM1RSxDQUFDO0VBQ0g7RUFFQSxPQUFPLENBQUMsQ0FBQztBQUNYLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -15,7 +15,8 @@ import { useGlobalContext } from '../../../context/global-context';
|
|
|
15
15
|
import { EVENTS, useEvent } from '../../../hooks/useEvent';
|
|
16
16
|
import { OptionCorPermission } from '../OptionCorPermission';
|
|
17
17
|
import { buildAgentToolGroupsRequest, DEFAULT_COR_ACCESS } from '../../../utils/normalizeAgentConnectors';
|
|
18
|
-
import { buildHitlAnalyticsPayload, getHitlAnalyticsAgentType, hitlBatchIncludesCreateAgent
|
|
18
|
+
import { buildHitlAnalyticsPayload, getHitlAnalyticsAgentType, hitlBatchIncludesCreateAgent } from '../../../utils/hitlAnalytics';
|
|
19
|
+
import { getActionLabel, getSpecialActionCopy } from './ApprovalBox.helpers';
|
|
19
20
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
20
21
|
var CREATE_AGENT_CONNECTOR_ROWS = [{
|
|
21
22
|
slug: 'clientes',
|
|
@@ -30,41 +31,6 @@ var CREATE_AGENT_CONNECTOR_ROWS = [{
|
|
|
30
31
|
titleKey: 'taskAccessTitle',
|
|
31
32
|
descriptionKey: 'taskAccessDescription'
|
|
32
33
|
}];
|
|
33
|
-
function formatToolNameFallback(toolName) {
|
|
34
|
-
var normalized = normalizeHitlToolName(toolName || 'unknown');
|
|
35
|
-
var withSpaces = normalized.replace(/_/g, ' ').trim();
|
|
36
|
-
if (!withSpaces) return 'Unknown';
|
|
37
|
-
return withSpaces.charAt(0).toUpperCase() + withSpaces.slice(1);
|
|
38
|
-
}
|
|
39
|
-
function getActionLabel(t, toolName, displayName) {
|
|
40
|
-
var normalizedToolName = normalizeHitlToolName(toolName || 'unknown');
|
|
41
|
-
var translationKey = "approvalBox.actions.".concat(normalizedToolName);
|
|
42
|
-
var translatedLabel = t(translationKey);
|
|
43
|
-
if (translatedLabel !== translationKey) return translatedLabel;
|
|
44
|
-
if (displayName !== null && displayName !== void 0 && displayName.trim()) return displayName;
|
|
45
|
-
return formatToolNameFallback(normalizedToolName);
|
|
46
|
-
}
|
|
47
|
-
function getDeliverableMode(toolArgs) {
|
|
48
|
-
if (!toolArgs || Array.isArray(toolArgs)) return '';
|
|
49
|
-
return String(toolArgs.deliverableType || toolArgs.deliverable_type || '').toLowerCase();
|
|
50
|
-
}
|
|
51
|
-
function getSpecialActionCopy(t, action) {
|
|
52
|
-
var normalizedToolName = normalizeHitlToolName(action.tool_name);
|
|
53
|
-
var deliverableMode = getDeliverableMode(action.tool_args);
|
|
54
|
-
if (normalizedToolName === 'create_rework') {
|
|
55
|
-
return {
|
|
56
|
-
title: t('approvalBox.special.createRework.title'),
|
|
57
|
-
description: t('approvalBox.special.createRework.description')
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
if (normalizedToolName === 'update_deliverable' && ['children', 'checkbox'].includes(deliverableMode)) {
|
|
61
|
-
return {
|
|
62
|
-
title: t('approvalBox.special.updateDeliverableChildren.title'),
|
|
63
|
-
description: t('approvalBox.special.updateDeliverableChildren.description')
|
|
64
|
-
};
|
|
65
|
-
}
|
|
66
|
-
return {};
|
|
67
|
-
}
|
|
68
34
|
export var ApprovalBox = function ApprovalBox(_ref) {
|
|
69
35
|
var actions = _ref.actions,
|
|
70
36
|
onApprove = _ref.onApprove,
|
|
@@ -265,4 +231,4 @@ export var ApprovalBox = function ApprovalBox(_ref) {
|
|
|
265
231
|
})]
|
|
266
232
|
});
|
|
267
233
|
};
|
|
268
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIkFsZXJ0IiwiQ2hlY2tDaXJjbGUiLCJDcm9zc0NpcmNsZSIsIlRvb2x0aXAiLCJ1c2VUcmFuc2xhdGlvbiIsIlNDQXBwcm92YWxCb3giLCJTQ0FCSGVhZGVyIiwiU0NBQlRpdGxlIiwiU0NBQkRlc2NyaXB0aW9uIiwiU0NBQkFjdGlvbnNMaXN0IiwiU0NBQkFjdGlvbkl0ZW0iLCJTQ0FCQWN0aW9uTmFtZSIsIlNDQUJBY3Rpb25EZXNjcmlwdGlvbiIsIlNDQUJCdXR0b25zQ29udGFpbmVyIiwiU0NBQkJ1dHRvbiIsIlNDQUJTdGF0dXNCYWRnZSIsIlNDQUJTdGF0dXNXYXJuaW5nSWNvbiIsIlNDQUJDb25uZWN0b3JzIiwiU0NBQkNvbm5lY3RvcnNUaXRsZSIsIlNDQUJDb25uZWN0b3JzU3VidGl0bGUiLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJFVkVOVFMiLCJ1c2VFdmVudCIsIk9wdGlvbkNvclBlcm1pc3Npb24iLCJidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QiLCJERUZBVUxUX0NPUl9BQ0NFU1MiLCJidWlsZEhpdGxBbmFseXRpY3NQYXlsb2FkIiwiZ2V0SGl0bEFuYWx5dGljc0FnZW50VHlwZSIsImhpdGxCYXRjaEluY2x1ZGVzQ3JlYXRlQWdlbnQiLCJub3JtYWxpemVIaXRsVG9vbE5hbWUiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJDUkVBVEVfQUdFTlRfQ09OTkVDVE9SX1JPV1MiLCJzbHVnIiwidGl0bGVLZXkiLCJkZXNjcmlwdGlvbktleSIsImZvcm1hdFRvb2xOYW1lRmFsbGJhY2siLCJ0b29sTmFtZSIsIm5vcm1hbGl6ZWQiLCJ3aXRoU3BhY2VzIiwicmVwbGFjZSIsInRyaW0iLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwiZ2V0QWN0aW9uTGFiZWwiLCJ0IiwiZGlzcGxheU5hbWUiLCJub3JtYWxpemVkVG9vbE5hbWUiLCJ0cmFuc2xhdGlvbktleSIsImNvbmNhdCIsInRyYW5zbGF0ZWRMYWJlbCIsImdldERlbGl2ZXJhYmxlTW9kZSIsInRvb2xBcmdzIiwiQXJyYXkiLCJpc0FycmF5IiwiU3RyaW5nIiwiZGVsaXZlcmFibGVUeXBlIiwiZGVsaXZlcmFibGVfdHlwZSIsInRvTG93ZXJDYXNlIiwiZ2V0U3BlY2lhbEFjdGlvbkNvcHkiLCJhY3Rpb24iLCJ0b29sX25hbWUiLCJkZWxpdmVyYWJsZU1vZGUiLCJ0b29sX2FyZ3MiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwiaW5jbHVkZXMiLCJBcHByb3ZhbEJveCIsIl9yZWYiLCJhY3Rpb25zIiwib25BcHByb3ZlIiwib25SZWplY3QiLCJfcmVmJHN0YXR1cyIsInN0YXR1cyIsIl9yZWYkaXNMb2FkaW5nIiwiaXNMb2FkaW5nIiwiX3JlZiRpc1Byb2plY3REZWxldGVkIiwiaXNQcm9qZWN0RGVsZXRlZCIsIl9yZWYkaXNFeHBhbmRlZCIsImlzRXhwYW5kZWQiLCJoaXRsSW5zdGFuY2VJZCIsIndhcm5pbmdNZXNzYWdlIiwiX3JlZiRtYW51YWxBcHByb3ZhbERlIiwibWFudWFsQXBwcm92YWxEZXRlY3RlZCIsIl91c2VUcmFuc2xhdGlvbiIsImNoYXRBSSIsImFibUFnZW50IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwibG9jYWxTdGF0dXMiLCJzZXRMb2NhbFN0YXR1cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiY29yQWNjZXNzIiwic2V0Q29yQWNjZXNzIiwiaXNDcmVhdGVBZ2VudEJhdGNoIiwiX3VzZUdsb2JhbENvbnRleHQiLCJhZ2VudCIsImV2ZW50QW1wbGl0dWRlIiwibGFzdEhpdGxJbXByZXNzaW9uS2V5UmVmIiwidXNlckluaXRpYXRlZEhpdGxEZWNpc2lvblJlZiIsImF1dG9SZXNvbHV0aW9uVHJhY2tlZEtleVJlZiIsImhpdGxCYXRjaEtleSIsIm1hcCIsImEiLCJ0aHJlYWRfaWQiLCJ0b29sX2NhbGxfaWQiLCJzb3J0Iiwiam9pbiIsInByZXYiLCJoaXRsQW5hbHl0aWNzQWdlbnRUeXBlIiwibGVuZ3RoIiwiaW1wcmVzc2lvbktleSIsImN1cnJlbnQiLCJhaUNoYXRIaXRsIiwidHJhY2tIaXRsRGVjaXNpb24iLCJkZWNpc2lvbiIsInJlc29sdXRpb25Tb3VyY2UiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJhaUNoYXRIaXRsT3B0aW9uIiwiX29iamVjdFNwcmVhZCIsInJlc29sdXRpb25fc291cmNlIiwiaXNBY2NlcHQiLCJoYW5kbGVBcHByb3ZlIiwibWV0YWRhdGEiLCJ0b29sX2dyb3VwX3NsdWdzIiwiaGFuZGxlUmVqZWN0IiwiY2hpbGRyZW4iLCIkZXhwYW5kZWQiLCJzcGVjaWFsQ29weSIsImxhYmVsIiwiZGlzcGxheV9uYW1lIiwibnMiLCJfcmVmMiIsImNoZWNrZWQiLCJvbkNoYW5nZSIsImNvbm5lY3RvckNvciIsIm9wdGlvbiIsIl9kZWZpbmVQcm9wZXJ0eSIsImRpc2FibGVkIiwiJHZhcmlhbnQiLCJvbkNsaWNrIiwiJGRpc2FibGVkIiwiJHN0YXR1cyIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3IiLCJwbGFjZW1lbnQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9BcHByb3ZhbEJveC9BcHByb3ZhbEJveC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VDYWxsYmFjaywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQWxlcnQgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9BbGVydCdcbmltcG9ydCB7IENoZWNrQ2lyY2xlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hlY2tDaXJjbGUnXG5pbXBvcnQgeyBDcm9zc0NpcmNsZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzQ2lyY2xlJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgUGVuZGluZ0FjdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQge1xuICBTQ0FwcHJvdmFsQm94LFxuICBTQ0FCSGVhZGVyLFxuICBTQ0FCVGl0bGUsXG4gIFNDQUJEZXNjcmlwdGlvbixcbiAgU0NBQkFjdGlvbnNMaXN0LFxuICBTQ0FCQWN0aW9uSXRlbSxcbiAgU0NBQkFjdGlvbk5hbWUsXG4gIFNDQUJBY3Rpb25EZXNjcmlwdGlvbixcbiAgU0NBQkJ1dHRvbnNDb250YWluZXIsXG4gIFNDQUJCdXR0b24sXG4gIFNDQUJTdGF0dXNCYWRnZSxcbiAgU0NBQlN0YXR1c1dhcm5pbmdJY29uLFxuICBTQ0FCQ29ubmVjdG9ycyxcbiAgU0NBQkNvbm5lY3RvcnNUaXRsZSxcbiAgU0NBQkNvbm5lY3RvcnNTdWJ0aXRsZSxcbn0gZnJvbSAnLi9BcHByb3ZhbEJveC5zdHlsZXMnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7IE9wdGlvbkNvclBlcm1pc3Npb24gfSBmcm9tICcuLi9PcHRpb25Db3JQZXJtaXNzaW9uJ1xuaW1wb3J0IHtcbiAgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0LFxuICBDb3JBY2Nlc3MsXG4gIENvclRvb2xHcm91cFNsdWcsXG4gIERFRkFVTFRfQ09SX0FDQ0VTUyxcbn0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvbm9ybWFsaXplQWdlbnRDb25uZWN0b3JzJ1xuaW1wb3J0IHtcbiAgYnVpbGRIaXRsQW5hbHl0aWNzUGF5bG9hZCxcbiAgZ2V0SGl0bEFuYWx5dGljc0FnZW50VHlwZSxcbiAgaGl0bEJhdGNoSW5jbHVkZXNDcmVhdGVBZ2VudCxcbiAgbm9ybWFsaXplSGl0bFRvb2xOYW1lLFxufSBmcm9tICcuLi8uLi8uLi91dGlscy9oaXRsQW5hbHl0aWNzJ1xuXG5jb25zdCBDUkVBVEVfQUdFTlRfQ09OTkVDVE9SX1JPV1M6IHsgc2x1ZzogQ29yVG9vbEdyb3VwU2x1ZzsgdGl0bGVLZXk6IHN0cmluZzsgZGVzY3JpcHRpb25LZXk6IHN0cmluZyB9W10gPSBbXG4gIHsgc2x1ZzogJ2NsaWVudGVzJywgdGl0bGVLZXk6ICdjbGllbnRBY2Nlc3NUaXRsZScsIGRlc2NyaXB0aW9uS2V5OiAnY2xpZW50QWNjZXNzRGVzY3JpcHRpb24nIH0sXG4gIHsgc2x1ZzogJ3Byb3llY3RvcycsIHRpdGxlS2V5OiAncHJvamVjdEFjY2Vzc1RpdGxlJywgZGVzY3JpcHRpb25LZXk6ICdwcm9qZWN0QWNjZXNzRGVzY3JpcHRpb24nIH0sXG4gIHsgc2x1ZzogJ3RhcmVhcycsIHRpdGxlS2V5OiAndGFza0FjY2Vzc1RpdGxlJywgZGVzY3JpcHRpb25LZXk6ICd0YXNrQWNjZXNzRGVzY3JpcHRpb24nIH0sXG5dXG5cbmZ1bmN0aW9uIGZvcm1hdFRvb2xOYW1lRmFsbGJhY2sodG9vbE5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplSGl0bFRvb2xOYW1lKHRvb2xOYW1lIHx8ICd1bmtub3duJylcbiAgY29uc3Qgd2l0aFNwYWNlcyA9IG5vcm1hbGl6ZWQucmVwbGFjZSgvXy9nLCAnICcpLnRyaW0oKVxuICBpZiAoIXdpdGhTcGFjZXMpIHJldHVybiAnVW5rbm93bidcbiAgcmV0dXJuIHdpdGhTcGFjZXMuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB3aXRoU3BhY2VzLnNsaWNlKDEpXG59XG5cbmZ1bmN0aW9uIGdldEFjdGlvbkxhYmVsKHQ6IChrZXk6IHN0cmluZykgPT4gc3RyaW5nLCB0b29sTmFtZT86IHN0cmluZywgZGlzcGxheU5hbWU/OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBub3JtYWxpemVkVG9vbE5hbWUgPSBub3JtYWxpemVIaXRsVG9vbE5hbWUodG9vbE5hbWUgfHwgJ3Vua25vd24nKVxuICBjb25zdCB0cmFuc2xhdGlvbktleSA9IGBhcHByb3ZhbEJveC5hY3Rpb25zLiR7bm9ybWFsaXplZFRvb2xOYW1lfWBcbiAgY29uc3QgdHJhbnNsYXRlZExhYmVsID0gdCh0cmFuc2xhdGlvbktleSlcblxuICBpZiAodHJhbnNsYXRlZExhYmVsICE9PSB0cmFuc2xhdGlvbktleSkgcmV0dXJuIHRyYW5zbGF0ZWRMYWJlbFxuICBpZiAoZGlzcGxheU5hbWU/LnRyaW0oKSkgcmV0dXJuIGRpc3BsYXlOYW1lXG4gIHJldHVybiBmb3JtYXRUb29sTmFtZUZhbGxiYWNrKG5vcm1hbGl6ZWRUb29sTmFtZSlcbn1cblxuZnVuY3Rpb24gZ2V0RGVsaXZlcmFibGVNb2RlKHRvb2xBcmdzOiBQZW5kaW5nQWN0aW9uWyd0b29sX2FyZ3MnXSk6IHN0cmluZyB7XG4gIGlmICghdG9vbEFyZ3MgfHwgQXJyYXkuaXNBcnJheSh0b29sQXJncykpIHJldHVybiAnJ1xuICByZXR1cm4gU3RyaW5nKHRvb2xBcmdzLmRlbGl2ZXJhYmxlVHlwZSB8fCB0b29sQXJncy5kZWxpdmVyYWJsZV90eXBlIHx8ICcnKS50b0xvd2VyQ2FzZSgpXG59XG5cbmZ1bmN0aW9uIGdldFNwZWNpYWxBY3Rpb25Db3B5KFxuICB0OiAoa2V5OiBzdHJpbmcpID0+IHN0cmluZyxcbiAgYWN0aW9uOiBQZW5kaW5nQWN0aW9uXG4pOiB7IHRpdGxlPzogc3RyaW5nOyBkZXNjcmlwdGlvbj86IHN0cmluZyB9IHtcbiAgY29uc3Qgbm9ybWFsaXplZFRvb2xOYW1lID0gbm9ybWFsaXplSGl0bFRvb2xOYW1lKGFjdGlvbi50b29sX25hbWUpXG4gIGNvbnN0IGRlbGl2ZXJhYmxlTW9kZSA9IGdldERlbGl2ZXJhYmxlTW9kZShhY3Rpb24udG9vbF9hcmdzKVxuXG4gIGlmIChub3JtYWxpemVkVG9vbE5hbWUgPT09ICdjcmVhdGVfcmV3b3JrJykge1xuICAgIHJldHVybiB7XG4gICAgICB0aXRsZTogdCgnYXBwcm92YWxCb3guc3BlY2lhbC5jcmVhdGVSZXdvcmsudGl0bGUnKSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0KCdhcHByb3ZhbEJveC5zcGVjaWFsLmNyZWF0ZVJld29yay5kZXNjcmlwdGlvbicpLFxuICAgIH1cbiAgfVxuXG4gIGlmIChub3JtYWxpemVkVG9vbE5hbWUgPT09ICd1cGRhdGVfZGVsaXZlcmFibGUnICYmIFsnY2hpbGRyZW4nLCAnY2hlY2tib3gnXS5pbmNsdWRlcyhkZWxpdmVyYWJsZU1vZGUpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiB0KCdhcHByb3ZhbEJveC5zcGVjaWFsLnVwZGF0ZURlbGl2ZXJhYmxlQ2hpbGRyZW4udGl0bGUnKSxcbiAgICAgIGRlc2NyaXB0aW9uOiB0KCdhcHByb3ZhbEJveC5zcGVjaWFsLnVwZGF0ZURlbGl2ZXJhYmxlQ2hpbGRyZW4uZGVzY3JpcHRpb24nKSxcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge31cbn1cblxuZXhwb3J0IHR5cGUgQXBwcm92YWxNZXRhZGF0YSA9IHtcbiAgdG9vbF9ncm91cF9zbHVnczogc3RyaW5nW11cbn1cblxuaW50ZXJmYWNlIEFwcHJvdmFsQm94UHJvcHMge1xuICBhY3Rpb25zOiBQZW5kaW5nQWN0aW9uW11cbiAgb25BcHByb3ZlOiAodGhyZWFkSWRzOiBzdHJpbmdbXSwgbWV0YWRhdGE/OiBBcHByb3ZhbE1ldGFkYXRhKSA9PiB2b2lkXG4gIG9uUmVqZWN0OiAodGhyZWFkSWRzOiBzdHJpbmdbXSkgPT4gdm9pZFxuICBzdGF0dXM/OiAncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJ1xuICBpc0xvYWRpbmc/OiBib29sZWFuXG4gIC8qKiBTaSBlbCBjaGF0L3Byb3llY3RvIGVzdMOhIGVsaW1pbmFkbywgc2Ugb2N1bHRhbiBsb3MgYm90b25lcyBkZSBhcHJvYmFyL3JlY2hhemFyICovXG4gIGlzUHJvamVjdERlbGV0ZWQ/OiBib29sZWFuXG4gIC8qKiBTaSBlbCBjaGF0IGVzdMOhIGV4cGFuZGlkbyAodHJ1ZSkgbyBjb2xhcHNhZG8gKGZhbHNlKS4gQWZlY3RhIGVsIGFuY2hvIGRlbCBjb250ZW5lZG9yLiAqL1xuICBpc0V4cGFuZGVkPzogYm9vbGVhblxuICAvKiogSWQgZXN0YWJsZSBwb3IgbG90ZSBISVRMIChwLiBlai4gb3JpZ2luYWxfdGhyZWFkX2lkKSBwYXJhIGVsIGV2ZW50byBkZSBpbXByZXNpw7NuICovXG4gIGhpdGxJbnN0YW5jZUlkPzogc3RyaW5nXG4gIHdhcm5pbmdNZXNzYWdlPzogc3RyaW5nXG4gIG1hbnVhbEFwcHJvdmFsRGV0ZWN0ZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBBcHByb3ZhbEJveCA9ICh7XG4gIGFjdGlvbnMsXG4gIG9uQXBwcm92ZSxcbiAgb25SZWplY3QsXG4gIHN0YXR1cyA9ICdwZW5kaW5nJyxcbiAgaXNMb2FkaW5nID0gZmFsc2UsXG4gIGlzUHJvamVjdERlbGV0ZWQgPSBmYWxzZSxcbiAgaXNFeHBhbmRlZCA9IGZhbHNlLFxuICBoaXRsSW5zdGFuY2VJZCxcbiAgd2FybmluZ01lc3NhZ2UsXG4gIG1hbnVhbEFwcHJvdmFsRGV0ZWN0ZWQgPSBmYWxzZSxcbn06IEFwcHJvdmFsQm94UHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuY2hhdEFJLCBTRUNUSU9OUy5hYm1BZ2VudF0pXG4gIGNvbnN0IFtsb2NhbFN0YXR1cywgc2V0TG9jYWxTdGF0dXNdID0gdXNlU3RhdGU8J3BlbmRpbmcnIHwgJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCc+KHN0YXR1cylcbiAgY29uc3QgW2NvckFjY2Vzcywgc2V0Q29yQWNjZXNzXSA9IHVzZVN0YXRlPENvckFjY2Vzcz4oREVGQVVMVF9DT1JfQUNDRVNTKVxuICBjb25zdCBpc0NyZWF0ZUFnZW50QmF0Y2ggPSB1c2VNZW1vKCgpID0+IGhpdGxCYXRjaEluY2x1ZGVzQ3JlYXRlQWdlbnQoYWN0aW9ucyksIFthY3Rpb25zXSlcbiAgY29uc3QgeyBhZ2VudCB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuICBjb25zdCBsYXN0SGl0bEltcHJlc3Npb25LZXlSZWYgPSB1c2VSZWY8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgdXNlckluaXRpYXRlZEhpdGxEZWNpc2lvblJlZiA9IHVzZVJlZihmYWxzZSlcbiAgY29uc3QgYXV0b1Jlc29sdXRpb25UcmFja2VkS2V5UmVmID0gdXNlUmVmPHN0cmluZyB8IG51bGw+KG51bGwpXG5cbiAgY29uc3QgaGl0bEJhdGNoS2V5ID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgaGl0bEluc3RhbmNlSWQgPz9cbiAgICAgIGFjdGlvbnNcbiAgICAgICAgLm1hcChhID0+IGAke2EudGhyZWFkX2lkfToke2EudG9vbF9jYWxsX2lkfWApXG4gICAgICAgIC5zb3J0KClcbiAgICAgICAgLmpvaW4oJ3wnKSxcbiAgICBbaGl0bEluc3RhbmNlSWQsIGFjdGlvbnNdXG4gIClcblxuICAvLyBTaW5jcm9uaXphciBsb2NhbFN0YXR1cyBjb24gZWwgcHJvcCBzdGF0dXMgY3VhbmRvIGNhbWJpYSBkZXNkZSBlbCBwYWRyZSAoc29sbyBwb3IgdmFsdWUsIGV2aXRhIGJ1Y2xlcylcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRMb2NhbFN0YXR1cyhwcmV2ID0+IChwcmV2ICE9PSBzdGF0dXMgPyBzdGF0dXMgOiBwcmV2KSlcbiAgfSwgW3N0YXR1c10pXG5cbiAgY29uc3QgaGl0bEFuYWx5dGljc0FnZW50VHlwZSA9IGdldEhpdGxBbmFseXRpY3NBZ2VudFR5cGUoYWdlbnQpXG5cbiAgLy8gQ0ExOiBjYXJkIGRlIGNvbmZpcm1hY2nDs24gSElUTCB2aXNpYmxlIChzb2xvIHBlbmRpZW50ZSwgbm8gaGlzdMOzcmljbyB5YSByZXN1ZWx0bylcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAobG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJyB8fCAhYWN0aW9ucy5sZW5ndGgpIHJldHVyblxuICAgIGNvbnN0IGltcHJlc3Npb25LZXkgPSBoaXRsQmF0Y2hLZXlcbiAgICBpZiAobGFzdEhpdGxJbXByZXNzaW9uS2V5UmVmLmN1cnJlbnQgPT09IGltcHJlc3Npb25LZXkpIHJldHVyblxuICAgIGxhc3RIaXRsSW1wcmVzc2lvbktleVJlZi5jdXJyZW50ID0gaW1wcmVzc2lvbktleVxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRIaXRsLCBidWlsZEhpdGxBbmFseXRpY3NQYXlsb2FkKGhpdGxBbmFseXRpY3NBZ2VudFR5cGUsIGFjdGlvbnMpKVxuICB9LCBbZXZlbnRBbXBsaXR1ZGUsIGhpdGxBbmFseXRpY3NBZ2VudFR5cGUsIGhpdGxCYXRjaEtleSwgbG9jYWxTdGF0dXMsIGFjdGlvbnMubGVuZ3RoXSlcblxuICBjb25zdCB0cmFja0hpdGxEZWNpc2lvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChkZWNpc2lvbjogJ2FjY2VwdCcgfCAnZGVueScsIHJlc29sdXRpb25Tb3VyY2U6ICd1c2VyJyB8ICdhdXRvJyA9ICd1c2VyJykgPT4ge1xuICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFpQ2hhdEhpdGxPcHRpb24sIHtcbiAgICAgICAgLi4uYnVpbGRIaXRsQW5hbHl0aWNzUGF5bG9hZChoaXRsQW5hbHl0aWNzQWdlbnRUeXBlLCBhY3Rpb25zKSxcbiAgICAgICAgZGVjaXNpb24sXG4gICAgICAgIHJlc29sdXRpb25fc291cmNlOiByZXNvbHV0aW9uU291cmNlLFxuICAgICAgfSlcbiAgICB9LFxuICAgIFthY3Rpb25zLCBoaXRsQW5hbHl0aWNzQWdlbnRUeXBlLCBldmVudEFtcGxpdHVkZV1cbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdXNlckluaXRpYXRlZEhpdGxEZWNpc2lvblJlZi5jdXJyZW50ID0gZmFsc2VcbiAgICBhdXRvUmVzb2x1dGlvblRyYWNrZWRLZXlSZWYuY3VycmVudCA9IG51bGxcbiAgICBzZXRDb3JBY2Nlc3MoREVGQVVMVF9DT1JfQUNDRVNTKVxuICB9LCBbaGl0bEJhdGNoS2V5XSlcblxuICAvKipcbiAgICogUmVzb2x1Y2nDs24gc2luIGNsaWMgKHAuIGVqLiBiYWNrZW5kIGVqZWN1dGEgbGEgaGVycmFtaWVudGEgc29sYSk6IGh1Ym8gaW1wcmVzacOzbiBISVRMXG4gICAqIHBhcmEgZXN0ZSBsb3RlIHkgZWwgcGFkcmUgcGFzw7MgYSBhcHByb3ZlZC9yZWplY3RlZCBzaW4gcXVlIGVsIHVzdWFyaW8gcHVsc2FyYSBhcHJvYmFyL2RlbmVnYXIuXG4gICAqL1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzdGF0dXMgPT09ICdwZW5kaW5nJyB8fCAhYWN0aW9ucy5sZW5ndGgpIHJldHVyblxuICAgIGlmIChsYXN0SGl0bEltcHJlc3Npb25LZXlSZWYuY3VycmVudCAhPT0gaGl0bEJhdGNoS2V5KSByZXR1cm5cbiAgICBpZiAodXNlckluaXRpYXRlZEhpdGxEZWNpc2lvblJlZi5jdXJyZW50KSByZXR1cm5cbiAgICBpZiAoYXV0b1Jlc29sdXRpb25UcmFja2VkS2V5UmVmLmN1cnJlbnQgPT09IGhpdGxCYXRjaEtleSkgcmV0dXJuXG4gICAgYXV0b1Jlc29sdXRpb25UcmFja2VkS2V5UmVmLmN1cnJlbnQgPSBoaXRsQmF0Y2hLZXlcbiAgICBjb25zdCBpc0FjY2VwdCA9IHN0YXR1cyA9PT0gJ2FwcHJvdmVkJ1xuICAgIGlmIChpc0FjY2VwdCAmJiBoaXRsQmF0Y2hJbmNsdWRlc0NyZWF0ZUFnZW50KGFjdGlvbnMpKSByZXR1cm5cbiAgICB0cmFja0hpdGxEZWNpc2lvbihpc0FjY2VwdCA/ICdhY2NlcHQnIDogJ2RlbnknLCAnYXV0bycpXG4gIH0sIFthY3Rpb25zLCBoaXRsQmF0Y2hLZXksIHN0YXR1cywgdHJhY2tIaXRsRGVjaXNpb25dKVxuXG4gIGNvbnN0IGhhbmRsZUFwcHJvdmUgPSAoKSA9PiB7XG4gICAgaWYgKGlzTG9hZGluZyB8fCBsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnKSByZXR1cm5cbiAgICB1c2VySW5pdGlhdGVkSGl0bERlY2lzaW9uUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgaWYgKCFoaXRsQmF0Y2hJbmNsdWRlc0NyZWF0ZUFnZW50KGFjdGlvbnMpKSB7XG4gICAgICB0cmFja0hpdGxEZWNpc2lvbignYWNjZXB0JywgJ3VzZXInKVxuICAgIH1cbiAgICBzZXRMb2NhbFN0YXR1cygnYXBwcm92ZWQnKVxuICAgIGNvbnN0IG1ldGFkYXRhID0gaXNDcmVhdGVBZ2VudEJhdGNoID8geyB0b29sX2dyb3VwX3NsdWdzOiBidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QoY29yQWNjZXNzKSB9IDogdW5kZWZpbmVkXG4gICAgb25BcHByb3ZlKFxuICAgICAgYWN0aW9ucy5tYXAoYSA9PiBhLnRocmVhZF9pZCksXG4gICAgICBtZXRhZGF0YVxuICAgIClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVJlamVjdCA9ICgpID0+IHtcbiAgICBpZiAoaXNMb2FkaW5nIHx8IGxvY2FsU3RhdHVzICE9PSAncGVuZGluZycpIHJldHVyblxuICAgIHVzZXJJbml0aWF0ZWRIaXRsRGVjaXNpb25SZWYuY3VycmVudCA9IHRydWVcbiAgICB0cmFja0hpdGxEZWNpc2lvbignZGVueScsICd1c2VyJylcbiAgICBzZXRMb2NhbFN0YXR1cygncmVqZWN0ZWQnKVxuICAgIG9uUmVqZWN0KGFjdGlvbnMubWFwKGEgPT4gYS50aHJlYWRfaWQpKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NBcHByb3ZhbEJveD5cbiAgICAgIDxTQ0FCSGVhZGVyPlxuICAgICAgICA8U0NBQlRpdGxlPnt0KCdhcHByb3ZhbEJveC50aXRsZScpfTwvU0NBQlRpdGxlPlxuICAgICAgPC9TQ0FCSGVhZGVyPlxuXG4gICAgICA8U0NBQkRlc2NyaXB0aW9uPnt0KCdhcHByb3ZhbEJveC5kZXNjcmlwdGlvbicpfTwvU0NBQkRlc2NyaXB0aW9uPlxuXG4gICAgICA8U0NBQkFjdGlvbnNMaXN0ICRleHBhbmRlZD17aXNFeHBhbmRlZH0+XG4gICAgICAgIHthY3Rpb25zLm1hcChhY3Rpb24gPT4ge1xuICAgICAgICAgIGNvbnN0IHNwZWNpYWxDb3B5ID0gZ2V0U3BlY2lhbEFjdGlvbkNvcHkodCwgYWN0aW9uKVxuICAgICAgICAgIGNvbnN0IGxhYmVsID0gc3BlY2lhbENvcHkudGl0bGUgfHwgZ2V0QWN0aW9uTGFiZWwodCwgYWN0aW9uLnRvb2xfbmFtZSwgKGFjdGlvbiBhcyBhbnkpLmRpc3BsYXlfbmFtZSlcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFNDQUJBY3Rpb25JdGVtIGtleT17YWN0aW9uLnRocmVhZF9pZH0+XG4gICAgICAgICAgICAgIDxTQ0FCQWN0aW9uTmFtZT57bGFiZWx9PC9TQ0FCQWN0aW9uTmFtZT5cbiAgICAgICAgICAgICAge3NwZWNpYWxDb3B5LmRlc2NyaXB0aW9uID8gKFxuICAgICAgICAgICAgICAgIDxTQ0FCQWN0aW9uRGVzY3JpcHRpb24+e3NwZWNpYWxDb3B5LmRlc2NyaXB0aW9ufTwvU0NBQkFjdGlvbkRlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICAgIDwvU0NBQkFjdGlvbkl0ZW0+XG4gICAgICAgICAgKVxuICAgICAgICB9KX1cbiAgICAgIDwvU0NBQkFjdGlvbnNMaXN0PlxuXG4gICAgICB7aXNDcmVhdGVBZ2VudEJhdGNoICYmIGxvY2FsU3RhdHVzID09PSAncGVuZGluZycgJiYgIWlzUHJvamVjdERlbGV0ZWQgJiYgKFxuICAgICAgICA8U0NBQkNvbm5lY3RvcnM+XG4gICAgICAgICAgPFNDQUJDb25uZWN0b3JzVGl0bGU+XG4gICAgICAgICAgICB7dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24uY29yUGVybWlzc2lvbnNUaXRsZScsIHsgbnM6IFNFQ1RJT05TLmFibUFnZW50IH0pfVxuICAgICAgICAgIDwvU0NBQkNvbm5lY3RvcnNUaXRsZT5cbiAgICAgICAgICA8U0NBQkNvbm5lY3RvcnNTdWJ0aXRsZT5cbiAgICAgICAgICAgIHt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5jb3JQZXJtaXNzaW9uc1N1YnRpdGxlJywgeyBuczogU0VDVElPTlMuYWJtQWdlbnQgfSl9XG4gICAgICAgICAgPC9TQ0FCQ29ubmVjdG9yc1N1YnRpdGxlPlxuICAgICAgICAgIHtDUkVBVEVfQUdFTlRfQ09OTkVDVE9SX1JPV1MubWFwKCh7IHNsdWcsIHRpdGxlS2V5LCBkZXNjcmlwdGlvbktleSB9KSA9PiAoXG4gICAgICAgICAgICA8T3B0aW9uQ29yUGVybWlzc2lvblxuICAgICAgICAgICAgICBrZXk9e3NsdWd9XG4gICAgICAgICAgICAgIHRpdGxlPXt0KGBhY2Nlc3NpYmlsaXR5U2VjdGlvbi4ke3RpdGxlS2V5fWAsIHsgbnM6IFNFQ1RJT05TLmFibUFnZW50IH0pfVxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbj17dChgYWNjZXNzaWJpbGl0eVNlY3Rpb24uJHtkZXNjcmlwdGlvbktleX1gLCB7IG5zOiBTRUNUSU9OUy5hYm1BZ2VudCB9KX1cbiAgICAgICAgICAgICAgY2hlY2tlZD17Y29yQWNjZXNzW3NsdWddfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17Y2hlY2tlZCA9PiB7XG4gICAgICAgICAgICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmNvbm5lY3RvckNvciwgeyBvcHRpb246IGNoZWNrZWQgPyAnb24nIDogJ29mZicsIHNsdWcgfSlcbiAgICAgICAgICAgICAgICBzZXRDb3JBY2Nlc3MocHJldiA9PiAoeyAuLi5wcmV2LCBbc2x1Z106IGNoZWNrZWQgfSkpXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGRpc2FibGVkPXtpc0xvYWRpbmd9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L1NDQUJDb25uZWN0b3JzPlxuICAgICAgKX1cblxuICAgICAge2xvY2FsU3RhdHVzID09PSAncGVuZGluZycgJiYgIWlzUHJvamVjdERlbGV0ZWQgJiYgKFxuICAgICAgICA8U0NBQkJ1dHRvbnNDb250YWluZXI+XG4gICAgICAgICAgPFNDQUJCdXR0b24gJHZhcmlhbnQ9XCJyZWplY3RcIiBvbkNsaWNrPXtoYW5kbGVSZWplY3R9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5kZW55Jyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICAgIDxTQ0FCQnV0dG9uICR2YXJpYW50PVwiYXBwcm92ZVwiIG9uQ2xpY2s9e2hhbmRsZUFwcHJvdmV9ICRkaXNhYmxlZD17aXNMb2FkaW5nfT5cbiAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5hcHByb3ZlJyl9XG4gICAgICAgICAgPC9TQ0FCQnV0dG9uPlxuICAgICAgICA8L1NDQUJCdXR0b25zQ29udGFpbmVyPlxuICAgICAgKX1cbiAgICAgIHtsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnICYmIChcbiAgICAgICAgPFNDQUJTdGF0dXNCYWRnZSAkc3RhdHVzPXtsb2NhbFN0YXR1c30+XG4gICAgICAgICAge2xvY2FsU3RhdHVzID09PSAnYXBwcm92ZWQnID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPENoZWNrQ2lyY2xlIHdpZHRoPXsyMn0gaGVpZ2h0PXsyMn0gY29sb3I9XCIjMDA4NDAwXCIgLz5cbiAgICAgICAgICAgICAge3QoJ2FwcHJvdmFsQm94LnN0YXR1cy5hcHByb3ZlZCcpfVxuICAgICAgICAgICAgICB7bWFudWFsQXBwcm92YWxEZXRlY3RlZCAmJiAoXG4gICAgICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3dhcm5pbmdNZXNzYWdlIHx8IHQoJ2FwcHJvdmFsQm94Lm1hbnVhbEFwcHJvdmFsV2FybmluZycpfSBwbGFjZW1lbnQ9XCJyaWdodFwiPlxuICAgICAgICAgICAgICAgICAgPFNDQUJTdGF0dXNXYXJuaW5nSWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPEFsZXJ0IGNvbG9yPVwiI0VBQTExQVwiIHdpZHRoPVwiMTNweFwiIGhlaWdodD1cIjEzcHhcIiAvPlxuICAgICAgICAgICAgICAgICAgPC9TQ0FCU3RhdHVzV2FybmluZ0ljb24+XG4gICAgICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxDcm9zc0NpcmNsZSB3aWR0aD17MjJ9IGhlaWdodD17MjJ9IGNvbG9yPVwiI0M3MDUwNVwiIC8+XG4gICAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5zdGF0dXMuZGVuaWVkJyl9XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDQUJTdGF0dXNCYWRnZT5cbiAgICAgICl9XG4gICAgPC9TQ0FwcHJvdmFsQm94PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBLFNBQVNBLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxRQUFRLE9BQU87QUFDekUsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLFdBQVcsUUFBUSw4Q0FBOEM7QUFDMUUsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUU5QyxTQUNFQyxhQUFhLEVBQ2JDLFVBQVUsRUFDVkMsU0FBUyxFQUNUQyxlQUFlLEVBQ2ZDLGVBQWUsRUFDZkMsY0FBYyxFQUNk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
|
|
234
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIkFsZXJ0IiwiQ2hlY2tDaXJjbGUiLCJDcm9zc0NpcmNsZSIsIlRvb2x0aXAiLCJ1c2VUcmFuc2xhdGlvbiIsIlNDQXBwcm92YWxCb3giLCJTQ0FCSGVhZGVyIiwiU0NBQlRpdGxlIiwiU0NBQkRlc2NyaXB0aW9uIiwiU0NBQkFjdGlvbnNMaXN0IiwiU0NBQkFjdGlvbkl0ZW0iLCJTQ0FCQWN0aW9uTmFtZSIsIlNDQUJBY3Rpb25EZXNjcmlwdGlvbiIsIlNDQUJCdXR0b25zQ29udGFpbmVyIiwiU0NBQkJ1dHRvbiIsIlNDQUJTdGF0dXNCYWRnZSIsIlNDQUJTdGF0dXNXYXJuaW5nSWNvbiIsIlNDQUJDb25uZWN0b3JzIiwiU0NBQkNvbm5lY3RvcnNUaXRsZSIsIlNDQUJDb25uZWN0b3JzU3VidGl0bGUiLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJFVkVOVFMiLCJ1c2VFdmVudCIsIk9wdGlvbkNvclBlcm1pc3Npb24iLCJidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QiLCJERUZBVUxUX0NPUl9BQ0NFU1MiLCJidWlsZEhpdGxBbmFseXRpY3NQYXlsb2FkIiwiZ2V0SGl0bEFuYWx5dGljc0FnZW50VHlwZSIsImhpdGxCYXRjaEluY2x1ZGVzQ3JlYXRlQWdlbnQiLCJnZXRBY3Rpb25MYWJlbCIsImdldFNwZWNpYWxBY3Rpb25Db3B5IiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiQ1JFQVRFX0FHRU5UX0NPTk5FQ1RPUl9ST1dTIiwic2x1ZyIsInRpdGxlS2V5IiwiZGVzY3JpcHRpb25LZXkiLCJBcHByb3ZhbEJveCIsIl9yZWYiLCJhY3Rpb25zIiwib25BcHByb3ZlIiwib25SZWplY3QiLCJfcmVmJHN0YXR1cyIsInN0YXR1cyIsIl9yZWYkaXNMb2FkaW5nIiwiaXNMb2FkaW5nIiwiX3JlZiRpc1Byb2plY3REZWxldGVkIiwiaXNQcm9qZWN0RGVsZXRlZCIsIl9yZWYkaXNFeHBhbmRlZCIsImlzRXhwYW5kZWQiLCJoaXRsSW5zdGFuY2VJZCIsIndhcm5pbmdNZXNzYWdlIiwiX3JlZiRtYW51YWxBcHByb3ZhbERlIiwibWFudWFsQXBwcm92YWxEZXRlY3RlZCIsIl91c2VUcmFuc2xhdGlvbiIsImNoYXRBSSIsImFibUFnZW50IiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImxvY2FsU3RhdHVzIiwic2V0TG9jYWxTdGF0dXMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImNvckFjY2VzcyIsInNldENvckFjY2VzcyIsImlzQ3JlYXRlQWdlbnRCYXRjaCIsIl91c2VHbG9iYWxDb250ZXh0IiwiYWdlbnQiLCJldmVudEFtcGxpdHVkZSIsImxhc3RIaXRsSW1wcmVzc2lvbktleVJlZiIsInVzZXJJbml0aWF0ZWRIaXRsRGVjaXNpb25SZWYiLCJhdXRvUmVzb2x1dGlvblRyYWNrZWRLZXlSZWYiLCJoaXRsQmF0Y2hLZXkiLCJtYXAiLCJhIiwiY29uY2F0IiwidGhyZWFkX2lkIiwidG9vbF9jYWxsX2lkIiwic29ydCIsImpvaW4iLCJwcmV2IiwiaGl0bEFuYWx5dGljc0FnZW50VHlwZSIsImxlbmd0aCIsImltcHJlc3Npb25LZXkiLCJjdXJyZW50IiwiYWlDaGF0SGl0bCIsInRyYWNrSGl0bERlY2lzaW9uIiwiZGVjaXNpb24iLCJyZXNvbHV0aW9uU291cmNlIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiYWlDaGF0SGl0bE9wdGlvbiIsIl9vYmplY3RTcHJlYWQiLCJyZXNvbHV0aW9uX3NvdXJjZSIsImlzQWNjZXB0IiwiaGFuZGxlQXBwcm92ZSIsIm1ldGFkYXRhIiwidG9vbF9ncm91cF9zbHVncyIsImhhbmRsZVJlamVjdCIsImNoaWxkcmVuIiwiJGV4cGFuZGVkIiwiYWN0aW9uIiwic3BlY2lhbENvcHkiLCJsYWJlbCIsInRpdGxlIiwidG9vbF9uYW1lIiwiZGlzcGxheV9uYW1lIiwiZGVzY3JpcHRpb24iLCJucyIsIl9yZWYyIiwiY2hlY2tlZCIsIm9uQ2hhbmdlIiwiY29ubmVjdG9yQ29yIiwib3B0aW9uIiwiX2RlZmluZVByb3BlcnR5IiwiZGlzYWJsZWQiLCIkdmFyaWFudCIsIm9uQ2xpY2siLCIkZGlzYWJsZWQiLCIkc3RhdHVzIiwid2lkdGgiLCJoZWlnaHQiLCJjb2xvciIsInBsYWNlbWVudCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL0FwcHJvdmFsQm94L0FwcHJvdmFsQm94LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBBbGVydCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0FsZXJ0J1xuaW1wb3J0IHsgQ2hlY2tDaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGVja0NpcmNsZSdcbmltcG9ydCB7IENyb3NzQ2lyY2xlIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3NDaXJjbGUnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBQZW5kaW5nQWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7XG4gIFNDQXBwcm92YWxCb3gsXG4gIFNDQUJIZWFkZXIsXG4gIFNDQUJUaXRsZSxcbiAgU0NBQkRlc2NyaXB0aW9uLFxuICBTQ0FCQWN0aW9uc0xpc3QsXG4gIFNDQUJBY3Rpb25JdGVtLFxuICBTQ0FCQWN0aW9uTmFtZSxcbiAgU0NBQkFjdGlvbkRlc2NyaXB0aW9uLFxuICBTQ0FCQnV0dG9uc0NvbnRhaW5lcixcbiAgU0NBQkJ1dHRvbixcbiAgU0NBQlN0YXR1c0JhZGdlLFxuICBTQ0FCU3RhdHVzV2FybmluZ0ljb24sXG4gIFNDQUJDb25uZWN0b3JzLFxuICBTQ0FCQ29ubmVjdG9yc1RpdGxlLFxuICBTQ0FCQ29ubmVjdG9yc1N1YnRpdGxlLFxufSBmcm9tICcuL0FwcHJvdmFsQm94LnN0eWxlcydcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgT3B0aW9uQ29yUGVybWlzc2lvbiB9IGZyb20gJy4uL09wdGlvbkNvclBlcm1pc3Npb24nXG5pbXBvcnQge1xuICBidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QsXG4gIENvckFjY2VzcyxcbiAgQ29yVG9vbEdyb3VwU2x1ZyxcbiAgREVGQVVMVF9DT1JfQUNDRVNTLFxufSBmcm9tICcuLi8uLi8uLi91dGlscy9ub3JtYWxpemVBZ2VudENvbm5lY3RvcnMnXG5pbXBvcnQge1xuICBidWlsZEhpdGxBbmFseXRpY3NQYXlsb2FkLFxuICBnZXRIaXRsQW5hbHl0aWNzQWdlbnRUeXBlLFxuICBoaXRsQmF0Y2hJbmNsdWRlc0NyZWF0ZUFnZW50LFxufSBmcm9tICcuLi8uLi8uLi91dGlscy9oaXRsQW5hbHl0aWNzJ1xuaW1wb3J0IHsgZ2V0QWN0aW9uTGFiZWwsIGdldFNwZWNpYWxBY3Rpb25Db3B5IH0gZnJvbSAnLi9BcHByb3ZhbEJveC5oZWxwZXJzJ1xuXG5jb25zdCBDUkVBVEVfQUdFTlRfQ09OTkVDVE9SX1JPV1M6IHsgc2x1ZzogQ29yVG9vbEdyb3VwU2x1ZzsgdGl0bGVLZXk6IHN0cmluZzsgZGVzY3JpcHRpb25LZXk6IHN0cmluZyB9W10gPSBbXG4gIHsgc2x1ZzogJ2NsaWVudGVzJywgdGl0bGVLZXk6ICdjbGllbnRBY2Nlc3NUaXRsZScsIGRlc2NyaXB0aW9uS2V5OiAnY2xpZW50QWNjZXNzRGVzY3JpcHRpb24nIH0sXG4gIHsgc2x1ZzogJ3Byb3llY3RvcycsIHRpdGxlS2V5OiAncHJvamVjdEFjY2Vzc1RpdGxlJywgZGVzY3JpcHRpb25LZXk6ICdwcm9qZWN0QWNjZXNzRGVzY3JpcHRpb24nIH0sXG4gIHsgc2x1ZzogJ3RhcmVhcycsIHRpdGxlS2V5OiAndGFza0FjY2Vzc1RpdGxlJywgZGVzY3JpcHRpb25LZXk6ICd0YXNrQWNjZXNzRGVzY3JpcHRpb24nIH0sXG5dXG5cbmV4cG9ydCB0eXBlIEFwcHJvdmFsTWV0YWRhdGEgPSB7XG4gIHRvb2xfZ3JvdXBfc2x1Z3M6IHN0cmluZ1tdXG59XG5cbmludGVyZmFjZSBBcHByb3ZhbEJveFByb3BzIHtcbiAgYWN0aW9uczogUGVuZGluZ0FjdGlvbltdXG4gIG9uQXBwcm92ZTogKHRocmVhZElkczogc3RyaW5nW10sIG1ldGFkYXRhPzogQXBwcm92YWxNZXRhZGF0YSkgPT4gdm9pZFxuICBvblJlamVjdDogKHRocmVhZElkczogc3RyaW5nW10pID0+IHZvaWRcbiAgc3RhdHVzPzogJ3BlbmRpbmcnIHwgJ2FwcHJvdmVkJyB8ICdyZWplY3RlZCdcbiAgaXNMb2FkaW5nPzogYm9vbGVhblxuICAvKiogU2kgZWwgY2hhdC9wcm95ZWN0byBlc3TDoSBlbGltaW5hZG8sIHNlIG9jdWx0YW4gbG9zIGJvdG9uZXMgZGUgYXByb2Jhci9yZWNoYXphciAqL1xuICBpc1Byb2plY3REZWxldGVkPzogYm9vbGVhblxuICAvKiogU2kgZWwgY2hhdCBlc3TDoSBleHBhbmRpZG8gKHRydWUpIG8gY29sYXBzYWRvIChmYWxzZSkuIEFmZWN0YSBlbCBhbmNobyBkZWwgY29udGVuZWRvci4gKi9cbiAgaXNFeHBhbmRlZD86IGJvb2xlYW5cbiAgLyoqIElkIGVzdGFibGUgcG9yIGxvdGUgSElUTCAocC4gZWouIG9yaWdpbmFsX3RocmVhZF9pZCkgcGFyYSBlbCBldmVudG8gZGUgaW1wcmVzacOzbiAqL1xuICBoaXRsSW5zdGFuY2VJZD86IHN0cmluZ1xuICB3YXJuaW5nTWVzc2FnZT86IHN0cmluZ1xuICBtYW51YWxBcHByb3ZhbERldGVjdGVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgQXBwcm92YWxCb3ggPSAoe1xuICBhY3Rpb25zLFxuICBvbkFwcHJvdmUsXG4gIG9uUmVqZWN0LFxuICBzdGF0dXMgPSAncGVuZGluZycsXG4gIGlzTG9hZGluZyA9IGZhbHNlLFxuICBpc1Byb2plY3REZWxldGVkID0gZmFsc2UsXG4gIGlzRXhwYW5kZWQgPSBmYWxzZSxcbiAgaGl0bEluc3RhbmNlSWQsXG4gIHdhcm5pbmdNZXNzYWdlLFxuICBtYW51YWxBcHByb3ZhbERldGVjdGVkID0gZmFsc2UsXG59OiBBcHByb3ZhbEJveFByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmNoYXRBSSwgU0VDVElPTlMuYWJtQWdlbnRdKVxuICBjb25zdCBbbG9jYWxTdGF0dXMsIHNldExvY2FsU3RhdHVzXSA9IHVzZVN0YXRlPCdwZW5kaW5nJyB8ICdhcHByb3ZlZCcgfCAncmVqZWN0ZWQnPihzdGF0dXMpXG4gIGNvbnN0IFtjb3JBY2Nlc3MsIHNldENvckFjY2Vzc10gPSB1c2VTdGF0ZTxDb3JBY2Nlc3M+KERFRkFVTFRfQ09SX0FDQ0VTUylcbiAgY29uc3QgaXNDcmVhdGVBZ2VudEJhdGNoID0gdXNlTWVtbygoKSA9PiBoaXRsQmF0Y2hJbmNsdWRlc0NyZWF0ZUFnZW50KGFjdGlvbnMpLCBbYWN0aW9uc10pXG4gIGNvbnN0IHsgYWdlbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCBldmVudEFtcGxpdHVkZSA9IHVzZUV2ZW50KClcbiAgY29uc3QgbGFzdEhpdGxJbXByZXNzaW9uS2V5UmVmID0gdXNlUmVmPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IHVzZXJJbml0aWF0ZWRIaXRsRGVjaXNpb25SZWYgPSB1c2VSZWYoZmFsc2UpXG4gIGNvbnN0IGF1dG9SZXNvbHV0aW9uVHJhY2tlZEtleVJlZiA9IHVzZVJlZjxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IGhpdGxCYXRjaEtleSA9IHVzZU1lbW8oXG4gICAgKCkgPT5cbiAgICAgIGhpdGxJbnN0YW5jZUlkID8/XG4gICAgICBhY3Rpb25zXG4gICAgICAgIC5tYXAoYSA9PiBgJHthLnRocmVhZF9pZH06JHthLnRvb2xfY2FsbF9pZH1gKVxuICAgICAgICAuc29ydCgpXG4gICAgICAgIC5qb2luKCd8JyksXG4gICAgW2hpdGxJbnN0YW5jZUlkLCBhY3Rpb25zXVxuICApXG5cbiAgLy8gU2luY3Jvbml6YXIgbG9jYWxTdGF0dXMgY29uIGVsIHByb3Agc3RhdHVzIGN1YW5kbyBjYW1iaWEgZGVzZGUgZWwgcGFkcmUgKHNvbG8gcG9yIHZhbHVlLCBldml0YSBidWNsZXMpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0TG9jYWxTdGF0dXMocHJldiA9PiAocHJldiAhPT0gc3RhdHVzID8gc3RhdHVzIDogcHJldikpXG4gIH0sIFtzdGF0dXNdKVxuXG4gIGNvbnN0IGhpdGxBbmFseXRpY3NBZ2VudFR5cGUgPSBnZXRIaXRsQW5hbHl0aWNzQWdlbnRUeXBlKGFnZW50KVxuXG4gIC8vIENBMTogY2FyZCBkZSBjb25maXJtYWNpw7NuIEhJVEwgdmlzaWJsZSAoc29sbyBwZW5kaWVudGUsIG5vIGhpc3TDs3JpY28geWEgcmVzdWVsdG8pXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGxvY2FsU3RhdHVzICE9PSAncGVuZGluZycgfHwgIWFjdGlvbnMubGVuZ3RoKSByZXR1cm5cbiAgICBjb25zdCBpbXByZXNzaW9uS2V5ID0gaGl0bEJhdGNoS2V5XG4gICAgaWYgKGxhc3RIaXRsSW1wcmVzc2lvbktleVJlZi5jdXJyZW50ID09PSBpbXByZXNzaW9uS2V5KSByZXR1cm5cbiAgICBsYXN0SGl0bEltcHJlc3Npb25LZXlSZWYuY3VycmVudCA9IGltcHJlc3Npb25LZXlcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuYWlDaGF0SGl0bCwgYnVpbGRIaXRsQW5hbHl0aWNzUGF5bG9hZChoaXRsQW5hbHl0aWNzQWdlbnRUeXBlLCBhY3Rpb25zKSlcbiAgfSwgW2V2ZW50QW1wbGl0dWRlLCBoaXRsQW5hbHl0aWNzQWdlbnRUeXBlLCBoaXRsQmF0Y2hLZXksIGxvY2FsU3RhdHVzLCBhY3Rpb25zLmxlbmd0aF0pXG5cbiAgY29uc3QgdHJhY2tIaXRsRGVjaXNpb24gPSB1c2VDYWxsYmFjayhcbiAgICAoZGVjaXNpb246ICdhY2NlcHQnIHwgJ2RlbnknLCByZXNvbHV0aW9uU291cmNlOiAndXNlcicgfCAnYXV0bycgPSAndXNlcicpID0+IHtcbiAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5haUNoYXRIaXRsT3B0aW9uLCB7XG4gICAgICAgIC4uLmJ1aWxkSGl0bEFuYWx5dGljc1BheWxvYWQoaGl0bEFuYWx5dGljc0FnZW50VHlwZSwgYWN0aW9ucyksXG4gICAgICAgIGRlY2lzaW9uLFxuICAgICAgICByZXNvbHV0aW9uX3NvdXJjZTogcmVzb2x1dGlvblNvdXJjZSxcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbYWN0aW9ucywgaGl0bEFuYWx5dGljc0FnZW50VHlwZSwgZXZlbnRBbXBsaXR1ZGVdXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHVzZXJJbml0aWF0ZWRIaXRsRGVjaXNpb25SZWYuY3VycmVudCA9IGZhbHNlXG4gICAgYXV0b1Jlc29sdXRpb25UcmFja2VkS2V5UmVmLmN1cnJlbnQgPSBudWxsXG4gICAgc2V0Q29yQWNjZXNzKERFRkFVTFRfQ09SX0FDQ0VTUylcbiAgfSwgW2hpdGxCYXRjaEtleV0pXG5cbiAgLyoqXG4gICAqIFJlc29sdWNpw7NuIHNpbiBjbGljIChwLiBlai4gYmFja2VuZCBlamVjdXRhIGxhIGhlcnJhbWllbnRhIHNvbGEpOiBodWJvIGltcHJlc2nDs24gSElUTFxuICAgKiBwYXJhIGVzdGUgbG90ZSB5IGVsIHBhZHJlIHBhc8OzIGEgYXBwcm92ZWQvcmVqZWN0ZWQgc2luIHF1ZSBlbCB1c3VhcmlvIHB1bHNhcmEgYXByb2Jhci9kZW5lZ2FyLlxuICAgKi9cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc3RhdHVzID09PSAncGVuZGluZycgfHwgIWFjdGlvbnMubGVuZ3RoKSByZXR1cm5cbiAgICBpZiAobGFzdEhpdGxJbXByZXNzaW9uS2V5UmVmLmN1cnJlbnQgIT09IGhpdGxCYXRjaEtleSkgcmV0dXJuXG4gICAgaWYgKHVzZXJJbml0aWF0ZWRIaXRsRGVjaXNpb25SZWYuY3VycmVudCkgcmV0dXJuXG4gICAgaWYgKGF1dG9SZXNvbHV0aW9uVHJhY2tlZEtleVJlZi5jdXJyZW50ID09PSBoaXRsQmF0Y2hLZXkpIHJldHVyblxuICAgIGF1dG9SZXNvbHV0aW9uVHJhY2tlZEtleVJlZi5jdXJyZW50ID0gaGl0bEJhdGNoS2V5XG4gICAgY29uc3QgaXNBY2NlcHQgPSBzdGF0dXMgPT09ICdhcHByb3ZlZCdcbiAgICBpZiAoaXNBY2NlcHQgJiYgaGl0bEJhdGNoSW5jbHVkZXNDcmVhdGVBZ2VudChhY3Rpb25zKSkgcmV0dXJuXG4gICAgdHJhY2tIaXRsRGVjaXNpb24oaXNBY2NlcHQgPyAnYWNjZXB0JyA6ICdkZW55JywgJ2F1dG8nKVxuICB9LCBbYWN0aW9ucywgaGl0bEJhdGNoS2V5LCBzdGF0dXMsIHRyYWNrSGl0bERlY2lzaW9uXSlcblxuICBjb25zdCBoYW5kbGVBcHByb3ZlID0gKCkgPT4ge1xuICAgIGlmIChpc0xvYWRpbmcgfHwgbG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJykgcmV0dXJuXG4gICAgdXNlckluaXRpYXRlZEhpdGxEZWNpc2lvblJlZi5jdXJyZW50ID0gdHJ1ZVxuICAgIGlmICghaGl0bEJhdGNoSW5jbHVkZXNDcmVhdGVBZ2VudChhY3Rpb25zKSkge1xuICAgICAgdHJhY2tIaXRsRGVjaXNpb24oJ2FjY2VwdCcsICd1c2VyJylcbiAgICB9XG4gICAgc2V0TG9jYWxTdGF0dXMoJ2FwcHJvdmVkJylcbiAgICBjb25zdCBtZXRhZGF0YSA9IGlzQ3JlYXRlQWdlbnRCYXRjaCA/IHsgdG9vbF9ncm91cF9zbHVnczogYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0KGNvckFjY2VzcykgfSA6IHVuZGVmaW5lZFxuICAgIG9uQXBwcm92ZShcbiAgICAgIGFjdGlvbnMubWFwKGEgPT4gYS50aHJlYWRfaWQpLFxuICAgICAgbWV0YWRhdGFcbiAgICApXG4gIH1cblxuICBjb25zdCBoYW5kbGVSZWplY3QgPSAoKSA9PiB7XG4gICAgaWYgKGlzTG9hZGluZyB8fCBsb2NhbFN0YXR1cyAhPT0gJ3BlbmRpbmcnKSByZXR1cm5cbiAgICB1c2VySW5pdGlhdGVkSGl0bERlY2lzaW9uUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgdHJhY2tIaXRsRGVjaXNpb24oJ2RlbnknLCAndXNlcicpXG4gICAgc2V0TG9jYWxTdGF0dXMoJ3JlamVjdGVkJylcbiAgICBvblJlamVjdChhY3Rpb25zLm1hcChhID0+IGEudGhyZWFkX2lkKSlcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDQXBwcm92YWxCb3g+XG4gICAgICA8U0NBQkhlYWRlcj5cbiAgICAgICAgPFNDQUJUaXRsZT57dCgnYXBwcm92YWxCb3gudGl0bGUnKX08L1NDQUJUaXRsZT5cbiAgICAgIDwvU0NBQkhlYWRlcj5cblxuICAgICAgPFNDQUJEZXNjcmlwdGlvbj57dCgnYXBwcm92YWxCb3guZGVzY3JpcHRpb24nKX08L1NDQUJEZXNjcmlwdGlvbj5cblxuICAgICAgPFNDQUJBY3Rpb25zTGlzdCAkZXhwYW5kZWQ9e2lzRXhwYW5kZWR9PlxuICAgICAgICB7YWN0aW9ucy5tYXAoYWN0aW9uID0+IHtcbiAgICAgICAgICBjb25zdCBzcGVjaWFsQ29weSA9IGdldFNwZWNpYWxBY3Rpb25Db3B5KHQsIGFjdGlvbilcbiAgICAgICAgICBjb25zdCBsYWJlbCA9IHNwZWNpYWxDb3B5LnRpdGxlIHx8IGdldEFjdGlvbkxhYmVsKHQsIGFjdGlvbi50b29sX25hbWUsIChhY3Rpb24gYXMgYW55KS5kaXNwbGF5X25hbWUpXG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxTQ0FCQWN0aW9uSXRlbSBrZXk9e2FjdGlvbi50aHJlYWRfaWR9PlxuICAgICAgICAgICAgICA8U0NBQkFjdGlvbk5hbWU+e2xhYmVsfTwvU0NBQkFjdGlvbk5hbWU+XG4gICAgICAgICAgICAgIHtzcGVjaWFsQ29weS5kZXNjcmlwdGlvbiA/IChcbiAgICAgICAgICAgICAgICA8U0NBQkFjdGlvbkRlc2NyaXB0aW9uPntzcGVjaWFsQ29weS5kZXNjcmlwdGlvbn08L1NDQUJBY3Rpb25EZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L1NDQUJBY3Rpb25JdGVtPlxuICAgICAgICAgIClcbiAgICAgICAgfSl9XG4gICAgICA8L1NDQUJBY3Rpb25zTGlzdD5cblxuICAgICAge2lzQ3JlYXRlQWdlbnRCYXRjaCAmJiBsb2NhbFN0YXR1cyA9PT0gJ3BlbmRpbmcnICYmICFpc1Byb2plY3REZWxldGVkICYmIChcbiAgICAgICAgPFNDQUJDb25uZWN0b3JzPlxuICAgICAgICAgIDxTQ0FCQ29ubmVjdG9yc1RpdGxlPlxuICAgICAgICAgICAge3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNvclBlcm1pc3Npb25zVGl0bGUnLCB7IG5zOiBTRUNUSU9OUy5hYm1BZ2VudCB9KX1cbiAgICAgICAgICA8L1NDQUJDb25uZWN0b3JzVGl0bGU+XG4gICAgICAgICAgPFNDQUJDb25uZWN0b3JzU3VidGl0bGU+XG4gICAgICAgICAgICB7dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24uY29yUGVybWlzc2lvbnNTdWJ0aXRsZScsIHsgbnM6IFNFQ1RJT05TLmFibUFnZW50IH0pfVxuICAgICAgICAgIDwvU0NBQkNvbm5lY3RvcnNTdWJ0aXRsZT5cbiAgICAgICAgICB7Q1JFQVRFX0FHRU5UX0NPTk5FQ1RPUl9ST1dTLm1hcCgoeyBzbHVnLCB0aXRsZUtleSwgZGVzY3JpcHRpb25LZXkgfSkgPT4gKFxuICAgICAgICAgICAgPE9wdGlvbkNvclBlcm1pc3Npb25cbiAgICAgICAgICAgICAga2V5PXtzbHVnfVxuICAgICAgICAgICAgICB0aXRsZT17dChgYWNjZXNzaWJpbGl0eVNlY3Rpb24uJHt0aXRsZUtleX1gLCB7IG5zOiBTRUNUSU9OUy5hYm1BZ2VudCB9KX1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e3QoYGFjY2Vzc2liaWxpdHlTZWN0aW9uLiR7ZGVzY3JpcHRpb25LZXl9YCwgeyBuczogU0VDVElPTlMuYWJtQWdlbnQgfSl9XG4gICAgICAgICAgICAgIGNoZWNrZWQ9e2NvckFjY2Vzc1tzbHVnXX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e2NoZWNrZWQgPT4ge1xuICAgICAgICAgICAgICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5jb25uZWN0b3JDb3IsIHsgb3B0aW9uOiBjaGVja2VkID8gJ29uJyA6ICdvZmYnLCBzbHVnIH0pXG4gICAgICAgICAgICAgICAgc2V0Q29yQWNjZXNzKHByZXYgPT4gKHsgLi4ucHJldiwgW3NsdWddOiBjaGVja2VkIH0pKVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBkaXNhYmxlZD17aXNMb2FkaW5nfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9TQ0FCQ29ubmVjdG9ycz5cbiAgICAgICl9XG5cbiAgICAgIHtsb2NhbFN0YXR1cyA9PT0gJ3BlbmRpbmcnICYmICFpc1Byb2plY3REZWxldGVkICYmIChcbiAgICAgICAgPFNDQUJCdXR0b25zQ29udGFpbmVyPlxuICAgICAgICAgIDxTQ0FCQnV0dG9uICR2YXJpYW50PVwicmVqZWN0XCIgb25DbGljaz17aGFuZGxlUmVqZWN0fSAkZGlzYWJsZWQ9e2lzTG9hZGluZ30+XG4gICAgICAgICAgICB7dCgnYXBwcm92YWxCb3guZGVueScpfVxuICAgICAgICAgIDwvU0NBQkJ1dHRvbj5cbiAgICAgICAgICA8U0NBQkJ1dHRvbiAkdmFyaWFudD1cImFwcHJvdmVcIiBvbkNsaWNrPXtoYW5kbGVBcHByb3ZlfSAkZGlzYWJsZWQ9e2lzTG9hZGluZ30+XG4gICAgICAgICAgICB7dCgnYXBwcm92YWxCb3guYXBwcm92ZScpfVxuICAgICAgICAgIDwvU0NBQkJ1dHRvbj5cbiAgICAgICAgPC9TQ0FCQnV0dG9uc0NvbnRhaW5lcj5cbiAgICAgICl9XG4gICAgICB7bG9jYWxTdGF0dXMgIT09ICdwZW5kaW5nJyAmJiAoXG4gICAgICAgIDxTQ0FCU3RhdHVzQmFkZ2UgJHN0YXR1cz17bG9jYWxTdGF0dXN9PlxuICAgICAgICAgIHtsb2NhbFN0YXR1cyA9PT0gJ2FwcHJvdmVkJyA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxDaGVja0NpcmNsZSB3aWR0aD17MjJ9IGhlaWdodD17MjJ9IGNvbG9yPVwiIzAwODQwMFwiIC8+XG4gICAgICAgICAgICAgIHt0KCdhcHByb3ZhbEJveC5zdGF0dXMuYXBwcm92ZWQnKX1cbiAgICAgICAgICAgICAge21hbnVhbEFwcHJvdmFsRGV0ZWN0ZWQgJiYgKFxuICAgICAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt3YXJuaW5nTWVzc2FnZSB8fCB0KCdhcHByb3ZhbEJveC5tYW51YWxBcHByb3ZhbFdhcm5pbmcnKX0gcGxhY2VtZW50PVwicmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgIDxTQ0FCU3RhdHVzV2FybmluZ0ljb24+XG4gICAgICAgICAgICAgICAgICAgIDxBbGVydCBjb2xvcj1cIiNFQUExMUFcIiB3aWR0aD1cIjEzcHhcIiBoZWlnaHQ9XCIxM3B4XCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU0NBQlN0YXR1c1dhcm5pbmdJY29uPlxuICAgICAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8Q3Jvc3NDaXJjbGUgd2lkdGg9ezIyfSBoZWlnaHQ9ezIyfSBjb2xvcj1cIiNDNzA1MDVcIiAvPlxuICAgICAgICAgICAgICB7dCgnYXBwcm92YWxCb3guc3RhdHVzLmRlbmllZCcpfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0FCU3RhdHVzQmFkZ2U+XG4gICAgICApfVxuICAgIDwvU0NBcHByb3ZhbEJveD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQSxTQUFTQSxRQUFRLEVBQUVDLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sUUFBUSxPQUFPO0FBQ3pFLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFFOUMsU0FDRUMsYUFBYSxFQUNiQyxVQUFVLEVBQ1ZDLFNBQVMsRUFDVEMsZUFBZSxFQUNmQyxlQUFlLEVBQ2ZDLGNBQWMsRUFDZEMsY0FBYyxFQUNkQyxxQkFBcUIsRUFDckJDLG9CQUFvQixFQUNwQkMsVUFBVSxFQUNWQyxlQUFlLEVBQ2ZDLHFCQUFxQixFQUNyQkMsY0FBYyxFQUNkQyxtQkFBbUIsRUFDbkJDLHNCQUFzQixRQUNqQixzQkFBc0I7QUFDN0IsU0FBU0MsUUFBUSxRQUFRLDJCQUEyQjtBQUNwRCxTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBaUM7QUFDbEUsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEseUJBQXlCO0FBQzFELFNBQVNDLG1CQUFtQixRQUFRLHdCQUF3QjtBQUM1RCxTQUNFQywyQkFBMkIsRUFHM0JDLGtCQUFr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
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
4
|
+
export var formatTime = function formatTime(seconds) {
|
|
5
|
+
var mins = Math.floor(seconds / 60);
|
|
6
|
+
var secs = Math.floor(seconds % 60);
|
|
7
|
+
return "".concat(mins, ":").concat(secs.toString().padStart(2, '0'));
|
|
8
|
+
};
|
|
9
|
+
export var formatTimeWithHours = function formatTimeWithHours(seconds) {
|
|
10
|
+
var hours = Math.floor(seconds / 3600);
|
|
11
|
+
var mins = Math.floor(seconds % 3600 / 60);
|
|
12
|
+
var secs = Math.floor(seconds % 60);
|
|
13
|
+
if (hours > 0) {
|
|
14
|
+
return "".concat(hours, ":").concat(mins.toString().padStart(2, '0'), ":").concat(secs.toString().padStart(2, '0'));
|
|
15
|
+
}
|
|
16
|
+
return "".concat(mins, ":").concat(secs.toString().padStart(2, '0'));
|
|
17
|
+
};
|
|
18
|
+
export var resolveAudioFileExtension = function resolveAudioFileExtension(name, mimeOrExt) {
|
|
19
|
+
var fileNameParts = name.split('.');
|
|
20
|
+
if (fileNameParts.length > 1) {
|
|
21
|
+
var _fileNameParts$pop;
|
|
22
|
+
return ((_fileNameParts$pop = fileNameParts.pop()) === null || _fileNameParts$pop === void 0 ? void 0 : _fileNameParts$pop.toLowerCase()) || '';
|
|
23
|
+
}
|
|
24
|
+
return (mimeOrExt === null || mimeOrExt === void 0 ? void 0 : mimeOrExt.toLowerCase()) || '';
|
|
25
|
+
};
|
|
26
|
+
export var resolveFullAudioFileName = function resolveFullAudioFileName(name, mimeOrExt) {
|
|
27
|
+
if (name.includes('.')) return name;
|
|
28
|
+
return mimeOrExt ? "".concat(name, ".").concat(mimeOrExt) : name;
|
|
29
|
+
};
|
|
30
|
+
export var resolveAudioAttachmentMeta = function resolveAudioAttachmentMeta(attachment) {
|
|
31
|
+
var fileExtension = resolveAudioFileExtension(attachment.name, attachment.type);
|
|
32
|
+
var fullFileName = resolveFullAudioFileName(attachment.name, attachment.type);
|
|
33
|
+
return {
|
|
34
|
+
fileExtension: fileExtension,
|
|
35
|
+
fullFileName: fullFileName
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
/** Gestor global de audio para evitar múltiples reproducciones simultáneas. */
|
|
40
|
+
|
|
41
|
+
export var resolveAudioPlaybackSource = function resolveAudioPlaybackSource(attachment) {
|
|
42
|
+
if (attachment.file instanceof File) {
|
|
43
|
+
return {
|
|
44
|
+
blobUrl: URL.createObjectURL(attachment.file),
|
|
45
|
+
src: null
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
if (attachment.url_original) {
|
|
49
|
+
return {
|
|
50
|
+
blobUrl: null,
|
|
51
|
+
src: attachment.url_original
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
if (attachment.url_file) {
|
|
55
|
+
return {
|
|
56
|
+
blobUrl: null,
|
|
57
|
+
src: attachment.url_file
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
if (attachment.url_thumbnail) {
|
|
61
|
+
return {
|
|
62
|
+
blobUrl: null,
|
|
63
|
+
src: attachment.url_thumbnail
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
return {
|
|
67
|
+
blobUrl: null,
|
|
68
|
+
src: null
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
export var computeSeekFromClientX = function computeSeekFromClientX(clientX, barRect, duration, barWidthPx) {
|
|
72
|
+
var clickX = clientX - barRect.left;
|
|
73
|
+
var percentage = Math.max(0, Math.min(1, clickX / barRect.width));
|
|
74
|
+
return {
|
|
75
|
+
newTime: percentage * duration,
|
|
76
|
+
newProgress: percentage * barWidthPx
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
export var computeProgressMetrics = function computeProgressMetrics(visualProgress, barWidthPx) {
|
|
80
|
+
var handleSize = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 9;
|
|
81
|
+
var progressPercentage = barWidthPx > 0 ? visualProgress / barWidthPx * 100 : 0;
|
|
82
|
+
var maxLeft = barWidthPx > 0 ? (barWidthPx - handleSize / 2) / barWidthPx * 100 : 0;
|
|
83
|
+
return {
|
|
84
|
+
progressPercentage: progressPercentage,
|
|
85
|
+
handlePosition: Math.min(progressPercentage, maxLeft)
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
export var computePlayResumeProgress = function computePlayResumeProgress(currentTime, duration, barWidthPx) {
|
|
89
|
+
if (currentTime <= 0 || duration <= 0) return 0;
|
|
90
|
+
return currentTime / duration * barWidthPx;
|
|
91
|
+
};
|
|
92
|
+
export var AudioManager = /*#__PURE__*/function () {
|
|
93
|
+
function AudioManager() {
|
|
94
|
+
_classCallCheck(this, AudioManager);
|
|
95
|
+
_defineProperty(this, "activeAudios", new Set());
|
|
96
|
+
}
|
|
97
|
+
return _createClass(AudioManager, [{
|
|
98
|
+
key: "register",
|
|
99
|
+
value: function register(audio) {
|
|
100
|
+
var _this = this;
|
|
101
|
+
this.activeAudios.add(audio);
|
|
102
|
+
return function () {
|
|
103
|
+
_this.activeAudios["delete"](audio);
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
}, {
|
|
107
|
+
key: "pauseAllExcept",
|
|
108
|
+
value: function pauseAllExcept(currentAudio) {
|
|
109
|
+
this.activeAudios.forEach(function (audio) {
|
|
110
|
+
if (audio !== currentAudio && !audio.paused) {
|
|
111
|
+
audio.pause();
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
}]);
|
|
116
|
+
}();
|
|
117
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3JtYXRUaW1lIiwic2Vjb25kcyIsIm1pbnMiLCJNYXRoIiwiZmxvb3IiLCJzZWNzIiwiY29uY2F0IiwidG9TdHJpbmciLCJwYWRTdGFydCIsImZvcm1hdFRpbWVXaXRoSG91cnMiLCJob3VycyIsInJlc29sdmVBdWRpb0ZpbGVFeHRlbnNpb24iLCJuYW1lIiwibWltZU9yRXh0IiwiZmlsZU5hbWVQYXJ0cyIsInNwbGl0IiwibGVuZ3RoIiwiX2ZpbGVOYW1lUGFydHMkcG9wIiwicG9wIiwidG9Mb3dlckNhc2UiLCJyZXNvbHZlRnVsbEF1ZGlvRmlsZU5hbWUiLCJpbmNsdWRlcyIsInJlc29sdmVBdWRpb0F0dGFjaG1lbnRNZXRhIiwiYXR0YWNobWVudCIsImZpbGVFeHRlbnNpb24iLCJ0eXBlIiwiZnVsbEZpbGVOYW1lIiwicmVzb2x2ZUF1ZGlvUGxheWJhY2tTb3VyY2UiLCJmaWxlIiwiRmlsZSIsImJsb2JVcmwiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJzcmMiLCJ1cmxfb3JpZ2luYWwiLCJ1cmxfZmlsZSIsInVybF90aHVtYm5haWwiLCJjb21wdXRlU2Vla0Zyb21DbGllbnRYIiwiY2xpZW50WCIsImJhclJlY3QiLCJkdXJhdGlvbiIsImJhcldpZHRoUHgiLCJjbGlja1giLCJsZWZ0IiwicGVyY2VudGFnZSIsIm1heCIsIm1pbiIsIndpZHRoIiwibmV3VGltZSIsIm5ld1Byb2dyZXNzIiwiY29tcHV0ZVByb2dyZXNzTWV0cmljcyIsInZpc3VhbFByb2dyZXNzIiwiaGFuZGxlU2l6ZSIsImFyZ3VtZW50cyIsInVuZGVmaW5lZCIsInByb2dyZXNzUGVyY2VudGFnZSIsIm1heExlZnQiLCJoYW5kbGVQb3NpdGlvbiIsImNvbXB1dGVQbGF5UmVzdW1lUHJvZ3Jlc3MiLCJjdXJyZW50VGltZSIsIkF1ZGlvTWFuYWdlciIsIl9jbGFzc0NhbGxDaGVjayIsIl9kZWZpbmVQcm9wZXJ0eSIsIlNldCIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwicmVnaXN0ZXIiLCJhdWRpbyIsIl90aGlzIiwiYWN0aXZlQXVkaW9zIiwiYWRkIiwicGF1c2VBbGxFeGNlcHQiLCJjdXJyZW50QXVkaW8iLCJmb3JFYWNoIiwicGF1c2VkIiwicGF1c2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9BdHRhY2htZW50Q2FyZC9BdHRhY2htZW50Q2FyZEF1ZGlvLmhlbHBlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi8uLi9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuXG5leHBvcnQgY29uc3QgZm9ybWF0VGltZSA9IChzZWNvbmRzOiBudW1iZXIpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBtaW5zID0gTWF0aC5mbG9vcihzZWNvbmRzIC8gNjApXG4gIGNvbnN0IHNlY3MgPSBNYXRoLmZsb29yKHNlY29uZHMgJSA2MClcbiAgcmV0dXJuIGAke21pbnN9OiR7c2Vjcy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9YFxufVxuXG5leHBvcnQgY29uc3QgZm9ybWF0VGltZVdpdGhIb3VycyA9IChzZWNvbmRzOiBudW1iZXIpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBob3VycyA9IE1hdGguZmxvb3Ioc2Vjb25kcyAvIDM2MDApXG4gIGNvbnN0IG1pbnMgPSBNYXRoLmZsb29yKChzZWNvbmRzICUgMzYwMCkgLyA2MClcbiAgY29uc3Qgc2VjcyA9IE1hdGguZmxvb3Ioc2Vjb25kcyAlIDYwKVxuICBpZiAoaG91cnMgPiAwKSB7XG4gICAgcmV0dXJuIGAke2hvdXJzfToke21pbnMudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfToke3NlY3MudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpfWBcbiAgfVxuICByZXR1cm4gYCR7bWluc306JHtzZWNzLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKX1gXG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlQXVkaW9GaWxlRXh0ZW5zaW9uID0gKG5hbWU6IHN0cmluZywgbWltZU9yRXh0Pzogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgZmlsZU5hbWVQYXJ0cyA9IG5hbWUuc3BsaXQoJy4nKVxuICBpZiAoZmlsZU5hbWVQYXJ0cy5sZW5ndGggPiAxKSB7XG4gICAgcmV0dXJuIGZpbGVOYW1lUGFydHMucG9wKCk/LnRvTG93ZXJDYXNlKCkgfHwgJydcbiAgfVxuICByZXR1cm4gbWltZU9yRXh0Py50b0xvd2VyQ2FzZSgpIHx8ICcnXG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlRnVsbEF1ZGlvRmlsZU5hbWUgPSAobmFtZTogc3RyaW5nLCBtaW1lT3JFeHQ/OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBpZiAobmFtZS5pbmNsdWRlcygnLicpKSByZXR1cm4gbmFtZVxuICByZXR1cm4gbWltZU9yRXh0ID8gYCR7bmFtZX0uJHttaW1lT3JFeHR9YCA6IG5hbWVcbn1cblxuZXhwb3J0IGNvbnN0IHJlc29sdmVBdWRpb0F0dGFjaG1lbnRNZXRhID0gKGF0dGFjaG1lbnQ6IFBpY2s8QXR0YWNobWVudEZpbGUsICduYW1lJyB8ICd0eXBlJz4pID0+IHtcbiAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IHJlc29sdmVBdWRpb0ZpbGVFeHRlbnNpb24oYXR0YWNobWVudC5uYW1lLCBhdHRhY2htZW50LnR5cGUpXG4gIGNvbnN0IGZ1bGxGaWxlTmFtZSA9IHJlc29sdmVGdWxsQXVkaW9GaWxlTmFtZShhdHRhY2htZW50Lm5hbWUsIGF0dGFjaG1lbnQudHlwZSlcbiAgcmV0dXJuIHsgZmlsZUV4dGVuc2lvbiwgZnVsbEZpbGVOYW1lIH1cbn1cblxuLyoqIEdlc3RvciBnbG9iYWwgZGUgYXVkaW8gcGFyYSBldml0YXIgbcO6bHRpcGxlcyByZXByb2R1Y2Npb25lcyBzaW11bHTDoW5lYXMuICovXG50eXBlIEF1ZGlvQXR0YWNobWVudFVybHMgPSB7XG4gIGZpbGU/OiBGaWxlXG4gIHVybF9vcmlnaW5hbD86IHN0cmluZ1xuICB1cmxfZmlsZT86IHN0cmluZ1xuICB1cmxfdGh1bWJuYWlsPzogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlQXVkaW9QbGF5YmFja1NvdXJjZSA9IChcbiAgYXR0YWNobWVudDogQXVkaW9BdHRhY2htZW50VXJsc1xuKTogeyBibG9iVXJsOiBzdHJpbmcgfCBudWxsOyBzcmM6IHN0cmluZyB8IG51bGwgfSA9PiB7XG4gIGlmIChhdHRhY2htZW50LmZpbGUgaW5zdGFuY2VvZiBGaWxlKSB7XG4gICAgcmV0dXJuIHsgYmxvYlVybDogVVJMLmNyZWF0ZU9iamVjdFVSTChhdHRhY2htZW50LmZpbGUpLCBzcmM6IG51bGwgfVxuICB9XG4gIGlmIChhdHRhY2htZW50LnVybF9vcmlnaW5hbCkge1xuICAgIHJldHVybiB7IGJsb2JVcmw6IG51bGwsIHNyYzogYXR0YWNobWVudC51cmxfb3JpZ2luYWwgfVxuICB9XG4gIGlmIChhdHRhY2htZW50LnVybF9maWxlKSB7XG4gICAgcmV0dXJuIHsgYmxvYlVybDogbnVsbCwgc3JjOiBhdHRhY2htZW50LnVybF9maWxlIH1cbiAgfVxuICBpZiAoYXR0YWNobWVudC51cmxfdGh1bWJuYWlsKSB7XG4gICAgcmV0dXJuIHsgYmxvYlVybDogbnVsbCwgc3JjOiBhdHRhY2htZW50LnVybF90aHVtYm5haWwgfVxuICB9XG4gIHJldHVybiB7IGJsb2JVcmw6IG51bGwsIHNyYzogbnVsbCB9XG59XG5cbmV4cG9ydCBjb25zdCBjb21wdXRlU2Vla0Zyb21DbGllbnRYID0gKFxuICBjbGllbnRYOiBudW1iZXIsXG4gIGJhclJlY3Q6IFBpY2s8RE9NUmVjdCwgJ2xlZnQnIHwgJ3dpZHRoJz4sXG4gIGR1cmF0aW9uOiBudW1iZXIsXG4gIGJhcldpZHRoUHg6IG51bWJlclxuKTogeyBuZXdUaW1lOiBudW1iZXI7IG5ld1Byb2dyZXNzOiBudW1iZXIgfSA9PiB7XG4gIGNvbnN0IGNsaWNrWCA9IGNsaWVudFggLSBiYXJSZWN0LmxlZnRcbiAgY29uc3QgcGVyY2VudGFnZSA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEsIGNsaWNrWCAvIGJhclJlY3Qud2lkdGgpKVxuICByZXR1cm4ge1xuICAgIG5ld1RpbWU6IHBlcmNlbnRhZ2UgKiBkdXJhdGlvbixcbiAgICBuZXdQcm9ncmVzczogcGVyY2VudGFnZSAqIGJhcldpZHRoUHgsXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGNvbXB1dGVQcm9ncmVzc01ldHJpY3MgPSAoXG4gIHZpc3VhbFByb2dyZXNzOiBudW1iZXIsXG4gIGJhcldpZHRoUHg6IG51bWJlcixcbiAgaGFuZGxlU2l6ZSA9IDlcbik6IHsgcHJvZ3Jlc3NQZXJjZW50YWdlOiBudW1iZXI7IGhhbmRsZVBvc2l0aW9uOiBudW1iZXIgfSA9PiB7XG4gIGNvbnN0IHByb2dyZXNzUGVyY2VudGFnZSA9IGJhcldpZHRoUHggPiAwID8gKHZpc3VhbFByb2dyZXNzIC8gYmFyV2lkdGhQeCkgKiAxMDAgOiAwXG4gIGNvbnN0IG1heExlZnQgPSBiYXJXaWR0aFB4ID4gMCA/ICgoYmFyV2lkdGhQeCAtIGhhbmRsZVNpemUgLyAyKSAvIGJhcldpZHRoUHgpICogMTAwIDogMFxuICByZXR1cm4ge1xuICAgIHByb2dyZXNzUGVyY2VudGFnZSxcbiAgICBoYW5kbGVQb3NpdGlvbjogTWF0aC5taW4ocHJvZ3Jlc3NQZXJjZW50YWdlLCBtYXhMZWZ0KSxcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgY29tcHV0ZVBsYXlSZXN1bWVQcm9ncmVzcyA9IChjdXJyZW50VGltZTogbnVtYmVyLCBkdXJhdGlvbjogbnVtYmVyLCBiYXJXaWR0aFB4OiBudW1iZXIpOiBudW1iZXIgPT4ge1xuICBpZiAoY3VycmVudFRpbWUgPD0gMCB8fCBkdXJhdGlvbiA8PSAwKSByZXR1cm4gMFxuICByZXR1cm4gKGN1cnJlbnRUaW1lIC8gZHVyYXRpb24pICogYmFyV2lkdGhQeFxufVxuXG5leHBvcnQgY2xhc3MgQXVkaW9NYW5hZ2VyIHtcbiAgcHJpdmF0ZSBhY3RpdmVBdWRpb3M6IFNldDxIVE1MQXVkaW9FbGVtZW50PiA9IG5ldyBTZXQoKVxuXG4gIHJlZ2lzdGVyKGF1ZGlvOiBIVE1MQXVkaW9FbGVtZW50KTogKCkgPT4gdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVBdWRpb3MuYWRkKGF1ZGlvKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB0aGlzLmFjdGl2ZUF1ZGlvcy5kZWxldGUoYXVkaW8pXG4gICAgfVxuICB9XG5cbiAgcGF1c2VBbGxFeGNlcHQoY3VycmVudEF1ZGlvOiBIVE1MQXVkaW9FbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5hY3RpdmVBdWRpb3MuZm9yRWFjaChhdWRpbyA9PiB7XG4gICAgICBpZiAoYXVkaW8gIT09IGN1cnJlbnRBdWRpbyAmJiAhYXVkaW8ucGF1c2VkKSB7XG4gICAgICAgIGF1ZGlvLnBhdXNlKClcbiAgICAgIH1cbiAgICB9KVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUVBLE9BQU8sSUFBTUEsVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlDLE9BQWUsRUFBYTtFQUNyRCxJQUFNQyxJQUFJLEdBQUdDLElBQUksQ0FBQ0MsS0FBSyxDQUFDSCxPQUFPLEdBQUcsRUFBRSxDQUFDO0VBQ3JDLElBQU1JLElBQUksR0FBR0YsSUFBSSxDQUFDQyxLQUFLLENBQUNILE9BQU8sR0FBRyxFQUFFLENBQUM7RUFDckMsVUFBQUssTUFBQSxDQUFVSixJQUFJLE9BQUFJLE1BQUEsQ0FBSUQsSUFBSSxDQUFDRSxRQUFRLENBQUMsQ0FBQyxDQUFDQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztBQUNwRCxDQUFDO0FBRUQsT0FBTyxJQUFNQyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUFJUixPQUFlLEVBQWE7RUFDOUQsSUFBTVMsS0FBSyxHQUFHUCxJQUFJLENBQUNDLEtBQUssQ0FBQ0gsT0FBTyxHQUFHLElBQUksQ0FBQztFQUN4QyxJQUFNQyxJQUFJLEdBQUdDLElBQUksQ0FBQ0MsS0FBSyxDQUFFSCxPQUFPLEdBQUcsSUFBSSxHQUFJLEVBQUUsQ0FBQztFQUM5QyxJQUFNSSxJQUFJLEdBQUdGLElBQUksQ0FBQ0MsS0FBSyxDQUFDSCxPQUFPLEdBQUcsRUFBRSxDQUFDO0VBQ3JDLElBQUlTLEtBQUssR0FBRyxDQUFDLEVBQUU7SUFDYixVQUFBSixNQUFBLENBQVVJLEtBQUssT0FBQUosTUFBQSxDQUFJSixJQUFJLENBQUNLLFFBQVEsQ0FBQyxDQUFDLENBQUNDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLE9BQUFGLE1BQUEsQ0FBSUQsSUFBSSxDQUFDRSxRQUFRLENBQUMsQ0FBQyxDQUFDQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztFQUN6RjtFQUNBLFVBQUFGLE1BQUEsQ0FBVUosSUFBSSxPQUFBSSxNQUFBLENBQUlELElBQUksQ0FBQ0UsUUFBUSxDQUFDLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUM7QUFDcEQsQ0FBQztBQUVELE9BQU8sSUFBTUcseUJBQXlCLEdBQUcsU0FBNUJBLHlCQUF5QkEsQ0FBSUMsSUFBWSxFQUFFQyxTQUFrQixFQUFhO0VBQ3JGLElBQU1DLGFBQWEsR0FBR0YsSUFBSSxDQUFDRyxLQUFLLENBQUMsR0FBRyxDQUFDO0VBQ3JDLElBQUlELGFBQWEsQ0FBQ0UsTUFBTSxHQUFHLENBQUMsRUFBRTtJQUFBLElBQUFDLGtCQUFBO0lBQzVCLE9BQU8sRUFBQUEsa0JBQUEsR0FBQUgsYUFBYSxDQUFDSSxHQUFHLENBQUMsQ0FBQyxjQUFBRCxrQkFBQSx1QkFBbkJBLGtCQUFBLENBQXFCRSxXQUFXLENBQUMsQ0FBQyxLQUFJLEVBQUU7RUFDakQ7RUFDQSxPQUFPLENBQUFOLFNBQVMsYUFBVEEsU0FBUyx1QkFBVEEsU0FBUyxDQUFFTSxXQUFXLENBQUMsQ0FBQyxLQUFJLEVBQUU7QUFDdkMsQ0FBQztBQUVELE9BQU8sSUFBTUMsd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUF3QkEsQ0FBSVIsSUFBWSxFQUFFQyxTQUFrQixFQUFhO0VBQ3BGLElBQUlELElBQUksQ0FBQ1MsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU9ULElBQUk7RUFDbkMsT0FBT0MsU0FBUyxNQUFBUCxNQUFBLENBQU1NLElBQUksT0FBQU4sTUFBQSxDQUFJTyxTQUFTLElBQUtELElBQUk7QUFDbEQsQ0FBQztBQUVELE9BQU8sSUFBTVUsMEJBQTBCLEdBQUcsU0FBN0JBLDBCQUEwQkEsQ0FBSUMsVUFBaUQsRUFBSztFQUMvRixJQUFNQyxhQUFhLEdBQUdiLHlCQUF5QixDQUFDWSxVQUFVLENBQUNYLElBQUksRUFBRVcsVUFBVSxDQUFDRSxJQUFJLENBQUM7RUFDakYsSUFBTUMsWUFBWSxHQUFHTix3QkFBd0IsQ0FBQ0csVUFBVSxDQUFDWCxJQUFJLEVBQUVXLFVBQVUsQ0FBQ0UsSUFBSSxDQUFDO0VBQy9FLE9BQU87SUFBRUQsYUFBYSxFQUFiQSxhQUFhO0lBQUVFLFlBQVksRUFBWkE7RUFBYSxDQUFDO0FBQ3hDLENBQUM7O0FBRUQ7O0FBUUEsT0FBTyxJQUFNQywwQkFBMEIsR0FBRyxTQUE3QkEsMEJBQTBCQSxDQUNyQ0osVUFBK0IsRUFDb0I7RUFDbkQsSUFBSUEsVUFBVSxDQUFDSyxJQUFJLFlBQVlDLElBQUksRUFBRTtJQUNuQyxPQUFPO01BQUVDLE9BQU8sRUFBRUMsR0FBRyxDQUFDQyxlQUFlLENBQUNULFVBQVUsQ0FBQ0ssSUFBSSxDQUFDO01BQUVLLEdBQUcsRUFBRTtJQUFLLENBQUM7RUFDckU7RUFDQSxJQUFJVixVQUFVLENBQUNXLFlBQVksRUFBRTtJQUMzQixPQUFPO01BQUVKLE9BQU8sRUFBRSxJQUFJO01BQUVHLEdBQUcsRUFBRVYsVUFBVSxDQUFDVztJQUFhLENBQUM7RUFDeEQ7RUFDQSxJQUFJWCxVQUFVLENBQUNZLFFBQVEsRUFBRTtJQUN2QixPQUFPO01BQUVMLE9BQU8sRUFBRSxJQUFJO01BQUVHLEdBQUcsRUFBRVYsVUFBVSxDQUFDWTtJQUFTLENBQUM7RUFDcEQ7RUFDQSxJQUFJWixVQUFVLENBQUNhLGFBQWEsRUFBRTtJQUM1QixPQUFPO01BQUVOLE9BQU8sRUFBRSxJQUFJO01BQUVHLEdBQUcsRUFBRVYsVUFBVSxDQUFDYTtJQUFjLENBQUM7RUFDekQ7RUFDQSxPQUFPO0lBQUVOLE9BQU8sRUFBRSxJQUFJO0lBQUVHLEdBQUcsRUFBRTtFQUFLLENBQUM7QUFDckMsQ0FBQztBQUVELE9BQU8sSUFBTUksc0JBQXNCLEdBQUcsU0FBekJBLHNCQUFzQkEsQ0FDakNDLE9BQWUsRUFDZkMsT0FBd0MsRUFDeENDLFFBQWdCLEVBQ2hCQyxVQUFrQixFQUMyQjtFQUM3QyxJQUFNQyxNQUFNLEdBQUdKLE9BQU8sR0FBR0MsT0FBTyxDQUFDSSxJQUFJO0VBQ3JDLElBQU1DLFVBQVUsR0FBR3pDLElBQUksQ0FBQzBDLEdBQUcsQ0FBQyxDQUFDLEVBQUUxQyxJQUFJLENBQUMyQyxHQUFHLENBQUMsQ0FBQyxFQUFFSixNQUFNLEdBQUdILE9BQU8sQ0FBQ1EsS0FBSyxDQUFDLENBQUM7RUFDbkUsT0FBTztJQUNMQyxPQUFPLEVBQUVKLFVBQVUsR0FBR0osUUFBUTtJQUM5QlMsV0FBVyxFQUFFTCxVQUFVLEdBQUdIO0VBQzVCLENBQUM7QUFDSCxDQUFDO0FBRUQsT0FBTyxJQUFNUyxzQkFBc0IsR0FBRyxTQUF6QkEsc0JBQXNCQSxDQUNqQ0MsY0FBc0IsRUFDdEJWLFVBQWtCLEVBRXlDO0VBQUEsSUFEM0RXLFVBQVUsR0FBQUMsU0FBQSxDQUFBckMsTUFBQSxRQUFBcUMsU0FBQSxRQUFBQyxTQUFBLEdBQUFELFNBQUEsTUFBRyxDQUFDO0VBRWQsSUFBTUUsa0JBQWtCLEdBQUdkLFVBQVUsR0FBRyxDQUFDLEdBQUlVLGNBQWMsR0FBR1YsVUFBVSxHQUFJLEdBQUcsR0FBRyxDQUFDO0VBQ25GLElBQU1lLE9BQU8sR0FBR2YsVUFBVSxHQUFHLENBQUMsR0FBSSxDQUFDQSxVQUFVLEdBQUdXLFVBQVUsR0FBRyxDQUFDLElBQUlYLFVBQVUsR0FBSSxHQUFHLEdBQUcsQ0FBQztFQUN2RixPQUFPO0lBQ0xjLGtCQUFrQixFQUFsQkEsa0JBQWtCO0lBQ2xCRSxjQUFjLEVBQUV0RCxJQUFJLENBQUMyQyxHQUFHLENBQUNTLGtCQUFrQixFQUFFQyxPQUFPO0VBQ3RELENBQUM7QUFDSCxDQUFDO0FBRUQsT0FBTyxJQUFNRSx5QkFBeUIsR0FBRyxTQUE1QkEseUJBQXlCQSxDQUFJQyxXQUFtQixFQUFFbkIsUUFBZ0IsRUFBRUMsVUFBa0IsRUFBYTtFQUM5RyxJQUFJa0IsV0FBVyxJQUFJLENBQUMsSUFBSW5CLFFBQVEsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDO0VBQy9DLE9BQVFtQixXQUFXLEdBQUduQixRQUFRLEdBQUlDLFVBQVU7QUFDOUMsQ0FBQztBQUVELFdBQWFtQixZQUFZO0VBQUEsU0FBQUEsYUFBQTtJQUFBQyxlQUFBLE9BQUFELFlBQUE7SUFBQUUsZUFBQSx1QkFDdUIsSUFBSUMsR0FBRyxDQUFDLENBQUM7RUFBQTtFQUFBLE9BQUFDLFlBQUEsQ0FBQUosWUFBQTtJQUFBSyxHQUFBO0lBQUFDLEtBQUEsRUFFdkQsU0FBQUMsUUFBUUEsQ0FBQ0MsS0FBdUIsRUFBYztNQUFBLElBQUFDLEtBQUE7TUFDNUMsSUFBSSxDQUFDQyxZQUFZLENBQUNDLEdBQUcsQ0FBQ0gsS0FBSyxDQUFDO01BQzVCLE9BQU8sWUFBTTtRQUNYQyxLQUFJLENBQUNDLFlBQVksVUFBTyxDQUFDRixLQUFLLENBQUM7TUFDakMsQ0FBQztJQUNIO0VBQUM7SUFBQUgsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQU0sY0FBY0EsQ0FBQ0MsWUFBOEIsRUFBUTtNQUNuRCxJQUFJLENBQUNILFlBQVksQ0FBQ0ksT0FBTyxDQUFDLFVBQUFOLEtBQUssRUFBSTtRQUNqQyxJQUFJQSxLQUFLLEtBQUtLLFlBQVksSUFBSSxDQUFDTCxLQUFLLENBQUNPLE1BQU0sRUFBRTtVQUMzQ1AsS0FBSyxDQUFDUSxLQUFLLENBQUMsQ0FBQztRQUNmO01BQ0YsQ0FBQyxDQUFDO0lBQ0o7RUFBQztBQUFBIiwiaWdub3JlTGlzdCI6W119
|