@projectcor/maia-components 2.11.11 → 2.11.12-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/App.js +20 -10
- package/lib/components/atoms/ApprovalBox/ApprovalBox.js +5 -87
- package/lib/components/atoms/ChatDisclaimerMessage/ChatDisclaimerMessage.js +9 -0
- package/lib/components/atoms/ChatDisclaimerMessage/index.js +2 -0
- package/lib/components/atoms/ChatDisclaimerMessage/styles.js +6 -0
- package/lib/components/atoms/Chip/styles.js +2 -2
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +78 -56
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +67 -7
- package/lib/components/atoms/MAIAInput/MAIAInput.js +122 -18
- package/lib/components/atoms/MAIAInput/styles.js +27 -11
- package/lib/components/atoms/SlashCommandDropdown/CategoryStepRegistry.js +5 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +56 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandList.js +26 -0
- package/lib/components/atoms/SlashCommandDropdown/index.js +2 -0
- package/lib/components/atoms/SlashCommandDropdown/steps/TaskStepSelector.js +208 -0
- package/lib/components/atoms/SlashCommandDropdown/steps/index.js +2 -0
- package/lib/components/atoms/SlashCommandDropdown/styles.js +50 -0
- package/lib/components/atoms/SlashCommandDropdown/types.js +2 -0
- package/lib/components/atoms/index.js +2 -1
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +60 -3
- package/lib/components/molecules/ChatAIContent/EphemeralHome/EphemeralHome.js +68 -0
- package/lib/components/molecules/ChatAIContent/EphemeralHome/EphemeralHome.styles.js +50 -0
- package/lib/components/molecules/ChatAIContent/EphemeralHome/index.js +2 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +1 -1
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +32 -14
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +10 -4
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +77 -4
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +10 -2
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +31 -3
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +21 -17
- package/lib/components/molecules/ChatAIModal/components/EphemeralBackBar/EphemeralBackBar.js +24 -0
- package/lib/components/molecules/ChatAIModal/components/EphemeralBackBar/EphemeralBackBar.styles.js +14 -0
- package/lib/components/molecules/ChatAIModal/components/EphemeralBackBar/index.js +2 -0
- package/lib/components/molecules/ChatFooter/ChatFooter.js +24 -7
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +156 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +51 -0
- package/lib/components/molecules/ChatFooter/styles.js +5 -1
- package/lib/components/organisms/ChatAI/ChatAI.js +6 -1
- package/lib/constants/config.js +4 -2
- package/lib/context/global-context.js +1 -1
- package/lib/dev/DevChatAIEphemeral.js +33 -0
- package/lib/hooks/useChatManager/useChatManager.interface.js +1 -1
- package/lib/hooks/useChatManager/useChatManager.js +38 -33
- package/lib/hooks/useFrequentlyAskedQuestions.js +68 -53
- package/lib/hooks/useFrequentlyUsedActions.js +73 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +36 -13
- package/lib/hooks/useProjectSummaryConfig.js +27 -7
- package/lib/hooks/useSectionActions.js +72 -0
- package/lib/hooks/useSlashCommands.js +73 -0
- package/lib/lang/br/index.js +30 -4
- package/lib/lang/en/index.js +30 -4
- package/lib/lang/es/index.js +28 -2
- package/lib/services/cor/getProjectTasks.js +71 -0
- package/lib/services/maia/Actions/getActionsBySection.js +59 -0
- package/lib/services/maia/Actions/index.js +5 -0
- package/lib/services/maia/Agents/getAgents.js +71 -54
- package/lib/services/maia/Chats/getChatsByUserId.js +1 -1
- package/lib/services/maia/FrequentlyUsedActions/getFrequentlyUsedActions.js +48 -0
- package/lib/services/maia/FrequentlyUsedActions/index.js +5 -0
- package/lib/services/maia/Orchestrator/index.js +3 -2
- package/lib/services/maia/Orchestrator/orchestrator.js +27 -1
- package/lib/services/maia/SlashCommands/getSlashCommands.js +48 -0
- package/lib/services/maia/SlashCommands/index.js +5 -0
- package/lib/services/query/getTaskFamilyProjectsQuery.js +5 -0
- package/lib/store/chatsStore.types.js +1 -1
- package/lib/store/faqsStore.types.js +2 -0
- package/lib/store/index.js +2 -1
- package/lib/store/useFaqsStore.js +27 -0
- package/lib/types/FrequentlyAskedQuestion.js +1 -1
- package/lib/types/FrequentlyUsedAction.js +2 -0
- package/lib/types/SectionAction.js +2 -0
- package/lib/types/SlashCommand.js +2 -0
- package/lib/types/agent.js +1 -1
- package/package.json +1 -1
|
@@ -4,89 +4,106 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
4
4
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
5
5
|
import { useState, useCallback } from 'react';
|
|
6
6
|
import { getFrequentlyAskedQuestions } from '../services/maia/Faqs/getFrequentlyAskedQuestions';
|
|
7
|
+
import { useFaqsStore } from '../store/useFaqsStore';
|
|
8
|
+
var getCacheKey = function getCacheKey(agentId, lang) {
|
|
9
|
+
return "".concat(agentId, "-").concat(lang);
|
|
10
|
+
};
|
|
11
|
+
|
|
7
12
|
/**
|
|
8
|
-
* Hook to get frequently asked questions for an agent
|
|
9
|
-
*
|
|
13
|
+
* Hook to get frequently asked questions for an agent.
|
|
14
|
+
* Uses Zustand store to cache responses per agentId+lang and avoid refetch on every home visit.
|
|
15
|
+
* @param agentId - Optional; when provided with lang, faqs are read from cache for that key
|
|
16
|
+
* @param lang - Optional; when provided with agentId, faqs are read from cache for that key
|
|
10
17
|
*/
|
|
11
|
-
export var useFrequentlyAskedQuestions = function useFrequentlyAskedQuestions() {
|
|
12
|
-
var
|
|
18
|
+
export var useFrequentlyAskedQuestions = function useFrequentlyAskedQuestions(agentId, lang) {
|
|
19
|
+
var _cached$data, _cached$has_more, _cached$next_offset;
|
|
20
|
+
var _useState = useState(false),
|
|
13
21
|
_useState2 = _slicedToArray(_useState, 2),
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var _useState3 = useState(
|
|
22
|
+
loading = _useState2[0],
|
|
23
|
+
setLoading = _useState2[1];
|
|
24
|
+
var _useState3 = useState(null),
|
|
17
25
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
var
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
var
|
|
29
|
-
_useState0 = _slicedToArray(_useState9, 2),
|
|
30
|
-
nextOffset = _useState0[0],
|
|
31
|
-
setNextOffset = _useState0[1];
|
|
26
|
+
error = _useState4[0],
|
|
27
|
+
setError = _useState4[1];
|
|
28
|
+
var cached = useFaqsStore(function (state) {
|
|
29
|
+
var key = agentId && lang ? getCacheKey(agentId, lang) : null;
|
|
30
|
+
return key ? state.faqsCache[key] : undefined;
|
|
31
|
+
});
|
|
32
|
+
var _useFaqsStore = useFaqsStore(),
|
|
33
|
+
setFaqsInStore = _useFaqsStore.setFaqs;
|
|
34
|
+
var faqs = (_cached$data = cached === null || cached === void 0 ? void 0 : cached.data) !== null && _cached$data !== void 0 ? _cached$data : [];
|
|
35
|
+
var hasMore = (_cached$has_more = cached === null || cached === void 0 ? void 0 : cached.has_more) !== null && _cached$has_more !== void 0 ? _cached$has_more : false;
|
|
36
|
+
var nextOffset = (_cached$next_offset = cached === null || cached === void 0 ? void 0 : cached.next_offset) !== null && _cached$next_offset !== void 0 ? _cached$next_offset : null;
|
|
32
37
|
var handleGetFrequentlyAskedQuestions = useCallback(/*#__PURE__*/function () {
|
|
33
38
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
|
|
34
|
-
var
|
|
39
|
+
var aid, l, limit, offset, _ref$append, append, key, existing, response, errorMessage, _t;
|
|
35
40
|
return _regeneratorRuntime.wrap(function (_context) {
|
|
36
41
|
while (1) switch (_context.prev = _context.next) {
|
|
37
42
|
case 0:
|
|
38
|
-
|
|
43
|
+
aid = _ref.agentId, l = _ref.lang, limit = _ref.limit, offset = _ref.offset, _ref$append = _ref.append, append = _ref$append === void 0 ? false : _ref$append;
|
|
44
|
+
key = getCacheKey(aid, l);
|
|
45
|
+
existing = useFaqsStore.getState().getFaqs(key);
|
|
46
|
+
if (!(!append && existing)) {
|
|
47
|
+
_context.next = 1;
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
return _context.abrupt("return");
|
|
51
|
+
case 1:
|
|
39
52
|
setLoading(true);
|
|
40
53
|
setError(null);
|
|
41
|
-
_context.prev =
|
|
42
|
-
_context.next =
|
|
54
|
+
_context.prev = 2;
|
|
55
|
+
_context.next = 3;
|
|
43
56
|
return getFrequentlyAskedQuestions({
|
|
44
|
-
agentId:
|
|
45
|
-
lang:
|
|
57
|
+
agentId: aid,
|
|
58
|
+
lang: l,
|
|
46
59
|
limit: limit,
|
|
47
60
|
offset: offset
|
|
48
61
|
});
|
|
49
|
-
case
|
|
62
|
+
case 3:
|
|
50
63
|
response = _context.sent;
|
|
51
64
|
if (!(!response || !response.data || !Array.isArray(response.data))) {
|
|
52
|
-
_context.next =
|
|
65
|
+
_context.next = 4;
|
|
53
66
|
break;
|
|
54
67
|
}
|
|
55
68
|
throw new Error('Invalid response format from server');
|
|
56
|
-
case
|
|
57
|
-
if (append) {
|
|
58
|
-
|
|
59
|
-
|
|
69
|
+
case 4:
|
|
70
|
+
if (append && existing) {
|
|
71
|
+
setFaqsInStore(key, {
|
|
72
|
+
data: [].concat(_toConsumableArray(existing.data), _toConsumableArray(response.data)),
|
|
73
|
+
has_more: response.has_more,
|
|
74
|
+
next_offset: response.next_offset
|
|
60
75
|
});
|
|
61
76
|
} else {
|
|
62
|
-
|
|
77
|
+
setFaqsInStore(key, {
|
|
78
|
+
data: response.data,
|
|
79
|
+
has_more: response.has_more,
|
|
80
|
+
next_offset: response.next_offset
|
|
81
|
+
});
|
|
63
82
|
}
|
|
64
|
-
|
|
65
|
-
setNextOffset(response.next_offset);
|
|
66
|
-
_context.next = 5;
|
|
83
|
+
_context.next = 6;
|
|
67
84
|
break;
|
|
68
|
-
case
|
|
69
|
-
_context.prev =
|
|
70
|
-
_t = _context["catch"](
|
|
85
|
+
case 5:
|
|
86
|
+
_context.prev = 5;
|
|
87
|
+
_t = _context["catch"](2);
|
|
71
88
|
errorMessage = _t instanceof Error ? _t.message : 'An unknown error occurred';
|
|
72
89
|
setError(errorMessage);
|
|
73
90
|
console.error('Error fetching frequently asked questions:', _t);
|
|
74
|
-
case 5:
|
|
75
|
-
_context.prev = 5;
|
|
76
|
-
setLoading(false);
|
|
77
|
-
return _context.finish(5);
|
|
78
91
|
case 6:
|
|
92
|
+
_context.prev = 6;
|
|
93
|
+
setLoading(false);
|
|
94
|
+
return _context.finish(6);
|
|
95
|
+
case 7:
|
|
79
96
|
case "end":
|
|
80
97
|
return _context.stop();
|
|
81
98
|
}
|
|
82
|
-
}, _callee, null, [[
|
|
99
|
+
}, _callee, null, [[2, 5, 6, 7]]);
|
|
83
100
|
}));
|
|
84
101
|
return function (_x) {
|
|
85
102
|
return _ref2.apply(this, arguments);
|
|
86
103
|
};
|
|
87
|
-
}(), []);
|
|
104
|
+
}(), [setFaqsInStore]);
|
|
88
105
|
var handleLoadMore = useCallback(/*#__PURE__*/function () {
|
|
89
|
-
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(
|
|
106
|
+
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(aid, l, limit) {
|
|
90
107
|
return _regeneratorRuntime.wrap(function (_context2) {
|
|
91
108
|
while (1) switch (_context2.prev = _context2.next) {
|
|
92
109
|
case 0:
|
|
@@ -98,8 +115,8 @@ export var useFrequentlyAskedQuestions = function useFrequentlyAskedQuestions()
|
|
|
98
115
|
case 1:
|
|
99
116
|
_context2.next = 2;
|
|
100
117
|
return handleGetFrequentlyAskedQuestions({
|
|
101
|
-
agentId:
|
|
102
|
-
lang:
|
|
118
|
+
agentId: aid,
|
|
119
|
+
lang: l,
|
|
103
120
|
limit: limit,
|
|
104
121
|
offset: Number(nextOffset),
|
|
105
122
|
append: true
|
|
@@ -115,9 +132,7 @@ export var useFrequentlyAskedQuestions = function useFrequentlyAskedQuestions()
|
|
|
115
132
|
};
|
|
116
133
|
}(), [hasMore, nextOffset, loading, handleGetFrequentlyAskedQuestions]);
|
|
117
134
|
var handleCleanFaqs = useCallback(function () {
|
|
118
|
-
|
|
119
|
-
setHasMore(false);
|
|
120
|
-
setNextOffset(null);
|
|
135
|
+
useFaqsStore.getState().clearFaqs();
|
|
121
136
|
}, []);
|
|
122
137
|
return {
|
|
123
138
|
faqs: faqs,
|
|
@@ -130,4 +145,4 @@ export var useFrequentlyAskedQuestions = function useFrequentlyAskedQuestions()
|
|
|
130
145
|
handleCleanFaqs: handleCleanFaqs
|
|
131
146
|
};
|
|
132
147
|
};
|
|
133
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwiZ2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwidXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiZmFxcyIsInNldEZhcXMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJlcnJvciIsInNldEVycm9yIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJoYXNNb3JlIiwic2V0SGFzTW9yZSIsIl91c2VTdGF0ZTkiLCJfdXNlU3RhdGUwIiwibmV4dE9mZnNldCIsInNldE5leHRPZmZzZXQiLCJoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX3JlZiIsImFnZW50SWQiLCJsYW5nIiwibGltaXQiLCJvZmZzZXQiLCJfcmVmJGFwcGVuZCIsImFwcGVuZCIsInJlc3BvbnNlIiwiZXJyb3JNZXNzYWdlIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInNlbnQiLCJkYXRhIiwiQXJyYXkiLCJpc0FycmF5IiwiRXJyb3IiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJoYXNfbW9yZSIsIm5leHRfb2Zmc2V0IiwibWVzc2FnZSIsImNvbnNvbGUiLCJmaW5pc2giLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZUxvYWRNb3JlIiwiX3JlZjMiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsImFicnVwdCIsIk51bWJlciIsIl94MiIsIl94MyIsIl94NCIsImhhbmRsZUNsZWFuRmFxcyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBnZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMgfSBmcm9tICcuLi9zZXJ2aWNlcy9tYWlhL0ZhcXMvZ2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zJ1xuaW1wb3J0IHR5cGUgeyBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbiB9IGZyb20gJy4uL3R5cGVzL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uJ1xuXG50eXBlIFVzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1BhcmFtcyA9IHtcbiAgYWdlbnRJZDogc3RyaW5nXG4gIGxhbmc6IHN0cmluZ1xuICBsaW1pdD86IG51bWJlclxuICBvZmZzZXQ/OiBudW1iZXJcbiAgYXBwZW5kPzogYm9vbGVhblxufVxuXG4vKipcbiAqIEhvb2sgdG8gZ2V0IGZyZXF1ZW50bHkgYXNrZWQgcXVlc3Rpb25zIGZvciBhbiBhZ2VudFxuICogQHJldHVybnMge09iamVjdH0gLSBPYmplY3Qgd2l0aCB0aGUgRkFRcywgbG9hZGluZyBzdGF0ZSwgZXJyb3IsIHBhZ2luYXRpb24gaW5mbywgYW5kIGhhbmRsZXIgZnVuY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IHVzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyA9ICgpID0+IHtcbiAgY29uc3QgW2ZhcXMsIHNldEZhcXNdID0gdXNlU3RhdGU8RnJlcXVlbnRseUFza2VkUXVlc3Rpb25bXT4oW10pXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtoYXNNb3JlLCBzZXRIYXNNb3JlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbbmV4dE9mZnNldCwgc2V0TmV4dE9mZnNldF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jICh7IGFnZW50SWQsIGxhbmcsIGxpbWl0LCBvZmZzZXQsIGFwcGVuZCA9IGZhbHNlIH06IFVzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc1BhcmFtcykgPT4ge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgc2V0RXJyb3IobnVsbClcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBnZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMoe1xuICAgICAgICAgIGFnZW50SWQsXG4gICAgICAgICAgbGFuZyxcbiAgICAgICAgICBsaW1pdCxcbiAgICAgICAgICBvZmZzZXQsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKCFyZXNwb25zZSB8fCAhcmVzcG9uc2UuZGF0YSB8fCAhQXJyYXkuaXNBcnJheShyZXNwb25zZS5kYXRhKSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCByZXNwb25zZSBmb3JtYXQgZnJvbSBzZXJ2ZXInKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFwcGVuZCkge1xuICAgICAgICAgIHNldEZhcXMocHJldiA9PiBbLi4ucHJldiwgLi4ucmVzcG9uc2UuZGF0YV0pXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgc2V0RmFxcyhyZXNwb25zZS5kYXRhKVxuICAgICAgICB9XG5cbiAgICAgICAgc2V0SGFzTW9yZShyZXNwb25zZS5oYXNfbW9yZSlcbiAgICAgICAgc2V0TmV4dE9mZnNldChyZXNwb25zZS5uZXh0X29mZnNldClcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogJ0FuIHVua25vd24gZXJyb3Igb2NjdXJyZWQnXG4gICAgICAgIHNldEVycm9yKGVycm9yTWVzc2FnZSlcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgZnJlcXVlbnRseSBhc2tlZCBxdWVzdGlvbnM6JywgZXJyKVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFtdXG4gIClcblxuICBjb25zdCBoYW5kbGVMb2FkTW9yZSA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChhZ2VudElkOiBzdHJpbmcsIGxhbmc6IHN0cmluZywgbGltaXQ/OiBudW1iZXIpID0+IHtcbiAgICAgIGlmICghaGFzTW9yZSB8fCAhbmV4dE9mZnNldCB8fCBsb2FkaW5nKSByZXR1cm5cblxuICAgICAgYXdhaXQgaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zKHtcbiAgICAgICAgYWdlbnRJZCxcbiAgICAgICAgbGFuZyxcbiAgICAgICAgbGltaXQsXG4gICAgICAgIG9mZnNldDogTnVtYmVyKG5leHRPZmZzZXQpLFxuICAgICAgICBhcHBlbmQ6IHRydWUsXG4gICAgICB9KVxuICAgIH0sXG4gICAgW2hhc01vcmUsIG5leHRPZmZzZXQsIGxvYWRpbmcsIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc11cbiAgKVxuXG4gIGNvbnN0IGhhbmRsZUNsZWFuRmFxcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRGYXFzKFtdKVxuICAgIHNldEhhc01vcmUoZmFsc2UpXG4gICAgc2V0TmV4dE9mZnNldChudWxsKVxuICB9LCBbXSlcblxuICByZXR1cm4ge1xuICAgIGZhcXMsXG4gICAgbG9hZGluZyxcbiAgICBlcnJvcixcbiAgICBoYXNNb3JlLFxuICAgIG5leHRPZmZzZXQsXG4gICAgaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zLFxuICAgIGhhbmRsZUxvYWRNb3JlLFxuICAgIGhhbmRsZUNsZWFuRmFxcyxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoi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
|
|
148
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwiZ2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwidXNlRmFxc1N0b3JlIiwiZ2V0Q2FjaGVLZXkiLCJhZ2VudElkIiwibGFuZyIsImNvbmNhdCIsInVzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyIsIl9jYWNoZWQkZGF0YSIsIl9jYWNoZWQkaGFzX21vcmUiLCJfY2FjaGVkJG5leHRfb2Zmc2V0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwibG9hZGluZyIsInNldExvYWRpbmciLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImVycm9yIiwic2V0RXJyb3IiLCJjYWNoZWQiLCJzdGF0ZSIsImtleSIsImZhcXNDYWNoZSIsInVuZGVmaW5lZCIsIl91c2VGYXFzU3RvcmUiLCJzZXRGYXFzSW5TdG9yZSIsInNldEZhcXMiLCJmYXFzIiwiZGF0YSIsImhhc01vcmUiLCJoYXNfbW9yZSIsIm5leHRPZmZzZXQiLCJuZXh0X29mZnNldCIsImhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyIsIl9yZWYyIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJfcmVmIiwiYWlkIiwibCIsImxpbWl0Iiwib2Zmc2V0IiwiX3JlZiRhcHBlbmQiLCJhcHBlbmQiLCJleGlzdGluZyIsInJlc3BvbnNlIiwiZXJyb3JNZXNzYWdlIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImdldFN0YXRlIiwiZ2V0RmFxcyIsImFicnVwdCIsInNlbnQiLCJBcnJheSIsImlzQXJyYXkiLCJFcnJvciIsIl90b0NvbnN1bWFibGVBcnJheSIsIm1lc3NhZ2UiLCJjb25zb2xlIiwiZmluaXNoIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJoYW5kbGVMb2FkTW9yZSIsIl9yZWYzIiwiX2NhbGxlZTIiLCJfY29udGV4dDIiLCJOdW1iZXIiLCJfeDIiLCJfeDMiLCJfeDQiLCJoYW5kbGVDbGVhbkZhcXMiLCJjbGVhckZhcXMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgZ2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIH0gZnJvbSAnLi4vc2VydmljZXMvbWFpYS9GYXFzL2dldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucydcbmltcG9ydCB7IHVzZUZhcXNTdG9yZSB9IGZyb20gJy4uL3N0b3JlL3VzZUZhcXNTdG9yZSdcblxudHlwZSBVc2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNQYXJhbXMgPSB7XG4gIGFnZW50SWQ6IHN0cmluZ1xuICBsYW5nOiBzdHJpbmdcbiAgbGltaXQ/OiBudW1iZXJcbiAgb2Zmc2V0PzogbnVtYmVyXG4gIGFwcGVuZD86IGJvb2xlYW5cbn1cblxuY29uc3QgZ2V0Q2FjaGVLZXkgPSAoYWdlbnRJZDogc3RyaW5nLCBsYW5nOiBzdHJpbmcpID0+IGAke2FnZW50SWR9LSR7bGFuZ31gXG5cbi8qKlxuICogSG9vayB0byBnZXQgZnJlcXVlbnRseSBhc2tlZCBxdWVzdGlvbnMgZm9yIGFuIGFnZW50LlxuICogVXNlcyBadXN0YW5kIHN0b3JlIHRvIGNhY2hlIHJlc3BvbnNlcyBwZXIgYWdlbnRJZCtsYW5nIGFuZCBhdm9pZCByZWZldGNoIG9uIGV2ZXJ5IGhvbWUgdmlzaXQuXG4gKiBAcGFyYW0gYWdlbnRJZCAtIE9wdGlvbmFsOyB3aGVuIHByb3ZpZGVkIHdpdGggbGFuZywgZmFxcyBhcmUgcmVhZCBmcm9tIGNhY2hlIGZvciB0aGF0IGtleVxuICogQHBhcmFtIGxhbmcgLSBPcHRpb25hbDsgd2hlbiBwcm92aWRlZCB3aXRoIGFnZW50SWQsIGZhcXMgYXJlIHJlYWQgZnJvbSBjYWNoZSBmb3IgdGhhdCBrZXlcbiAqL1xuZXhwb3J0IGNvbnN0IHVzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyA9IChhZ2VudElkPzogc3RyaW5nLCBsYW5nPzogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG5cbiAgY29uc3QgY2FjaGVkID0gdXNlRmFxc1N0b3JlKHN0YXRlID0+IHtcbiAgICBjb25zdCBrZXkgPSBhZ2VudElkICYmIGxhbmcgPyBnZXRDYWNoZUtleShhZ2VudElkLCBsYW5nKSA6IG51bGxcbiAgICByZXR1cm4ga2V5ID8gc3RhdGUuZmFxc0NhY2hlW2tleV0gOiB1bmRlZmluZWRcbiAgfSlcblxuICBjb25zdCB7IHNldEZhcXM6IHNldEZhcXNJblN0b3JlIH0gPSB1c2VGYXFzU3RvcmUoKVxuXG4gIGNvbnN0IGZhcXMgPSBjYWNoZWQ/LmRhdGEgPz8gW11cbiAgY29uc3QgaGFzTW9yZSA9IGNhY2hlZD8uaGFzX21vcmUgPz8gZmFsc2VcbiAgY29uc3QgbmV4dE9mZnNldCA9IGNhY2hlZD8ubmV4dF9vZmZzZXQgPz8gbnVsbFxuXG4gIGNvbnN0IGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jICh7IGFnZW50SWQ6IGFpZCwgbGFuZzogbCwgbGltaXQsIG9mZnNldCwgYXBwZW5kID0gZmFsc2UgfTogVXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zUGFyYW1zKSA9PiB7XG4gICAgICBjb25zdCBrZXkgPSBnZXRDYWNoZUtleShhaWQsIGwpXG4gICAgICBjb25zdCBleGlzdGluZyA9IHVzZUZhcXNTdG9yZS5nZXRTdGF0ZSgpLmdldEZhcXMoa2V5KVxuXG4gICAgICBpZiAoIWFwcGVuZCAmJiBleGlzdGluZykge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgc2V0RXJyb3IobnVsbClcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBnZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMoe1xuICAgICAgICAgIGFnZW50SWQ6IGFpZCxcbiAgICAgICAgICBsYW5nOiBsLFxuICAgICAgICAgIGxpbWl0LFxuICAgICAgICAgIG9mZnNldCxcbiAgICAgICAgfSlcblxuICAgICAgICBpZiAoIXJlc3BvbnNlIHx8ICFyZXNwb25zZS5kYXRhIHx8ICFBcnJheS5pc0FycmF5KHJlc3BvbnNlLmRhdGEpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHJlc3BvbnNlIGZvcm1hdCBmcm9tIHNlcnZlcicpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYXBwZW5kICYmIGV4aXN0aW5nKSB7XG4gICAgICAgICAgc2V0RmFxc0luU3RvcmUoa2V5LCB7XG4gICAgICAgICAgICBkYXRhOiBbLi4uZXhpc3RpbmcuZGF0YSwgLi4ucmVzcG9uc2UuZGF0YV0sXG4gICAgICAgICAgICBoYXNfbW9yZTogcmVzcG9uc2UuaGFzX21vcmUsXG4gICAgICAgICAgICBuZXh0X29mZnNldDogcmVzcG9uc2UubmV4dF9vZmZzZXQsXG4gICAgICAgICAgfSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRGYXFzSW5TdG9yZShrZXksIHtcbiAgICAgICAgICAgIGRhdGE6IHJlc3BvbnNlLmRhdGEsXG4gICAgICAgICAgICBoYXNfbW9yZTogcmVzcG9uc2UuaGFzX21vcmUsXG4gICAgICAgICAgICBuZXh0X29mZnNldDogcmVzcG9uc2UubmV4dF9vZmZzZXQsXG4gICAgICAgICAgfSlcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGVyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiAnQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCdcbiAgICAgICAgc2V0RXJyb3IoZXJyb3JNZXNzYWdlKVxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBmcmVxdWVudGx5IGFza2VkIHF1ZXN0aW9uczonLCBlcnIpXG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgfVxuICAgIH0sXG4gICAgW3NldEZhcXNJblN0b3JlXVxuICApXG5cbiAgY29uc3QgaGFuZGxlTG9hZE1vcmUgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoYWlkOiBzdHJpbmcsIGw6IHN0cmluZywgbGltaXQ/OiBudW1iZXIpID0+IHtcbiAgICAgIGlmICghaGFzTW9yZSB8fCAhbmV4dE9mZnNldCB8fCBsb2FkaW5nKSByZXR1cm5cblxuICAgICAgYXdhaXQgaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zKHtcbiAgICAgICAgYWdlbnRJZDogYWlkLFxuICAgICAgICBsYW5nOiBsLFxuICAgICAgICBsaW1pdCxcbiAgICAgICAgb2Zmc2V0OiBOdW1iZXIobmV4dE9mZnNldCksXG4gICAgICAgIGFwcGVuZDogdHJ1ZSxcbiAgICAgIH0pXG4gICAgfSxcbiAgICBbaGFzTW9yZSwgbmV4dE9mZnNldCwgbG9hZGluZywgaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zXVxuICApXG5cbiAgY29uc3QgaGFuZGxlQ2xlYW5GYXFzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHVzZUZhcXNTdG9yZS5nZXRTdGF0ZSgpLmNsZWFyRmFxcygpXG4gIH0sIFtdKVxuXG4gIHJldHVybiB7XG4gICAgZmFxcyxcbiAgICBsb2FkaW5nLFxuICAgIGVycm9yLFxuICAgIGhhc01vcmUsXG4gICAgbmV4dE9mZnNldCxcbiAgICBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMsXG4gICAgaGFuZGxlTG9hZE1vcmUsXG4gICAgaGFuZGxlQ2xlYW5GYXFzLFxuICB9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
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
5
|
+
import { useCallback, useState } from 'react';
|
|
6
|
+
import { getFrequentlyUsedActions } from '../services/maia/FrequentlyUsedActions/getFrequentlyUsedActions';
|
|
7
|
+
export var useFrequentlyUsedActions = function useFrequentlyUsedActions() {
|
|
8
|
+
var _useState = useState([]),
|
|
9
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
10
|
+
actions = _useState2[0],
|
|
11
|
+
setActions = _useState2[1];
|
|
12
|
+
var _useState3 = useState(false),
|
|
13
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
14
|
+
loading = _useState4[0],
|
|
15
|
+
setLoading = _useState4[1];
|
|
16
|
+
var _useState5 = useState(null),
|
|
17
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
18
|
+
error = _useState6[0],
|
|
19
|
+
setError = _useState6[1];
|
|
20
|
+
var handleGetFrequentlyUsedActions = useCallback(/*#__PURE__*/function () {
|
|
21
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
|
|
22
|
+
var agentId, lang, limit, offset, response, sortedActions, errorMessage, _t;
|
|
23
|
+
return _regeneratorRuntime.wrap(function (_context) {
|
|
24
|
+
while (1) switch (_context.prev = _context.next) {
|
|
25
|
+
case 0:
|
|
26
|
+
agentId = _ref.agentId, lang = _ref.lang, limit = _ref.limit, offset = _ref.offset;
|
|
27
|
+
setLoading(true);
|
|
28
|
+
setError(null);
|
|
29
|
+
_context.prev = 1;
|
|
30
|
+
_context.next = 2;
|
|
31
|
+
return getFrequentlyUsedActions({
|
|
32
|
+
agentId: agentId,
|
|
33
|
+
lang: lang,
|
|
34
|
+
limit: limit,
|
|
35
|
+
offset: offset
|
|
36
|
+
});
|
|
37
|
+
case 2:
|
|
38
|
+
response = _context.sent;
|
|
39
|
+
sortedActions = _toConsumableArray(response.data || []).sort(function (a, b) {
|
|
40
|
+
var _a$order, _b$order;
|
|
41
|
+
return ((_a$order = a.order) !== null && _a$order !== void 0 ? _a$order : 0) - ((_b$order = b.order) !== null && _b$order !== void 0 ? _b$order : 0);
|
|
42
|
+
});
|
|
43
|
+
setActions(sortedActions);
|
|
44
|
+
_context.next = 4;
|
|
45
|
+
break;
|
|
46
|
+
case 3:
|
|
47
|
+
_context.prev = 3;
|
|
48
|
+
_t = _context["catch"](1);
|
|
49
|
+
errorMessage = _t instanceof Error ? _t.message : 'An unknown error occurred';
|
|
50
|
+
setError(errorMessage);
|
|
51
|
+
console.error('Error fetching frequently used actions:', _t);
|
|
52
|
+
case 4:
|
|
53
|
+
_context.prev = 4;
|
|
54
|
+
setLoading(false);
|
|
55
|
+
return _context.finish(4);
|
|
56
|
+
case 5:
|
|
57
|
+
case "end":
|
|
58
|
+
return _context.stop();
|
|
59
|
+
}
|
|
60
|
+
}, _callee, null, [[1, 3, 4, 5]]);
|
|
61
|
+
}));
|
|
62
|
+
return function (_x) {
|
|
63
|
+
return _ref2.apply(this, arguments);
|
|
64
|
+
};
|
|
65
|
+
}(), []);
|
|
66
|
+
return {
|
|
67
|
+
actions: actions,
|
|
68
|
+
loading: loading,
|
|
69
|
+
error: error,
|
|
70
|
+
handleGetFrequentlyUsedActions: handleGetFrequentlyUsedActions
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVN0YXRlIiwiZ2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zIiwidXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiYWN0aW9ucyIsInNldEFjdGlvbnMiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJlcnJvciIsInNldEVycm9yIiwiaGFuZGxlR2V0RnJlcXVlbnRseVVzZWRBY3Rpb25zIiwiX3JlZjIiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIl9yZWYiLCJhZ2VudElkIiwibGFuZyIsImxpbWl0Iiwib2Zmc2V0IiwicmVzcG9uc2UiLCJzb3J0ZWRBY3Rpb25zIiwiZXJyb3JNZXNzYWdlIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInNlbnQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJkYXRhIiwic29ydCIsImEiLCJiIiwiX2Ekb3JkZXIiLCJfYiRvcmRlciIsIm9yZGVyIiwiRXJyb3IiLCJtZXNzYWdlIiwiY29uc29sZSIsImZpbmlzaCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZUZyZXF1ZW50bHlVc2VkQWN0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyB9IGZyb20gJy4uL3NlcnZpY2VzL21haWEvRnJlcXVlbnRseVVzZWRBY3Rpb25zL2dldEZyZXF1ZW50bHlVc2VkQWN0aW9ucydcbmltcG9ydCB0eXBlIHsgRnJlcXVlbnRseVVzZWRBY3Rpb24gfSBmcm9tICcuLi90eXBlcy9GcmVxdWVudGx5VXNlZEFjdGlvbidcblxudHlwZSBVc2VGcmVxdWVudGx5VXNlZEFjdGlvbnNQYXJhbXMgPSB7XG4gIGFnZW50SWQ6IHN0cmluZ1xuICBsYW5nOiBzdHJpbmdcbiAgbGltaXQ/OiBudW1iZXJcbiAgb2Zmc2V0PzogbnVtYmVyXG59XG5cbmV4cG9ydCBjb25zdCB1c2VGcmVxdWVudGx5VXNlZEFjdGlvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IFthY3Rpb25zLCBzZXRBY3Rpb25zXSA9IHVzZVN0YXRlPEZyZXF1ZW50bHlVc2VkQWN0aW9uW10+KFtdKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IGhhbmRsZUdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jICh7IGFnZW50SWQsIGxhbmcsIGxpbWl0LCBvZmZzZXQgfTogVXNlRnJlcXVlbnRseVVzZWRBY3Rpb25zUGFyYW1zKSA9PiB7XG4gICAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgICBzZXRFcnJvcihudWxsKVxuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGdldEZyZXF1ZW50bHlVc2VkQWN0aW9ucyh7IGFnZW50SWQsIGxhbmcsIGxpbWl0LCBvZmZzZXQgfSlcbiAgICAgICAgY29uc3Qgc29ydGVkQWN0aW9ucyA9IFsuLi4ocmVzcG9uc2UuZGF0YSB8fCBbXSldLnNvcnQoKGEsIGIpID0+IChhLm9yZGVyID8/IDApIC0gKGIub3JkZXIgPz8gMCkpXG4gICAgICAgIHNldEFjdGlvbnMoc29ydGVkQWN0aW9ucylcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogJ0FuIHVua25vd24gZXJyb3Igb2NjdXJyZWQnXG4gICAgICAgIHNldEVycm9yKGVycm9yTWVzc2FnZSlcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZmV0Y2hpbmcgZnJlcXVlbnRseSB1c2VkIGFjdGlvbnM6JywgZXJyKVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgIH1cbiAgICB9LFxuICAgIFtdXG4gIClcblxuICByZXR1cm4ge1xuICAgIGFjdGlvbnMsXG4gICAgbG9hZGluZyxcbiAgICBlcnJvcixcbiAgICBoYW5kbGVHZXRGcmVxdWVudGx5VXNlZEFjdGlvbnMsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLFdBQVcsRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDN0MsU0FBU0Msd0JBQXdCLFFBQVEsaUVBQWlFO0FBVTFHLE9BQU8sSUFBTUMsd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUF3QkEsQ0FBQSxFQUFTO0VBQzVDLElBQUFDLFNBQUEsR0FBOEJILFFBQVEsQ0FBeUIsRUFBRSxDQUFDO0lBQUFJLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQTNERyxPQUFPLEdBQUFGLFVBQUE7SUFBRUcsVUFBVSxHQUFBSCxVQUFBO0VBQzFCLElBQUFJLFVBQUEsR0FBOEJSLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQVMsVUFBQSxHQUFBSixjQUFBLENBQUFHLFVBQUE7SUFBdENFLE9BQU8sR0FBQUQsVUFBQTtJQUFFRSxVQUFVLEdBQUFGLFVBQUE7RUFDMUIsSUFBQUcsVUFBQSxHQUEwQlosUUFBUSxDQUFnQixJQUFJLENBQUM7SUFBQWEsVUFBQSxHQUFBUixjQUFBLENBQUFPLFVBQUE7SUFBaERFLEtBQUssR0FBQUQsVUFBQTtJQUFFRSxRQUFRLEdBQUFGLFVBQUE7RUFFdEIsSUFBTUcsOEJBQThCLEdBQUdqQixXQUFXO0lBQUEsSUFBQWtCLEtBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMs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
|
|
@@ -238,11 +238,11 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
238
238
|
}(), [t]);
|
|
239
239
|
var askMaia = /*#__PURE__*/function () {
|
|
240
240
|
var _ref4 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref3) {
|
|
241
|
-
var message, history, projectId, lang, userId, companyId, chatId, messageId, clientId, clientName, agentName, agentId, isWebSearchActive, isDeepSearchActive, attachments, projectName, faqId, _abortControllerRef$c, response, _t5;
|
|
241
|
+
var message, history, projectId, lang, userId, companyId, chatId, messageId, clientId, clientName, agentName, agentId, isWebSearchActive, isDeepSearchActive, attachments, projectName, faqId, ephemeralEntityId, actionId, _abortControllerRef$c2, _abortControllerRef$c, _response, response, _t5;
|
|
242
242
|
return _regeneratorRuntime.wrap(function (_context2) {
|
|
243
243
|
while (1) switch (_context2.prev = _context2.next) {
|
|
244
244
|
case 0:
|
|
245
|
-
message = _ref3.message, history = _ref3.history, projectId = _ref3.projectId, lang = _ref3.lang, userId = _ref3.userId, companyId = _ref3.companyId, chatId = _ref3.chatId, messageId = _ref3.messageId, clientId = _ref3.clientId, clientName = _ref3.clientName, agentName = _ref3.agentName, agentId = _ref3.agentId, isWebSearchActive = _ref3.isWebSearchActive, isDeepSearchActive = _ref3.isDeepSearchActive, attachments = _ref3.attachments, projectName = _ref3.projectName, faqId = _ref3.faqId;
|
|
245
|
+
message = _ref3.message, history = _ref3.history, projectId = _ref3.projectId, lang = _ref3.lang, userId = _ref3.userId, companyId = _ref3.companyId, chatId = _ref3.chatId, messageId = _ref3.messageId, clientId = _ref3.clientId, clientName = _ref3.clientName, agentName = _ref3.agentName, agentId = _ref3.agentId, isWebSearchActive = _ref3.isWebSearchActive, isDeepSearchActive = _ref3.isDeepSearchActive, attachments = _ref3.attachments, projectName = _ref3.projectName, faqId = _ref3.faqId, ephemeralEntityId = _ref3.ephemeralEntityId, actionId = _ref3.actionId;
|
|
246
246
|
_context2.prev = 1;
|
|
247
247
|
setLoading(true);
|
|
248
248
|
setIsWriting(false);
|
|
@@ -251,7 +251,30 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
251
251
|
isStoppedRef.current = false; // Resetear flag al iniciar nueva petición
|
|
252
252
|
|
|
253
253
|
abortControllerRef.current = new AbortController();
|
|
254
|
-
|
|
254
|
+
if (!(ephemeralEntityId != null)) {
|
|
255
|
+
_context2.next = 5;
|
|
256
|
+
break;
|
|
257
|
+
}
|
|
258
|
+
if (actionId) {
|
|
259
|
+
_context2.next = 2;
|
|
260
|
+
break;
|
|
261
|
+
}
|
|
262
|
+
throw new Error('Falta actionId para orchestrator ephemeral stream');
|
|
263
|
+
case 2:
|
|
264
|
+
_context2.next = 3;
|
|
265
|
+
return maia.Orchestrator.orchestratorEphemeralStream({
|
|
266
|
+
actionId: actionId,
|
|
267
|
+
lang: lang,
|
|
268
|
+
entityId: ephemeralEntityId
|
|
269
|
+
}, (_abortControllerRef$c = abortControllerRef.current) === null || _abortControllerRef$c === void 0 ? void 0 : _abortControllerRef$c.signal);
|
|
270
|
+
case 3:
|
|
271
|
+
_response = _context2.sent;
|
|
272
|
+
_context2.next = 4;
|
|
273
|
+
return handleSSEStream(_response);
|
|
274
|
+
case 4:
|
|
275
|
+
return _context2.abrupt("return");
|
|
276
|
+
case 5:
|
|
277
|
+
_context2.next = 6;
|
|
255
278
|
return maia.Orchestrator.orchestrator(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
256
279
|
input: message,
|
|
257
280
|
history: history,
|
|
@@ -275,24 +298,24 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
275
298
|
clientName: clientName
|
|
276
299
|
} : {}), faqId ? {
|
|
277
300
|
faqId: faqId
|
|
278
|
-
} : {}), (_abortControllerRef$
|
|
279
|
-
case
|
|
301
|
+
} : {}), (_abortControllerRef$c2 = abortControllerRef.current) === null || _abortControllerRef$c2 === void 0 ? void 0 : _abortControllerRef$c2.signal);
|
|
302
|
+
case 6:
|
|
280
303
|
response = _context2.sent;
|
|
281
|
-
_context2.next =
|
|
304
|
+
_context2.next = 7;
|
|
282
305
|
return handleSSEStream(response);
|
|
283
|
-
case
|
|
284
|
-
_context2.next =
|
|
306
|
+
case 7:
|
|
307
|
+
_context2.next = 9;
|
|
285
308
|
break;
|
|
286
|
-
case
|
|
287
|
-
_context2.prev =
|
|
309
|
+
case 8:
|
|
310
|
+
_context2.prev = 8;
|
|
288
311
|
_t5 = _context2["catch"](1);
|
|
289
312
|
onError === null || onError === void 0 || onError();
|
|
290
313
|
setLoading(false);
|
|
291
|
-
case
|
|
314
|
+
case 9:
|
|
292
315
|
case "end":
|
|
293
316
|
return _context2.stop();
|
|
294
317
|
}
|
|
295
|
-
}, _callee2, null, [[1,
|
|
318
|
+
}, _callee2, null, [[1, 8]]);
|
|
296
319
|
}));
|
|
297
320
|
return function askMaia(_x2) {
|
|
298
321
|
return _ref4.apply(this, arguments);
|
|
@@ -328,4 +351,4 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
|
|
|
328
351
|
handleSSEStream: handleSSEStream // Exponer para poder usarlo en continue-thread
|
|
329
352
|
};
|
|
330
353
|
};
|
|
331
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlUmVmIiwidXNlVHJhbnNsYXRpb24iLCJtYWlhIiwiU0VDVElPTlMiLCJ1c2VPcmNoZXN0cmF0b3JTdHJlYW0iLCJfcmVmIiwib25TdHJlYW1VcGRhdGUiLCJvbkZpbmlzaFN0cmVhbSIsIm9uU3RhcnRXcml0aW5nIiwib25TdG9wIiwib25FcnJvciIsIm9uQXBwcm92YWxSZXF1aXJlZCIsIl91c2VUcmFuc2xhdGlvbiIsImNoYXRBSSIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJkYXRhIiwic2V0RGF0YSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNMb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNXcml0aW5nIiwic2V0SXNXcml0aW5nIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJsb2FkaW5nTWVzc2FnZSIsInNldExvYWRpbmdNZXNzYWdlIiwiYWJvcnRDb250cm9sbGVyUmVmIiwiaXNTdG9wcGVkUmVmIiwib25TdHJlYW1VcGRhdGVSZWYiLCJvbkZpbmlzaFN0cmVhbVJlZiIsIm9uU3RhcnRXcml0aW5nUmVmIiwib25TdG9wUmVmIiwib25FcnJvclJlZiIsIm9uQXBwcm92YWxSZXF1aXJlZFJlZiIsImN1cnJlbnQiLCJoYW5kbGVTU0VTdHJlYW0iLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicmVzcG9uc2UiLCJfb25TdHJlYW1VcGRhdGVSZWYkY3UiLCJfb25GaW5pc2hTdHJlYW1SZWYkY3UiLCJfb25BcHByb3ZhbFJlcXVpcmVkUmUiLCJfb25FcnJvclJlZiRjdXJyZW50IiwiX3Jlc3BvbnNlJGJvZHkiLCJyZWFkZXIiLCJkZWNvZGVyIiwiYnVmZmVyIiwiYWNjdW11bGF0ZWRDb250ZW50IiwiaGFzU3RhcnRlZFdyaXRpbmciLCJfeWllbGQkcmVhZGVyJHJlYWQiLCJkb25lIiwidmFsdWUiLCJsaW5lcyIsIl9pdGVyYXRvciIsIl9zdGVwIiwibGluZSIsIl9saW5lJHNwbGl0IiwiX2xpbmUkc3BsaXQyIiwiZXZlbnRMaW5lIiwiZGF0YUxpbmUiLCJldmVudFR5cGUiLCJkYXRhU3RyIiwiX2RhdGEiLCJfb25TdGFydFdyaXRpbmdSZWYkY3UiLCJmaW5hbENvbnRlbnQiLCJzb3VyY2VzIiwibWVtb3J5U2Vzc2lvbklkIiwiX29uRXJyb3JSZWYkY3VycmVudDIiLCJfdCIsIl90MiIsIl90MyIsIl90NCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiYm9keSIsImdldFJlYWRlciIsIkVycm9yIiwiVGV4dERlY29kZXIiLCJjYW5jZWwiLCJhYnJ1cHQiLCJyZWFkIiwic2VudCIsImRlY29kZSIsInN0cmVhbSIsInNwbGl0IiwicG9wIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJzIiwibiIsInRyaW0iLCJyZXBsYWNlIiwiSlNPTiIsInBhcnNlIiwiY2FsbCIsImNvbnRlbnQiLCJtZXNzYWdlIiwibWVtb3J5X3Nlc3Npb25faWQiLCJjb25zb2xlIiwiZXJyb3IiLCJ3YXJuIiwiZSIsImYiLCJmaW5pc2giLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImFza01haWEiLCJfcmVmNCIsIl9jYWxsZWUyIiwiX3JlZjMiLCJoaXN0b3J5IiwicHJvamVjdElkIiwibGFuZyIsInVzZXJJZCIsImNvbXBhbnlJZCIsImNoYXRJZCIsIm1lc3NhZ2VJZCIsImNsaWVudElkIiwiY2xpZW50TmFtZSIsImFnZW50TmFtZSIsImFnZW50SWQiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsImF0dGFjaG1lbnRzIiwicHJvamVjdE5hbWUiLCJmYXFJZCIsIl9hYm9ydENvbnRyb2xsZXJSZWYkYyIsIl90NSIsIl9jb250ZXh0MiIsIkFib3J0Q29udHJvbGxlciIsIk9yY2hlc3RyYXRvciIsIm9yY2hlc3RyYXRvciIsIl9vYmplY3RTcHJlYWQiLCJpbnB1dCIsInNpZ25hbCIsIl94MiIsInN0b3BTdHJlYW1pbmciLCJfb25TdG9wUmVmJGN1cnJlbnQiLCJhYm9ydCIsInJlc2V0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZU9yY2hlc3RyYXRvclN0cmVhbS91c2VPcmNoZXN0cmF0b3JTdHJlYW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXNoYWRvdyAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tY29uc3RhbnQtY29uZGl0aW9uICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1jb250aW51ZSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tYXdhaXQtaW4tbG9vcCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tY2FzZS1kZWNsYXJhdGlvbnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXJlc3RyaWN0ZWQtc3ludGF4ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZVJlZiB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgbWFpYSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9tYWlhJ1xuaW1wb3J0IHsgQ2hhdEhpc3RvcnkgfSBmcm9tICcuLi8uLi90eXBlcy9DaGF0J1xuaW1wb3J0IHsgVXNlT3JjaGVzdHJhdG9yU3RyZWFtUHJvcHMgfSBmcm9tICcuL3VzZU9yY2hlc3RyYXRvclN0cmVhbS5pbnRlcmZhY2UnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5cbmV4cG9ydCBjb25zdCB1c2VPcmNoZXN0cmF0b3JTdHJlYW0gPSAoe1xuICBvblN0cmVhbVVwZGF0ZSxcbiAgb25GaW5pc2hTdHJlYW0sXG4gIG9uU3RhcnRXcml0aW5nLFxuICBvblN0b3AsXG4gIG9uRXJyb3IsXG4gIG9uQXBwcm92YWxSZXF1aXJlZCxcbn06IFVzZU9yY2hlc3RyYXRvclN0cmVhbVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmNoYXRBSV0pXG4gIGNvbnN0IFtkYXRhLCBzZXREYXRhXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpc1dyaXRpbmcsIHNldElzV3JpdGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2xvYWRpbmdNZXNzYWdlLCBzZXRMb2FkaW5nTWVzc2FnZV0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBhYm9ydENvbnRyb2xsZXJSZWYgPSB1c2VSZWY8QWJvcnRDb250cm9sbGVyIHwgbnVsbD4obnVsbClcbiAgY29uc3QgaXNTdG9wcGVkUmVmID0gdXNlUmVmKGZhbHNlKVxuXG4gIGNvbnN0IG9uU3RyZWFtVXBkYXRlUmVmID0gdXNlUmVmKG9uU3RyZWFtVXBkYXRlKVxuICBjb25zdCBvbkZpbmlzaFN0cmVhbVJlZiA9IHVzZVJlZihvbkZpbmlzaFN0cmVhbSlcbiAgY29uc3Qgb25TdGFydFdyaXRpbmdSZWYgPSB1c2VSZWYob25TdGFydFdyaXRpbmcpXG4gIGNvbnN0IG9uU3RvcFJlZiA9IHVzZVJlZihvblN0b3ApXG4gIGNvbnN0IG9uRXJyb3JSZWYgPSB1c2VSZWYob25FcnJvcilcbiAgY29uc3Qgb25BcHByb3ZhbFJlcXVpcmVkUmVmID0gdXNlUmVmKG9uQXBwcm92YWxSZXF1aXJlZClcblxuICBvblN0cmVhbVVwZGF0ZVJlZi5jdXJyZW50ID0gb25TdHJlYW1VcGRhdGVcbiAgb25GaW5pc2hTdHJlYW1SZWYuY3VycmVudCA9IG9uRmluaXNoU3RyZWFtXG4gIG9uU3RhcnRXcml0aW5nUmVmLmN1cnJlbnQgPSBvblN0YXJ0V3JpdGluZ1xuICBvblN0b3BSZWYuY3VycmVudCA9IG9uU3RvcFxuICBvbkVycm9yUmVmLmN1cnJlbnQgPSBvbkVycm9yXG4gIG9uQXBwcm92YWxSZXF1aXJlZFJlZi5jdXJyZW50ID0gb25BcHByb3ZhbFJlcXVpcmVkXG5cbiAgY29uc3QgaGFuZGxlU1NFU3RyZWFtID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHJlc3BvbnNlOiBSZXNwb25zZSkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVhZGVyID0gcmVzcG9uc2UuYm9keT8uZ2V0UmVhZGVyKClcbiAgICAgICAgaWYgKCFyZWFkZXIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHJlYWRlciBhdmFpbGFibGUnKVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGVjb2RlciA9IG5ldyBUZXh0RGVjb2RlcigpXG4gICAgICAgIGxldCBidWZmZXIgPSAnJ1xuICAgICAgICBsZXQgYWNjdW11bGF0ZWRDb250ZW50ID0gJydcbiAgICAgICAgbGV0IGhhc1N0YXJ0ZWRXcml0aW5nID0gZmFsc2VcblxuICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgIGlmIChpc1N0b3BwZWRSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgcmVhZGVyLmNhbmNlbCgpXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHsgZG9uZSwgdmFsdWUgfSA9IGF3YWl0IHJlYWRlci5yZWFkKClcbiAgICAgICAgICBpZiAoZG9uZSkge1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoaXNTdG9wcGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIHJlYWRlci5jYW5jZWwoKVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBidWZmZXIgKz0gZGVjb2Rlci5kZWNvZGUodmFsdWUsIHsgc3RyZWFtOiB0cnVlIH0pXG4gICAgICAgICAgY29uc3QgbGluZXMgPSBidWZmZXIuc3BsaXQoJ1xcblxcbicpXG4gICAgICAgICAgYnVmZmVyID0gbGluZXMucG9wKCkgfHwgJydcblxuICAgICAgICAgIGZvciAoY29uc3QgbGluZSBvZiBsaW5lcykge1xuICAgICAgICAgICAgaWYgKGxpbmUudHJpbSgpID09PSAnJykgY29udGludWVcblxuICAgICAgICAgICAgY29uc3QgW2V2ZW50TGluZSwgZGF0YUxpbmVdID0gbGluZS5zcGxpdCgnXFxuJylcbiAgICAgICAgICAgIGlmICghZXZlbnRMaW5lIHx8ICFkYXRhTGluZSkgY29udGludWVcblxuICAgICAgICAgICAgY29uc3QgZXZlbnRUeXBlID0gZXZlbnRMaW5lLnJlcGxhY2UoJ2V2ZW50OiAnLCAnJykudHJpbSgpXG4gICAgICAgICAgICBjb25zdCBkYXRhU3RyID0gZGF0YUxpbmUucmVwbGFjZSgnZGF0YTogJywgJycpLnRyaW0oKVxuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShkYXRhU3RyKVxuXG4gICAgICAgICAgICAgIHN3aXRjaCAoZXZlbnRUeXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAndG9rZW4nOlxuICAgICAgICAgICAgICAgICAgaWYgKCFoYXNTdGFydGVkV3JpdGluZykge1xuICAgICAgICAgICAgICAgICAgICBoYXNTdGFydGVkV3JpdGluZyA9IHRydWVcbiAgICAgICAgICAgICAgICAgICAgc2V0SXNXcml0aW5nKHRydWUpXG4gICAgICAgICAgICAgICAgICAgIHNldExvYWRpbmdNZXNzYWdlKHQoJ2NoYXQud3JpdGluZycpKVxuICAgICAgICAgICAgICAgICAgICBvblN0YXJ0V3JpdGluZ1JlZi5jdXJyZW50Py4oKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgYWNjdW11bGF0ZWRDb250ZW50ICs9IGRhdGEuY29udGVudFxuICAgICAgICAgICAgICAgICAgc2V0RGF0YShhY2N1bXVsYXRlZENvbnRlbnQpXG4gICAgICAgICAgICAgICAgICBvblN0cmVhbVVwZGF0ZVJlZi5jdXJyZW50Py4oYWNjdW11bGF0ZWRDb250ZW50LCBudWxsLCAnJylcbiAgICAgICAgICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgICAgICAgICBjYXNlICdub2RlJzpcbiAgICAgICAgICAgICAgICAgIC8vIFNpIGVsIGV2ZW50byBub2RlIHRpZW5lIHVuIG1lbnNhamUsIGFjdHVhbGl6YXJsbyBwYXJhIG1vc3RyYXJsbyBlbiBlbCBsb2FkZXJcbiAgICAgICAgICAgICAgICAgIGlmIChkYXRhLm1lc3NhZ2UgJiYgdHlwZW9mIGRhdGEubWVzc2FnZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQXNlZ3VyYXIgcXVlIGlzTG9hZGluZyBlc3TDqSBlbiB0cnVlIHBhcmEgbW9zdHJhciBlbCBsb2FkZXJcbiAgICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZyh0cnVlKVxuICAgICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nTWVzc2FnZShkYXRhLm1lc3NhZ2UpXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBicmVha1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnY29tcGxldGUnOlxuICAgICAgICAgICAgICAgICAgY29uc3QgZmluYWxDb250ZW50ID0gZGF0YS5jb250ZW50IHx8IGFjY3VtdWxhdGVkQ29udGVudFxuICAgICAgICAgICAgICAgICAgY29uc3Qgc291cmNlcyA9IGRhdGEuc291cmNlcyB8fCBudWxsXG4gICAgICAgICAgICAgICAgICBjb25zdCBtZW1vcnlTZXNzaW9uSWQgPSBkYXRhLm1lbW9yeV9zZXNzaW9uX2lkIHx8ICcnXG4gICAgICAgICAgICAgICAgICBzZXREYXRhKGZpbmFsQ29udGVudClcbiAgICAgICAgICAgICAgICAgIHNldElzV3JpdGluZyhmYWxzZSlcbiAgICAgICAgICAgICAgICAgIHNldExvYWRpbmdNZXNzYWdlKG51bGwpIC8vIExpbXBpYXIgbWVuc2FqZSBjdWFuZG8gc2UgY29tcGxldGFcbiAgICAgICAgICAgICAgICAgIG9uRmluaXNoU3RyZWFtUmVmLmN1cnJlbnQ/LihmaW5hbENvbnRlbnQsIHNvdXJjZXMsIG1lbW9yeVNlc3Npb25JZClcbiAgICAgICAgICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgICAgICAgICBjYXNlICdhcHByb3ZhbF9yZXF1aXJlZCc6XG4gICAgICAgICAgICAgICAgICBzZXRJc1dyaXRpbmcoZmFsc2UpXG4gICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZ01lc3NhZ2UobnVsbCkgLy8gTGltcGlhciBtZW5zYWplIGN1YW5kbyBzZSByZXF1aWVyZSBhcHJvYmFjacOzblxuICAgICAgICAgICAgICAgICAgb25BcHByb3ZhbFJlcXVpcmVkUmVmLmN1cnJlbnQ/LihkYXRhLCBhY2N1bXVsYXRlZENvbnRlbnQpXG4gICAgICAgICAgICAgICAgICBicmVha1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnZXJyb3InOlxuICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignU1NFIEVycm9yOicsIGRhdGEuZXJyb3IpXG4gICAgICAgICAgICAgICAgICBzZXRJc1dyaXRpbmcoZmFsc2UpXG4gICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nTWVzc2FnZShudWxsKSAvLyBMaW1waWFyIG1lbnNhamUgY3VhbmRvIGhheSBlcnJvclxuICAgICAgICAgICAgICAgICAgb25FcnJvclJlZi5jdXJyZW50Py4oKVxuICAgICAgICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1Vua25vd24gU1NFIGV2ZW50IHR5cGU6JywgZXZlbnRUeXBlKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChwYXJzZUVycm9yKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHBhcnNpbmcgU1NFIGRhdGE6JywgcGFyc2VFcnJvciwgZGF0YVN0cilcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHNldElzV3JpdGluZyhmYWxzZSlcblxuICAgICAgICAvLyBTb2xvIGVqZWN1dGFyIG9uRXJyb3Igc2kgbm8gZnVlIHVuIHN0b3AgaW50ZW5jaW9uYWxcbiAgICAgICAgaWYgKCFpc1N0b3BwZWRSZWYuY3VycmVudCkge1xuICAgICAgICAgIG9uRXJyb3JSZWYuY3VycmVudD8uKClcbiAgICAgICAgfVxuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgICAgc2V0SXNXcml0aW5nKGZhbHNlKVxuICAgICAgICBzZXRMb2FkaW5nTWVzc2FnZShudWxsKVxuICAgICAgfVxuICAgIH0sXG4gICAgW3RdXG4gIClcblxuICBjb25zdCBhc2tNYWlhID0gYXN5bmMgKHtcbiAgICBtZXNzYWdlLFxuICAgIGhpc3RvcnksXG4gICAgcHJvamVjdElkLFxuICAgIGxhbmcsXG4gICAgdXNlcklkLFxuICAgIGNvbXBhbnlJZCxcbiAgICBjaGF0SWQsXG4gICAgbWVzc2FnZUlkLFxuICAgIGNsaWVudElkLFxuICAgIGNsaWVudE5hbWUsXG4gICAgYWdlbnROYW1lLFxuICAgIGFnZW50SWQsXG4gICAgaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgIGF0dGFjaG1lbnRzLFxuICAgIHByb2plY3ROYW1lLFxuICAgIGZhcUlkLFxuICB9OiB7XG4gICAgbWVzc2FnZTogc3RyaW5nXG4gICAgaGlzdG9yeTogQ2hhdEhpc3RvcnlbXVxuICAgIHByb2plY3RJZDogbnVtYmVyIHwgbnVsbFxuICAgIGxhbmc6IHN0cmluZ1xuICAgIHVzZXJJZDogc3RyaW5nXG4gICAgY29tcGFueUlkOiBzdHJpbmdcbiAgICBjaGF0SWQ6IHN0cmluZ1xuICAgIG1lc3NhZ2VJZDogc3RyaW5nXG4gICAgY2xpZW50SWQ/OiBudW1iZXJcbiAgICBjbGllbnROYW1lPzogc3RyaW5nXG4gICAgYWdlbnROYW1lOiBzdHJpbmdcbiAgICBhZ2VudElkOiBzdHJpbmdcbiAgICBpc1dlYlNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgICBpc0RlZXBTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdXG4gICAgcHJvamVjdE5hbWU/OiBzdHJpbmdcbiAgICBmYXFJZD86IHN0cmluZ1xuICB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICAgIHNldElzV3JpdGluZyhmYWxzZSlcbiAgICAgIHNldERhdGEobnVsbClcbiAgICAgIHNldExvYWRpbmdNZXNzYWdlKG51bGwpXG4gICAgICBpc1N0b3BwZWRSZWYuY3VycmVudCA9IGZhbHNlIC8vIFJlc2V0ZWFyIGZsYWcgYWwgaW5pY2lhciBudWV2YSBwZXRpY2nDs25cblxuICAgICAgYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQgPSBuZXcgQWJvcnRDb250cm9sbGVyKClcblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBtYWlhLk9yY2hlc3RyYXRvci5vcmNoZXN0cmF0b3IoXG4gICAgICAgIHtcbiAgICAgICAgICBpbnB1dDogbWVzc2FnZSxcbiAgICAgICAgICBoaXN0b3J5LFxuICAgICAgICAgIGxhbmcsXG4gICAgICAgICAgdXNlcklkLFxuICAgICAgICAgIGNvbXBhbnlJZCxcbiAgICAgICAgICBjaGF0SWQsXG4gICAgICAgICAgbWVzc2FnZUlkLFxuICAgICAgICAgIGNsaWVudElkLFxuICAgICAgICAgIGFnZW50TmFtZSxcbiAgICAgICAgICBhZ2VudElkLFxuICAgICAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICAuLi4ocHJvamVjdElkID8geyBwcm9qZWN0SWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4oYXR0YWNobWVudHMgPyB7IGF0dGFjaG1lbnRzIH0gOiB7fSksXG4gICAgICAgICAgLi4uKHByb2plY3ROYW1lID8geyBwcm9qZWN0TmFtZSB9IDoge30pLFxuICAgICAgICAgIC4uLihjbGllbnROYW1lID8geyBjbGllbnROYW1lIH0gOiB7fSksXG4gICAgICAgICAgLi4uKGZhcUlkID8geyBmYXFJZCB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgICBhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudD8uc2lnbmFsXG4gICAgICApXG5cbiAgICAgIGF3YWl0IGhhbmRsZVNTRVN0cmVhbShyZXNwb25zZSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgb25FcnJvcj8uKClcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc3RvcFN0cmVhbWluZyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIGlzU3RvcHBlZFJlZi5jdXJyZW50ID0gdHJ1ZVxuICAgICAgYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQuYWJvcnQoKVxuICAgICAgYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQgPSBudWxsXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgc2V0SXNXcml0aW5nKGZhbHNlKVxuICAgICAgc2V0TG9hZGluZ01lc3NhZ2UobnVsbClcbiAgICAgIG9uU3RvcFJlZi5jdXJyZW50Py4oKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgcmVzZXQgPSAoKSA9PiB7XG4gICAgc2V0RGF0YShudWxsKVxuICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgc2V0SXNXcml0aW5nKGZhbHNlKVxuICAgIHNldExvYWRpbmdNZXNzYWdlKG51bGwpXG4gICAgaXNTdG9wcGVkUmVmLmN1cnJlbnQgPSBmYWxzZVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhc2tNYWlhLFxuICAgIHJlc3BvbnNlOiBkYXRhLFxuICAgIGlzTG9hZGluZyxcbiAgICBpc1dyaXRpbmcsXG4gICAgbG9hZGluZ01lc3NhZ2UsXG4gICAgcmVzZXQsXG4gICAgc3RvcFN0cmVhbWluZyxcbiAgICBoYW5kbGVTU0VTdHJlYW0sIC8vIEV4cG9uZXIgcGFyYSBwb2RlciB1c2FybG8gZW4gY29udGludWUtdGhyZWFkXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUNyRCxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUU5QyxPQUFPQyxJQUFJLE1BQU0scUJBQXFCO0FBR3RDLFNBQVNDLFFBQVEsUUFBUSx3QkFBd0I7QUFFakQsT0FBTyxJQUFNQyxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXFCQSxDQUFBQyxJQUFBLEVBT0E7RUFBQSxJQU5oQ0MsY0FBYyxHQUFBRCxJQUFBLENBQWRDLGNBQWM7SUFDZEMsY0FBYyxHQUFBRixJQUFBLENBQWRFLGNBQWM7SUFDZEMsY0FBYyxHQUFBSCxJQUFBLENBQWRHLGNBQWM7SUFDZEMsTUFBTSxHQUFBSixJQUFBLENBQU5JLE1BQU07SUFDTkMsT0FBTyxHQUFBTCxJQUFBLENBQVBLLE9BQU87SUFDUEMsa0JBQWtCLEdBQUFOLElBQUEsQ0FBbEJNLGtCQUFrQjtFQUVsQixJQUFBQyxlQUFBLEdBQWNYLGNBQWMsQ0FBQyxDQUFDRSxRQUFRLENBQUNVLE1BQU0sQ0FBQyxDQUFDO0lBQXZDQyxDQUFDLEdBQUFGLGVBQUEsQ0FBREUsQ0FBQztFQUNULElBQUFDLFNBQUEsR0FBd0JqQixRQUFRLENBQWdCLElBQUksQ0FBQztJQUFBa0IsVUFBQSxHQUFBQyxjQUFBLENBQUFGLFNBQUE7SUFBOUNHLElBQUksR0FBQUYsVUFBQTtJQUFFRyxPQUFPLEdBQUFILFVBQUE7RUFDcEIsSUFBQUksVUFBQSxHQUFnQ3RCLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQXVCLFVBQUEsR0FBQUosY0FBQSxDQUFBRyxVQUFBO0lBQXhDRSxTQUFTLEdBQUFELFVBQUE7SUFBRUUsVUFBVSxHQUFBRixVQUFBO0VBQzVCLElBQUFHLFVBQUEsR0FBa0MxQixRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUEyQixVQUFBLEdBQUFSLGNBQUEsQ0FBQU8sVUFBQTtJQUExQ0UsU0FBUyxHQUFBRCxVQUFBO0lBQUVFLFlBQVksR0FBQUYsVUFBQTtFQUM5QixJQUFBRyxVQUFBLEdBQTRDOUIsUUFBUSxDQUFnQixJQUFJLENBQUM7SUFBQStCLFVBQUEsR0FBQVosY0FBQSxDQUFBVyxVQUFBO0lBQWxFRSxjQUFjLEdBQUFELFVBQUE7SUFBRUUsaUJBQWlCLEdBQUFGLFVBQUE7RUFDeEMsSUFBTUcsa0JBQWtCLEdBQUdoQyxNQUFNLENBQXlCLElBQUksQ0FBQztFQUMvRCxJQUFNaUMsWUFBWSxHQUFHakMsTUFBTSxDQUFDLEtBQUssQ0FBQztFQUVsQyxJQUFNa0MsaUJBQWlCLEdBQUdsQyxNQUFNLENBQUNNLGNBQWMsQ0FBQztFQUNoRCxJQUFNNkIsaUJBQWlCLEdBQUduQyxNQUFNLENBQUNPLGNBQWMsQ0FBQztFQUNoRCxJQUFNNkIsaUJBQWlCLEdBQUdwQyxNQUFNLENBQUNRLGNBQWMsQ0FBQztFQUNoRCxJQUFNNkIsU0FBUyxHQUFHckMsTUFBTSxDQUFDUyxNQUFNLENBQUM7RUFDaEMsSUFBTTZCLFVBQVUsR0FBR3RDLE1BQU0sQ0FBQ1UsT0FBTyxDQUFDO0VBQ2xDLElBQU02QixxQkFBcUIsR0FBR3ZDLE1BQU0sQ0FBQ1csa0JBQWtCLENBQUM7RUFFeER1QixpQkFBaUIsQ0FBQ00sT0FBTyxHQUFHbEMsY0FBYztFQUMxQzZCLGlCQUFpQixDQUFDSyxPQUFPLEdBQUdqQyxjQUFjO0VBQzFDNkIsaUJBQWlCLENBQUNJLE9BQU8sR0FBR2hDLGNBQWM7RUFDMUM2QixTQUFTLENBQUNHLE9BQU8sR0FBRy9CLE1BQU07RUFDMUI2QixVQUFVLENBQUNFLE9BQU8sR0FBRzlCLE9BQU87RUFDNUI2QixxQkFBcUIsQ0FBQ0MsT0FBTyxHQUFHN0Isa0JBQWtCO0VBRWxELElBQU04QixlQUFlLEdBQUcxQyxXQUFXO0lBQUEsSUFBQTJDLEtBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUNqQyxTQUFBQyxRQUFPQyxRQUFrQjtNQUFBLElBQUFDLHFCQUFBLEVBQUFDLHFCQUFBLEVBQUFDLHFCQUFBLEVBQUFDLG1CQUFBO01BQUEsSUFBQUMsY0FBQSxFQUFBQyxNQUFBLEVBQUFDLE9BQUEsRUFBQUMsTUFBQSxFQUFBQyxrQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxrQkFBQSxFQUFBQyxJQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxTQUFBLEVBQUFDLEtBQUEsRUFBQUMsSUFBQSxFQUFBQyxXQUFBLEVBQUFDLFlBQUEsRUFBQUMsU0FBQSxFQUFBQyxRQUFBLEVBQUFDLFNBQUEsRUFBQUMsT0FBQSxFQUFBQyxLQUFBLEVBQUFDLHFCQUFBLEVBQUFDLFlBQUEsRUFBQUMsT0FBQSxFQUFBQyxlQUFBLEVBQUFDLG9CQUFBLEVBQUFDLEVBQUEsRUFBQUMsR0FBQSxFQUFBQyxHQUFBLEVBQUFDLEdBQUE7TUFBQSxPQUFBcEMsbUJBQUEsQ0FBQXFDLElBQUEsV0FBQUMsUUFBQTtRQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1VBQUE7WUFBQUYsUUFBQSxDQUFBQyxJQUFBO1lBRWY5QixNQUFNLElBQUFELGNBQUEsR0FBR0wsUUFBUSxDQUFDc0MsSUFBSSxjQUFBakMsY0FBQSx1QkFBYkEsY0FBQSxDQUFla0MsU0FBUyxDQUFDLENBQUM7WUFBQSxJQUNwQ2pDLE1BQU07Y0FBQTZCLFFBQUEsQ0FBQUUsSUFBQTtjQUFBO1lBQUE7WUFBQSxNQUNILElBQUlHLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQztVQUFBO1lBR2xDakMsT0FBTyxHQUFHLElBQUlrQyxXQUFXLENBQUMsQ0FBQztZQUM3QmpDLE1BQU0sR0FBRyxFQUFFO1lBQ1hDLGtCQUFrQixHQUFHLEVBQUU7WUFDdkJDLGlCQUFpQixHQUFHLEtBQUs7VUFBQTtZQUFBLEtBRXRCLElBQUk7Y0FBQXlCLFFBQUEsQ0FBQUUsSUFBQTtjQUFBO1lBQUE7WUFBQSxLQUNMbkQsWUFBWSxDQUFDTyxPQUFPO2NBQUEwQyxRQUFBLENBQUFFLElBQUE7Y0FBQTtZQUFBO1lBQ3RCL0IsTUFBTSxDQUFDb0MsTUFBTSxDQUFDLENBQUM7WUFBQSxPQUFBUCxRQUFBLENBQUFRLE1BQUE7VUFBQTtZQUFBUixRQUFBLENBQUFFLElBQUE7WUFBQSxPQUlhL0IsTUFBTSxDQUFDc0MsSUFBSSxDQUFDLENBQUM7VUFBQTtZQUFBakMsa0JBQUEsR0FBQXdCLFFBQUEsQ0FBQVUsSUFBQTtZQUFuQ2pDLElBQUksR0FBQUQsa0JBQUEsQ0FBSkMsSUFBSTtZQUFFQyxLQUFLLEdBQUFGLGtCQUFBLENBQUxFLEtBQUs7WUFBQSxLQUNmRCxJQUFJO2NBQUF1QixRQUFBLENBQUFFLElBQUE7Y0FBQTtZQUFBO1lBQUEsT0FBQUYsUUFBQSxDQUFBUSxNQUFBO1VBQUE7WUFBQSxLQUlKekQsWUFBWSxDQUFDTyxPQUFPO2NBQUEwQyxRQUFBLENBQUFFLElBQUE7Y0FBQTtZQUFBO1lBQ3RCL0IsTUFBTSxDQUFDb0MsTUFBTSxDQUFDLENBQUM7WUFBQSxPQUFBUCxRQUFBLENBQUFRLE1BQUE7VUFBQTtZQUlqQm5DLE1BQU0sSUFBSUQsT0FBTyxDQUFDdUMsTUFBTSxDQUFDakMsS0FBSyxFQUFFO2NBQUVrQyxNQUFNLEVBQUU7WUFBSyxDQUFDLENBQUM7WUFDM0NqQyxLQUFLLEdBQUdOLE1BQU0sQ0FBQ3dDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDbEN4QyxNQUFNLEdBQUdNLEtBQUssQ0FBQ21DLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRTtZQUFBbEMsU0FBQSxHQUFBbUMsMEJBQUEsQ0FFUHBDLEtBQUs7WUFBQXFCLFFBQUEsQ0FBQUMsSUFBQTtZQUFBckIsU0FBQSxDQUFBb0MsQ0FBQTtVQUFBO1lBQUEsS0FBQW5DLEtBQUEsR0FBQUQsU0FBQSxDQUFBcUMsQ0FBQSxJQUFBeEMsSUFBQTtjQUFBdUIsUUFBQSxDQUFBRSxJQUFBO2NBQUE7WUFBQTtZQUFicEIsSUFBSSxHQUFBRCxLQUFBLENBQUFILEtBQUE7WUFBQSxNQUNUSSxJQUFJLENBQUNvQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7Y0FBQWxCLFFBQUEsQ0FBQUUsSUFBQTtjQUFBO1lBQUE7WUFBQSxPQUFBRixRQUFBLENBQUFRLE1BQUE7VUFBQTtZQUFBekIsV0FBQSxHQUVRRCxJQUFJLENBQUMrQixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUE3QixZQUFBLEdBQUFqRCxjQUFBLENBQUFnRCxXQUFBLE1BQXZDRSxTQUFTLEdBQUFELFlBQUEsS0FBRUUsUUFBUSxHQUFBRixZQUFBO1lBQUEsTUFDdEIsQ0FBQ0MsU0FBUyxJQUFJLENBQUNDLFFBQVE7Y0FBQWMsUUFBQSxDQUFBRSxJQUFBO2NBQUE7WUFBQTtZQUFBLE9BQUFGLFFBQUEsQ0FBQVEsTUFBQTtVQUFBO1lBRXJCckIsU0FBUyxHQUFHRixTQUFTLENBQUNrQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDRCxJQUFJLENBQUMsQ0FBQztZQUNuRDlCLE9BQU8sR0FBR0YsUUFBUSxDQUFDaUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQ0QsSUFBSSxDQUFDLENBQUM7WUFBQWxCLFFBQUEsQ0FBQUMsSUFBQTtZQUc3Q2pFLEtBQUksR0FBR29GLElBQUksQ0FBQ0MsS0FBSyxDQUFDakMsT0FBTyxDQUFDO1lBQUFPLEVBQUEsR0FFeEJSLFNBQVM7WUFBQWEsUUFBQSxDQUFBRSxJQUFBLEdBQUFQLEVBQUEsS0FDVixPQUFPLFFBQUFBLEVBQUEsS0FZUCxNQUFNLFFBQUFBLEVBQUEsS0FTTixVQUFVLFFBQUFBLEVBQUEsS0FVVixtQkFBbUIsUUFBQUEsRUFBQSxLQU9uQixPQUFPO1lBQUE7VUFBQTtZQXJDVixJQUFJLENBQUNwQixpQkFBaUIsRUFBRTtjQUN0QkEsaUJBQWlCLEdBQUcsSUFBSTtjQUN4QjlCLFlBQVksQ0FBQyxJQUFJLENBQUM7Y0FDbEJJLGlCQUFpQixDQUFDakIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2NBQ3BDLENBQUEwRCxxQkFBQSxHQUFBcEMsaUJBQWlCLENBQUNJLE9BQU8sY0FBQWdDLHFCQUFBLGVBQXpCQSxxQkFBQSxDQUFBZ0MsSUFBQSxDQUFBcEUsaUJBQTRCLENBQUM7WUFDL0I7WUFDQW9CLGtCQUFrQixJQUFJdEMsS0FBSSxDQUFDdUYsT0FBTztZQUNsQ3RGLE9BQU8sQ0FBQ3FDLGtCQUFrQixDQUFDO1lBQzNCLENBQUFSLHFCQUFBLEdBQUFkLGlCQUFpQixDQUFDTSxPQUFPLGNBQUFRLHFCQUFBLGVBQXpCQSxxQkFBQSxDQUFBd0QsSUFBQSxDQUFBdEUsaUJBQWlCLEVBQVdzQixrQkFBa0IsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQUEsT0FBQTBCLFFBQUEsQ0FBQVEsTUFBQTtVQUFBO1lBSXpEO1lBQ0EsSUFBSXhFLEtBQUksQ0FBQ3dGLE9BQU8sSUFBSSxPQUFPeEYsS0FBSSxDQUFDd0YsT0FBTyxLQUFLLFFBQVEsRUFBRTtjQUNwRDtjQUNBbkYsVUFBVSxDQUFDLElBQUksQ0FBQztjQUNoQlEsaUJBQWlCLENBQUNiLEtBQUksQ0FBQ3dGLE9BQU8sQ0FBQztZQUNqQztZQUFDLE9BQUF4QixRQUFBLENBQUFRLE1BQUE7VUFBQTtZQUlLakIsWUFBWSxHQUFHdkQsS0FBSSxDQUFDdUYsT0FBTyxJQUFJakQsa0JBQWtCO1lBQ2pEa0IsT0FBTyxHQUFHeEQsS0FBSSxDQUFDd0QsT0FBTyxJQUFJLElBQUk7WUFDOUJDLGVBQWUsR0FBR3pELEtBQUksQ0FBQ3lGLGlCQUFpQixJQUFJLEVBQUU7WUFDcER4RixPQUFPLENBQUNzRCxZQUFZLENBQUM7WUFDckI5QyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQ25CSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBQztZQUN4QixDQUFBa0IscUJBQUEsR0FBQWQsaUJBQWlCLENBQUNLLE9BQU8sY0FBQVMscUJBQUEsZUFBekJBLHFCQUFBLENBQUF1RCxJQUFBLENBQUFyRSxpQkFBaUIsRUFBV3NDLFlBQVksRUFBRUMsT0FBTyxFQUFFQyxlQUFlLENBQUM7WUFBQSxPQUFBTyxRQUFBLENBQUFRLE1BQUE7VUFBQTtZQUluRS9ELFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDbkJKLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDakJRLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFDO1lBQ3hCLENBQUFtQixxQkFBQSxHQUFBWCxxQkFBcUIsQ0FBQ0MsT0FBTyxjQUFBVSxxQkFBQSxlQUE3QkEscUJBQUEsQ0FBQXNELElBQUEsQ0FBQWpFLHFCQUFxQixFQUFXckIsS0FBSSxFQUFFc0Msa0JBQWtCLENBQUM7WUFBQSxPQUFBMEIsUUFBQSxDQUFBUSxNQUFBO1VBQUE7WUFJekRrQixPQUFPLENBQUNDLEtBQUssQ0FBQyxZQUFZLEVBQUUzRixLQUFJLENBQUMyRixLQUFLLENBQUM7WUFDdkNsRixZQUFZLENBQUMsS0FBSyxDQUFDO1lBQ25CSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBQztZQUN4QixDQUFBb0IsbUJBQUEsR0FBQWIsVUFBVSxDQUFDRSxPQUFPLGNBQUFXLG1CQUFBLGVBQWxCQSxtQkFBQSxDQUFBcUQsSUFBQSxDQUFBbEUsVUFBcUIsQ0FBQztZQUFBLE9BQUE0QyxRQUFBLENBQUFRLE1BQUE7VUFBQTtZQUl0QmtCLE9BQU8sQ0FBQ0UsSUFBSSxDQUFDLHlCQUF5QixFQUFFekMsU0FBUyxDQUFDO1VBQUE7WUFBQWEsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtZQUFBRixRQUFBLENBQUFDLElBQUE7WUFBQUwsR0FBQSxHQUFBSSxRQUFBO1lBR3REMEIsT0FBTyxDQUFDQyxLQUFLLENBQUMseUJBQXlCLEVBQUEvQixHQUFBLEVBQWNSLE9BQU8sQ0FBQztVQUFBO1lBQUFZLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7WUFBQUYsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtZQUFBRixRQUFBLENBQUFDLElBQUE7WUFBQUosR0FBQSxHQUFBRyxRQUFBO1lBQUFwQixTQUFBLENBQUFpRCxDQUFBLENBQUFoQyxHQUFBO1VBQUE7WUFBQUcsUUFBQSxDQUFBQyxJQUFBO1lBQUFyQixTQUFBLENBQUFrRCxDQUFBO1lBQUEsT0FBQTlCLFFBQUEsQ0FBQStCLE1BQUE7VUFBQTtZQUFBL0IsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtZQUFBRixRQUFBLENBQUFFLElBQUE7WUFBQTtVQUFBO1lBQUFGLFFBQUEsQ0FBQUMsSUFBQTtZQUFBSCxHQUFBLEdBQUFFLFFBQUE7WUFLbkV2RCxZQUFZLENBQUMsS0FBSyxDQUFDOztZQUVuQjtZQUNBLElBQUksQ0FBQ00sWUFBWSxDQUFDTyxPQUFPLEVBQUU7Y0FDekIsQ0FBQW9DLG9CQUFBLEdBQUF0QyxVQUFVLENBQUNFLE9BQU8sY0FBQW9DLG9CQUFBLGVBQWxCQSxvQkFBQSxDQUFBNEIsSUFBQSxDQUFBbEUsVUFBcUIsQ0FBQztZQUN4QjtVQUFDO1lBQUE0QyxRQUFBLENBQUFDLElBQUE7WUFFRDVELFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDakJJLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDbkJJLGlCQUFpQixDQUFDLElBQUksQ0FBQztZQUFBLE9BQUFtRCxRQUFBLENBQUErQixNQUFBO1VBQUE7VUFBQTtZQUFBLE9BQUEvQixRQUFBLENBQUFnQyxJQUFBO1FBQUE7TUFBQSxHQUFBcEUsT0FBQTtJQUFBLENBRTFCO0lBQUEsaUJBQUFxRSxFQUFBO01BQUEsT0FBQXpFLEtBQUEsQ0FBQTBFLEtBQUEsT0FBQUMsU0FBQTtJQUFBO0VBQUEsS0FDRCxDQUFDdkcsQ0FBQyxDQUNKLENBQUM7RUFFRCxJQUFNd0csT0FBTztJQUFBLElBQUFDLEtBQUEsR0FBQTVFLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRyxTQUFBMkUsU0FBQUMsS0FBQTtNQUFBLElBQUFmLE9BQUEsRUFBQWdCLE9BQUEsRUFBQUMsU0FBQSxFQUFBQyxJQUFBLEVBQUFDLE1BQUEsRUFBQUMsU0FBQSxFQUFBQyxNQUFBLEVBQUFDLFNBQUEsRUFBQUMsUUFBQSxFQUFBQyxVQUFBLEVBQUFDLFNBQUEsRUFBQUMsT0FBQSxFQUFBQyxpQkFBQSxFQUFBQyxrQkFBQSxFQUFBQyxXQUFBLEVBQUFDLFdBQUEsRUFBQUMsS0FBQSxFQUFBQyxxQkFBQSxFQUFBM0YsUUFBQSxFQUFBNEYsR0FBQTtNQUFBLE9BQUEvRixtQkFBQSxDQUFBcUMsSUFBQSxXQUFBMkQsU0FBQTtRQUFBLGtCQUFBQSxTQUFBLENBQUF6RCxJQUFBLEdBQUF5RCxTQUFBLENBQUF4RCxJQUFBO1VBQUE7WUFDZHNCLE9BQU8sR0FBQWUsS0FBQSxDQUFQZixPQUFPLEVBQ1BnQixPQUFPLEdBQUFELEtBQUEsQ0FBUEMsT0FBTyxFQUNQQyxTQUFTLEdBQUFGLEtBQUEsQ0FBVEUsU0FBUyxFQUNUQyxJQUFJLEdBQUFILEtBQUEsQ0FBSkcsSUFBSSxFQUNKQyxNQUFNLEdBQUFKLEtBQUEsQ0FBTkksTUFBTSxFQUNOQyxTQUFTLEdBQUFMLEtBQUEsQ0FBVEssU0FBUyxFQUNUQyxNQUFNLEdBQUFOLEtBQUEsQ0FBTk0sTUFBTSxFQUNOQyxTQUFTLEdBQUFQLEtBQUEsQ0FBVE8sU0FBUyxFQUNUQyxRQUFRLEdBQUFSLEtBQUEsQ0FBUlEsUUFBUSxFQUNSQyxVQUFVLEdBQUFULEtBQUEsQ0FBVlMsVUFBVSxFQUNWQyxTQUFTLEdBQUFWLEtBQUEsQ0FBVFUsU0FBUyxFQUNUQyxPQUFPLEdBQUFYLEtBQUEsQ0FBUFcsT0FBTyxFQUNQQyxpQkFBaUIsR0FBQVosS0FBQSxDQUFqQlksaUJBQWlCLEVBQ2pCQyxrQkFBa0IsR0FBQWIsS0FBQSxDQUFsQmEsa0JBQWtCLEVBQ2xCQyxXQUFXLEdBQUFkLEtBQUEsQ0FBWGMsV0FBVyxFQUNYQyxXQUFXLEdBQUFmLEtBQUEsQ0FBWGUsV0FBVyxFQUNYQyxLQUFLLEdBQUFoQixLQUFBLENBQUxnQixLQUFLO1lBQUFHLFNBQUEsQ0FBQXpELElBQUE7WUFxQkg1RCxVQUFVLENBQUMsSUFBSSxDQUFDO1lBQ2hCSSxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQ25CUixPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2JZLGlCQUFpQixDQUFDLElBQUksQ0FBQztZQUN2QkUsWUFBWSxDQUFDTyxPQUFPLEdBQUcsS0FBSyxFQUFDOztZQUU3QlIsa0JBQWtCLENBQUNRLE9BQU8sR0FBRyxJQUFJcUcsZUFBZSxDQUFDLENBQUM7WUFBQUQsU0FBQSxDQUFBeEQsSUFBQTtZQUFBLE9BRTNCbEYsSUFBSSxDQUFDNEksWUFBWSxDQUFDQyxZQUFZLENBQUFDLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQTtjQUVqREMsS0FBSyxFQUFFdkMsT0FBTztjQUNkZ0IsT0FBTyxFQUFQQSxPQUFPO2NBQ1BFLElBQUksRUFBSkEsSUFBSTtjQUNKQyxNQUFNLEVBQU5BLE1BQU07Y0FDTkMsU0FBUyxFQUFUQSxTQUFTO2NBQ1RDLE1BQU0sRUFBTkEsTUFBTTtjQUNOQyxTQUFTLEVBQVRBLFNBQVM7Y0FDVEMsUUFBUSxFQUFSQSxRQUFRO2NBQ1JFLFNBQVMsRUFBVEEsU0FBUztjQUNUQyxPQUFPLEVBQVBBLE9BQU87Y0FDUEMsaUJBQWlCLEVBQWpCQSxpQkFBaUI7Y0FDakJDLGtCQUFrQixFQUFsQkE7WUFBa0IsR0FDZFgsU0FBUyxHQUFHO2NBQUVBLFNBQVMsRUFBVEE7WUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQzlCWSxXQUFXLEdBQUc7Y0FBRUEsV0FBVyxFQUFYQTtZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsR0FDbENDLFdBQVcsR0FBRztjQUFFQSxXQUFXLEVBQVhBO1lBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUNsQ04sVUFBVSxHQUFHO2NBQUVBLFVBQVUsRUFBVkE7WUFBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQ2hDTyxLQUFLLEdBQUc7Y0FBRUEsS0FBSyxFQUFMQTtZQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBQUMscUJBQUEsR0FFNUIxRyxrQkFBa0IsQ0FBQ1EsT0FBTyxjQUFBa0cscUJBQUEsdUJBQTFCQSxxQkFBQSxDQUE0QlEsTUFDOUIsQ0FBQztVQUFBO1lBckJLbkcsUUFBUSxHQUFBNkYsU0FBQSxDQUFBaEQsSUFBQTtZQUFBZ0QsU0FBQSxDQUFBeEQsSUFBQTtZQUFBLE9BdUJSM0MsZUFBZSxDQUFDTSxRQUFRLENBQUM7VUFBQTtZQUFBNkYsU0FBQSxDQUFBeEQsSUFBQTtZQUFBO1VBQUE7WUFBQXdELFNBQUEsQ0FBQXpELElBQUE7WUFBQXdELEdBQUEsR0FBQUMsU0FBQTtZQUUvQmxJLE9BQU8sYUFBUEEsT0FBTyxlQUFQQSxPQUFPLENBQUcsQ0FBQztZQUNYYSxVQUFVLENBQUMsS0FBSyxDQUFDO1VBQUE7VUFBQTtZQUFBLE9BQUFxSCxTQUFBLENBQUExQixJQUFBO1FBQUE7TUFBQSxHQUFBTSxRQUFBO0lBQUEsQ0FFcEI7SUFBQSxnQkExRUtGLE9BQU9BLENBQUE2QixHQUFBO01BQUEsT0FBQTVCLEtBQUEsQ0FBQUgsS0FBQSxPQUFBQyxTQUFBO0lBQUE7RUFBQSxHQTBFWjtFQUVELElBQU0rQixhQUFhLEdBQUdySixXQUFXLENBQUMsWUFBTTtJQUN0QyxJQUFJaUMsa0JBQWtCLENBQUNRLE9BQU8sRUFBRTtNQUFBLElBQUE2RyxrQkFBQTtNQUM5QnBILFlBQVksQ0FBQ08sT0FBTyxHQUFHLElBQUk7TUFDM0JSLGtCQUFrQixDQUFDUSxPQUFPLENBQUM4RyxLQUFLLENBQUMsQ0FBQztNQUNsQ3RILGtCQUFrQixDQUFDUSxPQUFPLEdBQUcsSUFBSTtNQUNqQ2pCLFVBQVUsQ0FBQyxLQUFLLENBQUM7TUFDakJJLFlBQVksQ0FBQyxLQUFLLENBQUM7TUFDbkJJLGlCQUFpQixDQUFDLElBQUksQ0FBQztNQUN2QixDQUFBc0gsa0JBQUEsR0FBQWhILFNBQVMsQ0FBQ0csT0FBTyxjQUFBNkcsa0JBQUEsZUFBakJBLGtCQUFBLENBQUE3QyxJQUFBLENBQUFuRSxTQUFvQixDQUFDO0lBQ3ZCO0VBQ0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLElBQU1rSCxLQUFLLEdBQUcsU0FBUkEsS0FBS0EsQ0FBQSxFQUFTO0lBQ2xCcEksT0FBTyxDQUFDLElBQUksQ0FBQztJQUNiSSxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQ2pCSSxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQ25CSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7SUFDdkJFLFlBQVksQ0FBQ08sT0FBTyxHQUFHLEtBQUs7RUFDOUIsQ0FBQztFQUVELE9BQU87SUFDTDhFLE9BQU8sRUFBUEEsT0FBTztJQUNQdkUsUUFBUSxFQUFFN0IsSUFBSTtJQUNkSSxTQUFTLEVBQVRBLFNBQVM7SUFDVEksU0FBUyxFQUFUQSxTQUFTO0lBQ1RJLGNBQWMsRUFBZEEsY0FBYztJQUNkeUgsS0FBSyxFQUFMQSxLQUFLO0lBQ0xILGFBQWEsRUFBYkEsYUFBYTtJQUNiM0csZUFBZSxFQUFmQSxlQUFlLENBQUU7RUFDbkIsQ0FBQztBQUNILENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
354
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlUmVmIiwidXNlVHJhbnNsYXRpb24iLCJtYWlhIiwiU0VDVElPTlMiLCJ1c2VPcmNoZXN0cmF0b3JTdHJlYW0iLCJfcmVmIiwib25TdHJlYW1VcGRhdGUiLCJvbkZpbmlzaFN0cmVhbSIsIm9uU3RhcnRXcml0aW5nIiwib25TdG9wIiwib25FcnJvciIsIm9uQXBwcm92YWxSZXF1aXJlZCIsIl91c2VUcmFuc2xhdGlvbiIsImNoYXRBSSIsInQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJkYXRhIiwic2V0RGF0YSIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNMb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaXNXcml0aW5nIiwic2V0SXNXcml0aW5nIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJsb2FkaW5nTWVzc2FnZSIsInNldExvYWRpbmdNZXNzYWdlIiwiYWJvcnRDb250cm9sbGVyUmVmIiwiaXNTdG9wcGVkUmVmIiwib25TdHJlYW1VcGRhdGVSZWYiLCJvbkZpbmlzaFN0cmVhbVJlZiIsIm9uU3RhcnRXcml0aW5nUmVmIiwib25TdG9wUmVmIiwib25FcnJvclJlZiIsIm9uQXBwcm92YWxSZXF1aXJlZFJlZiIsImN1cnJlbnQiLCJoYW5kbGVTU0VTdHJlYW0iLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicmVzcG9uc2UiLCJfb25TdHJlYW1VcGRhdGVSZWYkY3UiLCJfb25GaW5pc2hTdHJlYW1SZWYkY3UiLCJfb25BcHByb3ZhbFJlcXVpcmVkUmUiLCJfb25FcnJvclJlZiRjdXJyZW50IiwiX3Jlc3BvbnNlJGJvZHkiLCJyZWFkZXIiLCJkZWNvZGVyIiwiYnVmZmVyIiwiYWNjdW11bGF0ZWRDb250ZW50IiwiaGFzU3RhcnRlZFdyaXRpbmciLCJfeWllbGQkcmVhZGVyJHJlYWQiLCJkb25lIiwidmFsdWUiLCJsaW5lcyIsIl9pdGVyYXRvciIsIl9zdGVwIiwibGluZSIsIl9saW5lJHNwbGl0IiwiX2xpbmUkc3BsaXQyIiwiZXZlbnRMaW5lIiwiZGF0YUxpbmUiLCJldmVudFR5cGUiLCJkYXRhU3RyIiwiX2RhdGEiLCJfb25TdGFydFdyaXRpbmdSZWYkY3UiLCJmaW5hbENvbnRlbnQiLCJzb3VyY2VzIiwibWVtb3J5U2Vzc2lvbklkIiwiX29uRXJyb3JSZWYkY3VycmVudDIiLCJfdCIsIl90MiIsIl90MyIsIl90NCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiYm9keSIsImdldFJlYWRlciIsIkVycm9yIiwiVGV4dERlY29kZXIiLCJjYW5jZWwiLCJhYnJ1cHQiLCJyZWFkIiwic2VudCIsImRlY29kZSIsInN0cmVhbSIsInNwbGl0IiwicG9wIiwiX2NyZWF0ZUZvck9mSXRlcmF0b3JIZWxwZXIiLCJzIiwibiIsInRyaW0iLCJyZXBsYWNlIiwiSlNPTiIsInBhcnNlIiwiY2FsbCIsImNvbnRlbnQiLCJtZXNzYWdlIiwibWVtb3J5X3Nlc3Npb25faWQiLCJjb25zb2xlIiwiZXJyb3IiLCJ3YXJuIiwiZSIsImYiLCJmaW5pc2giLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImFza01haWEiLCJfcmVmNCIsIl9jYWxsZWUyIiwiX3JlZjMiLCJoaXN0b3J5IiwicHJvamVjdElkIiwibGFuZyIsInVzZXJJZCIsImNvbXBhbnlJZCIsImNoYXRJZCIsIm1lc3NhZ2VJZCIsImNsaWVudElkIiwiY2xpZW50TmFtZSIsImFnZW50TmFtZSIsImFnZW50SWQiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsImF0dGFjaG1lbnRzIiwicHJvamVjdE5hbWUiLCJmYXFJZCIsImVwaGVtZXJhbEVudGl0eUlkIiwiYWN0aW9uSWQiLCJfYWJvcnRDb250cm9sbGVyUmVmJGMyIiwiX2Fib3J0Q29udHJvbGxlclJlZiRjIiwiX3Jlc3BvbnNlIiwiX3Q1IiwiX2NvbnRleHQyIiwiQWJvcnRDb250cm9sbGVyIiwiT3JjaGVzdHJhdG9yIiwib3JjaGVzdHJhdG9yRXBoZW1lcmFsU3RyZWFtIiwiZW50aXR5SWQiLCJzaWduYWwiLCJvcmNoZXN0cmF0b3IiLCJfb2JqZWN0U3ByZWFkIiwiaW5wdXQiLCJfeDIiLCJzdG9wU3RyZWFtaW5nIiwiX29uU3RvcFJlZiRjdXJyZW50IiwiYWJvcnQiLCJyZXNldCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VPcmNoZXN0cmF0b3JTdHJlYW0vdXNlT3JjaGVzdHJhdG9yU3RyZWFtLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1zaGFkb3cgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnN0YW50LWNvbmRpdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tY29udGludWUgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWF3YWl0LWluLWxvb3AgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLWNhc2UtZGVjbGFyYXRpb25zICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUNhbGxiYWNrLCB1c2VSZWYgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IG1haWEgZnJvbSAnLi4vLi4vc2VydmljZXMvbWFpYSdcbmltcG9ydCB7IENoYXRIaXN0b3J5IH0gZnJvbSAnLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7IFVzZU9yY2hlc3RyYXRvclN0cmVhbVByb3BzIH0gZnJvbSAnLi91c2VPcmNoZXN0cmF0b3JTdHJlYW0uaW50ZXJmYWNlJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuXG5leHBvcnQgY29uc3QgdXNlT3JjaGVzdHJhdG9yU3RyZWFtID0gKHtcbiAgb25TdHJlYW1VcGRhdGUsXG4gIG9uRmluaXNoU3RyZWFtLFxuICBvblN0YXJ0V3JpdGluZyxcbiAgb25TdG9wLFxuICBvbkVycm9yLFxuICBvbkFwcHJvdmFsUmVxdWlyZWQsXG59OiBVc2VPcmNoZXN0cmF0b3JTdHJlYW1Qcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUldKVxuICBjb25zdCBbZGF0YSwgc2V0RGF0YV0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbaXNXcml0aW5nLCBzZXRJc1dyaXRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtsb2FkaW5nTWVzc2FnZSwgc2V0TG9hZGluZ01lc3NhZ2VdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgYWJvcnRDb250cm9sbGVyUmVmID0gdXNlUmVmPEFib3J0Q29udHJvbGxlciB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGlzU3RvcHBlZFJlZiA9IHVzZVJlZihmYWxzZSlcblxuICBjb25zdCBvblN0cmVhbVVwZGF0ZVJlZiA9IHVzZVJlZihvblN0cmVhbVVwZGF0ZSlcbiAgY29uc3Qgb25GaW5pc2hTdHJlYW1SZWYgPSB1c2VSZWYob25GaW5pc2hTdHJlYW0pXG4gIGNvbnN0IG9uU3RhcnRXcml0aW5nUmVmID0gdXNlUmVmKG9uU3RhcnRXcml0aW5nKVxuICBjb25zdCBvblN0b3BSZWYgPSB1c2VSZWYob25TdG9wKVxuICBjb25zdCBvbkVycm9yUmVmID0gdXNlUmVmKG9uRXJyb3IpXG4gIGNvbnN0IG9uQXBwcm92YWxSZXF1aXJlZFJlZiA9IHVzZVJlZihvbkFwcHJvdmFsUmVxdWlyZWQpXG5cbiAgb25TdHJlYW1VcGRhdGVSZWYuY3VycmVudCA9IG9uU3RyZWFtVXBkYXRlXG4gIG9uRmluaXNoU3RyZWFtUmVmLmN1cnJlbnQgPSBvbkZpbmlzaFN0cmVhbVxuICBvblN0YXJ0V3JpdGluZ1JlZi5jdXJyZW50ID0gb25TdGFydFdyaXRpbmdcbiAgb25TdG9wUmVmLmN1cnJlbnQgPSBvblN0b3BcbiAgb25FcnJvclJlZi5jdXJyZW50ID0gb25FcnJvclxuICBvbkFwcHJvdmFsUmVxdWlyZWRSZWYuY3VycmVudCA9IG9uQXBwcm92YWxSZXF1aXJlZFxuXG4gIGNvbnN0IGhhbmRsZVNTRVN0cmVhbSA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChyZXNwb25zZTogUmVzcG9uc2UpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlYWRlciA9IHJlc3BvbnNlLmJvZHk/LmdldFJlYWRlcigpXG4gICAgICAgIGlmICghcmVhZGVyKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyByZWFkZXIgYXZhaWxhYmxlJylcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoKVxuICAgICAgICBsZXQgYnVmZmVyID0gJydcbiAgICAgICAgbGV0IGFjY3VtdWxhdGVkQ29udGVudCA9ICcnXG4gICAgICAgIGxldCBoYXNTdGFydGVkV3JpdGluZyA9IGZhbHNlXG5cbiAgICAgICAgd2hpbGUgKHRydWUpIHtcbiAgICAgICAgICBpZiAoaXNTdG9wcGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIHJlYWRlci5jYW5jZWwoKVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB7IGRvbmUsIHZhbHVlIH0gPSBhd2FpdCByZWFkZXIucmVhZCgpXG4gICAgICAgICAgaWYgKGRvbmUpIHtcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGlzU3RvcHBlZFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICByZWFkZXIuY2FuY2VsKClcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgYnVmZmVyICs9IGRlY29kZXIuZGVjb2RlKHZhbHVlLCB7IHN0cmVhbTogdHJ1ZSB9KVxuICAgICAgICAgIGNvbnN0IGxpbmVzID0gYnVmZmVyLnNwbGl0KCdcXG5cXG4nKVxuICAgICAgICAgIGJ1ZmZlciA9IGxpbmVzLnBvcCgpIHx8ICcnXG5cbiAgICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICAgICAgICAgIGlmIChsaW5lLnRyaW0oKSA9PT0gJycpIGNvbnRpbnVlXG5cbiAgICAgICAgICAgIGNvbnN0IFtldmVudExpbmUsIGRhdGFMaW5lXSA9IGxpbmUuc3BsaXQoJ1xcbicpXG4gICAgICAgICAgICBpZiAoIWV2ZW50TGluZSB8fCAhZGF0YUxpbmUpIGNvbnRpbnVlXG5cbiAgICAgICAgICAgIGNvbnN0IGV2ZW50VHlwZSA9IGV2ZW50TGluZS5yZXBsYWNlKCdldmVudDogJywgJycpLnRyaW0oKVxuICAgICAgICAgICAgY29uc3QgZGF0YVN0ciA9IGRhdGFMaW5lLnJlcGxhY2UoJ2RhdGE6ICcsICcnKS50cmltKClcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IEpTT04ucGFyc2UoZGF0YVN0cilcblxuICAgICAgICAgICAgICBzd2l0Y2ggKGV2ZW50VHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3Rva2VuJzpcbiAgICAgICAgICAgICAgICAgIGlmICghaGFzU3RhcnRlZFdyaXRpbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFzU3RhcnRlZFdyaXRpbmcgPSB0cnVlXG4gICAgICAgICAgICAgICAgICAgIHNldElzV3JpdGluZyh0cnVlKVxuICAgICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nTWVzc2FnZSh0KCdjaGF0LndyaXRpbmcnKSlcbiAgICAgICAgICAgICAgICAgICAgb25TdGFydFdyaXRpbmdSZWYuY3VycmVudD8uKClcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGFjY3VtdWxhdGVkQ29udGVudCArPSBkYXRhLmNvbnRlbnRcbiAgICAgICAgICAgICAgICAgIHNldERhdGEoYWNjdW11bGF0ZWRDb250ZW50KVxuICAgICAgICAgICAgICAgICAgb25TdHJlYW1VcGRhdGVSZWYuY3VycmVudD8uKGFjY3VtdWxhdGVkQ29udGVudCwgbnVsbCwgJycpXG4gICAgICAgICAgICAgICAgICBicmVha1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnbm9kZSc6XG4gICAgICAgICAgICAgICAgICAvLyBTaSBlbCBldmVudG8gbm9kZSB0aWVuZSB1biBtZW5zYWplLCBhY3R1YWxpemFybG8gcGFyYSBtb3N0cmFybG8gZW4gZWwgbG9hZGVyXG4gICAgICAgICAgICAgICAgICBpZiAoZGF0YS5tZXNzYWdlICYmIHR5cGVvZiBkYXRhLm1lc3NhZ2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEFzZWd1cmFyIHF1ZSBpc0xvYWRpbmcgZXN0w6kgZW4gdHJ1ZSBwYXJhIG1vc3RyYXIgZWwgbG9hZGVyXG4gICAgICAgICAgICAgICAgICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZ01lc3NhZ2UoZGF0YS5tZXNzYWdlKVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2NvbXBsZXRlJzpcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGZpbmFsQ29udGVudCA9IGRhdGEuY29udGVudCB8fCBhY2N1bXVsYXRlZENvbnRlbnRcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZXMgPSBkYXRhLnNvdXJjZXMgfHwgbnVsbFxuICAgICAgICAgICAgICAgICAgY29uc3QgbWVtb3J5U2Vzc2lvbklkID0gZGF0YS5tZW1vcnlfc2Vzc2lvbl9pZCB8fCAnJ1xuICAgICAgICAgICAgICAgICAgc2V0RGF0YShmaW5hbENvbnRlbnQpXG4gICAgICAgICAgICAgICAgICBzZXRJc1dyaXRpbmcoZmFsc2UpXG4gICAgICAgICAgICAgICAgICBzZXRMb2FkaW5nTWVzc2FnZShudWxsKSAvLyBMaW1waWFyIG1lbnNhamUgY3VhbmRvIHNlIGNvbXBsZXRhXG4gICAgICAgICAgICAgICAgICBvbkZpbmlzaFN0cmVhbVJlZi5jdXJyZW50Py4oZmluYWxDb250ZW50LCBzb3VyY2VzLCBtZW1vcnlTZXNzaW9uSWQpXG4gICAgICAgICAgICAgICAgICBicmVha1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnYXBwcm92YWxfcmVxdWlyZWQnOlxuICAgICAgICAgICAgICAgICAgc2V0SXNXcml0aW5nKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICAgICAgICAgICAgICAgIHNldExvYWRpbmdNZXNzYWdlKG51bGwpIC8vIExpbXBpYXIgbWVuc2FqZSBjdWFuZG8gc2UgcmVxdWllcmUgYXByb2JhY2nDs25cbiAgICAgICAgICAgICAgICAgIG9uQXBwcm92YWxSZXF1aXJlZFJlZi5jdXJyZW50Py4oZGF0YSwgYWNjdW11bGF0ZWRDb250ZW50KVxuICAgICAgICAgICAgICAgICAgYnJlYWtcblxuICAgICAgICAgICAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1NTRSBFcnJvcjonLCBkYXRhLmVycm9yKVxuICAgICAgICAgICAgICAgICAgc2V0SXNXcml0aW5nKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgc2V0TG9hZGluZ01lc3NhZ2UobnVsbCkgLy8gTGltcGlhciBtZW5zYWplIGN1YW5kbyBoYXkgZXJyb3JcbiAgICAgICAgICAgICAgICAgIG9uRXJyb3JSZWYuY3VycmVudD8uKClcbiAgICAgICAgICAgICAgICAgIGJyZWFrXG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdVbmtub3duIFNTRSBldmVudCB0eXBlOicsIGV2ZW50VHlwZSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCAocGFyc2VFcnJvcikge1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwYXJzaW5nIFNTRSBkYXRhOicsIHBhcnNlRXJyb3IsIGRhdGFTdHIpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBzZXRJc1dyaXRpbmcoZmFsc2UpXG5cbiAgICAgICAgLy8gU29sbyBlamVjdXRhciBvbkVycm9yIHNpIG5vIGZ1ZSB1biBzdG9wIGludGVuY2lvbmFsXG4gICAgICAgIGlmICghaXNTdG9wcGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICBvbkVycm9yUmVmLmN1cnJlbnQ/LigpXG4gICAgICAgIH1cbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgICAgIHNldElzV3JpdGluZyhmYWxzZSlcbiAgICAgICAgc2V0TG9hZGluZ01lc3NhZ2UobnVsbClcbiAgICAgIH1cbiAgICB9LFxuICAgIFt0XVxuICApXG5cbiAgY29uc3QgYXNrTWFpYSA9IGFzeW5jICh7XG4gICAgbWVzc2FnZSxcbiAgICBoaXN0b3J5LFxuICAgIHByb2plY3RJZCxcbiAgICBsYW5nLFxuICAgIHVzZXJJZCxcbiAgICBjb21wYW55SWQsXG4gICAgY2hhdElkLFxuICAgIG1lc3NhZ2VJZCxcbiAgICBjbGllbnRJZCxcbiAgICBjbGllbnROYW1lLFxuICAgIGFnZW50TmFtZSxcbiAgICBhZ2VudElkLFxuICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgIGlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICBhdHRhY2htZW50cyxcbiAgICBwcm9qZWN0TmFtZSxcbiAgICBmYXFJZCxcbiAgICBlcGhlbWVyYWxFbnRpdHlJZCxcbiAgICBhY3Rpb25JZCxcbiAgfToge1xuICAgIG1lc3NhZ2U6IHN0cmluZ1xuICAgIGhpc3Rvcnk6IENoYXRIaXN0b3J5W11cbiAgICBwcm9qZWN0SWQ6IG51bWJlciB8IG51bGxcbiAgICBsYW5nOiBzdHJpbmdcbiAgICB1c2VySWQ6IHN0cmluZ1xuICAgIGNvbXBhbnlJZDogc3RyaW5nXG4gICAgY2hhdElkOiBzdHJpbmdcbiAgICBtZXNzYWdlSWQ6IHN0cmluZ1xuICAgIGNsaWVudElkPzogbnVtYmVyXG4gICAgY2xpZW50TmFtZT86IHN0cmluZ1xuICAgIGFnZW50TmFtZTogc3RyaW5nXG4gICAgYWdlbnRJZDogc3RyaW5nXG4gICAgaXNXZWJTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gICAgaXNEZWVwU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXVxuICAgIHByb2plY3ROYW1lPzogc3RyaW5nXG4gICAgZmFxSWQ/OiBzdHJpbmdcbiAgICBlcGhlbWVyYWxFbnRpdHlJZD86IHN0cmluZyB8IG51bWJlciB8IG51bGxcbiAgICBhY3Rpb25JZD86IHN0cmluZ1xuICB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICAgIHNldElzV3JpdGluZyhmYWxzZSlcbiAgICAgIHNldERhdGEobnVsbClcbiAgICAgIHNldExvYWRpbmdNZXNzYWdlKG51bGwpXG4gICAgICBpc1N0b3BwZWRSZWYuY3VycmVudCA9IGZhbHNlIC8vIFJlc2V0ZWFyIGZsYWcgYWwgaW5pY2lhciBudWV2YSBwZXRpY2nDs25cblxuICAgICAgYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQgPSBuZXcgQWJvcnRDb250cm9sbGVyKClcblxuICAgICAgaWYgKGVwaGVtZXJhbEVudGl0eUlkICE9IG51bGwpIHtcbiAgICAgICAgaWYgKCFhY3Rpb25JZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFsdGEgYWN0aW9uSWQgcGFyYSBvcmNoZXN0cmF0b3IgZXBoZW1lcmFsIHN0cmVhbScpXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBtYWlhLk9yY2hlc3RyYXRvci5vcmNoZXN0cmF0b3JFcGhlbWVyYWxTdHJlYW0oXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWN0aW9uSWQsXG4gICAgICAgICAgICBsYW5nLFxuICAgICAgICAgICAgZW50aXR5SWQ6IGVwaGVtZXJhbEVudGl0eUlkLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQ/LnNpZ25hbFxuICAgICAgICApXG5cbiAgICAgICAgYXdhaXQgaGFuZGxlU1NFU3RyZWFtKHJlc3BvbnNlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBtYWlhLk9yY2hlc3RyYXRvci5vcmNoZXN0cmF0b3IoXG4gICAgICAgIHtcbiAgICAgICAgICBpbnB1dDogbWVzc2FnZSxcbiAgICAgICAgICBoaXN0b3J5LFxuICAgICAgICAgIGxhbmcsXG4gICAgICAgICAgdXNlcklkLFxuICAgICAgICAgIGNvbXBhbnlJZCxcbiAgICAgICAgICBjaGF0SWQsXG4gICAgICAgICAgbWVzc2FnZUlkLFxuICAgICAgICAgIGNsaWVudElkLFxuICAgICAgICAgIGFnZW50TmFtZSxcbiAgICAgICAgICBhZ2VudElkLFxuICAgICAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICAuLi4ocHJvamVjdElkID8geyBwcm9qZWN0SWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4oYXR0YWNobWVudHMgPyB7IGF0dGFjaG1lbnRzIH0gOiB7fSksXG4gICAgICAgICAgLi4uKHByb2plY3ROYW1lID8geyBwcm9qZWN0TmFtZSB9IDoge30pLFxuICAgICAgICAgIC4uLihjbGllbnROYW1lID8geyBjbGllbnROYW1lIH0gOiB7fSksXG4gICAgICAgICAgLi4uKGZhcUlkID8geyBmYXFJZCB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgICBhYm9ydENvbnRyb2xsZXJSZWYuY3VycmVudD8uc2lnbmFsXG4gICAgICApXG5cbiAgICAgIGF3YWl0IGhhbmRsZVNTRVN0cmVhbShyZXNwb25zZSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgb25FcnJvcj8uKClcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgY29uc3Qgc3RvcFN0cmVhbWluZyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQpIHtcbiAgICAgIGlzU3RvcHBlZFJlZi5jdXJyZW50ID0gdHJ1ZVxuICAgICAgYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQuYWJvcnQoKVxuICAgICAgYWJvcnRDb250cm9sbGVyUmVmLmN1cnJlbnQgPSBudWxsXG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgICAgc2V0SXNXcml0aW5nKGZhbHNlKVxuICAgICAgc2V0TG9hZGluZ01lc3NhZ2UobnVsbClcbiAgICAgIG9uU3RvcFJlZi5jdXJyZW50Py4oKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgcmVzZXQgPSAoKSA9PiB7XG4gICAgc2V0RGF0YShudWxsKVxuICAgIHNldExvYWRpbmcoZmFsc2UpXG4gICAgc2V0SXNXcml0aW5nKGZhbHNlKVxuICAgIHNldExvYWRpbmdNZXNzYWdlKG51bGwpXG4gICAgaXNTdG9wcGVkUmVmLmN1cnJlbnQgPSBmYWxzZVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBhc2tNYWlhLFxuICAgIHJlc3BvbnNlOiBkYXRhLFxuICAgIGlzTG9hZGluZyxcbiAgICBpc1dyaXRpbmcsXG4gICAgbG9hZGluZ01lc3NhZ2UsXG4gICAgcmVzZXQsXG4gICAgc3RvcFN0cmVhbWluZyxcbiAgICBoYW5kbGVTU0VTdHJlYW0sIC8vIEV4cG9uZXIgcGFyYSBwb2RlciB1c2FybG8gZW4gY29udGludWUtdGhyZWFkXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVNBLFFBQVEsRUFBRUMsV0FBVyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUNyRCxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUU5QyxPQUFPQyxJQUFJLE1BQU0scUJBQXFCO0FBR3RDLFNBQVNDLFFBQVEsUUFBUSx3QkFBd0I7QUFFakQsT0FBTyxJQUFNQyxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXFCQSxDQUFBQyxJQUFBLEVBT0E7RUFBQSxJQU5oQ0MsY0FBYyxHQUFBRCxJQUFBLENBQWRDLGNBQWM7SUFDZEMsY0FBYyxHQUFBRixJQUFBLENBQWRFLGNBQWM7SUFDZEMsY0FBYyxHQUFBSCxJQUFBLENBQWRHLGNBQWM7SUFDZEMsTUFBTSxHQUFBSixJQUFBLENBQU5JLE1BQU07SUFDTkMsT0FBTyxHQUFBTCxJQUFBLENBQVBLLE9BQU87SUFDUEMsa0JBQWtCLEdBQUFOLElBQUEsQ0FBbEJNLGtCQUFrQjtFQUVsQixJQUFBQyxlQUFBLEdBQWNYLGNBQWMsQ0FBQyxDQUFDRSxRQUFRLENBQUNVLE1BQU0sQ0FBQyxDQUFDO0lBQXZDQyxDQUFDLEdBQUFGLGVBQUEsQ0FBREUsQ0FBQztFQUNULElBQUFDLFNBQUEsR0FBd0JqQixRQUFRLENBQWdCLElBQUksQ0FBQztJQUFBa0IsVUFBQSxHQUFBQyxjQUFBLENBQUFGLFNBQUE7SUFBOUNHLElBQUksR0FBQUYsVUFBQTtJQUFFRyxPQUFPLEdBQUFILFVBQUE7RUFDcEIsSUFBQUksVUFBQSxHQUFnQ3RCLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQXVCLFVBQUEsR0FBQUosY0FBQSxDQUFBRyxVQUFBO0lBQXhDRSxTQUFTLEdBQUFELFVBQUE7SUFBRUUsVUFBVSxHQUFBRixVQUFBO0VBQzVCLElBQUFHLFVBQUEsR0FBa0MxQixRQUFRLENBQUMsS0FBSyxDQUFDO0lBQUEyQixVQUFBLEdBQUFSLGNBQUEsQ0FBQU8sVUFBQTtJQUExQ0UsU0FBUyxHQUFBRCxVQUFBO0lBQUVFLFlBQVksR0FBQUYsVUFBQTtFQUM5QixJQUFBRyxVQUFBLEdBQTRDOUIsUUFBUSxDQUFnQixJQUFJLENBQUM7SUFBQStCLFVBQUEsR0FBQVosY0FBQSxDQUFBVyxVQUFBO0lBQWxFRSxjQUFjLEdBQUFELFVBQUE7SUFBRUUsaUJBQWlCLEdBQUFGLFVBQUE7RUFDeEMsSUFBTUcsa0JBQWtCLEdBQUdoQyxNQUFNLENBQXlCLElBQUksQ0FBQztFQUMvRCxJQUFNaUMsWUFBWSxHQUFHakMsTUFBTSxDQUFDLEtBQUssQ0FBQztFQUVsQyxJQUFNa0MsaUJBQWlCLEdBQUdsQyxNQUFNLENBQUNNLGNBQWMsQ0FBQztFQUNoRCxJQUFNNkIsaUJBQWlCLEdBQUduQyxNQUFNLENBQUNPLGNBQWMsQ0FBQztFQUNoRCxJQUFNNkIsaUJBQWlCLEdBQUdwQyxNQUFNLENBQUNRLGNBQWMsQ0FBQztFQUNoRCxJQUFNNkIsU0FBUyxHQUFHckMsTUFBTSxDQUFDUyxNQUFNLENBQUM7RUFDaEMsSUFBTTZCLFVBQVUsR0FBR3RDLE1BQU0sQ0FBQ1UsT0FBTyxDQUFDO0VBQ2xDLElBQU02QixxQkFBcUIsR0FBR3ZDLE1BQU0sQ0FBQ1csa0JBQWtCLENBQUM7RUFFeER1QixpQkFBaUIsQ0FBQ00sT0FBTyxHQUFHbEMsY0FBYztFQUMxQzZCLGlCQUFpQixDQUFDSyxPQUFPLEdBQUdqQyxjQUFjO0VBQzFDNkIsaUJBQWlCLENBQUNJLE9BQU8sR0FBR2hDLGNBQWM7RUFDMUM2QixTQUFTLENBQUNHLE9BQU8sR0FBRy9CLE1BQU07RUFDMUI2QixVQUFVLENBQUNFLE9BQU8sR0FBRzlCLE9BQU87RUFDNUI2QixxQkFBcUIsQ0FBQ0MsT0FBTyxHQUFHN0Isa0JBQWtCO0VBRWxELElBQU04QixlQUFlLEdBQUcxQyxXQUFXO0lBQUEsSUFBQTJDLEtBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUNqQyxTQUFBQyxRQUFPQyxRQUFrQjtNQUFBLElBQUFDLHFCQUFBLEVBQUFDLHFCQUFBLEVBQUFDLHFCQUFBLEVBQUFDLG1CQUFBO01BQUEsSUFBQUMsY0FBQSxFQUFBQyxNQUFBLEVBQUFDLE9BQUEsRUFBQUMsTUFBQSxFQUFBQyxrQkFBQSxFQUFBQyxpQkFBQSxFQUFBQyxrQkFBQSxFQUFBQyxJQUFBLEVBQUFDLEtBQUEsRUFBQUMsS0FBQSxFQUFBQyxTQUFBLEVBQUFDLEtBQUEsRUFBQUMsSUFBQSxFQUFBQyxXQUFBLEVBQUFDLFlBQUEsRUFBQUMsU0FBQSxFQUFBQyxRQUFBLEVBQUFDLFNBQUEsRUFBQUMsT0FBQSxFQUFBQyxLQUFBLEVBQUFDLHFCQUFBLEVBQUFDLFlBQUEsRUFBQUMsT0FBQSxFQUFBQyxlQUFBLEVBQUFDLG9CQUFBLEVBQUFDLEVBQUEsRUFBQUMsR0FBQSxFQUFBQyxHQUFBLEVBQUFDLEdBQUE7TUFBQSxPQUFBcEMsbUJBQUEsQ0FBQXFDLElBQUEsV0FBQUMsUUFBQTtRQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1VBQUE7WUFBQUYsUUFBQSxDQUFBQyxJQUFBO1lBRWY5QixNQUFNLElBQUFELGNBQUEsR0FBR0wsUUFBUSxDQUFDc0MsSUFBSSxjQUFBakMsY0FBQSx1QkFBYkEsY0FBQSxDQUFla0MsU0FBUyxDQUFDLENBQUM7WUFBQSxJQUNwQ2pDLE1BQU07Y0FBQTZCLFFBQUEsQ0FBQUUsSUFBQTtjQUFBO1lBQUE7WUFBQSxNQUNILElBQUlHLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQztVQUFBO1lBR2xDakMsT0FBTyxHQUFHLElBQUlrQyxXQUFXLENBQUMsQ0FBQztZQUM3QmpDLE1BQU0sR0FBRyxFQUFFO1lBQ1hDLGtCQUFrQixHQUFHLEVBQUU7WUFDdkJDLGlCQUFpQixHQUFHLEtBQUs7VUFBQTtZQUFBLEtBRXRCLElBQUk7Y0FBQXlCLFFBQUEsQ0FBQUUsSUFBQTtjQUFBO1lBQUE7WUFBQSxLQUNMbkQsWUFBWSxDQUFDTyxPQUFPO2NBQUEwQyxRQUFBLENBQUFFLElBQUE7Y0FBQTtZQUFBO1lBQ3RCL0IsTUFBTSxDQUFDb0MsTUFBTSxDQUFDLENBQUM7WUFBQSxPQUFBUCxRQUFBLENBQUFRLE1BQUE7VUFBQTtZQUFBUixRQUFBLENBQUFFLElBQUE7WUFBQSxPQUlhL0IsTUFBTSxDQUFDc0MsSUFBSSxDQUFDLENBQUM7VUFBQTtZQUFBakMsa0JBQUEsR0FBQXdCLFFBQUEsQ0FBQVUsSUFBQTtZQUFuQ2pDLElBQUksR0FBQUQsa0JBQUEsQ0FBSkMsSUFBSTtZQUFFQyxLQUFLLEdBQUFGLGtCQUFBLENBQUxFLEtBQUs7WUFBQSxLQUNmRCxJQUFJO2NBQUF1QixRQUFBLENBQUFFLElBQUE7Y0FBQTtZQUFBO1lBQUEsT0FBQUYsUUFBQSxDQUFBUSxNQUFBO1VBQUE7WUFBQSxLQUlKekQsWUFBWSxDQUFDTyxPQUFPO2NBQUEwQyxRQUFBLENBQUFFLElBQUE7Y0FBQTtZQUFBO1lBQ3RCL0IsTUFBTSxDQUFDb0MsTUFBTSxDQUFDLENBQUM7WUFBQSxPQUFBUCxRQUFBLENBQUFRLE1BQUE7VUFBQTtZQUlqQm5DLE1BQU0sSUFBSUQsT0FBTyxDQUFDdUMsTUFBTSxDQUFDakMsS0FBSyxFQUFFO2NBQUVrQyxNQUFNLEVBQUU7WUFBSyxDQUFDLENBQUM7WUFDM0NqQyxLQUFLLEdBQUdOLE1BQU0sQ0FBQ3dDLEtBQUssQ0FBQyxNQUFNLENBQUM7WUFDbEN4QyxNQUFNLEdBQUdNLEtBQUssQ0FBQ21DLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRTtZQUFBbEMsU0FBQSxHQUFBbUMsMEJBQUEsQ0FFUHBDLEtBQUs7WUFBQXFCLFFBQUEsQ0FBQUMsSUFBQTtZQUFBckIsU0FBQSxDQUFBb0MsQ0FBQTtVQUFBO1lBQUEsS0FBQW5DLEtBQUEsR0FBQUQsU0FBQSxDQUFBcUMsQ0FBQSxJQUFBeEMsSUFBQTtjQUFBdUIsUUFBQSxDQUFBRSxJQUFBO2NBQUE7WUFBQTtZQUFicEIsSUFBSSxHQUFBRCxLQUFBLENBQUFILEtBQUE7WUFBQSxNQUNUSSxJQUFJLENBQUNvQyxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUU7Y0FBQWxCLFFBQUEsQ0FBQUUsSUFBQTtjQUFBO1lBQUE7WUFBQSxPQUFBRixRQUFBLENBQUFRLE1BQUE7VUFBQTtZQUFBekIsV0FBQSxHQUVRRCxJQUFJLENBQUMrQixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUE3QixZQUFBLEdBQUFqRCxjQUFBLENBQUFnRCxXQUFBLE1BQXZDRSxTQUFTLEdBQUFELFlBQUEsS0FBRUUsUUFBUSxHQUFBRixZQUFBO1lBQUEsTUFDdEIsQ0FBQ0MsU0FBUyxJQUFJLENBQUNDLFFBQVE7Y0FBQWMsUUFBQSxDQUFBRSxJQUFBO2NBQUE7WUFBQTtZQUFBLE9BQUFGLFFBQUEsQ0FBQVEsTUFBQTtVQUFBO1lBRXJCckIsU0FBUyxHQUFHRixTQUFTLENBQUNrQyxPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDRCxJQUFJLENBQUMsQ0FBQztZQUNuRDlCLE9BQU8sR0FBR0YsUUFBUSxDQUFDaUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQ0QsSUFBSSxDQUFDLENBQUM7WUFBQWxCLFFBQUEsQ0FBQUMsSUFBQTtZQUc3Q2pFLEtBQUksR0FBR29GLElBQUksQ0FBQ0MsS0FBSyxDQUFDakMsT0FBTyxDQUFDO1lBQUFPLEVBQUEsR0FFeEJSLFNBQVM7WUFBQWEsUUFBQSxDQUFBRSxJQUFBLEdBQUFQLEVBQUEsS0FDVixPQUFPLFFBQUFBLEVBQUEsS0FZUCxNQUFNLFFBQUFBLEVBQUEsS0FTTixVQUFVLFFBQUFBLEVBQUEsS0FVVixtQkFBbUIsUUFBQUEsRUFBQSxLQU9uQixPQUFPO1lBQUE7VUFBQTtZQXJDVixJQUFJLENBQUNwQixpQkFBaUIsRUFBRTtjQUN0QkEsaUJBQWlCLEdBQUcsSUFBSTtjQUN4QjlCLFlBQVksQ0FBQyxJQUFJLENBQUM7Y0FDbEJJLGlCQUFpQixDQUFDakIsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDO2NBQ3BDLENBQUEwRCxxQkFBQSxHQUFBcEMsaUJBQWlCLENBQUNJLE9BQU8sY0FBQWdDLHFCQUFBLGVBQXpCQSxxQkFBQSxDQUFBZ0MsSUFBQSxDQUFBcEUsaUJBQTRCLENBQUM7WUFDL0I7WUFDQW9CLGtCQUFrQixJQUFJdEMsS0FBSSxDQUFDdUYsT0FBTztZQUNsQ3RGLE9BQU8sQ0FBQ3FDLGtCQUFrQixDQUFDO1lBQzNCLENBQUFSLHFCQUFBLEdBQUFkLGlCQUFpQixDQUFDTSxPQUFPLGNBQUFRLHFCQUFBLGVBQXpCQSxxQkFBQSxDQUFBd0QsSUFBQSxDQUFBdEUsaUJBQWlCLEVBQVdzQixrQkFBa0IsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQUEsT0FBQTBCLFFBQUEsQ0FBQVEsTUFBQTtVQUFBO1lBSXpEO1lBQ0EsSUFBSXhFLEtBQUksQ0FBQ3dGLE9BQU8sSUFBSSxPQUFPeEYsS0FBSSxDQUFDd0YsT0FBTyxLQUFLLFFBQVEsRUFBRTtjQUNwRDtjQUNBbkYsVUFBVSxDQUFDLElBQUksQ0FBQztjQUNoQlEsaUJBQWlCLENBQUNiLEtBQUksQ0FBQ3dGLE9BQU8sQ0FBQztZQUNqQztZQUFDLE9BQUF4QixRQUFBLENBQUFRLE1BQUE7VUFBQTtZQUlLakIsWUFBWSxHQUFHdkQsS0FBSSxDQUFDdUYsT0FBTyxJQUFJakQsa0JBQWtCO1lBQ2pEa0IsT0FBTyxHQUFHeEQsS0FBSSxDQUFDd0QsT0FBTyxJQUFJLElBQUk7WUFDOUJDLGVBQWUsR0FBR3pELEtBQUksQ0FBQ3lGLGlCQUFpQixJQUFJLEVBQUU7WUFDcER4RixPQUFPLENBQUNzRCxZQUFZLENBQUM7WUFDckI5QyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQ25CSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBQztZQUN4QixDQUFBa0IscUJBQUEsR0FBQWQsaUJBQWlCLENBQUNLLE9BQU8sY0FBQVMscUJBQUEsZUFBekJBLHFCQUFBLENBQUF1RCxJQUFBLENBQUFyRSxpQkFBaUIsRUFBV3NDLFlBQVksRUFBRUMsT0FBTyxFQUFFQyxlQUFlLENBQUM7WUFBQSxPQUFBTyxRQUFBLENBQUFRLE1BQUE7VUFBQTtZQUluRS9ELFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDbkJKLFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDakJRLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFDO1lBQ3hCLENBQUFtQixxQkFBQSxHQUFBWCxxQkFBcUIsQ0FBQ0MsT0FBTyxjQUFBVSxxQkFBQSxlQUE3QkEscUJBQUEsQ0FBQXNELElBQUEsQ0FBQWpFLHFCQUFxQixFQUFXckIsS0FBSSxFQUFFc0Msa0JBQWtCLENBQUM7WUFBQSxPQUFBMEIsUUFBQSxDQUFBUSxNQUFBO1VBQUE7WUFJekRrQixPQUFPLENBQUNDLEtBQUssQ0FBQyxZQUFZLEVBQUUzRixLQUFJLENBQUMyRixLQUFLLENBQUM7WUFDdkNsRixZQUFZLENBQUMsS0FBSyxDQUFDO1lBQ25CSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsRUFBQztZQUN4QixDQUFBb0IsbUJBQUEsR0FBQWIsVUFBVSxDQUFDRSxPQUFPLGNBQUFXLG1CQUFBLGVBQWxCQSxtQkFBQSxDQUFBcUQsSUFBQSxDQUFBbEUsVUFBcUIsQ0FBQztZQUFBLE9BQUE0QyxRQUFBLENBQUFRLE1BQUE7VUFBQTtZQUl0QmtCLE9BQU8sQ0FBQ0UsSUFBSSxDQUFDLHlCQUF5QixFQUFFekMsU0FBUyxDQUFDO1VBQUE7WUFBQWEsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtZQUFBRixRQUFBLENBQUFDLElBQUE7WUFBQUwsR0FBQSxHQUFBSSxRQUFBO1lBR3REMEIsT0FBTyxDQUFDQyxLQUFLLENBQUMseUJBQXlCLEVBQUEvQixHQUFBLEVBQWNSLE9BQU8sQ0FBQztVQUFBO1lBQUFZLFFBQUEsQ0FBQUUsSUFBQTtZQUFBO1VBQUE7WUFBQUYsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtZQUFBRixRQUFBLENBQUFDLElBQUE7WUFBQUosR0FBQSxHQUFBRyxRQUFBO1lBQUFwQixTQUFBLENBQUFpRCxDQUFBLENBQUFoQyxHQUFBO1VBQUE7WUFBQUcsUUFBQSxDQUFBQyxJQUFBO1lBQUFyQixTQUFBLENBQUFrRCxDQUFBO1lBQUEsT0FBQTlCLFFBQUEsQ0FBQStCLE1BQUE7VUFBQTtZQUFBL0IsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtZQUFBRixRQUFBLENBQUFFLElBQUE7WUFBQTtVQUFBO1lBQUFGLFFBQUEsQ0FBQUMsSUFBQTtZQUFBSCxHQUFBLEdBQUFFLFFBQUE7WUFLbkV2RCxZQUFZLENBQUMsS0FBSyxDQUFDOztZQUVuQjtZQUNBLElBQUksQ0FBQ00sWUFBWSxDQUFDTyxPQUFPLEVBQUU7Y0FDekIsQ0FBQW9DLG9CQUFBLEdBQUF0QyxVQUFVLENBQUNFLE9BQU8sY0FBQW9DLG9CQUFBLGVBQWxCQSxvQkFBQSxDQUFBNEIsSUFBQSxDQUFBbEUsVUFBcUIsQ0FBQztZQUN4QjtVQUFDO1lBQUE0QyxRQUFBLENBQUFDLElBQUE7WUFFRDVELFVBQVUsQ0FBQyxLQUFLLENBQUM7WUFDakJJLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDbkJJLGlCQUFpQixDQUFDLElBQUksQ0FBQztZQUFBLE9BQUFtRCxRQUFBLENBQUErQixNQUFBO1VBQUE7VUFBQTtZQUFBLE9BQUEvQixRQUFBLENBQUFnQyxJQUFBO1FBQUE7TUFBQSxHQUFBcEUsT0FBQTtJQUFBLENBRTFCO0lBQUEsaUJBQUFxRSxFQUFBO01BQUEsT0FBQXpFLEtBQUEsQ0FBQTBFLEtBQUEsT0FBQUMsU0FBQTtJQUFBO0VBQUEsS0FDRCxDQUFDdkcsQ0FBQyxDQUNKLENBQUM7RUFFRCxJQUFNd0csT0FBTztJQUFBLElBQUFDLEtBQUEsR0FBQTVFLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRyxTQUFBMkUsU0FBQUMsS0FBQTtNQUFBLElBQUFmLE9BQUEsRUFBQWdCLE9BQUEsRUFBQUMsU0FBQSxFQUFBQyxJQUFBLEVBQUFDLE1BQUEsRUFBQUMsU0FBQSxFQUFBQyxNQUFBLEVBQUFDLFNBQUEsRUFBQUMsUUFBQSxFQUFBQyxVQUFBLEVBQUFDLFNBQUEsRUFBQUMsT0FBQSxFQUFBQyxpQkFBQSxFQUFBQyxrQkFBQSxFQUFBQyxXQUFBLEVBQUFDLFdBQUEsRUFBQUMsS0FBQSxFQUFBQyxpQkFBQSxFQUFBQyxRQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHFCQUFBLEVBQUFDLFNBQUEsRUFBQS9GLFFBQUEsRUFBQWdHLEdBQUE7TUFBQSxPQUFBbkcsbUJBQUEsQ0FBQXFDLElBQUEsV0FBQStELFNBQUE7UUFBQSxrQkFBQUEsU0FBQSxDQUFBN0QsSUFBQSxHQUFBNkQsU0FBQSxDQUFBNUQsSUFBQTtVQUFBO1lBQ2RzQixPQUFPLEdBQUFlLEtBQUEsQ0FBUGYsT0FBTyxFQUNQZ0IsT0FBTyxHQUFBRCxLQUFBLENBQVBDLE9BQU8sRUFDUEMsU0FBUyxHQUFBRixLQUFBLENBQVRFLFNBQVMsRUFDVEMsSUFBSSxHQUFBSCxLQUFBLENBQUpHLElBQUksRUFDSkMsTUFBTSxHQUFBSixLQUFBLENBQU5JLE1BQU0sRUFDTkMsU0FBUyxHQUFBTCxLQUFBLENBQVRLLFNBQVMsRUFDVEMsTUFBTSxHQUFBTixLQUFBLENBQU5NLE1BQU0sRUFDTkMsU0FBUyxHQUFBUCxLQUFBLENBQVRPLFNBQVMsRUFDVEMsUUFBUSxHQUFBUixLQUFBLENBQVJRLFFBQVEsRUFDUkMsVUFBVSxHQUFBVCxLQUFBLENBQVZTLFVBQVUsRUFDVkMsU0FBUyxHQUFBVixLQUFBLENBQVRVLFNBQVMsRUFDVEMsT0FBTyxHQUFBWCxLQUFBLENBQVBXLE9BQU8sRUFDUEMsaUJBQWlCLEdBQUFaLEtBQUEsQ0FBakJZLGlCQUFpQixFQUNqQkMsa0JBQWtCLEdBQUFiLEtBQUEsQ0FBbEJhLGtCQUFrQixFQUNsQkMsV0FBVyxHQUFBZCxLQUFBLENBQVhjLFdBQVcsRUFDWEMsV0FBVyxHQUFBZixLQUFBLENBQVhlLFdBQVcsRUFDWEMsS0FBSyxHQUFBaEIsS0FBQSxDQUFMZ0IsS0FBSyxFQUNMQyxpQkFBaUIsR0FBQWpCLEtBQUEsQ0FBakJpQixpQkFBaUIsRUFDakJDLFFBQVEsR0FBQWxCLEtBQUEsQ0FBUmtCLFFBQVE7WUFBQUssU0FBQSxDQUFBN0QsSUFBQTtZQXVCTjVELFVBQVUsQ0FBQyxJQUFJLENBQUM7WUFDaEJJLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDbkJSLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDYlksaUJBQWlCLENBQUMsSUFBSSxDQUFDO1lBQ3ZCRSxZQUFZLENBQUNPLE9BQU8sR0FBRyxLQUFLLEVBQUM7O1lBRTdCUixrQkFBa0IsQ0FBQ1EsT0FBTyxHQUFHLElBQUl5RyxlQUFlLENBQUMsQ0FBQztZQUFBLE1BRTlDUCxpQkFBaUIsSUFBSSxJQUFJO2NBQUFNLFNBQUEsQ0FBQTVELElBQUE7Y0FBQTtZQUFBO1lBQUEsSUFDdEJ1RCxRQUFRO2NBQUFLLFNBQUEsQ0FBQTVELElBQUE7Y0FBQTtZQUFBO1lBQUEsTUFDTCxJQUFJRyxLQUFLLENBQUMsbURBQW1ELENBQUM7VUFBQTtZQUFBeUQsU0FBQSxDQUFBNUQsSUFBQTtZQUFBLE9BRS9DbEYsSUFBSSxDQUFDZ0osWUFBWSxDQUFDQywyQkFBMkIsQ0FDbEU7Y0FDRVIsUUFBUSxFQUFSQSxRQUFRO2NBQ1JmLElBQUksRUFBSkEsSUFBSTtjQUNKd0IsUUFBUSxFQUFFVjtZQUNaLENBQUMsR0FBQUcscUJBQUEsR0FDRDdHLGtCQUFrQixDQUFDUSxPQUFPLGNBQUFxRyxxQkFBQSx1QkFBMUJBLHFCQUFBLENBQTRCUSxNQUM5QixDQUFDO1VBQUE7WUFQS3RHLFNBQVEsR0FBQWlHLFNBQUEsQ0FBQXBELElBQUE7WUFBQW9ELFNBQUEsQ0FBQTVELElBQUE7WUFBQSxPQVNSM0MsZUFBZSxDQUFDTSxTQUFRLENBQUM7VUFBQTtZQUFBLE9BQUFpRyxTQUFBLENBQUF0RCxNQUFBO1VBQUE7WUFBQXNELFNBQUEsQ0FBQTVELElBQUE7WUFBQSxPQUlWbEYsSUFBSSxDQUFDZ0osWUFBWSxDQUFDSSxZQUFZLENBQUFDLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQTtjQUVqREMsS0FBSyxFQUFFOUMsT0FBTztjQUNkZ0IsT0FBTyxFQUFQQSxPQUFPO2NBQ1BFLElBQUksRUFBSkEsSUFBSTtjQUNKQyxNQUFNLEVBQU5BLE1BQU07Y0FDTkMsU0FBUyxFQUFUQSxTQUFTO2NBQ1RDLE1BQU0sRUFBTkEsTUFBTTtjQUNOQyxTQUFTLEVBQVRBLFNBQVM7Y0FDVEMsUUFBUSxFQUFSQSxRQUFRO2NBQ1JFLFNBQVMsRUFBVEEsU0FBUztjQUNUQyxPQUFPLEVBQVBBLE9BQU87Y0FDUEMsaUJBQWlCLEVBQWpCQSxpQkFBaUI7Y0FDakJDLGtCQUFrQixFQUFsQkE7WUFBa0IsR0FDZFgsU0FBUyxHQUFHO2NBQUVBLFNBQVMsRUFBVEE7WUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQzlCWSxXQUFXLEdBQUc7Y0FBRUEsV0FBVyxFQUFYQTtZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsR0FDbENDLFdBQVcsR0FBRztjQUFFQSxXQUFXLEVBQVhBO1lBQVksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUNsQ04sVUFBVSxHQUFHO2NBQUVBLFVBQVUsRUFBVkE7WUFBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQ2hDTyxLQUFLLEdBQUc7Y0FBRUEsS0FBSyxFQUFMQTtZQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBQUcsc0JBQUEsR0FFNUI1RyxrQkFBa0IsQ0FBQ1EsT0FBTyxjQUFBb0csc0JBQUEsdUJBQTFCQSxzQkFBQSxDQUE0QlMsTUFDOUIsQ0FBQztVQUFBO1lBckJLdEcsUUFBUSxHQUFBaUcsU0FBQSxDQUFBcEQsSUFBQTtZQUFBb0QsU0FBQSxDQUFBNUQsSUFBQTtZQUFBLE9BdUJSM0MsZUFBZSxDQUFDTSxRQUFRLENBQUM7VUFBQTtZQUFBaUcsU0FBQSxDQUFBNUQsSUFBQTtZQUFBO1VBQUE7WUFBQTRELFNBQUEsQ0FBQTdELElBQUE7WUFBQTRELEdBQUEsR0FBQUMsU0FBQTtZQUUvQnRJLE9BQU8sYUFBUEEsT0FBTyxlQUFQQSxPQUFPLENBQUcsQ0FBQztZQUNYYSxVQUFVLENBQUMsS0FBSyxDQUFDO1VBQUE7VUFBQTtZQUFBLE9BQUF5SCxTQUFBLENBQUE5QixJQUFBO1FBQUE7TUFBQSxHQUFBTSxRQUFBO0lBQUEsQ0FFcEI7SUFBQSxnQkEvRktGLE9BQU9BLENBQUFtQyxHQUFBO01BQUEsT0FBQWxDLEtBQUEsQ0FBQUgsS0FBQSxPQUFBQyxTQUFBO0lBQUE7RUFBQSxHQStGWjtFQUVELElBQU1xQyxhQUFhLEdBQUczSixXQUFXLENBQUMsWUFBTTtJQUN0QyxJQUFJaUMsa0JBQWtCLENBQUNRLE9BQU8sRUFBRTtNQUFBLElBQUFtSCxrQkFBQTtNQUM5QjFILFlBQVksQ0FBQ08sT0FBTyxHQUFHLElBQUk7TUFDM0JSLGtCQUFrQixDQUFDUSxPQUFPLENBQUNvSCxLQUFLLENBQUMsQ0FBQztNQUNsQzVILGtCQUFrQixDQUFDUSxPQUFPLEdBQUcsSUFBSTtNQUNqQ2pCLFVBQVUsQ0FBQyxLQUFLLENBQUM7TUFDakJJLFlBQVksQ0FBQyxLQUFLLENBQUM7TUFDbkJJLGlCQUFpQixDQUFDLElBQUksQ0FBQztNQUN2QixDQUFBNEgsa0JBQUEsR0FBQXRILFNBQVMsQ0FBQ0csT0FBTyxjQUFBbUgsa0JBQUEsZUFBakJBLGtCQUFBLENBQUFuRCxJQUFBLENBQUFuRSxTQUFvQixDQUFDO0lBQ3ZCO0VBQ0YsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLElBQU13SCxLQUFLLEdBQUcsU0FBUkEsS0FBS0EsQ0FBQSxFQUFTO0lBQ2xCMUksT0FBTyxDQUFDLElBQUksQ0FBQztJQUNiSSxVQUFVLENBQUMsS0FBSyxDQUFDO0lBQ2pCSSxZQUFZLENBQUMsS0FBSyxDQUFDO0lBQ25CSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7SUFDdkJFLFlBQVksQ0FBQ08sT0FBTyxHQUFHLEtBQUs7RUFDOUIsQ0FBQztFQUVELE9BQU87SUFDTDhFLE9BQU8sRUFBUEEsT0FBTztJQUNQdkUsUUFBUSxFQUFFN0IsSUFBSTtJQUNkSSxTQUFTLEVBQVRBLFNBQVM7SUFDVEksU0FBUyxFQUFUQSxTQUFTO0lBQ1RJLGNBQWMsRUFBZEEsY0FBYztJQUNkK0gsS0FBSyxFQUFMQSxLQUFLO0lBQ0xILGFBQWEsRUFBYkEsYUFBYTtJQUNiakgsZUFBZSxFQUFmQSxlQUFlLENBQUU7RUFDbkIsQ0FBQztBQUNILENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|