@projectcor/maia-components 2.11.26-5 → 2.11.26-6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/atoms/ApprovalBox/ApprovalBox.js +25 -55
- package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +47 -46
- package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +2 -2
- package/lib/components/atoms/icons/ChatConversation.js +40 -0
- package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +33 -0
- package/lib/components/atoms/icons/index.js +3 -1
- package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +16 -3
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +54 -44
- package/lib/components/molecules/ChatAIHome/styles.js +43 -35
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +199 -71
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +28 -15
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +81 -16
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +16 -1
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +13 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +9 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +13 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +3 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +57 -0
- package/lib/components/molecules/ChatAIModal/layout.js +35 -0
- package/lib/components/molecules/Sidebar/Sidebar.js +257 -322
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +18 -23
- package/lib/components/molecules/Sidebar/Sidebar.styles.js +54 -37
- package/lib/components/molecules/Sidebar/SidebarChats.styles.js +73 -0
- package/lib/components/molecules/Sidebar/SidebarChatsSection.js +69 -0
- package/lib/components/molecules/Sidebar/SidebarChatsSectionModal.js +151 -0
- package/lib/components/molecules/Sidebar/SidebarHistoryChat.js +238 -0
- package/lib/components/molecules/Sidebar/sidebarChats.helpers.js +70 -0
- package/lib/components/molecules/Sidebar/sidebarChats.types.js +14 -0
- package/lib/dev/Providers.js +2 -2
- package/lib/dev/fixtures/devUser.js +173 -0
- package/lib/dev/fixtures/mockedUser.js +169 -0
- package/lib/hooks/useChatManager/useChatManager.js +3 -25
- package/lib/hooks/useChats/useChats.js +12 -4
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +6 -33
- package/lib/lang/br/index.js +15 -2
- package/lib/lang/en/index.js +15 -2
- package/lib/lang/es/index.js +15 -2
- package/lib/lang/fr/index.js +15 -2
- package/lib/services/maia/Chats/getChatMessagesV2.js +114 -0
- package/lib/services/maia/Chats/getChatsByUserId.js +14 -8
- package/lib/services/maia/Chats/getSessionsGroupedV2.js +70 -0
- package/lib/services/maia/Chats/index.js +5 -1
- package/lib/services/maia/client.js +44 -9
- package/lib/store/chatsStore.types.js +10 -2
- package/lib/store/useChatsStore.js +75 -37
- package/lib/types/Chat.js +3 -1
- package/package.json +1 -1
- package/lib/hooks/useOrchestratorStream/streamRevealSmooth.js +0 -57
- package/lib/mocks/mockChats.js +0 -395
- package/lib/mocks/mockedUser.js +0 -169
|
@@ -8,6 +8,7 @@ import { useCallback } from 'react';
|
|
|
8
8
|
import { useUser } from '../../context/cor-user';
|
|
9
9
|
import { useGlobalContext } from '../../context/global-context';
|
|
10
10
|
import { useChatsStore } from '../../store/useChatsStore';
|
|
11
|
+
import { SIDEBAR_SESSIONS_PAGE_LIMIT } from '../../store/chatsStore.types';
|
|
11
12
|
import { useSnackBarManager } from '../useSnackBarManager/useSnackBarManager';
|
|
12
13
|
import { useT } from '../useT';
|
|
13
14
|
import { mapCORLang } from '../../lang/utils';
|
|
@@ -53,17 +54,22 @@ export var useChats = function useChats(_ref) {
|
|
|
53
54
|
var updateChatStore = useChatsStore(function (state) {
|
|
54
55
|
return state.updateChat;
|
|
55
56
|
});
|
|
57
|
+
var sessionsGroupHasMore = useChatsStore(function (state) {
|
|
58
|
+
return state.sessionsGroupHasMore;
|
|
59
|
+
});
|
|
56
60
|
var fetchChatsWithContext = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
57
61
|
var _ref3,
|
|
58
62
|
_ref3$limit,
|
|
59
63
|
limitParam,
|
|
60
64
|
_ref3$offset,
|
|
61
65
|
offsetParam,
|
|
66
|
+
_ref3$showGlobalLoade,
|
|
67
|
+
showGlobalLoader,
|
|
62
68
|
_args = arguments;
|
|
63
69
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
64
70
|
while (1) switch (_context.prev = _context.next) {
|
|
65
71
|
case 0:
|
|
66
|
-
_ref3 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, _ref3$limit = _ref3.limit, limitParam = _ref3$limit === void 0 ?
|
|
72
|
+
_ref3 = _args.length > 0 && _args[0] !== undefined ? _args[0] : {}, _ref3$limit = _ref3.limit, limitParam = _ref3$limit === void 0 ? SIDEBAR_SESSIONS_PAGE_LIMIT : _ref3$limit, _ref3$offset = _ref3.offset, offsetParam = _ref3$offset === void 0 ? 0 : _ref3$offset, _ref3$showGlobalLoade = _ref3.showGlobalLoader, showGlobalLoader = _ref3$showGlobalLoade === void 0 ? true : _ref3$showGlobalLoade;
|
|
67
73
|
_context.next = 1;
|
|
68
74
|
return fetchChats({
|
|
69
75
|
agent: agent,
|
|
@@ -71,7 +77,8 @@ export var useChats = function useChats(_ref) {
|
|
|
71
77
|
limit: limitParam,
|
|
72
78
|
offset: offsetParam,
|
|
73
79
|
onError: onError,
|
|
74
|
-
lang: mapCORLang(i18n.language)
|
|
80
|
+
lang: mapCORLang(i18n.language),
|
|
81
|
+
showGlobalLoader: showGlobalLoader
|
|
75
82
|
});
|
|
76
83
|
case 1:
|
|
77
84
|
case "end":
|
|
@@ -164,7 +171,8 @@ export var useChats = function useChats(_ref) {
|
|
|
164
171
|
loadMoreChats: loadMoreChats,
|
|
165
172
|
isLoadingMoreChats: isLoadingMoreChats,
|
|
166
173
|
limit: limit,
|
|
167
|
-
offset: offset
|
|
174
|
+
offset: offset,
|
|
175
|
+
sessionsGroupHasMore: sessionsGroupHasMore
|
|
168
176
|
};
|
|
169
177
|
};
|
|
170
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVVzZXIiLCJ1c2VHbG9iYWxDb250ZXh0IiwidXNlQ2hhdHNTdG9yZSIsInVzZVNuYWNrQmFyTWFuYWdlciIsInVzZVQiLCJtYXBDT1JMYW5nIiwidXNlQ2hhdHMiLCJfcmVmIiwib25FcnJvciIsInVzZXIiLCJfdXNlVCIsInQiLCJpMThuIiwiX3VzZUdsb2JhbENvbnRleHQiLCJhZ2VudCIsInNlY3Rpb24iLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJTdWNjZXNzIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsImNoYXRzIiwic3RhdGUiLCJsb2FkaW5nQ2hhdHMiLCJpc0xvYWRpbmdNb3JlQ2hhdHMiLCJuZXh0T2Zmc2V0IiwibGltaXQiLCJvZmZzZXQiLCJmZXRjaENoYXRzIiwibG9hZE1vcmVDaGF0c1N0b3JlIiwibG9hZE1vcmVDaGF0cyIsImRlbGV0ZUNoYXRTdG9yZSIsImRlbGV0ZUNoYXQiLCJ1cGRhdGVDaGF0U3RvcmUiLCJ1cGRhdGVDaGF0IiwiZmV0Y2hDaGF0c1dpdGhDb250ZXh0IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJfcmVmMyIsIl9yZWYzJGxpbWl0IiwibGltaXRQYXJhbSIsIl9yZWYzJG9mZnNldCIsIm9mZnNldFBhcmFtIiwiX2FyZ3MiLCJhcmd1bWVudHMiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImxlbmd0aCIsInVuZGVmaW5lZCIsImxhbmciLCJsYW5ndWFnZSIsInN0b3AiLCJfcmVmNCIsIl9jYWxsZWUyIiwiY2hhdElkIiwic3VjY2VzcyIsIl9jb250ZXh0MiIsInVzZXJJZCIsImlkIiwidG9TdHJpbmciLCJzZW50IiwiX3giLCJhcHBseSIsIl9yZWY1IiwiX2NhbGxlZTMiLCJjaGF0IiwiX2NvbnRleHQzIiwiX29iamVjdFNwcmVhZCIsInNlc3Npb25FeHRlcm5hbElkIiwidGl0bGUiLCJfeDIiLCJfY2FsbGVlNCIsIl9jb250ZXh0NCIsImhhc01vcmVDaGF0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VDaGF0cy91c2VDaGF0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZUNoYXRzU3RvcmUgfSBmcm9tICcuLi8uLi9zdG9yZS91c2VDaGF0c1N0b3JlJ1xuaW1wb3J0IHsgVXNlQ2hhdHNQcm9wcyB9IGZyb20gJy4vdXNlQ2hhdHMuaW50ZXJmYWNlcydcbmltcG9ydCB7IHVzZVNuYWNrQmFyTWFuYWdlciB9IGZyb20gJy4uL3VzZVNuYWNrQmFyTWFuYWdlci91c2VTbmFja0Jhck1hbmFnZXInXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vdXNlVCdcbmltcG9ydCB7IG1hcENPUkxhbmcgfSBmcm9tICcuLi8uLi9sYW5nL3V0aWxzJ1xuXG5leHBvcnQgY29uc3QgdXNlQ2hhdHMgPSAoeyBvbkVycm9yIH06IFVzZUNoYXRzUHJvcHMpID0+IHtcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB7IHQsIGkxOG4gfSA9IHVzZVQoKVxuICBjb25zdCB7IGFnZW50LCBzZWN0aW9uIH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgY29uc3QgeyBoYW5kbGVTbmFja2JhclN1Y2Nlc3MsIGhhbmRsZVNuYWNrYmFyRXJyb3IgfSA9IHVzZVNuYWNrQmFyTWFuYWdlcigpXG5cbiAgY29uc3QgY2hhdHMgPSB1c2VDaGF0c1N0b3JlKHN0YXRlID0+IHN0YXRlLmNoYXRzKVxuICBjb25zdCBsb2FkaW5nQ2hhdHMgPSB1c2VDaGF0c1N0b3JlKHN0YXRlID0+IHN0YXRlLmxvYWRpbmdDaGF0cylcbiAgY29uc3QgaXNMb2FkaW5nTW9yZUNoYXRzID0gdXNlQ2hhdHNTdG9yZShzdGF0ZSA9PiBzdGF0ZS5pc0xvYWRpbmdNb3JlQ2hhdHMpXG4gIGNvbnN0IG5leHRPZmZzZXQgPSB1c2VDaGF0c1N0b3JlKHN0YXRlID0+IHN0YXRlLm5leHRPZmZzZXQpXG4gIGNvbnN0IGxpbWl0ID0gdXNlQ2hhdHNTdG9yZShzdGF0ZSA9PiBzdGF0ZS5saW1pdClcbiAgY29uc3Qgb2Zmc2V0ID0gdXNlQ2hhdHNTdG9yZShzdGF0ZSA9PiBzdGF0ZS5vZmZzZXQpXG4gIGNvbnN0IGZldGNoQ2hhdHMgPSB1c2VDaGF0c1N0b3JlKHN0YXRlID0+IHN0YXRlLmZldGNoQ2hhdHMpXG4gIGNvbnN0IGxvYWRNb3JlQ2hhdHNTdG9yZSA9IHVzZUNoYXRzU3RvcmUoc3RhdGUgPT4gc3RhdGUubG9hZE1vcmVDaGF0cylcbiAgY29uc3QgZGVsZXRlQ2hhdFN0b3JlID0gdXNlQ2hhdHNTdG9yZShzdGF0ZSA9PiBzdGF0ZS5kZWxldGVDaGF0KVxuICBjb25zdCB1cGRhdGVDaGF0U3RvcmUgPSB1c2VDaGF0c1N0b3JlKHN0YXRlID0+IHN0YXRlLnVwZGF0ZUNoYXQpXG5cbiAgY29uc3QgZmV0Y2hDaGF0c1dpdGhDb250ZXh0ID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHsgbGltaXQ6IGxpbWl0UGFyYW0gPSAyMCwgb2Zmc2V0OiBvZmZzZXRQYXJhbSA9IDAgfTogeyBsaW1pdD86IG51bWJlcjsgb2Zmc2V0PzogbnVtYmVyIH0gPSB7fSkgPT4ge1xuICAgICAgYXdhaXQgZmV0Y2hDaGF0cyh7XG4gICAgICAgIGFnZW50LFxuICAgICAgICBzZWN0aW9uLFxuICAgICAgICBsaW1pdDogbGltaXRQYXJhbSxcbiAgICAgICAgb2Zmc2V0OiBvZmZzZXRQYXJhbSxcbiAgICAgICAgb25FcnJvcixcbiAgICAgICAgbGFuZzogbWFwQ09STGFuZyhpMThuLmxhbmd1YWdlKSxcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbYWdlbnQsIHNlY3Rpb24sIGZldGNoQ2hhdHMsIG9uRXJyb3IsIGkxOG4ubGFuZ3VhZ2VdXG4gIClcblxuICBjb25zdCBkZWxldGVDaGF0ID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKGNoYXRJZDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBzdWNjZXNzID0gYXdhaXQgZGVsZXRlQ2hhdFN0b3JlKHsgY2hhdElkLCB1c2VySWQ6IHVzZXIuaWQudG9TdHJpbmcoKSB9KVxuICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgaGFuZGxlU25hY2tiYXJTdWNjZXNzKHQoJ3NuYWNrYmFyLmRlbGV0ZUNoYXQuc3VjY2VzcycpKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdzbmFja2Jhci5kZWxldGVDaGF0LmVycm9yJykpXG4gICAgICB9XG4gICAgfSxcbiAgICBbdXNlci5pZCwgZGVsZXRlQ2hhdFN0b3JlLCBoYW5kbGVTbmFja2JhclN1Y2Nlc3MsIGhhbmRsZVNuYWNrYmFyRXJyb3IsIHRdXG4gIClcblxuICBjb25zdCB1cGRhdGVDaGF0ID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKGNoYXQ6IGFueSkgPT4ge1xuICAgICAgY29uc3Qgc3VjY2VzcyA9IGF3YWl0IHVwZGF0ZUNoYXRTdG9yZSh7XG4gICAgICAgIHNlc3Npb25FeHRlcm5hbElkOiBjaGF0LnNlc3Npb25FeHRlcm5hbElkLFxuICAgICAgICBpZDogY2hhdC5pZCxcbiAgICAgICAgLi4uKGNoYXQudGl0bGUgIT0gbnVsbCAmJiB7IHRpdGxlOiBjaGF0LnRpdGxlIH0pLFxuICAgICAgfSlcbiAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgIGhhbmRsZVNuYWNrYmFyU3VjY2Vzcyh0KCdzbmFja2Jhci5yZW5hbWVkQ2hhdC5zdWNjZXNzJykpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ3NuYWNrYmFyLnJlbmFtZWRDaGF0LmVycm9yJykpXG4gICAgICB9XG4gICAgfSxcbiAgICBbdXBkYXRlQ2hhdFN0b3JlLCBoYW5kbGVTbmFja2JhclN1Y2Nlc3MsIGhhbmRsZVNuYWNrYmFyRXJyb3IsIHRdXG4gIClcblxuICBjb25zdCBsb2FkTW9yZUNoYXRzID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IGxvYWRNb3JlQ2hhdHNTdG9yZSh7IGFnZW50LCBzZWN0aW9uLCBvbkVycm9yLCBsYW5nOiBtYXBDT1JMYW5nKGkxOG4ubGFuZ3VhZ2UpIH0pXG4gIH0sIFthZ2VudCwgc2VjdGlvbiwgbG9hZE1vcmVDaGF0c1N0b3JlLCBvbkVycm9yLCBpMThuLmxhbmd1YWdlXSlcblxuICByZXR1cm4ge1xuICAgIGxvYWRpbmdDaGF0cyxcbiAgICBmZXRjaENoYXRzOiBmZXRjaENoYXRzV2l0aENvbnRleHQsXG4gICAgZGVsZXRlQ2hhdCxcbiAgICBjaGF0cyxcbiAgICB1cGRhdGVDaGF0LFxuICAgIGhhc01vcmVDaGF0czogbmV4dE9mZnNldCAhPT0gbnVsbCxcbiAgICBsb2FkTW9yZUNoYXRzLFxuICAgIGlzTG9hZGluZ01vcmVDaGF0cyxcbiAgICBsaW1pdCxcbiAgICBvZmZzZXQsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBLFNBQVNBLFdBQVcsUUFBUSxPQUFPO0FBQ25DLFNBQVNDLE9BQU8sUUFBUSx3QkFBd0I7QUFDaEQsU0FBU0MsZ0JBQWdCLFFBQVEsOEJBQThCO0FBQy9ELFNBQVNDLGFBQWEsUUFBUSwyQkFBMkI7QUFFekQsU0FBU0Msa0JBQWtCLFFBQVEsMENBQTBDO0FBQzdFLFNBQVNDLElBQUksUUFBUSxTQUFTO0FBQzlCLFNBQVNDLFVBQVUsUUFBUSxrQkFBa0I7QUFFN0MsT0FBTyxJQUFNQyxRQUFRLEdBQUcsU0FBWEEsUUFBUUEsQ0FBQUMsSUFBQSxFQUFtQztFQUFBLElBQTdCQyxPQUFPLEdBQUFELElBQUEs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
|
|
178
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVVzZXIiLCJ1c2VHbG9iYWxDb250ZXh0IiwidXNlQ2hhdHNTdG9yZSIsIlNJREVCQVJfU0VTU0lPTlNfUEFHRV9MSU1JVCIsInVzZVNuYWNrQmFyTWFuYWdlciIsInVzZVQiLCJtYXBDT1JMYW5nIiwidXNlQ2hhdHMiLCJfcmVmIiwib25FcnJvciIsInVzZXIiLCJfdXNlVCIsInQiLCJpMThuIiwiX3VzZUdsb2JhbENvbnRleHQiLCJhZ2VudCIsInNlY3Rpb24iLCJfdXNlU25hY2tCYXJNYW5hZ2VyIiwiaGFuZGxlU25hY2tiYXJTdWNjZXNzIiwiaGFuZGxlU25hY2tiYXJFcnJvciIsImNoYXRzIiwic3RhdGUiLCJsb2FkaW5nQ2hhdHMiLCJpc0xvYWRpbmdNb3JlQ2hhdHMiLCJuZXh0T2Zmc2V0IiwibGltaXQiLCJvZmZzZXQiLCJmZXRjaENoYXRzIiwibG9hZE1vcmVDaGF0c1N0b3JlIiwibG9hZE1vcmVDaGF0cyIsImRlbGV0ZUNoYXRTdG9yZSIsImRlbGV0ZUNoYXQiLCJ1cGRhdGVDaGF0U3RvcmUiLCJ1cGRhdGVDaGF0Iiwic2Vzc2lvbnNHcm91cEhhc01vcmUiLCJmZXRjaENoYXRzV2l0aENvbnRleHQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIl9yZWYzIiwiX3JlZjMkbGltaXQiLCJsaW1pdFBhcmFtIiwiX3JlZjMkb2Zmc2V0Iiwib2Zmc2V0UGFyYW0iLCJfcmVmMyRzaG93R2xvYmFsTG9hZGUiLCJzaG93R2xvYmFsTG9hZGVyIiwiX2FyZ3MiLCJhcmd1bWVudHMiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImxlbmd0aCIsInVuZGVmaW5lZCIsImxhbmciLCJsYW5ndWFnZSIsInN0b3AiLCJfcmVmNCIsIl9jYWxsZWUyIiwiY2hhdElkIiwic3VjY2VzcyIsIl9jb250ZXh0MiIsInVzZXJJZCIsImlkIiwidG9TdHJpbmciLCJzZW50IiwiX3giLCJhcHBseSIsIl9yZWY1IiwiX2NhbGxlZTMiLCJjaGF0IiwiX2NvbnRleHQzIiwiX29iamVjdFNwcmVhZCIsInNlc3Npb25FeHRlcm5hbElkIiwidGl0bGUiLCJfeDIiLCJfY2FsbGVlNCIsIl9jb250ZXh0NCIsImhhc01vcmVDaGF0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VDaGF0cy91c2VDaGF0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZUNoYXRzU3RvcmUgfSBmcm9tICcuLi8uLi9zdG9yZS91c2VDaGF0c1N0b3JlJ1xuaW1wb3J0IHsgU0lERUJBUl9TRVNTSU9OU19QQUdFX0xJTUlUIH0gZnJvbSAnLi4vLi4vc3RvcmUvY2hhdHNTdG9yZS50eXBlcydcbmltcG9ydCB7IFVzZUNoYXRzUHJvcHMgfSBmcm9tICcuL3VzZUNoYXRzLmludGVyZmFjZXMnXG5pbXBvcnQgeyB1c2VTbmFja0Jhck1hbmFnZXIgfSBmcm9tICcuLi91c2VTbmFja0Jhck1hbmFnZXIvdXNlU25hY2tCYXJNYW5hZ2VyJ1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uL3VzZVQnXG5pbXBvcnQgeyBtYXBDT1JMYW5nIH0gZnJvbSAnLi4vLi4vbGFuZy91dGlscydcblxuZXhwb3J0IGNvbnN0IHVzZUNoYXRzID0gKHsgb25FcnJvciB9OiBVc2VDaGF0c1Byb3BzKSA9PiB7XG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgeyB0LCBpMThuIH0gPSB1c2VUKClcbiAgY29uc3QgeyBhZ2VudCwgc2VjdGlvbiB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJTdWNjZXNzLCBoYW5kbGVTbmFja2JhckVycm9yIH0gPSB1c2VTbmFja0Jhck1hbmFnZXIoKVxuXG4gIGNvbnN0IGNoYXRzID0gdXNlQ2hhdHNTdG9yZShzdGF0ZSA9PiBzdGF0ZS5jaGF0cylcbiAgY29uc3QgbG9hZGluZ0NoYXRzID0gdXNlQ2hhdHNTdG9yZShzdGF0ZSA9PiBzdGF0ZS5sb2FkaW5nQ2hhdHMpXG4gIGNvbnN0IGlzTG9hZGluZ01vcmVDaGF0cyA9IHVzZUNoYXRzU3RvcmUoc3RhdGUgPT4gc3RhdGUuaXNMb2FkaW5nTW9yZUNoYXRzKVxuICBjb25zdCBuZXh0T2Zmc2V0ID0gdXNlQ2hhdHNTdG9yZShzdGF0ZSA9PiBzdGF0ZS5uZXh0T2Zmc2V0KVxuICBjb25zdCBsaW1pdCA9IHVzZUNoYXRzU3RvcmUoc3RhdGUgPT4gc3RhdGUubGltaXQpXG4gIGNvbnN0IG9mZnNldCA9IHVzZUNoYXRzU3RvcmUoc3RhdGUgPT4gc3RhdGUub2Zmc2V0KVxuICBjb25zdCBmZXRjaENoYXRzID0gdXNlQ2hhdHNTdG9yZShzdGF0ZSA9PiBzdGF0ZS5mZXRjaENoYXRzKVxuICBjb25zdCBsb2FkTW9yZUNoYXRzU3RvcmUgPSB1c2VDaGF0c1N0b3JlKHN0YXRlID0+IHN0YXRlLmxvYWRNb3JlQ2hhdHMpXG4gIGNvbnN0IGRlbGV0ZUNoYXRTdG9yZSA9IHVzZUNoYXRzU3RvcmUoc3RhdGUgPT4gc3RhdGUuZGVsZXRlQ2hhdClcbiAgY29uc3QgdXBkYXRlQ2hhdFN0b3JlID0gdXNlQ2hhdHNTdG9yZShzdGF0ZSA9PiBzdGF0ZS51cGRhdGVDaGF0KVxuICBjb25zdCBzZXNzaW9uc0dyb3VwSGFzTW9yZSA9IHVzZUNoYXRzU3RvcmUoc3RhdGUgPT4gc3RhdGUuc2Vzc2lvbnNHcm91cEhhc01vcmUpXG5cbiAgY29uc3QgZmV0Y2hDaGF0c1dpdGhDb250ZXh0ID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHtcbiAgICAgIGxpbWl0OiBsaW1pdFBhcmFtID0gU0lERUJBUl9TRVNTSU9OU19QQUdFX0xJTUlULFxuICAgICAgb2Zmc2V0OiBvZmZzZXRQYXJhbSA9IDAsXG4gICAgICBzaG93R2xvYmFsTG9hZGVyID0gdHJ1ZSxcbiAgICB9OiB7IGxpbWl0PzogbnVtYmVyOyBvZmZzZXQ/OiBudW1iZXI7IHNob3dHbG9iYWxMb2FkZXI/OiBib29sZWFuIH0gPSB7fSkgPT4ge1xuICAgICAgYXdhaXQgZmV0Y2hDaGF0cyh7XG4gICAgICAgIGFnZW50LFxuICAgICAgICBzZWN0aW9uLFxuICAgICAgICBsaW1pdDogbGltaXRQYXJhbSxcbiAgICAgICAgb2Zmc2V0OiBvZmZzZXRQYXJhbSxcbiAgICAgICAgb25FcnJvcixcbiAgICAgICAgbGFuZzogbWFwQ09STGFuZyhpMThuLmxhbmd1YWdlKSxcbiAgICAgICAgc2hvd0dsb2JhbExvYWRlcixcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbYWdlbnQsIHNlY3Rpb24sIGZldGNoQ2hhdHMsIG9uRXJyb3IsIGkxOG4ubGFuZ3VhZ2VdXG4gIClcblxuICBjb25zdCBkZWxldGVDaGF0ID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKGNoYXRJZDogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBzdWNjZXNzID0gYXdhaXQgZGVsZXRlQ2hhdFN0b3JlKHsgY2hhdElkLCB1c2VySWQ6IHVzZXIuaWQudG9TdHJpbmcoKSB9KVxuICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgaGFuZGxlU25hY2tiYXJTdWNjZXNzKHQoJ3NuYWNrYmFyLmRlbGV0ZUNoYXQuc3VjY2VzcycpKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcih0KCdzbmFja2Jhci5kZWxldGVDaGF0LmVycm9yJykpXG4gICAgICB9XG4gICAgfSxcbiAgICBbdXNlci5pZCwgZGVsZXRlQ2hhdFN0b3JlLCBoYW5kbGVTbmFja2JhclN1Y2Nlc3MsIGhhbmRsZVNuYWNrYmFyRXJyb3IsIHRdXG4gIClcblxuICBjb25zdCB1cGRhdGVDaGF0ID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKGNoYXQ6IGFueSkgPT4ge1xuICAgICAgY29uc3Qgc3VjY2VzcyA9IGF3YWl0IHVwZGF0ZUNoYXRTdG9yZSh7XG4gICAgICAgIHNlc3Npb25FeHRlcm5hbElkOiBjaGF0LnNlc3Npb25FeHRlcm5hbElkLFxuICAgICAgICBpZDogY2hhdC5pZCxcbiAgICAgICAgLi4uKGNoYXQudGl0bGUgIT0gbnVsbCAmJiB7IHRpdGxlOiBjaGF0LnRpdGxlIH0pLFxuICAgICAgfSlcbiAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgIGhhbmRsZVNuYWNrYmFyU3VjY2Vzcyh0KCdzbmFja2Jhci5yZW5hbWVkQ2hhdC5zdWNjZXNzJykpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ3NuYWNrYmFyLnJlbmFtZWRDaGF0LmVycm9yJykpXG4gICAgICB9XG4gICAgfSxcbiAgICBbdXBkYXRlQ2hhdFN0b3JlLCBoYW5kbGVTbmFja2JhclN1Y2Nlc3MsIGhhbmRsZVNuYWNrYmFyRXJyb3IsIHRdXG4gIClcblxuICBjb25zdCBsb2FkTW9yZUNoYXRzID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGF3YWl0IGxvYWRNb3JlQ2hhdHNTdG9yZSh7IGFnZW50LCBzZWN0aW9uLCBvbkVycm9yLCBsYW5nOiBtYXBDT1JMYW5nKGkxOG4ubGFuZ3VhZ2UpIH0pXG4gIH0sIFthZ2VudCwgc2VjdGlvbiwgbG9hZE1vcmVDaGF0c1N0b3JlLCBvbkVycm9yLCBpMThuLmxhbmd1YWdlXSlcblxuICByZXR1cm4ge1xuICAgIGxvYWRpbmdDaGF0cyxcbiAgICBmZXRjaENoYXRzOiBmZXRjaENoYXRzV2l0aENvbnRleHQsXG4gICAgZGVsZXRlQ2hhdCxcbiAgICBjaGF0cyxcbiAgICB1cGRhdGVDaGF0LFxuICAgIGhhc01vcmVDaGF0czogbmV4dE9mZnNldCAhPT0gbnVsbCxcbiAgICBsb2FkTW9yZUNoYXRzLFxuICAgIGlzTG9hZGluZ01vcmVDaGF0cyxcbiAgICBsaW1pdCxcbiAgICBvZmZzZXQsXG4gICAgc2Vzc2lvbnNHcm91cEhhc01vcmUsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBLFNBQVNBLFdBQVcsUUFBUSxPQUFPO0FBQ25DLFNBQVNDLE9BQU8sUUFBUSx3QkFBd0I7QUFDaEQsU0FBU0MsZ0JBQWdCLFFBQVEsOEJBQThCO0FBQy9ELFNBQVNDLGFBQWEsUUFBUSwyQkFBMkI7QUFDekQsU0FBU0MsMkJBQTJCLFFBQVEsOEJBQThCO0FBRTFFLFNBQVNDLGtCQUFrQixRQUFRLDBDQUEwQztBQUM3RSxTQUFTQyxJQUFJLFFBQVEsU0FBUztBQUM5QixTQUFTQyxVQUFVLFFBQVEsa0JBQWtCO0FBRTdDLE9BQU8sSUFBTUMsUUFBUSxHQUFHLFNBQVhBLFFBQVFBLENBQUFDLElBQUEsRUFBbUM7RUFBQSxJQUE3QkMsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87RUFDaEMsSUFBTUMsSUFBSSxHQUFHVixPQUFPLENBQUMsQ0FBQztFQUN0QixJQUFBVyxLQUFBLEdBQW9CTixJQUFJLENBQUMsQ0FBQztJQUFsQk8sQ0FBQyxHQUFBRCxLQUFBLENBQURDLENBQUM7SUFBRUMsSUFBSSxHQUFBRixLQUFBLENBQUpFLElBQUk7RUFDZixJQUFBQyxpQkFBQSxHQUEyQmIsZ0JBQWdCLENBQUMsQ0FBQztJQUFyQ2MsS0FBSyxHQUFBRCxpQkFBQSxDQUFMQyxLQUFLO0lBQUVDLE9BQU8sR0FBQUYsaUJBQUEsQ0FBUEUsT0FBTztFQUN0QixJQUFBQyxtQkFBQSxHQUF1RGIsa0JBQWtCLENBQUMsQ0FBQztJQUFuRWMscUJBQXFCLEdBQUFELG1CQUFBLENBQXJCQyxxQkFBcUI7SUFBRUMsbUJBQW1CLEdBQUFGLG1CQUFBLENBQW5CRSxtQkFBbUI7RUFFbEQsSUFBTUMsS0FBSyxHQUFHbEIsYUFBYSxDQUFDLFVBQUFtQixLQUFLO0lBQUEsT0FBSUEsS0FBSyxDQUFDRCxL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
|
|
@@ -19,7 +19,6 @@ import { useState, useCallback, useRef } from 'react';
|
|
|
19
19
|
import { useTranslation } from 'react-i18next';
|
|
20
20
|
import maia from '../../services/maia';
|
|
21
21
|
import { SECTIONS } from '../../constants/config';
|
|
22
|
-
import { createStreamRevealSmooth } from './streamRevealSmooth';
|
|
23
22
|
export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
24
23
|
var onStreamUpdate = _ref.onStreamUpdate,
|
|
25
24
|
onFinishStream = _ref.onFinishStream,
|
|
@@ -47,7 +46,6 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
47
46
|
setLoadingMessage = _useState8[1];
|
|
48
47
|
var abortControllerRef = useRef(null);
|
|
49
48
|
var isStoppedRef = useRef(false);
|
|
50
|
-
var streamRevealRef = useRef(null);
|
|
51
49
|
var onStreamUpdateRef = useRef(onStreamUpdate);
|
|
52
50
|
var onFinishStreamRef = useRef(onFinishStream);
|
|
53
51
|
var onStartWritingRef = useRef(onStartWriting);
|
|
@@ -60,19 +58,9 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
60
58
|
onStopRef.current = onStop;
|
|
61
59
|
onErrorRef.current = onError;
|
|
62
60
|
onApprovalRequiredRef.current = onApprovalRequired;
|
|
63
|
-
var getStreamReveal = useCallback(function () {
|
|
64
|
-
if (streamRevealRef.current === null) {
|
|
65
|
-
streamRevealRef.current = createStreamRevealSmooth(function (text) {
|
|
66
|
-
var _onStreamUpdateRef$cu;
|
|
67
|
-
setData(text);
|
|
68
|
-
(_onStreamUpdateRef$cu = onStreamUpdateRef.current) === null || _onStreamUpdateRef$cu === void 0 || _onStreamUpdateRef$cu.call(onStreamUpdateRef, text, null, '');
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
return streamRevealRef.current;
|
|
72
|
-
}, []);
|
|
73
61
|
var handleSSEStream = useCallback(/*#__PURE__*/function () {
|
|
74
62
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(response) {
|
|
75
|
-
var _data$agent_id, _onFinishStreamRef$cu, _onApprovalRequiredRe, _onErrorRef$current;
|
|
63
|
+
var _onStreamUpdateRef$cu, _data$agent_id, _onFinishStreamRef$cu, _onApprovalRequiredRe, _onErrorRef$current;
|
|
76
64
|
var _response$body, reader, decoder, buffer, accumulatedContent, hasStartedWriting, _yield$reader$read, done, value, lines, _iterator, _step, line, _line$split, _line$split2, eventLine, dataLine, eventType, dataStr, _data, _onStartWritingRef$cu, nodeMessage, finalContent, sources, memorySessionId, suggestions, agentIdRaw, completedAgentId, _onErrorRef$current2, _t, _t2, _t3, _t4;
|
|
77
65
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
78
66
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -162,7 +150,8 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
162
150
|
(_onStartWritingRef$cu = onStartWritingRef.current) === null || _onStartWritingRef$cu === void 0 || _onStartWritingRef$cu.call(onStartWritingRef);
|
|
163
151
|
}
|
|
164
152
|
accumulatedContent += _data.content;
|
|
165
|
-
|
|
153
|
+
setData(accumulatedContent);
|
|
154
|
+
(_onStreamUpdateRef$cu = onStreamUpdateRef.current) === null || _onStreamUpdateRef$cu === void 0 || _onStreamUpdateRef$cu.call(onStreamUpdateRef, accumulatedContent, null, '');
|
|
166
155
|
return _context.abrupt("continue", 18);
|
|
167
156
|
case 13:
|
|
168
157
|
// Si el evento node tiene un mensaje, actualizarlo para mostrarlo en el loader
|
|
@@ -186,16 +175,12 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
186
175
|
}
|
|
187
176
|
agentIdRaw = (_data$agent_id = _data.agent_id) !== null && _data$agent_id !== void 0 ? _data$agent_id : _data.agentId;
|
|
188
177
|
completedAgentId = agentIdRaw != null && String(agentIdRaw).trim() !== '' ? String(agentIdRaw).trim() : null;
|
|
189
|
-
getStreamReveal().cancel();
|
|
190
|
-
getStreamReveal().reset();
|
|
191
178
|
setData(finalContent);
|
|
192
179
|
setIsWriting(false);
|
|
193
180
|
setLoadingMessage(null); // Limpiar mensaje cuando se completa
|
|
194
181
|
(_onFinishStreamRef$cu = onFinishStreamRef.current) === null || _onFinishStreamRef$cu === void 0 || _onFinishStreamRef$cu.call(onFinishStreamRef, finalContent, sources, memorySessionId, suggestions, completedAgentId);
|
|
195
182
|
return _context.abrupt("continue", 18);
|
|
196
183
|
case 15:
|
|
197
|
-
getStreamReveal().cancel();
|
|
198
|
-
getStreamReveal().reset();
|
|
199
184
|
setIsWriting(false);
|
|
200
185
|
setLoading(false);
|
|
201
186
|
setLoadingMessage(null); // Limpiar mensaje cuando se requiere aprobación
|
|
@@ -203,8 +188,6 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
203
188
|
return _context.abrupt("continue", 18);
|
|
204
189
|
case 16:
|
|
205
190
|
console.error('SSE Error:', _data.error);
|
|
206
|
-
getStreamReveal().cancel();
|
|
207
|
-
getStreamReveal().reset();
|
|
208
191
|
setIsWriting(false);
|
|
209
192
|
setLoadingMessage(null); // Limpiar mensaje cuando hay error
|
|
210
193
|
(_onErrorRef$current = onErrorRef.current) === null || _onErrorRef$current === void 0 || _onErrorRef$current.call(onErrorRef);
|
|
@@ -241,8 +224,6 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
241
224
|
case 26:
|
|
242
225
|
_context.prev = 26;
|
|
243
226
|
_t4 = _context["catch"](0);
|
|
244
|
-
getStreamReveal().cancel();
|
|
245
|
-
getStreamReveal().reset();
|
|
246
227
|
setIsWriting(false);
|
|
247
228
|
|
|
248
229
|
// Solo ejecutar onError si no fue un stop intencional
|
|
@@ -251,8 +232,6 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
251
232
|
}
|
|
252
233
|
case 27:
|
|
253
234
|
_context.prev = 27;
|
|
254
|
-
getStreamReveal().cancel();
|
|
255
|
-
getStreamReveal().reset();
|
|
256
235
|
setLoading(false);
|
|
257
236
|
setIsWriting(false);
|
|
258
237
|
setLoadingMessage(null);
|
|
@@ -266,7 +245,7 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
266
245
|
return function (_x) {
|
|
267
246
|
return _ref2.apply(this, arguments);
|
|
268
247
|
};
|
|
269
|
-
}(), [t
|
|
248
|
+
}(), [t]);
|
|
270
249
|
var askMaia = /*#__PURE__*/function () {
|
|
271
250
|
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref3) {
|
|
272
251
|
var message, history, projectId, lang, userId, firstName, lastName, companyId, chatId, messageId, clientId, clientName, agentName, agentId, isWebSearchActive, isDeepSearchActive, attachments, projectName, faqId, agentSuggestionId, agentEntity, _abortControllerRef$c, response, _t5;
|
|
@@ -277,7 +256,6 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
277
256
|
_context2.prev = 1;
|
|
278
257
|
setLoading(true);
|
|
279
258
|
setIsWriting(false);
|
|
280
|
-
getStreamReveal().reset();
|
|
281
259
|
setData(null);
|
|
282
260
|
setLoadingMessage(null);
|
|
283
261
|
isStoppedRef.current = false; // Resetear flag al iniciar nueva petición
|
|
@@ -341,12 +319,10 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
341
319
|
}();
|
|
342
320
|
var stopStreaming = useCallback(function () {
|
|
343
321
|
if (abortControllerRef.current) {
|
|
344
|
-
var
|
|
322
|
+
var _onStopRef$current;
|
|
345
323
|
isStoppedRef.current = true;
|
|
346
324
|
abortControllerRef.current.abort();
|
|
347
325
|
abortControllerRef.current = null;
|
|
348
|
-
(_streamRevealRef$curr = streamRevealRef.current) === null || _streamRevealRef$curr === void 0 || _streamRevealRef$curr.cancel();
|
|
349
|
-
(_streamRevealRef$curr2 = streamRevealRef.current) === null || _streamRevealRef$curr2 === void 0 || _streamRevealRef$curr2.reset();
|
|
350
326
|
setLoading(false);
|
|
351
327
|
setIsWriting(false);
|
|
352
328
|
setLoadingMessage(null);
|
|
@@ -354,9 +330,6 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
354
330
|
}
|
|
355
331
|
}, []);
|
|
356
332
|
var reset = function reset() {
|
|
357
|
-
var _streamRevealRef$curr3, _streamRevealRef$curr4;
|
|
358
|
-
(_streamRevealRef$curr3 = streamRevealRef.current) === null || _streamRevealRef$curr3 === void 0 || _streamRevealRef$curr3.cancel();
|
|
359
|
-
(_streamRevealRef$curr4 = streamRevealRef.current) === null || _streamRevealRef$curr4 === void 0 || _streamRevealRef$curr4.reset();
|
|
360
333
|
setData(null);
|
|
361
334
|
setLoading(false);
|
|
362
335
|
setIsWriting(false);
|
|
@@ -374,4 +347,4 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
374
347
|
handleSSEStream: handleSSEStream // Exponer para poder usarlo en continue-thread
|
|
375
348
|
};
|
|
376
349
|
};
|
|
377
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlUmVmIiwidXNlVHJhbnNsYXRpb24iLCJtYWlhIiwiU0VDVElPTlMiLCJjcmVhdGVTdHJlYW1SZXZlYWxTbW9vdGgiLCJ1c2VPcmNoZXN0cmF0b3JTdHJlYW0iLCJfcmVmIiwib25TdHJlYW1VcGRhdGUiLCJvbkZpbmlzaFN0cmVhbSIsIm9uU3RhcnRXcml0aW5nIiwib25TdG9wIiwib25FcnJvciIsIm9uQXBwcm92YWxSZXF1aXJlZCIsIl91c2VUcmFuc2xhdGlvbiIsImNoYXRBSSIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJkYXRhIiwic2V0RGF0YSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNMb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNXcml0aW5nIiwic2V0SXNXcml0aW5nIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJsb2FkaW5nTWVzc2FnZSIsInNldExvYWRpbmdNZXNzYWdlIiwiYWJvcnRDb250cm9sbGVyUmVmIiwiaXNTdG9wcGVkUmVmIiwic3RyZWFtUmV2ZWFsUmVmIiwib25TdHJlYW1VcGRhdGVSZWYiLCJvbkZpbmlzaFN0cmVhbVJlZiIsIm9uU3RhcnRXcml0aW5nUmVmIiwib25TdG9wUmVmIiwib25FcnJvclJlZiIsIm9uQXBwcm92YWxSZXF1aXJlZFJlZiIsImN1cnJlbnQiLCJnZXRTdHJlYW1SZXZlYWwiLCJ0ZXh0IiwiX29uU3RyZWFtVXBkYXRlUmVmJGN1IiwiY2FsbCIsImhhbmRsZVNTRVN0cmVhbSIsIl9yZWYyIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJyZXNwb25zZSIsIl9kYXRhJGFnZW50X2lkIiwiX29uRmluaXNoU3RyZWFtUmVmJGN1IiwiX29uQXBwcm92YWxSZXF1aXJlZFJlIiwiX29uRXJyb3JSZWYkY3VycmVudCIsIl9yZXNwb25zZSRib2R5IiwicmVhZGVyIiwiZGVjb2RlciIsImJ1ZmZlciIsImFjY3VtdWxhdGVkQ29udGVudCIsImhhc1N0YXJ0ZWRXcml0aW5nIiwiX3lpZWxkJHJlYWRlciRyZWFkIiwiZG9uZSIsInZhbHVlIiwibGluZXMiLCJfaXRlcmF0b3IiLCJfc3RlcCIsImxpbmUiLCJfbGluZSRzcGxpdCIsIl9saW5lJHNwbGl0MiIsImV2ZW50TGluZSIsImRhdGFMaW5lIiwiZXZlbnRUeXBlIiwiZGF0YVN0ciIsIl9kYXRhIiwiX29uU3RhcnRXcml0aW5nUmVmJGN1Iiwibm9kZU1lc3NhZ2UiLCJmaW5hbENvbnRlbnQiLCJzb3VyY2VzIiwibWVtb3J5U2Vzc2lvbklkIiwic3VnZ2VzdGlvbnMiLCJhZ2VudElkUmF3IiwiY29tcGxldGVkQWdlbnRJZCIsIl9vbkVycm9yUmVmJGN1cnJlbnQyIiwiX3QiLCJfdDIiLCJfdDMiLCJfdDQiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImJvZHkiLCJnZXRSZWFkZXIiLCJFcnJvciIsIlRleHREZWNvZGVyIiwiY2FuY2VsIiwiYWJydXB0IiwicmVhZCIsInNlbnQiLCJkZWNvZGUiLCJzdHJlYW0iLCJzcGxpdCIsInBvcCIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwicyIsIm4iLCJ0cmltIiwicmVwbGFjZSIsIkpTT04iLCJwYXJzZSIsImNvbnRlbnQiLCJzZXRUYXJnZXQiLCJtZXNzYWdlIiwiaW5jbHVkZXMiLCJtZW1vcnlfc2Vzc2lvbl9pZCIsIkFycmF5IiwiaXNBcnJheSIsInN1Z2dlc3RfcmVwbHkiLCJhZ2VudF9pZCIsImFnZW50SWQiLCJTdHJpbmciLCJyZXNldCIsImNvbnNvbGUiLCJlcnJvciIsIndhcm4iLCJlIiwiZiIsImZpbmlzaCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiYXNrTWFpYSIsIl9yZWY0IiwiX2NhbGxlZTIiLCJfcmVmMyIsImhpc3RvcnkiLCJwcm9qZWN0SWQiLCJsYW5nIiwidXNlcklkIiwiZmlyc3ROYW1lIiwibGFzdE5hbWUiLCJjb21wYW55SWQiLCJjaGF0SWQiLCJtZXNzYWdlSWQiLCJjbGllbnRJZCIsImNsaWVudE5hbWUiLCJhZ2VudE5hbWUiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsImF0dGFjaG1lbnRzIiwicHJvamVjdE5hbWUiLCJmYXFJZCIsImFnZW50U3VnZ2VzdGlvbklkIiwiYWdlbnRFbnRpdHkiLCJfYWJvcnRDb250cm9sbGVyUmVmJGMiLCJfdDUiLCJfY29udGV4dDIiLCJBYm9ydENvbnRyb2xsZXIiLCJPcmNoZXN0cmF0b3IiLCJvcmNoZXN0cmF0b3IiLCJfb2JqZWN0U3ByZWFkIiwiaW5wdXQiLCJzaWduYWwiLCJfeDIiLCJzdG9wU3RyZWFtaW5nIiwiX3N0cmVhbVJldmVhbFJlZiRjdXJyIiwiX3N0cmVhbVJldmVhbFJlZiRjdXJyMiIsIl9vblN0b3BSZWYkY3VycmVudCIsImFib3J0IiwiX3N0cmVhbVJldmVhbFJlZiRjdXJyMyIsIl9zdHJlYW1SZXZlYWxSZWYkY3VycjQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlT3JjaGVzdHJhdG9yU3RyZWFtL3VzZU9yY2hlc3RyYXRvclN0cmVhbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zdGFudC1jb25kaXRpb24gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnRpbnVlICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1hd2FpdC1pbi1sb29wICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1jYXNlLWRlY2xhcmF0aW9ucyAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXggKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjaywgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCBtYWlhIGZyb20gJy4uLy4uL3NlcnZpY2VzL21haWEnXG5pbXBvcnQgeyBDaGF0SGlzdG9yeSB9IGZyb20gJy4uLy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQgeyBBZ2VudEVudGl0eSB9IGZyb20gJy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgVXNlT3JjaGVzdHJhdG9yU3RyZWFtUHJvcHMgfSBmcm9tICcuL3VzZU9yY2hlc3RyYXRvclN0cmVhbS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyBjcmVhdGVTdHJlYW1SZXZlYWxTbW9vdGggfSBmcm9tICcuL3N0cmVhbVJldmVhbFNtb290aCdcblxuZXhwb3J0IGNvbnN0IHVzZU9yY2hlc3RyYXRvclN0cmVhbSA9ICh7XG4gIG9uU3RyZWFtVXBkYXRlLFxuICBvbkZpbmlzaFN0cmVhbSxcbiAgb25TdGFydFdyaXRpbmcsXG4gIG9uU3RvcCxcbiAgb25FcnJvcixcbiAgb25BcHByb3ZhbFJlcXVpcmVkLFxufTogVXNlT3JjaGVzdHJhdG9yU3RyZWFtUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuY2hhdEFJXSlcbiAgY29uc3QgW2RhdGEsIHNldERhdGFdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzV3JpdGluZywgc2V0SXNXcml0aW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbbG9hZGluZ01lc3NhZ2UsIHNldExvYWRpbmdNZXNzYWdlXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGFib3J0Q29udHJvbGxlclJlZiA9IHVzZVJlZjxBYm9ydENvbnRyb2xsZXIgfCBudWxsPihudWxsKVxuICBjb25zdCBpc1N0b3BwZWRSZWYgPSB1c2VSZWYoZmFsc2UpXG4gIGNvbnN0IHN0cmVhbVJldmVhbFJlZiA9IHVzZVJlZjxSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVTdHJlYW1SZXZlYWxTbW9vdGg+IHwgbnVsbD4obnVsbClcblxuICBjb25zdCBvblN0cmVhbVVwZGF0ZVJlZiA9IHVzZVJlZihvblN0cmVhbVVwZGF0ZSlcbiAgY29uc3Qgb25GaW5pc2hTdHJlYW1SZWYgPSB1c2VSZWYob25GaW5pc2hTdHJlYW0pXG4gIGNvbnN0IG9uU3RhcnRXcml0aW5nUmVmID0gdXNlUmVmKG9uU3RhcnRXcml0aW5nKVxuICBjb25zdCBvblN0b3BSZWYgPSB1c2VSZWYob25TdG9wKVxuICBjb25zdCBvbkVycm9yUmVmID0gdXNlUmVmKG9uRXJyb3IpXG4gIGNvbnN0IG9uQXBwcm92YWxSZXF1aXJlZFJlZiA9IHVzZVJlZihvbkFwcHJvdmFsUmVxdWlyZWQpXG5cbiAgb25TdHJlYW1VcGRhdGVSZWYuY3VycmVudCA9IG9uU3RyZWFtVXBkYXRlXG4gIG9uRmluaXNoU3RyZWFtUmVmLmN1cnJlbnQgPSBvbkZpbmlzaFN0cmVhbVxuICBvblN0YXJ0V3JpdGluZ1JlZi5jdXJyZW50ID0gb25TdGFydFdyaXRpbmdcbiAgb25TdG9wUmVmLmN1cnJlbnQgPSBvblN0b3BcbiAgb25FcnJvclJlZi5jdXJyZW50ID0gb25FcnJvclxuICBvbkFwcHJvdmFsUmVxdWlyZWRSZWYuY3VycmVudCA9IG9uQXBwcm92YWxSZXF1aXJlZFxuXG4gIGNvbnN0IGdldFN0cmVhbVJldmVhbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoc3RyZWFtUmV2ZWFsUmVmLmN1cnJlbnQgPT09IG51bGwpIHtcbiAgICAgIHN0cmVhbVJldmVhbFJlZi5jdXJyZW50ID0gY3JlYXRlU3RyZWFtUmV2ZWFsU21vb3RoKHRleHQgPT4ge1xuICAgICAgICBzZXREYXRhKHRleHQpXG4gICAgICAgIG9uU3RyZWFtVXBkYXRlUmVmLmN1cnJlbnQ/Lih0ZXh0LCBudWxsLCAnJylcbiAgICAgIH0pXG4gICAgfVxuICAgIHJldHVybiBzdHJlYW1SZXZlYWxSZWYuY3VycmVudFxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVTU0VTdHJlYW0gPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocmVzcG9uc2U6IFJlc3BvbnNlKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZWFkZXIgPSByZXNwb25zZS5ib2R5Py5nZXRSZWFkZXIoKVxuICAgICAgICBpZiAoIXJlYWRlcikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcmVhZGVyIGF2YWlsYWJsZScpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKClcbiAgICAgICAgbGV0IGJ1ZmZlciA9ICcnXG4gICAgICAgIGxldCBhY2N1bXVsYXRlZENvbnRlbnQgPSAnJ1xuICAgICAgICBsZXQgaGFzU3RhcnRlZFdyaXRpbmcgPSBmYWxzZVxuXG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgaWYgKGlzU3RvcHBlZFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICByZWFkZXIuY2FuY2VsKClcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgeyBkb25lLCB2YWx1ZSB9ID0gYXdhaXQgcmVhZGVyLnJlYWQoKVxuICAgICAgICAgIGlmIChkb25lKSB7XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpc1N0b3BwZWRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgcmVhZGVyLmNhbmNlbCgpXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJ1ZmZlciArPSBkZWNvZGVyLmRlY29kZSh2YWx1ZSwgeyBzdHJlYW06IHRydWUgfSlcbiAgICAgICAgICBjb25zdCBsaW5lcyA9IGJ1ZmZlci5zcGxpdCgnXFxuXFxuJylcbiAgICAgICAgICBidWZmZXIgPSBsaW5lcy5wb3AoKSB8fCAnJ1xuXG4gICAgICAgICAgZm9yIChjb25zdCBsaW5lIG9mIGxpbmVzKSB7XG4gICAgICAgICAgICBpZiAobGluZS50cmltKCkgPT09ICcnKSBjb250aW51ZVxuXG4gICAgICAgICAgICBjb25zdCBbZXZlbnRMaW5lLCBkYXRhTGluZV0gPSBsaW5lLnNwbGl0KCdcXG4nKVxuICAgICAgICAgICAgaWYgKCFldmVudExpbmUgfHwgIWRhdGFMaW5lKSBjb250aW51ZVxuXG4gICAgICAgICAgICBjb25zdCBldmVudFR5cGUgPSBldmVudExpbmUucmVwbGFjZSgnZXZlbnQ6ICcsICcnKS50cmltKClcbiAgICAgICAgICAgIGNvbnN0IGRhdGFTdHIgPSBkYXRhTGluZS5yZXBsYWNlKCdkYXRhOiAnLCAnJykudHJpbSgpXG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpXG5cbiAgICAgICAgICAgICAgc3dpdGNoIChldmVudFR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICd0b2tlbic6XG4gICAgICAgICAgICAgICAgICBpZiAoIWhhc1N0YXJ0ZWRXcml0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc1N0YXJ0ZWRXcml0aW5nID0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICBzZXRJc1dyaXRpbmcodHJ1ZSlcbiAgICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZ01lc3NhZ2UodCgnY2hhdC53cml0aW5nJykpXG4gICAgICAgICAgICAgICAgICAgIG9uU3RhcnRXcml0aW5nUmVmLmN1cnJlbnQ/LigpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBhY2N1bXVsYXRlZENvbnRlbnQgKz0gZGF0YS5jb250ZW50XG4gICAgICAgICAgICAgICAgICBnZXRTdHJlYW1SZXZlYWwoKS5zZXRUYXJnZXQoYWNjdW11bGF0ZWRDb250ZW50KVxuICAgICAgICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICAgICAgICAgIGNhc2UgJ25vZGUnOlxuICAgICAgICAgICAgICAgICAgLy8gU2kgZWwgZXZlbnRvIG5vZGUgdGllbmUgdW4gbWVuc2FqZSwgYWN0dWFsaXphcmxvIHBhcmEgbW9zdHJhcmxvIGVuIGVsIGxvYWRlclxuICAgICAgICAgICAgICAgICAgaWYgKGRhdGEubWVzc2FnZSAmJiB0eXBlb2YgZGF0YS5tZXNzYWdlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAvLyBBc2VndXJhciBxdWUgaXNMb2FkaW5nIGVzdMOpIGVuIHRydWUgcGFyYSBtb3N0cmFyIGVsIGxvYWRlclxuICAgICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgICAgICAgICAgICAgICAgIC8vIE1vc3RyYXIgbm9tYnJlIHNvbG8gcGFyYSBjcmVhdGVfdGFzaywgZWwgcmVzdG8gbXVlc3RyYSBnZW7DqXJpY29cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZU1lc3NhZ2UgPSBkYXRhLm1lc3NhZ2UuaW5jbHVkZXMoJ2NyZWF0ZV90YXNrJykgPyBkYXRhLm1lc3NhZ2UgOiB0KCdjaGF0LmV4ZWN1dGluZ0FjdGlvbicpXG4gICAgICAgICAgICAgICAgICAgIHNldExvYWRpbmdNZXNzYWdlKG5vZGVNZXNzYWdlKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2NvbXBsZXRlJzpcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbmFsQ29udGVudCA9IGRhdGEuY29udGVudCB8fCBhY2N1bXVsYXRlZENvbnRlbnRcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZXMgPSBkYXRhLnNvdXJjZXMgfHwgbnVsbFxuICAgICAgICAgICAgICAgICAgY29uc3QgbWVtb3J5U2Vzc2lvbklkID0gZGF0YS5tZW1vcnlfc2Vzc2lvbl9pZCB8fCAnJ1xuICAgICAgICAgICAgICAgICAgbGV0IHN1Z2dlc3Rpb25zID0gbnVsbFxuICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YS5zdWdnZXN0X3JlcGx5KSkge1xuICAgICAgICAgICAgICAgICAgICBzdWdnZXN0aW9ucyA9IGRhdGEuc3VnZ2VzdF9yZXBseVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGRhdGEuc3VnZ2VzdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1Z2dlc3Rpb25zID0gZGF0YS5zdWdnZXN0aW9uc1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgY29uc3QgYWdlbnRJZFJhdyA9IGRhdGEuYWdlbnRfaWQgPz8gZGF0YS5hZ2VudElkXG4gICAgICAgICAgICAgICAgICBjb25zdCBjb21wbGV0ZWRBZ2VudElkID1cbiAgICAgICAgICAgICAgICAgICAgYWdlbnRJZFJhdyAhPSBudWxsICYmIFN0cmluZyhhZ2VudElkUmF3KS50cmltKCkgIT09ICcnID8gU3RyaW5nKGFnZW50SWRSYXcpLnRyaW0oKSA6IG51bGxcbiAgICAgICAgICAgICAgICAgIGdldFN0cmVhbVJldmVhbCgpLmNhbmNlbCgpXG4gICAgICAgICAgICAgICAgICBnZXRTdHJlYW1SZXZlYWwoKS5yZXNldCgpXG4gICAgICAgICAgICAgICAgICBzZXREYXRhKGZpbmFsQ29udGVudClcbiAgICAgICAgICAgICAgICAgIHNldElzV3JpdGluZyhmYWxzZSlcbiAgICAgICAgICAgICAgICAgIHNldExvYWRpbmdNZXNzYWdlKG51bGwpIC8vIExpbXBpYXIgbWVuc2FqZSBjdWFuZG8gc2UgY29tcGxldGFcbiAgICAgICAgICAgICAgICAgIG9uRmluaXNoU3RyZWFtUmVmLmN1cnJlbnQ/LihmaW5hbENvbnRlbnQsIHNvdXJjZXMsIG1lbW9yeVNlc3Npb25JZCwgc3VnZ2VzdGlvbnMsIGNvbXBsZXRlZEFnZW50SWQpXG4gICAgICAgICAgICAgICAgICBicmVha1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnYXBwcm92YWxfcmVxdWlyZWQnOlxuICAgICAgICAgICAgICAgICAgZ2V0U3RyZWFtUmV2ZWFsKCkuY2FuY2VsKClcbiAgICAgICAgICAgICAgICAgIGdldFN0cmVhbVJldmVhbCgpLnJlc2V0KClcbiAgICAgICAgICAgICAgICAgIHNldElzV3JpdGluZyhmYWxzZSlcbiAgICAgICAgICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nTWVzc2FnZShudWxsKSAvLyBMaW1waWFyIG1lbnNhamUgY3VhbmRvIHNlIHJlcXVpZXJlIGFwcm9iYWNpw7NuXG4gICAgICAgICAgICAgICAgICBvbkFwcHJvdmFsUmVxdWlyZWRSZWYuY3VycmVudD8uKGRhdGEsIGFjY3VtdWxhdGVkQ29udGVudClcbiAgICAgICAgICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdTU0UgRXJyb3I6JywgZGF0YS5lcnJvcilcbiAgICAgICAgICAgICAgICAgIGdldFN0cmVhbVJldmVhbCgpLmNhbmNlbCgpXG4gICAgICAgICAgICAgICAgICBnZXRTdHJlYW1SZXZlYWwoKS5yZXNldCgpXG4gICAgICAgICAgICAgICAgICBzZXRJc1dyaXRpbmcoZmFsc2UpXG4gICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nTWVzc2FnZShudWxsKSAvLyBMaW1waWFyIG1lbnNhamUgY3VhbmRvIGhheSBlcnJvclxuICAgICAgICAgICAgICAgICAgb25FcnJvclJlZi5jdXJyZW50Py4oKVxuICAgICAgICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1Vua25vd24gU1NFIGV2ZW50IHR5cGU6JywgZXZlbnRUeXBlKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChwYXJzZUVycm9yKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBhcnNpbmcgU1NFIGRhdGE6JywgcGFyc2VFcnJvciwgZGF0YVN0cilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGdldFN0cmVhbVJldmVhbCgpLmNhbmNlbCgpXG4gICAgICAgIGdldFN0cmVhbVJldmVhbCgpLnJlc2V0KClcbiAgICAgICAgc2V0SXNXcml0aW5nKGZhbHNlKVxuXG4gICAgICAgIC8vIFNvbG8gZWplY3V0YXIgb25FcnJvciBzaSBubyBmdWUgdW4gc3RvcCBpbnRlbmNpb25hbFxuICAgICAgICBpZiAoIWlzU3RvcHBlZFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgb25FcnJvclJlZi5jdXJyZW50Py4oKVxuICAgICAgICB9XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBnZXRTdHJlYW1SZXZlYWwoKS5jYW5jZWwoKVxuICAgICAgICBnZXRTdHJlYW1SZXZlYWwoKS5yZXNldCgpXG4gICAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICAgIHNldElzV3JpdGluZyhmYWxzZSlcbiAgICAgICAgc2V0TG9hZGluZ01lc3NhZ2UobnVsbClcbiAgICAgIH1cbiAgICB9LFxuICAgIFt0LCBnZXRTdHJlYW1SZXZlYWxdXG4gIClcblxuICBjb25zdCBhc2tNYWlhID0gYXN5bmMgKHtcbiAgICBtZXNzYWdlLFxuICAgIGhpc3RvcnksXG4gICAgcHJvamVjdElkLFxuICAgIGxhbmcsXG4gICAgdXNlcklkLFxuICAgIGZpcnN0TmFtZSxcbiAgICBsYXN0TmFtZSxcbiAgICBjb21wYW55SWQsXG4gICAgY2hhdElkLFxuICAgIG1lc3NhZ2VJZCxcbiAgICBjbGllbnRJZCxcbiAgICBjbGllbnROYW1lLFxuICAgIGFnZW50TmFtZSxcbiAgICBhZ2VudElkLFxuICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgIGlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICBhdHRhY2htZW50cyxcbiAgICBwcm9qZWN0TmFtZSxcbiAgICBmYXFJZCxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZCxcbiAgICBhZ2VudEVudGl0eSxcbiAgfToge1xuICAgIG1lc3NhZ2U6IHN0cmluZ1xuICAgIGhpc3Rvcnk6IENoYXRIaXN0b3J5W11cbiAgICBwcm9qZWN0SWQ6IG51bWJlciB8IG51bGxcbiAgICBsYW5nOiBzdHJpbmdcbiAgICB1c2VySWQ6IHN0cmluZ1xuICAgIGZpcnN0TmFtZT86IHN0cmluZ1xuICAgIGxhc3ROYW1lPzogc3RyaW5nXG4gICAgY29tcGFueUlkOiBzdHJpbmdcbiAgICBjaGF0SWQ6IHN0cmluZ1xuICAgIG1lc3NhZ2VJZDogc3RyaW5nXG4gICAgY2xpZW50SWQ/OiBudW1iZXJcbiAgICBjbGllbnROYW1lPzogc3RyaW5nXG4gICAgYWdlbnROYW1lOiBzdHJpbmdcbiAgICBhZ2VudElkOiBzdHJpbmdcbiAgICBpc1dlYlNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgICBpc0RlZXBTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdXG4gICAgcHJvamVjdE5hbWU/OiBzdHJpbmdcbiAgICBmYXFJZD86IHN0cmluZ1xuICAgIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nXG4gICAgYWdlbnRFbnRpdHk/OiBBZ2VudEVudGl0eVxuICB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICAgIHNldElzV3JpdGluZyhmYWxzZSlcbiAgICAgIGdldFN0cmVhbVJldmVhbCgpLnJlc2V0KClcbiAgICAgIHNldERhdGEobnVsbClcbiAgICAgIHNldExvYWRpbmdNZXNzYWdlKG51bGwpXG4gICAgICBpc1N0b3BwZWRSZWYuY3VycmVudCA9IGZhbHNlIC8vIFJlc2V0ZWFyIGZsYWcgYWwgaW5pY2lhciBudWV2YSBwZXRpY2nDs25cblxuICAgICAgYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQgPSBuZXcgQWJvcnRDb250cm9sbGVyKClcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBtYWlhLk9yY2hlc3RyYXRvci5vcmNoZXN0cmF0b3IoXG4gICAgICAgIHtcbiAgICAgICAgICBpbnB1dDogbWVzc2FnZSxcbiAgICAgICAgICBoaXN0b3J5LFxuICAgICAgICAgIGxhbmcsXG4gICAgICAgICAgdXNlcklkLFxuICAgICAgICAgIC4uLihmaXJzdE5hbWUgPyB7IGZpcnN0TmFtZSB9IDoge30pLFxuICAgICAgICAgIC4uLihsYXN0TmFtZSA/IHsgbGFzdE5hbWUgfSA6IHt9KSxcbiAgICAgICAgICBjb21wYW55SWQsXG4gICAgICAgICAgY2hhdElkLFxuICAgICAgICAgIG1lc3NhZ2VJZCxcbiAgICAgICAgICBjbGllbnRJZCxcbiAgICAgICAgICBhZ2VudE5hbWUsXG4gICAgICAgICAgYWdlbnRJZCxcbiAgICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICAgICAgLi4uKHByb2plY3RJZCA/IHsgcHJvamVjdElkIH0gOiB7fSksXG4gICAgICAgICAgLi4uKGF0dGFjaG1lbnRzID8geyBhdHRhY2htZW50cyB9IDoge30pLFxuICAgICAgICAgIC4uLihwcm9qZWN0TmFtZSA/IHsgcHJvamVjdE5hbWUgfSA6IHt9KSxcbiAgICAgICAgICAuLi4oY2xpZW50TmFtZSA/IHsgY2xpZW50TmFtZSB9IDoge30pLFxuICAgICAgICAgIC4uLihmYXFJZCA/IHsgZmFxSWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4oYWdlbnRTdWdnZXN0aW9uSWQgPyB7IGFnZW50U3VnZ2VzdGlvbklkIH0gOiB7fSksXG4gICAgICAgICAgLi4uKGFnZW50RW50aXR5ICE9IG51bGwgPyB7IGFnZW50RW50aXR5IH0gOiB7fSksXG4gICAgICAgIH0sXG4gICAgICAgIGFib3J0Q29udHJvbGxlclJlZi5jdXJyZW50Py5zaWduYWxcbiAgICAgIClcblxuICAgICAgYXdhaXQgaGFuZGxlU1NFU3RyZWFtKHJlc3BvbnNlKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBvbkVycm9yPy4oKVxuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBzdG9wU3RyZWFtaW5nID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudCkge1xuICAgICAgaXNTdG9wcGVkUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgICBhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudC5hYm9ydCgpXG4gICAgICBhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudCA9IG51bGxcbiAgICAgIHN0cmVhbVJldmVhbFJlZi5jdXJyZW50Py5jYW5jZWwoKVxuICAgICAgc3RyZWFtUmV2ZWFsUmVmLmN1cnJlbnQ/LnJlc2V0KClcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRJc1dyaXRpbmcoZmFsc2UpXG4gICAgICBzZXRMb2FkaW5nTWVzc2FnZShudWxsKVxuICAgICAgb25TdG9wUmVmLmN1cnJlbnQ/LigpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCByZXNldCA9ICgpID0+IHtcbiAgICBzdHJlYW1SZXZlYWxSZWYuY3VycmVudD8uY2FuY2VsKClcbiAgICBzdHJlYW1SZXZlYWxSZWYuY3VycmVudD8ucmVzZXQoKVxuICAgIHNldERhdGEobnVsbClcbiAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgIHNldElzV3JpdGluZyhmYWxzZSlcbiAgICBzZXRMb2FkaW5nTWVzc2FnZShudWxsKVxuICAgIGlzU3RvcHBlZFJlZi5jdXJyZW50ID0gZmFsc2VcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgYXNrTWFpYSxcbiAgICByZXNwb25zZTogZGF0YSxcbiAgICBpc0xvYWRpbmcsXG4gICAgaXNXcml0aW5nLFxuICAgIGxvYWRpbmdNZXNzYWdlLFxuICAgIHJlc2V0LFxuICAgIHN0b3BTdHJlYW1pbmcsXG4gICAgaGFuZGxlU1NFU3RyZWFtLCAvLyBFeHBvbmVyIHBhcmEgcG9kZXIgdXNhcmxvIGVuIGNvbnRpbnVlLXRocmVhZFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTQSxRQUFRLEVBQUVDLFdBQVcsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDckQsU0FBU0MsY0FBYyxRQUFRLGVBQWU7QUFFOUMsT0FBT0MsSUFBSSxNQUFNLHFCQUFxQjtBQUl0QyxTQUFTQyxRQUFRLFFBQVEsd0JBQXdCO0FBQ2pELFNBQVNDLHdCQUF3QixRQUFRLHNCQUFzQjtBQUUvRCxPQUFPLElBQU1DLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQUFDLElBQUEsRUFPQTtFQUFBLElBTmhDQyxjQUFjLEdBQUFELElBQUEsQ0FBZEMsY0FBYztJQUNkQyxjQUFjLEdBQUFGLElBQUEsQ0FBZEUsY0FBYztJQUNkQyxjQUFjLEdBQUFILElBQUEsQ0FBZEcsY0FBYztJQUNkQyxNQUFNLEdBQUFKLElBQUEsQ0FBTkksTUFBTTtJQUNOQyxPQUFPLEdBQUFMLElBQUEsQ0FBUEssT0FBTztJQUNQQyxrQkFBa0IsR0FBQU4sSUFBQSxDQUFsQk0sa0JBQWtCO0VBRWxCLElBQUFDLGVBQUEsR0FBY1osY0FBYyxDQUFDLENBQUNFLFFBQVEsQ0FBQ1csTUFBTSxDQUFDLENBQUM7SUFBdkNDLENBQUMsR0FBQUYsZUFB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
|
|
350
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlUmVmIiwidXNlVHJhbnNsYXRpb24iLCJtYWlhIiwiU0VDVElPTlMiLCJ1c2VPcmNoZXN0cmF0b3JTdHJlYW0iLCJfcmVmIiwib25TdHJlYW1VcGRhdGUiLCJvbkZpbmlzaFN0cmVhbSIsIm9uU3RhcnRXcml0aW5nIiwib25TdG9wIiwib25FcnJvciIsIm9uQXBwcm92YWxSZXF1aXJlZCIsIl91c2VUcmFuc2xhdGlvbiIsImNoYXRBSSIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJkYXRhIiwic2V0RGF0YSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNMb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNXcml0aW5nIiwic2V0SXNXcml0aW5nIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJsb2FkaW5nTWVzc2FnZSIsInNldExvYWRpbmdNZXNzYWdlIiwiYWJvcnRDb250cm9sbGVyUmVmIiwiaXNTdG9wcGVkUmVmIiwib25TdHJlYW1VcGRhdGVSZWYiLCJvbkZpbmlzaFN0cmVhbVJlZiIsIm9uU3RhcnRXcml0aW5nUmVmIiwib25TdG9wUmVmIiwib25FcnJvclJlZiIsIm9uQXBwcm92YWxSZXF1aXJlZFJlZiIsImN1cnJlbnQiLCJoYW5kbGVTU0VTdHJlYW0iLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicmVzcG9uc2UiLCJfb25TdHJlYW1VcGRhdGVSZWYkY3UiLCJfZGF0YSRhZ2VudF9pZCIsIl9vbkZpbmlzaFN0cmVhbVJlZiRjdSIsIl9vbkFwcHJvdmFsUmVxdWlyZWRSZSIsIl9vbkVycm9yUmVmJGN1cnJlbnQiLCJfcmVzcG9uc2UkYm9keSIsInJlYWRlciIsImRlY29kZXIiLCJidWZmZXIiLCJhY2N1bXVsYXRlZENvbnRlbnQiLCJoYXNTdGFydGVkV3JpdGluZyIsIl95aWVsZCRyZWFkZXIkcmVhZCIsImRvbmUiLCJ2YWx1ZSIsImxpbmVzIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJsaW5lIiwiX2xpbmUkc3BsaXQiLCJfbGluZSRzcGxpdDIiLCJldmVudExpbmUiLCJkYXRhTGluZSIsImV2ZW50VHlwZSIsImRhdGFTdHIiLCJfZGF0YSIsIl9vblN0YXJ0V3JpdGluZ1JlZiRjdSIsIm5vZGVNZXNzYWdlIiwiZmluYWxDb250ZW50Iiwic291cmNlcyIsIm1lbW9yeVNlc3Npb25JZCIsInN1Z2dlc3Rpb25zIiwiYWdlbnRJZFJhdyIsImNvbXBsZXRlZEFnZW50SWQiLCJfb25FcnJvclJlZiRjdXJyZW50MiIsIl90IiwiX3QyIiwiX3QzIiwiX3Q0Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJib2R5IiwiZ2V0UmVhZGVyIiwiRXJyb3IiLCJUZXh0RGVjb2RlciIsImNhbmNlbCIsImFicnVwdCIsInJlYWQiLCJzZW50IiwiZGVjb2RlIiwic3RyZWFtIiwic3BsaXQiLCJwb3AiLCJfY3JlYXRlRm9yT2ZJdGVyYXRvckhlbHBlciIsInMiLCJuIiwidHJpbSIsInJlcGxhY2UiLCJKU09OIiwicGFyc2UiLCJjYWxsIiwiY29udGVudCIsIm1lc3NhZ2UiLCJpbmNsdWRlcyIsIm1lbW9yeV9zZXNzaW9uX2lkIiwiQXJyYXkiLCJpc0FycmF5Iiwic3VnZ2VzdF9yZXBseSIsImFnZW50X2lkIiwiYWdlbnRJZCIsIlN0cmluZyIsImNvbnNvbGUiLCJlcnJvciIsIndhcm4iLCJlIiwiZiIsImZpbmlzaCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiYXNrTWFpYSIsIl9yZWY0IiwiX2NhbGxlZTIiLCJfcmVmMyIsImhpc3RvcnkiLCJwcm9qZWN0SWQiLCJsYW5nIiwidXNlcklkIiwiZmlyc3ROYW1lIiwibGFzdE5hbWUiLCJjb21wYW55SWQiLCJjaGF0SWQiLCJtZXNzYWdlSWQiLCJjbGllbnRJZCIsImNsaWVudE5hbWUiLCJhZ2VudE5hbWUiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsImF0dGFjaG1lbnRzIiwicHJvamVjdE5hbWUiLCJmYXFJZCIsImFnZW50U3VnZ2VzdGlvbklkIiwiYWdlbnRFbnRpdHkiLCJfYWJvcnRDb250cm9sbGVyUmVmJGMiLCJfdDUiLCJfY29udGV4dDIiLCJBYm9ydENvbnRyb2xsZXIiLCJPcmNoZXN0cmF0b3IiLCJvcmNoZXN0cmF0b3IiLCJfb2JqZWN0U3ByZWFkIiwiaW5wdXQiLCJzaWduYWwiLCJfeDIiLCJzdG9wU3RyZWFtaW5nIiwiX29uU3RvcFJlZiRjdXJyZW50IiwiYWJvcnQiLCJyZXNldCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VPcmNoZXN0cmF0b3JTdHJlYW0vdXNlT3JjaGVzdHJhdG9yU3RyZWFtLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1zaGFkb3cgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnN0YW50LWNvbmRpdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tY29udGludWUgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWF3YWl0LWluLWxvb3AgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNhc2UtZGVjbGFyYXRpb25zICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VSZWYgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IG1haWEgZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYSdcbmltcG9ydCB7IENoYXRIaXN0b3J5IH0gZnJvbSAnLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7IEFnZW50RW50aXR5IH0gZnJvbSAnLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBVc2VPcmNoZXN0cmF0b3JTdHJlYW1Qcm9wcyB9IGZyb20gJy4vdXNlT3JjaGVzdHJhdG9yU3RyZWFtLmludGVyZmFjZSdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcblxuZXhwb3J0IGNvbnN0IHVzZU9yY2hlc3RyYXRvclN0cmVhbSA9ICh7XG4gIG9uU3RyZWFtVXBkYXRlLFxuICBvbkZpbmlzaFN0cmVhbSxcbiAgb25TdGFydFdyaXRpbmcsXG4gIG9uU3RvcCxcbiAgb25FcnJvcixcbiAgb25BcHByb3ZhbFJlcXVpcmVkLFxufTogVXNlT3JjaGVzdHJhdG9yU3RyZWFtUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuY2hhdEFJXSlcbiAgY29uc3QgW2RhdGEsIHNldERhdGFdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzV3JpdGluZywgc2V0SXNXcml0aW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbbG9hZGluZ01lc3NhZ2UsIHNldExvYWRpbmdNZXNzYWdlXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGFib3J0Q29udHJvbGxlclJlZiA9IHVzZVJlZjxBYm9ydENvbnRyb2xsZXIgfCBudWxsPihudWxsKVxuICBjb25zdCBpc1N0b3BwZWRSZWYgPSB1c2VSZWYoZmFsc2UpXG5cbiAgY29uc3Qgb25TdHJlYW1VcGRhdGVSZWYgPSB1c2VSZWYob25TdHJlYW1VcGRhdGUpXG4gIGNvbnN0IG9uRmluaXNoU3RyZWFtUmVmID0gdXNlUmVmKG9uRmluaXNoU3RyZWFtKVxuICBjb25zdCBvblN0YXJ0V3JpdGluZ1JlZiA9IHVzZVJlZihvblN0YXJ0V3JpdGluZylcbiAgY29uc3Qgb25TdG9wUmVmID0gdXNlUmVmKG9uU3RvcClcbiAgY29uc3Qgb25FcnJvclJlZiA9IHVzZVJlZihvbkVycm9yKVxuICBjb25zdCBvbkFwcHJvdmFsUmVxdWlyZWRSZWYgPSB1c2VSZWYob25BcHByb3ZhbFJlcXVpcmVkKVxuXG4gIG9uU3RyZWFtVXBkYXRlUmVmLmN1cnJlbnQgPSBvblN0cmVhbVVwZGF0ZVxuICBvbkZpbmlzaFN0cmVhbVJlZi5jdXJyZW50ID0gb25GaW5pc2hTdHJlYW1cbiAgb25TdGFydFdyaXRpbmdSZWYuY3VycmVudCA9IG9uU3RhcnRXcml0aW5nXG4gIG9uU3RvcFJlZi5jdXJyZW50ID0gb25TdG9wXG4gIG9uRXJyb3JSZWYuY3VycmVudCA9IG9uRXJyb3JcbiAgb25BcHByb3ZhbFJlcXVpcmVkUmVmLmN1cnJlbnQgPSBvbkFwcHJvdmFsUmVxdWlyZWRcblxuICBjb25zdCBoYW5kbGVTU0VTdHJlYW0gPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocmVzcG9uc2U6IFJlc3BvbnNlKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZWFkZXIgPSByZXNwb25zZS5ib2R5Py5nZXRSZWFkZXIoKVxuICAgICAgICBpZiAoIXJlYWRlcikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcmVhZGVyIGF2YWlsYWJsZScpXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkZWNvZGVyID0gbmV3IFRleHREZWNvZGVyKClcbiAgICAgICAgbGV0IGJ1ZmZlciA9ICcnXG4gICAgICAgIGxldCBhY2N1bXVsYXRlZENvbnRlbnQgPSAnJ1xuICAgICAgICBsZXQgaGFzU3RhcnRlZFdyaXRpbmcgPSBmYWxzZVxuXG4gICAgICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgICAgaWYgKGlzU3RvcHBlZFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICByZWFkZXIuY2FuY2VsKClcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgeyBkb25lLCB2YWx1ZSB9ID0gYXdhaXQgcmVhZGVyLnJlYWQoKVxuICAgICAgICAgIGlmIChkb25lKSB7XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChpc1N0b3BwZWRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgcmVhZGVyLmNhbmNlbCgpXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGJ1ZmZlciArPSBkZWNvZGVyLmRlY29kZSh2YWx1ZSwgeyBzdHJlYW06IHRydWUgfSlcbiAgICAgICAgICBjb25zdCBsaW5lcyA9IGJ1ZmZlci5zcGxpdCgnXFxuXFxuJylcbiAgICAgICAgICBidWZmZXIgPSBsaW5lcy5wb3AoKSB8fCAnJ1xuXG4gICAgICAgICAgZm9yIChjb25zdCBsaW5lIG9mIGxpbmVzKSB7XG4gICAgICAgICAgICBpZiAobGluZS50cmltKCkgPT09ICcnKSBjb250aW51ZVxuXG4gICAgICAgICAgICBjb25zdCBbZXZlbnRMaW5lLCBkYXRhTGluZV0gPSBsaW5lLnNwbGl0KCdcXG4nKVxuICAgICAgICAgICAgaWYgKCFldmVudExpbmUgfHwgIWRhdGFMaW5lKSBjb250aW51ZVxuXG4gICAgICAgICAgICBjb25zdCBldmVudFR5cGUgPSBldmVudExpbmUucmVwbGFjZSgnZXZlbnQ6ICcsICcnKS50cmltKClcbiAgICAgICAgICAgIGNvbnN0IGRhdGFTdHIgPSBkYXRhTGluZS5yZXBsYWNlKCdkYXRhOiAnLCAnJykudHJpbSgpXG5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGRhdGFTdHIpXG5cbiAgICAgICAgICAgICAgc3dpdGNoIChldmVudFR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICd0b2tlbic6XG4gICAgICAgICAgICAgICAgICBpZiAoIWhhc1N0YXJ0ZWRXcml0aW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc1N0YXJ0ZWRXcml0aW5nID0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICBzZXRJc1dyaXRpbmcodHJ1ZSlcbiAgICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZ01lc3NhZ2UodCgnY2hhdC53cml0aW5nJykpXG4gICAgICAgICAgICAgICAgICAgIG9uU3RhcnRXcml0aW5nUmVmLmN1cnJlbnQ/LigpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBhY2N1bXVsYXRlZENvbnRlbnQgKz0gZGF0YS5jb250ZW50XG4gICAgICAgICAgICAgICAgICBzZXREYXRhKGFjY3VtdWxhdGVkQ29udGVudClcbiAgICAgICAgICAgICAgICAgIG9uU3RyZWFtVXBkYXRlUmVmLmN1cnJlbnQ/LihhY2N1bXVsYXRlZENvbnRlbnQsIG51bGwsICcnKVxuICAgICAgICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICAgICAgICAgIGNhc2UgJ25vZGUnOlxuICAgICAgICAgICAgICAgICAgLy8gU2kgZWwgZXZlbnRvIG5vZGUgdGllbmUgdW4gbWVuc2FqZSwgYWN0dWFsaXphcmxvIHBhcmEgbW9zdHJhcmxvIGVuIGVsIGxvYWRlclxuICAgICAgICAgICAgICAgICAgaWYgKGRhdGEubWVzc2FnZSAmJiB0eXBlb2YgZGF0YS5tZXNzYWdlID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAvLyBBc2VndXJhciBxdWUgaXNMb2FkaW5nIGVzdMOpIGVuIHRydWUgcGFyYSBtb3N0cmFyIGVsIGxvYWRlclxuICAgICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgICAgICAgICAgICAgICAgIC8vIE1vc3RyYXIgbm9tYnJlIHNvbG8gcGFyYSBjcmVhdGVfdGFzaywgZWwgcmVzdG8gbXVlc3RyYSBnZW7DqXJpY29cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm9kZU1lc3NhZ2UgPSBkYXRhLm1lc3NhZ2UuaW5jbHVkZXMoJ2NyZWF0ZV90YXNrJykgPyBkYXRhLm1lc3NhZ2UgOiB0KCdjaGF0LmV4ZWN1dGluZ0FjdGlvbicpXG4gICAgICAgICAgICAgICAgICAgIHNldExvYWRpbmdNZXNzYWdlKG5vZGVNZXNzYWdlKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2NvbXBsZXRlJzpcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbmFsQ29udGVudCA9IGRhdGEuY29udGVudCB8fCBhY2N1bXVsYXRlZENvbnRlbnRcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZXMgPSBkYXRhLnNvdXJjZXMgfHwgbnVsbFxuICAgICAgICAgICAgICAgICAgY29uc3QgbWVtb3J5U2Vzc2lvbklkID0gZGF0YS5tZW1vcnlfc2Vzc2lvbl9pZCB8fCAnJ1xuICAgICAgICAgICAgICAgICAgbGV0IHN1Z2dlc3Rpb25zID0gbnVsbFxuICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZGF0YS5zdWdnZXN0X3JlcGx5KSkge1xuICAgICAgICAgICAgICAgICAgICBzdWdnZXN0aW9ucyA9IGRhdGEuc3VnZ2VzdF9yZXBseVxuICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGRhdGEuc3VnZ2VzdGlvbnMpKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1Z2dlc3Rpb25zID0gZGF0YS5zdWdnZXN0aW9uc1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgY29uc3QgYWdlbnRJZFJhdyA9IGRhdGEuYWdlbnRfaWQgPz8gZGF0YS5hZ2VudElkXG4gICAgICAgICAgICAgICAgICBjb25zdCBjb21wbGV0ZWRBZ2VudElkID1cbiAgICAgICAgICAgICAgICAgICAgYWdlbnRJZFJhdyAhPSBudWxsICYmIFN0cmluZyhhZ2VudElkUmF3KS50cmltKCkgIT09ICcnID8gU3RyaW5nKGFnZW50SWRSYXcpLnRyaW0oKSA6IG51bGxcbiAgICAgICAgICAgICAgICAgIHNldERhdGEoZmluYWxDb250ZW50KVxuICAgICAgICAgICAgICAgICAgc2V0SXNXcml0aW5nKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZ01lc3NhZ2UobnVsbCkgLy8gTGltcGlhciBtZW5zYWplIGN1YW5kbyBzZSBjb21wbGV0YVxuICAgICAgICAgICAgICAgICAgb25GaW5pc2hTdHJlYW1SZWYuY3VycmVudD8uKGZpbmFsQ29udGVudCwgc291cmNlcywgbWVtb3J5U2Vzc2lvbklkLCBzdWdnZXN0aW9ucywgY29tcGxldGVkQWdlbnRJZClcbiAgICAgICAgICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgICAgICAgICBjYXNlICdhcHByb3ZhbF9yZXF1aXJlZCc6XG4gICAgICAgICAgICAgICAgICBzZXRJc1dyaXRpbmcoZmFsc2UpXG4gICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZ01lc3NhZ2UobnVsbCkgLy8gTGltcGlhciBtZW5zYWplIGN1YW5kbyBzZSByZXF1aWVyZSBhcHJvYmFjacOzblxuICAgICAgICAgICAgICAgICAgb25BcHByb3ZhbFJlcXVpcmVkUmVmLmN1cnJlbnQ/LihkYXRhLCBhY2N1bXVsYXRlZENvbnRlbnQpXG4gICAgICAgICAgICAgICAgICBicmVha1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignU1NFIEVycm9yOicsIGRhdGEuZXJyb3IpXG4gICAgICAgICAgICAgICAgICBzZXRJc1dyaXRpbmcoZmFsc2UpXG4gICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nTWVzc2FnZShudWxsKSAvLyBMaW1waWFyIG1lbnNhamUgY3VhbmRvIGhheSBlcnJvclxuICAgICAgICAgICAgICAgICAgb25FcnJvclJlZi5jdXJyZW50Py4oKVxuICAgICAgICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1Vua25vd24gU1NFIGV2ZW50IHR5cGU6JywgZXZlbnRUeXBlKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChwYXJzZUVycm9yKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBhcnNpbmcgU1NFIGRhdGE6JywgcGFyc2VFcnJvciwgZGF0YVN0cilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHNldElzV3JpdGluZyhmYWxzZSlcblxuICAgICAgICAvLyBTb2xvIGVqZWN1dGFyIG9uRXJyb3Igc2kgbm8gZnVlIHVuIHN0b3AgaW50ZW5jaW9uYWxcbiAgICAgICAgaWYgKCFpc1N0b3BwZWRSZWYuY3VycmVudCkge1xuICAgICAgICAgIG9uRXJyb3JSZWYuY3VycmVudD8uKClcbiAgICAgICAgfVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgICAgc2V0SXNXcml0aW5nKGZhbHNlKVxuICAgICAgICBzZXRMb2FkaW5nTWVzc2FnZShudWxsKVxuICAgICAgfVxuICAgIH0sXG4gICAgW3RdXG4gIClcblxuICBjb25zdCBhc2tNYWlhID0gYXN5bmMgKHtcbiAgICBtZXNzYWdlLFxuICAgIGhpc3RvcnksXG4gICAgcHJvamVjdElkLFxuICAgIGxhbmcsXG4gICAgdXNlcklkLFxuICAgIGZpcnN0TmFtZSxcbiAgICBsYXN0TmFtZSxcbiAgICBjb21wYW55SWQsXG4gICAgY2hhdElkLFxuICAgIG1lc3NhZ2VJZCxcbiAgICBjbGllbnRJZCxcbiAgICBjbGllbnROYW1lLFxuICAgIGFnZW50TmFtZSxcbiAgICBhZ2VudElkLFxuICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgIGlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICBhdHRhY2htZW50cyxcbiAgICBwcm9qZWN0TmFtZSxcbiAgICBmYXFJZCxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZCxcbiAgICBhZ2VudEVudGl0eSxcbiAgfToge1xuICAgIG1lc3NhZ2U6IHN0cmluZ1xuICAgIGhpc3Rvcnk6IENoYXRIaXN0b3J5W11cbiAgICBwcm9qZWN0SWQ6IG51bWJlciB8IG51bGxcbiAgICBsYW5nOiBzdHJpbmdcbiAgICB1c2VySWQ6IHN0cmluZ1xuICAgIGZpcnN0TmFtZT86IHN0cmluZ1xuICAgIGxhc3ROYW1lPzogc3RyaW5nXG4gICAgY29tcGFueUlkOiBzdHJpbmdcbiAgICBjaGF0SWQ6IHN0cmluZ1xuICAgIG1lc3NhZ2VJZDogc3RyaW5nXG4gICAgY2xpZW50SWQ/OiBudW1iZXJcbiAgICBjbGllbnROYW1lPzogc3RyaW5nXG4gICAgYWdlbnROYW1lOiBzdHJpbmdcbiAgICBhZ2VudElkOiBzdHJpbmdcbiAgICBpc1dlYlNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgICBpc0RlZXBTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdXG4gICAgcHJvamVjdE5hbWU/OiBzdHJpbmdcbiAgICBmYXFJZD86IHN0cmluZ1xuICAgIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nXG4gICAgYWdlbnRFbnRpdHk/OiBBZ2VudEVudGl0eVxuICB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICAgIHNldElzV3JpdGluZyhmYWxzZSlcbiAgICAgIHNldERhdGEobnVsbClcbiAgICAgIHNldExvYWRpbmdNZXNzYWdlKG51bGwpXG4gICAgICBpc1N0b3BwZWRSZWYuY3VycmVudCA9IGZhbHNlIC8vIFJlc2V0ZWFyIGZsYWcgYWwgaW5pY2lhciBudWV2YSBwZXRpY2nDs25cblxuICAgICAgYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQgPSBuZXcgQWJvcnRDb250cm9sbGVyKClcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBtYWlhLk9yY2hlc3RyYXRvci5vcmNoZXN0cmF0b3IoXG4gICAgICAgIHtcbiAgICAgICAgICBpbnB1dDogbWVzc2FnZSxcbiAgICAgICAgICBoaXN0b3J5LFxuICAgICAgICAgIGxhbmcsXG4gICAgICAgICAgdXNlcklkLFxuICAgICAgICAgIC4uLihmaXJzdE5hbWUgPyB7IGZpcnN0TmFtZSB9IDoge30pLFxuICAgICAgICAgIC4uLihsYXN0TmFtZSA/IHsgbGFzdE5hbWUgfSA6IHt9KSxcbiAgICAgICAgICBjb21wYW55SWQsXG4gICAgICAgICAgY2hhdElkLFxuICAgICAgICAgIG1lc3NhZ2VJZCxcbiAgICAgICAgICBjbGllbnRJZCxcbiAgICAgICAgICBhZ2VudE5hbWUsXG4gICAgICAgICAgYWdlbnRJZCxcbiAgICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICAgICAgLi4uKHByb2plY3RJZCA/IHsgcHJvamVjdElkIH0gOiB7fSksXG4gICAgICAgICAgLi4uKGF0dGFjaG1lbnRzID8geyBhdHRhY2htZW50cyB9IDoge30pLFxuICAgICAgICAgIC4uLihwcm9qZWN0TmFtZSA/IHsgcHJvamVjdE5hbWUgfSA6IHt9KSxcbiAgICAgICAgICAuLi4oY2xpZW50TmFtZSA/IHsgY2xpZW50TmFtZSB9IDoge30pLFxuICAgICAgICAgIC4uLihmYXFJZCA/IHsgZmFxSWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4oYWdlbnRTdWdnZXN0aW9uSWQgPyB7IGFnZW50U3VnZ2VzdGlvbklkIH0gOiB7fSksXG4gICAgICAgICAgLi4uKGFnZW50RW50aXR5ICE9IG51bGwgPyB7IGFnZW50RW50aXR5IH0gOiB7fSksXG4gICAgICAgIH0sXG4gICAgICAgIGFib3J0Q29udHJvbGxlclJlZi5jdXJyZW50Py5zaWduYWxcbiAgICAgIClcblxuICAgICAgYXdhaXQgaGFuZGxlU1NFU3RyZWFtKHJlc3BvbnNlKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBvbkVycm9yPy4oKVxuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICB9XG4gIH1cblxuICBjb25zdCBzdG9wU3RyZWFtaW5nID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudCkge1xuICAgICAgaXNTdG9wcGVkUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgICBhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudC5hYm9ydCgpXG4gICAgICBhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudCA9IG51bGxcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICBzZXRJc1dyaXRpbmcoZmFsc2UpXG4gICAgICBzZXRMb2FkaW5nTWVzc2FnZShudWxsKVxuICAgICAgb25TdG9wUmVmLmN1cnJlbnQ/LigpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCByZXNldCA9ICgpID0+IHtcbiAgICBzZXREYXRhKG51bGwpXG4gICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICBzZXRJc1dyaXRpbmcoZmFsc2UpXG4gICAgc2V0TG9hZGluZ01lc3NhZ2UobnVsbClcbiAgICBpc1N0b3BwZWRSZWYuY3VycmVudCA9IGZhbHNlXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGFza01haWEsXG4gICAgcmVzcG9uc2U6IGRhdGEsXG4gICAgaXNMb2FkaW5nLFxuICAgIGlzV3JpdGluZyxcbiAgICBsb2FkaW5nTWVzc2FnZSxcbiAgICByZXNldCxcbiAgICBzdG9wU3RyZWFtaW5nLFxuICAgIGhhbmRsZVNTRVN0cmVhbSwgLy8gRXhwb25lciBwYXJhIHBvZGVyIHVzYXJsbyBlbiBjb250aW51ZS10aHJl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
|