@projectcor/maia-components 2.11.73 → 2.11.75-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/ContextMentionPopover/ContextMentionPopover.js +4 -3
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +39 -22
- package/lib/components/molecules/Sidebar/Sidebar.js +26 -36
- package/lib/hooks/useChatMessages/useChatMessages.js +4 -2
- package/lib/hooks/useContextMentions.js +14 -7
- package/lib/hooks/useMentionAllowedTypes.js +28 -8
- package/lib/hooks/useMentionPopover.js +18 -42
- package/lib/services/maia/Agents/getAgents.js +12 -6
- package/lib/services/maia/Chats/getChatMessages.js +6 -32
- package/lib/utils/contextMentionTriggers.js +51 -0
- package/lib/utils/corConnectorMentionTypes.js +37 -0
- package/lib/utils/normalizeAgentConnectors.js +32 -0
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import { forwardRef, useCallback, useEffect, useMemo, useRef, useState } from 'r
|
|
|
3
3
|
import { InformationCircle } from '@projectcor/icons/lib/components/InformationCircle';
|
|
4
4
|
import { Tooltip } from '@projectcor/tooltipv2/lib/components/Tooltip';
|
|
5
5
|
import { useT } from '../../../hooks/useT';
|
|
6
|
+
import { getMentionTabPrefix } from '../../../utils/contextMentionTriggers';
|
|
6
7
|
import { ContextMentionItem } from '../ContextMentionItem';
|
|
7
8
|
import { Loader } from '../Loader';
|
|
8
9
|
import { SCMPContainer, SCMPDivider, SCMPDividerWrapper, SCMPRecentsLabel, SCMPRecentsRow, SCMPRecentsTitle, SCMPList, SCMPStateWrapper, SCMPKeyboardHint, SCMPTab, SCMPTabsGroup, SCMPTabsRow, SCMPLoadMoreRow, SCMPSearchRow, SCMPSearchInput } from './ContextMentionPopover.styles';
|
|
@@ -188,11 +189,11 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
|
|
|
188
189
|
})
|
|
189
190
|
}) : null, /*#__PURE__*/_jsxs(SCMPTabsRow, {
|
|
190
191
|
children: [/*#__PURE__*/_jsx(SCMPTabsGroup, {
|
|
191
|
-
children: allowedTypes.map(function (type
|
|
192
|
+
children: allowedTypes.map(function (type) {
|
|
192
193
|
var label = t(TAB_I18N_KEYS[type], {
|
|
193
194
|
defaultValue: TAB_FALLBACKS[type]
|
|
194
195
|
});
|
|
195
|
-
var atPrefix = hideTabPrefix ? '' :
|
|
196
|
+
var atPrefix = hideTabPrefix ? '' : getMentionTabPrefix(type);
|
|
196
197
|
return /*#__PURE__*/_jsxs(SCMPTab, {
|
|
197
198
|
type: "button",
|
|
198
199
|
"aria-label": atPrefix ? "".concat(atPrefix, " ").concat(label) : label,
|
|
@@ -221,4 +222,4 @@ export var ContextMentionPopover = /*#__PURE__*/forwardRef(function (_ref, ref)
|
|
|
221
222
|
});
|
|
222
223
|
});
|
|
223
224
|
ContextMentionPopover.displayName = 'ContextMentionPopover';
|
|
224
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3J3YXJkUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJJbmZvcm1hdGlvbkNpcmNsZSIsIlRvb2x0aXAiLCJ1c2VUIiwiQ29udGV4dE1lbnRpb25JdGVtIiwiTG9hZGVyIiwiU0NNUENvbnRhaW5lciIsIlNDTVBEaXZpZGVyIiwiU0NNUERpdmlkZXJXcmFwcGVyIiwiU0NNUFJlY2VudHNMYWJlbCIsIlNDTVBSZWNlbnRzUm93IiwiU0NNUFJlY2VudHNUaXRsZSIsIlNDTVBMaXN0IiwiU0NNUFN0YXRlV3JhcHBlciIsIlNDTVBLZXlib2FyZEhpbnQiLCJTQ01QVGFiIiwiU0NNUFRhYnNHcm91cCIsIlNDTVBUYWJzUm93IiwiU0NNUExvYWRNb3JlUm93IiwiU0NNUFNlYXJjaFJvdyIsIlNDTVBTZWFyY2hJbnB1dCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJUQUJfSTE4Tl9LRVlTIiwiY2xpZW50IiwicHJvamVjdCIsInRhc2siLCJ1c2VyIiwibWNwIiwiVEFCX0ZBTExCQUNLUyIsIkNvbnRleHRNZW50aW9uUG9wb3ZlciIsIl9yZWYiLCJyZWYiLCJhbGxvd2VkVHlwZXMiLCJhY3RpdmVUeXBlIiwib25UeXBlQ2hhbmdlIiwiaXRlbXMiLCJsb2FkaW5nIiwiZXJyb3IiLCJoaWRlUmVjZW50c0xhYmVsIiwiaGFzTW9yZSIsImlzTG9hZGluZ01vcmUiLCJvblJlYWNoTGlzdEVuZCIsInNlYXJjaFZhbHVlIiwib25JdGVtU2VsZWN0ZWQiLCJjb250cm9sbGVkSW5kZXgiLCJhY3RpdmVJbmRleCIsIm9uQWN0aXZlSW5kZXhDaGFuZ2UiLCJpc0tleWJvYXJkTmF2QWN0aXZlIiwib25Nb3VzZU1vdmVJbkxpc3QiLCJzdHlsZSIsImtleWJvYXJkSGludCIsInNob3dTZWFyY2hJbnB1dCIsInNlYXJjaFBsYWNlaG9sZGVyIiwib25TZWFyY2hDaGFuZ2UiLCJvblJlcXVlc3RDbG9zZSIsImhpZGVUYWJQcmVmaXgiLCJfdXNlVCIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpbnRlcm5hbEluZGV4Iiwic2V0SW50ZXJuYWxJbmRleCIsImxpc3RSZWYiLCJ1cGRhdGVBY3RpdmVJbmRleCIsImlkeCIsInByZXZJc0xvYWRpbmdNb3JlUmVmIiwiY3VycmVudCIsImxlbmd0aCIsIl9pdGVtRWxzJGFjdGl2ZUluZGV4IiwibGlzdEVsIiwiaXRlbUVscyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJzY3JvbGxJbnRvVmlldyIsImJsb2NrIiwiaGFuZGxlU2VhcmNoS2V5RG93biIsImUiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsIk1hdGgiLCJtaW4iLCJtYXgiLCJpdGVtIiwiZW1wdHlNZXNzYWdlIiwidHJpbSIsInF1ZXJ5IiwiZGVmYXVsdFZhbHVlIiwiY29uY2F0IiwicmVuZGVyQm9keSIsImNoaWxkcmVuIiwidW5kZWZpbmVkIiwib25Nb3VzZU1vdmUiLCJvblNjcm9sbCIsImVsIiwiY3VycmVudFRhcmdldCIsInRocmVzaG9sZCIsIm5lYXJCb3R0b20iLCJzY3JvbGxUb3AiLCJjbGllbnRIZWlnaHQiLCJzY3JvbGxIZWlnaHQiLCJtYXAiLCJ3aWR0aCIsImFjdGl2ZSIsIm9uU2VsZWN0Iiwib25Ib3ZlciIsInR5cGUiLCJpZCIsInNpemUiLCJyb2xlIiwib25Nb3VzZURvd24iLCJzdG9wUHJvcGFnYXRpb24iLCJhdXRvRm9jdXMiLCJ2YWx1ZSIsInBsYWNlaG9sZGVyIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJvbktleURvd24iLCJ0YWJJbmRleCIsImxhYmVsIiwiYXRQcmVmaXgiLCJyZXBlYXQiLCIkYWN0aXZlIiwidGl0bGUiLCJoZWlnaHQiLCJjb2xvciIsImRpc3BsYXlOYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvQ29udGV4dE1lbnRpb25Qb3BvdmVyL0NvbnRleHRNZW50aW9uUG9wb3Zlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1NTUHJvcGVydGllcywgZm9yd2FyZFJlZiwgS2V5Ym9hcmRFdmVudCwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgSW5mb3JtYXRpb25DaXJjbGUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9JbmZvcm1hdGlvbkNpcmNsZSdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUsIENvbnRleHRNZW50aW9uSXRlbSBhcyBDb250ZXh0TWVudGlvbkl0ZW1UeXBlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgeyBDb250ZXh0TWVudGlvbkl0ZW0gfSBmcm9tICcuLi9Db250ZXh0TWVudGlvbkl0ZW0nXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi9Mb2FkZXInXG5pbXBvcnQge1xuICBTQ01QQ29udGFpbmVyLFxuICBTQ01QRGl2aWRlcixcbiAgU0NNUERpdmlkZXJXcmFwcGVyLFxuICBTQ01QUmVjZW50c0xhYmVsLFxuICBTQ01QUmVjZW50c1JvdyxcbiAgU0NNUFJlY2VudHNUaXRsZSxcbiAgU0NNUExpc3QsXG4gIFNDTVBTdGF0ZVdyYXBwZXIsXG4gIFNDTVBLZXlib2FyZEhpbnQsXG4gIFNDTVBUYWIsXG4gIFNDTVBUYWJzR3JvdXAsXG4gIFNDTVBUYWJzUm93LFxuICBTQ01QTG9hZE1vcmVSb3csXG4gIFNDTVBTZWFyY2hSb3csXG4gIFNDTVBTZWFyY2hJbnB1dCxcbn0gZnJvbSAnLi9Db250ZXh0TWVudGlvblBvcG92ZXIuc3R5bGVzJ1xuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudGlvblBvcG92ZXJQcm9wcyA9IHtcbiAgYWxsb3dlZFR5cGVzOiBDb250ZXh0RW50aXR5VHlwZVtdXG4gIGFjdGl2ZVR5cGU6IENvbnRleHRFbnRpdHlUeXBlXG4gIG9uVHlwZUNoYW5nZTogKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlKSA9PiB2b2lkXG4gIGl0ZW1zOiBDb250ZXh0TWVudGlvbkl0ZW1UeXBlW11cbiAgbG9hZGluZzogYm9vbGVhblxuICBlcnJvcjogYm9vbGVhblxuICBoaWRlUmVjZW50c0xhYmVsPzogYm9vbGVhblxuICBoYXNNb3JlPzogYm9vbGVhblxuICBpc0xvYWRpbmdNb3JlPzogYm9vbGVhblxuICBvblJlYWNoTGlzdEVuZD86ICgpID0+IHZvaWRcbiAgc2VhcmNoVmFsdWU6IHN0cmluZ1xuICBvbkl0ZW1TZWxlY3RlZDogKGl0ZW06IENvbnRleHRNZW50aW9uSXRlbVR5cGUpID0+IHZvaWRcbiAgLyoqIMONbmRpY2UgcHJlc2VsZWNjaW9uYWRvIChuYXZlZ2FjacOzbiBwb3IgdGVjbGFkbyBleHRlcm5hKS4gU2kgbm8gc2UgcGFzYSwgc2UgbWFuZWphIGludGVybmFtZW50ZS4gKi9cbiAgYWN0aXZlSW5kZXg/OiBudW1iZXJcbiAgb25BY3RpdmVJbmRleENoYW5nZT86IChpZHg6IG51bWJlcikgPT4gdm9pZFxuICBpc0tleWJvYXJkTmF2QWN0aXZlPzogYm9vbGVhblxuICBvbk1vdXNlTW92ZUluTGlzdD86ICgpID0+IHZvaWRcbiAgc3R5bGU/OiBDU1NQcm9wZXJ0aWVzXG4gIGtleWJvYXJkSGludD86IHN0cmluZ1xuICAvKipcbiAgICogTW9kbyBcInBpblwiIChzZWd1bmRvIHB1bnRvIGRlIGVudHJhZGEsIFJGQyDCpzYpOiByZW5kZXJpemEgdW4gaW5wdXQgZGUgYsO6c3F1ZWRhIHByb3Bpb1xuICAgKiAoZW4gbWVuY2lvbmVzIGVsIHRleHRvIGxvIHByb3ZlZSBlbCBlZGl0b3IpLiBIYWJpbGl0YSBuYXZlZ2FjacOzbiBwb3IgdGVjbGFkbyBpbnRlcm5hLlxuICAgKi9cbiAgc2hvd1NlYXJjaElucHV0PzogYm9vbGVhblxuICAvKiogUGxhY2Vob2xkZXIgZGVsIGlucHV0IGRlIGLDunNxdWVkYSBlbiBtb2RvIHBpbi4gKi9cbiAgc2VhcmNoUGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgLyoqIENhbWJpb3MgZGVsIGlucHV0IGRlIGLDunNxdWVkYSBlbiBtb2RvIHBpbiAoY29udHJvbGFkbyBwb3IgYHNlYXJjaFZhbHVlYCkuICovXG4gIG9uU2VhcmNoQ2hhbmdlPzogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWRcbiAgLyoqIEVzY2FwZSBkZW50cm8gZGVsIGlucHV0IGRlIGLDunNxdWVkYSBlbiBtb2RvIHBpbi4gKi9cbiAgb25SZXF1ZXN0Q2xvc2U/OiAoKSA9PiB2b2lkXG4gIC8qKiBPY3VsdGEgZWwgcHJlZmlqbyBgQGAvYEBAYCBkZSBsYXMgdGFicyAobm8gYXBsaWNhIGVuIG1vZG8gcGluKS4gKi9cbiAgaGlkZVRhYlByZWZpeD86IGJvb2xlYW5cbn1cblxuY29uc3QgVEFCX0kxOE5fS0VZUzogUmVjb3JkPENvbnRleHRFbnRpdHlUeXBlLCBzdHJpbmc+ID0ge1xuICBjbGllbnQ6ICdjb250ZXh0TWVudGlvbi50YWJzLmNsaWVudCcsXG4gIHByb2plY3Q6ICdjb250ZXh0TWVudGlvbi50YWJzLnByb2plY3QnLFxuICB0YXNrOiAnY29udGV4dE1lbnRpb24udGFicy50YXNrJyxcbiAgdXNlcjogJ2NvbnRleHRNZW50aW9uLnRhYnMudXNlcicsXG4gIG1jcDogJ2NvbnRleHRNZW50aW9uLnRhYnMubWNwJyxcbn1cblxuY29uc3QgVEFCX0ZBTExCQUNLUzogUmVjb3JkPENvbnRleHRFbnRpdHlUeXBlLCBzdHJpbmc+ID0ge1xuICBjbGllbnQ6ICdDbGllbnRlJyxcbiAgcHJvamVjdDogJ1Byb3llY3RvJyxcbiAgdGFzazogJ1RhcmVhJyxcbiAgdXNlcjogJ1VzdWFyaW8nLFxuICBtY3A6ICdDb25lY3RvcmVzJyxcbn1cblxuZXhwb3J0IGNvbnN0IENvbnRleHRNZW50aW9uUG9wb3ZlciA9IGZvcndhcmRSZWY8SFRNTERpdkVsZW1lbnQsIENvbnRleHRNZW50aW9uUG9wb3ZlclByb3BzPihcbiAgKFxuICAgIHtcbiAgICAgIGFsbG93ZWRUeXBlcyxcbiAgICAgIGFjdGl2ZVR5cGUsXG4gICAgICBvblR5cGVDaGFuZ2UsXG4gICAgICBpdGVtcyxcbiAgICAgIGxvYWRpbmcsXG4gICAgICBlcnJvcixcbiAgICAgIGhpZGVSZWNlbnRzTGFiZWwsXG4gICAgICBoYXNNb3JlLFxuICAgICAgaXNMb2FkaW5nTW9yZSxcbiAgICAgIG9uUmVhY2hMaXN0RW5kLFxuICAgICAgc2VhcmNoVmFsdWUsXG4gICAgICBvbkl0ZW1TZWxlY3RlZCxcbiAgICAgIGFjdGl2ZUluZGV4OiBjb250cm9sbGVkSW5kZXgsXG4gICAgICBvbkFjdGl2ZUluZGV4Q2hhbmdlLFxuICAgICAgaXNLZXlib2FyZE5hdkFjdGl2ZSxcbiAgICAgIG9uTW91c2VNb3ZlSW5MaXN0LFxuICAgICAgc3R5bGUsXG4gICAgICBrZXlib2FyZEhpbnQsXG4gICAgICBzaG93U2VhcmNoSW5wdXQsXG4gICAgICBzZWFyY2hQbGFjZWhvbGRlcixcbiAgICAgIG9uU2VhcmNoQ2hhbmdlLFxuICAgICAgb25SZXF1ZXN0Q2xvc2UsXG4gICAgICBoaWRlVGFiUHJlZml4LFxuICAgIH0sXG4gICAgcmVmXG4gICkgPT4ge1xuICAgIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gICAgY29uc3QgW2ludGVybmFsSW5kZXgsIHNldEludGVybmFsSW5kZXhdID0gdXNlU3RhdGUoMClcbiAgICBjb25zdCBhY3RpdmVJbmRleCA9IGNvbnRyb2xsZWRJbmRleCA/PyBpbnRlcm5hbEluZGV4XG4gICAgY29uc3QgbGlzdFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcblxuICAgIGNvbnN0IHVwZGF0ZUFjdGl2ZUluZGV4ID0gdXNlQ2FsbGJhY2soXG4gICAgICAoaWR4OiBudW1iZXIpID0+IHtcbiAgICAgICAgaWYgKG9uQWN0aXZlSW5kZXhDaGFuZ2UpIG9uQWN0aXZlSW5kZXhDaGFuZ2UoaWR4KVxuICAgICAgICBlbHNlIHNldEludGVybmFsSW5kZXgoaWR4KVxuICAgICAgfSxcbiAgICAgIFtvbkFjdGl2ZUluZGV4Q2hhbmdlXVxuICAgIClcblxuICAgIC8vIFJlc2V0IGFsIGNhbWJpYXIgZGUgdGFiIG8gY2FudGlkYWQgZGUgcmVzdWx0YWRvcyAobm8gZW4gbG9hZCBtb3JlKVxuICAgIGNvbnN0IHByZXZJc0xvYWRpbmdNb3JlUmVmID0gdXNlUmVmKGZhbHNlKVxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICBwcmV2SXNMb2FkaW5nTW9yZVJlZi5jdXJyZW50ID0gaXNMb2FkaW5nTW9yZSA/PyBmYWxzZVxuICAgICAgfVxuICAgIH0sIFtpc0xvYWRpbmdNb3JlXSlcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBpZiAocHJldklzTG9hZGluZ01vcmVSZWYuY3VycmVudCkgcmV0dXJuXG4gICAgICB1cGRhdGVBY3RpdmVJbmRleCgwKVxuICAgIH0sIFthY3RpdmVUeXBlLCBpdGVtcy5sZW5ndGgsIHVwZGF0ZUFjdGl2ZUluZGV4XSlcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBsaXN0RWwgPSBsaXN0UmVmLmN1cnJlbnRcbiAgICAgIGlmICghbGlzdEVsIHx8IGl0ZW1zLmxlbmd0aCA9PT0gMCkgcmV0dXJuXG4gICAgICBjb25zdCBpdGVtRWxzID0gbGlzdEVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLW1lbnRpb24taXRlbV0nKVxuICAgICAgaXRlbUVsc1thY3RpdmVJbmRleF0/LnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KVxuICAgIH0sIFthY3RpdmVJbmRleCwgaXRlbXMubGVuZ3RoXSlcblxuICAgIGNvbnN0IGhhbmRsZVNlYXJjaEtleURvd24gPSB1c2VDYWxsYmFjayhcbiAgICAgIChlOiBLZXlib2FyZEV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB7XG4gICAgICAgIGlmIChlLmtleSA9PT0gJ0Fycm93RG93bicpIHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICB1cGRhdGVBY3RpdmVJbmRleChpdGVtcy5sZW5ndGggPiAwID8gTWF0aC5taW4oYWN0aXZlSW5kZXggKyAxLCBpdGVtcy5sZW5ndGggLSAxKSA6IDApXG4gICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdBcnJvd1VwJykge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIHVwZGF0ZUFjdGl2ZUluZGV4KE1hdGgubWF4KGFjdGl2ZUluZGV4IC0gMSwgMCkpXG4gICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICBjb25zdCBpdGVtID0gaXRlbXNbYWN0aXZlSW5kZXhdXG4gICAgICAgICAgaWYgKGl0ZW0pIG9uSXRlbVNlbGVjdGVkKGl0ZW0pXG4gICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgb25SZXF1ZXN0Q2xvc2U/LigpXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBbaXRlbXMsIGFjdGl2ZUluZGV4LCB1cGRhdGVBY3RpdmVJbmRleCwgb25JdGVtU2VsZWN0ZWQsIG9uUmVxdWVzdENsb3NlXVxuICAgIClcblxuICAgIGNvbnN0IGVtcHR5TWVzc2FnZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgaWYgKHNlYXJjaFZhbHVlLnRyaW0oKSkge1xuICAgICAgICByZXR1cm4gdCgnY29udGV4dE1lbnRpb24uZW1wdHkud2l0aFF1ZXJ5Jywge1xuICAgICAgICAgIHF1ZXJ5OiBzZWFyY2hWYWx1ZSxcbiAgICAgICAgICBkZWZhdWx0VmFsdWU6IGBObyBoYXkgcmVzdWx0YWRvcyBwYXJhIFwiJHtzZWFyY2hWYWx1ZX1cImAsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICByZXR1cm4gdCgnY29udGV4dE1lbnRpb24uZW1wdHkucmVjZW50cycsIHsgZGVmYXVsdFZhbHVlOiAnRW1wZXrDoSBhIGVzY3JpYmlyIHBhcmEgYnVzY2FyJyB9KVxuICAgIH0sIFtzZWFyY2hWYWx1ZSwgdF0pXG5cbiAgICBjb25zdCByZW5kZXJCb2R5ID0gKCkgPT4ge1xuICAgICAgaWYgKGxvYWRpbmcpIHtcbiAgICAgICAgcmV0dXJuIDxTQ01QU3RhdGVXcmFwcGVyPnt0KCdjb250ZXh0TWVudGlvbi5sb2FkaW5nJywgeyBkZWZhdWx0VmFsdWU6ICdCdXNjYW5kby4uLicgfSl9PC9TQ01QU3RhdGVXcmFwcGVyPlxuICAgICAgfVxuICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFNDTVBTdGF0ZVdyYXBwZXI+XG4gICAgICAgICAgICB7dCgnY29udGV4dE1lbnRpb24uZXJyb3InLCB7IGRlZmF1bHRWYWx1ZTogJ0h1Ym8gdW4gcHJvYmxlbWEgYWwgYnVzY2FyJyB9KX1cbiAgICAgICAgICA8L1NDTVBTdGF0ZVdyYXBwZXI+XG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIDxTQ01QU3RhdGVXcmFwcGVyPntlbXB0eU1lc3NhZ2V9PC9TQ01QU3RhdGVXcmFwcGVyPlxuICAgICAgfVxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFNDTVBMaXN0XG4gICAgICAgICAgcmVmPXtsaXN0UmVmfVxuICAgICAgICAgIGRhdGEta2V5Ym9hcmQtbmF2PXtpc0tleWJvYXJkTmF2QWN0aXZlIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgICBvbk1vdXNlTW92ZT17b25Nb3VzZU1vdmVJbkxpc3R9XG4gICAgICAgICAgb25TY3JvbGw9e2UgPT4ge1xuICAgICAgICAgICAgaWYgKCFvblJlYWNoTGlzdEVuZCB8fCAhaGFzTW9yZSB8fCBpc0xvYWRpbmdNb3JlKSByZXR1cm5cbiAgICAgICAgICAgIGNvbnN0IGVsID0gZS5jdXJyZW50VGFyZ2V0XG4gICAgICAgICAgICBjb25zdCB0aHJlc2hvbGQgPSAyNFxuICAgICAgICAgICAgY29uc3QgbmVhckJvdHRvbSA9IGVsLnNjcm9sbFRvcCArIGVsLmNsaWVudEhlaWdodCA+PSBlbC5zY3JvbGxIZWlnaHQgLSB0aHJlc2hvbGRcbiAgICAgICAgICAgIGlmIChuZWFyQm90dG9tKSB7XG4gICAgICAgICAgICAgIG9uUmVhY2hMaXN0RW5kKClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgeyFzZWFyY2hWYWx1ZS50cmltKCkgJiYgYWN0aXZlVHlwZSAhPT0gJ3VzZXInICYmICFoaWRlUmVjZW50c0xhYmVsID8gKFxuICAgICAgICAgICAgPFNDTVBSZWNlbnRzUm93PlxuICAgICAgICAgICAgICA8U0NNUFJlY2VudHNUaXRsZT5cbiAgICAgICAgICAgICAgICA8U0NNUFJlY2VudHNMYWJlbD57dCgnY29udGV4dE1lbnRpb24ucmVjZW50c1RpdGxlJywgeyBkZWZhdWx0VmFsdWU6ICdSZWNpZW50ZXMnIH0pfTwvU0NNUFJlY2VudHNMYWJlbD5cbiAgICAgICAgICAgICAgPC9TQ01QUmVjZW50c1RpdGxlPlxuICAgICAgICAgICAgPC9TQ01QUmVjZW50c1Jvdz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgICB7aXRlbXMubWFwKChpdGVtLCBpZHgpID0+IChcbiAgICAgICAgICAgIDxkaXYga2V5PXtgJHtpdGVtLnR5cGV9LSR7aXRlbS5pZH1gfSBkYXRhLW1lbnRpb24taXRlbSBzdHlsZT17eyB3aWR0aDogJzEwMCUnIH19PlxuICAgICAgICAgICAgICA8Q29udGV4dE1lbnRpb25JdGVtXG4gICAgICAgICAgICAgICAgaXRlbT17aXRlbX1cbiAgICAgICAgICAgICAgICBhY3RpdmU9e2lkeCA9PT0gYWN0aXZlSW5kZXh9XG4gICAgICAgICAgICAgICAgb25TZWxlY3Q9e29uSXRlbVNlbGVjdGVkfVxuICAgICAgICAgICAgICAgIG9uSG92ZXI9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmICghaXNLZXlib2FyZE5hdkFjdGl2ZSkgdXBkYXRlQWN0aXZlSW5kZXgoaWR4KVxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApKX1cbiAgICAgICAgICB7aXNMb2FkaW5nTW9yZSA/IChcbiAgICAgICAgICAgIDxTQ01QTG9hZE1vcmVSb3c+XG4gICAgICAgICAgICAgIDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgIDwvU0NNUExvYWRNb3JlUm93PlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1NDTVBMaXN0PlxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8U0NNUENvbnRhaW5lclxuICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgc3R5bGU9e3N0eWxlfVxuICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgIGFyaWEtbGFiZWw9XCJDb250ZXh0IG1lbnRpb24gcGlja2VyXCJcbiAgICAgICAgb25Nb3VzZURvd249e2UgPT4gZS5zdG9wUHJvcGFnYXRpb24oKX1cbiAgICAgID5cbiAgICAgICAge3Nob3dTZWFyY2hJbnB1dCA/IChcbiAgICAgICAgICA8U0NNUFNlYXJjaFJvdz5cbiAgICAgICAgICAgIHsvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUganN4LWExMXkvbm8tYXV0b2ZvY3VzICovfVxuICAgICAgICAgICAgPFNDTVBTZWFyY2hJbnB1dFxuICAgICAgICAgICAgICBhdXRvRm9jdXNcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICB2YWx1ZT17c2VhcmNoVmFsdWV9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtzZWFyY2hQbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e2UgPT4gb25TZWFyY2hDaGFuZ2U/LihlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAgIG9uS2V5RG93bj17aGFuZGxlU2VhcmNoS2V5RG93bn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TQ01QU2VhcmNoUm93PlxuICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPFNDTVBUYWJzUm93PlxuICAgICAgICAgIDxTQ01QVGFic0dyb3VwPlxuICAgICAgICAgICAge2FsbG93ZWRUeXBlcy5tYXAoKHR5cGUsIHRhYkluZGV4KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGxhYmVsID0gdChUQUJfSTE4Tl9LRVlTW3R5cGVdLCB7IGRlZmF1bHRWYWx1ZTogVEFCX0ZBTExCQUNLU1t0eXBlXSB9KVxuICAgICAgICAgICAgICBjb25zdCBhdFByZWZpeCA9IGhpZGVUYWJQcmVmaXggPyAnJyA6ICdAJy5yZXBlYXQodGFiSW5kZXggKyAxKVxuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxTQ01QVGFiXG4gICAgICAgICAgICAgICAgICBrZXk9e3R5cGV9XG4gICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9e2F0UHJlZml4ID8gYCR7YXRQcmVmaXh9ICR7bGFiZWx9YCA6IGxhYmVsfVxuICAgICAgICAgICAgICAgICAgJGFjdGl2ZT17dHlwZSA9PT0gYWN0aXZlVHlwZX1cbiAgICAgICAgICAgICAgICAgIG9uTW91c2VEb3duPXtlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICAgICAgICAgICAgb25UeXBlQ2hhbmdlKHR5cGUpXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHthdFByZWZpeH1cbiAgICAgICAgICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgICAgICAgICA8L1NDTVBUYWI+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvU0NNUFRhYnNHcm91cD5cbiAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17a2V5Ym9hcmRIaW50IHx8ICcnfT5cbiAgICAgICAgICAgIDxTQ01QS2V5Ym9hcmRIaW50PlxuICAgICAgICAgICAgICA8SW5mb3JtYXRpb25DaXJjbGUgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSBjb2xvcj1cIiM4MDgwODBcIiAvPlxuICAgICAgICAgICAgPC9TQ01QS2V5Ym9hcmRIaW50PlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9TQ01QVGFic1Jvdz5cbiAgICAgICAgPFNDTVBEaXZpZGVyV3JhcHBlcj5cbiAgICAgICAgICA8U0NNUERpdmlkZXIgLz5cbiAgICAgICAgPC9TQ01QRGl2aWRlcldyYXBwZXI+XG4gICAgICAgIHtyZW5kZXJCb2R5KCl9XG4gICAgICA8L1NDTVBDb250YWluZXI+XG4gICAgKVxuICB9XG4pXG5cbkNvbnRleHRNZW50aW9uUG9wb3Zlci5kaXNwbGF5TmFtZSA9ICdDb250ZXh0TWVudGlvblBvcG92ZXInXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUF3QkEsVUFBVSxFQUFpQkMsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUNuSCxTQUFTQyxpQkFBaUIsUUFBUSxvREFBb0Q7QUFDdEYsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBRTFDLFNBQVNDLGtCQUFrQixRQUFRLHVCQUF1QjtBQUMxRCxTQUFTQyxNQUFNLFFBQVEsV0FBVztBQUNsQyxTQUNFQyxhQUFhLEVBQ2JDLFdBQVcsRUFDWEMsa0JBQWtCLEVBQ2xCQyxnQkFBZ0IsRUFDaEJDLGNBQWMsRUFDZEMsZ0JBQWdCLEVBQ2hCQyxRQUFRLEVBQ1JDLGdCQUFnQixFQUNoQkMsZ0JBQWdCLEVBQ2hCQyxPQUFPLEVBQ1BDLGFBQWEsRUFDYkMsV0FBVyxFQUNYQyxlQUFlLEVBQ2ZDLGFBQWEsRUFDYkMsZUFBZSxRQUNWLGdDQUFnQztBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUE7QUFxQ3ZDLElBQU1DLGFBQWdELEdBQUc7RUFDdkRDLE1BQU0sRUFBRSw0QkFBNEI7RUFDcENDLE9BQU8sRUFBRSw2QkFBNkI7RUFDdENDLElBQUksRUFBRSwwQkFBMEI7RUFDaENDLElBQUksRUFBRSwwQkFBMEI7RUFDaENDLEdBQUcsRUFBRTtBQUNQLENBQUM7QUFFRCxJQUFNQyxhQUFnRCxHQUFHO0VBQ3ZETCxNQUFNLEVBQUUsU0FBUztFQUNqQkMsT0FBTyxFQUFFLFVBQVU7RUFDbkJDLElBQUksRUFBRSxPQUFPO0VBQ2JDLElBQUksRUFBRSxTQUFTO0VBQ2ZDLEdBQUcsRUFBRTtBQUNQLENBQUM7QUFFRCxPQUFPLElBQU1FLHFCQUFxQixnQkFBR3JDLFVBQVUsQ0FDN0MsVUFBQXNDLElBQUEsRUEwQkVDLEdBQUcsRUFDQTtFQUFBLElBekJEQyxZQUFZLEdBQUFGLElBQUEsQ0FBWkUsWUFBWTtJQUNaQyxVQUFVLEdBQUFILElBQUEsQ0FBVkcsVUFBVTtJQUNWQyxZQUFZLEdBQUFKLElBQUEsQ0FBWkksWUFBWTtJQUNaQyxLQUFLLEdBQUFMLElBQUEsQ0FBTEssS0FBSztJQUNMQyxPQUFPLEdBQUFOLElBQUEsQ0FBUE0sT0FBTztJQUNQQyxLQUFLLEdBQUFQLElBQUEsQ0FBTE8sS0FBSztJQUNMQyxnQkFBZ0IsR0FBQVIsSUFBQSxDQUFoQlEsZ0JBQWdCO0lBQ2hCQyxPQUFPLEdBQUFULElBQUEsQ0FBUFMsT0FBTztJQUNQQyxhQUFhLEdBQUFWLElBQUEsQ0FBYlUsYUFBYTtJQUNiQyxjQUFjLEdBQUFYLElBQUEsQ0FBZFcsY0FBYztJQUNkQyxXQUFXLEdBQUFaLElBQUEsQ0FBWFksV0FBVztJQUNYQyxjQUFjLEdBQUFiLElBQUEsQ0FBZGEsY0FBYztJQUNEQyxlQUFlLEdBQUFkLElBQUEsQ0FBNUJlLFdBQVc7SUFDWEMsbUJBQW1CLEdBQUFoQixJQUFBLENBQW5CZ0IsbUJBQW1CO0lBQ25CQyxtQkFBbUIsR0FBQWpCLElBQUEsQ0FBbkJpQixtQkFBbUI7SUFDbkJDLGlCQUFpQixHQUFBbEIsSUFBQSxDQUFqQmtCLGlCQUFpQjtJQUNqQkMsS0FBSyxHQUFBbkIsSUFBQSxDQUFMbUIsS0FBSztJQUNMQyxZQUFZLEdBQUFwQixJQUFBLENBQVpvQixZQUFZO0lBQ1pDLGVBQWUsR0FBQXJCLElBQUEsQ0FBZnFCLGVBQWU7SUFDZkMsaUJBQWlCLEdBQUF0QixJQUFBLENBQWpCc0IsaUJBQWlCO0lBQ2pCQyxjQUFjLEdBQUF2QixJQUFBLENBQWR1QixjQUFjO0lBQ2RDLGNBQWMsR0FBQXhCLElBQUEsQ0FBZHdCLGNBQWM7SUFDZEMsYUFBYSxHQUFBekIsSUFBQSxDQUFieUIsYUFBYTtFQUlmLElBQUFDLEtBQUEsR0FBY3hELElBQUksQ0FBQyxDQUFDO0lBQVp5RCxDQUFDLEdBQUFELEtBQUEsQ0FBREMsQ0FBQztFQUNULElBQUFDLFNBQUEsR0FBMEM3RCxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQUE4RCxVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUE5Q0csYUFBYSxHQUFBRixVQUFBO0lBQUVHLGdCQUFnQixHQUFBSCxVQUFBO0VBQ3RDLElBQU1kLFdBQVcsR0FBR0QsZUFBZSxhQUFmQSxlQUFlLGNBQWZBLGVBQWUsR0FBSWlCLGFBQWE7RUFDcEQsSUFBTUUsT0FBTyxHQUFHbkUsTUFBTSxDQUFpQixJQUFJLENBQUM7RUFFNUMsSUFBTW9FLGlCQUFpQixHQUFHdkUsV0FBVyxDQUNuQyxVQUFDd0UsR0FBVyxFQUFLO0lBQ2YsSUFBSW5CLG1CQUFtQixFQUFFQSxtQkFBbUIsQ0FBQ21CLEdBQUcsQ0FBQyxNQUM1Q0gsZ0JBQWdCLENBQUNHLEdBQUcsQ0FBQztFQUM1QixDQUFDLEVBQ0QsQ0FBQ25CLG1CQUFtQixDQUN0QixDQUFDOztFQUVEO0VBQ0EsSUFBTW9CLG9CQUFvQixHQUFHdEUsTUFBTSxDQUFDLEtBQUssQ0FBQztFQUMxQ0YsU0FBUyxDQUFDLFlBQU07SUFDZCxPQUFPLFlBQU07TUFDWHdFLG9CQUFvQixDQUFDQyxPQUFPLEdBQUczQixhQUFhLGFBQWJBLGFBQWEsY0FBYkEsYUFBYSxHQUFJLEtBQUs7SUFDdkQsQ0FBQztFQUNILENBQUMsRUFBRSxDQUFDQSxhQUFhLENBQUMsQ0FBQztFQUVuQjlDLFNBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSXdFLG9CQUFvQixDQUFDQyxPQUFPLEVBQUU7SUFDbENILGlCQUFpQixDQUFDLENBQUMsQ0FBQztFQUN0QixDQUFDLEVBQUUsQ0FBQy9CLFVBQVUsRUFBRUUsS0FBSyxDQUFDaUMsTUFBTSxFQUFFSixpQkFBaUIsQ0FBQyxDQUFDO0VBRWpEdEUsU0FBUyxDQUFDLFlBQU07SUFBQSxJQUFBMkUsb0JBQUE7SUFDZCxJQUFNQyxNQUFNLEdBQUdQLE9BQU8sQ0FBQ0ksT0FBTztJQUM5QixJQUFJLENBQUNHLE1BQU0sSUFBSW5DLEtBQUssQ0FBQ2lDLE1BQU0sS0FBSyxDQUFDLEVBQUU7SUFDbkMsSUFBTUcsT0FBTyxHQUFHRCxNQUFNLENBQUNFLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDO0lBQzlELENBQUFILG9CQUFBLEdBQUFFLE9BQU8sQ0FBQzFCLFdBQVcsQ0FBQyxjQUFBd0Isb0JBQUEsZUFBcEJBLG9CQUFBLENBQXNCSSxjQUFjLENBQUM7TUFBRUMsS0FBSyxFQUFFO0lBQVUsQ0FBQyxDQUFDO0VBQzVELENBQUMsRUFBRSxDQUFDN0IsV0FBVyxFQUFFVixLQUFLLENBQUNpQyxNQUFNLENBQUMsQ0FBQztFQUUvQixJQUFNTyxtQkFBbUIsR0FBR2xGLFdBQVcsQ0FDckMsVUFBQ21GLENBQWtDLEVBQUs7SUFDdEMsSUFBSUEsQ0FBQyxDQUFDQyxHQUFHLEtBQUssV0FBVyxFQUFFO01BQ3pCRCxDQUFDLENBQUNFLGNBQWMsQ0FBQyxDQUFDO01BQ2xCZCxpQkFBaUIsQ0FBQzdCLEtBQUssQ0FBQ2lDLE1BQU0sR0FBRyxDQUFDLEdBQUdXLElBQUksQ0FBQ0MsR0FBRyxDQUFDbkMsV0FBVyxHQUFHLENBQUMsRUFBRVYsS0FBSyxDQUFDaUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2RixDQUFDLE1BQU0sSUFBSVEsQ0FBQyxDQUFDQyxHQUFHLEtBQUssU0FBUyxFQUFFO01BQzlCRCxDQUFDLENBQUNFLGNBQWMsQ0FBQyxDQUFDO01BQ2xCZCxpQkFBaUIsQ0FBQ2UsSUFBSSxDQUFDRSxHQUFHLENBQUNwQyxXQUFXLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2pELENBQUMsTUFBTSxJQUFJK0IsQ0FBQyxDQUFDQyxHQUFHLEtBQUssT0FBTyxFQUFFO01BQzVCRCxDQUFDLENBQUNFLGNBQWMsQ0FBQyxDQUFDO01BQ2xCLElBQU1JLElBQUksR0FBRy9DLEtBQUssQ0FBQ1UsV0FBVyxDQUFDO01BQy9CLElBQUlxQyxJQUFJLEVBQUV2QyxjQUFjLENBQUN1QyxJQUFJLENBQUM7SUFDaEMsQ0FBQyxNQUFNLElBQUlOLENBQUMsQ0FBQ0MsR0FBRyxLQUFLLFFBQVEsRUFBRTtNQUM3QkQsQ0FBQyxDQUFDRSxjQUFjLENBQUMsQ0FBQztNQUNsQnhCLGNBQWMsYUFBZEEsY0FBYyxlQUFkQSxjQUFjLENBQUcsQ0FBQztJQUNwQjtFQUNGLENBQUMsRUFDRCxDQUFDbkIsS0FBSyxFQUFFVSxXQUFXLEVBQUVtQixpQkFBaUIsRUFBRXJCLGNBQWMsRUFBRVcsY0FBYyxDQUN4RSxDQUFDO0VBRUQsSUFBTTZCLFlBQVksR0FBR3hGLE9BQU8sQ0FBQyxZQUFNO0lBQ2pDLElBQUkrQyxXQUFXLENBQUMwQyxJQUFJLENBQUMsQ0FBQyxFQUFFO01BQ3RCLE9BQU8zQixDQUFDLENBQUMsZ0NBQWdDLEVBQUU7UUFDekM0QixLQUFLLEVBQUUzQyxXQUFXO1FBQ2xCNEMsWUFBWSw4QkFBQUMsTUFBQSxDQUE2QjdDLFdBQVc7TUFDdEQsQ0FBQyxDQUFDO0lBQ0o7SUFDQSxPQUFPZSxDQUFDLENBQUMsOEJBQThCLEVBQUU7TUFBRTZCLFlBQVksRUFBRTtJQUFnQyxDQUFDLENBQUM7RUFDN0YsQ0FBQyxFQUFFLENBQUM1QyxXQUFXLEVBQUVlLENBQUMsQ0FBQyxDQUFDO0VBRXBCLElBQU0rQixVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBQSxFQUFTO0lBQ3ZCLElBQUlwRCxPQUFPLEVBQUU7TUFDWCxvQkFBT2pCLElBQUEsQ0FBQ1QsZ0JBQWdCO1FBQUErRSxRQUFBLEVBQUVoQyxDQUFDLENBQUMsd0JBQXdCLEVBQUU7VUFBRTZCLFlBQVksRUFBRTtRQUFjLENBQUM7TUFBQyxDQUFtQixDQUFDO0lBQzVHO0lBQ0EsSUFBSWpELEtBQUssRUFBRTtNQUNULG9CQUNFbEIsSUFBQSxDQUFDVCxnQkFBZ0I7UUFBQStFLFFBQUEsRUFDZGhDLENBQUMsQ0FBQyxzQkFBc0IsRUFBRTtVQUFFNkIsWUFBWSxFQUFFO1FBQTZCLENBQUM7TUFBQyxDQUMxRCxDQUFDO0lBRXZCO0lBQ0EsSUFBSW5ELEtBQUssQ0FBQ2lDLE1BQU0sS0FBSyxDQUFDLEVBQUU7TUFDdEIsb0JBQU9qRCxJQUFBLENBQUNULGdCQUFnQjtRQUFBK0UsUUFBQSxFQUFFTjtNQUFZLENBQW1CLENBQUM7SUFDNUQ7SUFDQSxvQkFDRTlELEtBQUEsQ0FBQ1osUUFBUTtNQUNQc0IsR0FBRyxFQUFFZ0MsT0FBUTtNQUNiLHFCQUFtQmhCLG1CQUFtQixJQUFJMkMsU0FBVTtNQUNwREMsV0FBVyxFQUFFM0MsaUJBQWtCO01BQy9CNEMsUUFBUSxFQUFFLFNBQVZBLFFBQVFBLENBQUVoQixDQUFDLEVBQUk7UUFDYixJQUFJLENBQUNuQyxjQUFjLElBQUksQ0FBQ0YsT0FBTyxJQUFJQyxhQUFhLEVBQUU7UUFDbEQsSUFBTXFELEVBQUUsR0FBR2pCLENBQUMsQ0FBQ2tCLGFBQWE7UUFDMUIsSUFBTUMsU0FBUyxHQUFHLEVBQUU7UUFDcEIsSUFBTUMsVUFBVSxHQUFHSCxFQUFFLENBQUNJLFNBQVMsR0FBR0osRUFBRSxDQUFDSyxZQUFZLElBQUlMLEVBQUUsQ0FBQ00sWUFBWSxHQUFHSixTQUFTO1FBQ2hGLElBQUlDLFVBQVUsRUFBRTtVQUNkdkQsY0FBYyxDQUFDLENBQUM7UUFDbEI7TUFDRixDQUFFO01BQUFnRCxRQUFBLEdBRUQsQ0FBQy9DLFdBQVcsQ0FBQzBDLElBQUksQ0FBQyxDQUFDLElBQUluRCxVQUFVLEtBQUssTUFBTSxJQUFJLENBQUNLLGdCQUFnQixnQkFDaEVuQixJQUFBLENBQUNaLGNBQWM7UUFBQWtGLFFBQUEsZUFDYnRFLElBQUEsQ0FBQ1gsZ0JBQWdCO1VBQUFpRixRQUFBLGVBQ2Z0RSxJQUFBLENBQUNiLGdCQUFnQjtZQUFBbUYsUUFBQSxFQUFFaEMsQ0FBQyxDQUFDLDZCQUE2QixFQUFFO2NBQUU2QixZQUFZLEVBQUU7WUFBWSxDQUFDO1VBQUMsQ0FBbUI7UUFBQyxDQUN0RjtNQUFDLENBQ0wsQ0FBQyxHQUNmLElBQUksRUFDUG5ELEtBQUssQ0FBQ2lFLEdBQUcsQ0FBQyxVQUFDbEIsSUFBSSxFQUFFakIsR0FBRztRQUFBLG9CQUNuQjlDLElBQUE7VUFBcUMseUJBQWlCO1VBQUM4QixLQUFLLEVBQUU7WUFBRW9ELEtBQUssRUFBRTtVQUFPLENBQUU7VUFBQVosUUFBQSxlQUM5RXRFLElBQUEsQ0FBQ2xCLGtCQUFrQjtZQUNqQmlGLElBQUksRUFBRUEsSUFBSztZQUNYb0IsTUFBTSxFQUFFckMsR0FBRyxLQUFLcEIsV0FBWTtZQUM1QjBELFFBQVEsRUFBRTVELGNBQWU7WUFDekI2RCxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUFRO2NBQ2IsSUFBSSxDQUFDekQsbUJBQW1CLEVBQUVpQixpQkFBaUIsQ0FBQ0MsR0FBRyxDQUFDO1lBQ2xEO1VBQUUsQ0FDSDtRQUFDLE1BQUFzQixNQUFBLENBUlNMLElBQUksQ0FBQ3VCLElBQUksT0FBQWxCLE1BQUEsQ0FBSUwsSUFBSSxDQUFDd0IsRUFBRSxDQVM1QixDQUFDO01BQUEsQ0FDUCxDQUFDLEVBQ0RsRSxhQUFhLGdCQUNackIsSUFBQSxDQUFDSixlQUFlO1FBQUEwRSxRQUFBLGVBQ2R0RSxJQUFBLENBQUNqQixNQUFNO1VBQUN5RyxJQUFJLEVBQUM7UUFBTyxDQUFFO01BQUMsQ0FDUixDQUFDLEdBQ2hCLElBQUk7SUFBQSxDQUNBLENBQUM7RUFFZixDQUFDO0VBRUQsb0JBQ0V0RixLQUFBLENBQUNsQixhQUFhO0lBQ1o0QixHQUFHLEVBQUVBLEdBQUk7SUFDVGtCLEtBQUssRUFBRUEsS0FBTTtJQUNiMkQsSUFBSSxFQUFDLFNBQVM7SUFDZCxjQUFXLHdCQUF3QjtJQUNuQ0MsV0FBVyxFQUFFLFNBQWJBLFdBQVdBLENBQUVqQyxDQUFDO01BQUEsT0FBSUEsQ0FBQyxDQUFDa0MsZUFBZSxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQUFyQixRQUFBLEdBRXJDdEMsZUFBZSxnQkFDZGhDLElBQUEsQ0FBQ0gsYUFBYTtNQUFBeUUsUUFBQSxlQUVadEUsSUFBQSxDQUFDRixlQUFlO1FBQ2Q4RixTQUFTO1FBQ1ROLElBQUksRUFBQyxNQUFNO1FBQ1hPLEtBQUssRUFBRXRFLFdBQVk7UUFDbkJ1RSxXQUFXLEVBQUU3RCxpQkFBa0I7UUFDL0I4RCxRQUFRLEVBQUUsU0FBVkEsUUFBUUEsQ0FBRXRDLENBQUM7VUFBQSxPQUFJdkIsY0FBYyxhQUFkQSxjQUFjLHVCQUFkQSxjQUFjLENBQUd1QixDQUFDLENBQUN1QyxNQUFNLENBQUNILEtBQUssQ0FBQztRQUFBLENBQUM7UUFDaERJLFNBQVMsRUFBRXpDO01BQW9CLENBQ2hDO0lBQUMsQ0FDVyxDQUFDLEdBQ2QsSUFBSSxlQUNSdEQsS0FBQSxDQUFDUCxXQUFXO01BQUEyRSxRQUFBLGdCQUNWdEUsSUFBQSxDQUFDTixhQUFhO1FBQUE0RSxRQUFBLEVBQ1h6RCxZQUFZLENBQUNvRSxHQUFHLENBQUMsVUFBQ0ssSUFBSSxFQUFFWSxRQUFRLEVBQUs7VUFDcEMsSUFBTUMsS0FBSyxHQUFHN0QsQ0FBQyxDQUFDbkMsYUFBYSxDQUFDbUYsSUFBSSxDQUFDLEVBQUU7WUFBRW5CLFlBQVksRUFBRTFELGFBQWEsQ0FBQzZFLElBQUk7VUFBRSxDQUFDLENBQUM7VUFDM0UsSUFBTWMsUUFBUSxHQUFHaEUsYUFBYSxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUNpRSxNQUFNLENBQUNILFFBQVEsR0FBRyxDQUFDLENBQUM7VUFDOUQsb0JBQ0VoRyxLQUFBLENBQUNULE9BQU87WUFFTjZGLElBQUksRUFBQyxRQUFRO1lBQ2IsY0FBWWMsUUFBUSxNQUFBaEMsTUFBQSxDQUFNZ0MsUUFBUSxPQUFBaEMsTUFBQSxDQUFJK0IsS0FBSyxJQUFLQSxLQUFNO1lBQ3RERyxPQUFPLEVBQUVoQixJQUFJLEtBQUt4RSxVQUFXO1lBQzdCNEUsV0FBVyxFQUFFLFNBQWJBLFdBQVdBLENBQUVqQyxDQUFDLEVBQUk7Y0FDaEJBLENBQUMsQ0FBQ0UsY0FBYyxDQUFDLENBQUM7Y0FDbEJGLENBQUMsQ0FBQ2tDLGVBQWUsQ0FBQyxDQUFDO2NBQ25CNUUsWUFBWSxDQUFDdUUsSUFBSSxDQUFDO1lBQ3BCLENBQUU7WUFBQWhCLFFBQUEsR0FFRDhCLFFBQVEsRUFDUkQsS0FBSztVQUFBLEdBWERiLElBWUUsQ0FBQztRQUVkLENBQUM7TUFBQyxDQUNXLENBQUMsZUFDaEJ0RixJQUFBLENBQUNwQixPQUFPO1FBQUMySCxLQUFLLEVBQUV4RSxZQUFZLElBQUksRUFBRztRQUFBdUMsUUFBQSxlQUNqQ3RFLElBQUEsQ0FBQ1IsZ0JBQWdCO1VBQUE4RSxRQUFBLGVBQ2Z0RSxJQUFBLENBQUNyQixpQkFBaUI7WUFBQ3VHLEtBQUssRUFBRSxFQUFHO1lBQUNzQixNQUFNLEVBQUUsRUFBRztZQUFDQyxLQUFLLEVBQUM7VUFBUyxDQUFFO1FBQUMsQ0FDNUM7TUFBQyxDQUNaLENBQUM7SUFBQSxDQUNDLENBQUMsZUFDZHpHLElBQUEsQ0FBQ2Qsa0JBQWtCO01BQUFvRixRQUFBLGVBQ2pCdEUsSUFBQSxDQUFDZixXQUFXLElBQUU7SUFBQyxDQUNHLENBQUMsRUFDcEJvRixVQUFVLENBQUMsQ0FBQztFQUFBLENBQ0EsQ0FBQztBQUVwQixDQUNGLENBQUM7QUFFRDNELHFCQUFxQixDQUFDZ0csV0FBVyxHQUFHLHVCQUF1QiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
225
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmb3J3YXJkUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJJbmZvcm1hdGlvbkNpcmNsZSIsIlRvb2x0aXAiLCJ1c2VUIiwiZ2V0TWVudGlvblRhYlByZWZpeCIsIkNvbnRleHRNZW50aW9uSXRlbSIsIkxvYWRlciIsIlNDTVBDb250YWluZXIiLCJTQ01QRGl2aWRlciIsIlNDTVBEaXZpZGVyV3JhcHBlciIsIlNDTVBSZWNlbnRzTGFiZWwiLCJTQ01QUmVjZW50c1JvdyIsIlNDTVBSZWNlbnRzVGl0bGUiLCJTQ01QTGlzdCIsIlNDTVBTdGF0ZVdyYXBwZXIiLCJTQ01QS2V5Ym9hcmRIaW50IiwiU0NNUFRhYiIsIlNDTVBUYWJzR3JvdXAiLCJTQ01QVGFic1JvdyIsIlNDTVBMb2FkTW9yZVJvdyIsIlNDTVBTZWFyY2hSb3ciLCJTQ01QU2VhcmNoSW5wdXQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiVEFCX0kxOE5fS0VZUyIsImNsaWVudCIsInByb2plY3QiLCJ0YXNrIiwidXNlciIsIm1jcCIsIlRBQl9GQUxMQkFDS1MiLCJDb250ZXh0TWVudGlvblBvcG92ZXIiLCJfcmVmIiwicmVmIiwiYWxsb3dlZFR5cGVzIiwiYWN0aXZlVHlwZSIsIm9uVHlwZUNoYW5nZSIsIml0ZW1zIiwibG9hZGluZyIsImVycm9yIiwiaGlkZVJlY2VudHNMYWJlbCIsImhhc01vcmUiLCJpc0xvYWRpbmdNb3JlIiwib25SZWFjaExpc3RFbmQiLCJzZWFyY2hWYWx1ZSIsIm9uSXRlbVNlbGVjdGVkIiwiY29udHJvbGxlZEluZGV4IiwiYWN0aXZlSW5kZXgiLCJvbkFjdGl2ZUluZGV4Q2hhbmdlIiwiaXNLZXlib2FyZE5hdkFjdGl2ZSIsIm9uTW91c2VNb3ZlSW5MaXN0Iiwic3R5bGUiLCJrZXlib2FyZEhpbnQiLCJzaG93U2VhcmNoSW5wdXQiLCJzZWFyY2hQbGFjZWhvbGRlciIsIm9uU2VhcmNoQ2hhbmdlIiwib25SZXF1ZXN0Q2xvc2UiLCJoaWRlVGFiUHJlZml4IiwiX3VzZVQiLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaW50ZXJuYWxJbmRleCIsInNldEludGVybmFsSW5kZXgiLCJsaXN0UmVmIiwidXBkYXRlQWN0aXZlSW5kZXgiLCJpZHgiLCJwcmV2SXNMb2FkaW5nTW9yZVJlZiIsImN1cnJlbnQiLCJsZW5ndGgiLCJfaXRlbUVscyRhY3RpdmVJbmRleCIsImxpc3RFbCIsIml0ZW1FbHMiLCJxdWVyeVNlbGVjdG9yQWxsIiwic2Nyb2xsSW50b1ZpZXciLCJibG9jayIsImhhbmRsZVNlYXJjaEtleURvd24iLCJlIiwia2V5IiwicHJldmVudERlZmF1bHQiLCJNYXRoIiwibWluIiwibWF4IiwiaXRlbSIsImVtcHR5TWVzc2FnZSIsInRyaW0iLCJxdWVyeSIsImRlZmF1bHRWYWx1ZSIsImNvbmNhdCIsInJlbmRlckJvZHkiLCJjaGlsZHJlbiIsInVuZGVmaW5lZCIsIm9uTW91c2VNb3ZlIiwib25TY3JvbGwiLCJlbCIsImN1cnJlbnRUYXJnZXQiLCJ0aHJlc2hvbGQiLCJuZWFyQm90dG9tIiwic2Nyb2xsVG9wIiwiY2xpZW50SGVpZ2h0Iiwic2Nyb2xsSGVpZ2h0IiwibWFwIiwid2lkdGgiLCJhY3RpdmUiLCJvblNlbGVjdCIsIm9uSG92ZXIiLCJ0eXBlIiwiaWQiLCJzaXplIiwicm9sZSIsIm9uTW91c2VEb3duIiwic3RvcFByb3BhZ2F0aW9uIiwiYXV0b0ZvY3VzIiwidmFsdWUiLCJwbGFjZWhvbGRlciIsIm9uQ2hhbmdlIiwidGFyZ2V0Iiwib25LZXlEb3duIiwibGFiZWwiLCJhdFByZWZpeCIsIiRhY3RpdmUiLCJ0aXRsZSIsImhlaWdodCIsImNvbG9yIiwiZGlzcGxheU5hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9Db250ZXh0TWVudGlvblBvcG92ZXIvQ29udGV4dE1lbnRpb25Qb3BvdmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDU1NQcm9wZXJ0aWVzLCBmb3J3YXJkUmVmLCBLZXlib2FyZEV2ZW50LCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBJbmZvcm1hdGlvbkNpcmNsZSB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0luZm9ybWF0aW9uQ2lyY2xlJ1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSwgQ29udGV4dE1lbnRpb25JdGVtIGFzIENvbnRleHRNZW50aW9uSXRlbVR5cGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IGdldE1lbnRpb25UYWJQcmVmaXggfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb250ZXh0TWVudGlvblRyaWdnZXJzJ1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb25JdGVtIH0gZnJvbSAnLi4vQ29udGV4dE1lbnRpb25JdGVtJ1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vTG9hZGVyJ1xuaW1wb3J0IHtcbiAgU0NNUENvbnRhaW5lcixcbiAgU0NNUERpdmlkZXIsXG4gIFNDTVBEaXZpZGVyV3JhcHBlcixcbiAgU0NNUFJlY2VudHNMYWJlbCxcbiAgU0NNUFJlY2VudHNSb3csXG4gIFNDTVBSZWNlbnRzVGl0bGUsXG4gIFNDTVBMaXN0LFxuICBTQ01QU3RhdGVXcmFwcGVyLFxuICBTQ01QS2V5Ym9hcmRIaW50LFxuICBTQ01QVGFiLFxuICBTQ01QVGFic0dyb3VwLFxuICBTQ01QVGFic1JvdyxcbiAgU0NNUExvYWRNb3JlUm93LFxuICBTQ01QU2VhcmNoUm93LFxuICBTQ01QU2VhcmNoSW5wdXQsXG59IGZyb20gJy4vQ29udGV4dE1lbnRpb25Qb3BvdmVyLnN0eWxlcydcblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnRpb25Qb3BvdmVyUHJvcHMgPSB7XG4gIGFsbG93ZWRUeXBlczogQ29udGV4dEVudGl0eVR5cGVbXVxuICBhY3RpdmVUeXBlOiBDb250ZXh0RW50aXR5VHlwZVxuICBvblR5cGVDaGFuZ2U6ICh0eXBlOiBDb250ZXh0RW50aXR5VHlwZSkgPT4gdm9pZFxuICBpdGVtczogQ29udGV4dE1lbnRpb25JdGVtVHlwZVtdXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgZXJyb3I6IGJvb2xlYW5cbiAgaGlkZVJlY2VudHNMYWJlbD86IGJvb2xlYW5cbiAgaGFzTW9yZT86IGJvb2xlYW5cbiAgaXNMb2FkaW5nTW9yZT86IGJvb2xlYW5cbiAgb25SZWFjaExpc3RFbmQ/OiAoKSA9PiB2b2lkXG4gIHNlYXJjaFZhbHVlOiBzdHJpbmdcbiAgb25JdGVtU2VsZWN0ZWQ6IChpdGVtOiBDb250ZXh0TWVudGlvbkl0ZW1UeXBlKSA9PiB2b2lkXG4gIC8qKiDDjW5kaWNlIHByZXNlbGVjY2lvbmFkbyAobmF2ZWdhY2nDs24gcG9yIHRlY2xhZG8gZXh0ZXJuYSkuIFNpIG5vIHNlIHBhc2EsIHNlIG1hbmVqYSBpbnRlcm5hbWVudGUuICovXG4gIGFjdGl2ZUluZGV4PzogbnVtYmVyXG4gIG9uQWN0aXZlSW5kZXhDaGFuZ2U/OiAoaWR4OiBudW1iZXIpID0+IHZvaWRcbiAgaXNLZXlib2FyZE5hdkFjdGl2ZT86IGJvb2xlYW5cbiAgb25Nb3VzZU1vdmVJbkxpc3Q/OiAoKSA9PiB2b2lkXG4gIHN0eWxlPzogQ1NTUHJvcGVydGllc1xuICBrZXlib2FyZEhpbnQ/OiBzdHJpbmdcbiAgLyoqXG4gICAqIE1vZG8gXCJwaW5cIiAoc2VndW5kbyBwdW50byBkZSBlbnRyYWRhLCBSRkMgwqc2KTogcmVuZGVyaXphIHVuIGlucHV0IGRlIGLDunNxdWVkYSBwcm9waW9cbiAgICogKGVuIG1lbmNpb25lcyBlbCB0ZXh0byBsbyBwcm92ZWUgZWwgZWRpdG9yKS4gSGFiaWxpdGEgbmF2ZWdhY2nDs24gcG9yIHRlY2xhZG8gaW50ZXJuYS5cbiAgICovXG4gIHNob3dTZWFyY2hJbnB1dD86IGJvb2xlYW5cbiAgLyoqIFBsYWNlaG9sZGVyIGRlbCBpbnB1dCBkZSBiw7pzcXVlZGEgZW4gbW9kbyBwaW4uICovXG4gIHNlYXJjaFBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIC8qKiBDYW1iaW9zIGRlbCBpbnB1dCBkZSBiw7pzcXVlZGEgZW4gbW9kbyBwaW4gKGNvbnRyb2xhZG8gcG9yIGBzZWFyY2hWYWx1ZWApLiAqL1xuICBvblNlYXJjaENoYW5nZT86ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkXG4gIC8qKiBFc2NhcGUgZGVudHJvIGRlbCBpbnB1dCBkZSBiw7pzcXVlZGEgZW4gbW9kbyBwaW4uICovXG4gIG9uUmVxdWVzdENsb3NlPzogKCkgPT4gdm9pZFxuICAvKiogT2N1bHRhIGVsIHByZWZpam8gYEBgL2BAQGAgZGUgbGFzIHRhYnMgKG5vIGFwbGljYSBlbiBtb2RvIHBpbikuICovXG4gIGhpZGVUYWJQcmVmaXg/OiBib29sZWFuXG59XG5cbmNvbnN0IFRBQl9JMThOX0tFWVM6IFJlY29yZDxDb250ZXh0RW50aXR5VHlwZSwgc3RyaW5nPiA9IHtcbiAgY2xpZW50OiAnY29udGV4dE1lbnRpb24udGFicy5jbGllbnQnLFxuICBwcm9qZWN0OiAnY29udGV4dE1lbnRpb24udGFicy5wcm9qZWN0JyxcbiAgdGFzazogJ2NvbnRleHRNZW50aW9uLnRhYnMudGFzaycsXG4gIHVzZXI6ICdjb250ZXh0TWVudGlvbi50YWJzLnVzZXInLFxuICBtY3A6ICdjb250ZXh0TWVudGlvbi50YWJzLm1jcCcsXG59XG5cbmNvbnN0IFRBQl9GQUxMQkFDS1M6IFJlY29yZDxDb250ZXh0RW50aXR5VHlwZSwgc3RyaW5nPiA9IHtcbiAgY2xpZW50OiAnQ2xpZW50ZScsXG4gIHByb2plY3Q6ICdQcm95ZWN0bycsXG4gIHRhc2s6ICdUYXJlYScsXG4gIHVzZXI6ICdVc3VhcmlvJyxcbiAgbWNwOiAnQ29uZWN0b3JlcycsXG59XG5cbmV4cG9ydCBjb25zdCBDb250ZXh0TWVudGlvblBvcG92ZXIgPSBmb3J3YXJkUmVmPEhUTUxEaXZFbGVtZW50LCBDb250ZXh0TWVudGlvblBvcG92ZXJQcm9wcz4oXG4gIChcbiAgICB7XG4gICAgICBhbGxvd2VkVHlwZXMsXG4gICAgICBhY3RpdmVUeXBlLFxuICAgICAgb25UeXBlQ2hhbmdlLFxuICAgICAgaXRlbXMsXG4gICAgICBsb2FkaW5nLFxuICAgICAgZXJyb3IsXG4gICAgICBoaWRlUmVjZW50c0xhYmVsLFxuICAgICAgaGFzTW9yZSxcbiAgICAgIGlzTG9hZGluZ01vcmUsXG4gICAgICBvblJlYWNoTGlzdEVuZCxcbiAgICAgIHNlYXJjaFZhbHVlLFxuICAgICAgb25JdGVtU2VsZWN0ZWQsXG4gICAgICBhY3RpdmVJbmRleDogY29udHJvbGxlZEluZGV4LFxuICAgICAgb25BY3RpdmVJbmRleENoYW5nZSxcbiAgICAgIGlzS2V5Ym9hcmROYXZBY3RpdmUsXG4gICAgICBvbk1vdXNlTW92ZUluTGlzdCxcbiAgICAgIHN0eWxlLFxuICAgICAga2V5Ym9hcmRIaW50LFxuICAgICAgc2hvd1NlYXJjaElucHV0LFxuICAgICAgc2VhcmNoUGxhY2Vob2xkZXIsXG4gICAgICBvblNlYXJjaENoYW5nZSxcbiAgICAgIG9uUmVxdWVzdENsb3NlLFxuICAgICAgaGlkZVRhYlByZWZpeCxcbiAgICB9LFxuICAgIHJlZlxuICApID0+IHtcbiAgICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICAgIGNvbnN0IFtpbnRlcm5hbEluZGV4LCBzZXRJbnRlcm5hbEluZGV4XSA9IHVzZVN0YXRlKDApXG4gICAgY29uc3QgYWN0aXZlSW5kZXggPSBjb250cm9sbGVkSW5kZXggPz8gaW50ZXJuYWxJbmRleFxuICAgIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgICBjb25zdCB1cGRhdGVBY3RpdmVJbmRleCA9IHVzZUNhbGxiYWNrKFxuICAgICAgKGlkeDogbnVtYmVyKSA9PiB7XG4gICAgICAgIGlmIChvbkFjdGl2ZUluZGV4Q2hhbmdlKSBvbkFjdGl2ZUluZGV4Q2hhbmdlKGlkeClcbiAgICAgICAgZWxzZSBzZXRJbnRlcm5hbEluZGV4KGlkeClcbiAgICAgIH0sXG4gICAgICBbb25BY3RpdmVJbmRleENoYW5nZV1cbiAgICApXG5cbiAgICAvLyBSZXNldCBhbCBjYW1iaWFyIGRlIHRhYiBvIGNhbnRpZGFkIGRlIHJlc3VsdGFkb3MgKG5vIGVuIGxvYWQgbW9yZSlcbiAgICBjb25zdCBwcmV2SXNMb2FkaW5nTW9yZVJlZiA9IHVzZVJlZihmYWxzZSlcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgcHJldklzTG9hZGluZ01vcmVSZWYuY3VycmVudCA9IGlzTG9hZGluZ01vcmUgPz8gZmFsc2VcbiAgICAgIH1cbiAgICB9LCBbaXNMb2FkaW5nTW9yZV0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgaWYgKHByZXZJc0xvYWRpbmdNb3JlUmVmLmN1cnJlbnQpIHJldHVyblxuICAgICAgdXBkYXRlQWN0aXZlSW5kZXgoMClcbiAgICB9LCBbYWN0aXZlVHlwZSwgaXRlbXMubGVuZ3RoLCB1cGRhdGVBY3RpdmVJbmRleF0pXG5cbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3QgbGlzdEVsID0gbGlzdFJlZi5jdXJyZW50XG4gICAgICBpZiAoIWxpc3RFbCB8fCBpdGVtcy5sZW5ndGggPT09IDApIHJldHVyblxuICAgICAgY29uc3QgaXRlbUVscyA9IGxpc3RFbC5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1tZW50aW9uLWl0ZW1dJylcbiAgICAgIGl0ZW1FbHNbYWN0aXZlSW5kZXhdPy5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSlcbiAgICB9LCBbYWN0aXZlSW5kZXgsIGl0ZW1zLmxlbmd0aF0pXG5cbiAgICBjb25zdCBoYW5kbGVTZWFyY2hLZXlEb3duID0gdXNlQ2FsbGJhY2soXG4gICAgICAoZTogS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgICAgICBpZiAoZS5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgdXBkYXRlQWN0aXZlSW5kZXgoaXRlbXMubGVuZ3RoID4gMCA/IE1hdGgubWluKGFjdGl2ZUluZGV4ICsgMSwgaXRlbXMubGVuZ3RoIC0gMSkgOiAwKVxuICAgICAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICB1cGRhdGVBY3RpdmVJbmRleChNYXRoLm1heChhY3RpdmVJbmRleCAtIDEsIDApKVxuICAgICAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnRW50ZXInKSB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2FjdGl2ZUluZGV4XVxuICAgICAgICAgIGlmIChpdGVtKSBvbkl0ZW1TZWxlY3RlZChpdGVtKVxuICAgICAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIG9uUmVxdWVzdENsb3NlPy4oKVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgW2l0ZW1zLCBhY3RpdmVJbmRleCwgdXBkYXRlQWN0aXZlSW5kZXgsIG9uSXRlbVNlbGVjdGVkLCBvblJlcXVlc3RDbG9zZV1cbiAgICApXG5cbiAgICBjb25zdCBlbXB0eU1lc3NhZ2UgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmIChzZWFyY2hWYWx1ZS50cmltKCkpIHtcbiAgICAgICAgcmV0dXJuIHQoJ2NvbnRleHRNZW50aW9uLmVtcHR5LndpdGhRdWVyeScsIHtcbiAgICAgICAgICBxdWVyeTogc2VhcmNoVmFsdWUsXG4gICAgICAgICAgZGVmYXVsdFZhbHVlOiBgTm8gaGF5IHJlc3VsdGFkb3MgcGFyYSBcIiR7c2VhcmNoVmFsdWV9XCJgLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgcmV0dXJuIHQoJ2NvbnRleHRNZW50aW9uLmVtcHR5LnJlY2VudHMnLCB7IGRlZmF1bHRWYWx1ZTogJ0VtcGV6w6EgYSBlc2NyaWJpciBwYXJhIGJ1c2NhcicgfSlcbiAgICB9LCBbc2VhcmNoVmFsdWUsIHRdKVxuXG4gICAgY29uc3QgcmVuZGVyQm9keSA9ICgpID0+IHtcbiAgICAgIGlmIChsb2FkaW5nKSB7XG4gICAgICAgIHJldHVybiA8U0NNUFN0YXRlV3JhcHBlcj57dCgnY29udGV4dE1lbnRpb24ubG9hZGluZycsIHsgZGVmYXVsdFZhbHVlOiAnQnVzY2FuZG8uLi4nIH0pfTwvU0NNUFN0YXRlV3JhcHBlcj5cbiAgICAgIH1cbiAgICAgIGlmIChlcnJvcikge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTQ01QU3RhdGVXcmFwcGVyPlxuICAgICAgICAgICAge3QoJ2NvbnRleHRNZW50aW9uLmVycm9yJywgeyBkZWZhdWx0VmFsdWU6ICdIdWJvIHVuIHByb2JsZW1hIGFsIGJ1c2NhcicgfSl9XG4gICAgICAgICAgPC9TQ01QU3RhdGVXcmFwcGVyPlxuICAgICAgICApXG4gICAgICB9XG4gICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiA8U0NNUFN0YXRlV3JhcHBlcj57ZW1wdHlNZXNzYWdlfTwvU0NNUFN0YXRlV3JhcHBlcj5cbiAgICAgIH1cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxTQ01QTGlzdFxuICAgICAgICAgIHJlZj17bGlzdFJlZn1cbiAgICAgICAgICBkYXRhLWtleWJvYXJkLW5hdj17aXNLZXlib2FyZE5hdkFjdGl2ZSB8fCB1bmRlZmluZWR9XG4gICAgICAgICAgb25Nb3VzZU1vdmU9e29uTW91c2VNb3ZlSW5MaXN0fVxuICAgICAgICAgIG9uU2Nyb2xsPXtlID0+IHtcbiAgICAgICAgICAgIGlmICghb25SZWFjaExpc3RFbmQgfHwgIWhhc01vcmUgfHwgaXNMb2FkaW5nTW9yZSkgcmV0dXJuXG4gICAgICAgICAgICBjb25zdCBlbCA9IGUuY3VycmVudFRhcmdldFxuICAgICAgICAgICAgY29uc3QgdGhyZXNob2xkID0gMjRcbiAgICAgICAgICAgIGNvbnN0IG5lYXJCb3R0b20gPSBlbC5zY3JvbGxUb3AgKyBlbC5jbGllbnRIZWlnaHQgPj0gZWwuc2Nyb2xsSGVpZ2h0IC0gdGhyZXNob2xkXG4gICAgICAgICAgICBpZiAobmVhckJvdHRvbSkge1xuICAgICAgICAgICAgICBvblJlYWNoTGlzdEVuZCgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHshc2VhcmNoVmFsdWUudHJpbSgpICYmIGFjdGl2ZVR5cGUgIT09ICd1c2VyJyAmJiAhaGlkZVJlY2VudHNMYWJlbCA/IChcbiAgICAgICAgICAgIDxTQ01QUmVjZW50c1Jvdz5cbiAgICAgICAgICAgICAgPFNDTVBSZWNlbnRzVGl0bGU+XG4gICAgICAgICAgICAgICAgPFNDTVBSZWNlbnRzTGFiZWw+e3QoJ2NvbnRleHRNZW50aW9uLnJlY2VudHNUaXRsZScsIHsgZGVmYXVsdFZhbHVlOiAnUmVjaWVudGVzJyB9KX08L1NDTVBSZWNlbnRzTGFiZWw+XG4gICAgICAgICAgICAgIDwvU0NNUFJlY2VudHNUaXRsZT5cbiAgICAgICAgICAgIDwvU0NNUFJlY2VudHNSb3c+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAge2l0ZW1zLm1hcCgoaXRlbSwgaWR4KSA9PiAoXG4gICAgICAgICAgICA8ZGl2IGtleT17YCR7aXRlbS50eXBlfS0ke2l0ZW0uaWR9YH0gZGF0YS1tZW50aW9uLWl0ZW0gc3R5bGU9e3sgd2lkdGg6ICcxMDAlJyB9fT5cbiAgICAgICAgICAgICAgPENvbnRleHRNZW50aW9uSXRlbVxuICAgICAgICAgICAgICAgIGl0ZW09e2l0ZW19XG4gICAgICAgICAgICAgICAgYWN0aXZlPXtpZHggPT09IGFjdGl2ZUluZGV4fVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXtvbkl0ZW1TZWxlY3RlZH1cbiAgICAgICAgICAgICAgICBvbkhvdmVyPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoIWlzS2V5Ym9hcmROYXZBY3RpdmUpIHVwZGF0ZUFjdGl2ZUluZGV4KGlkeClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgICAge2lzTG9hZGluZ01vcmUgPyAoXG4gICAgICAgICAgICA8U0NNUExvYWRNb3JlUm93PlxuICAgICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgICA8L1NDTVBMb2FkTW9yZVJvdz5cbiAgICAgICAgICApIDogbnVsbH1cbiAgICAgICAgPC9TQ01QTGlzdD5cbiAgICAgIClcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFNDTVBDb250YWluZXJcbiAgICAgICAgcmVmPXtyZWZ9XG4gICAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgICAgcm9sZT1cImxpc3Rib3hcIlxuICAgICAgICBhcmlhLWxhYmVsPVwiQ29udGV4dCBtZW50aW9uIHBpY2tlclwiXG4gICAgICAgIG9uTW91c2VEb3duPXtlID0+IGUuc3RvcFByb3BhZ2F0aW9uKCl9XG4gICAgICA+XG4gICAgICAgIHtzaG93U2VhcmNoSW5wdXQgPyAoXG4gICAgICAgICAgPFNDTVBTZWFyY2hSb3c+XG4gICAgICAgICAgICB7LyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzeC1hMTF5L25vLWF1dG9mb2N1cyAqL31cbiAgICAgICAgICAgIDxTQ01QU2VhcmNoSW5wdXRcbiAgICAgICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgdmFsdWU9e3NlYXJjaFZhbHVlfVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17c2VhcmNoUGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IG9uU2VhcmNoQ2hhbmdlPy4oZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICBvbktleURvd249e2hhbmRsZVNlYXJjaEtleURvd259XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvU0NNUFNlYXJjaFJvdz5cbiAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDxTQ01QVGFic1Jvdz5cbiAgICAgICAgICA8U0NNUFRhYnNHcm91cD5cbiAgICAgICAgICAgIHthbGxvd2VkVHlwZXMubWFwKHR5cGUgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBsYWJlbCA9IHQoVEFCX0kxOE5fS0VZU1t0eXBlXSwgeyBkZWZhdWx0VmFsdWU6IFRBQl9GQUxMQkFDS1NbdHlwZV0gfSlcbiAgICAgICAgICAgICAgY29uc3QgYXRQcmVmaXggPSBoaWRlVGFiUHJlZml4ID8gJycgOiBnZXRNZW50aW9uVGFiUHJlZml4KHR5cGUpXG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPFNDTVBUYWJcbiAgICAgICAgICAgICAgICAgIGtleT17dHlwZX1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17YXRQcmVmaXggPyBgJHthdFByZWZpeH0gJHtsYWJlbH1gIDogbGFiZWx9XG4gICAgICAgICAgICAgICAgICAkYWN0aXZlPXt0eXBlID09PSBhY3RpdmVUeXBlfVxuICAgICAgICAgICAgICAgICAgb25Nb3VzZURvd249e2UgPT4ge1xuICAgICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICAgICAgICBvblR5cGVDaGFuZ2UodHlwZSlcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2F0UHJlZml4fVxuICAgICAgICAgICAgICAgICAge2xhYmVsfVxuICAgICAgICAgICAgICAgIDwvU0NNUFRhYj5cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPC9TQ01QVGFic0dyb3VwPlxuICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXtrZXlib2FyZEhpbnQgfHwgJyd9PlxuICAgICAgICAgICAgPFNDTVBLZXlib2FyZEhpbnQ+XG4gICAgICAgICAgICAgIDxJbmZvcm1hdGlvbkNpcmNsZSB3aWR0aD17MjB9IGhlaWdodD17MjB9IGNvbG9yPVwiIzgwODA4MFwiIC8+XG4gICAgICAgICAgICA8L1NDTVBLZXlib2FyZEhpbnQ+XG4gICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICA8L1NDTVBUYWJzUm93PlxuICAgICAgICA8U0NNUERpdmlkZXJXcmFwcGVyPlxuICAgICAgICAgIDxTQ01QRGl2aWRlciAvPlxuICAgICAgICA8L1NDTVBEaXZpZGVyV3JhcHBlcj5cbiAgICAgICAge3JlbmRlckJvZHkoKX1cbiAgICAgIDwvU0NNUENvbnRhaW5lcj5cbiAgICApXG4gIH1cbilcblxuQ29udGV4dE1lbnRpb25Qb3BvdmVyLmRpc3BsYXlOYW1lID0gJ0NvbnRleHRNZW50aW9uUG9wb3ZlcidcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQXdCQSxVQUFVLEVBQWlCQyxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ25ILFNBQVNDLGlCQUFpQixRQUFRLG9EQUFvRDtBQUN0RixTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFFMUMsU0FBU0MsbUJBQW1CLFFBQVEsdUNBQXVDO0FBQzNFLFNBQVNDLGtCQUFrQixRQUFRLHVC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
|