@projectcor/maia-components 2.11.36-7 → 2.11.36
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/App.js +11 -24
- package/lib/components/atoms/MAIAInput/MAIAInput.js +191 -61
- package/lib/components/atoms/icons/index.js +1 -3
- package/lib/components/index.js +1 -2
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +2 -2
- package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +3 -3
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +2 -2
- package/lib/components/molecules/AbmSection/index.js +1 -2
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +1 -13
- package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +4 -8
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +2 -21
- package/lib/components/molecules/ChatAIMessages/newStyles.js +2 -2
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +89 -91
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +2 -2
- package/lib/components/molecules/ChatAIModal/constants.js +2 -10
- package/lib/components/molecules/ChatFooter/ChatFooter.js +4 -5
- package/lib/components/molecules/Sidebar/Sidebar.js +31 -68
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -6
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +50 -247
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +4 -4
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +3 -13
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +3 -6
- package/lib/dev/Providers.js +6 -11
- package/lib/hooks/useAgentModel/useCreateAgent.js +10 -11
- package/lib/hooks/useAgentModel/useUpdateAgent.js +11 -12
- package/lib/hooks/useChatManager/useChatManager.interface.js +1 -1
- package/lib/hooks/useChatManager/useChatManager.js +11 -21
- package/lib/hooks/useChatMessages/useChatMessages.interface.js +1 -1
- package/lib/hooks/useChatMessages/useChatMessages.js +14 -30
- package/lib/hooks/useEvent.js +1 -5
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +4 -6
- package/lib/lang/br/index.js +1 -266
- package/lib/lang/en/index.js +1 -266
- package/lib/lang/es/index.js +1 -266
- package/lib/lang/fr/index.js +2 -268
- package/lib/services/maia/Agents/createAgent.js +1 -1
- package/lib/services/maia/Agents/getAgentById.js +2 -3
- package/lib/services/maia/Agents/updateAgent.js +1 -1
- package/lib/services/maia/Chats/getChatMessages.js +4 -29
- package/lib/services/maia/Orchestrator/orchestrator.js +9 -11
- package/lib/services/maia/RecentProjects/getRecentProjects.js +4 -12
- package/lib/services/utils/mapChatMessages.js +5 -12
- package/lib/types/Chat.js +1 -1
- package/lib/types/agent.js +1 -1
- package/lib/types/agentModal.js +1 -1
- package/package.json +1 -1
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +0 -28
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +0 -84
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +0 -123
- package/lib/components/atoms/ContextMentionChip/index.js +0 -4
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +0 -85
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +0 -6
- package/lib/components/atoms/ContextMentionEditor/index.js +0 -2
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +0 -188
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +0 -98
- package/lib/components/atoms/ContextMentionItem/index.js +0 -2
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +0 -131
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +0 -63
- package/lib/components/atoms/ContextMentionPopover/index.js +0 -3
- package/lib/components/atoms/icons/NotionIcon.js +0 -36
- package/lib/components/atoms/icons/RocketIcon.js +0 -31
- package/lib/components/atoms/icons/WrenchIcon.js +0 -42
- package/lib/components/molecules/AbmSection/AbmActionsSectionV2/AbmActionsSectionV2.js +0 -510
- package/lib/components/molecules/AbmSection/AbmActionsSectionV2/AbmActionsSectionV2.styles.js +0 -234
- package/lib/components/molecules/AbmSection/AbmActionsSectionV2/catalog.js +0 -437
- package/lib/components/molecules/AbmSection/AbmActionsSectionV2/index.js +0 -3
- package/lib/components/molecules/AbmSection/AbmSkillsSection.styles.js +0 -80
- package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.interface.js +0 -2
- package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.js +0 -722
- package/lib/components/molecules/AbmSection/AbmTriggersSection/AbmTriggersSection.styles.js +0 -165
- package/lib/components/molecules/AbmSection/AbmTriggersSection/index.js +0 -2
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +0 -55
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +0 -6
- package/lib/components/molecules/ContextMentionInput/index.js +0 -2
- package/lib/components/molecules/SchedulesPage/SchedulesPage.js +0 -610
- package/lib/components/molecules/SchedulesPage/index.js +0 -2
- package/lib/components/molecules/SkillsPage/SkillsPage.js +0 -708
- package/lib/components/molecules/SkillsPage/index.js +0 -2
- package/lib/components/molecules/maiaSectionModalStyles.js +0 -91
- package/lib/components/molecules/maiaSectionUiTokens.js +0 -31
- package/lib/constants/taskLinkIcon.js +0 -6
- package/lib/dev/DevAbmAgentModal.js +0 -114
- package/lib/dev/DevContextMentionInput.js +0 -65
- package/lib/dev/mocks/abmModalMocks.js +0 -193
- package/lib/hooks/useCaretPosition.js +0 -35
- package/lib/hooks/useContextMentions.js +0 -204
- package/lib/hooks/useEntitySearch.js +0 -405
- package/lib/hooks/useMentionAllowedTypes.js +0 -86
- package/lib/hooks/useMentionPopover.js +0 -284
- package/lib/services/maia/Agents/connectors.js +0 -110
- package/lib/services/maia/Agents/skills.js +0 -164
- package/lib/services/maia/Schedules/createSchedule.js +0 -39
- package/lib/services/maia/Schedules/deleteSchedule.js +0 -36
- package/lib/services/maia/Schedules/getMySchedules.js +0 -55
- package/lib/services/maia/Schedules/getSchedules.js +0 -58
- package/lib/services/maia/Schedules/index.js +0 -5
- package/lib/services/query/entitySearchQuery.js +0 -16
- package/lib/services/query/usersDirectoryQuery.js +0 -19
- package/lib/types/agentSkill.js +0 -2
- package/lib/types/attachment.js +0 -2
- package/lib/types/contextMention.js +0 -37
- package/lib/utils/contextMentionIcons.js +0 -115
- package/lib/utils/contextMentionLabel.js +0 -4
- package/lib/utils/contextMentionTypeLabel.js +0 -17
- package/lib/utils/renderContextMentions.js +0 -216
package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js
CHANGED
|
@@ -295,7 +295,7 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
295
295
|
},
|
|
296
296
|
children: [shouldRenderSelector ? renderModal() : /*#__PURE__*/_jsx("div", {}), /*#__PURE__*/_jsxs(SCCAIMHWrapperButton, {
|
|
297
297
|
"data-no-drag": "true",
|
|
298
|
-
children: [selectedAgentType && selectedModelLlm &&
|
|
298
|
+
children: [selectedAgentType && selectedModelLlm && /*#__PURE__*/_jsx(ChipLlm, {
|
|
299
299
|
model: selectedModelLlm,
|
|
300
300
|
expanded: expanded
|
|
301
301
|
}), /*#__PURE__*/_jsxs(SCCAIMHLayoutMenuAnchor, {
|
|
@@ -347,4 +347,4 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
|
|
|
347
347
|
})]
|
|
348
348
|
});
|
|
349
349
|
};
|
|
350
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIk1haWFDaGF0TGF5b3V0TWVudUljb24iLCJDaGF0QUlBZ2VudE9wdGlvbiIsIlNDQ0FJTUhNb2RhbCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50IiwiU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0IiwiU0NDQUlNSFdyYXBwZXIiLCJTQ0NBSU1IV3JhcHBlckJ1dHRvbiIsIlNDQ0FJTUhXcmFwcGVySWNvbiIsIlNDQ0FJTUhXcmFwcGVyTW9kYWwiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUiLCJTQ0NBSU1IRGl2aWRlciIsIlNDQ0FJTUhBZ2VudHNMaXN0IiwiU0NDQUlNSExvYWRlcldyYXBwZXIiLCJTQ0NBSVdyYXBwZXIiLCJTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciIsIlNDQ0FJTUhMYXlvdXRNZW51UGFuZWwiLCJTQ0NBSU1ITGF5b3V0TWVudVJvdyIsIkVWRU5UUyIsInVzZUV2ZW50IiwiQ09SVXNlclJvbGUiLCJ1c2VVc2VyIiwiQ2hpcExsbSIsIkxvYWRlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkNoYXRBSU1vZGFsSGVhZGVyIiwiX3JlZiIsImxheW91dE1vZGUiLCJvbkxheW91dE1vZGVDaGFuZ2UiLCJleHBhbmRlZCIsIl9yZWYkZHJhZ2dhYmxlIiwiZHJhZ2dhYmxlIiwib25EcmFnU3RhcnQiLCJvbkRyYWdNb3ZlIiwib25EcmFnRW5kIiwiX3JlZiRoYW5kbGVDbG9zZSIsImhhbmRsZUNsb3NlIiwiX3JlZiRhZ2VudHMiLCJhZ2VudHMiLCJfcmVmJGhhc0Vycm9yIiwiaGFzRXJyb3IiLCJfcmVmJGxvYWRpbmciLCJsb2FkaW5nIiwiX3JlZiRsb2FkaW5nTW9yZSIsImxvYWRpbmdNb3JlIiwiX3JlZiRoYXNNb3JlIiwiaGFzTW9yZSIsImhhbmRsZVJlc2V0Q2hhdCIsIm9uQWdlbnRVcGRhdGUiLCJsb2FkTW9yZUFnZW50cyIsInNvcnRBZ2VudHNMaXN0IiwiX3JlZiRoaWRlQWdlbnRTZWxlY3RvIiwiaGlkZUFnZW50U2VsZWN0b3IiLCJvbkFnZW50U2VsZWN0ZWQiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsInQiLCJ1c2VyIiwiYW1wbGl0dWRFdmVudCIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0ZWRBZ2VudCIsImFnZW50Iiwic2VsZWN0QWdlbnQiLCJzZXRQcm9qZWN0Iiwic2V0Q2xpZW50IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNFeHBhbmRlZCIsInNldElzRXhwYW5kZWQiLCJ0ZXh0UmVmQWdlbnQiLCJkcm9wZG93blJlZiIsImxheW91dE1lbnVSZWYiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxheW91dE1lbnVPcGVuIiwic2V0TGF5b3V0TWVudU9wZW4iLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJuYW1lIiwic2hvd1Rvb2x0aXBBZ2VudCIsInNob3dUb29sdGlwIiwiYWdlbnRzUmVmIiwiYWdlbnRzRm9yU2VsZWN0b3IiLCJmaWx0ZXIiLCJhZ2VudEl0ZW0iLCJlbnRpdHkiLCJ1bmRlZmluZWQiLCJoYW5kbGVTY3JvbGwiLCJjdXJyZW50IiwiX2FnZW50c1JlZiRjdXJyZW50Iiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiZGlzdGFuY2VGcm9tQm90dG9tIiwidGltZW91dElkIiwic2V0VGltZW91dCIsInNjcm9sbEVsZW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiY2xlYXJUaW1lb3V0IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImxvY2FsQWdlbnRzIiwiX3JlZjIiLCJpc19kZWxldGVkIiwiaGFzX25vdF9wZXJtaXNzaW9ucyIsImhhc19ub3RfYWNjZXNzIiwiaXNfZnJvbV9jb252ZXJzYXRpb24iLCJmcm9tTGlzdCIsImZpbmQiLCJpZCIsImhhbmRsZVNlbGVjdEFnZW50IiwiYWlDaGF0QWdlbnRTZWxlY3QiLCJhZ2VudF90eXBlIiwidHlwZSIsIm5lZWRzRW50aXR5IiwiaGFuZGxlRXhwYW5kTW9kYWwiLCJhaUNoYXRPcGVuQWdlbnRTZWxlY3QiLCJwcmV2IiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiZXZlbnQiLCJ0YXJnZXQiLCJjb250YWlucyIsImRvY3VtZW50IiwiaGFuZGxlUGlja0xheW91dCIsIm1vZGUiLCJwcm9qZWN0UmVzdW1lRXhwYW5kIiwiYWlDaGF0U2VsZWN0Vmlld09wdGlvbnMiLCJvcHRpb24iLCJ1c2VyUm9sZXNEaXNhYmxlZCIsIkNPTExBQk9SQVRPUiIsIkZSRUVMQU5DRVIiLCJDTElFTlQiLCJyZW5kZXJNb2RhbCIsInJlZiIsIm9uQ2xpY2siLCJsZW5ndGgiLCJjaGlsZHJlbiIsInRpdGxlIiwic3R5bGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImdhcCIsImVtb2ppIiwicGxhY2VtZW50IiwiaXNBZ2VudERlbGV0ZWQiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwiaW5jbHVkZXMiLCJyb2xlX2lkIiwiY2xvbmVBZ2VudHMiLCJhZyIsImlzQ2xvbmUiLCJtYXAiLCJjbG9uZUFnZW50IiwiaW5kZXgiLCJpc1NlbGVjdGVkIiwiaXNNYWlhIiwib25GYXZvcml0ZVRvZ2dsZSIsImNvbmNhdCIsInNvbWUiLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiY29tcGFueSIsImFnZW50c0NvdW50Iiwic2l6ZSIsInNlbGVjdGVkTW9kZWxMbG0iLCJtb2RlbF9kaXNwbGF5X25hbWUiLCJzZWxlY3RlZEFnZW50VHlwZSIsInNob3VsZFJlbmRlclNlbGVjdG9yIiwiJGhhc0Vycm9yIiwiJGxvYWRpbmciLCIkaGFzQWdlbnRzIiwib25Qb2ludGVyRG93biIsIm9uUG9pbnRlck1vdmUiLCJvblBvaW50ZXJVcCIsIm9uUG9pbnRlckNhbmNlbCIsIm9uTG9zdFBvaW50ZXJDYXB0dXJlIiwiY3Vyc29yIiwidG91Y2hBY3Rpb24iLCJtb2RlbCIsImJ1dHRvbklkIiwiaGFuZGxlQ2xpY2siLCJhaUNoYXRPcGVuVmlld09wdGlvbnMiLCJ0b29sdGlwIiwiZGlzYWJsZVRvb2x0aXAiLCJyb2xlIiwiJGFjdGl2ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaU1vZGFsSGVhZGVyL0NoYXRBaU1vZGFsSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtbywgUG9pbnRlckV2ZW50IGFzIFJlYWN0UG9pbnRlckV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHsgQ2hldnJvbkRvd24gfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uRG93bidcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvSWNvbkJ1dHRvbidcbmltcG9ydCB7IE1BSUFJY29uLCBNYWlhQ2hhdExheW91dE1lbnVJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBDaGF0QUlBZ2VudE9wdGlvbiB9IGZyb20gJy4uL0NoYXRBaUFnZW50T3B0aW9ucy9DaGF0QWlBZ2VudE9wdGlvbnMnXG5pbXBvcnQge1xuICBTQ0NBSU1ITW9kYWwsXG4gIFNDQ0FJTUhTZWxlY3RlZEFnZW50LFxuICBTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQsXG4gIFNDQ0FJTUhXcmFwcGVyLFxuICBTQ0NBSU1IV3JhcHBlckJ1dHRvbixcbiAgU0NDQUlNSFdyYXBwZXJJY29uLFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsLFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudCxcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSxcbiAgU0NDQUlNSERpdmlkZXIsXG4gIFNDQ0FJTUhBZ2VudHNMaXN0LFxuICBTQ0NBSU1ITG9hZGVyV3JhcHBlcixcbiAgU0NDQUlXcmFwcGVyLFxuICBTQ0NBSU1ITGF5b3V0TWVudUFuY2hvcixcbiAgU0NDQUlNSExheW91dE1lbnVQYW5lbCxcbiAgU0NDQUlNSExheW91dE1lbnVSb3csXG59IGZyb20gJy4vQ2hhdEFpTW9kYWxIZWFkZXIuc3R5bGVzJ1xuaW1wb3J0IHR5cGUgeyBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSB9IGZyb20gJy4uLy4uL2xheW91dCdcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7IENPUlVzZXJSb2xlLCB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBDaGlwTGxtIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvQ2hpcExsbSdcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0xvYWRlcidcblxuZXhwb3J0IGNvbnN0IENoYXRBSU1vZGFsSGVhZGVyID0gKHtcbiAgbGF5b3V0TW9kZSxcbiAgb25MYXlvdXRNb2RlQ2hhbmdlLFxuICBleHBhbmRlZCxcbiAgZHJhZ2dhYmxlID0gZmFsc2UsXG4gIG9uRHJhZ1N0YXJ0LFxuICBvbkRyYWdNb3ZlLFxuICBvbkRyYWdFbmQsXG4gIGhhbmRsZUNsb3NlID0gKCkgPT4gbnVsbCxcbiAgYWdlbnRzID0gW10sXG4gIGhhc0Vycm9yID0gZmFsc2UsXG4gIGxvYWRpbmcgPSBmYWxzZSxcbiAgbG9hZGluZ01vcmUgPSBmYWxzZSxcbiAgaGFzTW9yZSA9IGZhbHNlLFxuICBoYW5kbGVSZXNldENoYXQsXG4gIG9uQWdlbnRVcGRhdGUsXG4gIGxvYWRNb3JlQWdlbnRzLFxuICBzb3J0QWdlbnRzTGlzdCxcbiAgaGlkZUFnZW50U2VsZWN0b3IgPSBmYWxzZSxcbiAgb25BZ2VudFNlbGVjdGVkLFxufToge1xuICBsYXlvdXRNb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZVxuICBvbkxheW91dE1vZGVDaGFuZ2U6IChtb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSkgPT4gdm9pZFxuICBleHBhbmRlZDogYm9vbGVhblxuICBkcmFnZ2FibGU/OiBib29sZWFuXG4gIG9uRHJhZ1N0YXJ0PzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgb25EcmFnTW92ZT86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRHJhZ0VuZD86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIGhhbmRsZUNsb3NlPzogKCkgPT4gdm9pZFxuICBhZ2VudHM6IEFnZW50W11cbiAgaGFzRXJyb3I6IGJvb2xlYW5cbiAgbG9hZGluZzogYm9vbGVhblxuICBsb2FkaW5nTW9yZT86IGJvb2xlYW5cbiAgaGFzTW9yZT86IGJvb2xlYW5cbiAgaGFuZGxlUmVzZXRDaGF0OiAoKSA9PiB2b2lkXG4gIG9uQWdlbnRVcGRhdGU/OiAodXBkYXRlZEFnZW50OiBBZ2VudCkgPT4gdm9pZFxuICBsb2FkTW9yZUFnZW50cz86ICgpID0+IHZvaWRcbiAgc29ydEFnZW50c0xpc3Q/OiAoKSA9PiB2b2lkXG4gIGhpZGVBZ2VudFNlbGVjdG9yPzogYm9vbGVhblxuICAvKipcbiAgICogU2UgaW52b2NhIGRlc3B1w6lzIGRlbCByZXNldCBjdWFuZG8gZWwgYWdlbnRlIHNlbGVjY2lvbmFkbyBOTyByZXF1aWVyZSBzZWxlY2Npw7NuXG4gICAqIGRlIGVudGl0eSAoY3VzdG9tIG8gY2xvbmUrZ2xvYmFsKS4gUGVybWl0ZSByZXNvbHZlciBgR0VUIC92Mi9zZXNzaW9ucy9hZ2VudC97aWR9YFxuICAgKiB5IG5hdmVnYXIgYSB1bmEgY29udmVyc2FjacOzbiBleGlzdGVudGUgc2kgbGEgaGF5LlxuICAgKi9cbiAgb25BZ2VudFNlbGVjdGVkPzogKGFnZW50OiBBZ2VudCkgPT4gdm9pZCB8IFByb21pc2U8dW5rbm93bj5cbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGFtcGxpdHVkRXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgYWdlbnQ6IHNlbGVjdGVkQWdlbnQsIHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCBbaXNFeHBhbmRlZCwgc2V0SXNFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdGV4dFJlZkFnZW50ID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgZHJvcGRvd25SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGxheW91dE1lbnVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtsYXlvdXRNZW51T3Blbiwgc2V0TGF5b3V0TWVudU9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXA6IHNob3dUb29sdGlwQWdlbnQgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWZBZ2VudCwgW3NlbGVjdGVkQWdlbnQ/Lm5hbWVdKVxuICBjb25zdCBhZ2VudHNSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgYWdlbnRzRm9yU2VsZWN0b3IgPSB1c2VNZW1vKCgpID0+IGFnZW50cy5maWx0ZXIoYWdlbnRJdGVtID0+IGFnZW50SXRlbS5lbnRpdHkgIT09ICdnbG9iYWwnKSwgW2FnZW50c10pXG5cbiAgLy8gTWFuZWphciBzY3JvbGwgaW5maW5pdG8gcGFyYSBjYXJnYXIgbcOhcyBhZ2VudHNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBTb2xvIGN1YW5kbyBlbCBkcm9wZG93biBlc3TDqSBhYmllcnRvXG4gICAgaWYgKCFpc0V4cGFuZGVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgaWYgKCFhZ2VudHNSZWYuY3VycmVudCB8fCAhbG9hZE1vcmVBZ2VudHMgfHwgIWhhc01vcmUgfHwgbG9hZGluZ01vcmUpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGNvbnN0IGRpc3RhbmNlRnJvbUJvdHRvbSA9IHNjcm9sbEhlaWdodCAtIHNjcm9sbFRvcCAtIGNsaWVudEhlaWdodFxuXG4gICAgICAvLyBDYXJnYXIgbcOhcyAoNTBweCBhbnRlcylcbiAgICAgIGlmIChkaXN0YW5jZUZyb21Cb3R0b20gPCA1MCkge1xuICAgICAgICBsb2FkTW9yZUFnZW50cygpXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gZGVsYXkgcGFyYSBhc2VndXJhciBxdWUgZWwgRE9NIGVzdMOpIHJlbmRlcml6YWRvXG4gICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGlmIChzY3JvbGxFbGVtZW50KSB7XG4gICAgICAgIHNjcm9sbEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH0sIDEwMClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgICAgY29uc3Qgc2Nyb2xsRWxlbWVudCA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBpZiAoc2Nyb2xsRWxlbWVudCkge1xuICAgICAgICBzY3JvbGxFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkLCBsb2FkTW9yZUFnZW50cywgaGFzTW9yZSwgbG9hZGluZ01vcmVdKVxuXG4gIGNvbnN0IGxvY2FsQWdlbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2Zyb21fY29udmVyc2F0aW9uXG4gICAgKSB7XG4gICAgICByZXR1cm4gc2VsZWN0ZWRBZ2VudFxuICAgIH1cbiAgICBjb25zdCBmcm9tTGlzdCA9IGFnZW50cy5maW5kKFxuICAgICAgYWdlbnQgPT5cbiAgICAgICAgIWFnZW50LmlzX2RlbGV0ZWQgJiYgIWFnZW50Lmhhc19ub3RfcGVybWlzc2lvbnMgJiYgIWFnZW50Lmhhc19ub3RfYWNjZXNzICYmIGFnZW50LmlkID09PSBzZWxlY3RlZEFnZW50Py5pZFxuICAgIClcbiAgICAvLyBBZ2VudGUgaGlkcmF0YWRvIHBvciBHRVQgKHAuIGVqLiBudWV2byBjaGF0IHRyYXMgY3JlYXRlX2FnZW50KSBwdWVkZSBubyBlc3RhciBhw7puIGVuIGxhIGxpc3RhIHBhZ2luYWRhXG4gICAgcmV0dXJuIGZyb21MaXN0ID8/IHNlbGVjdGVkQWdlbnQgPz8gbnVsbFxuICB9LCBbYWdlbnRzLCBzZWxlY3RlZEFnZW50XSlcblxuICBjb25zdCBoYW5kbGVTZWxlY3RBZ2VudCA9IHVzZUNhbGxiYWNrKFxuICAgIChhZ2VudDogQWdlbnQpID0+IHtcbiAgICAgIHNlbGVjdEFnZW50KGFnZW50KVxuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0QWdlbnRTZWxlY3QsIHtcbiAgICAgICAgYWdlbnRfdHlwZTogYWdlbnQ/LnR5cGUsXG4gICAgICB9KVxuICAgICAgc2V0SXNFeHBhbmRlZChmYWxzZSlcbiAgICAgIHNldFByb2plY3QobnVsbClcbiAgICAgIHNldENsaWVudD8uKG51bGwpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaGFuZGxlUmVzZXRDaGF0KClcbiAgICAgICAgLy8gU2kgZWwgYWdlbnRlIG5vIGRlcGVuZGUgZGUgdW5hIGVudGl0eSAoY3VzdG9tIG8gY2xvbmUrZ2xvYmFsKSB5YSBwb2RlbW9zXG4gICAgICAgIC8vIHJlc29sdmVyIHNpIGV4aXN0ZSB1bmEgc2VzacOzbiBwcmV2aWEgeSwgZW4gZXNlIGNhc28sIG5hdmVnYXIgYSBlbGxhLlxuICAgICAgICAvLyBQYXJhIGNsb25lK3Byb2plY3R8Y2xpZW50LCBsYSByZXNvbHVjacOzbiBvY3VycmUgZW4gbG9zIHNlbGVjdG9ycyBkZSBlbnRpdHkuXG4gICAgICAgIGNvbnN0IG5lZWRzRW50aXR5ID0gYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgJiYgKGFnZW50Py5lbnRpdHkgPT09ICdwcm9qZWN0JyB8fCBhZ2VudD8uZW50aXR5ID09PSAnY2xpZW50JylcbiAgICAgICAgaWYgKCFuZWVkc0VudGl0eSkge1xuICAgICAgICAgIG9uQWdlbnRTZWxlY3RlZD8uKGFnZW50KVxuICAgICAgICB9XG4gICAgICB9LCAxMDApXG4gICAgfSxcbiAgICBbc2VsZWN0QWdlbnQsIGFtcGxpdHVkRXZlbnQsIGhhbmRsZVJlc2V0Q2hhdCwgc2V0UHJvamVjdCwgc2V0Q2xpZW50LCBvbkFnZW50U2VsZWN0ZWRdXG4gIClcblxuICBjb25zdCBoYW5kbGVFeHBhbmRNb2RhbCA9ICgpID0+IHtcbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdE9wZW5BZ2VudFNlbGVjdClcbiAgICAgIC8vIEN1YW5kbyBzZSBhYnJlIGVsIHNlbGVjdG9yLCBvcmRlbmFyIGxvcyBhZ2VudGVzXG4gICAgICBpZiAoc29ydEFnZW50c0xpc3QpIHtcbiAgICAgICAgc29ydEFnZW50c0xpc3QoKVxuICAgICAgfVxuICAgIH1cbiAgICBzZXRJc0V4cGFuZGVkKHByZXYgPT4gIXByZXYpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNFeHBhbmRlZCAmJiAhbGF5b3V0TWVudU9wZW4pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBOb2RlXG4gICAgICBpZiAoaXNFeHBhbmRlZCAmJiBkcm9wZG93blJlZi5jdXJyZW50ICYmICFkcm9wZG93blJlZi5jdXJyZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgc2V0SXNFeHBhbmRlZChmYWxzZSlcbiAgICAgIH1cbiAgICAgIGlmIChsYXlvdXRNZW51T3BlbiAmJiBsYXlvdXRNZW51UmVmLmN1cnJlbnQgJiYgIWxheW91dE1lbnVSZWYuY3VycmVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgIHNldExheW91dE1lbnVPcGVuKGZhbHNlKVxuICAgICAgfVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH1cbiAgfSwgW2lzRXhwYW5kZWQsIGxheW91dE1lbnVPcGVuXSlcblxuICBjb25zdCBoYW5kbGVQaWNrTGF5b3V0ID0gdXNlQ2FsbGJhY2soXG4gICAgKG1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlKSA9PiB7XG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5wcm9qZWN0UmVzdW1lRXhwYW5kLCB7XG4gICAgICAgIGV4cGFuZGVkOiBtb2RlID09PSAnZnVsbHNjcmVlbicsXG4gICAgICB9KVxuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0U2VsZWN0Vmlld09wdGlvbnMsIHsgb3B0aW9uOiBtb2RlIH0pXG4gICAgICBvbkxheW91dE1vZGVDaGFuZ2UobW9kZSlcbiAgICAgIHNldExheW91dE1lbnVPcGVuKGZhbHNlKVxuICAgIH0sXG4gICAgW2FtcGxpdHVkRXZlbnQsIG9uTGF5b3V0TW9kZUNoYW5nZV1cbiAgKVxuXG4gIGNvbnN0IHVzZXJSb2xlc0Rpc2FibGVkID0gW0NPUlVzZXJSb2xlLkNPTExBQk9SQVRPUiwgQ09SVXNlclJvbGUuRlJFRUxBTkNFUiwgQ09SVXNlclJvbGUuQ0xJRU5UXVxuXG4gIGNvbnN0IHJlbmRlck1vZGFsID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNSFdyYXBwZXJcbiAgICAgICAgcmVmPXtkcm9wZG93blJlZn1cbiAgICAgICAgZGF0YS1uby1kcmFnPVwidHJ1ZVwiXG4gICAgICAgIG9uQ2xpY2s9e2FnZW50cy5sZW5ndGggPyBoYW5kbGVFeHBhbmRNb2RhbCA6IHVuZGVmaW5lZH1cbiAgICAgICAgaWQ9XCJjaGF0LWFpLW1vZGFsLWhlYWRlci13cmFwcGVyXCJcbiAgICAgID5cbiAgICAgICAgPFNDQ0FJTUhTZWxlY3RlZEFnZW50PlxuICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICB0aXRsZT17XG4gICAgICAgICAgICAgIHNob3dUb29sdGlwQWdlbnQgPyAoXG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnNHB4JyB9fT5cbiAgICAgICAgICAgICAgICAgIHtsb2NhbEFnZW50cz8udHlwZSA9PT0gJ2N1c3RvbScgPyBsb2NhbEFnZW50cz8uZW1vamkgOiA8TUFJQUljb24gLz59IHtsb2NhbEFnZW50cz8ubmFtZX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgJydcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGxhY2VtZW50PXtpc0V4cGFuZGVkID8gJ2xlZnQnIDogJ3RvcCd9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dFxuICAgICAgICAgICAgICByZWY9e3RleHRSZWZBZ2VudH1cbiAgICAgICAgICAgICAgaXNBZ2VudERlbGV0ZWQ9e1xuICAgICAgICAgICAgICAgICEhc2VsZWN0ZWRBZ2VudD8uaXNfZGVsZXRlZCB8fCAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHwgISFzZWxlY3RlZEFnZW50Py5oYXNfbm90X2FjY2Vzc1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzRweCcgfX0+XG4gICAgICAgICAgICAgICAge2xvY2FsQWdlbnRzPy50eXBlID09PSAnY3VzdG9tJyA/IGxvY2FsQWdlbnRzPy5lbW9qaSA6IDxNQUlBSWNvbiAvPn0ge2xvY2FsQWdlbnRzPy5uYW1lfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L1NDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dD5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvU0NDQUlNSFNlbGVjdGVkQWdlbnQ+XG4gICAgICAgIDxTQ0NBSU1IV3JhcHBlckljb24+XG4gICAgICAgICAgPENoZXZyb25Eb3duIHdpZHRoPXsxNH0gaGVpZ2h0PXsxNH0gY29sb3I9XCIjMjAyMDFGXCIgLz5cbiAgICAgICAgPC9TQ0NBSU1IV3JhcHBlckljb24+XG4gICAgICAgIHtpc0V4cGFuZGVkICYmIChcbiAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbD5cbiAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudD5cbiAgICAgICAgICAgICAge3dpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgIXVzZXJSb2xlc0Rpc2FibGVkLmluY2x1ZGVzKHVzZXIucm9sZV9pZCkgJiYgKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICB7KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xvbmVBZ2VudHMgPSBhZ2VudHNGb3JTZWxlY3Rvci5maWx0ZXIoKGFnOiBBZ2VudCkgPT4gYWcudHlwZSA9PT0gJ2Nsb25lJylcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjbG9uZUFnZW50cy5sZW5ndGgpIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NBSVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNQUlBSWNvbiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSBpc0Nsb25lPk1BSUEgYnkgQ09SPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSERpdmlkZXIgLz5cblxuICAgICAgICAgICAgICAgICAgICAgICAge2Nsb25lQWdlbnRzLm1hcCgoY2xvbmVBZ2VudCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPENoYXRBSUFnZW50T3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYWdlbnQtJHtjbG9uZUFnZW50LmlkfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlbnQ9e2Nsb25lQWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdEFnZW50PXtoYW5kbGVTZWxlY3RBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZEFnZW50Py5pZCA9PT0gY2xvbmVBZ2VudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc01haWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlPXtvbkFnZW50VXBkYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHthZ2VudHNGb3JTZWxlY3Rvci5zb21lKGFnZW50ID0+IGFnZW50LnR5cGUgPT09ICdjdXN0b20nKSAmJlxuICAgICAgICAgICAgICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTICYmIChcbiAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdhZ2VudHMnKX0gYnkge3VzZXIuY29tcGFueX1cbiAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSERpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxTQ0NBSU1IQWdlbnRzTGlzdCBoYXNNb3JlPXtoYXNNb3JlfSBhZ2VudHNDb3VudD17YWdlbnRzRm9yU2VsZWN0b3IubGVuZ3RofSByZWY9e2FnZW50c1JlZn0+XG4gICAgICAgICAgICAgICAge2FnZW50c0ZvclNlbGVjdG9yPy5tYXAoKGFnZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgfHxcbiAgICAgICAgICAgICAgICAgICAgKGFnZW50Py50eXBlID09PSAnY3VzdG9tJyAmJiAhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMpXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8Q2hhdEFJQWdlbnRPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e2BhZ2VudC0ke2FnZW50LmlkfWB9XG4gICAgICAgICAgICAgICAgICAgICAgYWdlbnQ9e2FnZW50fVxuICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RBZ2VudD17aGFuZGxlU2VsZWN0QWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRBZ2VudD8uaWQgPT09IGFnZW50LmlkfVxuICAgICAgICAgICAgICAgICAgICAgIG9uRmF2b3JpdGVUb2dnbGU9e29uQWdlbnRVcGRhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgc2V0SXNFeHBhbmRlZD17c2V0SXNFeHBhbmRlZH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICB7bG9hZGluZ01vcmUgJiYgKFxuICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhMb2FkZXJXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhMb2FkZXJXcmFwcGVyPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSEFnZW50c0xpc3Q+XG4gICAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50PlxuICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbD5cbiAgICAgICAgKX1cbiAgICAgIDwvU0NDQUlNSFdyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgY29uc3Qgc2VsZWN0ZWRNb2RlbExsbSA9IHNlbGVjdGVkQWdlbnQ/Lm1vZGVsX2Rpc3BsYXlfbmFtZVxuICBjb25zdCBzZWxlY3RlZEFnZW50VHlwZSA9IHNlbGVjdGVkQWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nXG4gIGNvbnN0IHNob3VsZFJlbmRlclNlbGVjdG9yID1cbiAgICAhaGFzRXJyb3IgJiZcbiAgICAhbG9hZGluZyAmJlxuICAgICFoaWRlQWdlbnRTZWxlY3RvciAmJlxuICAgICEhc2VsZWN0ZWRBZ2VudCAmJlxuICAgICghIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIHx8ICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUylcblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSU1ITW9kYWxcbiAgICAgICRoYXNFcnJvcj17aGFzRXJyb3J9XG4gICAgICAkbG9hZGluZz17bG9hZGluZ31cbiAgICAgICRoYXNBZ2VudHM9eyEhYWdlbnRzLmxlbmd0aH1cbiAgICAgIG9uUG9pbnRlckRvd249e2RyYWdnYWJsZSA/IG9uRHJhZ1N0YXJ0IDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyTW92ZT17ZHJhZ2dhYmxlID8gb25EcmFnTW92ZSA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlclVwPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJDYW5jZWw9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uTG9zdFBvaW50ZXJDYXB0dXJlPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBzdHlsZT17eyBjdXJzb3I6IGRyYWdnYWJsZSA/ICdncmFiJyA6IHVuZGVmaW5lZCwgdG91Y2hBY3Rpb246IGRyYWdnYWJsZSA/ICdtYW5pcHVsYXRpb24nIDogdW5kZWZpbmVkIH19XG4gICAgPlxuICAgICAge3Nob3VsZFJlbmRlclNlbGVjdG9yID8gcmVuZGVyTW9kYWwoKSA6IDxkaXYgLz59XG4gICAgICA8U0NDQUlNSFdyYXBwZXJCdXR0b24gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICB7c2VsZWN0ZWRBZ2VudFR5cGUgJiYgc2VsZWN0ZWRNb2RlbExsbSAmJiAhaGlkZUFnZW50U2VsZWN0b3IgJiYgKFxuICAgICAgICAgIDxDaGlwTGxtIG1vZGVsPXtzZWxlY3RlZE1vZGVsTGxtfSBleHBhbmRlZD17ZXhwYW5kZWR9IC8+XG4gICAgICAgICl9XG4gICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciByZWY9e2xheW91dE1lbnVSZWZ9IGRhdGEtbm8tZHJhZz1cInRydWVcIj5cbiAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgYnV0dG9uSWQ9XCJidG4tbWFpYS1sYXlvdXQtbWVudVwiXG4gICAgICAgICAgICBoYW5kbGVDbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIWxheW91dE1lbnVPcGVuKSB7XG4gICAgICAgICAgICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0T3BlblZpZXdPcHRpb25zKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHNldExheW91dE1lbnVPcGVuKHByZXYgPT4gIXByZXYpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgdG9vbHRpcD17dCgnbGF5b3V0TWVudVRvb2x0aXAnKX1cbiAgICAgICAgICAgIGRpc2FibGVUb29sdGlwPXtsYXlvdXRNZW51T3Blbn1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRNZW51SWNvbiAvPlxuICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICB7bGF5b3V0TWVudU9wZW4gPyAoXG4gICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVQYW5lbCByb2xlPVwibWVudVwiPlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnc2lkZWJhcid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnc2lkZWJhcicpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dFNpZGViYXInKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ2Z1bGxzY3JlZW4nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ2Z1bGxzY3JlZW4nKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGdWxsc2NyZWVuJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdmbG9hdGluZyd9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnZmxvYXRpbmcnKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGbG9hdGluZycpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVBhbmVsPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51QW5jaG9yPlxuICAgICAgICA8SWNvbkJ1dHRvbiBoYW5kbGVDbGljaz17aGFuZGxlQ2xvc2V9IHRvb2x0aXA9e3QoJ2dsb2JhbHMuY2xvc2UnKX0+XG4gICAgICAgICAgPENyb3NzIC8+XG4gICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIDwvU0NDQUlNSFdyYXBwZXJCdXR0b24+XG4gICAgPC9TQ0NBSU1ITW9kYWw+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQSxTQUFTQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sUUFBMkMsT0FBTztBQUM1RyxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxRQUFRLFFBQVEsaUNBQWlDO0FBQzFELFNBQVNDLGdCQUFnQixRQUFRLHVDQUF1QztBQUN4RSxTQUFTQyxpQkFBaUIsUUFBUSxnQ0FBZ0M7QUFDbEUsU0FBU0MsVUFBVSxRQUFRLDhCQUE4QjtBQUN6RCxTQUFTQyxRQUFRLEVBQUVDLHNCQUFzQixRQUFRLHlCQUF5QjtBQUMxRSxTQUFTQyxpQkFBaUIsUUFBUSww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
|
|
350
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIk1haWFDaGF0TGF5b3V0TWVudUljb24iLCJDaGF0QUlBZ2VudE9wdGlvbiIsIlNDQ0FJTUhNb2RhbCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50IiwiU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0IiwiU0NDQUlNSFdyYXBwZXIiLCJTQ0NBSU1IV3JhcHBlckJ1dHRvbiIsIlNDQ0FJTUhXcmFwcGVySWNvbiIsIlNDQ0FJTUhXcmFwcGVyTW9kYWwiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUiLCJTQ0NBSU1IRGl2aWRlciIsIlNDQ0FJTUhBZ2VudHNMaXN0IiwiU0NDQUlNSExvYWRlcldyYXBwZXIiLCJTQ0NBSVdyYXBwZXIiLCJTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciIsIlNDQ0FJTUhMYXlvdXRNZW51UGFuZWwiLCJTQ0NBSU1ITGF5b3V0TWVudVJvdyIsIkVWRU5UUyIsInVzZUV2ZW50IiwiQ09SVXNlclJvbGUiLCJ1c2VVc2VyIiwiQ2hpcExsbSIsIkxvYWRlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkNoYXRBSU1vZGFsSGVhZGVyIiwiX3JlZiIsImxheW91dE1vZGUiLCJvbkxheW91dE1vZGVDaGFuZ2UiLCJleHBhbmRlZCIsIl9yZWYkZHJhZ2dhYmxlIiwiZHJhZ2dhYmxlIiwib25EcmFnU3RhcnQiLCJvbkRyYWdNb3ZlIiwib25EcmFnRW5kIiwiX3JlZiRoYW5kbGVDbG9zZSIsImhhbmRsZUNsb3NlIiwiX3JlZiRhZ2VudHMiLCJhZ2VudHMiLCJfcmVmJGhhc0Vycm9yIiwiaGFzRXJyb3IiLCJfcmVmJGxvYWRpbmciLCJsb2FkaW5nIiwiX3JlZiRsb2FkaW5nTW9yZSIsImxvYWRpbmdNb3JlIiwiX3JlZiRoYXNNb3JlIiwiaGFzTW9yZSIsImhhbmRsZVJlc2V0Q2hhdCIsIm9uQWdlbnRVcGRhdGUiLCJsb2FkTW9yZUFnZW50cyIsInNvcnRBZ2VudHNMaXN0IiwiX3JlZiRoaWRlQWdlbnRTZWxlY3RvIiwiaGlkZUFnZW50U2VsZWN0b3IiLCJvbkFnZW50U2VsZWN0ZWQiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsInQiLCJ1c2VyIiwiYW1wbGl0dWRFdmVudCIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0ZWRBZ2VudCIsImFnZW50Iiwic2VsZWN0QWdlbnQiLCJzZXRQcm9qZWN0Iiwic2V0Q2xpZW50IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNFeHBhbmRlZCIsInNldElzRXhwYW5kZWQiLCJ0ZXh0UmVmQWdlbnQiLCJkcm9wZG93blJlZiIsImxheW91dE1lbnVSZWYiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxheW91dE1lbnVPcGVuIiwic2V0TGF5b3V0TWVudU9wZW4iLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJuYW1lIiwic2hvd1Rvb2x0aXBBZ2VudCIsInNob3dUb29sdGlwIiwiYWdlbnRzUmVmIiwiYWdlbnRzRm9yU2VsZWN0b3IiLCJmaWx0ZXIiLCJhZ2VudEl0ZW0iLCJlbnRpdHkiLCJ1bmRlZmluZWQiLCJoYW5kbGVTY3JvbGwiLCJjdXJyZW50IiwiX2FnZW50c1JlZiRjdXJyZW50Iiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiZGlzdGFuY2VGcm9tQm90dG9tIiwidGltZW91dElkIiwic2V0VGltZW91dCIsInNjcm9sbEVsZW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiY2xlYXJUaW1lb3V0IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImxvY2FsQWdlbnRzIiwiX3JlZjIiLCJpc19kZWxldGVkIiwiaGFzX25vdF9wZXJtaXNzaW9ucyIsImhhc19ub3RfYWNjZXNzIiwiaXNfZnJvbV9jb252ZXJzYXRpb24iLCJmcm9tTGlzdCIsImZpbmQiLCJpZCIsImhhbmRsZVNlbGVjdEFnZW50IiwiYWlDaGF0QWdlbnRTZWxlY3QiLCJhZ2VudF90eXBlIiwidHlwZSIsIm5lZWRzRW50aXR5IiwiaGFuZGxlRXhwYW5kTW9kYWwiLCJhaUNoYXRPcGVuQWdlbnRTZWxlY3QiLCJwcmV2IiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwiZXZlbnQiLCJ0YXJnZXQiLCJjb250YWlucyIsImRvY3VtZW50IiwiaGFuZGxlUGlja0xheW91dCIsIm1vZGUiLCJwcm9qZWN0UmVzdW1lRXhwYW5kIiwiYWlDaGF0U2VsZWN0Vmlld09wdGlvbnMiLCJvcHRpb24iLCJ1c2VyUm9sZXNEaXNhYmxlZCIsIkNPTExBQk9SQVRPUiIsIkZSRUVMQU5DRVIiLCJDTElFTlQiLCJyZW5kZXJNb2RhbCIsInJlZiIsIm9uQ2xpY2siLCJsZW5ndGgiLCJjaGlsZHJlbiIsInRpdGxlIiwic3R5bGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImdhcCIsImVtb2ppIiwicGxhY2VtZW50IiwiaXNBZ2VudERlbGV0ZWQiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwiaW5jbHVkZXMiLCJyb2xlX2lkIiwiY2xvbmVBZ2VudHMiLCJhZyIsImlzQ2xvbmUiLCJtYXAiLCJjbG9uZUFnZW50IiwiaW5kZXgiLCJpc1NlbGVjdGVkIiwiaXNNYWlhIiwib25GYXZvcml0ZVRvZ2dsZSIsImNvbmNhdCIsInNvbWUiLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiY29tcGFueSIsImFnZW50c0NvdW50Iiwic2l6ZSIsInNlbGVjdGVkTW9kZWxMbG0iLCJtb2RlbF9kaXNwbGF5X25hbWUiLCJzZWxlY3RlZEFnZW50VHlwZSIsInNob3VsZFJlbmRlclNlbGVjdG9yIiwiJGhhc0Vycm9yIiwiJGxvYWRpbmciLCIkaGFzQWdlbnRzIiwib25Qb2ludGVyRG93biIsIm9uUG9pbnRlck1vdmUiLCJvblBvaW50ZXJVcCIsIm9uUG9pbnRlckNhbmNlbCIsIm9uTG9zdFBvaW50ZXJDYXB0dXJlIiwiY3Vyc29yIiwidG91Y2hBY3Rpb24iLCJtb2RlbCIsImJ1dHRvbklkIiwiaGFuZGxlQ2xpY2siLCJhaUNoYXRPcGVuVmlld09wdGlvbnMiLCJ0b29sdGlwIiwiZGlzYWJsZVRvb2x0aXAiLCJyb2xlIiwiJGFjdGl2ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNb2RhbC9jb21wb25lbnRzL0NoYXRBaU1vZGFsSGVhZGVyL0NoYXRBaU1vZGFsSGVhZGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlTWVtbywgUG9pbnRlckV2ZW50IGFzIFJlYWN0UG9pbnRlckV2ZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHsgQ2hldnJvbkRvd24gfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9DaGV2cm9uRG93bidcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyBJY29uQnV0dG9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvSWNvbkJ1dHRvbidcbmltcG9ydCB7IE1BSUFJY29uLCBNYWlhQ2hhdExheW91dE1lbnVJY29uIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBDaGF0QUlBZ2VudE9wdGlvbiB9IGZyb20gJy4uL0NoYXRBaUFnZW50T3B0aW9ucy9DaGF0QWlBZ2VudE9wdGlvbnMnXG5pbXBvcnQge1xuICBTQ0NBSU1ITW9kYWwsXG4gIFNDQ0FJTUhTZWxlY3RlZEFnZW50LFxuICBTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQsXG4gIFNDQ0FJTUhXcmFwcGVyLFxuICBTQ0NBSU1IV3JhcHBlckJ1dHRvbixcbiAgU0NDQUlNSFdyYXBwZXJJY29uLFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsLFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudCxcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSxcbiAgU0NDQUlNSERpdmlkZXIsXG4gIFNDQ0FJTUhBZ2VudHNMaXN0LFxuICBTQ0NBSU1ITG9hZGVyV3JhcHBlcixcbiAgU0NDQUlXcmFwcGVyLFxuICBTQ0NBSU1ITGF5b3V0TWVudUFuY2hvcixcbiAgU0NDQUlNSExheW91dE1lbnVQYW5lbCxcbiAgU0NDQUlNSExheW91dE1lbnVSb3csXG59IGZyb20gJy4vQ2hhdEFpTW9kYWxIZWFkZXIuc3R5bGVzJ1xuaW1wb3J0IHR5cGUgeyBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSB9IGZyb20gJy4uLy4uL2xheW91dCdcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7IENPUlVzZXJSb2xlLCB1c2VVc2VyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9jb3ItdXNlcidcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBDaGlwTGxtIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvQ2hpcExsbSdcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0xvYWRlcidcblxuZXhwb3J0IGNvbnN0IENoYXRBSU1vZGFsSGVhZGVyID0gKHtcbiAgbGF5b3V0TW9kZSxcbiAgb25MYXlvdXRNb2RlQ2hhbmdlLFxuICBleHBhbmRlZCxcbiAgZHJhZ2dhYmxlID0gZmFsc2UsXG4gIG9uRHJhZ1N0YXJ0LFxuICBvbkRyYWdNb3ZlLFxuICBvbkRyYWdFbmQsXG4gIGhhbmRsZUNsb3NlID0gKCkgPT4gbnVsbCxcbiAgYWdlbnRzID0gW10sXG4gIGhhc0Vycm9yID0gZmFsc2UsXG4gIGxvYWRpbmcgPSBmYWxzZSxcbiAgbG9hZGluZ01vcmUgPSBmYWxzZSxcbiAgaGFzTW9yZSA9IGZhbHNlLFxuICBoYW5kbGVSZXNldENoYXQsXG4gIG9uQWdlbnRVcGRhdGUsXG4gIGxvYWRNb3JlQWdlbnRzLFxuICBzb3J0QWdlbnRzTGlzdCxcbiAgaGlkZUFnZW50U2VsZWN0b3IgPSBmYWxzZSxcbiAgb25BZ2VudFNlbGVjdGVkLFxufToge1xuICBsYXlvdXRNb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZVxuICBvbkxheW91dE1vZGVDaGFuZ2U6IChtb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSkgPT4gdm9pZFxuICBleHBhbmRlZDogYm9vbGVhblxuICBkcmFnZ2FibGU/OiBib29sZWFuXG4gIG9uRHJhZ1N0YXJ0PzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgb25EcmFnTW92ZT86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uRHJhZ0VuZD86IChldmVudDogUmVhY3RQb2ludGVyRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiB2b2lkXG4gIGhhbmRsZUNsb3NlPzogKCkgPT4gdm9pZFxuICBhZ2VudHM6IEFnZW50W11cbiAgaGFzRXJyb3I6IGJvb2xlYW5cbiAgbG9hZGluZzogYm9vbGVhblxuICBsb2FkaW5nTW9yZT86IGJvb2xlYW5cbiAgaGFzTW9yZT86IGJvb2xlYW5cbiAgaGFuZGxlUmVzZXRDaGF0OiAoKSA9PiB2b2lkXG4gIG9uQWdlbnRVcGRhdGU/OiAodXBkYXRlZEFnZW50OiBBZ2VudCkgPT4gdm9pZFxuICBsb2FkTW9yZUFnZW50cz86ICgpID0+IHZvaWRcbiAgc29ydEFnZW50c0xpc3Q/OiAoKSA9PiB2b2lkXG4gIGhpZGVBZ2VudFNlbGVjdG9yPzogYm9vbGVhblxuICAvKipcbiAgICogU2UgaW52b2NhIGRlc3B1w6lzIGRlbCByZXNldCBjdWFuZG8gZWwgYWdlbnRlIHNlbGVjY2lvbmFkbyBOTyByZXF1aWVyZSBzZWxlY2Npw7NuXG4gICAqIGRlIGVudGl0eSAoY3VzdG9tIG8gY2xvbmUrZ2xvYmFsKS4gUGVybWl0ZSByZXNvbHZlciBgR0VUIC92Mi9zZXNzaW9ucy9hZ2VudC97aWR9YFxuICAgKiB5IG5hdmVnYXIgYSB1bmEgY29udmVyc2FjacOzbiBleGlzdGVudGUgc2kgbGEgaGF5LlxuICAgKi9cbiAgb25BZ2VudFNlbGVjdGVkPzogKGFnZW50OiBBZ2VudCkgPT4gdm9pZCB8IFByb21pc2U8dW5rbm93bj5cbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGFtcGxpdHVkRXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgYWdlbnQ6IHNlbGVjdGVkQWdlbnQsIHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCBbaXNFeHBhbmRlZCwgc2V0SXNFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdGV4dFJlZkFnZW50ID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgZHJvcGRvd25SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGxheW91dE1lbnVSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IFtsYXlvdXRNZW51T3Blbiwgc2V0TGF5b3V0TWVudU9wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXA6IHNob3dUb29sdGlwQWdlbnQgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWZBZ2VudCwgW3NlbGVjdGVkQWdlbnQ/Lm5hbWVdKVxuICBjb25zdCBhZ2VudHNSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgYWdlbnRzRm9yU2VsZWN0b3IgPSB1c2VNZW1vKCgpID0+IGFnZW50cy5maWx0ZXIoYWdlbnRJdGVtID0+IGFnZW50SXRlbS5lbnRpdHkgIT09ICdnbG9iYWwnKSwgW2FnZW50c10pXG5cbiAgLy8gTWFuZWphciBzY3JvbGwgaW5maW5pdG8gcGFyYSBjYXJnYXIgbcOhcyBhZ2VudHNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBTb2xvIGN1YW5kbyBlbCBkcm9wZG93biBlc3TDqSBhYmllcnRvXG4gICAgaWYgKCFpc0V4cGFuZGVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgaWYgKCFhZ2VudHNSZWYuY3VycmVudCB8fCAhbG9hZE1vcmVBZ2VudHMgfHwgIWhhc01vcmUgfHwgbG9hZGluZ01vcmUpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGNvbnN0IGRpc3RhbmNlRnJvbUJvdHRvbSA9IHNjcm9sbEhlaWdodCAtIHNjcm9sbFRvcCAtIGNsaWVudEhlaWdodFxuXG4gICAgICAvLyBDYXJnYXIgbcOhcyAoNTBweCBhbnRlcylcbiAgICAgIGlmIChkaXN0YW5jZUZyb21Cb3R0b20gPCA1MCkge1xuICAgICAgICBsb2FkTW9yZUFnZW50cygpXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gZGVsYXkgcGFyYSBhc2VndXJhciBxdWUgZWwgRE9NIGVzdMOpIHJlbmRlcml6YWRvXG4gICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGlmIChzY3JvbGxFbGVtZW50KSB7XG4gICAgICAgIHNjcm9sbEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH0sIDEwMClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgICAgY29uc3Qgc2Nyb2xsRWxlbWVudCA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBpZiAoc2Nyb2xsRWxlbWVudCkge1xuICAgICAgICBzY3JvbGxFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkLCBsb2FkTW9yZUFnZW50cywgaGFzTW9yZSwgbG9hZGluZ01vcmVdKVxuXG4gIGNvbnN0IGxvY2FsQWdlbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2Zyb21fY29udmVyc2F0aW9uXG4gICAgKSB7XG4gICAgICByZXR1cm4gc2VsZWN0ZWRBZ2VudFxuICAgIH1cbiAgICBjb25zdCBmcm9tTGlzdCA9IGFnZW50cy5maW5kKFxuICAgICAgYWdlbnQgPT5cbiAgICAgICAgIWFnZW50LmlzX2RlbGV0ZWQgJiYgIWFnZW50Lmhhc19ub3RfcGVybWlzc2lvbnMgJiYgIWFnZW50Lmhhc19ub3RfYWNjZXNzICYmIGFnZW50LmlkID09PSBzZWxlY3RlZEFnZW50Py5pZFxuICAgIClcbiAgICAvLyBBZ2VudGUgaGlkcmF0YWRvIHBvciBHRVQgKHAuIGVqLiBudWV2byBjaGF0IHRyYXMgY3JlYXRlX2FnZW50KSBwdWVkZSBubyBlc3RhciBhw7puIGVuIGxhIGxpc3RhIHBhZ2luYWRhXG4gICAgcmV0dXJuIGZyb21MaXN0ID8/IHNlbGVjdGVkQWdlbnQgPz8gbnVsbFxuICB9LCBbYWdlbnRzLCBzZWxlY3RlZEFnZW50XSlcblxuICBjb25zdCBoYW5kbGVTZWxlY3RBZ2VudCA9IHVzZUNhbGxiYWNrKFxuICAgIChhZ2VudDogQWdlbnQpID0+IHtcbiAgICAgIHNlbGVjdEFnZW50KGFnZW50KVxuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0QWdlbnRTZWxlY3QsIHtcbiAgICAgICAgYWdlbnRfdHlwZTogYWdlbnQ/LnR5cGUsXG4gICAgICB9KVxuICAgICAgc2V0SXNFeHBhbmRlZChmYWxzZSlcbiAgICAgIHNldFByb2plY3QobnVsbClcbiAgICAgIHNldENsaWVudD8uKG51bGwpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaGFuZGxlUmVzZXRDaGF0KClcbiAgICAgICAgLy8gU2kgZWwgYWdlbnRlIG5vIGRlcGVuZGUgZGUgdW5hIGVudGl0eSAoY3VzdG9tIG8gY2xvbmUrZ2xvYmFsKSB5YSBwb2RlbW9zXG4gICAgICAgIC8vIHJlc29sdmVyIHNpIGV4aXN0ZSB1bmEgc2VzacOzbiBwcmV2aWEgeSwgZW4gZXNlIGNhc28sIG5hdmVnYXIgYSBlbGxhLlxuICAgICAgICAvLyBQYXJhIGNsb25lK3Byb2plY3R8Y2xpZW50LCBsYSByZXNvbHVjacOzbiBvY3VycmUgZW4gbG9zIHNlbGVjdG9ycyBkZSBlbnRpdHkuXG4gICAgICAgIGNvbnN0IG5lZWRzRW50aXR5ID0gYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgJiYgKGFnZW50Py5lbnRpdHkgPT09ICdwcm9qZWN0JyB8fCBhZ2VudD8uZW50aXR5ID09PSAnY2xpZW50JylcbiAgICAgICAgaWYgKCFuZWVkc0VudGl0eSkge1xuICAgICAgICAgIG9uQWdlbnRTZWxlY3RlZD8uKGFnZW50KVxuICAgICAgICB9XG4gICAgICB9LCAxMDApXG4gICAgfSxcbiAgICBbc2VsZWN0QWdlbnQsIGFtcGxpdHVkRXZlbnQsIGhhbmRsZVJlc2V0Q2hhdCwgc2V0UHJvamVjdCwgc2V0Q2xpZW50LCBvbkFnZW50U2VsZWN0ZWRdXG4gIClcblxuICBjb25zdCBoYW5kbGVFeHBhbmRNb2RhbCA9ICgpID0+IHtcbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdE9wZW5BZ2VudFNlbGVjdClcbiAgICAgIC8vIEN1YW5kbyBzZSBhYnJlIGVsIHNlbGVjdG9yLCBvcmRlbmFyIGxvcyBhZ2VudGVzXG4gICAgICBpZiAoc29ydEFnZW50c0xpc3QpIHtcbiAgICAgICAgc29ydEFnZW50c0xpc3QoKVxuICAgICAgfVxuICAgIH1cbiAgICBzZXRJc0V4cGFuZGVkKHByZXYgPT4gIXByZXYpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNFeHBhbmRlZCAmJiAhbGF5b3V0TWVudU9wZW4pIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG5cbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBOb2RlXG4gICAgICBpZiAoaXNFeHBhbmRlZCAmJiBkcm9wZG93blJlZi5jdXJyZW50ICYmICFkcm9wZG93blJlZi5jdXJyZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgICAgc2V0SXNFeHBhbmRlZChmYWxzZSlcbiAgICAgIH1cbiAgICAgIGlmIChsYXlvdXRNZW51T3BlbiAmJiBsYXlvdXRNZW51UmVmLmN1cnJlbnQgJiYgIWxheW91dE1lbnVSZWYuY3VycmVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgIHNldExheW91dE1lbnVPcGVuKGZhbHNlKVxuICAgICAgfVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH1cbiAgfSwgW2lzRXhwYW5kZWQsIGxheW91dE1lbnVPcGVuXSlcblxuICBjb25zdCBoYW5kbGVQaWNrTGF5b3V0ID0gdXNlQ2FsbGJhY2soXG4gICAgKG1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlKSA9PiB7XG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5wcm9qZWN0UmVzdW1lRXhwYW5kLCB7XG4gICAgICAgIGV4cGFuZGVkOiBtb2RlID09PSAnZnVsbHNjcmVlbicsXG4gICAgICB9KVxuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0U2VsZWN0Vmlld09wdGlvbnMsIHsgb3B0aW9uOiBtb2RlIH0pXG4gICAgICBvbkxheW91dE1vZGVDaGFuZ2UobW9kZSlcbiAgICAgIHNldExheW91dE1lbnVPcGVuKGZhbHNlKVxuICAgIH0sXG4gICAgW2FtcGxpdHVkRXZlbnQsIG9uTGF5b3V0TW9kZUNoYW5nZV1cbiAgKVxuXG4gIGNvbnN0IHVzZXJSb2xlc0Rpc2FibGVkID0gW0NPUlVzZXJSb2xlLkNPTExBQk9SQVRPUiwgQ09SVXNlclJvbGUuRlJFRUxBTkNFUiwgQ09SVXNlclJvbGUuQ0xJRU5UXVxuXG4gIGNvbnN0IHJlbmRlck1vZGFsID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNSFdyYXBwZXJcbiAgICAgICAgcmVmPXtkcm9wZG93blJlZn1cbiAgICAgICAgZGF0YS1uby1kcmFnPVwidHJ1ZVwiXG4gICAgICAgIG9uQ2xpY2s9e2FnZW50cy5sZW5ndGggPyBoYW5kbGVFeHBhbmRNb2RhbCA6IHVuZGVmaW5lZH1cbiAgICAgICAgaWQ9XCJjaGF0LWFpLW1vZGFsLWhlYWRlci13cmFwcGVyXCJcbiAgICAgID5cbiAgICAgICAgPFNDQ0FJTUhTZWxlY3RlZEFnZW50PlxuICAgICAgICAgIDxUb29sdGlwXG4gICAgICAgICAgICB0aXRsZT17XG4gICAgICAgICAgICAgIHNob3dUb29sdGlwQWdlbnQgPyAoXG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnNHB4JyB9fT5cbiAgICAgICAgICAgICAgICAgIHtsb2NhbEFnZW50cz8udHlwZSA9PT0gJ2N1c3RvbScgPyBsb2NhbEFnZW50cz8uZW1vamkgOiA8TUFJQUljb24gLz59IHtsb2NhbEFnZW50cz8ubmFtZX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgJydcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGxhY2VtZW50PXtpc0V4cGFuZGVkID8gJ2xlZnQnIDogJ3RvcCd9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dFxuICAgICAgICAgICAgICByZWY9e3RleHRSZWZBZ2VudH1cbiAgICAgICAgICAgICAgaXNBZ2VudERlbGV0ZWQ9e1xuICAgICAgICAgICAgICAgICEhc2VsZWN0ZWRBZ2VudD8uaXNfZGVsZXRlZCB8fCAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHwgISFzZWxlY3RlZEFnZW50Py5oYXNfbm90X2FjY2Vzc1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGdhcDogJzRweCcgfX0+XG4gICAgICAgICAgICAgICAge2xvY2FsQWdlbnRzPy50eXBlID09PSAnY3VzdG9tJyA/IGxvY2FsQWdlbnRzPy5lbW9qaSA6IDxNQUlBSWNvbiAvPn0ge2xvY2FsQWdlbnRzPy5uYW1lfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L1NDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dD5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvU0NDQUlNSFNlbGVjdGVkQWdlbnQ+XG4gICAgICAgIDxTQ0NBSU1IV3JhcHBlckljb24+XG4gICAgICAgICAgPENoZXZyb25Eb3duIHdpZHRoPXsxNH0gaGVpZ2h0PXsxNH0gY29sb3I9XCIjMjAyMDFGXCIgLz5cbiAgICAgICAgPC9TQ0NBSU1IV3JhcHBlckljb24+XG4gICAgICAgIHtpc0V4cGFuZGVkICYmIChcbiAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbD5cbiAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudD5cbiAgICAgICAgICAgICAge3dpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgIXVzZXJSb2xlc0Rpc2FibGVkLmluY2x1ZGVzKHVzZXIucm9sZV9pZCkgJiYgKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICB7KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2xvbmVBZ2VudHMgPSBhZ2VudHNGb3JTZWxlY3Rvci5maWx0ZXIoKGFnOiBBZ2VudCkgPT4gYWcudHlwZSA9PT0gJ2Nsb25lJylcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjbG9uZUFnZW50cy5sZW5ndGgpIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NBSVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxNQUlBSWNvbiAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSBpc0Nsb25lPk1BSUEgYnkgQ09SPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSVdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSERpdmlkZXIgLz5cblxuICAgICAgICAgICAgICAgICAgICAgICAge2Nsb25lQWdlbnRzLm1hcCgoY2xvbmVBZ2VudCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPENoYXRBSUFnZW50T3B0aW9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtgYWdlbnQtJHtjbG9uZUFnZW50LmlkfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlbnQ9e2Nsb25lQWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdEFnZW50PXtoYW5kbGVTZWxlY3RBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZEFnZW50Py5pZCA9PT0gY2xvbmVBZ2VudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpc01haWFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkZhdm9yaXRlVG9nZ2xlPXtvbkFnZW50VXBkYXRlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH0pKCl9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIHthZ2VudHNGb3JTZWxlY3Rvci5zb21lKGFnZW50ID0+IGFnZW50LnR5cGUgPT09ICdjdXN0b20nKSAmJlxuICAgICAgICAgICAgICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTICYmIChcbiAgICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdhZ2VudHMnKX0gYnkge3VzZXIuY29tcGFueX1cbiAgICAgICAgICAgICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlPlxuICAgICAgICAgICAgICAgICAgICA8U0NDQUlNSERpdmlkZXIgLz5cbiAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDxTQ0NBSU1IQWdlbnRzTGlzdCBoYXNNb3JlPXtoYXNNb3JlfSBhZ2VudHNDb3VudD17YWdlbnRzRm9yU2VsZWN0b3IubGVuZ3RofSByZWY9e2FnZW50c1JlZn0+XG4gICAgICAgICAgICAgICAge2FnZW50c0ZvclNlbGVjdG9yPy5tYXAoKGFnZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgICAgICAgICAgICAgICAgYWdlbnQ/LnR5cGUgPT09ICdjbG9uZScgfHxcbiAgICAgICAgICAgICAgICAgICAgKGFnZW50Py50eXBlID09PSAnY3VzdG9tJyAmJiAhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMpXG4gICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICA8Q2hhdEFJQWdlbnRPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e2BhZ2VudC0ke2FnZW50LmlkfWB9XG4gICAgICAgICAgICAgICAgICAgICAgYWdlbnQ9e2FnZW50fVxuICAgICAgICAgICAgICAgICAgICAgIGluZGV4PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RBZ2VudD17aGFuZGxlU2VsZWN0QWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZD17c2VsZWN0ZWRBZ2VudD8uaWQgPT09IGFnZW50LmlkfVxuICAgICAgICAgICAgICAgICAgICAgIG9uRmF2b3JpdGVUb2dnbGU9e29uQWdlbnRVcGRhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgc2V0SXNFeHBhbmRlZD17c2V0SXNFeHBhbmRlZH1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICB7bG9hZGluZ01vcmUgJiYgKFxuICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhMb2FkZXJXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICA8TG9hZGVyIHNpemU9XCJzbWFsbFwiIC8+XG4gICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhMb2FkZXJXcmFwcGVyPlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSEFnZW50c0xpc3Q+XG4gICAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50PlxuICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbD5cbiAgICAgICAgKX1cbiAgICAgIDwvU0NDQUlNSFdyYXBwZXI+XG4gICAgKVxuICB9XG5cbiAgY29uc3Qgc2VsZWN0ZWRNb2RlbExsbSA9IHNlbGVjdGVkQWdlbnQ/Lm1vZGVsX2Rpc3BsYXlfbmFtZVxuICBjb25zdCBzZWxlY3RlZEFnZW50VHlwZSA9IHNlbGVjdGVkQWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nXG4gIGNvbnN0IHNob3VsZFJlbmRlclNlbGVjdG9yID1cbiAgICAhaGFzRXJyb3IgJiZcbiAgICAhbG9hZGluZyAmJlxuICAgICFoaWRlQWdlbnRTZWxlY3RvciAmJlxuICAgICEhc2VsZWN0ZWRBZ2VudCAmJlxuICAgICghIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIHx8ICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUylcblxuICByZXR1cm4gKFxuICAgIDxTQ0NBSU1ITW9kYWxcbiAgICAgICRoYXNFcnJvcj17aGFzRXJyb3J9XG4gICAgICAkbG9hZGluZz17bG9hZGluZ31cbiAgICAgICRoYXNBZ2VudHM9eyEhYWdlbnRzLmxlbmd0aH1cbiAgICAgIG9uUG9pbnRlckRvd249e2RyYWdnYWJsZSA/IG9uRHJhZ1N0YXJ0IDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyTW92ZT17ZHJhZ2dhYmxlID8gb25EcmFnTW92ZSA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlclVwPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJDYW5jZWw9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uTG9zdFBvaW50ZXJDYXB0dXJlPXtkcmFnZ2FibGUgPyBvbkRyYWdFbmQgOiB1bmRlZmluZWR9XG4gICAgICBzdHlsZT17eyBjdXJzb3I6IGRyYWdnYWJsZSA/ICdncmFiJyA6IHVuZGVmaW5lZCwgdG91Y2hBY3Rpb246IGRyYWdnYWJsZSA/ICdtYW5pcHVsYXRpb24nIDogdW5kZWZpbmVkIH19XG4gICAgPlxuICAgICAge3Nob3VsZFJlbmRlclNlbGVjdG9yID8gcmVuZGVyTW9kYWwoKSA6IDxkaXYgLz59XG4gICAgICA8U0NDQUlNSFdyYXBwZXJCdXR0b24gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICB7c2VsZWN0ZWRBZ2VudFR5cGUgJiYgc2VsZWN0ZWRNb2RlbExsbSAmJiA8Q2hpcExsbSBtb2RlbD17c2VsZWN0ZWRNb2RlbExsbX0gZXhwYW5kZWQ9e2V4cGFuZGVkfSAvPn1cbiAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yIHJlZj17bGF5b3V0TWVudVJlZn0gZGF0YS1uby1kcmFnPVwidHJ1ZVwiPlxuICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICBidXR0b25JZD1cImJ0bi1tYWlhLWxheW91dC1tZW51XCJcbiAgICAgICAgICAgIGhhbmRsZUNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGlmICghbGF5b3V0TWVudU9wZW4pIHtcbiAgICAgICAgICAgICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRPcGVuVmlld09wdGlvbnMpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgc2V0TGF5b3V0TWVudU9wZW4ocHJldiA9PiAhcHJldilcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB0b29sdGlwPXt0KCdsYXlvdXRNZW51VG9vbHRpcCcpfVxuICAgICAgICAgICAgZGlzYWJsZVRvb2x0aXA9e2xheW91dE1lbnVPcGVufVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxNYWlhQ2hhdExheW91dE1lbnVJY29uIC8+XG4gICAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgICAgIHtsYXlvdXRNZW51T3BlbiA/IChcbiAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVBhbmVsIHJvbGU9XCJtZW51XCI+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdzaWRlYmFyJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVQaWNrTGF5b3V0KCdzaWRlYmFyJyl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dCgnbGF5b3V0U2lkZWJhcicpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnZnVsbHNjcmVlbid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnZnVsbHNjcmVlbicpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dEZ1bGxzY3JlZW4nKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ2Zsb2F0aW5nJ31cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVQaWNrTGF5b3V0KCdmbG9hdGluZycpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dEZsb2F0aW5nJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51UGFuZWw+XG4gICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVBbmNob3I+XG4gICAgICAgIDxJY29uQnV0dG9uIGhhbmRsZUNsaWNrPXtoYW5kbGVDbG9zZX0gdG9vbHRpcD17dCgnZ2xvYmFscy5jbG9zZScpfT5cbiAgICAgICAgICA8Q3Jvc3MgLz5cbiAgICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgPC9TQ0NBSU1IV3JhcHBlckJ1dHRvbj5cbiAgICA8L1NDQ0FJTUhNb2RhbD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFDQTtBQUNBLFNBQVNBLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxRQUEyQyxPQUFPO0FBQzVHLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLFFBQVEsUUFBUSxpQ0FBaUM7QUFDMUQsU0FBU0MsZ0JBQWdCLFFBQVEsdUNBQXVDO0FBQ3hFLFNBQVNDLGlCQUFpQixRQUFRLGdDQUFnQztBQUNsRSxTQUFTQyxVQUFVLFFBQVEsOEJBQThCO0FBQ3pELFNBQVNDLFFBQVEsRUFBRUMsc0JBQXNCLFFBQVEseUJBQXlCO0FBQzFFLFNBQVNDLGlCQUFpQixRQUFRLDBDQUEwQztBQUM1RSxTQUNFQyxZQUFZLEVBQ1pDLG9CQUFvQixFQUNwQkMsd0JB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
|
|
@@ -7,12 +7,10 @@ export var options = /*#__PURE__*/function (options) {
|
|
|
7
7
|
options["projectSelector"] = "projectSelector";
|
|
8
8
|
options["clientSelector"] = "clientSelector";
|
|
9
9
|
options["myAgents"] = "myAgents";
|
|
10
|
-
options["myRoutines"] = "myRoutines";
|
|
11
|
-
options["mySkills"] = "mySkills";
|
|
12
10
|
return options;
|
|
13
11
|
}({});
|
|
14
12
|
export var buildHandlers = function buildHandlers(setCurrentOption, setHasError) {
|
|
15
|
-
return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(
|
|
13
|
+
return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, options.home, function () {
|
|
16
14
|
setHasError(false);
|
|
17
15
|
setCurrentOption(options.home);
|
|
18
16
|
}), options.chatsHistory, function () {
|
|
@@ -33,12 +31,6 @@ export var buildHandlers = function buildHandlers(setCurrentOption, setHasError)
|
|
|
33
31
|
}), options.myAgents, function () {
|
|
34
32
|
setHasError(false);
|
|
35
33
|
setCurrentOption(options.myAgents);
|
|
36
|
-
}), options.myRoutines, function () {
|
|
37
|
-
setHasError(false);
|
|
38
|
-
setCurrentOption(options.myRoutines);
|
|
39
|
-
}), options.mySkills, function () {
|
|
40
|
-
setHasError(false);
|
|
41
|
-
setCurrentOption(options.mySkills);
|
|
42
34
|
});
|
|
43
35
|
};
|
|
44
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvcHRpb25zIiwiYnVpbGRIYW5kbGVycyIsInNldEN1cnJlbnRPcHRpb24iLCJzZXRIYXNFcnJvciIsIl9kZWZpbmVQcm9wZXJ0eSIsImhvbWUiLCJjaGF0c0hpc3RvcnkiLCJwcm9qZWN0U3VtbWFyeSIsImNoYXQiLCJwcm9qZWN0U2VsZWN0b3IiLCJjbGllbnRTZWxlY3RvciIsIm15QWdlbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbnN0YW50cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBvcHRpb25zIHtcbiAgaG9tZSA9ICdob21lJyxcbiAgY2hhdHNIaXN0b3J5ID0gJ2NoYXRzSGlzdG9yeScsXG4gIHByb2plY3RTdW1tYXJ5ID0gJ3Byb2plY3RTdW1tYXJ5JyxcbiAgY2hhdCA9ICdjaGF0JyxcbiAgcHJvamVjdFNlbGVjdG9yID0gJ3Byb2plY3RTZWxlY3RvcicsXG4gIGNsaWVudFNlbGVjdG9yID0gJ2NsaWVudFNlbGVjdG9yJyxcbiAgbXlBZ2VudHMgPSAnbXlBZ2VudHMnLFxufVxuXG5leHBvcnQgY29uc3QgYnVpbGRIYW5kbGVycyA9IChcbiAgc2V0Q3VycmVudE9wdGlvbjogKG9wdGlvbjogb3B0aW9ucykgPT4gdm9pZCxcbiAgc2V0SGFzRXJyb3I6IChoYXNFcnJvcjogYm9vbGVhbikgPT4gdm9pZFxuKSA9PiAoe1xuICBbb3B0aW9ucy5ob21lXTogKCkgPT4ge1xuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5ob21lKVxuICB9LFxuICBbb3B0aW9ucy5jaGF0c0hpc3RvcnldOiAoKSA9PiB7XG4gICAgc2V0SGFzRXJyb3IoZmFsc2UpXG4gICAgc2V0Q3VycmVudE9wdGlvbihvcHRpb25zLmNoYXRzSGlzdG9yeSlcbiAgfSxcbiAgW29wdGlvbnMucHJvamVjdFN1bW1hcnldOiAoKSA9PiB7XG4gICAgc2V0SGFzRXJyb3IoZmFsc2UpXG4gICAgc2V0Q3VycmVudE9wdGlvbihvcHRpb25zLnByb2plY3RTdW1tYXJ5KVxuICB9LFxuICBbb3B0aW9ucy5jaGF0XTogKCkgPT4ge1xuICAgIHNldEhhc0Vycm9yKGZhbHNlKVxuICAgIHNldEN1cnJlbnRPcHRpb24ob3B0aW9ucy5jaGF0KVxuICB9LFxuICBbb3B0aW9ucy5wcm9qZWN0U2VsZWN0b3JdOiAoKSA9PiB7XG4gICAgc2V0SGFzRXJyb3IoZmFsc2UpXG4gICAgc2V0Q3VycmVudE9wdGlvbihvcHRpb25zLnByb2plY3RTZWxlY3RvcilcbiAgfSxcbiAgW29wdGlvbnMuY2xpZW50U2VsZWN0b3JdOiAoKSA9PiB7XG4gICAgc2V0SGFzRXJyb3IoZmFsc2UpXG4gICAgc2V0Q3VycmVudE9wdGlvbihvcHRpb25zLmNsaWVudFNlbGVjdG9yKVxuICB9LFxuICBbb3B0aW9ucy5teUFnZW50c106ICgpID0+IHtcbiAgICBzZXRIYXNFcnJvcihmYWxzZSlcbiAgICBzZXRDdXJyZW50T3B0aW9uKG9wdGlvbnMubXlBZ2VudHMpXG4gIH0sXG59KVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsV0FBWUEsT0FBTywwQkFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQVBBLE9BQU87RUFBUEEsT0FBTztFQUFQQSxPQUFPO0VBQUEsT0FBUEEsT0FBTztBQUFBO0FBVW5CLE9BQU8sSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUN4QkMsZ0JBQTJDLEVBQzNDQyxXQUF3QztFQUFBLE9BQUFDLGVBQUEsQ0FBQUEsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsQ0FBQUEsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsS0FFdkNKLE9BQU8sQ0FBQ0ssSUFBSSxFQUFHLFlBQU07SUFDcEJGLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEJELGdCQUFnQixDQUFDRixPQUFPLENBQUNLLElBQUksQ0FBQztFQUNoQyxDQUFDLEdBQ0FMLE9BQU8sQ0FBQ00sWUFBWSxFQUFHLFlBQU07SUFDNUJILFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEJELGdCQUFnQixDQUFDRixPQUFPLENBQUNNLFlBQVksQ0FBQztFQUN4QyxDQUFDLEdBQ0FOLE9BQU8sQ0FBQ08sY0FBYyxFQUFHLFlBQU07SUFDOUJKLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEJELGdCQUFnQixDQUFDRixPQUFPLENBQUNPLGNBQWMsQ0FBQztFQUMxQyxDQUFDLEdBQ0FQLE9BQU8sQ0FBQ1EsSUFBSSxFQUFHLFlBQU07SUFDcEJMLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEJELGdCQUFnQixDQUFDRixPQUFPLENBQUNRLElBQUksQ0FBQztFQUNoQyxDQUFDLEdBQ0FSLE9BQU8sQ0FBQ1MsZUFBZSxFQUFHLFlBQU07SUFDL0JOLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEJELGdCQUFnQixDQUFDRixPQUFPLENBQUNTLGVBQWUsQ0FBQztFQUMzQyxDQUFDLEdBQ0FULE9BQU8sQ0FBQ1UsY0FBYyxFQUFHLFlBQU07SUFDOUJQLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEJELGdCQUFnQixDQUFDRixPQUFPLENBQUNVLGNBQWMsQ0FBQztFQUMxQyxDQUFDLEdBQ0FWLE9BQU8sQ0FBQ1csUUFBUSxFQUFHLFlBQU07SUFDeEJSLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDbEJELGdCQUFnQixDQUFDRixPQUFPLENBQUNXLFFBQVEsQ0FBQztFQUNwQyxDQUFDO0FBQUEsQ0FDRCIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -10,7 +10,6 @@ import { useMemo, useRef, useState, useEffect } from 'react';
|
|
|
10
10
|
import { Attach } from '@projectcor/icons/lib/components/Attach';
|
|
11
11
|
import { MODAL_ELEMENTS } from '../../../hooks/useModal/useModal';
|
|
12
12
|
import { Chip } from '../../atoms/Chip';
|
|
13
|
-
// eslint-disable-next-line import/no-cycle
|
|
14
13
|
import { MAIAInput } from '../../atoms/MAIAInput';
|
|
15
14
|
import { ChatFooterFaqs } from './ChatFooterFaqs';
|
|
16
15
|
import { useGlobalContext } from '../../../context/global-context';
|
|
@@ -117,17 +116,17 @@ export function ChatFooter(_ref) {
|
|
|
117
116
|
});
|
|
118
117
|
reportedEvent.current = true;
|
|
119
118
|
};
|
|
120
|
-
var handleSendMessage = function handleSendMessage(message, newAttachments,
|
|
119
|
+
var handleSendMessage = function handleSendMessage(message, newAttachments, faqId) {
|
|
121
120
|
event(EVENTS.aiChatSend, {
|
|
122
121
|
agent_type: isMarketplaceGlobalAgent ? 'marketplace' : agent === null || agent === void 0 ? void 0 : agent.type,
|
|
123
122
|
agent_id: agent === null || agent === void 0 ? void 0 : agent.id,
|
|
124
123
|
agent_name: agent === null || agent === void 0 ? void 0 : agent.name
|
|
125
124
|
});
|
|
126
|
-
onSendMessage(message, newAttachments, faqId
|
|
125
|
+
onSendMessage(message, newAttachments, faqId);
|
|
127
126
|
setAttachments([]);
|
|
128
127
|
};
|
|
129
128
|
var handleSelectFaq = function handleSelectFaq(message, faqId) {
|
|
130
|
-
onSendMessage(message, undefined, faqId
|
|
129
|
+
onSendMessage(message, undefined, faqId);
|
|
131
130
|
};
|
|
132
131
|
var handleFileAttach = /*#__PURE__*/function () {
|
|
133
132
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(file) {
|
|
@@ -280,4 +279,4 @@ export function ChatFooter(_ref) {
|
|
|
280
279
|
})]
|
|
281
280
|
});
|
|
282
281
|
}
|
|
283
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJBdHRhY2giLCJNT0RBTF9FTEVNRU5UUyIsIkNoaXAiLCJNQUlBSW5wdXQiLCJDaGF0Rm9vdGVyRmFxcyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VUIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJTdHlsZWRDaGF0Rm9vdGVyIiwiQ2hpcHNBbmRGYXFzUm93IiwiQ3N2RmlsZUljb24iLCJNREZpbGVJY29uIiwiRG9jRmlsZUljb24iLCJEb2N4RmlsZUljb24iLCJUZXh0RmlsZUljb24iLCJQZGZGaWxlSWNvbiIsIkltYWdlRmlsZUljb24iLCJYbHN4RmlsZUljb24iLCJYbHNGaWxlSWNvbiIsIk1wM0ZpbGVJY29uIiwiV2F2RmlsZUljb24iLCJGbGFjRmlsZUljb24iLCJNNGFGaWxlSWNvbiIsIk1wNEZpbGVJY29uIiwiT2dhRmlsZUljb24iLCJPZ2dGaWxlSWNvbiIsIldlYm1GaWxlSWNvbiIsIkltYWdlUHJldmlldyIsInByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQiLCJ2YWxpZGF0ZUlzTWFpYSIsIkNoYXREaXNjbGFpbWVyTWVzc2FnZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJJY29uQnlGaWxlVHlwZSIsIkNoYXRGb290ZXIiLCJfcmVmIiwib25TZW5kTWVzc2FnZSIsIml0ZW1zIiwiZGlzYWJsZWQiLCJpc1N0cmVhbWluZyIsImlzV3JpdGluZyIsIm9uU3RvcEdlbmVyYXRpb24iLCJjaGF0SWQiLCJuZXdDaGF0S2V5IiwiX3JlZiRzaG93RmFxcyIsInNob3dGYXFzIiwiX3VzZUdsb2JhbENvbnRleHQiLCJwcm9qZWN0IiwiYWdlbnQiLCJjaGlwc1Byb2plY3QiLCJjbGllbnQiLCJfdXNlVCIsInQiLCJldmVudCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImF0dGFjaG1lbnRzIiwic2V0QXR0YWNobWVudHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmdNZXNzYWdlcyIsInNldExvYWRpbmdNZXNzYWdlcyIsInJlcG9ydGVkRXZlbnQiLCJpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQiLCJlbnRpdHkiLCJ0ZXN0IiwibmFtZSIsImhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSIsImUiLCJkZXRhaWwiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlU2Vzc2lvbkNoYW5nZSIsImNoaXBJdGVtcyIsInRlbXBJdGVtcyIsInB1c2giLCJjbGllbnROYW1lIiwicHJvamVjdE5hbWUiLCJfcHJvamVjdCRjbGllbnQiLCJvbkNoYW5nZSIsImN1cnJlbnQiLCJwbUFpVHlwZWRUZXh0IiwiYWdlbnRfdHlwZSIsInR5cGUiLCJoYW5kbGVTZW5kTWVzc2FnZSIsIm1lc3NhZ2UiLCJuZXdBdHRhY2htZW50cyIsIm1lbnRpb25zIiwiZmFxSWQiLCJhaUNoYXRTZW5kIiwiYWdlbnRfaWQiLCJpZCIsImFnZW50X25hbWUiLCJ1bmRlZmluZWQiLCJoYW5kbGVTZWxlY3RGYXEiLCJoYW5kbGVGaWxlQXR0YWNoIiwiX3JlZjIiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImZpbGUiLCJfZmlsZU5hbWVQYXJ0cyRwb3AiLCJmaWxlTmFtZVBhcnRzIiwiZmlsZUV4dGVuc2lvbiIsImlzSW1hZ2VCeUV4dGVuc2lvbiIsImlzSW1hZ2VCeU1pbWUiLCJpc0ltYWdlIiwiZXh0ZW5zaW9uVG9JY29uIiwiaWNvbiIsImV4dGVuc2lvblRvTWltZVR5cGUiLCJtaW1lVHlwZUJ5RXh0ZW5zaW9uIiwicHJvY2Vzc2VkRmlsZSIsImltYWdlVXJsIiwibmV3QXR0YWNobWVudCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJzcGxpdCIsImxlbmd0aCIsImNvbmNhdCIsInBvcCIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJzdGFydHNXaXRoIiwiY29sb3IiLCJ3aWR0aCIsImhlaWdodCIsInNlbnQiLCJjb25zb2xlIiwiZXJyb3IiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJzcmMiLCJhbHQiLCJib3JkZXJSYWRpdXMiLCJvcmlnaW5hbEZpbGUiLCJEYXRlIiwibm93IiwiTWF0aCIsInJhbmRvbSIsInNpemUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZURlbGV0ZUF0dGFjaG1lbnQiLCJmaWxlSWQiLCJmaWx0ZXIiLCJhdHRhY2htZW50IiwiaXNNQUlBIiwiZGlzY2xhaW1lck1lc3NhZ2UiLCJhZ2VudE5hbWUiLCJpc0ZhcUludGVyYWN0aW9uRGlzYWJsZWQiLCJCb29sZWFuIiwiY2hpbGRyZW4iLCJvblNlbGVjdEZhcSIsImNsYXNzTmFtZSIsInBsYWNlaG9sZGVyIiwiaW5wdXRfcGxhY2Vob2xkZXIiLCJvbkZpbGVBdHRhY2giLCJvbkRlbGV0ZUF0dGFjaG1lbnQiLCJhdHQiLCJtYXAiLCJOdW1iZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlZiAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcmVxdWlyZS1kZWZhdWx0LXByb3BzICovXG5pbXBvcnQgeyBSZWFjdE5vZGUsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQXR0YWNoIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQXR0YWNoJ1xuaW1wb3J0IHsgTU9EQUxfRUxFTUVOVFMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VNb2RhbC91c2VNb2RhbCdcblxuaW1wb3J0IHsgQ2hpcCB9IGZyb20gJy4uLy4uL2F0b21zL0NoaXAnXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQgeyBNQUlBSW5wdXQgfSBmcm9tICcuLi8uLi9hdG9tcy9NQUlBSW5wdXQnXG5pbXBvcnQgeyBDaGF0Rm9vdGVyRmFxcyB9IGZyb20gJy4vQ2hhdEZvb3RlckZhcXMnXG5cbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyBDb250ZXh0TWVudGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgU3R5bGVkQ2hhdEZvb3RlciwgQ2hpcHNBbmRGYXFzUm93IH0gZnJvbSAnLi9zdHlsZXMnXG5pbXBvcnQge1xuICBDc3ZGaWxlSWNvbixcbiAgTURGaWxlSWNvbixcbiAgRG9jRmlsZUljb24sXG4gIERvY3hGaWxlSWNvbixcbiAgVGV4dEZpbGVJY29uLFxuICBQZGZGaWxlSWNvbixcbiAgSW1hZ2VGaWxlSWNvbixcbiAgWGxzeEZpbGVJY29uLFxuICBYbHNGaWxlSWNvbixcbiAgTXAzRmlsZUljb24sXG4gIFdhdkZpbGVJY29uLFxuICBGbGFjRmlsZUljb24sXG4gIE00YUZpbGVJY29uLFxuICBNcDRGaWxlSWNvbixcbiAgT2dhRmlsZUljb24sXG4gIE9nZ0ZpbGVJY29uLFxuICBXZWJtRmlsZUljb24sXG59IGZyb20gJy4uLy4uL2F0b21zL2ljb25zJ1xuaW1wb3J0IHsgSW1hZ2VQcmV2aWV3IH0gZnJvbSAnLi4vLi4vYXRvbXMvSW1hZ2VQcmV2aWV3L0ltYWdlUHJldmlldydcbmltcG9ydCB7IHByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9pbWFnZVByZXByb2Nlc3NvcidcbmltcG9ydCB7IHZhbGlkYXRlSXNNYWlhIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvdmFsaWRhdGVJc01haWEnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHR5cGUgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2F0dGFjaG1lbnQnXG5pbXBvcnQgeyBDaGF0RGlzY2xhaW1lck1lc3NhZ2UgfSBmcm9tICcuLi8uLi9hdG9tcy9DaGF0RGlzY2xhaW1lck1lc3NhZ2UnXG5cbmV4cG9ydCB0eXBlIHsgQXR0YWNobWVudEZpbGUgfVxuXG50eXBlIENoYXRGb290ZXJQcm9wcyA9IHtcbiAgaXRlbXM/OiBzdHJpbmdbXVxuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgaXNTdHJlYW1pbmc/OiBib29sZWFuXG4gIGlzV3JpdGluZz86IGJvb2xlYW5cbiAgb25TZW5kTWVzc2FnZTogKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10sXG4gICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgbWVudGlvbnM/OiBDb250ZXh0TWVudGlvbltdXG4gICkgPT4gdm9pZFxuICBvblN0b3BHZW5lcmF0aW9uPzogKCkgPT4gdm9pZFxuICBjaGF0SWQ/OiBzdHJpbmcgfCBudWxsXG4gIG5ld0NoYXRLZXk/OiBudW1iZXJcbiAgLyoqIFNpIGVzIGZhbHNlLCBubyBzZSBtdWVzdHJhIGxhIGZpbGEgZGUgY2hpcHMgbmkgZWwgYm90w7NuIGRlIEZBUXMuIERlYmUgc2VyIHRydWUgY3VhbmRvIGN1cnJlbnRPcHRpb24gPT09IGNoYXQuICovXG4gIHNob3dGYXFzPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgSWNvbkJ5RmlsZVR5cGUgPSB7XG4gICd0ZXh0L3BsYWluJzogPFRleHRGaWxlSWNvbiAvPixcbiAgJ3RleHQveC1tYXJrZG93bic6IDxNREZpbGVJY29uIC8+LFxuICAndGV4dC9jc3YnOiA8Q3N2RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi9tc3dvcmQnOiA8RG9jRmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCc6IDxEb2N4RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi9wZGYnOiA8UGRmRmlsZUljb24gLz4sXG4gICdpbWFnZS9wbmcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2ltYWdlL2pwZWcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2ltYWdlL2pwZyc6IDxJbWFnZUZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnOiA8WGxzeEZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJzogPFhsc0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vbXBlZyc6IDxNcDNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL2ZsYWMnOiA8RmxhY0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vbXA0JzogPE1wNEZpbGVJY29uIC8+LFxuICAnYXVkaW8vbTRhJzogPE00YUZpbGVJY29uIC8+LFxuICAnYXVkaW8vb2dnJzogPE9nZ0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vb2dhJzogPE9nYUZpbGVJY29uIC8+LFxuICAnYXVkaW8vd2F2JzogPFdhdkZpbGVJY29uIC8+LFxuICAnYXVkaW8vd2VibSc6IDxXZWJtRmlsZUljb24gLz4sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGF0Rm9vdGVyKHtcbiAgb25TZW5kTWVzc2FnZSxcbiAgaXRlbXMsXG4gIGRpc2FibGVkLFxuICBpc1N0cmVhbWluZyxcbiAgaXNXcml0aW5nLFxuICBvblN0b3BHZW5lcmF0aW9uLFxuICBjaGF0SWQsXG4gIG5ld0NoYXRLZXksXG4gIHNob3dGYXFzID0gdHJ1ZSxcbn06IENoYXRGb290ZXJQcm9wcykge1xuICBjb25zdCB7IHByb2plY3QsIGFnZW50LCBjaGlwc1Byb2plY3QsIGNsaWVudCB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IGV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCBbYXR0YWNobWVudHMsIHNldEF0dGFjaG1lbnRzXSA9IHVzZVN0YXRlPEF0dGFjaG1lbnRGaWxlW10+KFtdKVxuICBjb25zdCBbbG9hZGluZ01lc3NhZ2VzLCBzZXRMb2FkaW5nTWVzc2FnZXNdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgcmVwb3J0ZWRFdmVudCA9IHVzZVJlZihmYWxzZSlcbiAgY29uc3QgaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50ID0gYWdlbnQ/LmVudGl0eSA9PT0gJ2dsb2JhbCcgJiYgLyhtYWlha2VyfG1hcmtldHBsYWNlKS9pLnRlc3QoYWdlbnQ/Lm5hbWUgfHwgJycpXG5cbiAgLy8gdXNlRWZmZWN0IHRvIGxpc3RlbiBsb2FkaW5nTWVzc2FnZXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgPSAoZTogQ3VzdG9tRXZlbnQpID0+IHtcbiAgICAgIHNldExvYWRpbmdNZXNzYWdlcyhlLmRldGFpbC5sb2FkaW5nTWVzc2FnZXMpXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhdC1sb2FkaW5nLW1lc3NhZ2VzLWNoYW5nZWQnLCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgYXMgRXZlbnRMaXN0ZW5lcilcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGF0LWxvYWRpbmctbWVzc2FnZXMtY2hhbmdlZCcsIGhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSBhcyBFdmVudExpc3RlbmVyKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgLy8gQ2xlYXIgYXR0YWNobWVudHMgd2hlbiBzZXNzaW9uIGNoYW5nZXMgKHVzZXIgc3dpdGNoZXMgdG8gYSBkaWZmZXJlbnQgY2hhdClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZXNzaW9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgc2V0QXR0YWNobWVudHMoW10pXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJywgaGFuZGxlU2Vzc2lvbkNoYW5nZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGNoaXBJdGVtcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpdGVtcykgcmV0dXJuIGl0ZW1zXG5cbiAgICBjb25zdCB0ZW1wSXRlbXM6IHN0cmluZ1tdID0gW11cblxuICAgIGlmIChhZ2VudD8uZW50aXR5ID09PSAnY2xpZW50JyAmJiBjbGllbnQ/Lm5hbWUpIHtcbiAgICAgIHRlbXBJdGVtcy5wdXNoKGNsaWVudC5uYW1lKVxuICAgIH0gZWxzZSBpZiAoY2hpcHNQcm9qZWN0KSB7XG4gICAgICBpZiAoY2hpcHNQcm9qZWN0LmNsaWVudE5hbWUpIHRlbXBJdGVtcy5wdXNoKGNoaXBzUHJvamVjdC5jbGllbnROYW1lKVxuICAgICAgaWYgKGNoaXBzUHJvamVjdC5wcm9qZWN0TmFtZSkgdGVtcEl0ZW1zLnB1c2goY2hpcHNQcm9qZWN0LnByb2plY3ROYW1lKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAocHJvamVjdD8uY2xpZW50Py5uYW1lKSB0ZW1wSXRlbXMucHVzaChwcm9qZWN0LmNsaWVudC5uYW1lKVxuICAgICAgaWYgKHByb2plY3Q/Lm5hbWUpIHRlbXBJdGVtcy5wdXNoKHByb2plY3QubmFtZSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGVtcEl0ZW1zXG4gIH0sIFtpdGVtcywgcHJvamVjdCwgY2hpcHNQcm9qZWN0LCBhZ2VudD8uZW50aXR5LCBjbGllbnRdKVxuXG4gIGNvbnN0IG9uQ2hhbmdlID0gKCkgPT4ge1xuICAgIGlmIChyZXBvcnRlZEV2ZW50LmN1cnJlbnQpIHJldHVyblxuICAgIGV2ZW50KEVWRU5UUy5wbUFpVHlwZWRUZXh0LCB7XG4gICAgICBhZ2VudF90eXBlOiBpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQgPyAnbWFya2V0cGxhY2UnIDogYWdlbnQ/LnR5cGUsXG4gICAgfSlcbiAgICByZXBvcnRlZEV2ZW50LmN1cnJlbnQgPSB0cnVlXG4gIH1cblxuICBjb25zdCBoYW5kbGVTZW5kTWVzc2FnZSA9IChcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgbmV3QXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLFxuICAgIG1lbnRpb25zPzogQ29udGV4dE1lbnRpb25bXSxcbiAgICBmYXFJZD86IHN0cmluZ1xuICApID0+IHtcbiAgICBldmVudChFVkVOVFMuYWlDaGF0U2VuZCwge1xuICAgICAgYWdlbnRfdHlwZTogaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50ID8gJ21hcmtldHBsYWNlJyA6IGFnZW50Py50eXBlLFxuICAgICAgYWdlbnRfaWQ6IGFnZW50Py5pZCxcbiAgICAgIGFnZW50X25hbWU6IGFnZW50Py5uYW1lLFxuICAgIH0pXG4gICAgb25TZW5kTWVzc2FnZShtZXNzYWdlLCBuZXdBdHRhY2htZW50cywgZmFxSWQsIHVuZGVmaW5lZCwgbWVudGlvbnMpXG4gICAgc2V0QXR0YWNobWVudHMoW10pXG4gIH1cblxuICBjb25zdCBoYW5kbGVTZWxlY3RGYXEgPSAobWVzc2FnZTogc3RyaW5nLCBmYXFJZDogc3RyaW5nKSA9PiB7XG4gICAgb25TZW5kTWVzc2FnZShtZXNzYWdlLCB1bmRlZmluZWQsIGZhcUlkLCB1bmRlZmluZWQpXG4gIH1cblxuICBjb25zdCBoYW5kbGVGaWxlQXR0YWNoID0gYXN5bmMgKGZpbGU6IEZpbGUpID0+IHtcbiAgICBjb25zdCBmaWxlTmFtZVBhcnRzID0gZmlsZS5uYW1lLnNwbGl0KCcuJylcbiAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gZmlsZU5hbWVQYXJ0cy5sZW5ndGggPiAxID8gYC4ke2ZpbGVOYW1lUGFydHMucG9wKCk/LnRvTG93ZXJDYXNlKCl9YCA6ICcnXG4gICAgY29uc3QgaXNJbWFnZUJ5RXh0ZW5zaW9uID0gWycucG5nJywgJy5qcGcnLCAnLmpwZWcnXS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKVxuICAgIGNvbnN0IGlzSW1hZ2VCeU1pbWUgPSBmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJylcbiAgICBjb25zdCBpc0ltYWdlID0gaXNJbWFnZUJ5TWltZSAmJiBpc0ltYWdlQnlFeHRlbnNpb25cbiAgICAvLyBNYXBlbyBkZSBleHRlbnNpw7NuIGEgaWNvbm8gZGlyZWN0byBwYXJhIGNhc29zIGVzcGVjaWFsZXMgKGF1ZGlvL29nZyB5IGF1ZGlvL21wNClcbiAgICBjb25zdCBleHRlbnNpb25Ub0ljb246IFJlY29yZDxzdHJpbmcsIFJlYWN0Tm9kZT4gPSB7XG4gICAgICAnLm9nZyc6IDxPZ2dGaWxlSWNvbiAvPixcbiAgICAgICcub2dhJzogPE9nYUZpbGVJY29uIC8+LFxuICAgICAgJy5tcDQnOiA8TXA0RmlsZUljb24gLz4sXG4gICAgICAnLm00YSc6IDxNNGFGaWxlSWNvbiAvPixcbiAgICB9XG5cbiAgICBsZXQgaWNvbiA9IEljb25CeUZpbGVUeXBlW2ZpbGUudHlwZV1cblxuICAgIC8vIFNpIGVsIHRpcG8gZXMgYXVkaW8vb2dnIG8gYXVkaW8vbXA0LCB1c2FyIGxhIGV4dGVuc2nDs24gcGFyYSBkZXRlcm1pbmFyIGVsIGljb25vXG4gICAgaWYgKChmaWxlLnR5cGUgPT09ICdhdWRpby9vZ2cnIHx8IGZpbGUudHlwZSA9PT0gJ2F1ZGlvL21wNCcpICYmIGZpbGVFeHRlbnNpb24pIHtcbiAgICAgIGljb24gPSBleHRlbnNpb25Ub0ljb25bZmlsZUV4dGVuc2lvbl0gfHwgaWNvblxuICAgIH1cblxuICAgIGlmICghaWNvbikge1xuICAgICAgY29uc3QgZXh0ZW5zaW9uVG9NaW1lVHlwZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgICAgJy50eHQnOiAndGV4dC9wbGFpbicsXG4gICAgICAgICcubWQnOiAndGV4dC94LW1hcmtkb3duJyxcbiAgICAgICAgJy5jc3YnOiAndGV4dC9jc3YnLFxuICAgICAgICAnLmRvYyc6ICdhcHBsaWNhdGlvbi9tc3dvcmQnLFxuICAgICAgICAnLmRvY3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLFxuICAgICAgICAnLnBkZic6ICdhcHBsaWNhdGlvbi9wZGYnLFxuICAgICAgICAnLnhsc3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnLFxuICAgICAgICAnLnhscyc6ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLFxuICAgICAgICAnLmZsYWMnOiAnYXVkaW8vZmxhYycsXG4gICAgICAgICcubTRhJzogJ2F1ZGlvL200YScsXG4gICAgICAgICcubXAzJzogJ2F1ZGlvL21wZWcnLFxuICAgICAgICAnLm1wNCc6ICdhdWRpby9tcDQnLFxuICAgICAgICAnLm9nYSc6ICdhdWRpby9vZ2EnLFxuICAgICAgICAnLm9nZyc6ICdhdWRpby9vZ2cnLFxuICAgICAgICAnLndhdic6ICdhdWRpby93YXYnLFxuICAgICAgICAnLndlYm0nOiAnYXVkaW8vd2VibScsXG4gICAgICB9XG4gICAgICBjb25zdCBtaW1lVHlwZUJ5RXh0ZW5zaW9uID0gZXh0ZW5zaW9uVG9NaW1lVHlwZVtmaWxlRXh0ZW5zaW9uXVxuICAgICAgaWYgKG1pbWVUeXBlQnlFeHRlbnNpb24pIHtcbiAgICAgICAgaWNvbiA9IEljb25CeUZpbGVUeXBlW21pbWVUeXBlQnlFeHRlbnNpb25dXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpY29uID0gPEF0dGFjaCBjb2xvcj1cInJnYmEoMTM1LCA2NCwgMTkxLCAxKVwiIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHByb2Nlc3NlZEZpbGUgPSBmaWxlXG5cbiAgICAvLyBTaSBlcyB1bmEgaW1hZ2VuLCBwcmUtcHJvY2VzYXJsYSBwYXJhIGVsIGJhY2tlbmRcbiAgICBpZiAoaXNJbWFnZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gUHJvY2VzYW5kbyBpbWFnZW5cbiAgICAgICAgcHJvY2Vzc2VkRmlsZSA9IGF3YWl0IHByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQoZmlsZSlcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHByZS1wcm9jZXNhbmRvIGltYWdlbjonLCBlcnJvcilcbiAgICAgICAgLy8gQ29udGludWFyIGNvbiBlbCBhcmNoaXZvIG9yaWdpbmFsIHNpIGhheSBlcnJvclxuICAgICAgfVxuXG4gICAgICBjb25zdCBpbWFnZVVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSlcblxuICAgICAgaWNvbiA9IDxJbWFnZVByZXZpZXcgc3JjPXtpbWFnZVVybH0gYWx0PXtmaWxlLm5hbWV9IHdpZHRoPVwiNjNweFwiIGhlaWdodD1cIjYzcHhcIiBib3JkZXJSYWRpdXM9XCI2cHhcIiAvPlxuICAgIH1cblxuICAgIGNvbnN0IG5ld0F0dGFjaG1lbnQ6IEF0dGFjaG1lbnRGaWxlID0ge1xuICAgICAgZmlsZTogcHJvY2Vzc2VkRmlsZSxcbiAgICAgIG9yaWdpbmFsRmlsZTogaXNJbWFnZSA/IGZpbGUgOiB1bmRlZmluZWQsXG4gICAgICBpZDogYCR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpfWAsXG4gICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICBzaXplOiBwcm9jZXNzZWRGaWxlLnNpemUsXG4gICAgICB0eXBlOiBwcm9jZXNzZWRGaWxlLnR5cGUsXG4gICAgICBpY29uLFxuICAgIH1cblxuICAgIHNldEF0dGFjaG1lbnRzKHByZXYgPT4gWy4uLnByZXYsIG5ld0F0dGFjaG1lbnRdKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlQXR0YWNobWVudCA9IChmaWxlSWQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG5ld0F0dGFjaG1lbnRzID0gYXR0YWNobWVudHMuZmlsdGVyKGF0dGFjaG1lbnQgPT4gYXR0YWNobWVudC5pZCAhPT0gZmlsZUlkKVxuICAgIHNldEF0dGFjaG1lbnRzKG5ld0F0dGFjaG1lbnRzKVxuICB9XG5cbiAgY29uc3QgaXNNQUlBID0gdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpXG4gIGNvbnN0IGRpc2NsYWltZXJNZXNzYWdlID0gaXNNQUlBXG4gICAgPyB0KCdjaGF0LmZvb3Rlci5kaXNjbGFpbWVyJywgeyBhZ2VudE5hbWU6IHQoJ2dsb2JhbHMuYnJhbmROYW1lJykgfSlcbiAgICA6IHQoJ2NoYXQuZm9vdGVyLmRpc2NsYWltZXJBZ2VudCcpXG5cbiAgY29uc3QgaXNGYXFJbnRlcmFjdGlvbkRpc2FibGVkID0gQm9vbGVhbihkaXNhYmxlZCB8fCBpc1N0cmVhbWluZyB8fCBpc1dyaXRpbmcpXG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2hhdEZvb3Rlcj5cbiAgICAgIHtpc01BSUEgJiYgIWxvYWRpbmdNZXNzYWdlcyAmJiAoXG4gICAgICAgIDxDaGlwc0FuZEZhcXNSb3c+XG4gICAgICAgICAgeyEhY2hpcEl0ZW1zLmxlbmd0aCAmJiA8Q2hpcCBpdGVtcz17Y2hpcEl0ZW1zfSAvPn1cbiAgICAgICAgICB7c2hvd0ZhcXMgJiYgPENoYXRGb290ZXJGYXFzIG9uU2VsZWN0RmFxPXtoYW5kbGVTZWxlY3RGYXF9IGRpc2FibGVkPXtpc0ZhcUludGVyYWN0aW9uRGlzYWJsZWR9IC8+fVxuICAgICAgICA8L0NoaXBzQW5kRmFxc1Jvdz5cbiAgICAgICl9XG4gICAgICA8TUFJQUlucHV0XG4gICAgICAgIG9uU2VuZE1lc3NhZ2U9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICBjbGFzc05hbWU9e01PREFMX0VMRU1FTlRTfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIHBsYWNlaG9sZGVyPXthZ2VudD8uaW5wdXRfcGxhY2Vob2xkZXIgfHwgdCgnY2hhdC5mb290ZXIucGxhY2Vob2xkZXInKX1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBvbkZpbGVBdHRhY2g9e2hhbmRsZUZpbGVBdHRhY2h9XG4gICAgICAgIG9uRGVsZXRlQXR0YWNobWVudD17aGFuZGxlRGVsZXRlQXR0YWNobWVudH1cbiAgICAgICAgYXR0YWNobWVudHM9e2F0dGFjaG1lbnRzXG4gICAgICAgICAgLmZpbHRlcihhdHQgPT4gISFhdHQuZmlsZSlcbiAgICAgICAgICAubWFwKGF0dCA9PiAoe1xuICAgICAgICAgICAgZmlsZTogYXR0LmZpbGUhLFxuICAgICAgICAgICAgb3JpZ2luYWxGaWxlOiBhdHQub3JpZ2luYWxGaWxlLFxuICAgICAgICAgICAgaWQ6IGF0dC5pZCxcbiAgICAgICAgICAgIG5hbWU6IGF0dC5uYW1lLFxuICAgICAgICAgICAgc2l6ZTogdHlwZW9mIGF0dC5zaXplID09PSAnbnVtYmVyJyA/IGF0dC5zaXplIDogTnVtYmVyKGF0dC5zaXplKSB8fCAwLFxuICAgICAgICAgICAgdHlwZTogYXR0LnR5cGUsXG4gICAgICAgICAgICBpY29uOiBhdHQuaWNvbixcbiAgICAgICAgICB9KSl9XG4gICAgICAgIGlzU3RyZWFtaW5nPXtpc1N0cmVhbWluZ31cbiAgICAgICAgaXNXcml0aW5nPXtpc1dyaXRpbmd9XG4gICAgICAgIG9uU3RvcEdlbmVyYXRpb249e29uU3RvcEdlbmVyYXRpb259XG4gICAgICAgIGNoYXRJZD17Y2hhdElkIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgbmV3Q2hhdEtleT17bmV3Q2hhdEtleX1cbiAgICAgIC8+XG4gICAgICA8Q2hhdERpc2NsYWltZXJNZXNzYWdlIG1lc3NhZ2U9e2Rpc2NsYWltZXJNZXNzYWdlfSAvPlxuICAgIDwvU3R5bGVkQ2hhdEZvb3Rlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFvQkEsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxRQUFRLE9BQU87QUFDdkUsU0FBU0MsTUFBTSxRQUFRLHlDQUF5QztBQUNoRSxTQUFTQyxjQUFjLFFBQVEsa0NBQWtDO0FBRWpFLFNBQVNDLElBQUksUUFBUSxrQkFBa0I7QUFDdkM7QUFDQSxTQUFTQyxTQUFTLFFBQVEsdUJBQXVCO0FBQ2pELFNBQVNDLGNBQWMsUUFBUSxrQkFBa0I7QUFFakQsU0FBU0MsZ0JBQWdCLFFBQVEsaUNBQWlDO0FBQ2xFLFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFDMUMsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEseUJBQXlCO0FBRTFELFNBQVNDLGdCQUFnQixFQUFFQyxlQUFlLFFBQVEsVUFBVTtBQUM1RCxTQUNFQyxXQUFXLEVBQ1hDLFVBQVUsRUFDVkMsV0FBVyxFQUNYQyxZQUFZLEVBQ1pDLFlBQVksRUFDWkMsV0FBVyxFQUNYQyxhQUFhLEVBQ2JDLFlBQVksRUFDWkMsV0FBVyxFQUNYQyxXQUFXLEVBQ1hDLFdBQVcsRUFDWEMsWUFBWSxFQUNaQyxXQUFXLEVBQ1hDLFdBQVcsRUFDWEMsV0FBVyxFQUNYQyxXQUFXLEVBQ1hDLFlBQVksUUFDUCxtQkFBbUI7QUFDMUIsU0FBU0MsWUFBWSxRQUFRLHVDQUF1QztBQUNwRSxTQUFTQyx5QkFBeUIsUUFBUSxrQ0FBa0M7QUFD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
|
|
282
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJBdHRhY2giLCJNT0RBTF9FTEVNRU5UUyIsIkNoaXAiLCJNQUlBSW5wdXQiLCJDaGF0Rm9vdGVyRmFxcyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VUIiwiRVZFTlRTIiwidXNlRXZlbnQiLCJTdHlsZWRDaGF0Rm9vdGVyIiwiQ2hpcHNBbmRGYXFzUm93IiwiQ3N2RmlsZUljb24iLCJNREZpbGVJY29uIiwiRG9jRmlsZUljb24iLCJEb2N4RmlsZUljb24iLCJUZXh0RmlsZUljb24iLCJQZGZGaWxlSWNvbiIsIkltYWdlRmlsZUljb24iLCJYbHN4RmlsZUljb24iLCJYbHNGaWxlSWNvbiIsIk1wM0ZpbGVJY29uIiwiV2F2RmlsZUljb24iLCJGbGFjRmlsZUljb24iLCJNNGFGaWxlSWNvbiIsIk1wNEZpbGVJY29uIiwiT2dhRmlsZUljb24iLCJPZ2dGaWxlSWNvbiIsIldlYm1GaWxlSWNvbiIsIkltYWdlUHJldmlldyIsInByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQiLCJ2YWxpZGF0ZUlzTWFpYSIsIkNoYXREaXNjbGFpbWVyTWVzc2FnZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJJY29uQnlGaWxlVHlwZSIsIkNoYXRGb290ZXIiLCJfcmVmIiwib25TZW5kTWVzc2FnZSIsIml0ZW1zIiwiZGlzYWJsZWQiLCJpc1N0cmVhbWluZyIsImlzV3JpdGluZyIsIm9uU3RvcEdlbmVyYXRpb24iLCJjaGF0SWQiLCJuZXdDaGF0S2V5IiwiX3JlZiRzaG93RmFxcyIsInNob3dGYXFzIiwiX3VzZUdsb2JhbENvbnRleHQiLCJwcm9qZWN0IiwiYWdlbnQiLCJjaGlwc1Byb2plY3QiLCJjbGllbnQiLCJfdXNlVCIsInQiLCJldmVudCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImF0dGFjaG1lbnRzIiwic2V0QXR0YWNobWVudHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmdNZXNzYWdlcyIsInNldExvYWRpbmdNZXNzYWdlcyIsInJlcG9ydGVkRXZlbnQiLCJpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQiLCJlbnRpdHkiLCJ0ZXN0IiwibmFtZSIsImhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSIsImUiLCJkZXRhaWwiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlU2Vzc2lvbkNoYW5nZSIsImNoaXBJdGVtcyIsInRlbXBJdGVtcyIsInB1c2giLCJjbGllbnROYW1lIiwicHJvamVjdE5hbWUiLCJfcHJvamVjdCRjbGllbnQiLCJvbkNoYW5nZSIsImN1cnJlbnQiLCJwbUFpVHlwZWRUZXh0IiwiYWdlbnRfdHlwZSIsInR5cGUiLCJoYW5kbGVTZW5kTWVzc2FnZSIsIm1lc3NhZ2UiLCJuZXdBdHRhY2htZW50cyIsImZhcUlkIiwiYWlDaGF0U2VuZCIsImFnZW50X2lkIiwiaWQiLCJhZ2VudF9uYW1lIiwiaGFuZGxlU2VsZWN0RmFxIiwidW5kZWZpbmVkIiwiaGFuZGxlRmlsZUF0dGFjaCIsIl9yZWYyIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJmaWxlIiwiX2ZpbGVOYW1lUGFydHMkcG9wIiwiZmlsZU5hbWVQYXJ0cyIsImZpbGVFeHRlbnNpb24iLCJpc0ltYWdlQnlFeHRlbnNpb24iLCJpc0ltYWdlQnlNaW1lIiwiaXNJbWFnZSIsImV4dGVuc2lvblRvSWNvbiIsImljb24iLCJleHRlbnNpb25Ub01pbWVUeXBlIiwibWltZVR5cGVCeUV4dGVuc2lvbiIsInByb2Nlc3NlZEZpbGUiLCJpbWFnZVVybCIsIm5ld0F0dGFjaG1lbnQiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0Iiwic3BsaXQiLCJsZW5ndGgiLCJjb25jYXQiLCJwb3AiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwic3RhcnRzV2l0aCIsImNvbG9yIiwid2lkdGgiLCJoZWlnaHQiLCJzZW50IiwiY29uc29sZSIsImVycm9yIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwic3JjIiwiYWx0IiwiYm9yZGVyUmFkaXVzIiwib3JpZ2luYWxGaWxlIiwiRGF0ZSIsIm5vdyIsIk1hdGgiLCJyYW5kb20iLCJzaXplIiwiX3RvQ29uc3VtYWJsZUFycmF5Iiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJoYW5kbGVEZWxldGVBdHRhY2htZW50IiwiZmlsZUlkIiwiZmlsdGVyIiwiYXR0YWNobWVudCIsImlzTUFJQSIsImRpc2NsYWltZXJNZXNzYWdlIiwiYWdlbnROYW1lIiwiaXNGYXFJbnRlcmFjdGlvbkRpc2FibGVkIiwiQm9vbGVhbiIsImNoaWxkcmVuIiwib25TZWxlY3RGYXEiLCJjbGFzc05hbWUiLCJwbGFjZWhvbGRlciIsImlucHV0X3BsYWNlaG9sZGVyIiwib25GaWxlQXR0YWNoIiwib25EZWxldGVBdHRhY2htZW50IiwiYXR0IiwibWFwIiwiTnVtYmVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3Rlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdW5kZWYgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L3JlcXVpcmUtZGVmYXVsdC1wcm9wcyAqL1xuaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEF0dGFjaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0F0dGFjaCdcbmltcG9ydCB7IE1PREFMX0VMRU1FTlRTIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlTW9kYWwvdXNlTW9kYWwnXG5cbmltcG9ydCB7IENoaXAgfSBmcm9tICcuLi8uLi9hdG9tcy9DaGlwJ1xuaW1wb3J0IHsgTUFJQUlucHV0IH0gZnJvbSAnLi4vLi4vYXRvbXMvTUFJQUlucHV0J1xuaW1wb3J0IHsgQ2hhdEZvb3RlckZhcXMgfSBmcm9tICcuL0NoYXRGb290ZXJGYXFzJ1xuXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgU3R5bGVkQ2hhdEZvb3RlciwgQ2hpcHNBbmRGYXFzUm93IH0gZnJvbSAnLi9zdHlsZXMnXG5pbXBvcnQge1xuICBDc3ZGaWxlSWNvbixcbiAgTURGaWxlSWNvbixcbiAgRG9jRmlsZUljb24sXG4gIERvY3hGaWxlSWNvbixcbiAgVGV4dEZpbGVJY29uLFxuICBQZGZGaWxlSWNvbixcbiAgSW1hZ2VGaWxlSWNvbixcbiAgWGxzeEZpbGVJY29uLFxuICBYbHNGaWxlSWNvbixcbiAgTXAzRmlsZUljb24sXG4gIFdhdkZpbGVJY29uLFxuICBGbGFjRmlsZUljb24sXG4gIE00YUZpbGVJY29uLFxuICBNcDRGaWxlSWNvbixcbiAgT2dhRmlsZUljb24sXG4gIE9nZ0ZpbGVJY29uLFxuICBXZWJtRmlsZUljb24sXG59IGZyb20gJy4uLy4uL2F0b21zL2ljb25zJ1xuaW1wb3J0IHsgSW1hZ2VQcmV2aWV3IH0gZnJvbSAnLi4vLi4vYXRvbXMvSW1hZ2VQcmV2aWV3L0ltYWdlUHJldmlldydcbmltcG9ydCB7IHByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9pbWFnZVByZXByb2Nlc3NvcidcbmltcG9ydCB7IHZhbGlkYXRlSXNNYWlhIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvdmFsaWRhdGVJc01haWEnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQ2hhdERpc2NsYWltZXJNZXNzYWdlIH0gZnJvbSAnLi4vLi4vYXRvbXMvQ2hhdERpc2NsYWltZXJNZXNzYWdlJ1xuXG5leHBvcnQgdHlwZSBBdHRhY2htZW50RmlsZSA9IHtcbiAgZmlsZTogRmlsZVxuICBvcmlnaW5hbEZpbGU/OiBGaWxlXG4gIHVybF90aHVtYm5haWw/OiBzdHJpbmdcbiAgdXJsX29yaWdpbmFsPzogc3RyaW5nXG4gIHVybF9maWxlPzogc3RyaW5nXG4gIHJvbGU/OiAndXNlcicgfCAnYXNzaXN0YW50J1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzaXplOiBudW1iZXJcbiAgdHlwZTogc3RyaW5nXG4gIGljb24/OiBSZWFjdE5vZGVcbiAgZXh0Pzogc3RyaW5nXG4gIHN0YXR1cz86ICdwZW5kaW5nJyB8ICdwcm9jZXNzaW5nJyB8ICdkb25lJyB8ICdmYWlsZWQnIHwgJ3N0YXJ0ZWQnXG59XG5cbnR5cGUgQ2hhdEZvb3RlclByb3BzID0ge1xuICBpdGVtcz86IHN0cmluZ1tdXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBvblNlbmRNZXNzYWdlOiAobWVzc2FnZTogc3RyaW5nLCBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10sIGZhcUlkPzogc3RyaW5nKSA9PiB2b2lkXG4gIG9uU3RvcEdlbmVyYXRpb24/OiAoKSA9PiB2b2lkXG4gIGNoYXRJZD86IHN0cmluZyB8IG51bGxcbiAgbmV3Q2hhdEtleT86IG51bWJlclxuICAvKiogU2kgZXMgZmFsc2UsIG5vIHNlIG11ZXN0cmEgbGEgZmlsYSBkZSBjaGlwcyBuaSBlbCBib3TDs24gZGUgRkFRcy4gRGViZSBzZXIgdHJ1ZSBjdWFuZG8gY3VycmVudE9wdGlvbiA9PT0gY2hhdC4gKi9cbiAgc2hvd0ZhcXM/OiBib29sZWFuXG59XG5cbmV4cG9ydCBjb25zdCBJY29uQnlGaWxlVHlwZSA9IHtcbiAgJ3RleHQvcGxhaW4nOiA8VGV4dEZpbGVJY29uIC8+LFxuICAndGV4dC94LW1hcmtkb3duJzogPE1ERmlsZUljb24gLz4sXG4gICd0ZXh0L2Nzdic6IDxDc3ZGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL21zd29yZCc6IDxEb2NGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JzogPERvY3hGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3BkZic6IDxQZGZGaWxlSWNvbiAvPixcbiAgJ2ltYWdlL3BuZyc6IDxJbWFnZUZpbGVJY29uIC8+LFxuICAnaW1hZ2UvanBlZyc6IDxJbWFnZUZpbGVJY29uIC8+LFxuICAnaW1hZ2UvanBnJzogPEltYWdlRmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCc6IDxYbHN4RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnOiA8WGxzRmlsZUljb24gLz4sXG4gICdhdWRpby9tcGVnJzogPE1wM0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vZmxhYyc6IDxGbGFjRmlsZUljb24gLz4sXG4gICdhdWRpby9tcDQnOiA8TXA0RmlsZUljb24gLz4sXG4gICdhdWRpby9tNGEnOiA8TTRhRmlsZUljb24gLz4sXG4gICdhdWRpby9vZ2cnOiA8T2dnRmlsZUljb24gLz4sXG4gICdhdWRpby9vZ2EnOiA8T2dhRmlsZUljb24gLz4sXG4gICdhdWRpby93YXYnOiA8V2F2RmlsZUljb24gLz4sXG4gICdhdWRpby93ZWJtJzogPFdlYm1GaWxlSWNvbiAvPixcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENoYXRGb290ZXIoe1xuICBvblNlbmRNZXNzYWdlLFxuICBpdGVtcyxcbiAgZGlzYWJsZWQsXG4gIGlzU3RyZWFtaW5nLFxuICBpc1dyaXRpbmcsXG4gIG9uU3RvcEdlbmVyYXRpb24sXG4gIGNoYXRJZCxcbiAgbmV3Q2hhdEtleSxcbiAgc2hvd0ZhcXMgPSB0cnVlLFxufTogQ2hhdEZvb3RlclByb3BzKSB7XG4gIGNvbnN0IHsgcHJvamVjdCwgYWdlbnQsIGNoaXBzUHJvamVjdCwgY2xpZW50IH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgZXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IFthdHRhY2htZW50cywgc2V0QXR0YWNobWVudHNdID0gdXNlU3RhdGU8QXR0YWNobWVudEZpbGVbXT4oW10pXG4gIGNvbnN0IFtsb2FkaW5nTWVzc2FnZXMsIHNldExvYWRpbmdNZXNzYWdlc10gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCByZXBvcnRlZEV2ZW50ID0gdXNlUmVmKGZhbHNlKVxuICBjb25zdCBpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQgPSBhZ2VudD8uZW50aXR5ID09PSAnZ2xvYmFsJyAmJiAvKG1haWFrZXJ8bWFya2V0cGxhY2UpL2kudGVzdChhZ2VudD8ubmFtZSB8fCAnJylcblxuICAvLyB1c2VFZmZlY3QgdG8gbGlzdGVuIGxvYWRpbmdNZXNzYWdlc1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSA9IChlOiBDdXN0b21FdmVudCkgPT4ge1xuICAgICAgc2V0TG9hZGluZ01lc3NhZ2VzKGUuZGV0YWlsLmxvYWRpbmdNZXNzYWdlcylcbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGF0LWxvYWRpbmctbWVzc2FnZXMtY2hhbmdlZCcsIGhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSBhcyBFdmVudExpc3RlbmVyKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYXQtbG9hZGluZy1tZXNzYWdlcy1jaGFuZ2VkJywgaGFuZGxlTG9hZGluZ01lc3NhZ2VzQ2hhbmdlIGFzIEV2ZW50TGlzdGVuZXIpXG4gICAgfVxuICB9LCBbXSlcblxuICAvLyBDbGVhciBhdHRhY2htZW50cyB3aGVuIHNlc3Npb24gY2hhbmdlcyAodXNlciBzd2l0Y2hlcyB0byBhIGRpZmZlcmVudCBjaGF0KVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVNlc3Npb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgICBzZXRBdHRhY2htZW50cyhbXSlcbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGF0LXNlc3Npb24tY2hhbmdlZCcsIGhhbmRsZVNlc3Npb25DaGFuZ2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgY2hpcEl0ZW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGl0ZW1zKSByZXR1cm4gaXRlbXNcblxuICAgIGNvbnN0IHRlbXBJdGVtczogc3RyaW5nW10gPSBbXVxuXG4gICAgaWYgKGFnZW50Py5lbnRpdHkgPT09ICdjbGllbnQnICYmIGNsaWVudD8ubmFtZSkge1xuICAgICAgdGVtcEl0ZW1zLnB1c2goY2xpZW50Lm5hbWUpXG4gICAgfSBlbHNlIGlmIChjaGlwc1Byb2plY3QpIHtcbiAgICAgIGlmIChjaGlwc1Byb2plY3QuY2xpZW50TmFtZSkgdGVtcEl0ZW1zLnB1c2goY2hpcHNQcm9qZWN0LmNsaWVudE5hbWUpXG4gICAgICBpZiAoY2hpcHNQcm9qZWN0LnByb2plY3ROYW1lKSB0ZW1wSXRlbXMucHVzaChjaGlwc1Byb2plY3QucHJvamVjdE5hbWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChwcm9qZWN0Py5jbGllbnQ/Lm5hbWUpIHRlbXBJdGVtcy5wdXNoKHByb2plY3QuY2xpZW50Lm5hbWUpXG4gICAgICBpZiAocHJvamVjdD8ubmFtZSkgdGVtcEl0ZW1zLnB1c2gocHJvamVjdC5uYW1lKVxuICAgIH1cblxuICAgIHJldHVybiB0ZW1wSXRlbXNcbiAgfSwgW2l0ZW1zLCBwcm9qZWN0LCBjaGlwc1Byb2plY3QsIGFnZW50Py5lbnRpdHksIGNsaWVudF0pXG5cbiAgY29uc3Qgb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgaWYgKHJlcG9ydGVkRXZlbnQuY3VycmVudCkgcmV0dXJuXG4gICAgZXZlbnQoRVZFTlRTLnBtQWlUeXBlZFRleHQsIHtcbiAgICAgIGFnZW50X3R5cGU6IGlzTWFya2V0cGxhY2VHbG9iYWxBZ2VudCA/ICdtYXJrZXRwbGFjZScgOiBhZ2VudD8udHlwZSxcbiAgICB9KVxuICAgIHJlcG9ydGVkRXZlbnQuY3VycmVudCA9IHRydWVcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVNlbmRNZXNzYWdlID0gKG1lc3NhZ2U6IHN0cmluZywgbmV3QXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLCBmYXFJZD86IHN0cmluZykgPT4ge1xuICAgIGV2ZW50KEVWRU5UUy5haUNoYXRTZW5kLCB7XG4gICAgICBhZ2VudF90eXBlOiBpc01hcmtldHBsYWNlR2xvYmFsQWdlbnQgPyAnbWFya2V0cGxhY2UnIDogYWdlbnQ/LnR5cGUsXG4gICAgICBhZ2VudF9pZDogYWdlbnQ/LmlkLFxuICAgICAgYWdlbnRfbmFtZTogYWdlbnQ/Lm5hbWUsXG4gICAgfSlcbiAgICBvblNlbmRNZXNzYWdlKG1lc3NhZ2UsIG5ld0F0dGFjaG1lbnRzLCBmYXFJZClcbiAgICBzZXRBdHRhY2htZW50cyhbXSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdEZhcSA9IChtZXNzYWdlOiBzdHJpbmcsIGZhcUlkOiBzdHJpbmcpID0+IHtcbiAgICBvblNlbmRNZXNzYWdlKG1lc3NhZ2UsIHVuZGVmaW5lZCwgZmFxSWQpXG4gIH1cblxuICBjb25zdCBoYW5kbGVGaWxlQXR0YWNoID0gYXN5bmMgKGZpbGU6IEZpbGUpID0+IHtcbiAgICBjb25zdCBmaWxlTmFtZVBhcnRzID0gZmlsZS5uYW1lLnNwbGl0KCcuJylcbiAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gZmlsZU5hbWVQYXJ0cy5sZW5ndGggPiAxID8gYC4ke2ZpbGVOYW1lUGFydHMucG9wKCk/LnRvTG93ZXJDYXNlKCl9YCA6ICcnXG4gICAgY29uc3QgaXNJbWFnZUJ5RXh0ZW5zaW9uID0gWycucG5nJywgJy5qcGcnLCAnLmpwZWcnXS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKVxuICAgIGNvbnN0IGlzSW1hZ2VCeU1pbWUgPSBmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJylcbiAgICBjb25zdCBpc0ltYWdlID0gaXNJbWFnZUJ5TWltZSAmJiBpc0ltYWdlQnlFeHRlbnNpb25cbiAgICAvLyBNYXBlbyBkZSBleHRlbnNpw7NuIGEgaWNvbm8gZGlyZWN0byBwYXJhIGNhc29zIGVzcGVjaWFsZXMgKGF1ZGlvL29nZyB5IGF1ZGlvL21wNClcbiAgICBjb25zdCBleHRlbnNpb25Ub0ljb246IFJlY29yZDxzdHJpbmcsIFJlYWN0Tm9kZT4gPSB7XG4gICAgICAnLm9nZyc6IDxPZ2dGaWxlSWNvbiAvPixcbiAgICAgICcub2dhJzogPE9nYUZpbGVJY29uIC8+LFxuICAgICAgJy5tcDQnOiA8TXA0RmlsZUljb24gLz4sXG4gICAgICAnLm00YSc6IDxNNGFGaWxlSWNvbiAvPixcbiAgICB9XG5cbiAgICBsZXQgaWNvbiA9IEljb25CeUZpbGVUeXBlW2ZpbGUudHlwZV1cblxuICAgIC8vIFNpIGVsIHRpcG8gZXMgYXVkaW8vb2dnIG8gYXVkaW8vbXA0LCB1c2FyIGxhIGV4dGVuc2nDs24gcGFyYSBkZXRlcm1pbmFyIGVsIGljb25vXG4gICAgaWYgKChmaWxlLnR5cGUgPT09ICdhdWRpby9vZ2cnIHx8IGZpbGUudHlwZSA9PT0gJ2F1ZGlvL21wNCcpICYmIGZpbGVFeHRlbnNpb24pIHtcbiAgICAgIGljb24gPSBleHRlbnNpb25Ub0ljb25bZmlsZUV4dGVuc2lvbl0gfHwgaWNvblxuICAgIH1cblxuICAgIGlmICghaWNvbikge1xuICAgICAgY29uc3QgZXh0ZW5zaW9uVG9NaW1lVHlwZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgICAgJy50eHQnOiAndGV4dC9wbGFpbicsXG4gICAgICAgICcubWQnOiAndGV4dC94LW1hcmtkb3duJyxcbiAgICAgICAgJy5jc3YnOiAndGV4dC9jc3YnLFxuICAgICAgICAnLmRvYyc6ICdhcHBsaWNhdGlvbi9tc3dvcmQnLFxuICAgICAgICAnLmRvY3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLFxuICAgICAgICAnLnBkZic6ICdhcHBsaWNhdGlvbi9wZGYnLFxuICAgICAgICAnLnhsc3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnLFxuICAgICAgICAnLnhscyc6ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLFxuICAgICAgICAnLmZsYWMnOiAnYXVkaW8vZmxhYycsXG4gICAgICAgICcubTRhJzogJ2F1ZGlvL200YScsXG4gICAgICAgICcubXAzJzogJ2F1ZGlvL21wZWcnLFxuICAgICAgICAnLm1wNCc6ICdhdWRpby9tcDQnLFxuICAgICAgICAnLm9nYSc6ICdhdWRpby9vZ2EnLFxuICAgICAgICAnLm9nZyc6ICdhdWRpby9vZ2cnLFxuICAgICAgICAnLndhdic6ICdhdWRpby93YXYnLFxuICAgICAgICAnLndlYm0nOiAnYXVkaW8vd2VibScsXG4gICAgICB9XG4gICAgICBjb25zdCBtaW1lVHlwZUJ5RXh0ZW5zaW9uID0gZXh0ZW5zaW9uVG9NaW1lVHlwZVtmaWxlRXh0ZW5zaW9uXVxuICAgICAgaWYgKG1pbWVUeXBlQnlFeHRlbnNpb24pIHtcbiAgICAgICAgaWNvbiA9IEljb25CeUZpbGVUeXBlW21pbWVUeXBlQnlFeHRlbnNpb25dXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpY29uID0gPEF0dGFjaCBjb2xvcj1cInJnYmEoMTM1LCA2NCwgMTkxLCAxKVwiIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHByb2Nlc3NlZEZpbGUgPSBmaWxlXG5cbiAgICAvLyBTaSBlcyB1bmEgaW1hZ2VuLCBwcmUtcHJvY2VzYXJsYSBwYXJhIGVsIGJhY2tlbmRcbiAgICBpZiAoaXNJbWFnZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gUHJvY2VzYW5kbyBpbWFnZW5cbiAgICAgICAgcHJvY2Vzc2VkRmlsZSA9IGF3YWl0IHByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQoZmlsZSlcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHByZS1wcm9jZXNhbmRvIGltYWdlbjonLCBlcnJvcilcbiAgICAgICAgLy8gQ29udGludWFyIGNvbiBlbCBhcmNoaXZvIG9yaWdpbmFsIHNpIGhheSBlcnJvclxuICAgICAgfVxuXG4gICAgICBjb25zdCBpbWFnZVVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSlcblxuICAgICAgaWNvbiA9IDxJbWFnZVByZXZpZXcgc3JjPXtpbWFnZVVybH0gYWx0PXtmaWxlLm5hbWV9IHdpZHRoPVwiNjNweFwiIGhlaWdodD1cIjYzcHhcIiBib3JkZXJSYWRpdXM9XCI2cHhcIiAvPlxuICAgIH1cblxuICAgIGNvbnN0IG5ld0F0dGFjaG1lbnQ6IEF0dGFjaG1lbnRGaWxlID0ge1xuICAgICAgZmlsZTogcHJvY2Vzc2VkRmlsZSxcbiAgICAgIG9yaWdpbmFsRmlsZTogaXNJbWFnZSA/IGZpbGUgOiB1bmRlZmluZWQsXG4gICAgICBpZDogYCR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpfWAsXG4gICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICBzaXplOiBwcm9jZXNzZWRGaWxlLnNpemUsXG4gICAgICB0eXBlOiBwcm9jZXNzZWRGaWxlLnR5cGUsXG4gICAgICBpY29uLFxuICAgIH1cblxuICAgIHNldEF0dGFjaG1lbnRzKHByZXYgPT4gWy4uLnByZXYsIG5ld0F0dGFjaG1lbnRdKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlQXR0YWNobWVudCA9IChmaWxlSWQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG5ld0F0dGFjaG1lbnRzID0gYXR0YWNobWVudHMuZmlsdGVyKGF0dGFjaG1lbnQgPT4gYXR0YWNobWVudC5pZCAhPT0gZmlsZUlkKVxuICAgIHNldEF0dGFjaG1lbnRzKG5ld0F0dGFjaG1lbnRzKVxuICB9XG5cbiAgY29uc3QgaXNNQUlBID0gdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpXG4gIGNvbnN0IGRpc2NsYWltZXJNZXNzYWdlID0gaXNNQUlBXG4gICAgPyB0KCdjaGF0LmZvb3Rlci5kaXNjbGFpbWVyJywgeyBhZ2VudE5hbWU6IHQoJ2dsb2JhbHMuYnJhbmROYW1lJykgfSlcbiAgICA6IHQoJ2NoYXQuZm9vdGVyLmRpc2NsYWltZXJBZ2VudCcpXG5cbiAgY29uc3QgaXNGYXFJbnRlcmFjdGlvbkRpc2FibGVkID0gQm9vbGVhbihkaXNhYmxlZCB8fCBpc1N0cmVhbWluZyB8fCBpc1dyaXRpbmcpXG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2hhdEZvb3Rlcj5cbiAgICAgIHtpc01BSUEgJiYgIWxvYWRpbmdNZXNzYWdlcyAmJiAoXG4gICAgICAgIDxDaGlwc0FuZEZhcXNSb3c+XG4gICAgICAgICAgeyEhY2hpcEl0ZW1zLmxlbmd0aCAmJiA8Q2hpcCBpdGVtcz17Y2hpcEl0ZW1zfSAvPn1cbiAgICAgICAgICB7c2hvd0ZhcXMgJiYgPENoYXRGb290ZXJGYXFzIG9uU2VsZWN0RmFxPXtoYW5kbGVTZWxlY3RGYXF9IGRpc2FibGVkPXtpc0ZhcUludGVyYWN0aW9uRGlzYWJsZWR9IC8+fVxuICAgICAgICA8L0NoaXBzQW5kRmFxc1Jvdz5cbiAgICAgICl9XG4gICAgICA8TUFJQUlucHV0XG4gICAgICAgIG9uU2VuZE1lc3NhZ2U9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICBjbGFzc05hbWU9e01PREFMX0VMRU1FTlRTfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIHBsYWNlaG9sZGVyPXthZ2VudD8uaW5wdXRfcGxhY2Vob2xkZXIgfHwgdCgnY2hhdC5mb290ZXIucGxhY2Vob2xkZXInKX1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBvbkZpbGVBdHRhY2g9e2hhbmRsZUZpbGVBdHRhY2h9XG4gICAgICAgIG9uRGVsZXRlQXR0YWNobWVudD17aGFuZGxlRGVsZXRlQXR0YWNobWVudH1cbiAgICAgICAgYXR0YWNobWVudHM9e2F0dGFjaG1lbnRzXG4gICAgICAgICAgLmZpbHRlcihhdHQgPT4gISFhdHQuZmlsZSlcbiAgICAgICAgICAubWFwKGF0dCA9PiAoe1xuICAgICAgICAgICAgZmlsZTogYXR0LmZpbGUhLFxuICAgICAgICAgICAgb3JpZ2luYWxGaWxlOiBhdHQub3JpZ2luYWxGaWxlLFxuICAgICAgICAgICAgaWQ6IGF0dC5pZCxcbiAgICAgICAgICAgIG5hbWU6IGF0dC5uYW1lLFxuICAgICAgICAgICAgc2l6ZTogdHlwZW9mIGF0dC5zaXplID09PSAnbnVtYmVyJyA/IGF0dC5zaXplIDogTnVtYmVyKGF0dC5zaXplKSB8fCAwLFxuICAgICAgICAgICAgdHlwZTogYXR0LnR5cGUsXG4gICAgICAgICAgICBpY29uOiBhdHQuaWNvbixcbiAgICAgICAgICB9KSl9XG4gICAgICAgIGlzU3RyZWFtaW5nPXtpc1N0cmVhbWluZ31cbiAgICAgICAgaXNXcml0aW5nPXtpc1dyaXRpbmd9XG4gICAgICAgIG9uU3RvcEdlbmVyYXRpb249e29uU3RvcEdlbmVyYXRpb259XG4gICAgICAgIGNoYXRJZD17Y2hhdElkIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgbmV3Q2hhdEtleT17bmV3Q2hhdEtleX1cbiAgICAgIC8+XG4gICAgICA8Q2hhdERpc2NsYWltZXJNZXNzYWdlIG1lc3NhZ2U9e2Rpc2NsYWltZXJNZXNzYWdlfSAvPlxuICAgIDwvU3R5bGVkQ2hhdEZvb3Rlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFvQkEsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxRQUFRLE9BQU87QUFDdkUsU0FBU0MsTUFBTSxRQUFRLHlDQUF5QztBQUNoRSxTQUFTQyxjQUFjLFFBQVEsa0NBQWtDO0FBRWpFLFNBQVNDLElBQUksUUFBUSxrQkFBa0I7QUFDdkMsU0FBU0MsU0FBUyxRQUFRLHVCQUF1QjtBQUNqRCxTQUFTQyxjQUFjLFFBQVEsa0JBQWtCO0FBRWpELFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUNsRSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQzFDLFNBQVNDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLHlCQUF5QjtBQUMxRCxTQUFTQyxnQkFBZ0IsRUFBRUMsZUFBZSxRQUFRLFVBQVU7QUFDNUQsU0FDRUMsV0FBVyxFQUNYQyxVQUFVLEVBQ1ZDLFdBQVcsRUFDWEMsWUFBWSxFQUNaQyxZQUFZLEVBQ1pDLFdBQVcsRUFDWEMsYUFBYSxFQUNiQyxZQUFZLEVBQ1pDLFdBQVcsRUFDWEMsV0FBVyxFQUNYQyxXQUFXLEVBQ1hDLFlBQVksRUFDWkMsV0FBVyxFQUNYQyxXQUFXLEVBQ1hDLFdBQVcsRUFDWEMsV0FBVyxFQUNYQyxZQUFZLFFBQ1AsbUJBQW1CO0FBQzFCLFNBQVNDLFlBQVksUUFBUSx1Q0FBdUM7QUFDcEUsU0FBU0MseUJBQXlCLFFBQVEsa0NBQWtDO0FBQzVFLFNBQVNDLGNBQWMsUUFBUSx3Q0FBd0M7QUFFdkUsU0FBU0MscUJBQXFCLFFBQVEsbUNB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UUFBUSxFQUFFdUg7TUFBeUIsQ0FBRSxDQUFDO0lBQUEsQ0FDbEYsQ0FDbEIsZUFDRC9ILElBQUEsQ0FBQzlCLFNBQVM7TUFDUm9DLGFBQWEsRUFBRWtELGlCQUFrQjtNQUNqQzJFLFNBQVMsRUFBRW5LLGNBQWU7TUFDMUJ3QyxRQUFRLEVBQUVBLFFBQVM7TUFDbkI0SCxXQUFXLEVBQUUsQ0FBQWxILEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFbUgsaUJBQWlCLEtBQUkvRyxDQUFDLENBQUMseUJBQXlCLENBQUU7TUFDdEU2QixRQUFRLEVBQUVBLFFBQVM7TUFDbkJtRixZQUFZLEVBQUVwRSxnQkFBaUI7TUFDL0JxRSxrQkFBa0IsRUFBRWYsc0JBQXVCO01BQzNDN0YsV0FBVyxFQUFFQSxXQUFXLENBQ3JCK0YsTUFBTSxDQUFDLFVBQUFjLEdBQUc7UUFBQSxPQUFJLENBQUMsQ0FBQ0EsR0FBRyxDQUFDaEUsSUFBSTtNQUFBLEVBQUMsQ0FDekJpRSxHQUFHLENBQUMsVUFBQUQsR0FBRztRQUFBLE9BQUs7VUFDWGhFLElBQUksRUFBRWdFLEdBQUcsQ0FBQ2hFLElBQUs7VUFDZnFDLFlBQVksRUFBRTJCLEdBQUcsQ0FBQzNCLFlBQVk7VUFDOUIvQyxFQUFFLEVBQUUwRSxHQUFHLENBQUMxRSxFQUFFO1VBQ1Z6QixJQUFJLEVBQUVtRyxHQUFHLENBQUNuRyxJQUFJO1VBQ2Q2RSxJQUFJLEVBQUUsT0FBT3NCLEdBQUcsQ0FBQ3RCLElBQUksS0FBSyxRQUFRLEdBQUdzQixHQUFHLENBQUN0QixJQUFJLEdBQUd3QixNQUFNLENBQUNGLEdBQUcsQ0FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUM7VUFDckUzRCxJQUFJLEVBQUVpRixHQUFHLENBQUNqRixJQUFJO1VBQ2R5QixJQUFJLEVBQUV3RCxHQUFHLENBQUN4RDtRQUNaLENBQUM7TUFBQSxDQUFDLENBQUU7TUFDTnZFLFdBQVcsRUFBRUEsV0FBWTtNQUN6QkMsU0FBUyxFQUFFQSxTQUFVO01BQ3JCQyxnQkFBZ0IsRUFBRUEsZ0JBQWlCO01BQ25DQyxNQUFNLEVBQUVBLE1BQU0sSUFBSXFELFNBQVU7TUFDNUJwRCxVQUFVLEVBQUVBO0lBQVcsQ0FDeEIsQ0FBQyxlQUNGYixJQUFBLENBQUNGLHFCQUFxQjtNQUFDMkQsT0FBTyxFQUFFb0U7SUFBa0IsQ0FBRSxDQUFDO0VBQUEsQ0FDckMsQ0FBQztBQUV2QiIsImlnbm9yZUxpc3QiOltdfQ==
|