@projectcor/maia-components 2.11.90-1 → 2.11.90-3
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/CHANGELOG.md +12 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +3 -7
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +2 -41
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +4 -23
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +15 -5
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +10 -4
- package/lib/components/atoms/MAIAInput/MAIAInput.js +21 -44
- package/lib/components/atoms/icons/ActionCalendarIcon.js +112 -0
- package/lib/components/atoms/icons/ActionChatIcon.js +71 -0
- package/lib/components/atoms/icons/ActionTimeBackIcon.js +112 -0
- package/lib/components/atoms/icons/index.js +1 -3
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +1 -14
- package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +3 -3
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +107 -30
- package/lib/components/molecules/ChatAIHome/styles.js +144 -49
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +29 -50
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +3 -5
- package/lib/components/molecules/ChatAIModal/constants.js +2 -6
- package/lib/components/molecules/ChatAIModal/layout.js +2 -2
- package/lib/components/molecules/ChatFooter/ChatFooter.js +5 -18
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
- package/lib/components/molecules/Sidebar/Sidebar.js +4 -25
- package/lib/components/organisms/ChatAI/ChatAI.js +5 -16
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +1 -8
- package/lib/constants/config.js +1 -4
- package/lib/constants/maiaTaskPanelAccess.js +4 -4
- package/lib/constants/permissions/index.js +2 -2
- package/lib/constants/permissions/utils.js +1 -4
- package/lib/constants/plannerSyncEvents.js +16 -0
- package/lib/context/cor-user.js +9 -1
- package/lib/context/global-context.js +1 -1
- package/lib/dev/DevChatAI.js +2 -2
- package/lib/hooks/useChatManager/useChatManager.js +45 -4
- package/lib/hooks/useContextMentions.js +9 -47
- package/lib/hooks/useEntitySearch.js +91 -277
- package/lib/hooks/useFrequentlyUsedActions.js +4 -2
- package/lib/hooks/useMentionAllowedTypes.js +8 -26
- package/lib/hooks/useMentionPopover.js +13 -42
- package/lib/hooks/useProjectSummaryConfig.js +23 -30
- package/lib/lang/br/index.js +18 -56
- package/lib/lang/en/index.js +18 -56
- package/lib/lang/es/index.js +18 -56
- package/lib/lang/fr/index.js +18 -56
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
- package/lib/services/maia/Agents/getAgents.js +2 -2
- package/lib/services/maia/Chats/getChatsByUserId.js +1 -1
- package/lib/store/chatsStore.types.js +1 -1
- package/lib/types/Action.js +1 -1
- package/lib/types/agent.js +1 -1
- package/lib/types/contextMention.js +1 -1
- package/lib/utils/actionCategoryMap.js +6 -2
- package/lib/utils/actionIconMap.js +8 -2
- package/lib/utils/contextMentionIcons.js +1 -29
- package/lib/utils/contextMentionTriggers.js +1 -3
- package/lib/utils/orchestratorSubagents.js +11 -0
- package/lib/utils/renderContextMentions.js +4 -9
- package/lib/utils/streamActivityMessages.js +2 -1
- package/package.json +12 -6
- package/lib/components/atoms/icons/SkillIcon.js +0 -30
- package/lib/components/atoms/icons/SkillsNavIcon.js +0 -27
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +0 -357
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +0 -145
- package/lib/components/molecules/ChatAIMySkills/index.js +0 -2
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +0 -160
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +0 -34
- package/lib/components/organisms/AbmSkillGenerateModal/index.js +0 -2
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +0 -446
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +0 -98
- package/lib/components/organisms/AbmSkillModal/index.js +0 -2
- package/lib/services/maia/Skills/createSkill.js +0 -39
- package/lib/services/maia/Skills/deleteSkill.js +0 -38
- package/lib/services/maia/Skills/generateSkill.js +0 -41
- package/lib/services/maia/Skills/getSkills.js +0 -90
- package/lib/services/maia/Skills/updateSkill.js +0 -39
- package/lib/types/skill.js +0 -2
|
@@ -415,7 +415,7 @@ export var useGetAgents = function useGetAgents(_ref) {
|
|
|
415
415
|
case 5:
|
|
416
416
|
// Lógica para project, client o header sin multiAgents (mismo criterio de orden project/client; header añade paginación)
|
|
417
417
|
queryParams = new URLSearchParams();
|
|
418
|
-
if (section === 'project' || section === 'client' || section === 'header' || section === 'task') {
|
|
418
|
+
if (section === 'project' || section === 'client' || section === 'header' || section === 'task' || section === 'planner') {
|
|
419
419
|
queryParams.append('agent_type', 'orchestrator');
|
|
420
420
|
queryParams.append('lang', mapCORLang(i18n.language));
|
|
421
421
|
if (section === 'header') {
|
|
@@ -718,4 +718,4 @@ export var useGetAgents = function useGetAgents(_ref) {
|
|
|
718
718
|
sortAgentsList: sortAgentsList
|
|
719
719
|
};
|
|
720
720
|
};
|
|
721
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlUmVmIiwidXNlVHJhbnNsYXRpb24iLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJmZXRjaE1haWEiLCJ3aXRoTm9ybWFsaXplZENvbm5lY3RvcnMiLCJ1c2VVc2VyIiwiaXNNYWlhQ2xvbmVBZ2VudHNSb2xlQmxvY2tlZCIsIm1hcENPUkxhbmciLCJpc01haWFBZ2VudCIsImFnZW50IiwidHlwZSIsImlzTWFya2V0cGxhY2VNYWlha2VyRW5hYmxlZCIsIndpbmRvdyIsIk1BSUFfTUFSS0VUUExBQ0VfTUFJQUtFUiIsImlzNDAzQWdlbnRGZXRjaEVycm9yIiwiZXJyIiwiX2Vycm9yJHJlc3BvbnNlIiwiX2Vycm9yJG1lc3NhZ2UiLCJfZXJyb3IkbWVzc2FnZTIiLCJlcnJvciIsInJlc3BvbnNlIiwic3RhdHVzIiwiQm9vbGVhbiIsIm1lc3NhZ2UiLCJpbmNsdWRlcyIsIm1lcmdlQWdlbnRzV2l0aG91dER1cGxpY2F0ZXMiLCJiYXNlIiwiZXh0cmEiLCJpZHMiLCJTZXQiLCJtYXAiLCJpZCIsIm1lcmdlZCIsIl90b0NvbnN1bWFibGVBcnJheSIsImZvckVhY2giLCJoYXMiLCJwdXNoIiwic29ydEFnZW50cyIsImFnZW50cyIsIm1haWFBZ2VudHMiLCJmaWx0ZXIiLCJvdGhlckFnZW50cyIsImFnIiwiZmF2b3JpdGVzIiwiaXNfZmF2b3JpdGUiLCJzb3J0IiwiYSIsImIiLCJuYW1lIiwibG9jYWxlQ29tcGFyZSIsIm5vbkZhdm9yaXRlcyIsImxlbmd0aCIsImNvbmNhdCIsIm5vcm1hbGl6ZUN1c3RvbUFnZW50c0Zyb21BcGkiLCJ1c2VHZXRBZ2VudHMiLCJfcmVmIiwic2VsZWN0QWdlbnQiLCJzZWN0aW9uIiwiaGFuZGxlR29Ib21lIiwidXNlciIsIl91c2VTdGF0ZSIsImRhdGEiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZXRBZ2VudHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJsb2FkaW5nTW9yZSIsInNldExvYWRpbmdNb3JlIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZWFyY2hMb2FkaW5nIiwic2V0U2VhcmNoTG9hZGluZyIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwic2V0RXJyb3IiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsIl91c2VUcmFuc2xhdGlvbiIsInQiLCJpMThuIiwibGFzdFNlbGVjdGVkQWdlbnRSZWYiLCJpc1JlZnJlc2hpbmdSZWYiLCJsYXN0UmVxdWVzdFJlZiIsImFnZW50c1JlZiIsInByZVNlYXJjaEFnZW50c1JlZiIsImN1cnJlbnQiLCJhZGRBZ2VudCIsIm5ld0FnZW50Iiwib3B0aW9ucyIsInByZXYiLCJhZ2VudEV4aXN0cyIsInNvbWUiLCJleGlzdGluZ0FnZW50IiwibmV3RGF0YSIsInNvcnRlZERhdGEiLCJfb2JqZWN0U3ByZWFkIiwibmF2aWdhdGVIb21lIiwicmVtb3ZlQWdlbnQiLCJhZ2VudElkIiwidG9TdHJpbmciLCJ1cGRhdGVBZ2VudCIsInVwZGF0ZWRBZ2VudCIsInVwZGF0ZWREYXRhIiwidXBkYXRlQWdlbnRGYXZvcml0ZSIsInNob3VsZFNvcnQiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJfcmVmMiIsImFnZW50RmllbGRzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwibWVyZ2VkQWdlbnQiLCJmaW5hbERhdGEiLCJmaW5kIiwiX3JlZjMiLCJfZXhjbHVkZWQyIiwiX3JlZjQiLCJfZXhjbHVkZWQzIiwic29ydEFnZW50c0xpc3QiLCJzZWxlY3RGaXJzdEFnZW50IiwiZmlyc3RBZ2VudCIsImZpbmRJbmRleCIsImFnZW50RGF0YSIsImhhbmRsZUdldEFnZW50cyIsIl9yZWY1IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWU0IiwiYWdlbnRUb1NlbGVjdCIsIl9hZ2VudFRvU2VsZWN0JGlkIiwicmVxdWVzdEtleSIsImlzTXVsdGlBZ2VudHMiLCJhZ2VudFBhcnNlZCIsImhhc01vcmUiLCJuZXh0T2Zmc2V0IiwiY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCIsImNhbkZldGNoQ2xvbmVBZ2VudHMiLCJmZXRjaEdsb2JhbENsb25lQWdlbnRzIiwiY3VzdG9tQWdlbnRzIiwiY3VzdG9tSGFzTW9yZSIsImN1c3RvbU5leHRPZmZzZXQiLCJpczQwMyIsImxvYWRDbG9uZUFnZW50cyIsImxvYWRDdXN0b21BZ2VudHMiLCJxdWVyeVBhcmFtcyIsInF1ZXJ5U3RyaW5nIiwicGF0aCIsImdsb2JhbENsb25lQWdlbnRzIiwiX3Jlc3BvbnNlRXJyb3IkcmVzcG9uIiwiX3Jlc3BvbnNlRXJyb3IkbWVzc2FnIiwiX3Jlc3BvbnNlRXJyb3IkbWVzc2FnMiIsImlzNDAzRXJyb3IiLCJfYWdlbnRQYXJzZWQiLCJfYWdlbnRQYXJzZWQyIiwiX2xhc3RTZWxlY3RlZEFnZW50UmVmIiwiX2xhc3RTZWxlY3RlZEFnZW50UmVmMiIsImF2YWlsYWJsZUFnZW50cyIsIl9hdmFpbGFibGVBZ2VudHMiLCJfbGFzdFNlbGVjdGVkQWdlbnRSZWYzIiwiX2F2YWlsYWJsZUFnZW50czIiLCJfYXZhaWxhYmxlQWdlbnRzMyIsImZpcnN0QXZhaWxhYmxlQWdlbnQiLCJfdDQiLCJfdDUiLCJ3cmFwIiwiX2NvbnRleHQ0IiwibmV4dCIsImFicnVwdCIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJfcmVmNiIsIl9jYWxsZWUiLCJjbG9uZVJlc3BvbnNlIiwiY2xvbmVEYXRhIiwiX3QiLCJfY29udGV4dCIsImxhbmd1YWdlIiwibWV0aG9kIiwic2VudCIsImpzb24iLCJzdG9wIiwiYXBwbHkiLCJfcmVmNyIsIl9jYWxsZWUyIiwiX21haWFEYXRhJGRhdGEiLCJtYWlhUmVzcG9uc2UiLCJtYWlhRGF0YSIsIl90MiIsIl9jb250ZXh0MiIsIl9yZWY4IiwiX2NhbGxlZTMiLCJjdXN0b21SZXNwb25zZSIsImN1c3RvbURhdGEiLCJfdDMiLCJfY29udGV4dDMiLCJoYXNfbW9yZSIsIm5leHRfb2Zmc2V0IiwiUHJvbWlzZSIsImFsbCIsIlVSTFNlYXJjaFBhcmFtcyIsImFwcGVuZCIsImFnZW50VG9SZXF1ZXN0IiwiYWdlbnRJdGVtIiwiRXJyb3IiLCJzZXRUaW1lb3V0IiwiZmluaXNoIiwiX3giLCJzZWFyY2hDdXN0b21BZ2VudHMiLCJfcmVmOSIsIl9jYWxsZWU1IiwicXVlcnkiLCJfdDYiLCJfY29udGV4dDUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJjbG9uZUFnZW50cyIsImN1c3RvbVJlc3VsdHMiLCJfeDIiLCJsb2FkTW9yZUFnZW50cyIsIl9jYWxsZWU2IiwiY2FuTG9hZE1vcmUiLCJfdDciLCJfY29udGV4dDYiLCJleGlzdGluZ01haWFBZ2VudHMiLCJleGlzdGluZ0lkcyIsIm5ld0FnZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL0FnZW50cy9nZXRBZ2VudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VSZWYgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IHVzZVNuYWNrQmFyTWFuYWdlciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVNuYWNrQmFyTWFuYWdlci91c2VTbmFja0Jhck1hbmFnZXInXG5pbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQgeyB3aXRoTm9ybWFsaXplZENvbm5lY3RvcnMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9ub3JtYWxpemVBZ2VudENvbm5lY3RvcnMnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL21haWFUYXNrUGFuZWxBY2Nlc3MnXG5pbXBvcnQgeyBTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IG1hcENPUkxhbmcgfSBmcm9tICcuLi8uLi8uLi9sYW5nL3V0aWxzJ1xuXG5jb25zdCBpc01haWFBZ2VudCA9IChhZ2VudDogQWdlbnQpID0+IGFnZW50Py50eXBlID09PSAnb3JjaGVzdHJhdG9yJ1xuXG5jb25zdCBpc01hcmtldHBsYWNlTWFpYWtlckVuYWJsZWQgPSAoKSA9PiAhIXdpbmRvdy5NQUlBX01BUktFVFBMQUNFX01BSUFLRVJcblxuY29uc3QgaXM0MDNBZ2VudEZldGNoRXJyb3IgPSAoZXJyOiB1bmtub3duKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IGVycm9yID0gZXJyIGFzIHsgcmVzcG9uc2U/OiB7IHN0YXR1cz86IG51bWJlciB9OyBzdGF0dXM/OiBudW1iZXI7IG1lc3NhZ2U/OiBzdHJpbmcgfVxuICByZXR1cm4gKFxuICAgIGVycm9yPy5yZXNwb25zZT8uc3RhdHVzID09PSA0MDMgfHxcbiAgICBlcnJvcj8uc3RhdHVzID09PSA0MDMgfHxcbiAgICBCb29sZWFuKGVycm9yPy5tZXNzYWdlPy5pbmNsdWRlcyhcIllvdSBkb24ndCBoYXZlIHBlcm1pc3Npb24gdG8gdmlldyBhZ2VudHNcIikpIHx8XG4gICAgQm9vbGVhbihlcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoJ0ZhaWxlZCBmZXRjaGluZyBkYXRhJykpXG4gIClcbn1cblxuY29uc3QgbWVyZ2VBZ2VudHNXaXRob3V0RHVwbGljYXRlcyA9IChiYXNlOiBBZ2VudFtdLCBleHRyYTogQWdlbnRbXSk6IEFnZW50W10gPT4ge1xuICBjb25zdCBpZHMgPSBuZXcgU2V0KGJhc2UubWFwKGFnZW50ID0+IGFnZW50LmlkKSlcbiAgY29uc3QgbWVyZ2VkID0gWy4uLmJhc2VdXG4gIGV4dHJhLmZvckVhY2goYWdlbnQgPT4ge1xuICAgIGlmICghaWRzLmhhcyhhZ2VudC5pZCkpIG1lcmdlZC5wdXNoKGFnZW50KVxuICB9KVxuICByZXR1cm4gbWVyZ2VkXG59XG5cbi8qKlxuICogT3JkZW5hIGxvcyBhZ2VudGVzOiBNQUlBIHByaW1lcm8gKHNpIGV4aXN0ZSksIGx1ZWdvIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlLCBsdWVnbyBubyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZVxuICovXG5jb25zdCBzb3J0QWdlbnRzID0gKGFnZW50czogQWdlbnRbXSk6IEFnZW50W10gPT4ge1xuICBjb25zdCBtYWlhQWdlbnRzID0gYWdlbnRzLmZpbHRlcihpc01haWFBZ2VudClcbiAgY29uc3Qgb3RoZXJBZ2VudHMgPSBhZ2VudHMuZmlsdGVyKGFnID0+ICFpc01haWFBZ2VudChhZykpXG5cbiAgLy8gU2VwYXJhciBmYXZvcml0b3MgeSBubyBmYXZvcml0b3NcbiAgY29uc3QgZmF2b3JpdGVzID0gb3RoZXJBZ2VudHMuZmlsdGVyKGFnID0+IGFnLmlzX2Zhdm9yaXRlKS5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKVxuICBjb25zdCBub25GYXZvcml0ZXMgPSBvdGhlckFnZW50cy5maWx0ZXIoYWcgPT4gIWFnLmlzX2Zhdm9yaXRlKS5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKVxuXG4gIHJldHVybiBtYWlhQWdlbnRzLmxlbmd0aCA/IFsuLi5tYWlhQWdlbnRzLCAuLi5mYXZvcml0ZXMsIC4uLm5vbkZhdm9yaXRlc10gOiBbLi4uZmF2b3JpdGVzLCAuLi5ub25GYXZvcml0ZXNdXG59XG5cbmNvbnN0IG5vcm1hbGl6ZUN1c3RvbUFnZW50c0Zyb21BcGkgPSAoYWdlbnRzOiBBZ2VudFtdKTogQWdlbnRbXSA9PlxuICBhZ2VudHMubWFwKGFnZW50ID0+IChhZ2VudC50eXBlID09PSAnY3VzdG9tJyA/IHdpdGhOb3JtYWxpemVkQ29ubmVjdG9ycyhhZ2VudCkgOiBhZ2VudCkpXG5cbnR5cGUgVXNlR2V0QWdlbnRzUHJvcHMgPSB7XG4gIHNlbGVjdEFnZW50OiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkXG4gIHNlY3Rpb246IFNlY3Rpb25cbiAgYWdlbnQ6IEFnZW50IHwgbnVsbFxuICBoYW5kbGVHb0hvbWU6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IHR5cGUgQWRkQWdlbnRPcHRpb25zID0ge1xuICAvKiogUG9yIGRlZmVjdG8gYHRydWVgIChjb21wb3J0YW1pZW50byBBQk0pLiBQYXNhciBgZmFsc2VgIGFsIGluc2VydGFyIGFnZW50ZSBjcmVhZG8gcG9yIGNoYXQgc2luIGNhbWJpYXIgZGUgdmlzdGEuICovXG4gIG5hdmlnYXRlSG9tZT86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IHVzZUdldEFnZW50cyA9ICh7IHNlbGVjdEFnZW50LCBzZWN0aW9uLCBhZ2VudCwgaGFuZGxlR29Ib21lIH06IFVzZUdldEFnZW50c1Byb3BzKSA9PiB7XG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgW2FnZW50cywgc2V0QWdlbnRzXSA9IHVzZVN0YXRlPHsgZGF0YTogQWdlbnRbXTsgaGFzX21vcmU/OiBib29sZWFuOyBuZXh0X29mZnNldD86IG51bWJlciB8IG51bGwgfT4oeyBkYXRhOiBbXSB9KVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2xvYWRpbmdNb3JlLCBzZXRMb2FkaW5nTW9yZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3NlYXJjaExvYWRpbmcsIHNldFNlYXJjaExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgeyBoYW5kbGVTbmFja2JhckVycm9yIH0gPSB1c2VTbmFja0Jhck1hbmFnZXIoKVxuICBjb25zdCB7IHQsIGkxOG4gfSA9IHVzZVRyYW5zbGF0aW9uKCdjaGF0X2FpX3NlY3Rpb24nKVxuICBjb25zdCBsYXN0U2VsZWN0ZWRBZ2VudFJlZiA9IHVzZVJlZjxBZ2VudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGlzUmVmcmVzaGluZ1JlZiA9IHVzZVJlZihmYWxzZSlcbiAgY29uc3QgbGFzdFJlcXVlc3RSZWYgPSB1c2VSZWY8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgYWdlbnRzUmVmID0gdXNlUmVmKGFnZW50cylcbiAgY29uc3QgcHJlU2VhcmNoQWdlbnRzUmVmID0gdXNlUmVmPHsgZGF0YTogQWdlbnRbXTsgaGFzX21vcmU/OiBib29sZWFuOyBuZXh0X29mZnNldD86IG51bWJlciB8IG51bGwgfSB8IG51bGw+KG51bGwpXG5cbiAgYWdlbnRzUmVmLmN1cnJlbnQgPSBhZ2VudHNcblxuICBjb25zdCBhZGRBZ2VudCA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdBZ2VudDogQWdlbnQsIG9wdGlvbnM/OiBBZGRBZ2VudE9wdGlvbnMpID0+IHtcbiAgICAgIHNldEFnZW50cyhwcmV2ID0+IHtcbiAgICAgICAgLy8gVmVyaWZpY2FyIHNpIGVsIGFnZW50ZSB5YSBleGlzdGUgcGFyYSBldml0YXIgZHVwbGljYWRvc1xuICAgICAgICBjb25zdCBhZ2VudEV4aXN0cyA9IHByZXYuZGF0YS5zb21lKGV4aXN0aW5nQWdlbnQgPT4gZXhpc3RpbmdBZ2VudC5pZCA9PT0gbmV3QWdlbnQuaWQpXG4gICAgICAgIGlmIChhZ2VudEV4aXN0cykge1xuICAgICAgICAgIHJldHVybiBwcmV2XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IFsuLi5wcmV2LmRhdGEsIG5ld0FnZW50XVxuICAgICAgICBjb25zdCBzb3J0ZWREYXRhID0gc29ydEFnZW50cyhuZXdEYXRhKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgZGF0YTogc29ydGVkRGF0YSxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIGlmIChvcHRpb25zPy5uYXZpZ2F0ZUhvbWUgIT09IGZhbHNlKSB7XG4gICAgICAgIGhhbmRsZUdvSG9tZSgpXG4gICAgICB9XG4gICAgfSxcbiAgICBbaGFuZGxlR29Ib21lXVxuICApXG5cbiAgY29uc3QgcmVtb3ZlQWdlbnQgPSB1c2VDYWxsYmFjaygoYWdlbnRJZDogbnVtYmVyIHwgc3RyaW5nKSA9PiB7XG4gICAgc2V0QWdlbnRzKHByZXYgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICBkYXRhOiBwcmV2LmRhdGEuZmlsdGVyKGEgPT4gYS5pZCAhPT0gYWdlbnRJZC50b1N0cmluZygpKSxcbiAgICB9KSlcbiAgfSwgW10pXG5cbiAgY29uc3QgdXBkYXRlQWdlbnQgPSB1c2VDYWxsYmFjaygodXBkYXRlZEFnZW50OiBBZ2VudCkgPT4ge1xuICAgIHNldEFnZW50cyhwcmV2ID0+IHtcbiAgICAgIGNvbnN0IHVwZGF0ZWREYXRhID0gcHJldi5kYXRhLm1hcChleGlzdGluZ0FnZW50ID0+XG4gICAgICAgIGV4aXN0aW5nQWdlbnQuaWQgPT09IHVwZGF0ZWRBZ2VudC5pZCA/IHVwZGF0ZWRBZ2VudCA6IGV4aXN0aW5nQWdlbnRcbiAgICAgIClcbiAgICAgIGNvbnN0IHNvcnRlZERhdGEgPSBzb3J0QWdlbnRzKHVwZGF0ZWREYXRhKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgICAgZGF0YTogc29ydGVkRGF0YSxcbiAgICAgIH1cbiAgICB9KVxuICB9LCBbXSlcblxuICBjb25zdCB1cGRhdGVBZ2VudEZhdm9yaXRlID0gdXNlQ2FsbGJhY2soXG4gICAgKHVwZGF0ZWRBZ2VudDogQWdlbnQsIHNob3VsZFNvcnQ6IGJvb2xlYW4gPSBmYWxzZSkgPT4ge1xuICAgICAgc2V0QWdlbnRzKHByZXYgPT4ge1xuICAgICAgICBjb25zdCB1cGRhdGVkRGF0YSA9IHByZXYuZGF0YS5tYXAoZXhpc3RpbmdBZ2VudCA9PiB7XG4gICAgICAgICAgaWYgKGV4aXN0aW5nQWdlbnQuaWQgPT09IHVwZGF0ZWRBZ2VudC5pZCkge1xuICAgICAgICAgICAgY29uc3QgeyBtZXNzYWdlLCAuLi5hZ2VudEZpZWxkcyB9ID0gdXBkYXRlZEFnZW50IGFzIGFueVxuICAgICAgICAgICAgY29uc3QgbWVyZ2VkQWdlbnQgPSB7IC4uLmV4aXN0aW5nQWdlbnQsIC4uLmFnZW50RmllbGRzIH1cbiAgICAgICAgICAgIHJldHVybiBtZXJnZWRBZ2VudFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZXhpc3RpbmdBZ2VudFxuICAgICAgICB9KVxuXG4gICAgICAgIC8vIFNvbG8gb3JkZW5hciBzaSBzaG91bGRTb3J0IGVzIHRydWVcbiAgICAgICAgY29uc3QgZmluYWxEYXRhID0gc2hvdWxkU29ydCA/IHNvcnRBZ2VudHModXBkYXRlZERhdGEpIDogdXBkYXRlZERhdGFcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgZGF0YTogZmluYWxEYXRhLFxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICAvLyBBY3R1YWxpemFyIGVsIGFnZW50ZSBzZWxlY2Npb25hZG8gc2kgZXMgZWwgcXVlIHNlIGVzdMOhIGFjdHVhbGl6YW5kb1xuICAgICAgaWYgKGFnZW50Py5pZCA9PT0gdXBkYXRlZEFnZW50LmlkKSB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nQWdlbnQgPSBhZ2VudHMuZGF0YS5maW5kKGEgPT4gYS5pZCA9PT0gdXBkYXRlZEFnZW50LmlkKVxuICAgICAgICBpZiAoZXhpc3RpbmdBZ2VudCkge1xuICAgICAgICAgIGNvbnN0IHsgbWVzc2FnZSwgLi4uYWdlbnRGaWVsZHMgfSA9IHVwZGF0ZWRBZ2VudCBhcyBhbnlcbiAgICAgICAgICBjb25zdCBtZXJnZWRBZ2VudCA9IHsgLi4uZXhpc3RpbmdBZ2VudCwgLi4uYWdlbnRGaWVsZHMgfVxuICAgICAgICAgIHNlbGVjdEFnZW50KG1lcmdlZEFnZW50KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHsgbWVzc2FnZSwgLi4uYWdlbnRGaWVsZHMgfSA9IHVwZGF0ZWRBZ2VudCBhcyBhbnlcbiAgICAgICAgICBzZWxlY3RBZ2VudChhZ2VudEZpZWxkcyBhcyBBZ2VudClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgW2FnZW50LCBzZWxlY3RBZ2VudCwgYWdlbnRzLmRhdGFdXG4gIClcblxuICBjb25zdCBzb3J0QWdlbnRzTGlzdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRBZ2VudHMocHJldiA9PiB7XG4gICAgICBjb25zdCBzb3J0ZWREYXRhID0gc29ydEFnZW50cyhwcmV2LmRhdGEpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5wcmV2LFxuICAgICAgICBkYXRhOiBzb3J0ZWREYXRhLFxuICAgICAgfVxuICAgIH0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNlbGVjdEZpcnN0QWdlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAoYWdlbnRJZD86IHN0cmluZykgPT4ge1xuICAgICAgaWYgKGFnZW50cy5kYXRhLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBmaXJzdEFnZW50ID0gYWdlbnRzLmRhdGEuZmluZEluZGV4KGFnZW50RGF0YSA9PiBhZ2VudERhdGEuaWQgPT09IGFnZW50SWQpXG4gICAgICAgIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQgPSBhZ2VudHMuZGF0YVtmaXJzdEFnZW50ID09PSAwID8gMSA6IDBdXG4gICAgICAgIHNlbGVjdEFnZW50KGFnZW50cy5kYXRhW2ZpcnN0QWdlbnQgPT09IDAgPyAxIDogMF0pXG4gICAgICB9XG4gICAgfSxcbiAgICBbYWdlbnRzLmRhdGEsIHNlbGVjdEFnZW50XVxuICApXG5cbiAgY29uc3QgaGFuZGxlR2V0QWdlbnRzID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKGFnZW50VG9TZWxlY3Q/OiBBZ2VudCkgPT4ge1xuICAgICAgaWYgKGlzUmVmcmVzaGluZ1JlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCByZXF1ZXN0S2V5ID0gYWdlbnRUb1NlbGVjdD8uaWQ/LnRvU3RyaW5nKCkgfHwgJ2RlZmF1bHQnXG4gICAgICBpZiAobGFzdFJlcXVlc3RSZWYuY3VycmVudCA9PT0gcmVxdWVzdEtleSAmJiAhbG9hZGluZykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaXNSZWZyZXNoaW5nUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgICBsYXN0UmVxdWVzdFJlZi5jdXJyZW50ID0gcmVxdWVzdEtleVxuICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgc2V0RXJyb3IobnVsbClcblxuICAgICAgY29uc3QgaXNNdWx0aUFnZW50cyA9ICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyAmJiAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGxldCBhZ2VudFBhcnNlZDogQWdlbnRbXSA9IFtdXG4gICAgICAgIGxldCBoYXNNb3JlID0gZmFsc2VcbiAgICAgICAgbGV0IG5leHRPZmZzZXQ6IG51bWJlciB8IG51bGwgPSBudWxsXG4gICAgICAgIGNvbnN0IGNsb25lQWdlbnRzUm9sZUJsb2NrZWQgPSBpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkKHVzZXIsIHNlY3Rpb24pXG4gICAgICAgIGNvbnN0IGNhbkZldGNoQ2xvbmVBZ2VudHMgPSAhY2xvbmVBZ2VudHNSb2xlQmxvY2tlZFxuXG4gICAgICAgIGNvbnN0IGZldGNoR2xvYmFsQ2xvbmVBZ2VudHMgPSBhc3luYyAoKTogUHJvbWlzZTxBZ2VudFtdPiA9PiB7XG4gICAgICAgICAgaWYgKCFpc01hcmtldHBsYWNlTWFpYWtlckVuYWJsZWQoKSB8fCAhY2FuRmV0Y2hDbG9uZUFnZW50cykgcmV0dXJuIFtdXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGNsb25lUmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgICAgICAgICAgICBwYXRoOiBgYWdlbnRzP2FnZW50X3R5cGU9Y2xvbmUmZW50aXR5PWdsb2JhbCZsYW5nPSR7bWFwQ09STGFuZyhpMThuLmxhbmd1YWdlKX1gLFxuICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIGNvbnN0IGNsb25lRGF0YSA9IGF3YWl0IGNsb25lUmVzcG9uc2UuanNvbigpXG4gICAgICAgICAgICByZXR1cm4gKGNsb25lRGF0YS5kYXRhIHx8IFtdKS5maWx0ZXIoKGFnOiBBZ2VudCkgPT4gYWcudHlwZSA9PT0gJ2Nsb25lJylcbiAgICAgICAgICB9IGNhdGNoIChjbG9uZUVycm9yKSB7XG4gICAgICAgICAgICBpZiAoaXM0MDNBZ2VudEZldGNoRXJyb3IoY2xvbmVFcnJvcikpIHJldHVybiBbXVxuICAgICAgICAgICAgdGhyb3cgY2xvbmVFcnJvclxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNpIHRpZW5lIGZlYXR1cmUgYWNjZXNzIG11bHRpIGFnZW50cywgaGFjZXIgZG9zIHF1ZXJpZXMgKE1haWEgKyBjdXN0b20pIGVuIGN1YWxxdWllciBzZWNjacOzblxuICAgICAgICBpZiAoaXNNdWx0aUFnZW50cykge1xuICAgICAgICAgIC8vIFF1ZXJ5IGNsb25lIChNYWlhKSB5IGN1c3RvbSBzb24gaW5kZXBlbmRpZW50ZXMg4oaSIHNlIGRpc3BhcmFuIGVuIHBhcmFsZWxvLlxuICAgICAgICAgIGxldCBjdXN0b21BZ2VudHM6IEFnZW50W10gPSBbXVxuICAgICAgICAgIGxldCBjdXN0b21IYXNNb3JlID0gZmFsc2VcbiAgICAgICAgICBsZXQgY3VzdG9tTmV4dE9mZnNldDogbnVtYmVyIHwgbnVsbCA9IG51bGxcblxuICAgICAgICAgIGNvbnN0IGlzNDAzID0gaXM0MDNBZ2VudEZldGNoRXJyb3JcblxuICAgICAgICAgIGxldCBtYWlhQWdlbnRzOiBBZ2VudFtdID0gW11cblxuICAgICAgICAgIGNvbnN0IGxvYWRDbG9uZUFnZW50cyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICghY2FuRmV0Y2hDbG9uZUFnZW50cykgcmV0dXJuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb25zdCBtYWlhUmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgICAgICAgICAgICAgIHBhdGg6IGBhZ2VudHM/YWdlbnRfdHlwZT1vcmNoZXN0cmF0b3ImbGFuZz0ke21hcENPUkxhbmcoaTE4bi5sYW5ndWFnZSl9YCxcbiAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBjb25zdCBtYWlhRGF0YSA9IGF3YWl0IG1haWFSZXNwb25zZS5qc29uKClcbiAgICAgICAgICAgICAgbWFpYUFnZW50cyA9IG1haWFEYXRhLmRhdGE/LmZpbHRlcihpc01haWFBZ2VudCkgfHwgW11cbiAgICAgICAgICAgICAgY29uc3QgZ2xvYmFsQ2xvbmVBZ2VudHMgPSBhd2FpdCBmZXRjaEdsb2JhbENsb25lQWdlbnRzKClcbiAgICAgICAgICAgICAgbWFpYUFnZW50cyA9IG1lcmdlQWdlbnRzV2l0aG91dER1cGxpY2F0ZXMobWFpYUFnZW50cywgZ2xvYmFsQ2xvbmVBZ2VudHMpXG4gICAgICAgICAgICB9IGNhdGNoIChtYWlhRXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgLy8gU2kgZXMgNDAzLCBjb250aW51YXIgc2luIGxvcyBjbG9uZUFnZW50czsgc2kgZXMgb3RybyBlcnJvciwgcHJvcGFnYXJsb1xuICAgICAgICAgICAgICBpZiAoIWlzNDAzKG1haWFFcnJvcikpIHRocm93IG1haWFFcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGxvYWRDdXN0b21BZ2VudHMgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb25zdCBjdXN0b21SZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgICAgICAgICAgcGF0aDogJ2FnZW50cz9hZ2VudF90eXBlPWN1c3RvbSZsaW1pdD03Jm9mZnNldD0wJyxcbiAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBjb25zdCBjdXN0b21EYXRhID0gYXdhaXQgY3VzdG9tUmVzcG9uc2UuanNvbigpXG4gICAgICAgICAgICAgIGN1c3RvbUFnZW50cyA9IG5vcm1hbGl6ZUN1c3RvbUFnZW50c0Zyb21BcGkoY3VzdG9tRGF0YS5kYXRhIHx8IFtdKVxuICAgICAgICAgICAgICBjdXN0b21IYXNNb3JlID0gY3VzdG9tRGF0YS5oYXNfbW9yZSB8fCBmYWxzZVxuICAgICAgICAgICAgICBjdXN0b21OZXh0T2Zmc2V0ID0gY3VzdG9tRGF0YS5uZXh0X29mZnNldCB8fCBudWxsXG4gICAgICAgICAgICB9IGNhdGNoIChjdXN0b21FcnJvcjogYW55KSB7XG4gICAgICAgICAgICAgIC8vIFNpIGVzIDQwMywgY29udGludWFyIHNpbiBsb3MgY3VzdG9tQWdlbnRzIChxdWVkYSBjb21vIGFycmF5IHZhY8Otbyk7IHNpIG5vLCBwcm9wYWdhcmxvXG4gICAgICAgICAgICAgIGlmICghaXM0MDMoY3VzdG9tRXJyb3IpKSB0aHJvdyBjdXN0b21FcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFtsb2FkQ2xvbmVBZ2VudHMoKSwgbG9hZEN1c3RvbUFnZW50cygpXSlcblxuICAgICAgICAgIC8vIENvbWJpbmFyOiBhZ2VudGVzIGNsb25lIHByaW1lcm8sIGx1ZWdvIGxvcyBjdXN0b20gKHNpIGV4aXN0ZW4pXG4gICAgICAgICAgLy8gU2kgZWwgdXN1YXJpbyB0aWVuZSB1biByb2wgZGVzaGFiaWxpdGFkbywgbm8gaW5jbHVpciBjbG9uZUFnZW50c1xuICAgICAgICAgIGlmICghY2FuRmV0Y2hDbG9uZUFnZW50cykge1xuICAgICAgICAgICAgLy8gUm9sIHNpbiBhY2Nlc28gYSBjbG9uZXMgKHAuIGVqLiBmcmVlbGFuY2VyL2NsaWVudGUgbyBjb2xhYm9yYWRvciBlbiBwcm9qZWN0L2NsaWVudCk6IHNvbG8gY3VzdG9tQWdlbnRzXG4gICAgICAgICAgICAvLyBTaSBjdXN0b21BZ2VudHMgZXN0w6EgdmFjw61vIChwb3IgNDAzKSwgYWdlbnRQYXJzZWQgc2Vyw6EgW11cbiAgICAgICAgICAgIGFnZW50UGFyc2VkID0gY3VzdG9tQWdlbnRzXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFnZW50UGFyc2VkID0gbWFpYUFnZW50cy5sZW5ndGggPyBbLi4ubWFpYUFnZW50cywgLi4uY3VzdG9tQWdlbnRzXSA6IGN1c3RvbUFnZW50c1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBPcmRlbmFyOiBNYWlhIHByaW1lcm8sIGx1ZWdvIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlLCBsdWVnbyBubyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZVxuICAgICAgICAgIGFnZW50UGFyc2VkID0gc29ydEFnZW50cyhhZ2VudFBhcnNlZClcbiAgICAgICAgICBoYXNNb3JlID0gY3VzdG9tSGFzTW9yZVxuICAgICAgICAgIG5leHRPZmZzZXQgPSBjdXN0b21OZXh0T2Zmc2V0XG5cbiAgICAgICAgICBzZXRBZ2VudHMoe1xuICAgICAgICAgICAgZGF0YTogYWdlbnRQYXJzZWQsXG4gICAgICAgICAgICBoYXNfbW9yZTogaGFzTW9yZSxcbiAgICAgICAgICAgIG5leHRfb2Zmc2V0OiBuZXh0T2Zmc2V0LFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICAvLyBTaSBubyBoYXkgYWdlbnRlcyBkZXNwdcOpcyBkZSBwcm9jZXNhciBsYXMgcXVlcmllcywgbGltcGlhciBlbCBlcnJvclxuICAgICAgICAgIGlmIChhZ2VudFBhcnNlZC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHNldEVycm9yKG51bGwpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEzDs2dpY2EgcGFyYSBwcm9qZWN0LCBjbGllbnQgbyBoZWFkZXIgc2luIG11bHRpQWdlbnRzIChtaXNtbyBjcml0ZXJpbyBkZSBvcmRlbiBwcm9qZWN0L2NsaWVudDsgaGVhZGVyIGHDsWFkZSBwYWdpbmFjacOzbilcbiAgICAgICAgICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuICAgICAgICAgIGlmIChzZWN0aW9uID09PSAncHJvamVjdCcgfHwgc2VjdGlvbiA9PT0gJ2NsaWVudCcgfHwgc2VjdGlvbiA9PT0gJ2hlYWRlcicgfHwgc2VjdGlvbiA9PT0gJ3Rhc2snKSB7XG4gICAgICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2FnZW50X3R5cGUnLCAnb3JjaGVzdHJhdG9yJylcbiAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnbGFuZycsIG1hcENPUkxhbmcoaTE4bi5sYW5ndWFnZSkpXG4gICAgICAgICAgICBpZiAoc2VjdGlvbiA9PT0gJ2hlYWRlcicpIHtcbiAgICAgICAgICAgICAgcXVlcnlQYXJhbXMuYXBwZW5kKCdsaW1pdCcsICc3JylcbiAgICAgICAgICAgICAgcXVlcnlQYXJhbXMuYXBwZW5kKCdvZmZzZXQnLCAnMCcpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgcXVlcnlTdHJpbmcgPSBxdWVyeVBhcmFtcy50b1N0cmluZygpXG4gICAgICAgICAgY29uc3QgcGF0aCA9IGBhZ2VudHMke3F1ZXJ5U3RyaW5nID8gYD8ke3F1ZXJ5U3RyaW5nfWAgOiAnJ31gXG5cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgICAgICAgICAgICBwYXRoLFxuICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuICAgICAgICAgICAgLy8gZGF0YS5kYXRhIHlhIGNvbnRpZW5lIGVsL2xvcyBhZ2VudGVzIG9ycXVlc3RhZG9yZXMgZGUgbGEgcXVlcnkgYWdlbnRfdHlwZT1vcmNoZXN0cmF0b3JcbiAgICAgICAgICAgIGFnZW50UGFyc2VkID0gZGF0YS5kYXRhIHx8IFtdXG4gICAgICAgICAgICBjb25zdCBnbG9iYWxDbG9uZUFnZW50cyA9IGF3YWl0IGZldGNoR2xvYmFsQ2xvbmVBZ2VudHMoKVxuICAgICAgICAgICAgYWdlbnRQYXJzZWQgPSBtZXJnZUFnZW50c1dpdGhvdXREdXBsaWNhdGVzKGFnZW50UGFyc2VkLCBnbG9iYWxDbG9uZUFnZW50cylcbiAgICAgICAgICAgIC8vIE9yZGVuYXI6IE1haWEgcHJpbWVybywgbHVlZ28gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGUsIGx1ZWdvIG5vIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlXG4gICAgICAgICAgICBhZ2VudFBhcnNlZCA9IHNvcnRBZ2VudHMoYWdlbnRQYXJzZWQpXG4gICAgICAgICAgICBoYXNNb3JlID0gZGF0YS5oYXNfbW9yZVxuICAgICAgICAgICAgbmV4dE9mZnNldCA9IGRhdGEubmV4dF9vZmZzZXRcblxuICAgICAgICAgICAgc2V0QWdlbnRzKHtcbiAgICAgICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICAgICAgZGF0YTogYWdlbnRQYXJzZWQsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH0gY2F0Y2ggKHJlc3BvbnNlRXJyb3I6IGFueSkge1xuICAgICAgICAgICAgLy8gVmVyaWZpY2FyIHNpIGVsIGVycm9yIGVzIDQwM1xuICAgICAgICAgICAgLy8gZmV0Y2hDT1IgcHVlZGUgbGFuemFyIGRpZmVyZW50ZXMgdGlwb3MgZGUgZXJyb3JlczpcbiAgICAgICAgICAgIC8vIDEuIEVycm9yIGNvbiBlcnJvckRhdGEuZGV0YWlsIHNpIGluY2x1eWUgJ0FjY2VzcyBkZW5pZWQnXG4gICAgICAgICAgICAvLyAyLiBFcnJvciBnZW7DqXJpY28gJ0ZhaWxlZCBmZXRjaGluZyBkYXRhJyBzaSBlcyA0MDMgcGVybyBubyBpbmNsdXllICdBY2Nlc3MgZGVuaWVkJ1xuICAgICAgICAgICAgLy8gMy4gTmVjZXNpdGFtb3MgdmVyaWZpY2FyIGVsIHN0YXR1cyBjb2RlIHNpIGVzdMOhIGRpc3BvbmlibGVcbiAgICAgICAgICAgIGNvbnN0IGlzNDAzRXJyb3IgPVxuICAgICAgICAgICAgICByZXNwb25zZUVycm9yPy5yZXNwb25zZT8uc3RhdHVzID09PSA0MDMgfHxcbiAgICAgICAgICAgICAgcmVzcG9uc2VFcnJvcj8uc3RhdHVzID09PSA0MDMgfHxcbiAgICAgICAgICAgICAgcmVzcG9uc2VFcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoXCJZb3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHZpZXcgYWdlbnRzXCIpIHx8XG4gICAgICAgICAgICAgIHJlc3BvbnNlRXJyb3I/Lm1lc3NhZ2U/LmluY2x1ZGVzKCdGYWlsZWQgZmV0Y2hpbmcgZGF0YScpIC8vIGZldGNoQ09SIGxhbnphIGVzdG8gcGFyYSA0MDMgc2luICdBY2Nlc3MgZGVuaWVkJ1xuXG4gICAgICAgICAgICBpZiAoaXM0MDNFcnJvcikge1xuICAgICAgICAgICAgICAvLyBTaSBlcyA0MDMsIGVzdGFibGVjZXIgYWdlbnRlcyB2YWPDrW9zIHkgY29udGludWFyXG4gICAgICAgICAgICAgIHNldEFnZW50cyh7XG4gICAgICAgICAgICAgICAgZGF0YTogW10sXG4gICAgICAgICAgICAgICAgaGFzX21vcmU6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG5leHRfb2Zmc2V0OiBudWxsLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBzZXRFcnJvcihudWxsKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gU2kgZXMgb3RybyBlcnJvciwgbGFuemFybG9cbiAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2VFcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEzDs2dpY2EgZGUgc2VsZWN0IGFnZW50IC0gU29sbyBzZWxlY2Npb25hciBzaSBoYXkgYWdlbnRlcyBkaXNwb25pYmxlc1xuICAgICAgICBpZiAoYWdlbnRQYXJzZWQubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGlmIChhZ2VudFRvU2VsZWN0ICYmIGFnZW50UGFyc2VkLmZpbmQoKGFnZW50VG9SZXF1ZXN0OiBBZ2VudCkgPT4gYWdlbnRUb1JlcXVlc3QuaWQgPT09IGFnZW50VG9TZWxlY3QuaWQpKSB7XG4gICAgICAgICAgICBpZiAobGFzdFNlbGVjdGVkQWdlbnRSZWYuY3VycmVudD8uaWQgIT09IGFnZW50VG9TZWxlY3QuaWQpIHtcbiAgICAgICAgICAgICAgbGFzdFNlbGVjdGVkQWdlbnRSZWYuY3VycmVudCA9IGFnZW50VG9TZWxlY3RcbiAgICAgICAgICAgICAgc2VsZWN0QWdlbnQoYWdlbnRUb1NlbGVjdClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKGFnZW50UGFyc2VkPy5bMF0gJiYgKCFhZ2VudCB8fCAhYWdlbnRQYXJzZWQuZmluZCgoYTogQWdlbnQpID0+IGEuaWQgPT09IGFnZW50LmlkKSkpIHtcbiAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZUFnZW50cyA9XG4gICAgICAgICAgICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgIWNsb25lQWdlbnRzUm9sZUJsb2NrZWRcbiAgICAgICAgICAgICAgICA/IGFnZW50UGFyc2VkXG4gICAgICAgICAgICAgICAgOiBhZ2VudFBhcnNlZC5maWx0ZXIoKGFnZW50SXRlbTogQWdlbnQpID0+ICFpc01haWFBZ2VudChhZ2VudEl0ZW0pKVxuXG4gICAgICAgICAgICBjb25zdCBbZmlyc3RBZ2VudF0gPSBhdmFpbGFibGVBZ2VudHNcbiAgICAgICAgICAgIGlmIChmaXJzdEFnZW50ICYmIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQ/LmlkICE9PSBmaXJzdEFnZW50LmlkKSB7XG4gICAgICAgICAgICAgIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQgPSBmaXJzdEFnZW50XG4gICAgICAgICAgICAgIHNlbGVjdEFnZW50KGZpcnN0QWdlbnQpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChhZ2VudFRvU2VsZWN0ICYmIGFnZW50UGFyc2VkPy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGF2YWlsYWJsZUFnZW50cyA9XG4gICAgICAgICAgICAgIHdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgIWNsb25lQWdlbnRzUm9sZUJsb2NrZWRcbiAgICAgICAgICAgICAgICA/IGFnZW50UGFyc2VkXG4gICAgICAgICAgICAgICAgOiBhZ2VudFBhcnNlZC5maWx0ZXIoKGFnZW50SXRlbTogQWdlbnQpID0+ICFpc01haWFBZ2VudChhZ2VudEl0ZW0pKVxuXG4gICAgICAgICAgICBjb25zdCBbZmlyc3RBdmFpbGFibGVBZ2VudF0gPSBhdmFpbGFibGVBZ2VudHNcbiAgICAgICAgICAgIGlmIChmaXJzdEF2YWlsYWJsZUFnZW50ICYmIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQ/LmlkICE9PSBmaXJzdEF2YWlsYWJsZUFnZW50LmlkKSB7XG4gICAgICAgICAgICAgIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQgPSBmaXJzdEF2YWlsYWJsZUFnZW50XG4gICAgICAgICAgICAgIHNlbGVjdEFnZW50KGZpcnN0QXZhaWxhYmxlQWdlbnQpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBzZXRFcnJvcihlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogJ0FuIHVua25vd24gZXJyb3Igb2NjdXJyZWQnKVxuICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgaXNSZWZyZXNoaW5nUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAoIWlzUmVmcmVzaGluZ1JlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBsYXN0UmVxdWVzdFJlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgICAgIH1cbiAgICAgICAgfSwgMTAwKVxuICAgICAgfVxuICAgIH0sXG4gICAgW3NlbGVjdEFnZW50LCBzZWN0aW9uLCBhZ2VudCwgbG9hZGluZ11cbiAgKVxuXG4gIGNvbnN0IHNlYXJjaEN1c3RvbUFnZW50cyA9IHVzZUNhbGxiYWNrKGFzeW5jIChxdWVyeTogc3RyaW5nKSA9PiB7XG4gICAgaWYgKCFxdWVyeSkge1xuICAgICAgaWYgKHByZVNlYXJjaEFnZW50c1JlZi5jdXJyZW50KSB7XG4gICAgICAgIHNldEFnZW50cyhwcmVTZWFyY2hBZ2VudHNSZWYuY3VycmVudClcbiAgICAgICAgcHJlU2VhcmNoQWdlbnRzUmVmLmN1cnJlbnQgPSBudWxsXG4gICAgICB9XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoIXByZVNlYXJjaEFnZW50c1JlZi5jdXJyZW50KSB7XG4gICAgICBwcmVTZWFyY2hBZ2VudHNSZWYuY3VycmVudCA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgfVxuXG4gICAgc2V0U2VhcmNoTG9hZGluZyh0cnVlKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICAgICAgcGF0aDogYGFnZW50cz9hZ2VudF90eXBlPWN1c3RvbSZsaW1pdD0yMCZvZmZzZXQ9MCZxPSR7ZW5jb2RlVVJJQ29tcG9uZW50KHF1ZXJ5KX1gLFxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgfSlcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICAgICAgc2V0QWdlbnRzKHByZXYgPT4ge1xuICAgICAgICBjb25zdCBjbG9uZUFnZW50cyA9IHByZXYuZGF0YS5maWx0ZXIoKGFnOiBBZ2VudCkgPT4gYWcudHlwZSA9PT0gJ2Nsb25lJylcbiAgICAgICAgY29uc3QgY3VzdG9tUmVzdWx0czogQWdlbnRbXSA9IGRhdGEuZGF0YSB8fCBbXVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRhdGE6IGNsb25lQWdlbnRzLmxlbmd0aCA/IFsuLi5jbG9uZUFnZW50cywgLi4uY3VzdG9tUmVzdWx0c10gOiBjdXN0b21SZXN1bHRzLFxuICAgICAgICAgIGhhc19tb3JlOiBmYWxzZSxcbiAgICAgICAgICBuZXh0X29mZnNldDogbnVsbCxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnc25hY2tiYXIubG9hZE1vcmVBZ2VudHMuZXJyb3InKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0U2VhcmNoTG9hZGluZyhmYWxzZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGxvYWRNb3JlQWdlbnRzID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGlzTXVsdGlBZ2VudHMgPSAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MgJiYgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICAgIC8vIENhcmdhciBtw6FzOiBlbiBoZWFkZXIgc2llbXByZTsgZW4gcHJvamVjdCBzb2xvIHNpIGlzTXVsdGlBZ2VudHMgKHBvcnF1ZSBzb2xvIGVudG9uY2VzIGhheSBwYWdpbmFjacOzbiBkZSBjdXN0b20pXG4gICAgY29uc3QgY2FuTG9hZE1vcmUgPSBzZWN0aW9uID09PSAnaGVhZGVyJyB8fCBpc011bHRpQWdlbnRzXG4gICAgaWYgKCFjYW5Mb2FkTW9yZSB8fCAhYWdlbnRzLmhhc19tb3JlIHx8ICFhZ2VudHMubmV4dF9vZmZzZXQgfHwgbG9hZGluZ01vcmUpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHNldExvYWRpbmdNb3JlKHRydWUpXG4gICAgc2V0RXJyb3IobnVsbClcblxuICAgIHRyeSB7XG4gICAgICBsZXQgcGF0aDogc3RyaW5nXG5cbiAgICAgIC8vIFNpIGVzIG11bHRpQWdlbnRzLCBzb2xvIGNhcmdhciBhZ2VudHMgY3VzdG9tIChNYWlhIHlhIGVzdMOhIGNhcmdhZG8pXG4gICAgICBpZiAoaXNNdWx0aUFnZW50cykge1xuICAgICAgICAvLyBNYW50ZW5lciBjYW50aWRhZCBpbXBhciBkZSBjYXJkczogcHJpbWVyYSBjYXJnYSA3LCBzaWd1aWVudGVzICs2ICg3LCAxMywgMTksIC4uLilcbiAgICAgICAgcGF0aCA9IGBhZ2VudHM/YWdlbnRfdHlwZT1jdXN0b20mbGltaXQ9NiZvZmZzZXQ9JHthZ2VudHMubmV4dF9vZmZzZXR9YFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gU2kgbm8gZXMgbXVsdGlBZ2VudHMsIGNhcmdhciBtw6FzIGFnZW50ZXMgb3JxdWVzdGFkb3JlcyAoTUFJQSlcbiAgICAgICAgY29uc3QgcXVlcnlQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKClcbiAgICAgICAgcXVlcnlQYXJhbXMuYXBwZW5kKCdhZ2VudF90eXBlJywgJ29yY2hlc3RyYXRvcicpXG4gICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnbGFuZycsIG1hcENPUkxhbmcoaTE4bi5sYW5ndWFnZSkpXG4gICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnbGltaXQnLCAnNycpXG4gICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnb2Zmc2V0JywgYWdlbnRzLm5leHRfb2Zmc2V0LnRvU3RyaW5nKCkpXG4gICAgICAgIHBhdGggPSBgYWdlbnRzPyR7cXVlcnlQYXJhbXMudG9TdHJpbmcoKX1gXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICAgICAgcGF0aCxcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIH0pXG5cbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICAgICAgLy8gQWN1bXVsYXIgYWdlbnRlcywgZXhjbHV5ZW5kbyBkdXBsaWNhZG9zXG4gICAgICBzZXRBZ2VudHMocHJldiA9PiB7XG4gICAgICAgIGlmIChpc011bHRpQWdlbnRzKSB7XG4gICAgICAgICAgLy8gTMOzZ2ljYSBwYXJhIG11bHRpQWdlbnRzOiBzZXBhcmFyIE1BSUEgeSBjdXN0b21cbiAgICAgICAgICBjb25zdCBleGlzdGluZ01haWFBZ2VudHMgPSBwcmV2LmRhdGEuZmlsdGVyKGlzTWFpYUFnZW50KVxuXG4gICAgICAgICAgLy8gT2J0ZW5lciBJRHMgZXhpc3RlbnRlcyAoZXhjbHV5ZW5kbyBNQUlBKVxuICAgICAgICAgIGNvbnN0IGV4aXN0aW5nSWRzID0gbmV3IFNldChwcmV2LmRhdGEuZmlsdGVyKChhZzogQWdlbnQpID0+ICFpc01haWFBZ2VudChhZykpLm1hcCgoYWc6IEFnZW50KSA9PiBhZy5pZCkpXG5cbiAgICAgICAgICAvLyBGaWx0cmFyIG51ZXZvcyBhZ2VudHMgcXVlIG5vIGVzdMOpbiB5YSBlbiBsYSBsaXN0YSAoZXhjbHV5ZW5kbyBNQUlBIHkgY2xvbmVzKSwgbm9ybWFsaXphbmRvIGN1c3RvbVxuICAgICAgICAgIGNvbnN0IG5ld0FnZW50cyA9IG5vcm1hbGl6ZUN1c3RvbUFnZW50c0Zyb21BcGkoXG4gICAgICAgICAgICBkYXRhLmRhdGEuZmlsdGVyKChhZzogQWdlbnQpID0+ICFpc01haWFBZ2VudChhZykgJiYgYWcudHlwZSAhPT0gJ2Nsb25lJyAmJiAhZXhpc3RpbmdJZHMuaGFzKGFnLmlkKSlcbiAgICAgICAgICApXG5cbiAgICAgICAgICBjb25zdCBuZXdEYXRhID0gZXhpc3RpbmdNYWlhQWdlbnRzLmxlbmd0aFxuICAgICAgICAgICAgPyBbLi4uZXhpc3RpbmdNYWlhQWdlbnRzLCAuLi5wcmV2LmRhdGEuZmlsdGVyKChhZzogQWdlbnQpID0+ICFpc01haWFBZ2VudChhZykpLCAuLi5uZXdBZ2VudHNdXG4gICAgICAgICAgICA6IFsuLi5wcmV2LmRhdGEuZmlsdGVyKChhZzogQWdlbnQpID0+ICFpc01haWFBZ2VudChhZykpLCAuLi5uZXdBZ2VudHNdXG5cbiAgICAgICAgICAvLyBPcmRlbmFyOiBNYWlhIHByaW1lcm8sIGx1ZWdvIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlLCBsdWVnbyBubyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZVxuICAgICAgICAgIGNvbnN0IHNvcnRlZERhdGEgPSBzb3J0QWdlbnRzKG5ld0RhdGEpXG5cbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZGF0YTogc29ydGVkRGF0YSxcbiAgICAgICAgICAgIGhhc19tb3JlOiBkYXRhLmhhc19tb3JlLFxuICAgICAgICAgICAgbmV4dF9vZmZzZXQ6IGRhdGEubmV4dF9vZmZzZXQsXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIEzDs2dpY2EgcGFyYSAhaXNNdWx0aUFnZW50czogYWdyZWdhciBldml0YW5kbyBkdXBsaWNhZG9zXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nSWRzID0gbmV3IFNldChwcmV2LmRhdGEubWFwKChhZzogQWdlbnQpID0+IGFnLmlkKSlcbiAgICAgICAgY29uc3QgbmV3QWdlbnRzID0gKGRhdGEuZGF0YSB8fCBbXSkuZmlsdGVyKChhZzogQWdlbnQpID0+ICFleGlzdGluZ0lkcy5oYXMoYWcuaWQpKVxuICAgICAgICBjb25zdCBuZXdEYXRhID0gWy4uLnByZXYuZGF0YSwgLi4ubmV3QWdlbnRzXVxuXG4gICAgICAgIC8vIE9yZGVuYXI6IE1haWEgcHJpbWVybywgbHVlZ28gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGUsIGx1ZWdvIG5vIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlXG4gICAgICAgIGNvbnN0IHNvcnRlZERhdGEgPSBzb3J0QWdlbnRzKG5ld0RhdGEpXG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkYXRhOiBzb3J0ZWREYXRhLFxuICAgICAgICAgIGhhc19tb3JlOiBkYXRhLmhhc19tb3JlLFxuICAgICAgICAgIG5leHRfb2Zmc2V0OiBkYXRhLm5leHRfb2Zmc2V0LFxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICBzZXRMb2FkaW5nTW9yZShmYWxzZSlcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnc25hY2tiYXIubG9hZE1vcmVBZ2VudHMuZXJyb3InKSlcbiAgICAgIHNldExvYWRpbmdNb3JlKGZhbHNlKVxuICAgIH1cbiAgfSwgW3NlY3Rpb24sIGFnZW50cy5oYXNfbW9yZSwgYWdlbnRzLm5leHRfb2Zmc2V0LCBsb2FkaW5nTW9yZSwgaTE4bi5sYW5ndWFnZV0pXG5cbiAgcmV0dXJuIHtcbiAgICBhZ2VudHMsXG4gICAgbG9hZGluZyxcbiAgICBsb2FkaW5nTW9yZSxcbiAgICBlcnJvcixcbiAgICBoYW5kbGVHZXRBZ2VudHMsXG4gICAgbG9hZE1vcmVBZ2VudHMsXG4gICAgc2VhcmNoQ3VzdG9tQWdlbnRzLFxuICAgIHNlYXJjaExvYWRpbmcsXG4gICAgYWRkQWdlbnQsXG4gICAgcmVtb3ZlQWdlbnQsXG4gICAgdXBkYXRlQWdlbnQsXG4gICAgdXBkYXRlQWdlbnRGYXZvcml0ZSxcbiAgICBzZWxlY3RGaXJzdEFnZW50LFxuICAgIHNvcnRBZ2VudHNMaXN0LFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDckQsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFDOUMsU0FBU0Msa0JBQWtCLFFBQVEsc0RBQXNEO0FBQ3pGLFNBQVNDLFNBQVMsUUFBUSxXQUFXO0FBQ3JDLFNBQVNDLHdCQUF3QixRQUFRLHlDQUF5QztBQUVsRixTQUFTQyxPQUFPLFFBQVEsMkJBQTJCO0FBQ25ELFNBQVNDLDRCQUE0QixRQUFRLHdDQUF3QztBQUVyRixTQUFTQyxVQUFVLFFBQVEscUJBQXFCO0FBRWhELElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJQyxLQUFZO0VBQUEsT0FBSyxDQUFBQSxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRUMsSUFBSSxNQUFLLGNBQWM7QUFBQTtBQUVwRSxJQUFNQywyQkFBMkIsR0FBRyxTQUE5QkEsMkJBQTJCQSxDQUFBO0VBQUEsT0FBUyxDQUFDLENBQUNDLE1BQU0sQ0FBQ0Msd0JBQXdCO0FBQUE7QUFFM0UsSUFBTUMsb0JBQW9CLEdBQUcsU0FBdkJBLG9CQUFvQkEsQ0FBSUMsR0FBWSxFQUFjO0VBQUEsSUFBQUMsZUFBQSxFQUFBQyxjQUFBLEVBQUFDLGVBQUE7RUFDdEQsSUFBTUMsS0FBSyxHQUFHSixHQUE0RTtFQUMxRixPQUNFLENBQUFJLEtBQUssYUFBTEEsS0FBSyxnQkFBQUgsZUFBQSxHQUFMRyxLQUFLLENBQUVDLFFBQVEsY0FBQUosZUFBQSx1QkFBZkEsZUFBQSxDQUFpQkssTUFBTSxNQUFLLEdBQUcsSUFDL0IsQ0FBQUYsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxL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QUFXLENBQUNsTSxHQUFHLENBQUNPLEVBQUUsQ0FBQ1gsRUFBRSxDQUFDO1lBQUEsRUFBQztZQUNsRixJQUFNbUUsT0FBTyxNQUFBOUMsTUFBQSxDQUFBbkIsa0JBQUEsQ0FBTzZELElBQUksQ0FBQ2pDLElBQUksR0FBQTVCLGtCQUFBLENBQUtxTSxTQUFTLEVBQUM7O1lBRTVDO1lBQ0EsSUFBTW5JLFVBQVUsR0FBRzlELFVBQVUsQ0FBQzZELE9BQU8sQ0FBQztZQUV0QyxPQUFPO2NBQ0xyQyxJQUFJLEVBQUVzQyxVQUFVO2NBQ2hCc0csUUFBUSxFQUFFNUksSUFBSSxDQUFDNEksUUFBUTtjQUN2QkMsV0FBVyxFQUFFN0ksSUFBSSxDQUFDNkk7WUFDcEIsQ0FBQztVQUNILENBQUMsQ0FBQztVQUVGbEksY0FBYyxDQUFDLEtBQUssQ0FBQztVQUFBMkosU0FBQSxDQUFBdkQsSUFBQTtVQUFBO1FBQUE7VUFBQXVELFNBQUEsQ0FBQXJJLElBQUE7VUFBQW9JLEdBQUEsR0FBQUMsU0FBQTtVQUVyQmxKLG1CQUFtQixDQUFDRSxDQUFDLENBQUMsK0JBQStCLENBQUMsQ0FBQztVQUN2RFgsY0FBYyxDQUFDLEtBQUssQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBMkosU0FBQSxDQUFBekMsSUFBQTtNQUFBO0lBQUEsR0FBQXNDLFFBQUE7RUFBQSxDQUV4QixJQUFFLENBQUN2SyxPQUFPLEVBQUVuQixNQUFNLENBQUNtSyxRQUFRLEVBQUVuSyxNQUFNLENBQUNvSyxXQUFXLEVBQUVuSSxXQUFXLEVBQUVhLElBQUksQ0FBQ2tHLFFBQVEsQ0FBQyxDQUFDO0VBRTlFLE9BQU87SUFDTGhKLE1BQU0sRUFBTkEsTUFBTTtJQUNONkIsT0FBTyxFQUFQQSxPQUFPO0lBQ1BJLFdBQVcsRUFBWEEsV0FBVztJQUNYcEQsS0FBSyxFQUFMQSxLQUFLO0lBQ0w2RyxlQUFlLEVBQWZBLGVBQWU7SUFDZitGLGNBQWMsRUFBZEEsY0FBYztJQUNkVixrQkFBa0IsRUFBbEJBLGtCQUFrQjtJQUNsQjFJLGFBQWEsRUFBYkEsYUFBYTtJQUNiZ0IsUUFBUSxFQUFSQSxRQUFRO0lBQ1JXLFdBQVcsRUFBWEEsV0FBVztJQUNYRyxXQUFXLEVBQVhBLFdBQVc7SUFDWEcsbUJBQW1CLEVBQW5CQSxtQkFBbUI7SUFDbkJnQixnQkFBZ0IsRUFBaEJBLGdCQUFnQjtJQUNoQkQsY0FBYyxFQUFkQTtFQUNGLENBQUM7QUFDSCxDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
721
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlUmVmIiwidXNlVHJhbnNsYXRpb24iLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJmZXRjaE1haWEiLCJ3aXRoTm9ybWFsaXplZENvbm5lY3RvcnMiLCJ1c2VVc2VyIiwiaXNNYWlhQ2xvbmVBZ2VudHNSb2xlQmxvY2tlZCIsIm1hcENPUkxhbmciLCJpc01haWFBZ2VudCIsImFnZW50IiwidHlwZSIsImlzTWFya2V0cGxhY2VNYWlha2VyRW5hYmxlZCIsIndpbmRvdyIsIk1BSUFfTUFSS0VUUExBQ0VfTUFJQUtFUiIsImlzNDAzQWdlbnRGZXRjaEVycm9yIiwiZXJyIiwiX2Vycm9yJHJlc3BvbnNlIiwiX2Vycm9yJG1lc3NhZ2UiLCJfZXJyb3IkbWVzc2FnZTIiLCJlcnJvciIsInJlc3BvbnNlIiwic3RhdHVzIiwiQm9vbGVhbiIsIm1lc3NhZ2UiLCJpbmNsdWRlcyIsIm1lcmdlQWdlbnRzV2l0aG91dER1cGxpY2F0ZXMiLCJiYXNlIiwiZXh0cmEiLCJpZHMiLCJTZXQiLCJtYXAiLCJpZCIsIm1lcmdlZCIsIl90b0NvbnN1bWFibGVBcnJheSIsImZvckVhY2giLCJoYXMiLCJwdXNoIiwic29ydEFnZW50cyIsImFnZW50cyIsIm1haWFBZ2VudHMiLCJmaWx0ZXIiLCJvdGhlckFnZW50cyIsImFnIiwiZmF2b3JpdGVzIiwiaXNfZmF2b3JpdGUiLCJzb3J0IiwiYSIsImIiLCJuYW1lIiwibG9jYWxlQ29tcGFyZSIsIm5vbkZhdm9yaXRlcyIsImxlbmd0aCIsImNvbmNhdCIsIm5vcm1hbGl6ZUN1c3RvbUFnZW50c0Zyb21BcGkiLCJ1c2VHZXRBZ2VudHMiLCJfcmVmIiwic2VsZWN0QWdlbnQiLCJzZWN0aW9uIiwiaGFuZGxlR29Ib21lIiwidXNlciIsIl91c2VTdGF0ZSIsImRhdGEiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJzZXRBZ2VudHMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJsb2FkaW5nTW9yZSIsInNldExvYWRpbmdNb3JlIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZWFyY2hMb2FkaW5nIiwic2V0U2VhcmNoTG9hZGluZyIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwic2V0RXJyb3IiLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsIl91c2VUcmFuc2xhdGlvbiIsInQiLCJpMThuIiwibGFzdFNlbGVjdGVkQWdlbnRSZWYiLCJpc1JlZnJlc2hpbmdSZWYiLCJsYXN0UmVxdWVzdFJlZiIsImFnZW50c1JlZiIsInByZVNlYXJjaEFnZW50c1JlZiIsImN1cnJlbnQiLCJhZGRBZ2VudCIsIm5ld0FnZW50Iiwib3B0aW9ucyIsInByZXYiLCJhZ2VudEV4aXN0cyIsInNvbWUiLCJleGlzdGluZ0FnZW50IiwibmV3RGF0YSIsInNvcnRlZERhdGEiLCJfb2JqZWN0U3ByZWFkIiwibmF2aWdhdGVIb21lIiwicmVtb3ZlQWdlbnQiLCJhZ2VudElkIiwidG9TdHJpbmciLCJ1cGRhdGVBZ2VudCIsInVwZGF0ZWRBZ2VudCIsInVwZGF0ZWREYXRhIiwidXBkYXRlQWdlbnRGYXZvcml0ZSIsInNob3VsZFNvcnQiLCJhcmd1bWVudHMiLCJ1bmRlZmluZWQiLCJfcmVmMiIsImFnZW50RmllbGRzIiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwibWVyZ2VkQWdlbnQiLCJmaW5hbERhdGEiLCJmaW5kIiwiX3JlZjMiLCJfZXhjbHVkZWQyIiwiX3JlZjQiLCJfZXhjbHVkZWQzIiwic29ydEFnZW50c0xpc3QiLCJzZWxlY3RGaXJzdEFnZW50IiwiZmlyc3RBZ2VudCIsImZpbmRJbmRleCIsImFnZW50RGF0YSIsImhhbmRsZUdldEFnZW50cyIsIl9yZWY1IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWU0IiwiYWdlbnRUb1NlbGVjdCIsIl9hZ2VudFRvU2VsZWN0JGlkIiwicmVxdWVzdEtleSIsImlzTXVsdGlBZ2VudHMiLCJhZ2VudFBhcnNlZCIsImhhc01vcmUiLCJuZXh0T2Zmc2V0IiwiY2xvbmVBZ2VudHNSb2xlQmxvY2tlZCIsImNhbkZldGNoQ2xvbmVBZ2VudHMiLCJmZXRjaEdsb2JhbENsb25lQWdlbnRzIiwiY3VzdG9tQWdlbnRzIiwiY3VzdG9tSGFzTW9yZSIsImN1c3RvbU5leHRPZmZzZXQiLCJpczQwMyIsImxvYWRDbG9uZUFnZW50cyIsImxvYWRDdXN0b21BZ2VudHMiLCJxdWVyeVBhcmFtcyIsInF1ZXJ5U3RyaW5nIiwicGF0aCIsImdsb2JhbENsb25lQWdlbnRzIiwiX3Jlc3BvbnNlRXJyb3IkcmVzcG9uIiwiX3Jlc3BvbnNlRXJyb3IkbWVzc2FnIiwiX3Jlc3BvbnNlRXJyb3IkbWVzc2FnMiIsImlzNDAzRXJyb3IiLCJfYWdlbnRQYXJzZWQiLCJfYWdlbnRQYXJzZWQyIiwiX2xhc3RTZWxlY3RlZEFnZW50UmVmIiwiX2xhc3RTZWxlY3RlZEFnZW50UmVmMiIsImF2YWlsYWJsZUFnZW50cyIsIl9hdmFpbGFibGVBZ2VudHMiLCJfbGFzdFNlbGVjdGVkQWdlbnRSZWYzIiwiX2F2YWlsYWJsZUFnZW50czIiLCJfYXZhaWxhYmxlQWdlbnRzMyIsImZpcnN0QXZhaWxhYmxlQWdlbnQiLCJfdDQiLCJfdDUiLCJ3cmFwIiwiX2NvbnRleHQ0IiwibmV4dCIsImFicnVwdCIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyIsIk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMiLCJfcmVmNiIsIl9jYWxsZWUiLCJjbG9uZVJlc3BvbnNlIiwiY2xvbmVEYXRhIiwiX3QiLCJfY29udGV4dCIsImxhbmd1YWdlIiwibWV0aG9kIiwic2VudCIsImpzb24iLCJzdG9wIiwiYXBwbHkiLCJfcmVmNyIsIl9jYWxsZWUyIiwiX21haWFEYXRhJGRhdGEiLCJtYWlhUmVzcG9uc2UiLCJtYWlhRGF0YSIsIl90MiIsIl9jb250ZXh0MiIsIl9yZWY4IiwiX2NhbGxlZTMiLCJjdXN0b21SZXNwb25zZSIsImN1c3RvbURhdGEiLCJfdDMiLCJfY29udGV4dDMiLCJoYXNfbW9yZSIsIm5leHRfb2Zmc2V0IiwiUHJvbWlzZSIsImFsbCIsIlVSTFNlYXJjaFBhcmFtcyIsImFwcGVuZCIsImFnZW50VG9SZXF1ZXN0IiwiYWdlbnRJdGVtIiwiRXJyb3IiLCJzZXRUaW1lb3V0IiwiZmluaXNoIiwiX3giLCJzZWFyY2hDdXN0b21BZ2VudHMiLCJfcmVmOSIsIl9jYWxsZWU1IiwicXVlcnkiLCJfdDYiLCJfY29udGV4dDUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJjbG9uZUFnZW50cyIsImN1c3RvbVJlc3VsdHMiLCJfeDIiLCJsb2FkTW9yZUFnZW50cyIsIl9jYWxsZWU2IiwiY2FuTG9hZE1vcmUiLCJfdDciLCJfY29udGV4dDYiLCJleGlzdGluZ01haWFBZ2VudHMiLCJleGlzdGluZ0lkcyIsIm5ld0FnZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL0FnZW50cy9nZXRBZ2VudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VSZWYgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IHVzZVNuYWNrQmFyTWFuYWdlciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVNuYWNrQmFyTWFuYWdlci91c2VTbmFja0Jhck1hbmFnZXInXG5pbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQgeyB3aXRoTm9ybWFsaXplZENvbm5lY3RvcnMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9ub3JtYWxpemVBZ2VudENvbm5lY3RvcnMnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL21haWFUYXNrUGFuZWxBY2Nlc3MnXG5pbXBvcnQgeyBTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IG1hcENPUkxhbmcgfSBmcm9tICcuLi8uLi8uLi9sYW5nL3V0aWxzJ1xuXG5jb25zdCBpc01haWFBZ2VudCA9IChhZ2VudDogQWdlbnQpID0+IGFnZW50Py50eXBlID09PSAnb3JjaGVzdHJhdG9yJ1xuXG5jb25zdCBpc01hcmtldHBsYWNlTWFpYWtlckVuYWJsZWQgPSAoKSA9PiAhIXdpbmRvdy5NQUlBX01BUktFVFBMQUNFX01BSUFLRVJcblxuY29uc3QgaXM0MDNBZ2VudEZldGNoRXJyb3IgPSAoZXJyOiB1bmtub3duKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IGVycm9yID0gZXJyIGFzIHsgcmVzcG9uc2U/OiB7IHN0YXR1cz86IG51bWJlciB9OyBzdGF0dXM/OiBudW1iZXI7IG1lc3NhZ2U/OiBzdHJpbmcgfVxuICByZXR1cm4gKFxuICAgIGVycm9yPy5yZXNwb25zZT8uc3RhdHVzID09PSA0MDMgfHxcbiAgICBlcnJvcj8uc3RhdHVzID09PSA0MDMgfHxcbiAgICBCb29sZWFuKGVycm9yPy5tZXNzYWdlPy5pbmNsdWRlcyhcIllvdSBkb24ndCBoYXZlIHBlcm1pc3Npb24gdG8gdmlldyBhZ2VudHNcIikpIHx8XG4gICAgQm9vbGVhbihlcnJvcj8ubWVzc2FnZT8uaW5jbHVkZXMoJ0ZhaWxlZCBmZXRjaGluZyBkYXRhJykpXG4gIClcbn1cblxuY29uc3QgbWVyZ2VBZ2VudHNXaXRob3V0RHVwbGljYXRlcyA9IChiYXNlOiBBZ2VudFtdLCBleHRyYTogQWdlbnRbXSk6IEFnZW50W10gPT4ge1xuICBjb25zdCBpZHMgPSBuZXcgU2V0KGJhc2UubWFwKGFnZW50ID0+IGFnZW50LmlkKSlcbiAgY29uc3QgbWVyZ2VkID0gWy4uLmJhc2VdXG4gIGV4dHJhLmZvckVhY2goYWdlbnQgPT4ge1xuICAgIGlmICghaWRzLmhhcyhhZ2VudC5pZCkpIG1lcmdlZC5wdXNoKGFnZW50KVxuICB9KVxuICByZXR1cm4gbWVyZ2VkXG59XG5cbi8qKlxuICogT3JkZW5hIGxvcyBhZ2VudGVzOiBNQUlBIHByaW1lcm8gKHNpIGV4aXN0ZSksIGx1ZWdvIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlLCBsdWVnbyBubyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZVxuICovXG5jb25zdCBzb3J0QWdlbnRzID0gKGFnZW50czogQWdlbnRbXSk6IEFnZW50W10gPT4ge1xuICBjb25zdCBtYWlhQWdlbnRzID0gYWdlbnRzLmZpbHRlcihpc01haWFBZ2VudClcbiAgY29uc3Qgb3RoZXJBZ2VudHMgPSBhZ2VudHMuZmlsdGVyKGFnID0+ICFpc01haWFBZ2VudChhZykpXG5cbiAgLy8gU2VwYXJhciBmYXZvcml0b3MgeSBubyBmYXZvcml0b3NcbiAgY29uc3QgZmF2b3JpdGVzID0gb3RoZXJBZ2VudHMuZmlsdGVyKGFnID0+IGFnLmlzX2Zhdm9yaXRlKS5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKVxuICBjb25zdCBub25GYXZvcml0ZXMgPSBvdGhlckFnZW50cy5maWx0ZXIoYWcgPT4gIWFnLmlzX2Zhdm9yaXRlKS5zb3J0KChhLCBiKSA9PiBhLm5hbWUubG9jYWxlQ29tcGFyZShiLm5hbWUpKVxuXG4gIHJldHVybiBtYWlhQWdlbnRzLmxlbmd0aCA/IFsuLi5tYWlhQWdlbnRzLCAuLi5mYXZvcml0ZXMsIC4uLm5vbkZhdm9yaXRlc10gOiBbLi4uZmF2b3JpdGVzLCAuLi5ub25GYXZvcml0ZXNdXG59XG5cbmNvbnN0IG5vcm1hbGl6ZUN1c3RvbUFnZW50c0Zyb21BcGkgPSAoYWdlbnRzOiBBZ2VudFtdKTogQWdlbnRbXSA9PlxuICBhZ2VudHMubWFwKGFnZW50ID0+IChhZ2VudC50eXBlID09PSAnY3VzdG9tJyA/IHdpdGhOb3JtYWxpemVkQ29ubmVjdG9ycyhhZ2VudCkgOiBhZ2VudCkpXG5cbnR5cGUgVXNlR2V0QWdlbnRzUHJvcHMgPSB7XG4gIHNlbGVjdEFnZW50OiAoYWdlbnQ6IEFnZW50KSA9PiB2b2lkXG4gIHNlY3Rpb246IFNlY3Rpb25cbiAgYWdlbnQ6IEFnZW50IHwgbnVsbFxuICBoYW5kbGVHb0hvbWU6ICgpID0+IHZvaWRcbn1cblxuZXhwb3J0IHR5cGUgQWRkQWdlbnRPcHRpb25zID0ge1xuICAvKiogUG9yIGRlZmVjdG8gYHRydWVgIChjb21wb3J0YW1pZW50byBBQk0pLiBQYXNhciBgZmFsc2VgIGFsIGluc2VydGFyIGFnZW50ZSBjcmVhZG8gcG9yIGNoYXQgc2luIGNhbWJpYXIgZGUgdmlzdGEuICovXG4gIG5hdmlnYXRlSG9tZT86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IHVzZUdldEFnZW50cyA9ICh7IHNlbGVjdEFnZW50LCBzZWN0aW9uLCBhZ2VudCwgaGFuZGxlR29Ib21lIH06IFVzZUdldEFnZW50c1Byb3BzKSA9PiB7XG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgW2FnZW50cywgc2V0QWdlbnRzXSA9IHVzZVN0YXRlPHsgZGF0YTogQWdlbnRbXTsgaGFzX21vcmU/OiBib29sZWFuOyBuZXh0X29mZnNldD86IG51bWJlciB8IG51bGwgfT4oeyBkYXRhOiBbXSB9KVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2xvYWRpbmdNb3JlLCBzZXRMb2FkaW5nTW9yZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW3NlYXJjaExvYWRpbmcsIHNldFNlYXJjaExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgeyBoYW5kbGVTbmFja2JhckVycm9yIH0gPSB1c2VTbmFja0Jhck1hbmFnZXIoKVxuICBjb25zdCB7IHQsIGkxOG4gfSA9IHVzZVRyYW5zbGF0aW9uKCdjaGF0X2FpX3NlY3Rpb24nKVxuICBjb25zdCBsYXN0U2VsZWN0ZWRBZ2VudFJlZiA9IHVzZVJlZjxBZ2VudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGlzUmVmcmVzaGluZ1JlZiA9IHVzZVJlZihmYWxzZSlcbiAgY29uc3QgbGFzdFJlcXVlc3RSZWYgPSB1c2VSZWY8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgYWdlbnRzUmVmID0gdXNlUmVmKGFnZW50cylcbiAgY29uc3QgcHJlU2VhcmNoQWdlbnRzUmVmID0gdXNlUmVmPHsgZGF0YTogQWdlbnRbXTsgaGFzX21vcmU/OiBib29sZWFuOyBuZXh0X29mZnNldD86IG51bWJlciB8IG51bGwgfSB8IG51bGw+KG51bGwpXG5cbiAgYWdlbnRzUmVmLmN1cnJlbnQgPSBhZ2VudHNcblxuICBjb25zdCBhZGRBZ2VudCA9IHVzZUNhbGxiYWNrKFxuICAgIChuZXdBZ2VudDogQWdlbnQsIG9wdGlvbnM/OiBBZGRBZ2VudE9wdGlvbnMpID0+IHtcbiAgICAgIHNldEFnZW50cyhwcmV2ID0+IHtcbiAgICAgICAgLy8gVmVyaWZpY2FyIHNpIGVsIGFnZW50ZSB5YSBleGlzdGUgcGFyYSBldml0YXIgZHVwbGljYWRvc1xuICAgICAgICBjb25zdCBhZ2VudEV4aXN0cyA9IHByZXYuZGF0YS5zb21lKGV4aXN0aW5nQWdlbnQgPT4gZXhpc3RpbmdBZ2VudC5pZCA9PT0gbmV3QWdlbnQuaWQpXG4gICAgICAgIGlmIChhZ2VudEV4aXN0cykge1xuICAgICAgICAgIHJldHVybiBwcmV2XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IFsuLi5wcmV2LmRhdGEsIG5ld0FnZW50XVxuICAgICAgICBjb25zdCBzb3J0ZWREYXRhID0gc29ydEFnZW50cyhuZXdEYXRhKVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgZGF0YTogc29ydGVkRGF0YSxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIGlmIChvcHRpb25zPy5uYXZpZ2F0ZUhvbWUgIT09IGZhbHNlKSB7XG4gICAgICAgIGhhbmRsZUdvSG9tZSgpXG4gICAgICB9XG4gICAgfSxcbiAgICBbaGFuZGxlR29Ib21lXVxuICApXG5cbiAgY29uc3QgcmVtb3ZlQWdlbnQgPSB1c2VDYWxsYmFjaygoYWdlbnRJZDogbnVtYmVyIHwgc3RyaW5nKSA9PiB7XG4gICAgc2V0QWdlbnRzKHByZXYgPT4gKHtcbiAgICAgIC4uLnByZXYsXG4gICAgICBkYXRhOiBwcmV2LmRhdGEuZmlsdGVyKGEgPT4gYS5pZCAhPT0gYWdlbnRJZC50b1N0cmluZygpKSxcbiAgICB9KSlcbiAgfSwgW10pXG5cbiAgY29uc3QgdXBkYXRlQWdlbnQgPSB1c2VDYWxsYmFjaygodXBkYXRlZEFnZW50OiBBZ2VudCkgPT4ge1xuICAgIHNldEFnZW50cyhwcmV2ID0+IHtcbiAgICAgIGNvbnN0IHVwZGF0ZWREYXRhID0gcHJldi5kYXRhLm1hcChleGlzdGluZ0FnZW50ID0+XG4gICAgICAgIGV4aXN0aW5nQWdlbnQuaWQgPT09IHVwZGF0ZWRBZ2VudC5pZCA/IHVwZGF0ZWRBZ2VudCA6IGV4aXN0aW5nQWdlbnRcbiAgICAgIClcbiAgICAgIGNvbnN0IHNvcnRlZERhdGEgPSBzb3J0QWdlbnRzKHVwZGF0ZWREYXRhKVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgICAgZGF0YTogc29ydGVkRGF0YSxcbiAgICAgIH1cbiAgICB9KVxuICB9LCBbXSlcblxuICBjb25zdCB1cGRhdGVBZ2VudEZhdm9yaXRlID0gdXNlQ2FsbGJhY2soXG4gICAgKHVwZGF0ZWRBZ2VudDogQWdlbnQsIHNob3VsZFNvcnQ6IGJvb2xlYW4gPSBmYWxzZSkgPT4ge1xuICAgICAgc2V0QWdlbnRzKHByZXYgPT4ge1xuICAgICAgICBjb25zdCB1cGRhdGVkRGF0YSA9IHByZXYuZGF0YS5tYXAoZXhpc3RpbmdBZ2VudCA9PiB7XG4gICAgICAgICAgaWYgKGV4aXN0aW5nQWdlbnQuaWQgPT09IHVwZGF0ZWRBZ2VudC5pZCkge1xuICAgICAgICAgICAgY29uc3QgeyBtZXNzYWdlLCAuLi5hZ2VudEZpZWxkcyB9ID0gdXBkYXRlZEFnZW50IGFzIGFueVxuICAgICAgICAgICAgY29uc3QgbWVyZ2VkQWdlbnQgPSB7IC4uLmV4aXN0aW5nQWdlbnQsIC4uLmFnZW50RmllbGRzIH1cbiAgICAgICAgICAgIHJldHVybiBtZXJnZWRBZ2VudFxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZXhpc3RpbmdBZ2VudFxuICAgICAgICB9KVxuXG4gICAgICAgIC8vIFNvbG8gb3JkZW5hciBzaSBzaG91bGRTb3J0IGVzIHRydWVcbiAgICAgICAgY29uc3QgZmluYWxEYXRhID0gc2hvdWxkU29ydCA/IHNvcnRBZ2VudHModXBkYXRlZERhdGEpIDogdXBkYXRlZERhdGFcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgZGF0YTogZmluYWxEYXRhLFxuICAgICAgICB9XG4gICAgICB9KVxuXG4gICAgICAvLyBBY3R1YWxpemFyIGVsIGFnZW50ZSBzZWxlY2Npb25hZG8gc2kgZXMgZWwgcXVlIHNlIGVzdMOhIGFjdHVhbGl6YW5kb1xuICAgICAgaWYgKGFnZW50Py5pZCA9PT0gdXBkYXRlZEFnZW50LmlkKSB7XG4gICAgICAgIGNvbnN0IGV4aXN0aW5nQWdlbnQgPSBhZ2VudHMuZGF0YS5maW5kKGEgPT4gYS5pZCA9PT0gdXBkYXRlZEFnZW50LmlkKVxuICAgICAgICBpZiAoZXhpc3RpbmdBZ2VudCkge1xuICAgICAgICAgIGNvbnN0IHsgbWVzc2FnZSwgLi4uYWdlbnRGaWVsZHMgfSA9IHVwZGF0ZWRBZ2VudCBhcyBhbnlcbiAgICAgICAgICBjb25zdCBtZXJnZWRBZ2VudCA9IHsgLi4uZXhpc3RpbmdBZ2VudCwgLi4uYWdlbnRGaWVsZHMgfVxuICAgICAgICAgIHNlbGVjdEFnZW50KG1lcmdlZEFnZW50KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHsgbWVzc2FnZSwgLi4uYWdlbnRGaWVsZHMgfSA9IHVwZGF0ZWRBZ2VudCBhcyBhbnlcbiAgICAgICAgICBzZWxlY3RBZ2VudChhZ2VudEZpZWxkcyBhcyBBZ2VudClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgW2FnZW50LCBzZWxlY3RBZ2VudCwgYWdlbnRzLmRhdGFdXG4gIClcblxuICBjb25zdCBzb3J0QWdlbnRzTGlzdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRBZ2VudHMocHJldiA9PiB7XG4gICAgICBjb25zdCBzb3J0ZWREYXRhID0gc29ydEFnZW50cyhwcmV2LmRhdGEpXG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5wcmV2LFxuICAgICAgICBkYXRhOiBzb3J0ZWREYXRhLFxuICAgICAgfVxuICAgIH0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNlbGVjdEZpcnN0QWdlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAoYWdlbnRJZD86IHN0cmluZykgPT4ge1xuICAgICAgaWYgKGFnZW50cy5kYXRhLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBmaXJzdEFnZW50ID0gYWdlbnRzLmRhdGEuZmluZEluZGV4KGFnZW50RGF0YSA9PiBhZ2VudERhdGEuaWQgPT09IGFnZW50SWQpXG4gICAgICAgIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQgPSBhZ2VudHMuZGF0YVtmaXJzdEFnZW50ID09PSAwID8gMSA6IDBdXG4gICAgICAgIHNlbGVjdEFnZW50KGFnZW50cy5kYXRhW2ZpcnN0QWdlbnQgPT09IDAgPyAxIDogMF0pXG4gICAgICB9XG4gICAgfSxcbiAgICBbYWdlbnRzLmRhdGEsIHNlbGVjdEFnZW50XVxuICApXG5cbiAgY29uc3QgaGFuZGxlR2V0QWdlbnRzID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKGFnZW50VG9TZWxlY3Q/OiBBZ2VudCkgPT4ge1xuICAgICAgaWYgKGlzUmVmcmVzaGluZ1JlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCByZXF1ZXN0S2V5ID0gYWdlbnRUb1NlbGVjdD8uaWQ/LnRvU3RyaW5nKCkgfHwgJ2RlZmF1bHQnXG4gICAgICBpZiAobGFzdFJlcXVlc3RSZWYuY3VycmVudCA9PT0gcmVxdWVzdEtleSAmJiAhbG9hZGluZykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaXNSZWZyZXNoaW5nUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgICBsYXN0UmVxdWVzdFJlZi5jdXJyZW50ID0gcmVxdWVzdEtleVxuICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgc2V0RXJyb3IobnVsbClcblxuICAgICAgY29uc3QgaXNNdWx0aUFnZW50cyA9ICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyAmJiAhIXdpbmRvdy5NQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTXG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGxldCBhZ2VudFBhcnNlZDogQWdlbnRbXSA9IFtdXG4gICAgICAgIGxldCBoYXNNb3JlID0gZmFsc2VcbiAgICAgICAgbGV0IG5leHRPZmZzZXQ6IG51bWJlciB8IG51bGwgPSBudWxsXG4gICAgICAgIGNvbnN0IGNsb25lQWdlbnRzUm9sZUJsb2NrZWQgPSBpc01haWFDbG9uZUFnZW50c1JvbGVCbG9ja2VkKHVzZXIsIHNlY3Rpb24pXG4gICAgICAgIGNvbnN0IGNhbkZldGNoQ2xvbmVBZ2VudHMgPSAhY2xvbmVBZ2VudHNSb2xlQmxvY2tlZFxuXG4gICAgICAgIGNvbnN0IGZldGNoR2xvYmFsQ2xvbmVBZ2VudHMgPSBhc3luYyAoKTogUHJvbWlzZTxBZ2VudFtdPiA9PiB7XG4gICAgICAgICAgaWYgKCFpc01hcmtldHBsYWNlTWFpYWtlckVuYWJsZWQoKSB8fCAhY2FuRmV0Y2hDbG9uZUFnZW50cykgcmV0dXJuIFtdXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGNsb25lUmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgICAgICAgICAgICBwYXRoOiBgYWdlbnRzP2FnZW50X3R5cGU9Y2xvbmUmZW50aXR5PWdsb2JhbCZsYW5nPSR7bWFwQ09STGFuZyhpMThuLmxhbmd1YWdlKX1gLFxuICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIGNvbnN0IGNsb25lRGF0YSA9IGF3YWl0IGNsb25lUmVzcG9uc2UuanNvbigpXG4gICAgICAgICAgICByZXR1cm4gKGNsb25lRGF0YS5kYXRhIHx8IFtdKS5maWx0ZXIoKGFnOiBBZ2VudCkgPT4gYWcudHlwZSA9PT0gJ2Nsb25lJylcbiAgICAgICAgICB9IGNhdGNoIChjbG9uZUVycm9yKSB7XG4gICAgICAgICAgICBpZiAoaXM0MDNBZ2VudEZldGNoRXJyb3IoY2xvbmVFcnJvcikpIHJldHVybiBbXVxuICAgICAgICAgICAgdGhyb3cgY2xvbmVFcnJvclxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNpIHRpZW5lIGZlYXR1cmUgYWNjZXNzIG11bHRpIGFnZW50cywgaGFjZXIgZG9zIHF1ZXJpZXMgKE1haWEgKyBjdXN0b20pIGVuIGN1YWxxdWllciBzZWNjacOzblxuICAgICAgICBpZiAoaXNNdWx0aUFnZW50cykge1xuICAgICAgICAgIC8vIFF1ZXJ5IGNsb25lIChNYWlhKSB5IGN1c3RvbSBzb24gaW5kZXBlbmRpZW50ZXMg4oaSIHNlIGRpc3BhcmFuIGVuIHBhcmFsZWxvLlxuICAgICAgICAgIGxldCBjdXN0b21BZ2VudHM6IEFnZW50W10gPSBbXVxuICAgICAgICAgIGxldCBjdXN0b21IYXNNb3JlID0gZmFsc2VcbiAgICAgICAgICBsZXQgY3VzdG9tTmV4dE9mZnNldDogbnVtYmVyIHwgbnVsbCA9IG51bGxcblxuICAgICAgICAgIGNvbnN0IGlzNDAzID0gaXM0MDNBZ2VudEZldGNoRXJyb3JcblxuICAgICAgICAgIGxldCBtYWlhQWdlbnRzOiBBZ2VudFtdID0gW11cblxuICAgICAgICAgIGNvbnN0IGxvYWRDbG9uZUFnZW50cyA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGlmICghY2FuRmV0Y2hDbG9uZUFnZW50cykgcmV0dXJuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb25zdCBtYWlhUmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgICAgICAgICAgICAgIHBhdGg6IGBhZ2VudHM/YWdlbnRfdHlwZT1vcmNoZXN0cmF0b3ImbGFuZz0ke21hcENPUkxhbmcoaTE4bi5sYW5ndWFnZSl9YCxcbiAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBjb25zdCBtYWlhRGF0YSA9IGF3YWl0IG1haWFSZXNwb25zZS5qc29uKClcbiAgICAgICAgICAgICAgbWFpYUFnZW50cyA9IG1haWFEYXRhLmRhdGE/LmZpbHRlcihpc01haWFBZ2VudCkgfHwgW11cbiAgICAgICAgICAgICAgY29uc3QgZ2xvYmFsQ2xvbmVBZ2VudHMgPSBhd2FpdCBmZXRjaEdsb2JhbENsb25lQWdlbnRzKClcbiAgICAgICAgICAgICAgbWFpYUFnZW50cyA9IG1lcmdlQWdlbnRzV2l0aG91dER1cGxpY2F0ZXMobWFpYUFnZW50cywgZ2xvYmFsQ2xvbmVBZ2VudHMpXG4gICAgICAgICAgICB9IGNhdGNoIChtYWlhRXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgLy8gU2kgZXMgNDAzLCBjb250aW51YXIgc2luIGxvcyBjbG9uZUFnZW50czsgc2kgZXMgb3RybyBlcnJvciwgcHJvcGFnYXJsb1xuICAgICAgICAgICAgICBpZiAoIWlzNDAzKG1haWFFcnJvcikpIHRocm93IG1haWFFcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IGxvYWRDdXN0b21BZ2VudHMgPSBhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb25zdCBjdXN0b21SZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgICAgICAgICAgcGF0aDogJ2FnZW50cz9hZ2VudF90eXBlPWN1c3RvbSZsaW1pdD03Jm9mZnNldD0wJyxcbiAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICBjb25zdCBjdXN0b21EYXRhID0gYXdhaXQgY3VzdG9tUmVzcG9uc2UuanNvbigpXG4gICAgICAgICAgICAgIGN1c3RvbUFnZW50cyA9IG5vcm1hbGl6ZUN1c3RvbUFnZW50c0Zyb21BcGkoY3VzdG9tRGF0YS5kYXRhIHx8IFtdKVxuICAgICAgICAgICAgICBjdXN0b21IYXNNb3JlID0gY3VzdG9tRGF0YS5oYXNfbW9yZSB8fCBmYWxzZVxuICAgICAgICAgICAgICBjdXN0b21OZXh0T2Zmc2V0ID0gY3VzdG9tRGF0YS5uZXh0X29mZnNldCB8fCBudWxsXG4gICAgICAgICAgICB9IGNhdGNoIChjdXN0b21FcnJvcjogYW55KSB7XG4gICAgICAgICAgICAgIC8vIFNpIGVzIDQwMywgY29udGludWFyIHNpbiBsb3MgY3VzdG9tQWdlbnRzIChxdWVkYSBjb21vIGFycmF5IHZhY8Otbyk7IHNpIG5vLCBwcm9wYWdhcmxvXG4gICAgICAgICAgICAgIGlmICghaXM0MDMoY3VzdG9tRXJyb3IpKSB0aHJvdyBjdXN0b21FcnJvclxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFtsb2FkQ2xvbmVBZ2VudHMoKSwgbG9hZEN1c3RvbUFnZW50cygpXSlcblxuICAgICAgICAgIC8vIENvbWJpbmFyOiBhZ2VudGVzIGNsb25lIHByaW1lcm8sIGx1ZWdvIGxvcyBjdXN0b20gKHNpIGV4aXN0ZW4pXG4gICAgICAgICAgLy8gU2kgZWwgdXN1YXJpbyB0aWVuZSB1biByb2wgZGVzaGFiaWxpdGFkbywgbm8gaW5jbHVpciBjbG9uZUFnZW50c1xuICAgICAgICAgIGlmICghY2FuRmV0Y2hDbG9uZUFnZW50cykge1xuICAgICAgICAgICAgLy8gUm9sIHNpbiBhY2Nlc28gYSBjbG9uZXMgKHAuIGVqLiBmcmVlbGFuY2VyL2NsaWVudGUgbyBjb2xhYm9yYWRvciBlbiBwcm9qZWN0L2NsaWVudCk6IHNvbG8gY3VzdG9tQWdlbnRzXG4gICAgICAgICAgICAvLyBTaSBjdXN0b21BZ2VudHMgZXN0w6EgdmFjw61vIChwb3IgNDAzKSwgYWdlbnRQYXJzZWQgc2Vyw6EgW11cbiAgICAgICAgICAgIGFnZW50UGFyc2VkID0gY3VzdG9tQWdlbnRzXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGFnZW50UGFyc2VkID0gbWFpYUFnZW50cy5sZW5ndGggPyBbLi4ubWFpYUFnZW50cywgLi4uY3VzdG9tQWdlbnRzXSA6IGN1c3RvbUFnZW50c1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBPcmRlbmFyOiBNYWlhIHByaW1lcm8sIGx1ZWdvIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlLCBsdWVnbyBubyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZVxuICAgICAgICAgIGFnZW50UGFyc2VkID0gc29ydEFnZW50cyhhZ2VudFBhcnNlZClcbiAgICAgICAgICBoYXNNb3JlID0gY3VzdG9tSGFzTW9yZVxuICAgICAgICAgIG5leHRPZmZzZXQgPSBjdXN0b21OZXh0T2Zmc2V0XG5cbiAgICAgICAgICBzZXRBZ2VudHMoe1xuICAgICAgICAgICAgZGF0YTogYWdlbnRQYXJzZWQsXG4gICAgICAgICAgICBoYXNfbW9yZTogaGFzTW9yZSxcbiAgICAgICAgICAgIG5leHRfb2Zmc2V0OiBuZXh0T2Zmc2V0LFxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICAvLyBTaSBubyBoYXkgYWdlbnRlcyBkZXNwdcOpcyBkZSBwcm9jZXNhciBsYXMgcXVlcmllcywgbGltcGlhciBlbCBlcnJvclxuICAgICAgICAgIGlmIChhZ2VudFBhcnNlZC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHNldEVycm9yKG51bGwpXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEzDs2dpY2EgcGFyYSBwcm9qZWN0LCBjbGllbnQgbyBoZWFkZXIgc2luIG11bHRpQWdlbnRzIChtaXNtbyBjcml0ZXJpbyBkZSBvcmRlbiBwcm9qZWN0L2NsaWVudDsgaGVhZGVyIGHDsWFkZSBwYWdpbmFjacOzbilcbiAgICAgICAgICBjb25zdCBxdWVyeVBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKVxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHNlY3Rpb24gPT09ICdwcm9qZWN0JyB8fFxuICAgICAgICAgICAgc2VjdGlvbiA9PT0gJ2NsaWVudCcgfHxcbiAgICAgICAgICAgIHNlY3Rpb24gPT09ICdoZWFkZXInIHx8XG4gICAgICAgICAgICBzZWN0aW9uID09PSAndGFzaycgfHxcbiAgICAgICAgICAgIHNlY3Rpb24gPT09ICdwbGFubmVyJ1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgcXVlcnlQYXJhbXMuYXBwZW5kKCdhZ2VudF90eXBlJywgJ29yY2hlc3RyYXRvcicpXG4gICAgICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2xhbmcnLCBtYXBDT1JMYW5nKGkxOG4ubGFuZ3VhZ2UpKVxuICAgICAgICAgICAgaWYgKHNlY3Rpb24gPT09ICdoZWFkZXInKSB7XG4gICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnbGltaXQnLCAnNycpXG4gICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnb2Zmc2V0JywgJzAnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gcXVlcnlQYXJhbXMudG9TdHJpbmcoKVxuICAgICAgICAgIGNvbnN0IHBhdGggPSBgYWdlbnRzJHtxdWVyeVN0cmluZyA/IGA/JHtxdWVyeVN0cmluZ31gIDogJyd9YFxuXG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICAgICAgICAgICAgcGF0aCxcbiAgICAgICAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcbiAgICAgICAgICAgIC8vIGRhdGEuZGF0YSB5YSBjb250aWVuZSBlbC9sb3MgYWdlbnRlcyBvcnF1ZXN0YWRvcmVzIGRlIGxhIHF1ZXJ5IGFnZW50X3R5cGU9b3JjaGVzdHJhdG9yXG4gICAgICAgICAgICBhZ2VudFBhcnNlZCA9IGRhdGEuZGF0YSB8fCBbXVxuICAgICAgICAgICAgY29uc3QgZ2xvYmFsQ2xvbmVBZ2VudHMgPSBhd2FpdCBmZXRjaEdsb2JhbENsb25lQWdlbnRzKClcbiAgICAgICAgICAgIGFnZW50UGFyc2VkID0gbWVyZ2VBZ2VudHNXaXRob3V0RHVwbGljYXRlcyhhZ2VudFBhcnNlZCwgZ2xvYmFsQ2xvbmVBZ2VudHMpXG4gICAgICAgICAgICAvLyBPcmRlbmFyOiBNYWlhIHByaW1lcm8sIGx1ZWdvIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlLCBsdWVnbyBubyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZVxuICAgICAgICAgICAgYWdlbnRQYXJzZWQgPSBzb3J0QWdlbnRzKGFnZW50UGFyc2VkKVxuICAgICAgICAgICAgaGFzTW9yZSA9IGRhdGEuaGFzX21vcmVcbiAgICAgICAgICAgIG5leHRPZmZzZXQgPSBkYXRhLm5leHRfb2Zmc2V0XG5cbiAgICAgICAgICAgIHNldEFnZW50cyh7XG4gICAgICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgICAgIGRhdGE6IGFnZW50UGFyc2VkLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGNhdGNoIChyZXNwb25zZUVycm9yOiBhbnkpIHtcbiAgICAgICAgICAgIC8vIFZlcmlmaWNhciBzaSBlbCBlcnJvciBlcyA0MDNcbiAgICAgICAgICAgIC8vIGZldGNoQ09SIHB1ZWRlIGxhbnphciBkaWZlcmVudGVzIHRpcG9zIGRlIGVycm9yZXM6XG4gICAgICAgICAgICAvLyAxLiBFcnJvciBjb24gZXJyb3JEYXRhLmRldGFpbCBzaSBpbmNsdXllICdBY2Nlc3MgZGVuaWVkJ1xuICAgICAgICAgICAgLy8gMi4gRXJyb3IgZ2Vuw6lyaWNvICdGYWlsZWQgZmV0Y2hpbmcgZGF0YScgc2kgZXMgNDAzIHBlcm8gbm8gaW5jbHV5ZSAnQWNjZXNzIGRlbmllZCdcbiAgICAgICAgICAgIC8vIDMuIE5lY2VzaXRhbW9zIHZlcmlmaWNhciBlbCBzdGF0dXMgY29kZSBzaSBlc3TDoSBkaXNwb25pYmxlXG4gICAgICAgICAgICBjb25zdCBpczQwM0Vycm9yID1cbiAgICAgICAgICAgICAgcmVzcG9uc2VFcnJvcj8ucmVzcG9uc2U/LnN0YXR1cyA9PT0gNDAzIHx8XG4gICAgICAgICAgICAgIHJlc3BvbnNlRXJyb3I/LnN0YXR1cyA9PT0gNDAzIHx8XG4gICAgICAgICAgICAgIHJlc3BvbnNlRXJyb3I/Lm1lc3NhZ2U/LmluY2x1ZGVzKFwiWW91IGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byB2aWV3IGFnZW50c1wiKSB8fFxuICAgICAgICAgICAgICByZXNwb25zZUVycm9yPy5tZXNzYWdlPy5pbmNsdWRlcygnRmFpbGVkIGZldGNoaW5nIGRhdGEnKSAvLyBmZXRjaENPUiBsYW56YSBlc3RvIHBhcmEgNDAzIHNpbiAnQWNjZXNzIGRlbmllZCdcblxuICAgICAgICAgICAgaWYgKGlzNDAzRXJyb3IpIHtcbiAgICAgICAgICAgICAgLy8gU2kgZXMgNDAzLCBlc3RhYmxlY2VyIGFnZW50ZXMgdmFjw61vcyB5IGNvbnRpbnVhclxuICAgICAgICAgICAgICBzZXRBZ2VudHMoe1xuICAgICAgICAgICAgICAgIGRhdGE6IFtdLFxuICAgICAgICAgICAgICAgIGhhc19tb3JlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBuZXh0X29mZnNldDogbnVsbCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgc2V0RXJyb3IobnVsbClcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIC8vIFNpIGVzIG90cm8gZXJyb3IsIGxhbnphcmxvXG4gICAgICAgICAgICAgIHRocm93IHJlc3BvbnNlRXJyb3JcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBMw7NnaWNhIGRlIHNlbGVjdCBhZ2VudCAtIFNvbG8gc2VsZWNjaW9uYXIgc2kgaGF5IGFnZW50ZXMgZGlzcG9uaWJsZXNcbiAgICAgICAgaWYgKGFnZW50UGFyc2VkLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBpZiAoYWdlbnRUb1NlbGVjdCAmJiBhZ2VudFBhcnNlZC5maW5kKChhZ2VudFRvUmVxdWVzdDogQWdlbnQpID0+IGFnZW50VG9SZXF1ZXN0LmlkID09PSBhZ2VudFRvU2VsZWN0LmlkKSkge1xuICAgICAgICAgICAgaWYgKGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQ/LmlkICE9PSBhZ2VudFRvU2VsZWN0LmlkKSB7XG4gICAgICAgICAgICAgIGxhc3RTZWxlY3RlZEFnZW50UmVmLmN1cnJlbnQgPSBhZ2VudFRvU2VsZWN0XG4gICAgICAgICAgICAgIHNlbGVjdEFnZW50KGFnZW50VG9TZWxlY3QpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChhZ2VudFBhcnNlZD8uWzBdICYmICghYWdlbnQgfHwgIWFnZW50UGFyc2VkLmZpbmQoKGE6IEFnZW50KSA9PiBhLmlkID09PSBhZ2VudC5pZCkpKSB7XG4gICAgICAgICAgICBjb25zdCBhdmFpbGFibGVBZ2VudHMgPVxuICAgICAgICAgICAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTICYmICFjbG9uZUFnZW50c1JvbGVCbG9ja2VkXG4gICAgICAgICAgICAgICAgPyBhZ2VudFBhcnNlZFxuICAgICAgICAgICAgICAgIDogYWdlbnRQYXJzZWQuZmlsdGVyKChhZ2VudEl0ZW06IEFnZW50KSA9PiAhaXNNYWlhQWdlbnQoYWdlbnRJdGVtKSlcblxuICAgICAgICAgICAgY29uc3QgW2ZpcnN0QWdlbnRdID0gYXZhaWxhYmxlQWdlbnRzXG4gICAgICAgICAgICBpZiAoZmlyc3RBZ2VudCAmJiBsYXN0U2VsZWN0ZWRBZ2VudFJlZi5jdXJyZW50Py5pZCAhPT0gZmlyc3RBZ2VudC5pZCkge1xuICAgICAgICAgICAgICBsYXN0U2VsZWN0ZWRBZ2VudFJlZi5jdXJyZW50ID0gZmlyc3RBZ2VudFxuICAgICAgICAgICAgICBzZWxlY3RBZ2VudChmaXJzdEFnZW50KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoYWdlbnRUb1NlbGVjdCAmJiBhZ2VudFBhcnNlZD8ubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBhdmFpbGFibGVBZ2VudHMgPVxuICAgICAgICAgICAgICB3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTICYmICFjbG9uZUFnZW50c1JvbGVCbG9ja2VkXG4gICAgICAgICAgICAgICAgPyBhZ2VudFBhcnNlZFxuICAgICAgICAgICAgICAgIDogYWdlbnRQYXJzZWQuZmlsdGVyKChhZ2VudEl0ZW06IEFnZW50KSA9PiAhaXNNYWlhQWdlbnQoYWdlbnRJdGVtKSlcblxuICAgICAgICAgICAgY29uc3QgW2ZpcnN0QXZhaWxhYmxlQWdlbnRdID0gYXZhaWxhYmxlQWdlbnRzXG4gICAgICAgICAgICBpZiAoZmlyc3RBdmFpbGFibGVBZ2VudCAmJiBsYXN0U2VsZWN0ZWRBZ2VudFJlZi5jdXJyZW50Py5pZCAhPT0gZmlyc3RBdmFpbGFibGVBZ2VudC5pZCkge1xuICAgICAgICAgICAgICBsYXN0U2VsZWN0ZWRBZ2VudFJlZi5jdXJyZW50ID0gZmlyc3RBdmFpbGFibGVBZ2VudFxuICAgICAgICAgICAgICBzZWxlY3RBZ2VudChmaXJzdEF2YWlsYWJsZUFnZW50KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdBbiB1bmtub3duIGVycm9yIG9jY3VycmVkJylcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIGlzUmVmcmVzaGluZ1JlZi5jdXJyZW50ID0gZmFsc2VcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgaWYgKCFpc1JlZnJlc2hpbmdSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgbGFzdFJlcXVlc3RSZWYuY3VycmVudCA9IG51bGxcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDEwMClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZWxlY3RBZ2VudCwgc2VjdGlvbiwgYWdlbnQsIGxvYWRpbmddXG4gIClcblxuICBjb25zdCBzZWFyY2hDdXN0b21BZ2VudHMgPSB1c2VDYWxsYmFjayhhc3luYyAocXVlcnk6IHN0cmluZykgPT4ge1xuICAgIGlmICghcXVlcnkpIHtcbiAgICAgIGlmIChwcmVTZWFyY2hBZ2VudHNSZWYuY3VycmVudCkge1xuICAgICAgICBzZXRBZ2VudHMocHJlU2VhcmNoQWdlbnRzUmVmLmN1cnJlbnQpXG4gICAgICAgIHByZVNlYXJjaEFnZW50c1JlZi5jdXJyZW50ID0gbnVsbFxuICAgICAgfVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgaWYgKCFwcmVTZWFyY2hBZ2VudHNSZWYuY3VycmVudCkge1xuICAgICAgcHJlU2VhcmNoQWdlbnRzUmVmLmN1cnJlbnQgPSBhZ2VudHNSZWYuY3VycmVudFxuICAgIH1cblxuICAgIHNldFNlYXJjaExvYWRpbmcodHJ1ZSlcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgIHBhdGg6IGBhZ2VudHM/YWdlbnRfdHlwZT1jdXN0b20mbGltaXQ9MjAmb2Zmc2V0PTAmcT0ke2VuY29kZVVSSUNvbXBvbmVudChxdWVyeSl9YCxcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIH0pXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG5cbiAgICAgIHNldEFnZW50cyhwcmV2ID0+IHtcbiAgICAgICAgY29uc3QgY2xvbmVBZ2VudHMgPSBwcmV2LmRhdGEuZmlsdGVyKChhZzogQWdlbnQpID0+IGFnLnR5cGUgPT09ICdjbG9uZScpXG4gICAgICAgIGNvbnN0IGN1c3RvbVJlc3VsdHM6IEFnZW50W10gPSBkYXRhLmRhdGEgfHwgW11cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBkYXRhOiBjbG9uZUFnZW50cy5sZW5ndGggPyBbLi4uY2xvbmVBZ2VudHMsIC4uLmN1c3RvbVJlc3VsdHNdIDogY3VzdG9tUmVzdWx0cyxcbiAgICAgICAgICBoYXNfbW9yZTogZmFsc2UsXG4gICAgICAgICAgbmV4dF9vZmZzZXQ6IG51bGwsXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ3NuYWNrYmFyLmxvYWRNb3JlQWdlbnRzLmVycm9yJykpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldFNlYXJjaExvYWRpbmcoZmFsc2UpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBsb2FkTW9yZUFnZW50cyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBpc011bHRpQWdlbnRzID0gISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTICYmICEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFNcbiAgICAvLyBDYXJnYXIgbcOhczogZW4gaGVhZGVyIHNpZW1wcmU7IGVuIHByb2plY3Qgc29sbyBzaSBpc011bHRpQWdlbnRzIChwb3JxdWUgc29sbyBlbnRvbmNlcyBoYXkgcGFnaW5hY2nDs24gZGUgY3VzdG9tKVxuICAgIGNvbnN0IGNhbkxvYWRNb3JlID0gc2VjdGlvbiA9PT0gJ2hlYWRlcicgfHwgaXNNdWx0aUFnZW50c1xuICAgIGlmICghY2FuTG9hZE1vcmUgfHwgIWFnZW50cy5oYXNfbW9yZSB8fCAhYWdlbnRzLm5leHRfb2Zmc2V0IHx8IGxvYWRpbmdNb3JlKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBzZXRMb2FkaW5nTW9yZSh0cnVlKVxuICAgIHNldEVycm9yKG51bGwpXG5cbiAgICB0cnkge1xuICAgICAgbGV0IHBhdGg6IHN0cmluZ1xuXG4gICAgICAvLyBTaSBlcyBtdWx0aUFnZW50cywgc29sbyBjYXJnYXIgYWdlbnRzIGN1c3RvbSAoTWFpYSB5YSBlc3TDoSBjYXJnYWRvKVxuICAgICAgaWYgKGlzTXVsdGlBZ2VudHMpIHtcbiAgICAgICAgLy8gTWFudGVuZXIgY2FudGlkYWQgaW1wYXIgZGUgY2FyZHM6IHByaW1lcmEgY2FyZ2EgNywgc2lndWllbnRlcyArNiAoNywgMTMsIDE5LCAuLi4pXG4gICAgICAgIHBhdGggPSBgYWdlbnRzP2FnZW50X3R5cGU9Y3VzdG9tJmxpbWl0PTYmb2Zmc2V0PSR7YWdlbnRzLm5leHRfb2Zmc2V0fWBcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFNpIG5vIGVzIG11bHRpQWdlbnRzLCBjYXJnYXIgbcOhcyBhZ2VudGVzIG9ycXVlc3RhZG9yZXMgKE1BSUEpXG4gICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpXG4gICAgICAgIHF1ZXJ5UGFyYW1zLmFwcGVuZCgnYWdlbnRfdHlwZScsICdvcmNoZXN0cmF0b3InKVxuICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2xhbmcnLCBtYXBDT1JMYW5nKGkxOG4ubGFuZ3VhZ2UpKVxuICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ2xpbWl0JywgJzcnKVxuICAgICAgICBxdWVyeVBhcmFtcy5hcHBlbmQoJ29mZnNldCcsIGFnZW50cy5uZXh0X29mZnNldC50b1N0cmluZygpKVxuICAgICAgICBwYXRoID0gYGFnZW50cz8ke3F1ZXJ5UGFyYW1zLnRvU3RyaW5nKCl9YFxuICAgICAgfVxuXG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgIHBhdGgsXG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG5cbiAgICAgIC8vIEFjdW11bGFyIGFnZW50ZXMsIGV4Y2x1eWVuZG8gZHVwbGljYWRvc1xuICAgICAgc2V0QWdlbnRzKHByZXYgPT4ge1xuICAgICAgICBpZiAoaXNNdWx0aUFnZW50cykge1xuICAgICAgICAgIC8vIEzDs2dpY2EgcGFyYSBtdWx0aUFnZW50czogc2VwYXJhciBNQUlBIHkgY3VzdG9tXG4gICAgICAgICAgY29uc3QgZXhpc3RpbmdNYWlhQWdlbnRzID0gcHJldi5kYXRhLmZpbHRlcihpc01haWFBZ2VudClcblxuICAgICAgICAgIC8vIE9idGVuZXIgSURzIGV4aXN0ZW50ZXMgKGV4Y2x1eWVuZG8gTUFJQSlcbiAgICAgICAgICBjb25zdCBleGlzdGluZ0lkcyA9IG5ldyBTZXQocHJldi5kYXRhLmZpbHRlcigoYWc6IEFnZW50KSA9PiAhaXNNYWlhQWdlbnQoYWcpKS5tYXAoKGFnOiBBZ2VudCkgPT4gYWcuaWQpKVxuXG4gICAgICAgICAgLy8gRmlsdHJhciBudWV2b3MgYWdlbnRzIHF1ZSBubyBlc3TDqW4geWEgZW4gbGEgbGlzdGEgKGV4Y2x1eWVuZG8gTUFJQSB5IGNsb25lcyksIG5vcm1hbGl6YW5kbyBjdXN0b21cbiAgICAgICAgICBjb25zdCBuZXdBZ2VudHMgPSBub3JtYWxpemVDdXN0b21BZ2VudHNGcm9tQXBpKFxuICAgICAgICAgICAgZGF0YS5kYXRhLmZpbHRlcigoYWc6IEFnZW50KSA9PiAhaXNNYWlhQWdlbnQoYWcpICYmIGFnLnR5cGUgIT09ICdjbG9uZScgJiYgIWV4aXN0aW5nSWRzLmhhcyhhZy5pZCkpXG4gICAgICAgICAgKVxuXG4gICAgICAgICAgY29uc3QgbmV3RGF0YSA9IGV4aXN0aW5nTWFpYUFnZW50cy5sZW5ndGhcbiAgICAgICAgICAgID8gWy4uLmV4aXN0aW5nTWFpYUFnZW50cywgLi4ucHJldi5kYXRhLmZpbHRlcigoYWc6IEFnZW50KSA9PiAhaXNNYWlhQWdlbnQoYWcpKSwgLi4ubmV3QWdlbnRzXVxuICAgICAgICAgICAgOiBbLi4ucHJldi5kYXRhLmZpbHRlcigoYWc6IEFnZW50KSA9PiAhaXNNYWlhQWdlbnQoYWcpKSwgLi4ubmV3QWdlbnRzXVxuXG4gICAgICAgICAgLy8gT3JkZW5hcjogTWFpYSBwcmltZXJvLCBsdWVnbyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZSwgbHVlZ28gbm8gZmF2b3JpdG9zIGFsZmFiw6l0aWNhbWVudGVcbiAgICAgICAgICBjb25zdCBzb3J0ZWREYXRhID0gc29ydEFnZW50cyhuZXdEYXRhKVxuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRhdGE6IHNvcnRlZERhdGEsXG4gICAgICAgICAgICBoYXNfbW9yZTogZGF0YS5oYXNfbW9yZSxcbiAgICAgICAgICAgIG5leHRfb2Zmc2V0OiBkYXRhLm5leHRfb2Zmc2V0LFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBMw7NnaWNhIHBhcmEgIWlzTXVsdGlBZ2VudHM6IGFncmVnYXIgZXZpdGFuZG8gZHVwbGljYWRvc1xuICAgICAgICBjb25zdCBleGlzdGluZ0lkcyA9IG5ldyBTZXQocHJldi5kYXRhLm1hcCgoYWc6IEFnZW50KSA9PiBhZy5pZCkpXG4gICAgICAgIGNvbnN0IG5ld0FnZW50cyA9IChkYXRhLmRhdGEgfHwgW10pLmZpbHRlcigoYWc6IEFnZW50KSA9PiAhZXhpc3RpbmdJZHMuaGFzKGFnLmlkKSlcbiAgICAgICAgY29uc3QgbmV3RGF0YSA9IFsuLi5wcmV2LmRhdGEsIC4uLm5ld0FnZW50c11cblxuICAgICAgICAvLyBPcmRlbmFyOiBNYWlhIHByaW1lcm8sIGx1ZWdvIGZhdm9yaXRvcyBhbGZhYsOpdGljYW1lbnRlLCBsdWVnbyBubyBmYXZvcml0b3MgYWxmYWLDqXRpY2FtZW50ZVxuICAgICAgICBjb25zdCBzb3J0ZWREYXRhID0gc29ydEFnZW50cyhuZXdEYXRhKVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGF0YTogc29ydGVkRGF0YSxcbiAgICAgICAgICBoYXNfbW9yZTogZGF0YS5oYXNfbW9yZSxcbiAgICAgICAgICBuZXh0X29mZnNldDogZGF0YS5uZXh0X29mZnNldCxcbiAgICAgICAgfVxuICAgICAgfSlcblxuICAgICAgc2V0TG9hZGluZ01vcmUoZmFsc2UpXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ3NuYWNrYmFyLmxvYWRNb3JlQWdlbnRzLmVycm9yJykpXG4gICAgICBzZXRMb2FkaW5nTW9yZShmYWxzZSlcbiAgICB9XG4gIH0sIFtzZWN0aW9uLCBhZ2VudHMuaGFzX21vcmUsIGFnZW50cy5uZXh0X29mZnNldCwgbG9hZGluZ01vcmUsIGkxOG4ubGFuZ3VhZ2VdKVxuXG4gIHJldHVybiB7XG4gICAgYWdlbnRzLFxuICAgIGxvYWRpbmcsXG4gICAgbG9hZGluZ01vcmUsXG4gICAgZXJyb3IsXG4gICAgaGFuZGxlR2V0QWdlbnRzLFxuICAgIGxvYWRNb3JlQWdlbnRzLFxuICAgIHNlYXJjaEN1c3RvbUFnZW50cyxcbiAgICBzZWFyY2hMb2FkaW5nLFxuICAgIGFkZEFnZW50LFxuICAgIHJlbW92ZUFnZW50LFxuICAgIHVwZGF0ZUFnZW50LFxuICAgIHVwZGF0ZUFnZW50RmF2b3JpdGUsXG4gICAgc2VsZWN0Rmlyc3RBZ2VudCxcbiAgICBzb3J0QWdlbnRzTGlzdCxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBU0EsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQ3JELFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLGtCQUFrQixRQUFRLHNEQUFzRDtBQUN6RixTQUFTQyxTQUFTLFFBQVEsV0FBVztBQUNyQyxTQUFTQyx3QkFBd0IsUUFBUSx5Q0FBeUM7QUFFbEYsU0FBU0MsT0FBTyxRQUFRLDJCQUEyQjtBQUNuRCxTQUFTQyw0QkFBNEIsUUFBUSx3Q0FBd0M7QUFFckYsU0FBU0MsVUFBVSxRQUFRLHFCQUFxQjtBQUVoRCxJQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBV0EsQ0FBSUMsS0FBWTtFQUFBLE9BQUssQ0FBQUEsS0FBSyxhQUFMQSxLQUFLLHVCQUFMQSxLQUFLLENBQUVDLElBQUksTUFBSyxjQUFjO0FBQUE7QUFFcEUsSUFBTUMsMkJBQTJCLEdBQUcsU0FBOUJBLDJCQUEyQkEsQ0FBQTtFQUFBLE9BQVMsQ0FBQyxDQUFDQyxNQUFNLENBQUNDLHdCQUF3QjtBQUFBO0FBRTNFLElBQU1DLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBb0JBLENBQUlDLEdBQVksRUFBYztFQUFBLElBQUFDLGVBQUEsRUFBQUMsY0FBQSxFQUFBQyxlQUFBO0VBQ3RELElBQU1DLEtBQUssR0FBR0osR0FBNEU7RUFDMUYsT0FDRSxDQUFBSSxLQUFLLGFBQUxBLEtBQUssZ0JBQUFILGVBQUEsR0FBTEcsS0FBSyxDQUFFQyxRQUFRLGNBQUFKLGVBQUEsdUJBQWZBLGVBQUEsQ0FBaUJLLE1BQU0sTUFBSyxHQUFHLElBQy9CLENBQUFGLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFRSxNQUFNLE1BQUssR0FBRyxJQUNyQkMsT0FBTyxDQUFDSCxLQUFLLGFBQUxBLEtBQUssZ0JBQUFGLGNBQUEsR0FBTEUsS0FBSyxDQUFFSSxPQUFPLGNBQUFOLGNBQUEsdUJBQWRBLGNBQUEsQ0FBZ0JPLFFBQVEsQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDLElBQzdFRixPQUFPLENBQUNILEtBQUssYUFBTEEsS0FBSyxnQkFBQUQsZUFBQSxHQUFMQyxLQUFLLENBQUVJLE9BQU8sY0FBQUwsZUFBQSx1QkFBZEEsZUFBQSxDQUFnQk0sUUFBUSxDQUFDLHNCQUFzQixDQUFDLENBQUM7QUFFN0QsQ0FBQztBQUVELElBQU1DLDRCQUE0QixHQUFHLFNBQS9CQSw0QkFBNEJBLENBQUlDLElBQWEsRUFBRUMsS0FBYyxFQUFjO0VBQy9FLElBQU1DLEdBQUcsR0FBRyxJQUFJQyxHQUFHLENBQUNILElBQUksQ0FBQ0ksR0FBRyxDQUFDLFVBQUFyQixLQUFLO0lBQUEsT0FBSUEsS0FBSyxDQUFDc0IsRUFBRTtFQUFBLEVBQUMsQ0FBQztFQUNoRCxJQUFNQyxNQUFNLEdBQUFDLGtCQUFBLENBQU9QLElBQUksQ0FBQztFQUN4QkMsS0FBSyxDQUFDTyxPQUFPLENBQUMsVUFBQXpCLEtBQUssRUFBSTtJQUNyQixJQUFJLENBQUNtQixHQUFHLENBQUNPLEdBQUcsQ0FBQzFCLEtBQUssQ0FBQ3NCLEVBQUUsQ0FBQyxFQUFFQyxNQUFNLENBQUNJLElBQUksQ0FBQzNCLEtBQUssQ0FBQztFQUM1QyxDQUFDLENBQUM7RUFDRixPQUFPdUIsTUFBTTtBQUNmLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0EsSUFBTUssVUFBVSxHQUFHLFNBQWJBLFVBQVVBLENBQUlDLE1BQWUsRUFBYztFQUMvQyxJQUFNQyxVQUFVLEdBQUdELE1BQU0sQ0FBQ0UsTUFBTSxDQUFDaEMsV0FBVyxDQUFDO0VBQzdDLElBQU1pQyxXQUFXLEdBQUdILE1BQU0sQ0FBQ0UsTUFBTSxDQUFDLFVBQUFFLEVBQUU7SUFBQSxPQUFJLENBQUNsQyxXQUFXLENBQUNrQyxFQUFFLENBQUM7RUFBQSxFQUFDOztFQUV6RDtFQUNBLElBQU1DLFNBQVMsR0FBR0YsV0FBVyxDQUFDRCxNQUFNLENBQUMsVUFBQUUsRUFBRTtJQUFBLE9BQUlBLEVBQUUsQ0FBQ0UsV0FBVztFQUFBLEVBQUMsQ0FBQ0MsSUFBSSxDQUFDLFVBQUNDLENBQUMsRUFBRUMsQ0FBQztJQUFBLE9BQUtELENBQUMsQ0FBQ0UsSUFBSSxDQUFDQyxhQUFhLENBQUNGLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO0VBQUEsRUFBQztFQUN2RyxJQUFNRSxZQUFZLEdBQUdULFdBQVcsQ0FBQ0QsTUFBTSxDQUFDLFVBQUFFLEVBQUU7SUFBQSxPQUFJLENBQUNBLEVBQUUsQ0FBQ0UsV0FBVztFQUFBLEVBQUMsQ0FBQ0MsSUFBSSxDQUFDLFVBQUNDLENBQUMsRUFBRUMsQ0FBQztJQUFBLE9BQUtELENBQUMsQ0FBQ0UsSUFBSSxDQUFDQyxhQUFhLENBQUNGLENBQUMsQ0FBQ0MsSUFBSSxDQUFDO0VBQUEsRUFBQztFQUUzRyxPQUFPVCxVQUFVLENBQUNZLE1BQU0sTUFBQUMsTUFBQSxDQUFBbkIsa0JBQUEsQ0FBT00sVUFBVSxHQUFBTixrQkFBQSxDQUFLVSxTQUFTLEdBQUFWLGtCQUFBLENBQUtpQixZQUFZLFFBQUFFLE1BQUEsQ0FBQW5CLGtCQUFBLENBQVFVLFNBQVMsR0FBQVYsa0JBQUEsQ0FBS2lCLFlBQVksRUFBQztBQUM3RyxDQUFDO0FBRUQsSUFBTUcsNEJBQTRCLEdBQUcsU0FBL0JBLDRCQUE0QkEsQ0FBSWYsTUFBZTtFQUFBLE9BQ25EQSxNQUFNLENBQUNSLEdBQUcsQ0FBQyxVQUFBckIsS0FBSztJQUFBLE9BQUtBLEtBQUssQ0FBQ0MsSUFBSSxLQUFLLFFBQVEsR0FBR04sd0JBQXdCLENBQUNLLEtBQUssQ0FBQyxHQUFHQSxLQUFLO0VBQUEsQ0FBQyxDQUFDO0FBQUE7QUFjMUYsT0FBTyxJQUFNNkMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUFDLElBQUEsRUFBeUU7RUFBQSxJQUFuRUMsV0FBVyxHQUFBRCxJQUFBLENBQVhDLFdBQVc7SUFBRUMsT0FBTyxHQUFBRixJQUFBLENBQVBFLE9BQU87SUFBRWhELEtBQUssR0FBQThDLElBQUEsQ0FBTDlDLEtBQUs7SUFBRWlELFlBQVksR0FBQUgsSUFBQSxDQUFaRyxZQUFZO0VBQ3RFLElBQU1DLElBQUksR0FBR3RELE9BQU8sQ0FBQyxDQUFDO0VBQ3RCLElBQUF1RCxTQUFBLEdBQTRCOUQsUUFBUSxDQUFxRTtNQUFFK0QsSUFBSSxFQUFFO0lBQUcsQ0FBQyxDQUFDO0lBQUFDLFVBQUEsR0FBQUMsY0FBQSxDQUFBSCxTQUFBO0lBQS9HdEIsTUFBTSxHQUFBd0IsVUFBQTtJQUFFRSxTQUFTLEdBQUFGLFVBQUE7RUFDeEIsSUFBQUcsVUFBQSxHQUE4Qm5FLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQW9FLFVBQUEsR0FBQUgsY0FBQSxDQUFBRSxVQUFBO0lBQXRDRSxPQUFPLEdBQUFELFVBQUE7SUFBRUUsVUFBVSxHQUFBRixVQUFBO0VBQzFCLElBQUFHLFVBQUEsR0FBc0N2RSxRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUF3RSxVQUFBLEdBQUFQLGNBQUEsQ0FBQU0sVUFBQTtJQUE5Q0UsV0FBVyxHQUFBRCxVQUFBO0lBQUVFLGNBQWMsR0FBQUYsVUFBQTtFQUNsQyxJQUFBRyxVQUFBLEdBQTBDM0UsUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBNEUsVUFBQSxHQUFBWCxjQUFBLENBQUFVLFVBQUE7SUFBbERFLGFBQWEsR0FBQUQsVUFBQTtJQUFFRSxnQkFBZ0IsR0FBQUYsVUFBQTtFQUN0QyxJQUFBRyxVQUFBLEdBQTBCL0UsUUFBUSxDQUFnQixJQUFJLENBQUM7SUFBQWdGLFVBQUEsR0FBQWYsY0FBQSxDQUFBYyxVQUFBO0lBQWhEMUQsS0FBSyxHQUFBMkQsVUFBQTtJQUFFQyxRQUFRLEdBQUFELFVBQUE7RUFDdEIsSUFBQUUsbUJBQUEsR0FBZ0M5RSxrQkFBa0IsQ0FBQyxDQUFDO0lBQTVDK0UsbUJBQW1CLEdBQUFELG1CQUFBLENBQW5CQyxtQkFBbUI7RUFDM0IsSUFBQUMsZUFBQSxHQUFvQmpGLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQztJQUE3Q2tGLENBQUMsR0FBQUQsZUFBQSxDQUFEQyxDQUFDO0lBQUVDLElBQUksR0FBQUYsZUFBQSxDQUFKRSxJQUFJO0VBQ2YsSUFBTUMsb0JBQW9CLEdBQUdyRixNQUFNLENBQWUsSUFBSSxDQUFDO0VBQ3ZELElBQU1zRixlQUFlLEdBQUd0RixNQUFNLENBQUMsS0FBSyxDQUFDO0VBQ3JDLElBQU11RixjQUFjLEdBQUd2RixNQUFNLENBQWdCLElBQUksQ0FBQztFQUNsRCxJQUFNd0YsU0FBUyxHQUFHeEYsTUFBTSxDQUFDc0MsTUFBTSxDQUFDO0VBQ2hDLElBQU1tRCxrQkFBa0IsR0FBR3pGLE1BQU0sQ0FBNEUsSUFBSSxDQUFDO0VBRWxId0YsU0FBUyxDQUFDRSxPQUFPLEdBQUdwRCxNQUFNO0VBRTFCLElBQU1xRCxRQUFRLEdBQUc1RixXQUFXLENBQzFCLFVBQUM2RixRQUFlLEVBQUVDLE9BQXlCLEVBQUs7SUFDOUM3QixTQUFTLENBQUMsVUFBQThCLElBQUksRUFBSTtNQUNoQjtNQUNBLElBQU1DLFdBQVcsR0FBR0QsSUFBSSxDQUFDakMsSUFBSSxDQUFDbUMsSUFBSSxDQUFDLFVBQUFDLGFBQWE7UUFBQSxPQUFJQSxhQUFhLENBQUNsRSxFQUFFLEtBQUs2RCxRQUFRLENBQUM3RCxFQUFFO01BQUEsRUFBQztNQUNyRixJQUFJZ0UsV0FBVyxFQUFFO1FBQ2YsT0FBT0QsSUFBSTtNQUNiO01BQ0EsSUFBTUksT0FBTyxNQUFBOUMsTUFBQSxDQUFBbkIsa0JBQUEsQ0FBTzZELElBQUksQ0FBQ2pDLElBQUksSUFBRStCLFFBQVEsRUFBQztNQUN4QyxJQUFNTyxVQUFVLEdBQUc5RCxVQUFVLENBQUM2RCxPQUFPLENBQUM7TUFDdEMsT0FBQUUsYUFBQSxDQUFBQSxhQUFBLEtBQ0tOLElBQUk7UUFDUGpDLElBQUksRUFBRXNDO01BQVU7SUFFcEIsQ0FBQyxDQUFDO0lBQ0YsSUFBSSxDQUFBTixPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRVEsWUFBWSxNQUFLLEtBQUssRUFBRTtNQUNuQzNDLFlBQVksQ0FBQyxDQUFDO0lBQ2hCO0VBQ0YsQ0FBQyxFQUNELENBQUNBLFlBQVksQ0FDZixDQUFDO0VBRUQsSUFBTTRDLFdBQVcsR0FBR3ZHLFdBQVcsQ0FBQyxVQUFDd0csT0FBd0IsRUFBSztJQUM1RHZDLFNBQVMsQ0FBQyxVQUFBOEIsSUFBSTtNQUFBLE9BQUFNLGFBQUEsQ0FBQUEsYUFBQSxLQUNUTixJQUFJO1FBQ1BqQyxJQUFJLEVBQUVpQyxJQUFJLENBQUNqQyxJQUFJLENBQUNyQixNQUFNLENBQUMsVUFBQU0sQ0FBQztVQUFBLE9BQUlBLENBQUMsQ0FBQ2YsRUFBRSxLQUFLd0UsT0FBTyxDQUFDQyxRQUFRLENBQUMsQ0FBQztRQUFBO01BQUM7SUFBQSxDQUN4RCxDQUFDO0VBQ0wsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLElBQU1DLFdBQVcsR0FBRzFHLFdBQVcsQ0FBQyxVQUFDMkcsWUFBbUIsRUFBSztJQUN2RDFDLFNBQVMsQ0FBQyxVQUFBOEIsSUFBSSxFQUFJO01BQ2hCLElBQU1hLFdBQVcsR0FBR2IsSUFBSSxDQUFDakMsSUFBSSxDQUFDL0IsR0FBRyxDQUFDLFVBQUFtRSxhQUFhO1FBQUEsT0FDN0NBLGFBQWEsQ0FBQ2xFLEVBQUUsS0FBSzJFLFlBQVksQ0FBQzNFLEVBQUUsR0FBRzJFLFlBQVksR0FBR1QsYUFBYTtNQUFBLENBQ3JFLENBQUM7TUFDRCxJQUFNRSxVQUFVLEdBQUc5RCxVQUFVLENBQUNzRSxXQUFXLENBQUM7TUFDMUMsT0FBQVAsYUFBQSxDQUFBQSxhQUFBLEtBQ0tOLElBQUk7UUFDUGpDLElBQUksRUFBRXNDO01BQVU7SUFFcEIsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLElBQU1TLG1CQUFtQixHQUFHN0csV0FBVyxDQUNyQyxVQUFDMkcsWUFBbUIsRUFBa0M7SUFBQSxJQUFoQ0csVUFBbUIsR0FBQUMsU0FBQSxDQUFBM0QsTUFBQSxRQUFBMkQsU0FBQSxRQUFBQyxTQUFBLEdBQUFELFNBQUEsTUFBRyxLQUFLO0lBQy9DOUMsU0FBUyxDQUFDLFVBQUE4QixJQUFJLEVBQUk7TUFDaEIsSUFBTWEsV0FBVyxHQUFHYixJQUFJLENBQUNqQyxJQUFJLENBQUMvQixHQUFHLENBQUMsVUFBQW1FLGFBQWEsRUFBSTtRQUNqRCxJQUFJQSxhQUFhLENBQUNsRSxFQUFFLEtBQUsyRSxZQUFZLENBQUMzRSxFQUFFLEVBQUU7VUFDeEMsSUFBQWlGLEtBQUEsR0FBb0NOLFlBQVk7WUFBeENuRixPQUFPLEdBQUF5RixLQUFBLENBQVB6RixPQUFPO1lBQUswRixXQUFXLEdBQUFDLHdCQUFBLENBQUFGLEtBQUEsRUFBQUcsU0FBQTtVQUMvQixJQUFNQyxXQUFXLEdBQUFoQixhQUFBLENBQUFBLGFBQUEsS0FBUUgsYUFBYSxHQUFLZ0IsV0FBVyxDQUFFO1VBQ3hELE9BQU9HLFdBQVc7UUFDcEI7UUFDQSxPQUFPbkIsYUFBYTtNQUN0QixDQUFDLENBQUM7O01BRUY7TUFDQSxJQUFNb0IsU0FBUyxHQUFHUixVQUFVLEdBQUd4RSxVQUFVLENBQUNzRSxXQUFXLENBQUMsR0FBR0EsV0FBVztNQUVwRSxPQUFBUCxhQUFBLENBQUFBLGFBQUEsS0FDS04sSUFBSTtRQUNQakMsSUFBSSxFQUFFd0Q7TUFBUztJQUVuQixDQUFDLENBQUM7O0lBRUY7SUFDQSxJQUFJLENBQUE1RyxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRXNCLEVBQUUsTUFBSzJFLFlBQVksQ0FBQzNFLEVBQUUsRUFBRTtNQUNqQyxJQUFNa0UsYUFBYSxHQUFHM0QsTUFBTSxDQUFDdUIsSUFBSSxDQUFDeUQsSUFBSSxDQUFDLFVBQUF4RSxDQUFDO1FBQUEsT0FBSUEsQ0FBQyxDQUFDZixFQUFFLEtBQUsyRSxZQUFZLENBQUMzRSxFQUFFO01BQUEsRUFBQztNQUNyRSxJQUFJa0UsYUFBYSxFQUFFO1FBQ2pCLElBQUFzQixLQUFBLEdBQW9DYixZQUFZO1VBQXhDbkYsT0FBTyxHQUFBZ0csS0FBQSxDQUFQaEcsT0FBTztVQUFLMEYsV0FBVyxHQUFBQyx3QkFBQSxDQUFBSyxLQUFBLEVBQUFDLFVBQUE7UUFDL0IsSUFBTUosV0FBVyxHQUFBaEIsYUFBQSxDQUFBQSxhQUFBLEtBQVFILGFBQWEsR0FBS2dCLFdBQVcsQ0FBRTtRQUN4RHpELFdBQVcsQ0FBQzRELFdBQVcsQ0FBQztNQUMxQixDQUFDLE1BQU07UUFDTCxJQUFBSyxLQUFBLEdBQW9DZixZQUFZO1VBQXhDbkYsUUFBTyxHQUFBa0csS0FBQSxDQUFQbEcsT0FBTztVQUFLMEYsWUFBVyxHQUFBQyx3QkFBQSxDQUFBTyxLQUFBLEVBQUFDLFVBQUE7UUFDL0JsRSxXQUFXLENBQUN5RCxZQUFvQixDQUFDO01BQ25DO0lBQ0Y7RUFDRixDQUFDLEVBQ0QsQ0FBQ3hHLEtBQUssRUFBRStDLFdBQVcsRUFBRWxCLE1BQU0sQ0FBQ3VCLElBQUksQ0FDbEMsQ0FBQztFQUVELElBQU04RCxjQUFjLEdBQUc1SCxXQUFXLENBQUMsWUFBTTtJQUN2Q2lFLFNBQVMsQ0FBQyxVQUFBOEIsSUFBSSxFQUFJO01BQ2hCLElBQU1LLFVBQVUsR0FBRzlELFVBQVUsQ0FBQ3lELElBQUksQ0FBQ2pDLElBQUksQ0FBQztNQUN4QyxPQUFBdUMsYUFBQSxDQUFBQSxhQUFBLEtBQ0tOLElBQUk7UUFDUGpDLElBQUksRUFBRXNDO01BQVU7SUFFcEIsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLElBQU15QixnQkFBZ0IsR0FBRzdILFdBQVcsQ0FDbEMsVUFBQ3dHLE9BQWdCLEVBQUs7SUFDcEIsSUFBSWpFLE1BQU0sQ0FBQ3VCLElBQUksQ0FBQ1YsTUFBTSxFQUFFO01BQ3RCLElBQU0wRSxVQUFVLEdBQUd2RixNQUFNLENBQUN1QixJQUFJLENBQUNpRSxTQUFTLENBQUMsVUFBQUMsU0FBUztRQUFBLE9BQUlBLFNBQVMsQ0FBQ2hHLEVBQUUsS0FBS3dFLE9BQU87TUFBQSxFQUFDO01BQy9FbEIsb0JBQW9CLENBQUNLLE9BQU8sR0FBR3BELE1BQU0sQ0FBQ3VCLElBQUksQ0FBQ2dFLFVBQVUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztNQUNwRXJFLFdBQVcsQ0FBQ2xCLE1BQU0sQ0FBQ3VCLElBQUksQ0FBQ2dFLFVBQVUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3BEO0VBQ0YsQ0FBQyxFQUNELENBQUN2RixNQUFNLENBQUN1QixJQUFJLEVBQUVMLFdBQVcsQ0FDM0IsQ0FBQztFQUVELElBQU13RSxlQUFlLEdBQUdqSSxXQUFXO0lBQUEsSUFBQWtJLEtBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUNqQyxTQUFBQyxTQUFPQyxhQUFxQjtNQUFBLElBQUFDLGlCQUFBO01BQUEsSUFBQUMsVUFBQSxFQUFBQyxhQUFBLEVBQUFDLFdBQUEsRUFBQUMsT0FBQSxFQUFBQyxVQUFBLEVBQUFDLHNCQUFBLEVBQUFDLG1CQUFBLEVBQUFDLHNCQUFBLEVBQUFDLFlBQUEsRUFBQUMsYUFBQSxFQUFBQyxnQkFBQSxFQUFBQyxLQUFBLEVBQUE1RyxVQUFBLEVBQUE2RyxlQUFBLEVBQUFDLGdCQUFBLEVBQUFDLFdBQUEsRUFBQUMsV0FBQSxFQUFBQyxJQUFBLEVBQUFwSSxRQUFBLEVBQUF5QyxJQUFBLEVBQUE0RixpQkFBQSxFQUFBQyxxQkFBQSxFQUFBQyxxQkFBQSxFQUFBQyxzQkFBQSxFQUFBQyxVQUFBLEVBQUFDLFlBQUEsRUFBQUMsYUFBQSxFQUFBQyxxQkFBQSxFQUFBQyxzQkFBQSxFQUFBQyxlQUFBLEVBQUFDLGdCQUFBLEVBQUF0QyxVQUFBLEVBQUF1QyxzQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxtQkFBQSxFQUFBQyxHQUFBLEVBQUFDLEdBQUE7TUFBQSxPQUFBdEMsbUJBQUEsQ0FBQXVDLElBQUEsV0FBQUMsU0FBQTtRQUFBLGtCQUFBQSxTQUFBLENBQUE3RSxJQUFBLEdBQUE2RSxTQUFBLENBQUFDLElBQUE7VUFBQTtZQUFBLEtBQ3RCdEYsZUFBZSxDQUFDSSxPQUFPO2NBQUFpRixTQUFBLENBQUFDLElBQUE7Y0FBQTtZQUFBO1lBQUEsT0FBQUQsU0FBQSxDQUFBRSxNQUFBO1VBQUE7WUFJckJyQyxVQUFVLEdBQUcsQ0FBQUYsYUFBYSxhQUFiQSxhQUFhLGdCQUFBQyxpQkFBQSxHQUFiRCxhQUFhLENBQUV2RyxFQUFFLGNBQUF3RyxpQkFBQSx1QkFBakJBLGlCQUFBLENBQW1CL0IsUUFBUSxDQUFDLENBQUMsS0FBSSxTQUFTO1lBQUEsTUFDekRqQixjQUFjLENBQUNHLE9BQU8sS0FBSzhDLFVBQVUsSUFBSSxDQUFDckUsT0FBTztjQUFBd0csU0FBQSxDQUFBQyxJQUFBO2NBQUE7WUFBQTtZQUFBLE9BQUFELFNBQUEsQ0FBQUUsTUFBQTtVQUFBO1lBSXJEdkYsZUFBZSxDQUFDSSxPQUFPLEdBQUcsSUFBSTtZQUM5QkgsY0FBYyxDQUFDRyxPQUFPLEdBQUc4QyxVQUFVO1lBQ25DcEUsVUFBVSxDQUFDLElBQUksQ0FBQztZQUNoQlcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUVSMEQsYUFBYSxHQUFHLENBQUMsQ0FBQzdILE1BQU0sQ0FBQ2tLLDJCQUEyQixJQUFJLENBQUMsQ0FBQ2xLLE1BQU0sQ0FBQ21LLHdDQUF3QztZQUFBSixTQUFBLENBQUE3RSxJQUFBO1lBR3pHNEMsV0FBb0IsR0FBRyxFQUFFO1lBQ3pCQyxPQUFPLEdBQUcsS0FBSztZQUNmQyxVQUF5QixHQUFHLElBQUk7WUFDOUJDLHNCQUFzQixHQUFHdkksNEJBQTRCLENBQUNxRCxJQUFJLEVBQUVGLE9BQU8sQ0FBQztZQUNwRXFGLG1CQUFtQixHQUFHLENBQUNELHNCQUFzQjtZQUU3Q0Usc0JBQXNCO2NBQUEsSUFBQWlDLEtBQUEsR0FBQTlDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRyxTQUFBNkMsUUFBQTtnQkFBQSxJQUFBQyxhQUFBLEVBQUFDLFNBQUEsRUFBQUMsRUFBQTtnQkFBQSxPQUFBakQsbUJBQUEsQ0FBQXVDLElBQUEsV0FBQVcsUUFBQTtrQkFBQSxrQkFBQUEsUUFBQSxDQUFBdkYsSUFBQSxHQUFBdUYsUUFBQSxDQUFBVCxJQUFBO29CQUFBO3NCQUFBLE1BQ3pCLENBQUNqSywyQkFBMkIsQ0FBQyxDQUFDLElBQUksQ0FBQ21JLG1CQUFtQjt3QkFBQXVDLFFBQUEsQ0FBQVQsSUFBQTt3QkFBQTtzQkFBQTtzQkFBQSxPQUFBUyxRQUFBLENBQUFSLE1BQUEsV0FBUyxFQUFFO29CQUFBO3NCQUFBUSxRQUFBLENBQUF2RixJQUFBO3NCQUFBdUYsUUFBQSxDQUFBVCxJQUFBO3NCQUFBLE9BRXZDekssU0FBUyxDQUFDO3dCQUNwQ3FKLElBQUksZ0RBQUFwRyxNQUFBLENBQWdEN0MsVUFBVSxDQUFDNkUsSUFBSSxDQUFDa0csUUFBUSxDQUFDLENBQUU7d0JBQy9FQyxNQUFNLEVBQUU7c0JBQ1YsQ0FBQyxDQUFDO29CQUFBO3NCQUhJTCxhQUFhLEdBQUFHLFFBQUEsQ0FBQUcsSUFBQTtzQkFBQUgsUUFBQSxDQUFBVCxJQUFBO3NCQUFBLE9BSUtNLGFBQWEsQ0FBQ08sSUFBSSxDQUFDLENBQUM7b0JBQUE7c0JBQXRDTixTQUFTLEdBQUFFLFFBQUEsQ0FBQUcsSUFBQTtzQkFBQSxPQUFBSCxRQUFBLENBQUFSLE1BQUEsV0FDUixDQUFDTSxTQUFTLENBQUN0SCxJQUFJLElBQUksRUFBRSxFQUFFckIsTUFBTSxDQUFDLFVBQUNFLEVBQVM7d0JBQUEsT0FBS0EsRUFBRSxDQUFDaEMsSUFBSSxLQUFLLE9BQU87c0JBQUEsRUFBQztvQkFBQTtzQkFBQTJLLFFBQUEsQ0FBQXZGLElBQUE7c0JBQUFzRixFQUFBLEdBQUFDLFFBQUE7c0JBQUEsS0FFcEV2SyxvQkFBb0IsQ0FBQXNLLEVBQVcsQ0FBQzt3QkFBQUMsUUFBQSxDQUFBVCxJQUFBO3dCQUFBO3NCQUFBO3NCQUFBLE9BQUFTLFFBQUEsQ0FBQVIsTUFBQSxXQUFTLEVBQUU7b0JBQUE7c0JBQUEsTUFBQU8sRUFBQTtvQkFBQTtvQkFBQTtzQkFBQSxPQUFBQyxRQUFBLENBQUFLLElBQUE7a0JBQUE7Z0JBQUEsR0FBQVQsT0FBQTtjQUFBLENBR2xEO2NBQUEsZ0JBYktsQyxzQkFBc0JBLENBQUE7Z0JBQUEsT0FBQWlDLEtBQUEsQ0FBQVcsS0FBQSxPQUFBN0UsU0FBQTtjQUFBO1lBQUEsS0FlNUI7WUFBQSxLQUNJMkIsYUFBYTtjQUFBa0MsU0FBQSxDQUFBQyxJQUFBO2NBQUE7WUFBQTtZQUNmO1lBQ0k1QixZQUFxQixHQUFHLEVBQUU7WUFDMUJDLGFBQWEsR0FBRyxLQUFLO1lBQ3JCQyxnQkFBK0IsR0FBRyxJQUFJO1lBRXBDQyxLQUFLLEdBQUdySSxvQkFBb0I7WUFFOUJ5QixVQUFtQixHQUFHLEVBQUU7WUFFdEI2RyxlQUFlO2NBQUEsSUFBQXdDLEtBQUEsR0FBQTFELGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRyxTQUFBeUQsU0FBQTtnQkFBQSxJQUFBQyxjQUFBLEVBQUFDLFlBQUEsRUFBQUMsUUFBQSxFQUFBdkMsaUJBQUEsRUFBQXdDLEdBQUE7Z0JBQUEsT0FBQTlELG1CQUFBLENBQUF1QyxJQUFBLFdBQUF3QixTQUFBO2tCQUFBLGtCQUFBQSxTQUFBLENBQUFwRyxJQUFBLEdBQUFvRyxTQUFBLENBQUF0QixJQUFBO29CQUFBO3NCQUFBLElBQ2pCOUIsbUJBQW1CO3dCQUFBb0QsU0FBQSxDQUFBdEIsSUFBQTt3QkFBQTtzQkFBQTtzQkFBQSxPQUFBc0IsU0FBQSxDQUFBckIsTUFBQTtvQkFBQTtzQkFBQXFCLFNBQUEsQ0FBQXBHLElBQUE7c0JBQUFvRyxTQUFBLENBQUF0QixJQUFBO3NCQUFBLE9BRUt6SyxTQUFTLENBQUM7d0JBQ25DcUosSUFBSSx5Q0FBQXBHLE1BQUEsQ0FBeUM3QyxVQUFVLENBQUM2RSxJQUFJLENBQUNrRyxRQUFRLENBQUMsQ0FBRTt3QkFDeEVDLE1BQU0sRUFBRTtzQkFDVixDQUFDLENBQUM7b0JBQUE7c0JBSElRLFlBQVksR0FBQUcsU0FBQSxDQUFBVixJQUFBO3NCQUFBVSxTQUFBLENBQUF0QixJQUFBO3NCQUFBLE9BSUttQixZQUFZLENBQUNOLElBQUksQ0FBQyxDQUFDO29CQUFBO3NCQUFwQ08sUUFBUSxHQUFBRSxTQUFBLENBQUFWLElBQUE7c0JBQ2RqSixVQUFVLEdBQUcsRUFBQXVKLGNBQUEsR0FBQUUsUUFBUSxDQUFDbkksSUFBSSxjQUFBaUksY0FBQSx1QkFBYkEsY0FBQSxDQUFldEosTUFBTSxDQUFDaEMsV0FBVyxDQUFDLEtBQUksRUFBRTtzQkFBQTBMLFNBQUEsQ0FBQXRCLElBQUE7c0JBQUEsT0FDckI3QixzQkFBc0IsQ0FBQyxDQUFDO29CQUFBO3NCQUFsRFUsaUJBQWlCLEdBQUF5QyxTQUFBLENBQUFWLElBQUE7c0JBQ3ZCakosVUFBVSxHQUFHZCw0QkFBNEIsQ0FBQ2MsVUFBVSxFQUFFa0gsaUJBQWlCLENBQUM7c0JBQUF5QyxTQUFBLENBQUF0QixJQUFBO3NCQUFBO29CQUFBO3NCQUFBc0IsU0FBQSxDQUFBcEcsSUFBQTtzQkFBQW1HLEdBQUEsR0FBQUMsU0FBQTtzQkFBQSxJQUduRS9DLEtBQUssQ0FBQThDLEdBQVUsQ0FBQzt3QkFBQUMsU0FBQSxDQUFBdEIsSUFBQTt3QkFBQTtzQkFBQTtzQkFBQSxNQUFBcUIsR0FBQTtvQkFBQTtvQkFBQTtzQkFBQSxPQUFBQyxTQUFBLENBQUFSLElBQUE7a0JBQUE7Z0JBQUEsR0FBQUcsUUFBQTtjQUFBLENBRXhCO2NBQUEsZ0JBZkt6QyxlQUFlQSxDQUFBO2dCQUFBLE9BQUF3QyxLQUFBLENBQUFELEtBQUEsT0FBQTdFLFNBQUE7Y0FBQTtZQUFBO1lBaUJmdUMsZ0JBQWdCO2NBQUEsSUFBQThDLEtBQUEsR0FBQWpFLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRyxTQUFBZ0UsU0FBQTtnQkFBQSxJQUFBQyxjQUFBLEVBQUFDLFVBQUEsRUFBQUMsR0FBQTtnQkFBQSxPQUFBcEUsbUJBQUEsQ0FBQXVDLElBQUEsV0FBQThCLFNBQUE7a0JBQUEsa0JBQUFBLFNBQUEsQ0FBQTFHLElBQUEsR0FBQTBHLFNBQUEsQ0FBQTVCLElBQUE7b0JBQUE7c0JBQUE0QixTQUFBLENBQUExRyxJQUFBO3NCQUFBMEcsU0FBQSxDQUFBNUIsSUFBQTtzQkFBQSxPQUVRekssU0FBUyxDQUFDO3dCQUNyQ3FKLElBQUksRUFBRSwyQ0FBMkM7d0JBQ2pEK0IsTUFBTSxFQUFFO3NCQUNWLENBQUMsQ0FBQztvQkFBQTtzQkFISWMsY0FBYyxHQUFBRyxTQUFBLENBQUFoQixJQUFBO3NCQUFBZ0IsU0FBQSxDQUFBNUIsSUFBQTtzQkFBQSxPQUlLeUIsY0FBYyxDQUFDWixJQUFJLENBQUMsQ0FBQztvQkFBQTtzQkFBeENhLFVBQVUsR0FBQUUsU0FBQSxDQUFBaEIsSUFBQTtzQkFDaEJ4QyxZQUFZLEdBQUczRiw0QkFBNEIsQ0FBQ2lKLFVBQVUsQ0FBQ3pJLElBQUksSUFBSSxFQUFFLENBQUM7c0JBQ2xFb0YsYUFBYSxHQUFHcUQsVUFBVSxDQUFDRyxRQUFRLElBQUksS0FBSztzQkFDNUN2RCxnQkFBZ0IsR0FBR29ELFVBQVUsQ0FBQ0ksV0FBVyxJQUFJLElBQUk7c0JBQUFGLFNBQUEsQ0FBQTVCLElBQUE7c0JBQUE7b0JBQUE7c0JBQUE0QixTQUFBLENBQUExRyxJQUFBO3NCQUFBeUcsR0FBQSxHQUFBQyxTQUFBO3NCQUFBLElBRzVDckQsS0FBSyxDQUFBb0QsR0FBWSxDQUFDO3dCQUFBQyxTQUFBLENBQUE1QixJQUFBO3dCQUFBO3NCQUFBO3NCQUFBLE1BQUEyQixHQUFBO29CQUFBO29CQUFBO3NCQUFBLE9BQUFDLFNBQUEsQ0FBQWQsSUFBQTtrQkFBQTtnQkFBQSxHQUFBVSxRQUFBO2NBQUEsQ0FFMUI7Y0FBQSxnQkFkSy9DLGdCQUFnQkEsQ0FBQTtnQkFBQSxPQUFBOEMsS0FBQSxDQUFBUixLQUFBLE9BQUE3RSxTQUFBO2NBQUE7WUFBQTtZQUFBNkQsU0FBQSxDQUFBQyxJQUFBO1lBQUEsT0FnQmhCK0IsT0FBTyxDQUFDQyxHQUFHLENBQUMsQ0FBQ3hELGVBQWUsQ0FBQyxDQUFDLEVBQUVDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1VBQUE7WUFFMUQ7WUFDQTtZQUNBLElBQUksQ0FBQ1AsbUJBQW1CLEVBQUU7Y0FDeEI7Y0FDQTtjQUNBSixXQUFXLEdBQUdNLFlBQVk7WUFDNUIsQ0FBQyxNQUFNO2NBQ0xOLFdBQVcsR0FBR25HLFVBQVUsQ0FBQ1ksTUFBTSxNQUFBQyxNQUFBLENBQUFuQixrQkFBQSxDQUFPTSxVQUFVLEdBQUFOLGtCQUFBLENBQUsrRyxZQUFZLEtBQUlBLFlBQVk7WUFDbkY7WUFDQTtZQUNBTixXQUFXLEdBQUdyRyxVQUFVLENBQUNxRyxXQUFXLENBQUM7WUFDckNDLE9BQU8sR0FBR00sYUFBYTtZQUN2QkwsVUFBVSxHQUFHTSxnQkFBZ0I7WUFFN0JsRixTQUFTLENBQUM7Y0FDUkgsSUFBSSxFQUFFNkUsV0FBVztjQUNqQitELFFBQVEsRUFBRTlELE9BQU87Y0FDakIrRCxXQUFXLEVBQUU5RDtZQUNmLENBQUMsQ0FBQzs7WUFFRjtZQUNBLElBQUlGLFdBQVcsQ0FBQ3ZGLE1BQU0sS0FBSyxDQUFDLEVBQUU7Y0FDNUI0QixRQUFRLENBQUMsSUFBSSxDQUFDO1lBQ2hCO1lBQUM0RixTQUFBLENBQUFDLElBQUE7WUFBQTtVQUFBO1lBRUQ7WUFDTXRCLFdBQVcsR0FBRyxJQUFJdUQsZUFBZSxDQUFDLENBQUM7WUFDekMsSUFDRXBKLE9BQU8sS0FBSyxTQUFTLElBQ3JCQSxPQUFPLEtBQUssUUFBUSxJQUNwQkEsT0FBTyxLQUFLLFFBQVEsSUFDcEJBLE9BQU8sS0FBSyxNQUFNLElBQ2xCQSxPQUFPLEtBQUssU0FBUyxFQUNyQjtjQUNBNkYsV0FBVyxDQUFDd0QsTUFBTSxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUM7Y0FDaER4RCxXQUFXLENBQUN3RCxNQUFNLENBQUMsTUFBTSxFQUFFdk0sVUFBVSxDQUFDNkUsSUFBSSxDQUFDa0csUUFBUSxDQUFDLENBQUM7Y0FDckQsSUFBSTdILE9BQU8sS0FBSyxRQUFRLEVBQUU7Z0JBQ3hCNkYsV0FBVyxDQUFDd0QsTUFBTSxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUM7Z0JBQ2hDeEQsV0FBVyxDQUFDd0QsTUFBTSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7Y0FDbkM7WUFDRjtZQUVNdkQsV0FBVyxHQUFHRCxXQUFXLENBQUM5QyxRQUFRLENBQUMsQ0FBQztZQUNwQ2dELElBQUksWUFBQXBHLE1BQUEsQ0FBWW1HLFdBQVcsT0FBQW5HLE1BQUEsQ0FBT21HLFdBQVcsSUFBSyxFQUFFO1lBQUFvQixTQUFBLENBQUE3RSxJQUFBO1lBQUE2RSxTQUFBLENBQUFDLElBQUE7WUFBQSxPQUdqQ3pLLFNBQVMsQ0FBQztjQUMvQnFKLElBQUksRUFBSkEsSUFBSTtjQUNKK0IsTUFBTSxFQUFFO1lBQ1YsQ0FBQyxDQUFDO1VBQUE7WUFISW5LLFFBQVEsR0FBQXVKLFNBQUEsQ0FBQWEsSUFBQTtZQUFBYixTQUFBLENBQUFDLElBQUE7WUFBQSxPQUtLeEosUUFBUSxDQUFDcUssSUFBSSxDQUFDLENBQUM7VUFBQTtZQUE1QjVILElBQUksR0FBQThHLFNBQUEsQ0FBQWEsSUFBQTtZQUNWO1lBQ0E5QyxXQUFXLEdBQUc3RSxJQUFJLENBQUNBLElBQUksSUFBSSxFQUFFO1lBQUE4RyxTQUFBLENBQUFDLElBQUE7WUFBQSxPQUNHN0Isc0JBQXNCLENBQUMsQ0FBQztVQUFBO1lBQWxEVSxpQkFBaUIsR0FBQWtCLFNBQUEsQ0FBQWEsSUFBQTtZQUN2QjlDLFdBQVcsR0FBR2pILDRCQUE0QixDQUFDaUgsV0FBVyxFQUFFZSxpQkFBaUIsQ0FBQztZQUMxRTtZQUNBZixXQUFXLEdBQUdyRyxVQUFVLENBQUNxRyxXQUFXLENBQUM7WUFDckNDLE9BQU8sR0FBRzlFLElBQUksQ0FBQzRJLFFBQVE7WUFDdkI3RCxVQUFVLEdBQUcvRSxJQUFJLENBQUM2SSxXQUFXO1lBRTdCMUksU0FBUyxDQUFBb0MsYUFBQSxDQUFBQSxhQUFBLEtBQ0p2QyxJQUFJO2NBQ1BBLElBQUksRUFBRTZFO1lBQVcsRUFDbEIsQ0FBQztZQUFBaUMsU0FBQSxDQUFBQyxJQUFBO1lBQUE7VUFBQTtZQUFBRCxTQUFBLENBQUE3RSxJQUFBO1lBQUEwRSxHQUFBLEdBQUFHLFNBQUE7WUFFRjtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ01kLFVBQVUsR0FDZCxDQUFBVyxHQUFBLGFBQUFBLEdBQUEsZ0JBQUFkLHFCQUFBLEdBQUFjLEdBQUEsQ0FBZXBKLFFBQVEsY0FBQXNJLHFCQUFBLHVCQUF2QkEscUJBQUEsQ0FBeUJySSxNQUFNLE1BQUssR0FBRyxJQUN2QyxDQUFBbUosR0FBQSxhQUFBQSxHQUFBLHVCQUFBQSxHQUFBLENBQWVuSixNQUFNLE1BQUssR0FBRyxLQUFBbUosR0FBQSxhQUFBQSxHQUFBLGdCQUFBYixxQkFBQSxHQUM3QmEsR0FBQSxDQUFlakosT0FBTyxjQUFBb0kscUJBQUEsdUJBQXRCQSxxQkFBQSxDQUF3Qm5JLFFBQVEsQ0FBQywwQ0FBMEMsQ0FBQyxNQUFBZ0osR0FBQSxhQUFBQSxHQUFBLGdCQUFBWixzQkFBQSxHQUM1RVksR0FBQSxDQUFlakosT0FBTyxjQUFBcUksc0JBQUEsdUJBQXRCQSxzQkFBQSxDQUF3QnBJLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFDO1lBQUEsS0FFdkRxSSxVQUFVO2NBQUFjLFNBQUEsQ0FBQUMsSUFBQTtjQUFBO1lBQUE7WUFDWjtZQUNBNUcsU0FBUyxDQUFDO2NBQ1JILElBQUksRUFBRSxFQUFFO2NBQ1I0SSxRQUFRLEVBQUUsS0FBSztjQUNmQyxXQUFXLEVBQUU7WUFDZixDQUFDLENBQUM7WUFDRjNILFFBQVEsQ0FBQyxJQUFJLENBQUM7WUFBQTRGLFNBQUEsQ0FBQUMsSUFBQTtZQUFBO1VBQUE7WUFBQSxNQUFBSixHQUFBO1VBQUE7WUFRcEI7WUFDQSxJQUFJOUIsV0FBVyxDQUFDdkYsTUFBTSxHQUFHLENBQUMsRUFBRTtjQUMxQixJQUFJbUYsYUFBYSxJQUFJSSxXQUFXLENBQUNwQixJQUFJLENBQUMsVUFBQ3lGLGNBQXFCO2dCQUFBLE9BQUtBLGNBQWMsQ0FBQ2hMLEVBQUUsS0FBS3VHLGFBQWEsQ0FBQ3ZHLEVBQUU7Y0FBQSxFQUFDLEVBQUU7Z0JBQ3hHLElBQUksRUFBQWlJLHFCQUFBLEdBQUEzRSxvQkFBb0IsQ0FBQ0ssT0FBTyxjQUFBc0UscUJBQUEsdUJBQTVCQSxxQkFBQSxDQUE4QmpJLEVBQUUsTUFBS3VHLGFBQWEsQ0FBQ3ZHLEVBQUUsRUFBRTtrQkFDekRzRCxvQkFBb0IsQ0FBQ0ssT0FBTyxHQUFHNEMsYUFBYTtrQkFDNUM5RSxXQUFXLENBQUM4RSxhQUFhLENBQUM7Z0JBQzVCO2NBQ0YsQ0FBQyxNQUFNLElBQUksQ0FBQXdCLFlBQUEsR0FBQXBCLFdBQVcsY0FBQW9CLFlBQUEsZUFBWEEsWUFBQSxDQUFjLENBQUMsQ0FBQyxLQUFLLENBQUNySixLQUFLLElBQUksQ0FBQ2lJLFdBQVcsQ0FBQ3BCLElBQUksQ0FBQyxVQUFDeEUsQ0FBUTtnQkFBQSxPQUFLQSxDQUFDLENBQUNmLEVBQUUsS0FBS3RCLEtBQUssQ0FBQ3NCLEVBQUU7Y0FBQSxFQUFDLENBQUMsRUFBRTtnQkFDdkZtSSxlQUFlLEdBQ25CdEosTUFBTSxDQUFDa0ssMkJBQTJCLElBQUksQ0FBQ2pDLHNCQUFzQixHQUN6REgsV0FBVyxHQUNYQSxXQUFXLENBQUNsRyxNQUFNLENBQUMsVUFBQ3dLLFNBQWdCO2tCQUFBLE9BQUssQ0FBQ3hNLFdBQVcsQ0FBQ3dNLFNBQVMsQ0FBQztnQkFBQSxFQUFDO2dCQUFBN0MsZ0JBQUEsR0FBQXBHLGNBQUEsQ0FFbERtRyxlQUFlLE1BQTdCckMsVUFBVSxHQUFBc0MsZ0JBQUE7Z0JBQ2pCLElBQUl0QyxVQUFVLElBQUksRUFBQW9DLHNCQUFBLEdBQUE1RSxvQkFBb0IsQ0FBQ0ssT0FBTyxjQUFBdUUsc0JBQUEsdUJBQTVCQSxzQkFBQSxDQUE4QmxJLEVBQUUsTUFBSzhGLFVBQVUsQ0FBQzlGLEVBQUUsRUFBRTtrQkFDcEVzRCxvQkFBb0IsQ0FBQ0ssT0FBTyxHQUFHbUMsVUFBVTtrQkFDekNyRSxXQUFXLENBQUNxRSxVQUFVLENBQUM7Z0JBQ3pCO2NBQ0YsQ0FBQyxNQUFNLElBQUlTLGFBQWEsS0FBQXlCLGFBQUEsR0FBSXJCLFdBQVcsY0FBQXFCLGFBQUEsZUFBWEEsYUFBQSxDQUFhNUcsTUFBTSxFQUFFO2dCQUN6QytHLGlCQUFlLEdBQ25CdEosTUFBTSxDQUFDa0ssMkJBQTJCLElBQUksQ0FBQ2pDLHNCQUFzQixHQUN6REgsV0FBVyxHQUNYQSxXQUFXLENBQUNsRyxNQUFNLENBQUMsVUFBQ3dLLFNBQWdCO2tCQUFBLE9BQUssQ0FBQ3hNLFdBQVcsQ0FBQ3dNLFNBQVMsQ0FBQztnQkFBQSxFQUFDO2dCQUFBMUMsaUJBQUEsR0FBQXZHLGNBQUEsQ0FFekNtRyxpQkFBZSxNQUF0Q0ssbUJBQW1CLEdBQUFELGlCQUFBO2dCQUMxQixJQUFJQyxtQkFBbUIsSUFBSSxFQUFBSCxzQkFBQSxHQUFBL0Usb0JBQW9CLENBQUNLLE9BQU8sY0FBQTBFLHNCQUFBLHVCQUE1QkEsc0JBQUEsQ0FBOEJySSxFQUFFLE1BQUt3SSxtQkFBbUIsQ0FBQ3hJLEVBQUUsRUFBRTtrQkFDdEZzRCxvQkFBb0IsQ0FBQ0ssT0FBTyxHQUFHNkUsbUJBQW1CO2tCQUNsRC9HLFdBQVcsQ0FBQytHLG1CQUFtQixDQUFDO2dCQUNsQztjQUNGO1lBQ0Y7WUFFQW5HLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFBQXVHLFNBQUEsQ0FBQUMsSUFBQTtZQUFBO1VBQUE7WUFBQUQsU0FBQSxDQUFBN0UsSUFBQTtZQUFBMkUsR0FBQSxHQUFBRSxTQUFBO1lBRWpCNUYsUUFBUSxDQUFDMEYsR0FBQSxZQUFld0MsS0FBSyxHQUFHeEMsR0FBQSxDQUFJbEosT0FBTyxHQUFHLDJCQUEyQixDQUFDO1lBQzFFNkMsVUFBVSxDQUFDLEtBQUssQ0FBQztVQUFBO1lBQUF1RyxTQUFBLENBQUE3RSxJQUFBO1lBRWpCUixlQUFlLENBQUNJLE9BQU8sR0FBRyxLQUFLO1lBQy9Cd0gsVUFBVSxDQUFDLFlBQU07Y0FDZixJQUFJLENBQUM1SCxlQUFlLENBQUNJLE9BQU8sRUFBRTtnQkFDNUJILGNBQWMsQ0FBQ0csT0FBTyxHQUFHLElBQUk7Y0FDL0I7WUFDRixDQUFDLEVBQUUsR0FBRyxDQUFDO1lBQUEsT0FBQWlGLFNBQUEsQ0FBQXdDLE1BQUE7VUFBQTtVQUFBO1lBQUEsT0FBQXhDLFNBQUEsQ0FBQWUsSUFBQTtRQUFBO01BQUEsR0FBQXJELFFBQUE7SUFBQSxDQUVWO0lBQUEsaUJBQUErRSxFQUFBO01BQUEsT0FBQW5GLEtBQUEsQ0FBQTBELEtBQUEsT0FBQTdFLFNBQUE7SUFBQTtFQUFBLEtBQ0QsQ0FBQ3RELFdBQVcsRUFBRUMsT0FBTyxFQUFFaEQsS0FBSyxFQUFFMEQsT0FBTyxDQUN2QyxDQUFDO0VBRUQsSUFBTWtKLGtCQUFrQixHQUFHdE4sV0FBVztJQUFBLElBQUF1TixLQUFBLEdBQUFwRixpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUMsU0FBQW1GLFNBQU9DLEtBQWE7TUFBQSxJQUFBcE0sUUFBQSxFQUFBeUMsSUFBQSxFQUFBNEosR0FBQTtNQUFBLE9BQUF0RixtQkFBQSxDQUFBdUMsSUFBQSxXQUFBZ0QsU0FBQTtRQUFBLGtCQUFBQSxTQUFBLENBQUE1SCxJQUFBLEdBQUE0SCxTQUFBLENBQUE5QyxJQUFBO1VBQUE7WUFBQSxJQUNwRDRDLEtBQUs7Y0FBQUUsU0FBQSxDQUFBOUMsSUFBQTtjQUFBO1lBQUE7WUFDUixJQUFJbkYsa0JBQWtCLENBQUNDLE9BQU8sRUFBRTtjQUM5QjFCLFNBQVMsQ0FBQ3lCLGtCQUFrQixDQUFDQyxPQUFPLENBQUM7Y0FDckNELGtCQUFrQixDQUFDQyxPQUFPLEdBQUcsSUFBSTtZQUNuQztZQUFDLE9BQUFnSSxTQUFBLENBQUE3QyxNQUFBO1VBQUE7WUFJSCxJQUFJLENBQUNwRixrQkFBa0IsQ0FBQ0MsT0FBTyxFQUFFO2NBQy9CRCxrQkFBa0IsQ0FBQ0MsT0FBTyxHQUFHRixTQUFTLENBQUNFLE9BQU87WUFDaEQ7WUFFQWQsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1lBQUE4SSxTQUFBLENBQUE1SCxJQUFBO1lBQUE0SCxTQUFBLENBQUE5QyxJQUFBO1lBQUEsT0FHR3pLLFNBQVMsQ0FBQztjQUMvQnFKLElBQUksa0RBQUFwRyxNQUFBLENBQWtEdUssa0JBQWtCLENBQUNILEtBQUssQ0FBQyxDQUFFO2NBQ2pGakMsTUFBTSxFQUFFO1lBQ1YsQ0FBQyxDQUFDO1VBQUE7WUFISW5LLFFBQVEsR0FBQXNNLFNBQUEsQ0FBQWxDLElBQUE7WUFBQWtDLFNBQUEsQ0FBQTlDLElBQUE7WUFBQSxPQUlLeEosUUFBUSxDQUFDcUssSUFBSSxDQUFDLENBQUM7VUFBQTtZQUE1QjVILElBQUksR0FBQTZKLFNBQUEsQ0FBQWxDLElBQUE7WUFFVnhILFNBQVMsQ0FBQyxVQUFBOEIsSUFBSSxFQUFJO2NBQ2hCLElBQU04SCxXQUFXLEdBQUc5SCxJQUFJLENBQUNqQyxJQUFJLENBQUNyQixNQUFNLENBQUMsVUFBQ0UsRUFBUztnQkFBQSxPQUFLQSxFQUFFLENBQUNoQyxJQUFJLEtBQUssT0FBTztjQUFBLEVBQUM7Y0FDeEUsSUFBTW1OLGFBQXNCLEdBQUdoSyxJQUFJLENBQUNBLElBQUksSUFBSSxFQUFFO2NBQzlDLE9BQU87Z0JBQ0xBLElBQUksRUFBRStKLFdBQVcsQ0FBQ3pLLE1BQU0sTUFBQUMsTUFBQSxDQUFBbkIsa0JBQUEsQ0FBTzJMLFdBQVcsR0FBQTNMLGtCQUFBLENBQUs0TCxhQUFhLEtBQUlBLGFBQWE7Z0JBQzdFcEIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2ZDLFdBQVcsRUFBRTtjQUNmLENBQUM7WUFDSCxDQUFDLENBQUM7WUFBQWdCLFNBQUEsQ0FBQTlDLElBQUE7WUFBQTtVQUFBO1lBQUE4QyxTQUFBLENBQUE1SCxJQUFBO1lBQUEySCxHQUFBLEdBQUFDLFNBQUE7WUFFRnpJLG1CQUFtQixDQUFDRSxDQUFDLENBQUMsK0JBQStCLENBQUMsQ0FBQztVQUFBO1lBQUF1SSxTQUFBLENBQUE1SCxJQUFBO1lBRXZEbEIsZ0JBQWdCLENBQUMsS0FBSyxDQUFDO1lBQUEsT0FBQThJLFNBQUEsQ0FBQVAsTUFBQTtVQUFBO1VBQUE7WUFBQSxPQUFBTyxTQUFBLENBQUFoQyxJQUFBO1FBQUE7TUFBQSxHQUFBNkIsUUFBQTtJQUFBLENBRTFCO0lBQUEsaUJBQUFPLEdBQUE7TUFBQSxPQUFBUixLQUFBLENBQUEzQixLQUFBLE9BQUE3RSxTQUFBO0lBQUE7RUFBQSxLQUFFLEVBQUUsQ0FBQztFQUVOLElBQU1pSCxjQUFjLEdBQUdoTyxXQUFXLGNBQUFtSSxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUMsU0FBQTRGLFNBQUE7SUFBQSxJQUFBdkYsYUFBQSxFQUFBd0YsV0FBQSxFQUFBekUsSUFBQSxFQUFBRixXQUFBLEVBQUFsSSxRQUFBLEVBQUF5QyxJQUFBLEVBQUFxSyxHQUFBO0lBQUEsT0FBQS9GLG1CQUFBLENBQUF1QyxJQUFBLFdBQUF5RCxTQUFBO01BQUEsa0JBQUFBLFNBQUEsQ0FBQXJJLElBQUEsR0FBQXFJLFNBQUEsQ0FBQXZELElBQUE7UUFBQTtVQUMzQm5DLGFBQWEsR0FBRyxDQUFDLENBQUM3SCxNQUFNLENBQUNrSywyQkFBMkIsSUFBSSxDQUFDLENBQUNsSyxNQUFNLENBQUNtSyx3Q0FBd0MsRUFDL0c7VUFDTWtELFdBQVcsR0FBR3hLLE9BQU8sS0FBSyxRQUFRLElBQUlnRixhQUFhO1VBQUEsTUFDckQsQ0FBQ3dGLFdBQVcsSUFBSSxDQUFDM0wsTUFBTSxDQUFDbUssUUFBUSxJQUFJLENBQUNuSyxNQUFNLENBQUNvSyxXQUFXLElBQUluSSxXQUFXO1lBQUE0SixTQUFBLENBQUF2RCxJQUFBO1lBQUE7VUFBQTtVQUFBLE9BQUF1RCxTQUFBLENBQUF0RCxNQUFBO1FBQUE7VUFJMUVyRyxjQUFjLENBQUMsSUFBSSxDQUFDO1VBQ3BCTyxRQUFRLENBQUMsSUFBSSxDQUFDO1VBQUFvSixTQUFBLENBQUFySSxJQUFBO1VBS1o7VUFDQSxJQUFJMkMsYUFBYSxFQUFFO1lBQ2pCO1lBQ0FlLElBQUksOENBQUFwRyxNQUFBLENBQThDZCxNQUFNLENBQUNvSyxXQUFXLENBQUU7VUFDeEUsQ0FBQyxNQUFNO1lBQ0w7WUFDTXBELFdBQVcsR0FBRyxJQUFJdUQsZUFBZSxDQUFDLENBQUM7WUFDekN2RCxXQUFXLENBQUN3RCxNQUFNLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQztZQUNoRHhELFdBQVcsQ0FBQ3dELE1BQU0sQ0FBQyxNQUFNLEVBQUV2TSxVQUFVLENBQUM2RSxJQUFJLENBQUNrRyxRQUFRLENBQUMsQ0FBQztZQUNyRGhDLFdBQVcsQ0FBQ3dELE1BQU0sQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDO1lBQ2hDeEQsV0FBVyxDQUFDd0QsTUFBTSxDQUFDLFFBQVEsRUFBRXhLLE1BQU0sQ0FBQ29LLFdBQVcsQ0FBQ2xHLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDM0RnRCxJQUFJLGFBQUFwRyxNQUFBLENBQWFrRyxXQUFXLENBQUM5QyxRQUFRLENBQUMsQ0FBQyxDQUFFO1VBQzNDO1VBQUMySCxTQUFBLENBQUF2RCxJQUFBO1VBQUEsT0FFc0J6SyxTQUFTLENBQUM7WUFDL0JxSixJQUFJLEVBQUpBLElBQUk7WUFDSitCLE1BQU0sRUFBRTtVQUNWLENBQUMsQ0FBQztRQUFBO1VBSEluSyxRQUFRLEdBQUErTSxTQUFBLENBQUEzQyxJQUFBO1VBQUEyQyxTQUFBLENBQUF2RCxJQUFBO1VBQUEsT0FLS3hKLFFBQVEsQ0FBQ3FLLElBQUksQ0FBQyxDQUFDO1FBQUE7VUFBNUI1SCxJQUFJLEdBQUFzSyxTQUFBLENBQUEzQyxJQUFBO1VBRVY7VUFDQXhILFNBQVMsQ0FBQyxVQUFBOEIsSUFBSSxFQUFJO1lBQ2hCLElBQUkyQyxhQUFhLEVBQUU7Y0FDakI7Y0FDQSxJQUFNMkYsa0JBQWtCLEdBQUd0SSxJQUFJLENBQUNqQyxJQUFJLENBQUNyQixNQUFNLENBQUNoQyxXQUFXLENBQUM7O2NBRXhEO2NBQ0EsSUFBTTZOLFlBQVcsR0FBRyxJQUFJeE0sR0FBRyxDQUFDaUUsSUFBSSxDQUFDakMsSUFBSSxDQUFDckIsTUFBTSxDQUFDLFVBQUNFLEVBQVM7Z0JBQUEsT0FBSyxDQUFDbEMsV0FBVyxDQUFDa0MsRUFBRSxDQUFDO2NBQUEsRUFBQyxDQUFDWixHQUFHLENBQUMsVUFBQ1ksRUFBUztnQkFBQSxPQUFLQSxFQUFFLENBQUNYLEVBQUU7Y0FBQSxFQUFDLENBQUM7O2NBRXhHO2NBQ0EsSUFBTXVNLFVBQVMsR0FBR2pMLDRCQUE0QixDQUM1Q1EsSUFBSSxDQUFDQSxJQUFJLENBQUNyQixNQUFNLENBQUMsVUFBQ0UsRUFBUztnQkFBQSxPQUFLLENBQUNsQyxXQUFXLENBQUNrQyxFQUFFLENBQUMsSUFBSUEsRUFBRSxDQUFDaEMsSUFBSSxLQUFLLE9BQU8sSUFBSSxDQUFDMk4sWUFBVyxDQUFDbE0sR0FBRyxDQUFDTyxFQUFFLENBQUNYLEVBQUUsQ0FBQztjQUFBLEVBQ3BHLENBQUM7Y0FFRCxJQUFNbUUsUUFBTyxHQUFHa0ksa0JBQWtCLENBQUNqTCxNQUFNLE1BQUFDLE1BQUEsQ0FBQW5CLGtCQUFBLENBQ2pDbU0sa0JBQWtCLEdBQUFuTSxrQkFBQSxDQUFLNkQsSUFBSSxDQUFDakMsSUFBSSxDQUFDckIsTUFBTSxDQUFDLFVBQUNFLEVBQVM7Z0JBQUEsT0FBSyxDQUFDbEMsV0FBVyxDQUFDa0MsRUFBRSxDQUFDO2NBQUEsRUFBQyxHQUFBVCxrQkFBQSxDQUFLcU0sVUFBUyxRQUFBbEwsTUFBQSxDQUFBbkIsa0JBQUEsQ0FDdEY2RCxJQUFJLENBQUNqQyxJQUFJLENBQUNyQixNQUFNLENBQUMsVUFBQ0UsRUFBUztnQkFBQSxPQUFLLENBQUNsQyxXQUFXLENBQUNrQyxFQUFFLENBQUM7Y0FBQSxFQUFDLEdBQUFULGtCQUFBLENBQUtxTSxVQUFTLEVBQUM7O2NBRXhFO2NBQ0EsSUFBTW5JLFdBQVUsR0FBRzlELFVBQVUsQ0FBQzZELFFBQU8sQ0FBQztjQUV0QyxPQUFPO2dCQUNMckMsSUFBSSxFQUFFc0MsV0FBVTtnQkFDaEJzRyxRQUFRLEVBQUU1SSxJQUFJLENBQUM0SSxRQUFRO2dCQUN2QkMsV0FBVyxFQUFFN0ksSUFBSSxDQUFDNkk7Y0FDcEIsQ0FBQztZQUNIO1lBQ0E7WUFDQSxJQUFNMkIsV0FBVyxHQUFHLElBQUl4TSxHQUFHLENBQUNpRSxJQUFJLENBQUNqQyxJQUFJLENBQUMvQixHQUFHLENBQUMsVUFBQ1ksRUFBUztjQUFBLE9BQUtBLEVBQUUsQ0FBQ1gsRUFBRTtZQUFBLEVBQUMsQ0FBQztZQUNoRSxJQUFNdU0sU0FBUyxHQUFHLENBQUN6SyxJQUFJLENBQUNBLElBQUksSUFBSSxFQUFFLEVBQUVyQixNQUFNLENBQUMsVUFBQ0UsRUFBUztjQUFBLE9BQUssQ0FBQzJMLFdBQVcsQ0FBQ2xNLEdBQUcsQ0FBQ08sRUFBRSxDQUFDWCxFQUFFLENBQUM7WUFBQSxFQUFDO1lBQ2xGLElBQU1tRSxPQUFPLE1BQUE5QyxNQUFBLENBQUFuQixrQkFBQSxDQUFPNkQsSUFBSSxDQUFDakMsSUFBSSxHQUFBNUIsa0JBQUEsQ0FBS3FNLFNBQVMsRUFBQzs7WUFFNUM7WUFDQSxJQUFNbkksVUFBVSxHQUFHOUQsVUFBVSxDQUFDNkQsT0FBTyxDQUFDO1lBRXRDLE9BQU87Y0FDTHJDLElBQUksRUFBRXNDLFVBQVU7Y0FDaEJzRyxRQUFRLEVBQUU1SSxJQUFJLENBQUM0SSxRQUFRO2NBQ3ZCQyxXQUFXLEVBQUU3SSxJQUFJLENBQUM2STtZQUNwQixDQUFDO1VBQ0gsQ0FBQyxDQUFDO1VBRUZsSSxjQUFjLENBQUMsS0FBSyxDQUFDO1VBQUEySixTQUFBLENBQUF2RCxJQUFBO1VBQUE7UUFBQTtVQUFBdUQsU0FBQSxDQUFBckksSUFBQTtVQUFBb0ksR0FBQSxHQUFBQyxTQUFBO1VBRXJCbEosbUJBQW1CLENBQUNFLENBQUMsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1VBQ3ZEWCxjQUFjLENBQUMsS0FBSyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUEySixTQUFBLENBQUF6QyxJQUFBO01BQUE7SUFBQSxHQUFBc0MsUUFBQTtFQUFBLENBRXhCLElBQUUsQ0FBQ3ZLLE9BQU8sRUFBRW5CLE1BQU0sQ0FBQ21LLFFBQVEsRUFBRW5LLE1BQU0sQ0FBQ29LLFdBQVcsRUFBRW5JLFdBQVcsRUFBRWEsSUFBSSxDQUFDa0csUUFBUSxDQUFDLENBQUM7RUFFOUUsT0FBTztJQUNMaEosTUFBTSxFQUFOQSxNQUFNO0lBQ042QixPQUFPLEVBQVBBLE9BQU87SUFDUEksV0FBVyxFQUFYQSxXQUFXO0lBQ1hwRCxLQUFLLEVBQUxBLEtBQUs7SUFDTDZHLGVBQWUsRUFBZkEsZUFBZTtJQUNmK0YsY0FBYyxFQUFkQSxjQUFjO0lBQ2RWLGtCQUFrQixFQUFsQkEsa0JBQWtCO0lBQ2xCMUksYUFBYSxFQUFiQSxhQUFhO0lBQ2JnQixRQUFRLEVBQVJBLFFBQVE7SUFDUlcsV0FBVyxFQUFYQSxXQUFXO0lBQ1hHLFdBQVcsRUFBWEEsV0FBVztJQUNYRyxtQkFBbUIsRUFBbkJBLG1CQUFtQjtJQUNuQmdCLGdCQUFnQixFQUFoQkEsZ0JBQWdCO0lBQ2hCRCxjQUFjLEVBQWRBO0VBQ0YsQ0FBQztBQUNILENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -77,4 +77,4 @@ export var getChatsByUserId = /*#__PURE__*/function () {
|
|
|
77
77
|
return _ref.apply(this, arguments);
|
|
78
78
|
};
|
|
79
79
|
}();
|
|
80
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJtYXBSZXNwb25zZSIsIml0ZW1zIiwibWFwIiwiaXRlbSIsIl9pdGVtJHByb2plY3RfbWV0YWRhdCIsIl9pdGVtJHByb2plY3RfbWV0YWRhdDIiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEiLCJfaXRlbSRjbGllbnRfbWV0YWRhdGEyIiwiaWQiLCJzZXNzaW9uX2V4dGVybmFsX2lkIiwidGl0bGUiLCJsYXN0X3F1ZXN0aW9uIiwiZGF0ZSIsIkRhdGUiLCJsYXN0X3F1ZXN0aW9uX2RhdGUiLCJhZ2VudCIsImFnZW50X25hbWUiLCJhZ2VudElkIiwiYWdlbnRfaWQiLCJhZ2VudFR5cGUiLCJhZ2VudF90eXBlIiwiZW1vamkiLCJzZXNzaW9uRXh0ZXJuYWxJZCIsImF0dGFjaG1lbnRzIiwicHJvamVjdElkIiwicHJvamVjdF9tZXRhZGF0YSIsInByb2plY3ROYW1lIiwibmFtZSIsImNsaWVudElkIiwiY2xpZW50X21ldGFkYXRhIiwiY2xpZW50TmFtZSIsImdldEFnZW50VHlwZVBhcmFtIiwiaGFzRmVhdHVyZUFjY2Vzc0Nsb25lIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwiaGFzTXVsdGlBZ2VudHNDdXN0b20iLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiZ2V0Q2hhdHNCeVVzZXJJZCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInBhcmFtcyIsIl9wYXJhbXMkYWdlbnQiLCJhZ2VudFR5cGVQYXJhbSIsImxhbmdQYXJhbSIsInJlc3BvbnNlIiwiZGF0YSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwibGFuZyIsImNvbmNhdCIsInBhdGgiLCJsaW1pdCIsIm9mZnNldCIsIm1ldGhvZCIsImhlYWRlcnMiLCJ0b1N0cmluZyIsInNlbnQiLCJqc29uIiwiYWJydXB0IiwiaGFzTW9yZSIsImhhc19tb3JlIiwibmV4dEl0ZW0iLCJuZXh0X29mZnNldCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvQ2hhdHMvZ2V0Q2hhdHNCeVVzZXJJZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuaW1wb3J0IHsgQ2hhdCwgQ2hhdEl0ZW1SZXNwb25zZSwgQ2hhdHNSZXNwb25zZVNjaGVtYSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuXG50eXBlIEdldENoYXRzQnlVc2VySWRQYXJhbXMgPSB7XG4gIHVzZXJJZD86IHN0cmluZ1xuICBsYXN0RXZhbHVhdGVkS2V5Pzogc3RyaW5nXG4gIGV4Y2x1ZGVTdGF0dXNlcz86IHN0cmluZ1tdXG4gIGxpbWl0PzogbnVtYmVyXG4gIGFnZW50PzogQWdlbnQgfCBudWxsXG4gIG9mZnNldD86IG51bWJlclxuICBzZWN0aW9uPzogJ3Byb2plY3QnIHwgJ2hlYWRlcicgfCAnY2xpZW50JyB8ICd0YXNrJyB8ICdwbGFubmVyJ1xuICBsYW5nPzogc3RyaW5nXG59XG5cbmNvbnN0IG1hcFJlc3BvbnNlID0gKGl0ZW1zOiBDaGF0SXRlbVJlc3BvbnNlW10pOiBDaGF0W10gPT4ge1xuICByZXR1cm4gaXRlbXMubWFwKGl0ZW0gPT4ge1xuICAgIHJldHVybiB7XG4gICAgICBpZDogaXRlbS5zZXNzaW9uX2V4dGVybmFsX2lkLFxuICAgICAgdGl0bGU6IGl0ZW0udGl0bGUgfHwgaXRlbS5sYXN0X3F1ZXN0aW9uLFxuICAgICAgZGF0ZTogbmV3IERhdGUoaXRlbS5sYXN0X3F1ZXN0aW9uX2RhdGUpLFxuICAgICAgYWdlbnQ6IGl0ZW0uYWdlbnRfbmFtZSxcbiAgICAgIGFnZW50SWQ6IGl0ZW0uYWdlbnRfaWQsXG4gICAgICBhZ2VudFR5cGU6IGl0ZW0uYWdlbnRfdHlwZSxcbiAgICAgIGVtb2ppOiBpdGVtLmVtb2ppLFxuICAgICAgc2Vzc2lvbkV4dGVybmFsSWQ6IGl0ZW0uc2Vzc2lvbl9leHRlcm5hbF9pZCxcbiAgICAgIGF0dGFjaG1lbnRzOiBpdGVtLmF0dGFjaG1lbnRzIHx8IFtdLFxuICAgICAgcHJvamVjdElkOiBpdGVtLnByb2plY3RfbWV0YWRhdGE/LmlkLFxuICAgICAgcHJvamVjdE5hbWU6IGl0ZW0ucHJvamVjdF9tZXRhZGF0YT8ubmFtZSxcbiAgICAgIGNsaWVudElkOiBpdGVtLmNsaWVudF9tZXRhZGF0YT8uaWQsXG4gICAgICBjbGllbnROYW1lOiBpdGVtLmNsaWVudF9tZXRhZGF0YT8ubmFtZSxcbiAgICB9XG4gIH0pXG59XG5cbi8qKlxuICogRWwgZmlsdHJvIGRlcGVuZGUgZGUgZmVhdHVyZSBmbGFncywgbm8gZGVsIGFnZW50ZSBhY3Rpdm8gZW4gY29udGV4dG8uXG4gKiBTaSBhbWJvcyBmbGFncyBlc3TDoW4gYWN0aXZvcywgbm8gc2UgZW52w61hIGFnZW50X3R5cGU6IGVsIGJhY2tlbmQgZGV2dWVsdmVcbiAqIHNlc2lvbmVzIGRlIG9yY2hlc3RyYXRvciB5IGN1c3RvbSBqdW50YXMuIEZpbHRyYXIgcG9yIGVsIGFnZW50ZSBzZWxlY2Npb25hZG9cbiAqIChwLiBlai4gc2llbXByZSBvcmNoZXN0cmF0b3Igc2Fsdm8gY3VzdG9tIGFjdGl2bykgb2N1bHRhYmEgc2VzaW9uZXMgY3VzdG9tXG4gKiBjdWFuZG8gZWwgdXN1YXJpbyBlc3RhYmEgZW4gTUFJQS5cbiAqL1xuY29uc3QgZ2V0QWdlbnRUeXBlUGFyYW0gPSAoKTogc3RyaW5nID0+IHtcbiAgY29uc3QgaGFzRmVhdHVyZUFjY2Vzc0Nsb25lID0gISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTXG4gIGNvbnN0IGhhc011bHRpQWdlbnRzQ3VzdG9tID0gISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UU1xuICBpZiAoaGFzRmVhdHVyZUFjY2Vzc0Nsb25lICYmIGhhc011bHRpQWdlbnRzQ3VzdG9tKSByZXR1cm4gJydcbiAgaWYgKGhhc0ZlYXR1cmVBY2Nlc3NDbG9uZSkgcmV0dXJuICcmYWdlbnRfdHlwZT1vcmNoZXN0cmF0b3InXG4gIGlmIChoYXNNdWx0aUFnZW50c0N1c3RvbSkgcmV0dXJuICcmYWdlbnRfdHlwZT1jdXN0b20nXG4gIHJldHVybiAnJ1xufVxuXG5leHBvcnQgY29uc3QgZ2V0Q2hhdHNCeVVzZXJJZCA9IGFzeW5jIChcbiAgcGFyYW1zPzogR2V0Q2hhdHNCeVVzZXJJZFBhcmFtc1xuKTogUHJvbWlzZTx7IGl0ZW1zOiBDaGF0W107IG5leHRJdGVtOiBzdHJpbmcgfCBudWxsOyBoYXNNb3JlOiBib29sZWFuIH0+ID0+IHtcbiAgY29uc3QgYWdlbnRUeXBlUGFyYW0gPSBnZXRBZ2VudFR5cGVQYXJhbSgpXG4gIGNvbnN0IGxhbmdQYXJhbSA9IHBhcmFtcz8ubGFuZyA/IGAmbGFuZz0ke3BhcmFtcy5sYW5nfWAgOiAnJ1xuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgcGF0aDogYHNlc3Npb25zP2xpbWl0PSR7cGFyYW1zPy5saW1pdH0ke3BhcmFtcz8ub2Zmc2V0ID8gYCZvZmZzZXQ9JHtwYXJhbXM/Lm9mZnNldH1gIDogJyd9JHthZ2VudFR5cGVQYXJhbX0ke2xhbmdQYXJhbX1gLFxuICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ1gtQWdlbnQtSWQnOiBwYXJhbXM/LmFnZW50Py5pZC50b1N0cmluZygpIHx8ICcxJyxcbiAgICB9LFxuICB9KVxuXG4gIGNvbnN0IGRhdGEgPSAoYXdhaXQgcmVzcG9uc2UuanNvbigpKSBhcyBDaGF0c1Jlc3BvbnNlU2NoZW1hXG5cbiAgcmV0dXJuIHtcbiAgICBoYXNNb3JlOiBkYXRhLmhhc19tb3JlLFxuICAgIG5leHRJdGVtOiBkYXRhLm5leHRfb2Zmc2V0LFxuICAgIGl0ZW1zOiBtYXBSZXNwb25zZShkYXRhLmRhdGEpLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUE7O0FBRUEsU0FBU0EsU0FBUyxRQUFRLFdBQVc7QUFjckMsSUFBTUMsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUlDLEtBQXlCLEVBQWE7RUFDekQsT0FBT0EsS0FBSyxDQUFDQyxHQUFHLENBQUMsVUFBQUMsSUFBSSxFQUFJO0lBQUEsSUFBQUMscUJBQUEsRUFBQUMsc0JBQUEsRUFBQUMscUJBQUEsRUFBQUMsc0JBQUE7SUFDdkIsT0FBTztNQUNMQyxFQUFFLEVBQUVMLElBQUksQ0FBQ00sbUJBQW1CO01BQzVCQyxLQUFLLEVBQUVQLElBQUksQ0FBQ08sS0FBSyxJQUFJUCxJQUFJLENBQUNRLGFBQWE7TUFDdkNDLElBQUksRUFBRSxJQUFJQyxJQUFJLENBQUNWLElBQUksQ0FBQ1csa0JBQWtCLENBQUM7TUFDdkNDLEtBQUssRUFBRVosSUFBSSxDQUFDYSxVQUFVO01BQ3RCQyxPQUFPLEVBQUVkLElBQUksQ0FBQ2UsUUFBUTtNQUN0QkMsU0FBUyxFQUFFaEIsSUFBSSxDQUFDaUIsVUFBVTtNQUMxQkMsS0FBSyxFQUFFbEIsSUFBSSxDQUFDa0IsS0FBSztNQUNqQkMsaUJBQWlCLEVBQUVuQixJQUFJLENBQUNNLG1CQUFtQjtNQUMzQ2MsV0FBVyxFQUFFcEIsSUFBSSxDQUFDb0IsV0FBVyxJQUFJLEVBQUU7TUFDbkNDLFNBQVMsR0FBQXBCLHFCQUFBLEdBQUVELElBQUksQ0FBQ3NCLGdCQUFnQixjQUFBckIscUJBQUEsdUJBQXJCQSxxQkFBQSxDQUF1QkksRUFBRTtNQUNwQ2tCLFdBQVcsR0FBQXJCLHNCQUFBLEdBQUVGLElBQUksQ0FBQ3NCLGdCQUFnQixjQUFBcEIsc0JBQUEsdUJBQXJCQSxzQkFBQSxDQUF1QnNCLElBQUk7TUFDeENDLFFBQVEsR0FBQXRCLHFCQUFBLEdBQUVILElBQUksQ0FBQzBCLGVBQWUsY0FBQXZCLHFCQUFBLHVCQUFwQkEscUJBQUEsQ0FBc0JFLEVBQUU7TUFDbENzQixVQUFVLEdBQUF2QixzQkFBQSxHQUFFSixJQUFJLENBQUMwQixlQUFlLGNBQUF0QixzQkFBQSx1QkFBcEJBLHNCQUFBLENBQXNCb0I7SUFDcEMsQ0FBQztFQUNILENBQUMsQ0FBQztBQUNKLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFNSSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFBLEVBQWlCO0VBQ3RDLElBQU1DLHFCQUFxQixHQUFHLENBQUMsQ0FBQ0MsTUFBTSxDQUFDQywyQkFBMkI7RUFDbEUsSUFBTUMsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDRixNQUFNLENBQUNHLHdDQUF3QztFQUM5RSxJQUFJSixxQkFBcUIsSUFBSUcsb0JBQW9CLEVBQUUsT0FBTyxFQUFFO0VBQzVELElBQUlILHFCQUFxQixFQUFFLE9BQU8sMEJBQTBCO0VBQzVELElBQUlHLG9CQUFvQixFQUFFLE9BQU8sb0JBQW9CO0VBQ3JELE9BQU8sRUFBRTtBQUNYLENBQUM7QUFFRCxPQUFPLElBQU1FLGdCQUFnQjtFQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQzlCQyxNQUErQjtJQUFBLElBQUFDLGFBQUE7SUFBQSxJQUFBQyxjQUFBLEVBQUFDLFNBQUEsRUFBQUMsUUFBQSxFQUFBQyxJQUFBO0lBQUEsT0FBQVIsbUJBQUEsQ0FBQVMsSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUV6QlAsY0FBYyxHQUFHZCxpQkFBaUIsQ0FBQyxDQUFDO1VBQ3BDZSxTQUFTLEdBQUdILE1BQU0sYUFBTkEsTUFBTSxlQUFOQSxNQUFNLENBQUVVLElBQUksWUFBQUMsTUFBQSxDQUFZWCxNQUFNLENBQUNVLElBQUksSUFBSyxFQUFFO1VBQUFILFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BQ3JDckQsU0FBUyxDQUFDO1lBQy9Cd0QsSUFBSSxvQkFBQUQsTUFBQSxDQUFvQlgsTUFBTSxhQUFOQSxNQUFNLHVCQUFOQSxNQUFNLENBQUVhLEtBQUssRUFBQUYsTUFBQSxDQUFHWCxNQUFNLGFBQU5BLE1BQU0sZUFBTkEsTUFBTSxDQUFFYyxNQUFNLGNBQUFILE1BQUEsQ0FBY1gsTUFBTSxhQUFOQSxNQUFNLHVCQUFOQSxNQUFNLENBQUVjLE1BQU0sSUFBSyxFQUFFLEVBQUFILE1BQUEsQ0FBR1QsY0FBYyxFQUFBUyxNQUFBLENBQUdSLFNBQVMsQ0FBRTtZQUN4SFksTUFBTSxFQUFFLEtBQUs7WUFDYkMsT0FBTyxFQUFFO2NBQ1AsWUFBWSxFQUFFLENBQUFoQixNQUFNLGFBQU5BLE1BQU0sZ0JBQUFDLGFBQUEsR0FBTkQsTUFBTSxDQUFFNUIsS0FBSyxjQUFBNkIsYUFBQSx1QkFBYkEsYUFBQSxDQUFlcEMsRUFBRSxDQUFDb0QsUUFBUSxDQUFDLENBQUMsS0FBSTtZQUNoRDtVQUNGLENBQUMsQ0FBQztRQUFBO1VBTkliLFFBQVEsR0FBQUcsUUFBQSxDQUFBVyxJQUFBO1VBQUFYLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BUU1MLFFBQVEsQ0FBQ2UsSUFBSSxDQUFDLENBQUM7UUFBQTtVQUE3QmQsSUFBSSxHQUFBRSxRQUFBLENBQUFXLElBQUE7VUFBQSxPQUFBWCxRQUFBLENBQUFhLE1BQUEsV0FFSDtZQUNMQyxPQUFPLEVBQUVoQixJQUFJLENBQUNpQixRQUFRO1lBQ3RCQyxRQUFRLEVBQUVsQixJQUFJLENBQUNtQixXQUFXO1lBQzFCbEUsS0FBSyxFQUFFRCxXQUFXLENBQUNnRCxJQUFJLENBQUNBLElBQUk7VUFDOUIsQ0FBQztRQUFBO1FBQUE7VUFBQSxPQUFBRSxRQUFBLENBQUFrQixJQUFBO01BQUE7SUFBQSxHQUFBMUIsT0FBQTtFQUFBLENBQ0Y7RUFBQSxnQkFwQllMLGdCQUFnQkEsQ0FBQWdDLEVBQUE7SUFBQSxPQUFBL0IsSUFBQSxDQUFBZ0MsS0FBQSxPQUFBQyxTQUFBO0VBQUE7QUFBQSxHQW9CNUIiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JlL2NoYXRzU3RvcmUudHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHR5cGUgeyBBZ2VudCB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuXG4vKiogSXRlbSBkZWwgbGlzdGFkbyBkZSBjb252ZXJzYWNpb25lcyAoaWd1YWwgZm9ybWEgcXVlIGRldnVlbHZlIGdldENoYXRzQnlVc2VySWQpICovXG5leHBvcnQgdHlwZSBDaGF0TGlzdEl0ZW0gPSB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZyB8IG51bGxcbiAgZGF0ZTogRGF0ZVxuICBhZ2VudDogc3RyaW5nXG4gIGFnZW50SWQ6IG51bWJlclxuICBlbW9qaTogc3RyaW5nIHwgbnVsbFxuICBzZXNzaW9uRXh0ZXJuYWxJZDogc3RyaW5nXG4gIGF0dGFjaG1lbnRzPzogYW55W11cbiAgcHJvamVjdElkPzogbnVtYmVyIHwgc3RyaW5nXG4gIHByb2plY3ROYW1lPzogc3RyaW5nXG4gIGNsaWVudElkPzogbnVtYmVyXG4gIGNsaWVudE5hbWU/
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N0b3JlL2NoYXRzU3RvcmUudHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHR5cGUgeyBBZ2VudCB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuXG4vKiogSXRlbSBkZWwgbGlzdGFkbyBkZSBjb252ZXJzYWNpb25lcyAoaWd1YWwgZm9ybWEgcXVlIGRldnVlbHZlIGdldENoYXRzQnlVc2VySWQpICovXG5leHBvcnQgdHlwZSBDaGF0TGlzdEl0ZW0gPSB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZyB8IG51bGxcbiAgZGF0ZTogRGF0ZVxuICBhZ2VudDogc3RyaW5nXG4gIGFnZW50SWQ6IG51bWJlclxuICBlbW9qaTogc3RyaW5nIHwgbnVsbFxuICBzZXNzaW9uRXh0ZXJuYWxJZDogc3RyaW5nXG4gIGF0dGFjaG1lbnRzPzogYW55W11cbiAgcHJvamVjdElkPzogbnVtYmVyIHwgc3RyaW5nXG4gIHByb2plY3ROYW1lPzogc3RyaW5nXG4gIGNsaWVudElkPzogbnVtYmVyXG4gIGNsaWVudE5hbWU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgU2VjdGlvblR5cGUgPSAncHJvamVjdCcgfCAnaGVhZGVyJyB8ICdjbGllbnQnIHwgJ3Rhc2snIHwgJ3BsYW5uZXInXG5cbmV4cG9ydCB0eXBlIEZldGNoQ2hhdHNQYXJhbXMgPSB7XG4gIGFnZW50OiBBZ2VudCB8IG51bGxcbiAgc2VjdGlvbjogU2VjdGlvblR5cGVcbiAgbGltaXQ/OiBudW1iZXJcbiAgb2Zmc2V0PzogbnVtYmVyXG4gIG9uRXJyb3I/OiAoKSA9PiB2b2lkXG4gIGxhbmc/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTG9hZE1vcmVDaGF0c1BhcmFtcyA9IHtcbiAgYWdlbnQ6IEFnZW50IHwgbnVsbFxuICBzZWN0aW9uOiBTZWN0aW9uVHlwZVxuICBvbkVycm9yPzogKCkgPT4gdm9pZFxuICBsYW5nPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIERlbGV0ZUNoYXRQYXJhbXMgPSB7XG4gIGNoYXRJZDogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG59XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/lib/types/Action.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL0FjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBBY3Rpb25JY29uS2V5ID1cbiAgfCAnY3JlYXRlJ1xuICB8ICdlZGl0J1xuICB8ICdhc3NpZ24nXG4gIHwgJ2NyZWF0ZV9yZXdvcmsnXG4gIHwgJ2NoYXJnZV9ob3VycydcbiAgfCAnc3VtbWFyeV90YXNrJ1xuICB8ICdzdW1tYXJ5X21lc3NhZ2VzJ1xuICB8ICdjcmVhdGVfc3VidGFzaydcbiAgfCAnY2FsZW5kYXInXG4gIHwgJ3RpbWVfYmFjaydcbiAgfCAnY2hhdCdcblxuZXhwb3J0IHR5cGUgQWN0aW9uQ2F0ZWdvcnlLZXkgPVxuICB8ICd0YXNrcydcbiAgfCAnY29sbGFib3JhdG9ycydcbiAgfCAnbGFiZWxzJ1xuICB8ICdjaGVja2xpc3RzJ1xuICB8ICdkZWxpdmVyYWJsZXMnXG4gIHwgJ3Jld29ya3MnXG4gIHwgJ2hvdXJzJ1xuXG5leHBvcnQgdHlwZSBBY3Rpb24gPSB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICBzdWJ0aXRsZTogc3RyaW5nIHwgbnVsbFxuICBwcm9tcHQ6IHN0cmluZ1xuICBsYW5ndWFnZTogc3RyaW5nIHwgbnVsbFxuICBvcmRlcj86IG51bWJlciB8IG51bGxcbiAgaWNvbj86IEFjdGlvbkljb25LZXkgfCBudWxsXG4gIGNhdGVnb3J5PzogQWN0aW9uQ2F0ZWdvcnlLZXkgfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIEFjdGlvblJlc3BvbnNlID0ge1xuICBkYXRhOiBBY3Rpb25bXVxuICBoYXNfbW9yZTogYm9vbGVhblxuICBuZXh0X29mZnNldDogbnVtYmVyIHwgbnVsbFxufVxuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
|
package/lib/types/agent.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2FnZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEtub3dsZWRnZUFnZW50ID0ge1xuICBpZDogbnVtYmVyXG4gIGZpbGVuYW1lOiBzdHJpbmdcbiAgb3JpZ2luYWxfZmlsZV90eXBlOiBzdHJpbmdcbiAgc3RhdHVzOiBzdHJpbmdcbiAgZXJyb3JfbWVzc2FnZTogc3RyaW5nXG4gIGZpbGVfc2l6ZV9ieXRlczogbnVtYmVyXG4gIGNyZWF0ZWRfYXQ6IHN0cmluZ1xuICBwcm9jZXNzaW5nX2NvbXBsZXRlZF9hdDogc3RyaW5nXG4gIGZpbGU6IEZpbGVcbn1cblxuZXhwb3J0IHR5cGUgQWdlbnRNb2RlbCA9IHtcbiAgaWQ6IG51bWJlclxuICBkaXNwbGF5X25hbWU6IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICBrZXl3b3JkPzogc3RyaW5nXG4gIG1vZGVsX25hbWU/
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2FnZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEtub3dsZWRnZUFnZW50ID0ge1xuICBpZDogbnVtYmVyXG4gIGZpbGVuYW1lOiBzdHJpbmdcbiAgb3JpZ2luYWxfZmlsZV90eXBlOiBzdHJpbmdcbiAgc3RhdHVzOiBzdHJpbmdcbiAgZXJyb3JfbWVzc2FnZTogc3RyaW5nXG4gIGZpbGVfc2l6ZV9ieXRlczogbnVtYmVyXG4gIGNyZWF0ZWRfYXQ6IHN0cmluZ1xuICBwcm9jZXNzaW5nX2NvbXBsZXRlZF9hdDogc3RyaW5nXG4gIGZpbGU6IEZpbGVcbn1cblxuZXhwb3J0IHR5cGUgQWdlbnRNb2RlbCA9IHtcbiAgaWQ6IG51bWJlclxuICBkaXNwbGF5X25hbWU6IHN0cmluZ1xuICBkZXNjcmlwdGlvbj86IHN0cmluZ1xuICBrZXl3b3JkPzogc3RyaW5nXG4gIG1vZGVsX25hbWU/OiBzdHJpbmdcbiAgaXNfZGVwcmVjYXRlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgQWdlbnRNb2RlbHNSZXNwb25zZSA9IHtcbiAgZGF0YTogQWdlbnRNb2RlbFtdXG4gIHRvdGFsOiBudW1iZXJcbn1cblxuZXhwb3J0IHR5cGUgQWdlbnRFbnRpdHkgPSAncHJvamVjdCcgfCAnY2xpZW50JyB8ICdnbG9iYWwnIHwgbnVsbFxuXG5leHBvcnQgdHlwZSBBZ2VudFR5cGUgPSAncG0nIHwgJ2N1c3RvbScgfCAnY2xvbmUnIHwgJ29yY2hlc3RyYXRvcidcblxuZXhwb3J0IHR5cGUgT3JjaGVzdHJhdG9yU3ViYWdlbnQgPSB7XG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIGVudGl0eTogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIEFnZW50Q29ubmVjdG9yID0ge1xuICBncm91cDogc3RyaW5nXG4gIHNsdWdzOiBzdHJpbmdbXVxufVxuXG5leHBvcnQgdHlwZSBBZ2VudCA9IHtcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgY3JlYXRlZF9ieT86IHtcbiAgICBuYW1lOiBzdHJpbmdcbiAgICBpc19kZWxldGVkOiBib29sZWFuXG4gIH1cbiAgY29tcGFueV9pZD86IHN0cmluZ1xuICBlbW9qaTogc3RyaW5nXG4gIGludHJvZHVjdGlvbj86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbFxuICB3ZWxjb21lX21lc3NhZ2U/OiBzdHJpbmcgfCBudWxsXG4gIHR5cGU6IEFnZW50VHlwZVxuICBlbnRpdHk/OiBBZ2VudEVudGl0eVxuICBhaV9tb2RlbF9pZD86IG51bWJlclxuICBtb2RlbF9kaXNwbGF5X25hbWU/OiBzdHJpbmdcbiAgbW9kZWxfZGVwcmVjYXRlZD86IGJvb2xlYW5cbiAgcHJvdmlkZXJfc3RhdHVzPzogc3RyaW5nIHwgbnVsbFxuICBpc19pbnRlcm5hbD86IGJvb2xlYW5cbiAga25vd2xlZGdlPzogS25vd2xlZGdlQWdlbnRbXVxuICBpbnB1dF9wbGFjZWhvbGRlcj86IHN0cmluZ1xuICBpc19kZWxldGVkPzogYm9vbGVhblxuICBkZWxldGVkX2F0Pzogc3RyaW5nIHwgbnVsbFxuICBpc19mYXZvcml0ZT86IGJvb2xlYW5cbiAgaGFzX2NvcnJ1cHRlZF9hY2Nlc3M/OiBib29sZWFuIHwgbnVsbFxuICBoYXNfbm90X3Blcm1pc3Npb25zPzogYm9vbGVhblxuICBoYXNfbm90X2FjY2Vzcz86IGJvb2xlYW5cbiAgaXNfZnJvbV9jb252ZXJzYXRpb24/OiBib29sZWFuXG4gIC8qKiBMYSBjb252ZXJzYWNpw7NuIGFiaWVydGEgZXMgZGUgdW4gY2xvbmUgbGVnYWN5IChjb24gY29udGV4dG8pOiBzZSBtdWVzdHJhIGVsIGxvZ28gTUFJQSB5IGVsXG4gICAqICBub21icmUgdGFjaGFkbywgeSBlbCBpbnB1dCBzZSByZWVtcGxhemEgcG9yIGVsIGNhcnRlbCBkZSBcImNvbnRpbnVhciBlbiB1biBjaGF0IG51ZXZvXCIuICovXG4gIGlzX2xlZ2FjeV9jb250ZXh0PzogYm9vbGVhblxuICBwcm9qZWN0X2RlbGV0ZWQ/OiB7IG5hbWU6IHN0cmluZyB9XG4gIGNvbm5lY3RvcnM/OiBBZ2VudENvbm5lY3RvcltdXG4gIC8qKiBTdWJhZ2VudGVzIGFjdGl2b3MgZGVsIG9yY2hlc3RyYXRvciAocC4gZWouIGVudGl0eSBgaG91cmAsIGB0YXNrYCwgYHByb2plY3RgKS4gKi9cbiAgc3ViYWdlbnRzPzogT3JjaGVzdHJhdG9yU3ViYWdlbnRbXVxufVxuXG5leHBvcnQgdHlwZSBBZ2VudHNSZXNwb25zZSA9IHtcbiAgZGF0YTogQWdlbnRbXVxuICB0b3RhbDogbnVtYmVyXG59XG5cbmV4cG9ydCB0eXBlIFVzZUFnZW50TW9kZWxzUmV0dXJuID0ge1xuICBhZ2VudE1vZGVsczogQWdlbnRNb2RlbFtdXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgZXJyb3I6IHN0cmluZyB8IG51bGxcbiAgaGFuZGxlR2V0QWdlbnRNb2RlbHM6ICgpID0+IFByb21pc2U8dm9pZD5cbn1cblxuZXhwb3J0IHR5cGUgVXNlQWdlbnRNb2RlbFJldHVybiA9IHtcbiAgYWdlbnRNb2RlbHM6IEFnZW50TW9kZWxbXVxuICBsb2FkaW5nOiBib29sZWFuXG4gIGVycm9yOiBzdHJpbmcgfCBudWxsXG4gIGdldEFsbEFnZW50TW9kZWxzOiAoKSA9PiBQcm9taXNlPEFnZW50TW9kZWxbXT5cbiAgZ2V0QWdlbnRNb2RlbEJ5SWQ6IChpZDogbnVtYmVyKSA9PiBBZ2VudE1vZGVsIHwgdW5kZWZpbmVkXG4gIGdldERlZmF1bHRBZ2VudE1vZGVsOiAoKSA9PiBBZ2VudE1vZGVsIHwgdW5kZWZpbmVkXG4gIHJlZnJlc2hBZ2VudE1vZGVsczogKCkgPT4gUHJvbWlzZTx2b2lkPlxufVxuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -34,4 +34,4 @@ export var buildContextMessage = function buildContextMessage(mentions) {
|
|
|
34
34
|
* único para que el visual se mantenga consistente en cualquier lugar.
|
|
35
35
|
*/
|
|
36
36
|
export var CONTEXT_MENTION_CHIP_CLASS = 'maia-context-mention-chip';
|
|
37
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZENvbnRleHRNZXNzYWdlIiwibWVudGlvbnMiLCJBcnJheSIsImlzQXJyYXkiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJyZXN1bHQiLCJmb3JFYWNoIiwibSIsImVudGl0eSIsImlkIiwibmFtZSIsImxhYmVsIiwidHlwZSIsImJ1Y2tldCIsInNvbWUiLCJlIiwiU3RyaW5nIiwicHVzaCIsIkNPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2NvbnRleHRNZW50aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIENvbnRleHRFbnRpdHlUeXBlID0gJ2NsaWVudCcgfCAncHJvamVjdCcgfCAndGFzaycgfCAndXNlcicgfCAnbWNwJ1xuXG5leHBvcnQgdHlwZSBDb250ZXh0TWVudGlvbiA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICB0eXBlOiBDb250ZXh0RW50aXR5VHlwZVxuICBsYWJlbDogc3RyaW5nXG4gIG1ldGFkYXRhPzoge1xuICAgIGNsaWVudElkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbFxuICAgIGNsaWVudE5hbWU/OiBzdHJpbmcgfCBudWxsXG4gICAgcHJvamVjdElkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbFxuICAgIHByb2plY3ROYW1lPzogc3RyaW5nIHwgbnVsbFxuICAgIGZlZUlkPzogc3RyaW5nIHwgbnVtYmVyIHwgbnVsbFxuICAgIC8qKiBUYXJlYSBwYWRyZSAoc3VidGFyZWFzIGVuIHJlc3VsdGFkb3MgZGUgYHNlYXJjaGApICovXG4gICAgZmF0aGVySWQ/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsXG4gICAgZmF0aGVyVGl0bGU/OiBzdHJpbmcgfCBudWxsXG4gICAgdG90YWxQcm95ZWN0b3M/OiBudW1iZXIgfCBudWxsXG4gICAgLyoqXG4gICAgICogTm9tYnJlIGNvbXBsZXRvIGRlc2RlIGxhIHF1ZXJ5IChwLiBlai4gZGlyZWN0b3JpbykuIEVsIGBsYWJlbGAgZGVsIGNoaXAgcHVlZGUgc2VyXG4gICAgICogZGlzdGludG8gKGVqLiBcIllvXCIpOyBwYXJhIGF2YXRhci9pbmljaWFsZXMgdXNhciBlc3RlIGNhbXBvLCBpZ3VhbCBxdWUgZW4gbGEgZmlsYSBkZWwgbW9kYWwuXG4gICAgICovXG4gICAgbmFtZT86IHN0cmluZyB8IG51bGxcbiAgICAvKiogRGlyZWN0b3JpbyBkZSB1c3VhcmlvcyAodXNlcnNEaXJlY3RvcnkpICovXG4gICAgcGljdHVyZT86IHN0cmluZyB8IG51bGxcbiAgICBwb3NpdGlvbk5hbWU/OiBzdHJpbmcgfCBudWxsXG4gICAgZW1haWw/OiBzdHJpbmcgfCBudWxsXG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgQ29udGV4dE1lbnRpb25CcmVhZGNydW1iID0ge1xuICAvKiogQ2FudGlkYWQgZGUgaXRlbXMgcmVsYWNpb25hZG9zIChwLmVqLiBcIjEzIHByb3llY3Rvc1wiIGVuIHVuIGNsaWVudCkgKi9cbiAgY291bnQ/OiBudW1iZXJcbiAgLyoqIEV0aXF1ZXRhIGRlbCBjb250ZW8geWEgdHJhZHVjaWRhIChwLmVqLiBcInByb3llY3Rvc1wiKSAqL1xuICBjb3VudExhYmVsPzogc3RyaW5nXG4gIC8qKiBFbnRpZGFkIHBhZHJlIChwLmVqLiBub21icmUgZGVsIGNsaWVudCBkZWwgcHJvamVjdCkgKi9cbiAgcGFyZW50Pzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENvbnRleHRNZW50aW9uSXRlbSA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICB0eXBlOiBDb250ZXh0RW50aXR5VHlwZVxuICAvKiogVGV4dG8gcHJpbmNpcGFsIG1vc3RyYWRvIGVuIGxhIGZpbGEgKi9cbiAgcHJpbWFyeTogc3RyaW5nXG4gIC8qKiBSYW5nbyBkZWwgcXVlcnkgYnVzY2FkbyBkZW50cm8gZGUgYHByaW1hcnlgIHBhcmEgcmVzYWx0YXIgKi9cbiAgcHJpbWFyeUhpZ2hsaWdodD86IHsgc3RhcnQ6IG51bWJlcjsgbGVuZ3RoOiBudW1iZXIgfVxuICAvKiogRGF0b3Mgc2VjdW5kYXJpb3Mgb3BjaW9uYWxlcyBwYXJhIGVsIGJyZWFkY3J1bWIgKi9cbiAgYnJlYWRjcnVtYj86IENvbnRleHRNZW50aW9uQnJlYWRjcnVtYlxuICAvKiogTWV0YWRhdGEgb3JpZ2luYWwgcGFyYSByZWNvbnN0cnVpciBsYSBtZW50aW9uIGFsIHNlbGVjY2lvbmFyICovXG4gIHJhdzogQ29udGV4dE1lbnRpb25bJ21ldGFkYXRhJ10gJiB7IGlkOiBzdHJpbmcgfCBudW1iZXI7IG5hbWU6IHN0cmluZyB9XG59XG5cbi8qKiBFbnRpZGFkIGNvbnRleHR1YWwgbWVuY2lvbmFkYSAoZm9ybWEgbcOtbmltYSBxdWUgdmlhamEgZW4gbWV0YWRhdGEpICovXG5leHBvcnQgdHlwZSBDb250ZXh0TWVzc2FnZUVudGl0eSA9IHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICBuYW1lOiBzdHJpbmdcbn1cblxuLyoqXG4gKiBCbG9xdWUgYGNvbnRleHRfbWVzc2FnZWAgcXVlIHZpYWphIGVuIGxhIG1ldGFkYXRhIGRlbCBvcmNoZXN0cmF0b3IgeVxuICogc2UgcGVyc2lzdGUgcG9yLW1lbnNhamUuIFNvbG8gdml2ZSBlbiBlbCBtZW5zYWplIGRvbmRlIHNlIGFncmVnw7MgbGFcbiAqIG1lbmNpw7NuOiBubyBcInBpc2FcIiBlbCBjb250ZXh0byBnbG9iYWwgbmkgc2UgcHJvcGFnYSBhIG90cm9zIHR1cm5vcy5cbiAqL1xuZXhwb3J0IHR5cGUgQ29udGV4dE1lc3NhZ2UgPSB7XG4gIGNsaWVudD86IENvbnRleHRNZXNzYWdlRW50aXR5W11cbiAgcHJvamVjdD86IENvbnRleHRNZXNzYWdlRW50aXR5W11cbiAgdGFzaz86IENvbnRleHRNZXNzYWdlRW50aXR5W11cbiAgdXNlcj86IENvbnRleHRNZXNzYWdlRW50aXR5W11cbiAgbWNwPzogQ29udGV4dE1lc3NhZ2VFbnRpdHlbXVxufVxuXG4vKipcbiAqIEFncnVwYSBsYXMgbWVudGlvbnMgZGVsIGVkaXRvciBwb3IgdGlwbyB5IGRlamEgZWwgc2hhcGUgbcOtbmltbyAoaWQgKyBuYW1lKVxuICogcXVlIGVzcGVyYSBlbCBiYWNrZW5kLiBEZXZ1ZWx2ZSBgdW5kZWZpbmVkYCBjdWFuZG8gbm8gaGF5IG1lbnRpb25zIGFzw60gZWxcbiAqIGNhbGxlciBwdWVkZSBkZWNpZGlyIHNpIGluY2x1aXIgbyBubyBsYSBrZXkgZW4gZWwgcGF5bG9hZC5cbiAqL1xuZXhwb3J0IGNvbnN0IGJ1aWxkQ29udGV4dE1lc3NhZ2UgPSAobWVudGlvbnM/OiBDb250ZXh0TWVudGlvbltdIHwgbnVsbCk6IENvbnRleHRNZXNzYWdlIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKCFtZW50aW9ucyB8fCAhQXJyYXkuaXNBcnJheShtZW50aW9ucykgfHwgbWVudGlvbnMubGVuZ3RoID09PSAwKSByZXR1cm4gdW5kZWZpbmVkXG4gIGNvbnN0IHJlc3VsdDogQ29udGV4dE1lc3NhZ2UgPSB7fVxuICBtZW50aW9ucy5mb3JFYWNoKG0gPT4ge1xuICAgIGNvbnN0IGVudGl0eTogQ29udGV4dE1lc3NhZ2VFbnRpdHkgPSB7IGlkOiBtLmlkLCBuYW1lOiBtLmxhYmVsIH1cbiAgICBpZiAoIXJlc3VsdFttLnR5cGVdKSByZXN1bHRbbS50eXBlXSA9IFtdXG4gICAgY29uc3QgYnVja2V0ID0gcmVzdWx0W20udHlwZV0hXG4gICAgaWYgKCFidWNrZXQuc29tZShlID0+IFN0cmluZyhlLmlkKSA9PT0gU3RyaW5nKGVudGl0eS5pZCkpKSBidWNrZXQucHVzaChlbnRpdHkpXG4gIH0pXG4gIHJldHVybiByZXN1bHRcbn1cblxuLyoqXG4gKiBDbGFzZSBDU1Mva2V5IGRlIGVzdGlsb3MgY29tcGFydGlkYSBlbnRyZSBlbCBjaGlwIGRlbCBlZGl0b3IgeSBlbCBjaGlwXG4gKiByZW5kZXJlYWRvIGVuIGxvcyBtZW5zYWplcyAoY2hhdCBhY3R1YWwgKyBoaXN0b3JpYWwpLiBTaXJ2ZSBjb21vIHB1bnRvXG4gKiDDum5pY28gcGFyYSBxdWUgZWwgdmlzdWFsIHNlIG1hbnRlbmdhIGNvbnNpc3RlbnRlIGVuIGN1YWxxdWllciBsdWdhci5cbiAqL1xuZXhwb3J0IGNvbnN0IENPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTID0gJ21haWEtY29udGV4dC1tZW50aW9uLWNoaXAnXG4iXSwibWFwcGluZ3MiOiJBQWtEQTs7QUFNQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQVNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1BLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBbUJBLENBQUlDLFFBQWtDLEVBQWlDO0VBQ3JHLElBQUksQ0FBQ0EsUUFBUSxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixRQUFRLENBQUMsSUFBSUEsUUFBUSxDQUFDRyxNQUFNLEtBQUssQ0FBQyxFQUFFLE9BQU9DLFNBQVM7RUFDcEYsSUFBTUMsTUFBc0IsR0FBRyxDQUFDLENBQUM7RUFDakNMLFFBQVEsQ0FBQ00sT0FBTyxDQUFDLFVBQUFDLENBQUMsRUFBSTtJQUNwQixJQUFNQyxNQUE0QixHQUFHO01BQUVDLEVBQUUsRUFBRUYsQ0FBQyxDQUFDRSxFQUFFO01BQUVDLElBQUksRUFBRUgsQ0FBQyxDQUFDSTtJQUFNLENBQUM7SUFDaEUsSUFBSSxDQUFDTixNQUFNLENBQUNFLENBQUMsQ0FBQ0ssSUFBSSxDQUFDLEVBQUVQLE1BQU0sQ0FBQ0UsQ0FBQyxDQUFDSyxJQUFJLENBQUMsR0FBRyxFQUFFO0lBQ3hDLElBQU1DLE1BQU0sR0FBR1IsTUFBTSxDQUFDRSxDQUFDLENBQUNLLElBQUksQ0FBRTtJQUM5QixJQUFJLENBQUNDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDLFVBQUFDLENBQUM7TUFBQSxPQUFJQyxNQUFNLENBQUNELENBQUMsQ0FBQ04sRUFBRSxDQUFDLEtBQUtPLE1BQU0sQ0FBQ1IsTUFBTSxDQUFDQyxFQUFFLENBQUM7SUFBQSxFQUFDLEVBQUVJLE1BQU0sQ0FBQ0ksSUFBSSxDQUFDVCxNQUFNLENBQUM7RUFDaEYsQ0FBQyxDQUFDO0VBQ0YsT0FBT0gsTUFBTTtBQUNmLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTWEsMEJBQTBCLEdBQUcsMkJBQTJCIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -22,6 +22,10 @@ export var ACTION_CATEGORY_MAP = {
|
|
|
22
22
|
reworks: {
|
|
23
23
|
icon: '🔁',
|
|
24
24
|
labelKey: 'homeMenu.action.categories.reworks'
|
|
25
|
+
},
|
|
26
|
+
hours: {
|
|
27
|
+
icon: '⏱️',
|
|
28
|
+
labelKey: 'homeMenu.action.categories.hours'
|
|
25
29
|
}
|
|
26
30
|
};
|
|
27
31
|
export var getActionCategory = function getActionCategory(key) {
|
|
@@ -29,5 +33,5 @@ export var getActionCategory = function getActionCategory(key) {
|
|
|
29
33
|
if (!key) return null;
|
|
30
34
|
return (_key = ACTION_CATEGORY_MAP[key]) !== null && _key !== void 0 ? _key : null;
|
|
31
35
|
};
|
|
32
|
-
export var ACTION_CATEGORY_ORDER = ['tasks', 'collaborators', 'labels', 'checklists', 'deliverables', 'reworks'];
|
|
33
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
36
|
+
export var ACTION_CATEGORY_ORDER = ['tasks', 'collaborators', 'labels', 'checklists', 'deliverables', 'reworks', 'hours'];
|
|
37
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBQ1RJT05fQ0FURUdPUllfTUFQIiwidGFza3MiLCJpY29uIiwibGFiZWxLZXkiLCJjb2xsYWJvcmF0b3JzIiwibGFiZWxzIiwiY2hlY2tsaXN0cyIsImRlbGl2ZXJhYmxlcyIsInJld29ya3MiLCJob3VycyIsImdldEFjdGlvbkNhdGVnb3J5Iiwia2V5IiwiX2tleSIsIkFDVElPTl9DQVRFR09SWV9PUkRFUiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hY3Rpb25DYXRlZ29yeU1hcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBY3Rpb25DYXRlZ29yeUtleSB9IGZyb20gJy4uL3R5cGVzL0FjdGlvbidcblxudHlwZSBDYXRlZ29yeURlZiA9IHtcbiAgaWNvbjogc3RyaW5nXG4gIGxhYmVsS2V5OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IEFDVElPTl9DQVRFR09SWV9NQVA6IFJlY29yZDxBY3Rpb25DYXRlZ29yeUtleSwgQ2F0ZWdvcnlEZWY+ID0ge1xuICB0YXNrczogeyBpY29uOiAn8J+TiycsIGxhYmVsS2V5OiAnaG9tZU1lbnUuYWN0aW9uLmNhdGVnb3JpZXMudGFza3MnIH0sXG4gIGNvbGxhYm9yYXRvcnM6IHsgaWNvbjogJ/CfkaUnLCBsYWJlbEtleTogJ2hvbWVNZW51LmFjdGlvbi5jYXRlZ29yaWVzLmNvbGxhYm9yYXRvcnMnIH0sXG4gIGxhYmVsczogeyBpY29uOiAn8J+Pt++4jycsIGxhYmVsS2V5OiAnaG9tZU1lbnUuYWN0aW9uLmNhdGVnb3JpZXMubGFiZWxzJyB9LFxuICBjaGVja2xpc3RzOiB7IGljb246ICfimJHvuI8nLCBsYWJlbEtleTogJ2hvbWVNZW51LmFjdGlvbi5jYXRlZ29yaWVzLmNoZWNrbGlzdHMnIH0sXG4gIGRlbGl2ZXJhYmxlczogeyBpY29uOiAn8J+ThCcsIGxhYmVsS2V5OiAnaG9tZU1lbnUuYWN0aW9uLmNhdGVnb3JpZXMuZGVsaXZlcmFibGVzJyB9LFxuICByZXdvcmtzOiB7IGljb246ICfwn5SBJywgbGFiZWxLZXk6ICdob21lTWVudS5hY3Rpb24uY2F0ZWdvcmllcy5yZXdvcmtzJyB9LFxuICBob3VyczogeyBpY29uOiAn4o+x77iPJywgbGFiZWxLZXk6ICdob21lTWVudS5hY3Rpb24uY2F0ZWdvcmllcy5ob3VycycgfSxcbn1cblxuZXhwb3J0IGNvbnN0IGdldEFjdGlvbkNhdGVnb3J5ID0gKGtleT86IEFjdGlvbkNhdGVnb3J5S2V5IHwgc3RyaW5nIHwgbnVsbCk6IENhdGVnb3J5RGVmIHwgbnVsbCA9PiB7XG4gIGlmICgha2V5KSByZXR1cm4gbnVsbFxuICByZXR1cm4gKEFDVElPTl9DQVRFR09SWV9NQVAgYXMgUmVjb3JkPHN0cmluZywgQ2F0ZWdvcnlEZWY+KVtrZXldID8/IG51bGxcbn1cblxuZXhwb3J0IGNvbnN0IEFDVElPTl9DQVRFR09SWV9PUkRFUjogQWN0aW9uQ2F0ZWdvcnlLZXlbXSA9IFtcbiAgJ3Rhc2tzJyxcbiAgJ2NvbGxhYm9yYXRvcnMnLFxuICAnbGFiZWxzJyxcbiAgJ2NoZWNrbGlzdHMnLFxuICAnZGVsaXZlcmFibGVzJyxcbiAgJ3Jld29ya3MnLFxuICAnaG91cnMnLFxuXVxuIl0sIm1hcHBpbmdzIjoiQUFPQSxPQUFPLElBQU1BLG1CQUEyRCxHQUFHO0VBQ3pFQyxLQUFLLEVBQUU7SUFBRUMsSUFBSSxFQUFFLElBQUk7SUFBRUMsUUFBUSxFQUFFO0VBQW1DLENBQUM7RUFDbkVDLGFBQWEsRUFBRTtJQUFFRixJQUFJLEVBQUUsSUFBSTtJQUFFQyxRQUFRLEVBQUU7RUFBMkMsQ0FBQztFQUNuRkUsTUFBTSxFQUFFO0lBQUVILElBQUksRUFBRSxLQUFLO0lBQUVDLFFBQVEsRUFBRTtFQUFvQyxDQUFDO0VBQ3RFRyxVQUFVLEVBQUU7SUFBRUosSUFBSSxFQUFFLElBQUk7SUFBRUMsUUFBUSxFQUFFO0VBQXdDLENBQUM7RUFDN0VJLFlBQVksRUFBRTtJQUFFTCxJQUFJLEVBQUUsSUFBSTtJQUFFQyxRQUFRLEVBQUU7RUFBMEMsQ0FBQztFQUNqRkssT0FBTyxFQUFFO0lBQUVOLElBQUksRUFBRSxJQUFJO0lBQUVDLFFBQVEsRUFBRTtFQUFxQyxDQUFDO0VBQ3ZFTSxLQUFLLEVBQUU7SUFBRVAsSUFBSSxFQUFFLElBQUk7SUFBRUMsUUFBUSxFQUFFO0VBQW1DO0FBQ3BFLENBQUM7QUFFRCxPQUFPLElBQU1PLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlDLEdBQXVDLEVBQXlCO0VBQUEsSUFBQUMsSUFBQTtFQUNoRyxJQUFJLENBQUNELEdBQUcsRUFBRSxPQUFPLElBQUk7RUFDckIsUUFBQUMsSUFBQSxHQUFRWixtQkFBbUIsQ0FBaUNXLEdBQUcsQ0FBQyxjQUFBQyxJQUFBLGNBQUFBLElBQUEsR0FBSSxJQUFJO0FBQzFFLENBQUM7QUFFRCxPQUFPLElBQU1DLHFCQUEwQyxHQUFHLENBQ3hELE9BQU8sRUFDUCxlQUFlLEVBQ2YsUUFBUSxFQUNSLFlBQVksRUFDWixjQUFjLEVBQ2QsU0FBUyxFQUNULE9BQU8sQ0FDUiIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -9,6 +9,9 @@ import { ActionSummaryMessagesIcon } from '../components/atoms/icons/ActionSumma
|
|
|
9
9
|
import { ActionCreateSubtaskIcon } from '../components/atoms/icons/ActionCreateSubtaskIcon';
|
|
10
10
|
import { ActionCreateReworkIcon } from '../components/atoms/icons/ActionCreateReworkIcon';
|
|
11
11
|
import { ActionChargeHoursIcon } from '../components/atoms/icons/ActionChargeHoursIcon';
|
|
12
|
+
import { ActionCalendarIcon } from '../components/atoms/icons/ActionCalendarIcon';
|
|
13
|
+
import { ActionTimeBackIcon } from '../components/atoms/icons/ActionTimeBackIcon';
|
|
14
|
+
import { ActionChatIcon } from '../components/atoms/icons/ActionChatIcon';
|
|
12
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
16
|
/**
|
|
14
17
|
* Catálogo de iconos disponibles para `Action.icon`.
|
|
@@ -26,7 +29,10 @@ export var ACTION_ICON_MAP = {
|
|
|
26
29
|
charge_hours: ActionChargeHoursIcon,
|
|
27
30
|
summary_task: ActionSummaryTaskIcon,
|
|
28
31
|
summary_messages: ActionSummaryMessagesIcon,
|
|
29
|
-
create_subtask: ActionCreateSubtaskIcon
|
|
32
|
+
create_subtask: ActionCreateSubtaskIcon,
|
|
33
|
+
calendar: ActionCalendarIcon,
|
|
34
|
+
time_back: ActionTimeBackIcon,
|
|
35
|
+
chat: ActionChatIcon
|
|
30
36
|
};
|
|
31
37
|
|
|
32
38
|
/**
|
|
@@ -52,4 +58,4 @@ export var renderActionIcon = function renderActionIcon(key) {
|
|
|
52
58
|
if (!Icon) return null;
|
|
53
59
|
return /*#__PURE__*/_jsx(Icon, _objectSpread({}, props));
|
|
54
60
|
};
|
|
55
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
61
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBY3Rpb25DcmVhdGVJY29uIiwiQWN0aW9uRWRpdEljb24iLCJBY3Rpb25Bc3NpZ25JY29uIiwiQWN0aW9uU3VtbWFyeVRhc2tJY29uIiwiQWN0aW9uU3VtbWFyeU1lc3NhZ2VzSWNvbiIsIkFjdGlvbkNyZWF0ZVN1YnRhc2tJY29uIiwiQWN0aW9uQ3JlYXRlUmV3b3JrSWNvbiIsIkFjdGlvbkNoYXJnZUhvdXJzSWNvbiIsIkFjdGlvbkNhbGVuZGFySWNvbiIsIkFjdGlvblRpbWVCYWNrSWNvbiIsIkFjdGlvbkNoYXRJY29uIiwianN4IiwiX2pzeCIsIkFDVElPTl9JQ09OX01BUCIsImNyZWF0ZSIsImVkaXQiLCJhc3NpZ24iLCJjcmVhdGVfcmV3b3JrIiwiY2hhcmdlX2hvdXJzIiwic3VtbWFyeV90YXNrIiwic3VtbWFyeV9tZXNzYWdlcyIsImNyZWF0ZV9zdWJ0YXNrIiwiY2FsZW5kYXIiLCJ0aW1lX2JhY2siLCJjaGF0IiwiZ2V0QWN0aW9uSWNvbiIsImtleSIsIl9rZXkiLCJyZW5kZXJBY3Rpb25JY29uIiwicHJvcHMiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJ3aWR0aCIsImhlaWdodCIsIkljb24iLCJfb2JqZWN0U3ByZWFkIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2FjdGlvbkljb25NYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ29tcG9uZW50VHlwZSwgUmVhY3RFbGVtZW50IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBBY3Rpb25DcmVhdGVJY29uIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9pY29ucy9BY3Rpb25DcmVhdGVJY29uJ1xuaW1wb3J0IHsgQWN0aW9uRWRpdEljb24gfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL2ljb25zL0FjdGlvbkVkaXRJY29uJ1xuaW1wb3J0IHsgQWN0aW9uQXNzaWduSWNvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvaWNvbnMvQWN0aW9uQXNzaWduSWNvbidcbmltcG9ydCB7IEFjdGlvblN1bW1hcnlUYXNrSWNvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvaWNvbnMvQWN0aW9uU3VtbWFyeVRhc2tJY29uJ1xuaW1wb3J0IHsgQWN0aW9uU3VtbWFyeU1lc3NhZ2VzSWNvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvaWNvbnMvQWN0aW9uU3VtbWFyeU1lc3NhZ2VzSWNvbidcbmltcG9ydCB7IEFjdGlvbkNyZWF0ZVN1YnRhc2tJY29uIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9pY29ucy9BY3Rpb25DcmVhdGVTdWJ0YXNrSWNvbidcbmltcG9ydCB7IEFjdGlvbkNyZWF0ZVJld29ya0ljb24gfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL2ljb25zL0FjdGlvbkNyZWF0ZVJld29ya0ljb24nXG5pbXBvcnQgeyBBY3Rpb25DaGFyZ2VIb3Vyc0ljb24gfSBmcm9tICcuLi9jb21wb25lbnRzL2F0b21zL2ljb25zL0FjdGlvbkNoYXJnZUhvdXJzSWNvbidcbmltcG9ydCB7IEFjdGlvbkNhbGVuZGFySWNvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvaWNvbnMvQWN0aW9uQ2FsZW5kYXJJY29uJ1xuaW1wb3J0IHsgQWN0aW9uVGltZUJhY2tJY29uIH0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9pY29ucy9BY3Rpb25UaW1lQmFja0ljb24nXG5pbXBvcnQgeyBBY3Rpb25DaGF0SWNvbiB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXRvbXMvaWNvbnMvQWN0aW9uQ2hhdEljb24nXG5pbXBvcnQgdHlwZSB7IEFjdGlvbkljb25LZXkgfSBmcm9tICcuLi90eXBlcy9BY3Rpb24nXG5cbnR5cGUgSWNvblByb3BzID0ge1xuICB3aWR0aD86IG51bWJlclxuICBoZWlnaHQ/OiBudW1iZXJcbn1cblxudHlwZSBJY29uQ29tcG9uZW50ID0gQ29tcG9uZW50VHlwZTxJY29uUHJvcHM+XG5cbi8qKlxuICogQ2F0w6Fsb2dvIGRlIGljb25vcyBkaXNwb25pYmxlcyBwYXJhIGBBY3Rpb24uaWNvbmAuXG4gKlxuICogQ2FkYSBrZXkgZGVsIGVudW0gYGFjdGlvbl9pY29uYCAoZGVmaW5pZG8gZW4gbWFpYSBEQikgbWFwZWEgYSB1biBjb21wb25lbnRlXG4gKiBTVkcgY3VzdG9tIGhlY2hvIGEgbWVkaWRhICh2aWV3Qm94IDIweDIwLCBncmFkaWVudCB2aW9sZXQg4oaSIGJsdWUgcGFyYVxuICogbWFudGVuZXIgY29uc2lzdGVuY2lhIGNvbiBgRmFxc0ljb25gKS4gU2kgdW5hIGFjdGlvbiB0cmFlIGBpY29uYCBjb24gdW4ga2V5XG4gKiBubyBwcmVzZW50ZSBlbiBlc3RlIG1hcCwgZWwgY29uc3VtaWRvciBkZWJlcsOtYSBmYWxsYmFjayBhbCBpY29ubyBkZWZhdWx0LlxuICovXG5leHBvcnQgY29uc3QgQUNUSU9OX0lDT05fTUFQOiBSZWNvcmQ8QWN0aW9uSWNvbktleSwgSWNvbkNvbXBvbmVudD4gPSB7XG4gIGNyZWF0ZTogQWN0aW9uQ3JlYXRlSWNvbixcbiAgZWRpdDogQWN0aW9uRWRpdEljb24sXG4gIGFzc2lnbjogQWN0aW9uQXNzaWduSWNvbixcbiAgY3JlYXRlX3Jld29yazogQWN0aW9uQ3JlYXRlUmV3b3JrSWNvbixcbiAgY2hhcmdlX2hvdXJzOiBBY3Rpb25DaGFyZ2VIb3Vyc0ljb24sXG4gIHN1bW1hcnlfdGFzazogQWN0aW9uU3VtbWFyeVRhc2tJY29uLFxuICBzdW1tYXJ5X21lc3NhZ2VzOiBBY3Rpb25TdW1tYXJ5TWVzc2FnZXNJY29uLFxuICBjcmVhdGVfc3VidGFzazogQWN0aW9uQ3JlYXRlU3VidGFza0ljb24sXG4gIGNhbGVuZGFyOiBBY3Rpb25DYWxlbmRhckljb24sXG4gIHRpbWVfYmFjazogQWN0aW9uVGltZUJhY2tJY29uLFxuICBjaGF0OiBBY3Rpb25DaGF0SWNvbixcbn1cblxuLyoqXG4gKiBEZXZ1ZWx2ZSBlbCBjb21wb25lbnRlIGRlIGljb25vIGFzb2NpYWRvIGEgbGEgYGtleWAsIG8gYG51bGxgIHNpIG5vIGV4aXN0ZS5cbiAqIGBudWxsYCBwZXJtaXRlIGFsIGNhbGxlciByZW5kZXJpemFyIHVuIGZhbGxiYWNrIChlai4gYEZhcXNJY29uYCkuXG4gKi9cbmV4cG9ydCBjb25zdCBnZXRBY3Rpb25JY29uID0gKGtleT86IEFjdGlvbkljb25LZXkgfCBzdHJpbmcgfCBudWxsKTogSWNvbkNvbXBvbmVudCB8IG51bGwgPT4ge1xuICBpZiAoIWtleSkgcmV0dXJuIG51bGxcbiAgcmV0dXJuIChBQ1RJT05fSUNPTl9NQVAgYXMgUmVjb3JkPHN0cmluZywgSWNvbkNvbXBvbmVudD4pW2tleV0gPz8gbnVsbFxufVxuXG4vKipcbiAqIEhlbHBlciBwYXJhIHJlbmRlcml6YXIgZWwgaWNvbm8gcGFzw6FuZG9sZSBwcm9wcyBkZSB0YW1hw7FvLiBTaSBga2V5YCBubyBlc3TDoSxcbiAqIGRldnVlbHZlIGBudWxsYCB5IGVsIGNhbGxlciBkZWNpZGUgcXXDqSBoYWNlci5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlbmRlckFjdGlvbkljb24gPSAoXG4gIGtleT86IEFjdGlvbkljb25LZXkgfCBzdHJpbmcgfCBudWxsLFxuICBwcm9wczogSWNvblByb3BzID0geyB3aWR0aDogMjAsIGhlaWdodDogMjAgfVxuKTogUmVhY3RFbGVtZW50IHwgbnVsbCA9PiB7XG4gIGNvbnN0IEljb24gPSBnZXRBY3Rpb25JY29uKGtleSlcbiAgaWYgKCFJY29uKSByZXR1cm4gbnVsbFxuICByZXR1cm4gPEljb24gey4uLnByb3BzfSAvPlxufVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFDQSxTQUFTQSxnQkFBZ0IsUUFBUSw0Q0FBNEM7QUFDN0UsU0FBU0MsY0FBYyxRQUFRLDBDQUEwQztBQUN6RSxTQUFTQyxnQkFBZ0IsUUFBUSw0Q0FBNEM7QUFDN0UsU0FBU0MscUJBQXFCLFFBQVEsaURBQWlEO0FBQ3ZGLFNBQVNDLHlCQUF5QixRQUFRLHFEQUFxRDtBQUMvRixTQUFTQyx1QkFBdUIsUUFBUSxtREFBbUQ7QUFDM0YsU0FBU0Msc0JBQXNCLFFBQVEsa0RBQWtEO0FBQ3pGLFNBQVNDLHFCQUFxQixRQUFRLGlEQUFpRDtBQUN2RixTQUFTQyxrQkFBa0IsUUFBUSw4Q0FBOEM7QUFDakYsU0FBU0Msa0JBQWtCLFFBQVEsOENBQThDO0FBQ2pGLFNBQVNDLGNBQWMsUUFBUSwwQ0FBMEM7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFVekU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUMsZUFBcUQsR0FBRztFQUNuRUMsTUFBTSxFQUFFZCxnQkFBZ0I7RUFDeEJlLElBQUksRUFBRWQsY0FBYztFQUNwQmUsTUFBTSxFQUFFZCxnQkFBZ0I7RUFDeEJlLGFBQWEsRUFBRVgsc0JBQXNCO0VBQ3JDWSxZQUFZLEVBQUVYLHFCQUFxQjtFQUNuQ1ksWUFBWSxFQUFFaEIscUJBQXFCO0VBQ25DaUIsZ0JBQWdCLEVBQUVoQix5QkFBeUI7RUFDM0NpQixjQUFjLEVBQUVoQix1QkFBdUI7RUFDdkNpQixRQUFRLEVBQUVkLGtCQUFrQjtFQUM1QmUsU0FBUyxFQUFFZCxrQkFBa0I7RUFDN0JlLElBQUksRUFBRWQ7QUFDUixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNZSxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUlDLEdBQW1DLEVBQTJCO0VBQUEsSUFBQUMsSUFBQTtFQUMxRixJQUFJLENBQUNELEdBQUcsRUFBRSxPQUFPLElBQUk7RUFDckIsUUFBQUMsSUFBQSxHQUFRZCxlQUFlLENBQW1DYSxHQUFHLENBQUMsY0FBQUMsSUFBQSxjQUFBQSxJQUFBLEdBQUksSUFBSTtBQUN4RSxDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNQyxnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQWdCQSxDQUMzQkYsR0FBbUMsRUFFWDtFQUFBLElBRHhCRyxLQUFnQixHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRztJQUFFRyxLQUFLLEVBQUUsRUFBRTtJQUFFQyxNQUFNLEVBQUU7RUFBRyxDQUFDO0VBRTVDLElBQU1DLElBQUksR0FBR1YsYUFBYSxDQUFDQyxHQUFHLENBQUM7RUFDL0IsSUFBSSxDQUFDUyxJQUFJLEVBQUUsT0FBTyxJQUFJO0VBQ3RCLG9CQUFPdkIsSUFBQSxDQUFDdUIsSUFBSSxFQUFBQyxhQUFBLEtBQUtQLEtBQUssQ0FBRyxDQUFDO0FBQzVCLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|