@envive-ai/react-hooks 0.3.10 → 0.3.12
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/dist/application/commerce-api.cjs +26 -22
- package/dist/application/commerce-api.d.cts +58 -0
- package/dist/application/commerce-api.d.ts +59 -0
- package/dist/application/commerce-api.js +16 -12
- package/dist/application/models/api/widgetText.d.cts +14 -0
- package/dist/application/models/api/widgetText.d.ts +14 -0
- package/dist/application/models/api/widgetTextRequest.d.cts +16 -0
- package/dist/application/models/api/widgetTextRequest.d.ts +16 -0
- package/dist/application/models/chatElementDisplayLocationV3.cjs +4 -1
- package/dist/application/models/chatElementDisplayLocationV3.d.cts +4 -1
- package/dist/application/models/chatElementDisplayLocationV3.d.ts +4 -1
- package/dist/application/models/chatElementDisplayLocationV3.js +4 -1
- package/dist/application/models/guards/api/index.cjs +7 -7
- package/dist/application/models/guards/api/index.js +7 -7
- package/dist/application/models/guards/api/isApiFormResponse.cjs +1 -1
- package/dist/application/models/guards/api/isApiFormResponse.js +1 -1
- package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.cjs +1 -1
- package/dist/application/models/guards/api/isApiFormSubmittedResponseAttributes.js +1 -1
- package/dist/application/models/guards/api/isApiOrderResponseAttributes.cjs +1 -1
- package/dist/application/models/guards/api/isApiOrderResponseAttributes.js +1 -1
- package/dist/application/models/guards/api/isApiProductResponseAttributes.cjs +1 -1
- package/dist/application/models/guards/api/isApiProductResponseAttributes.js +1 -1
- package/dist/application/models/guards/api/isApiResponse.cjs +1 -1
- package/dist/application/models/guards/api/isApiResponse.js +1 -1
- package/dist/application/models/index.cjs +29 -29
- package/dist/application/models/index.d.cts +25 -25
- package/dist/application/models/index.d.ts +25 -25
- package/dist/application/models/index.js +29 -29
- package/dist/application/models/validators/validateGraphQLFrontendConfig.cjs +1 -1
- package/dist/application/models/validators/validateGraphQLFrontendConfig.js +1 -1
- package/dist/application/models/validators/validateResponse.cjs +3 -3
- package/dist/application/models/validators/validateResponse.js +3 -3
- package/dist/application/models/validators/validateUserEvent.cjs +2 -2
- package/dist/application/models/validators/validateUserEvent.js +2 -2
- package/dist/application/models/variantInfo/variantInfo.cjs +2 -1
- package/dist/application/models/variantInfo/variantInfo.d.cts +6 -1
- package/dist/application/models/variantInfo/variantInfo.d.ts +6 -1
- package/dist/application/models/variantInfo/variantInfo.js +2 -1
- package/dist/application/utils/analyticsUtils.cjs +1 -1
- package/dist/application/utils/analyticsUtils.js +1 -1
- package/dist/application/utils/nodeSelector.cjs +12 -14
- package/dist/application/utils/nodeSelector.js +12 -14
- package/dist/application/utils/widgetTextFromApiWidgetTextResponse.cjs +3 -1
- package/dist/application/utils/widgetTextFromApiWidgetTextResponse.js +3 -1
- package/dist/application/utils/widgetTextRequestToApiRequest.cjs +4 -1
- package/dist/application/utils/widgetTextRequestToApiRequest.js +4 -1
- package/dist/atoms/app/index.cjs +7 -7
- package/dist/atoms/app/index.d.cts +1 -1
- package/dist/atoms/app/index.d.ts +8 -8
- package/dist/atoms/app/index.js +1 -1
- package/dist/atoms/app/variant.cjs +44 -4
- package/dist/atoms/app/variant.d.cts +8 -8
- package/dist/atoms/app/variant.d.ts +8 -8
- package/dist/atoms/app/variant.js +44 -5
- package/dist/atoms/chat/chatState.d.cts +18 -18
- package/dist/atoms/chat/chatState.d.ts +17 -17
- package/dist/atoms/chat/form.cjs +1 -1
- package/dist/atoms/chat/form.d.cts +2 -2
- package/dist/atoms/chat/form.d.ts +2 -2
- package/dist/atoms/chat/form.js +1 -1
- package/dist/atoms/chat/index.d.cts +3 -3
- package/dist/atoms/chat/index.d.ts +2 -2
- package/dist/atoms/chat/lastMessage.d.cts +2 -2
- package/dist/atoms/chat/lastMessage.d.ts +2 -2
- package/dist/atoms/chat/messageQueue.d.cts +6 -6
- package/dist/atoms/chat/messageQueue.d.ts +6 -6
- package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
- package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
- package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
- package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
- package/dist/atoms/chat/replies.d.cts +3 -3
- package/dist/atoms/chat/replies.d.ts +3 -3
- package/dist/atoms/chat/suggestions.d.cts +2 -2
- package/dist/atoms/chat/suggestions.d.ts +2 -2
- package/dist/atoms/envive/enviveConfig.d.cts +19 -0
- package/dist/atoms/envive/enviveConfig.d.ts +19 -0
- package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
- package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
- package/dist/atoms/org/customerService.d.cts +6 -6
- package/dist/atoms/org/customerService.d.ts +6 -6
- package/dist/atoms/org/graphqlConfig.d.cts +4 -4
- package/dist/atoms/org/graphqlConfig.d.ts +4 -4
- package/dist/atoms/org/index.cjs +1 -1
- package/dist/atoms/org/index.js +1 -1
- package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
- package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
- package/dist/atoms/org/orgAnalyticsConfig.d.cts +5 -5
- package/dist/atoms/org/orgAnalyticsConfig.d.ts +5 -5
- package/dist/atoms/search/chatSearch.cjs +1 -1
- package/dist/atoms/search/chatSearch.d.cts +17 -17
- package/dist/atoms/search/chatSearch.d.ts +17 -17
- package/dist/atoms/search/chatSearch.js +1 -1
- package/dist/atoms/search/searchAPI.d.cts +13 -13
- package/dist/atoms/search/searchAPI.d.ts +13 -13
- package/dist/atoms/search/types.d.cts +1 -1
- package/dist/atoms/search/types.d.ts +1 -1
- package/dist/atoms/search/utils.d.cts +1 -1
- package/dist/atoms/search/utils.d.ts +1 -1
- package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
- package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
- package/dist/config/locators/components/search/index.d.cts +1 -1
- package/dist/contexts/amplitudeContext/amplitudeContext.cjs +9 -7
- package/dist/contexts/amplitudeContext/amplitudeContext.d.cts +2 -2
- package/dist/contexts/amplitudeContext/amplitudeContext.d.ts +2 -2
- package/dist/contexts/amplitudeContext/amplitudeContext.js +5 -3
- package/dist/contexts/amplitudeContext/index.cjs +1 -0
- package/dist/contexts/amplitudeContext/index.d.cts +2 -2
- package/dist/contexts/amplitudeContext/index.d.ts +2 -2
- package/dist/contexts/amplitudeContext/index.js +2 -2
- package/dist/contexts/cdnContext/cdnContext.cjs +3 -3
- package/dist/contexts/enviveConfigContext/enviveConfigContext.cjs +6 -5
- package/dist/contexts/enviveConfigContext/enviveConfigContext.d.cts +2 -1
- package/dist/contexts/enviveConfigContext/enviveConfigContext.d.ts +2 -1
- package/dist/contexts/enviveConfigContext/enviveConfigContext.js +3 -2
- package/dist/contexts/enviveContext/WindowChatToggleBinder.cjs +4 -3
- package/dist/contexts/enviveContext/WindowChatToggleBinder.js +4 -3
- package/dist/contexts/enviveContext/enviveContext.cjs +23 -16
- package/dist/contexts/enviveContext/enviveContext.d.cts +5 -1
- package/dist/contexts/enviveContext/enviveContext.d.ts +5 -1
- package/dist/contexts/enviveContext/enviveContext.js +23 -16
- package/dist/contexts/enviveContext/types.d.cts +1 -1
- package/dist/contexts/enviveContext/types.d.ts +1 -1
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.cjs +23 -2
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.cts +11 -2
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts +11 -2
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.js +23 -2
- package/dist/contexts/featureFlagServiceContext/index.d.cts +2 -2
- package/dist/contexts/featureFlagServiceContext/index.d.ts +2 -2
- package/dist/contexts/graphqlContext/graphqlContext.cjs +7 -7
- package/dist/contexts/graphqlContext/graphqlContext.d.cts +1 -1
- package/dist/contexts/graphqlContext/graphqlContext.d.ts +1 -1
- package/dist/contexts/graphqlContext/graphqlContext.js +3 -3
- package/dist/contexts/graphqlContext/mockV3Config.cjs +10 -4
- package/dist/contexts/graphqlContext/mockV3Config.js +10 -4
- package/dist/contexts/hardcopyContext/hardcopyContext.cjs +60 -6
- package/dist/contexts/hardcopyContext/hardcopyContext.d.cts +8 -3
- package/dist/contexts/hardcopyContext/hardcopyContext.d.ts +8 -3
- package/dist/contexts/hardcopyContext/hardcopyContext.js +58 -4
- package/dist/contexts/newOrgConfigContext/newOrgConfigContext.cjs +3 -3
- package/dist/contexts/pageContext/mapping.cjs +6 -2
- package/dist/contexts/pageContext/mapping.js +6 -2
- package/dist/contexts/pageContext/pageContext.cjs +12 -7
- package/dist/contexts/pageContext/pageContext.js +10 -5
- package/dist/contexts/pageContext/types.d.cts +7 -3
- package/dist/contexts/pageContext/types.d.ts +7 -3
- package/dist/contexts/salesAgentContext/chatAPI.cjs +101 -12
- package/dist/contexts/salesAgentContext/chatAPI.d.cts +8 -4
- package/dist/contexts/salesAgentContext/chatAPI.d.ts +8 -4
- package/dist/contexts/salesAgentContext/chatAPI.js +103 -14
- package/dist/contexts/salesAgentContext/salesAgentContext.cjs +1 -1
- package/dist/contexts/salesAgentContext/salesAgentContext.js +1 -1
- package/dist/contexts/salesAgentContext/salesAgentService.cjs +52 -10
- package/dist/contexts/salesAgentContext/salesAgentService.js +50 -8
- package/dist/contexts/searchContext/searchContext.cjs +4 -4
- package/dist/contexts/searchContext/searchContext.js +1 -1
- package/dist/contexts/systemSettingsContext/systemSettingsContext.cjs +3 -3
- package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
- package/dist/contexts/types.cjs +1 -1
- package/dist/contexts/types.d.cts +10 -3
- package/dist/contexts/types.d.ts +10 -3
- package/dist/contexts/types.js +1 -1
- package/dist/contexts/typesV3.cjs +2 -1
- package/dist/contexts/typesV3.d.cts +28 -7
- package/dist/contexts/typesV3.d.ts +26 -5
- package/dist/contexts/typesV3.js +2 -1
- package/dist/contexts/userIdentityContext/userIdentityContext.cjs +3 -3
- package/dist/contexts/widgetConfigContext/widgetConfigContext.cjs +1 -1
- package/dist/contexts/widgetConfigContext/widgetConfigContext.js +1 -1
- package/dist/hooks/AppDetails/useAppDetails.cjs +6 -6
- package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +2 -2
- package/dist/hooks/ImageResolver/useImageResolver.cjs +3 -3
- package/dist/hooks/Search/useSearch.cjs +4 -4
- package/dist/hooks/Search/useSearch.d.cts +1 -1
- package/dist/hooks/Search/useSearch.d.ts +1 -1
- package/dist/hooks/Search/useSearch.js +1 -1
- package/dist/services/amplitudeService/amplitudeService.cjs +49 -11
- package/dist/services/amplitudeService/amplitudeService.d.cts +18 -3
- package/dist/services/amplitudeService/amplitudeService.d.ts +18 -3
- package/dist/services/amplitudeService/amplitudeService.js +49 -12
- package/dist/services/amplitudeService/index.cjs +1 -0
- package/dist/services/amplitudeService/index.d.cts +2 -2
- package/dist/services/amplitudeService/index.d.ts +2 -2
- package/dist/services/amplitudeService/index.js +2 -2
- package/dist/types/customerService.d.cts +3 -1
- package/dist/types/customerService.d.ts +1 -1
- package/dist/types/enviveConfig.d.cts +4 -1
- package/dist/types/enviveConfig.d.ts +4 -1
- package/package.json +10 -2
- package/src/application/commerce-api.ts +25 -20
- package/src/application/models/api/widgetText.ts +2 -0
- package/src/application/models/api/widgetTextRequest.ts +2 -0
- package/src/application/models/chatElementDisplayLocationV3.ts +3 -0
- package/src/application/models/variantInfo/variantInfo.ts +5 -0
- package/src/application/utils/nodeSelector.ts +15 -14
- package/src/application/utils/widgetTextFromApiWidgetTextResponse.ts +2 -0
- package/src/application/utils/widgetTextRequestToApiRequest.ts +5 -0
- package/src/atoms/app/variant.ts +56 -2
- package/src/contexts/amplitudeContext/__tests__/amplitudeContext.test.tsx +2 -0
- package/src/contexts/amplitudeContext/amplitudeContext.tsx +5 -1
- package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +3 -0
- package/src/contexts/enviveContext/WindowChatToggleBinder.tsx +5 -1
- package/src/contexts/enviveContext/enviveContext.tsx +10 -3
- package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +36 -0
- package/src/contexts/graphqlContext/mockV3Config.ts +13 -7
- package/src/contexts/hardcopyContext/hardcopyContext.tsx +67 -4
- package/src/contexts/pageContext/mapping.ts +13 -1
- package/src/contexts/pageContext/pageContext.tsx +9 -4
- package/src/contexts/pageContext/types.ts +7 -1
- package/src/contexts/salesAgentContext/chatAPI.ts +105 -13
- package/src/contexts/salesAgentContext/salesAgentService.ts +66 -4
- package/src/contexts/types.ts +11 -2
- package/src/contexts/typesV3.ts +42 -16
- package/src/services/amplitudeService/__tests__/amplitudeService.test.ts +80 -0
- package/src/services/amplitudeService/amplitudeService.ts +55 -11
- package/src/types/enviveConfig.ts +3 -0
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
const require_useMessageInterceptor = require('../../interceptors/useMessageInterceptor.cjs');
|
|
3
|
-
const require_message = require('../../application/models/message.cjs');
|
|
4
2
|
const require_logger = require('../../application/logging/logger.cjs');
|
|
3
|
+
const require_message = require('../../application/models/message.cjs');
|
|
5
4
|
require('../../application/models/index.cjs');
|
|
5
|
+
const require_variant = require('../../atoms/app/variant.cjs');
|
|
6
6
|
const require_atoms_app_index = require('../../atoms/app/index.cjs');
|
|
7
7
|
const require_featureFlagServiceContext = require('../featureFlagServiceContext/featureFlagServiceContext.cjs');
|
|
8
8
|
const require_amplitudeService = require('../../services/amplitudeService/amplitudeService.cjs');
|
|
9
9
|
const require_amplitudeContext = require('../amplitudeContext/amplitudeContext.cjs');
|
|
10
10
|
const require_messageFromResponse = require('../../application/utils/messageFromResponse.cjs');
|
|
11
11
|
require('../../application/utils/index.cjs');
|
|
12
|
+
const require_application_commerce_api = require('../../application/commerce-api.cjs');
|
|
13
|
+
const require_useMessageInterceptor = require('../../interceptors/useMessageInterceptor.cjs');
|
|
12
14
|
const require_atoms_chat_chatState = require('../../atoms/chat/chatState.cjs');
|
|
13
15
|
require('../amplitudeContext/index.cjs');
|
|
14
16
|
require('../featureFlagServiceContext/index.cjs');
|
|
15
|
-
const require_commerce_api = require('../../application/commerce-api.cjs');
|
|
16
17
|
const require_statusCodeError = require('./statusCodeError.cjs');
|
|
17
18
|
let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
|
|
18
|
-
let uuid = require("uuid");
|
|
19
19
|
let react = require("react");
|
|
20
20
|
let jotai = require("jotai");
|
|
21
|
+
let uuid = require("uuid");
|
|
21
22
|
|
|
22
23
|
//#region src/contexts/salesAgentContext/salesAgentService.ts
|
|
23
24
|
const inputPropsToTrackingProps = (payload) => {
|
|
@@ -34,6 +35,27 @@ const inputPropsToTrackingProps = (payload) => {
|
|
|
34
35
|
};
|
|
35
36
|
return {};
|
|
36
37
|
};
|
|
38
|
+
const inputPropsToEnviveTrackingProps = (payload) => {
|
|
39
|
+
const [userEvent] = payload.userEvents || [];
|
|
40
|
+
if (userEvent.category === __spiffy_ai_commerce_api_client.UserEventCategory.SuggestionClicked) return {
|
|
41
|
+
"chat.request_type": "suggestion",
|
|
42
|
+
"chat.request_id": userEvent.eventId,
|
|
43
|
+
"chat.request_text": userEvent.attributes.content,
|
|
44
|
+
"chat.suggestion_id": userEvent.attributes.suggestionId,
|
|
45
|
+
"chat.user_typed": false
|
|
46
|
+
};
|
|
47
|
+
if (userEvent.category === __spiffy_ai_commerce_api_client.UserEventCategory.QueryTyped) return {
|
|
48
|
+
"chat.request_type": "text",
|
|
49
|
+
"chat.request_id": userEvent.eventId,
|
|
50
|
+
"chat.request_text": userEvent.attributes.query,
|
|
51
|
+
"chat.user_typed": userEvent.attributes.userTyped
|
|
52
|
+
};
|
|
53
|
+
if (userEvent.category === __spiffy_ai_commerce_api_client.UserEventCategory.PageVisit || userEvent.category === __spiffy_ai_commerce_api_client.UserEventCategory.PdpVisit || userEvent.category === __spiffy_ai_commerce_api_client.UserEventCategory.PlpVisit) return {
|
|
54
|
+
"chat.request_id": userEvent.eventId,
|
|
55
|
+
"chat.request_type": "page_visit"
|
|
56
|
+
};
|
|
57
|
+
return {};
|
|
58
|
+
};
|
|
37
59
|
const getQueryParam = (key) => {
|
|
38
60
|
return new URL(window.location.href).searchParams.get(key);
|
|
39
61
|
};
|
|
@@ -79,12 +101,15 @@ const updateMessageState = (message, lastMessage, setMessages) => {
|
|
|
79
101
|
const processStreamingResponse = async (stream, messageInterceptor, setMessages, setResponseStreaming) => {
|
|
80
102
|
let lastMessage;
|
|
81
103
|
setResponseStreaming(true);
|
|
104
|
+
const responseAnalytics = {};
|
|
82
105
|
for await (const response of stream) {
|
|
83
106
|
try {
|
|
84
|
-
if (messageInterceptor.intercept(response)) return;
|
|
107
|
+
if (messageInterceptor.intercept(response)) return {};
|
|
85
108
|
if (!response) throw new Error("No response from stream");
|
|
86
109
|
const message = require_messageFromResponse.messageFromResponse(response);
|
|
87
110
|
if (!message) throw new Error("Failed to transform API response to client message");
|
|
111
|
+
if (message.type === require_message.MessageType.Product) responseAnalytics["chat.product_cards_returned"] = (responseAnalytics["chat.product_cards_returned"] || 0) + 1;
|
|
112
|
+
if (message.type === require_message.MessageType.Review) responseAnalytics["chat.review_cards_returned"] = (responseAnalytics["chat.review_cards_returned"] || 0) + 1;
|
|
88
113
|
lastMessage = updateMessageState(message, lastMessage, setMessages);
|
|
89
114
|
} catch (error) {
|
|
90
115
|
require_logger.default.logWarn(`[spiffy-ai] Failed to generate responses from stream`, error, {
|
|
@@ -94,6 +119,7 @@ const processStreamingResponse = async (stream, messageInterceptor, setMessages,
|
|
|
94
119
|
}
|
|
95
120
|
setResponseStreaming(false);
|
|
96
121
|
}
|
|
122
|
+
return responseAnalytics;
|
|
97
123
|
};
|
|
98
124
|
const useSalesAgentService = () => {
|
|
99
125
|
const setRequestFailure = (0, jotai.useSetAtom)(require_atoms_chat_chatState.requestFailureAtom);
|
|
@@ -101,6 +127,7 @@ const useSalesAgentService = () => {
|
|
|
101
127
|
const setSuggestions = (0, jotai.useSetAtom)(require_atoms_chat_chatState.suggestionsAtom);
|
|
102
128
|
const setPendingResponse = (0, jotai.useSetAtom)(require_atoms_chat_chatState.pendingResponseAtom);
|
|
103
129
|
const setResponseStreaming = (0, jotai.useSetAtom)(require_atoms_chat_chatState.responseStreamingAtom);
|
|
130
|
+
const analyticsContext = (0, jotai.useAtomValue)(require_variant.analyticsContextAtom);
|
|
104
131
|
const messageInterceptor = require_useMessageInterceptor.useMessageInterceptor();
|
|
105
132
|
const { trackEvent } = require_amplitudeContext.useAmplitude();
|
|
106
133
|
const featureFlagService = require_featureFlagServiceContext.useFeatureFlagService();
|
|
@@ -124,10 +151,12 @@ const useSalesAgentService = () => {
|
|
|
124
151
|
const startTime = Date.now();
|
|
125
152
|
let successfulResponse;
|
|
126
153
|
setPendingResponse(true);
|
|
127
|
-
|
|
154
|
+
setSuggestions([]);
|
|
155
|
+
const stream = require_application_commerce_api.default.getNextResponseStreaming(payload);
|
|
156
|
+
let responseAnalytics;
|
|
128
157
|
try {
|
|
129
158
|
setRequestFailure(false);
|
|
130
|
-
await processStreamingResponse(stream, messageInterceptor, setMessages, setResponseStreaming);
|
|
159
|
+
responseAnalytics = await processStreamingResponse(stream, messageInterceptor, setMessages, setResponseStreaming);
|
|
131
160
|
successfulResponse = true;
|
|
132
161
|
} catch (e) {
|
|
133
162
|
console.error("error getting streaming responses", e);
|
|
@@ -144,21 +173,34 @@ const useSalesAgentService = () => {
|
|
|
144
173
|
...inputPropsToTrackingProps(payload)
|
|
145
174
|
}
|
|
146
175
|
});
|
|
176
|
+
trackEvent({
|
|
177
|
+
eventName: require_amplitudeService.EnviveMetricsEventName.ChatResponse,
|
|
178
|
+
eventProps: {
|
|
179
|
+
...analyticsContext,
|
|
180
|
+
"chat.response_time_ms": responseTime.toString(),
|
|
181
|
+
...inputPropsToEnviveTrackingProps(payload),
|
|
182
|
+
...responseAnalytics
|
|
183
|
+
}
|
|
184
|
+
});
|
|
147
185
|
setPendingResponse(false);
|
|
148
186
|
setResponseStreaming(false);
|
|
149
187
|
}
|
|
150
188
|
}, [
|
|
189
|
+
analyticsContext,
|
|
190
|
+
trackEvent,
|
|
191
|
+
setResponseStreaming,
|
|
151
192
|
setRequestFailure,
|
|
193
|
+
setSuggestions,
|
|
152
194
|
messageInterceptor,
|
|
153
195
|
setMessages,
|
|
154
196
|
setPendingResponse
|
|
155
197
|
]),
|
|
156
198
|
getSuggestions: (0, react.useCallback)(async (payload) => {
|
|
157
|
-
setSuggestions(await
|
|
199
|
+
setSuggestions(await require_application_commerce_api.default.getNextSuggestions(payload));
|
|
158
200
|
}, [setSuggestions]),
|
|
159
201
|
hydrateMessages: (0, react.useCallback)(async () => {
|
|
160
202
|
const { orgId, chatId, userId } = context;
|
|
161
|
-
const { messages: existingMessages, userEvents } = await
|
|
203
|
+
const { messages: existingMessages, userEvents } = await require_application_commerce_api.default.getResponses(orgId, chatId, userId);
|
|
162
204
|
setMessages([...existingMessages]);
|
|
163
205
|
}, [context, setMessages])
|
|
164
206
|
};
|
|
@@ -166,4 +208,4 @@ const useSalesAgentService = () => {
|
|
|
166
208
|
|
|
167
209
|
//#endregion
|
|
168
210
|
exports.useSalesAgentService = useSalesAgentService;
|
|
169
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNBZ2VudFNlcnZpY2UuY2pzIiwibmFtZXMiOlsiVXNlckV2ZW50Q2F0ZWdvcnkiLCJTdGF0dXNDb2RlRXJyb3IiLCJNZXNzYWdlUm9sZSIsIk1lc3NhZ2VUeXBlIiwibGFzdE1lc3NhZ2U6IE1lc3NhZ2UgfCB1bmRlZmluZWQiLCJtZXNzYWdlRnJvbVJlc3BvbnNlIiwiZXJyb3I6IHVua25vd24iLCJ1c2VTYWxlc0FnZW50U2VydmljZTogKCkgPT4gU2FsZXNBZ2VudFNlcnZpY2UiLCJyZXF1ZXN0RmFpbHVyZUF0b20iLCJtZXNzYWdlc0F0b20iLCJzdWdnZXN0aW9uc0F0b20iLCJwZW5kaW5nUmVzcG9uc2VBdG9tIiwicmVzcG9uc2VTdHJlYW1pbmdBdG9tIiwidXNlTWVzc2FnZUludGVyY2VwdG9yIiwidXNlQW1wbGl0dWRlIiwidXNlRmVhdHVyZUZsYWdTZXJ2aWNlIiwiYXBwRGV0YWlsc0F0b20iLCJzdWNjZXNzZnVsUmVzcG9uc2U6IGJvb2xlYW4gfCB1bmRlZmluZWQiLCJDb21tZXJjZUFwaUNsaWVudCIsIlNwaWZmeU1ldHJpY3NFdmVudE5hbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc2FsZXNBZ2VudENvbnRleHQvc2FsZXNBZ2VudFNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQXRvbVZhbHVlLCB1c2VTZXRBdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgQ29tbWVyY2VBcGlDbGllbnQgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2NvbW1lcmNlLWFwaSc7XG5pbXBvcnQgeyBhcHBEZXRhaWxzQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHtcbiAgR2VuZXJhdGlvblBhcmFtcyxcbiAgTWVzc2FnZSxcbiAgTWVzc2FnZVJvbGUsXG4gIE1lc3NhZ2VUeXBlLFxuICBOZXh0TWVzc2FnZVJlcXVlc3QsXG4gIFJlc3BvbnNlLFxuICBVc2VyRXZlbnQsXG59IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgbWVzc2FnZUZyb21SZXNwb25zZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi91dGlscyc7XG5pbXBvcnQge1xuICBtZXNzYWdlc0F0b20sXG4gIHBlbmRpbmdSZXNwb25zZUF0b20sXG4gIHJlcXVlc3RGYWlsdXJlQXRvbSxcbiAgcmVzcG9uc2VTdHJlYW1pbmdBdG9tLFxuICBzdWdnZXN0aW9uc0F0b20sXG59IGZyb20gJ3NyYy9hdG9tcy9jaGF0L2NoYXRTdGF0ZSc7XG5pbXBvcnQgeyB1c2VNZXNzYWdlSW50ZXJjZXB0b3IgfSBmcm9tICdzcmMvaW50ZXJjZXB0b3JzL3VzZU1lc3NhZ2VJbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLCB1c2VBbXBsaXR1ZGUgfSBmcm9tICdzcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dCc7XG5pbXBvcnQgeyB1c2VGZWF0dXJlRmxhZ1NlcnZpY2UgfSBmcm9tICdzcmMvY29udGV4dHMvZmVhdHVyZUZsYWdTZXJ2aWNlQ29udGV4dCc7XG5pbXBvcnQgeyBVc2VyRXZlbnRDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5cbmltcG9ydCB7IFN0YXR1c0NvZGVFcnJvciB9IGZyb20gJy4vc3RhdHVzQ29kZUVycm9yJztcblxuaW50ZXJmYWNlIFNhbGVzQWdlbnRTZXJ2aWNlIHtcbiAgY3JlYXRlUmVzcG9uc2VQYXlsb2FkOiAocGF5bG9hZDoge1xuICAgIHVzZXJFdmVudHM6IFVzZXJFdmVudFtdO1xuICAgIGdlbmVyYXRpb25QYXJhbXM/OiBHZW5lcmF0aW9uUGFyYW1zO1xuICB9KSA9PiBOZXh0TWVzc2FnZVJlcXVlc3Q7XG4gIGdldFN0cmVhbWluZ1Jlc3BvbnNlczogKHBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgZ2V0U3VnZ2VzdGlvbnM6IChwYXlsb2FkOiBOZXh0TWVzc2FnZVJlcXVlc3QpID0+IFByb21pc2U8dm9pZD47XG4gIGh5ZHJhdGVNZXNzYWdlczogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbn1cblxuY29uc3QgaW5wdXRQcm9wc1RvVHJhY2tpbmdQcm9wcyA9IChcbiAgcGF5bG9hZDogTmV4dE1lc3NhZ2VSZXF1ZXN0LFxuKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBbdXNlckV2ZW50XSA9IHBheWxvYWQudXNlckV2ZW50cyB8fCBbXTtcbiAgaWYgKHVzZXJFdmVudC5jYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWVzc2FnZV9pZDogdXNlckV2ZW50LmV2ZW50SWQsXG4gICAgICB1c2VyX2V2ZW50X3R5cGU6ICdzdWdnZXN0aW9uX2NsaWNrZWQnLFxuICAgICAgdXNlcl9xdWVyeTogdXNlckV2ZW50LmF0dHJpYnV0ZXMuY29udGVudCxcbiAgICB9O1xuICB9XG4gIGlmICh1c2VyRXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LlF1ZXJ5VHlwZWQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWVzc2FnZV9pZDogdXNlckV2ZW50LmV2ZW50SWQsXG4gICAgICB1c2VyX2V2ZW50X3R5cGU6ICdxdWVyeV90eXBlZCcsXG4gICAgICB1c2VyX3F1ZXJ5OiB1c2VyRXZlbnQuYXR0cmlidXRlcy5xdWVyeSxcbiAgICB9O1xuICB9XG4gIHJldHVybiB7fTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRRdWVyeVBhcmFtID0gKGtleTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gIGNvbnN0IHVybE9iaiA9IG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICByZXR1cm4gdXJsT2JqLnNlYXJjaFBhcmFtcy5nZXQoa2V5KTtcbn07XG5cbmNvbnN0IGdldEVycm9yTWVzc2FnZSA9IChfZXJyb3I6IHVua25vd24pOiBzdHJpbmcgPT4ge1xuICBpZiAoX2Vycm9yIGluc3RhbmNlb2YgU3RhdHVzQ29kZUVycm9yKSB7XG4gICAgaWYgKF9lcnJvci5zdGF0dXNDb2RlID09PSA0MjMpIHtcbiAgICAgIHJldHVybiAnRHVlIHRvIHZpb2xhdGlvbiBvZiB0ZXJtcyBhbmQgc2VydmljZXMsIHRoaXMgc2Vzc2lvbiBoYXMgYmVlbiB0ZXJtaW5hdGVkLic7XG4gICAgfVxuICAgIC8vIEtlZXBpbmcgdGhlIDQyOSBlcnJvciBtZXNzYWdlcyBhcyB0aGUgZ2VuZXJpYyBlcnJvciBtZXNzYWdlIGZvciBub3cuXG4gICAgLy8gaWYgKF9lcnJvci5zdGF0dXNDb2RlID09PSA0MjkpIHtcbiAgICAvLyAgIHJldHVybiBcIkknbSBzb3JyeSEgVGhlIHN5c3RlbSBpcyBidXN5IHJpZ2h0IG5vdy4gUGxlYXNlIHRyeSBhZ2FpbiBpbiBhIGZldyBtaW51dGVzLlwiO1xuICAgIC8vIH1cbiAgfVxuXG4gIHJldHVybiBcIkknbSBzb3JyeSEgSSdtIGhhdmluZyB0cm91YmxlIHJpZ2h0IG5vdy4gUGxlYXNlIHJlZnJlc2ggdGhlIHBhZ2Ugb3IgdHJ5IGFnYWluIGluIGEgbW9tZW50LlwiO1xufTtcblxuY29uc3QgaGFuZGxlU3RyZWFtaW5nRXJyb3IgPSAoXG4gIF9lcnJvcjogdW5rbm93bixcbiAgc2V0UmVxdWVzdEZhaWx1cmU6IChmYWlsZWQ6IGJvb2xlYW4pID0+IHZvaWQsXG4gIHNldE1lc3NhZ2VzOiAodXBkYXRlcjogKHByZXY6IE1lc3NhZ2VbXVtdKSA9PiBNZXNzYWdlW11bXSkgPT4gdm9pZCxcbikgPT4ge1xuICBzZXRSZXF1ZXN0RmFpbHVyZSh0cnVlKTtcblxuICBjb25zdCBlcnJvck1lc3NhZ2UgPSBnZXRFcnJvck1lc3NhZ2UoX2Vycm9yKTtcbiAgc2V0TWVzc2FnZXMocHJldiA9PiBbXG4gICAgLi4ucHJldixcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGlkOiB1dWlkKCksXG4gICAgICAgIHJvbGU6IE1lc3NhZ2VSb2xlLkFzc2lzdGFudCxcbiAgICAgICAgdHlwZTogTWVzc2FnZVR5cGUuVGV4dCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgY29udGVudDogZXJyb3JNZXNzYWdlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG5cbmNvbnN0IHVwZGF0ZU1lc3NhZ2VTdGF0ZSA9IChcbiAgbWVzc2FnZTogTWVzc2FnZSxcbiAgbGFzdE1lc3NhZ2U6IE1lc3NhZ2UsXG4gIHNldE1lc3NhZ2VzOiAodXBkYXRlcjogKHByZXY6IE1lc3NhZ2VbXVtdKSA9PiBNZXNzYWdlW11bXSkgPT4gdm9pZCxcbik6IE1lc3NhZ2UgPT4ge1xuICBpZiAobGFzdE1lc3NhZ2UgPT0gbnVsbCkge1xuICAgIHNldE1lc3NhZ2VzKHByZXYgPT4gWy4uLnByZXYsIFttZXNzYWdlXV0pO1xuICAgIHJldHVybiBtZXNzYWdlO1xuICB9XG4gIGlmIChsYXN0TWVzc2FnZS50eXBlID09PSBNZXNzYWdlVHlwZS5UZXh0ICYmIG1lc3NhZ2UudHlwZSA9PT0gTWVzc2FnZVR5cGUuVGV4dCkge1xuICAgIGNvbnN0IG5ld01lc3NhZ2UgPSB7XG4gICAgICAuLi5sYXN0TWVzc2FnZSxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIC4uLmxhc3RNZXNzYWdlLm1ldGFkYXRhLFxuICAgICAgICBjb250ZW50OiBsYXN0TWVzc2FnZS5tZXRhZGF0YS5jb250ZW50ICsgbWVzc2FnZS5tZXRhZGF0YS5jb250ZW50LFxuICAgICAgfSxcbiAgICB9O1xuICAgIHNldE1lc3NhZ2VzKHByZXYgPT4ge1xuICAgICAgY29uc3QgbGFzdFR1cm4gPSBwcmV2W3ByZXYubGVuZ3RoIC0gMV07XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5wcmV2LnNsaWNlKDAsIHByZXYubGVuZ3RoIC0gMSksXG4gICAgICAgIFsuLi5sYXN0VHVybi5zbGljZSgwLCBsYXN0VHVybi5sZW5ndGggLSAxKSwgbmV3TWVzc2FnZV0sXG4gICAgICBdO1xuICAgIH0pO1xuICAgIHJldHVybiBuZXdNZXNzYWdlO1xuICB9XG4gIHNldE1lc3NhZ2VzKHByZXYgPT4gWy4uLnByZXYuc2xpY2UoMCwgcHJldi5sZW5ndGggLSAxKSwgWy4uLnByZXZbcHJldi5sZW5ndGggLSAxXSwgbWVzc2FnZV1dKTtcbiAgcmV0dXJuIG1lc3NhZ2U7XG59O1xuXG5jb25zdCBwcm9jZXNzU3RyZWFtaW5nUmVzcG9uc2UgPSBhc3luYyAoXG4gIHN0cmVhbTogQXN5bmNJdGVyYWJsZTxSZXNwb25zZT4sXG4gIG1lc3NhZ2VJbnRlcmNlcHRvcjogeyBpbnRlcmNlcHQ6IChyZXNwb25zZT86IFJlc3BvbnNlKSA9PiBib29sZWFuIHwgdW5kZWZpbmVkIH0sXG4gIHNldE1lc3NhZ2VzOiAodXBkYXRlcjogKHByZXY6IE1lc3NhZ2VbXVtdKSA9PiBNZXNzYWdlW11bXSkgPT4gdm9pZCxcbiAgc2V0UmVzcG9uc2VTdHJlYW1pbmc6IChyZXNwb25zZVN0cmVhbWluZzogYm9vbGVhbikgPT4gdm9pZCxcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBsZXQgbGFzdE1lc3NhZ2U6IE1lc3NhZ2UgfCB1bmRlZmluZWQ7XG4gIHNldFJlc3BvbnNlU3RyZWFtaW5nKHRydWUpO1xuXG4gIGZvciBhd2FpdCAoY29uc3QgcmVzcG9uc2Ugb2Ygc3RyZWFtKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChtZXNzYWdlSW50ZXJjZXB0b3IuaW50ZXJjZXB0KHJlc3BvbnNlKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghcmVzcG9uc2UpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyByZXNwb25zZSBmcm9tIHN0cmVhbScpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBtZXNzYWdlID0gbWVzc2FnZUZyb21SZXNwb25zZShyZXNwb25zZSk7XG4gICAgICBpZiAoIW1lc3NhZ2UpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gdHJhbnNmb3JtIEFQSSByZXNwb25zZSB0byBjbGllbnQgbWVzc2FnZScpO1xuICAgICAgfVxuXG4gICAgICAvLyBObyBzdXBwb3J0IGZvciBDaGF0U2VhcmNoIG1lc3NhZ2VzIGF0IHRoZSBjdXJyZW50IHRpbWUuXG4gICAgICAvLyBQZXJoYXBzIHdlIGFkZCBzdXBwb3J0IGJhY2sgaW4gdGhlIGZ1dHVyZVxuICAgICAgLy8gaWYgKG1lc3NhZ2UudHlwZSA9PT0gTWVzc2FnZVR5cGUuUHJvZHVjdFNlYXJjaCkge1xuICAgICAgLy8gICBoYW5kbGVTZWFyY2hSZXN1bHRzKG1lc3NhZ2UpO1xuICAgICAgLy8gICBoYXNTZWFyY2hSZXN1bHRzID0gdHJ1ZTtcbiAgICAgIC8vICAgc2V0U2VhcmNoSXNMb2FkaW5nKGZhbHNlKTsgLy8gVXBkYXRlIHNlYXJjaCBsb2FkaW5nIGltbWVkaWF0ZWx5IHdoZW4gcmVzdWx0cyBhcmUgZGV0ZWN0ZWRcbiAgICAgIC8vIH1cblxuICAgICAgbGFzdE1lc3NhZ2UgPSB1cGRhdGVNZXNzYWdlU3RhdGUobWVzc2FnZSwgbGFzdE1lc3NhZ2UhLCBzZXRNZXNzYWdlcyk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIExvZ2dlci5sb2dXYXJuKGBbc3BpZmZ5LWFpXSBGYWlsZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2VzIGZyb20gc3RyZWFtYCwgZXJyb3IsIHtcbiAgICAgICAgbGFzdFJlc3BvbnNlOiBsYXN0TWVzc2FnZSxcbiAgICAgICAgcmVzcG9uc2UsXG4gICAgICB9KTtcbiAgICB9XG4gICAgc2V0UmVzcG9uc2VTdHJlYW1pbmcoZmFsc2UpO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdXNlU2FsZXNBZ2VudFNlcnZpY2U6ICgpID0+IFNhbGVzQWdlbnRTZXJ2aWNlID0gKCkgPT4ge1xuICBjb25zdCBzZXRSZXF1ZXN0RmFpbHVyZSA9IHVzZVNldEF0b20ocmVxdWVzdEZhaWx1cmVBdG9tKTtcbiAgY29uc3Qgc2V0TWVzc2FnZXMgPSB1c2VTZXRBdG9tKG1lc3NhZ2VzQXRvbSk7XG4gIGNvbnN0IHNldFN1Z2dlc3Rpb25zID0gdXNlU2V0QXRvbShzdWdnZXN0aW9uc0F0b20pO1xuICBjb25zdCBzZXRQZW5kaW5nUmVzcG9uc2UgPSB1c2VTZXRBdG9tKHBlbmRpbmdSZXNwb25zZUF0b20pO1xuICBjb25zdCBzZXRSZXNwb25zZVN0cmVhbWluZyA9IHVzZVNldEF0b20ocmVzcG9uc2VTdHJlYW1pbmdBdG9tKTtcbiAgY29uc3QgbWVzc2FnZUludGVyY2VwdG9yID0gdXNlTWVzc2FnZUludGVyY2VwdG9yKCk7XG4gIGNvbnN0IHsgdHJhY2tFdmVudCB9ID0gdXNlQW1wbGl0dWRlKCk7XG5cbiAgY29uc3QgZmVhdHVyZUZsYWdTZXJ2aWNlID0gdXNlRmVhdHVyZUZsYWdTZXJ2aWNlKCk7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VBdG9tVmFsdWUoYXBwRGV0YWlsc0F0b20pO1xuXG4gIGNvbnN0IGNyZWF0ZVJlc3BvbnNlUGF5bG9hZCA9IHVzZUNhbGxiYWNrKFxuICAgICh7XG4gICAgICB1c2VyRXZlbnRzLFxuICAgICAgZ2VuZXJhdGlvblBhcmFtcyxcbiAgICB9OiB7XG4gICAgICB1c2VyRXZlbnRzOiBVc2VyRXZlbnRbXTtcbiAgICAgIGdlbmVyYXRpb25QYXJhbXM/OiBHZW5lcmF0aW9uUGFyYW1zO1xuICAgIH0pOiBOZXh0TWVzc2FnZVJlcXVlc3QgPT4ge1xuICAgICAgY29uc3QgZmVhdHVyZUZsYWdzID0gZmVhdHVyZUZsYWdTZXJ2aWNlPy5mZWF0dXJlRmxhZ1NlcnZpY2U/LmdldEZlYXR1cmVGbGFncygpIHx8IHt9O1xuXG4gICAgICBjb25zdCBvdmVycmlkZUNvbmZpZ1ZlcnNpb24gPVxuICAgICAgICBnZXRRdWVyeVBhcmFtKCdzcGlmZnlfY29uZmlnX3ZlcnNpb24nKSB8fFxuICAgICAgICBnZXRRdWVyeVBhcmFtKCdlbnZpdmVfY29uZmlnX3ZlcnNpb24nKSB8fFxuICAgICAgICB1bmRlZmluZWQ7XG4gICAgICBjb25zdCBvdmVycmlkZU1vZGVsRGF0ZXRpbWUgPSBnZXRRdWVyeVBhcmFtKCdvdmVycmlkZV9tb2RlbF9kYXRldGltZScpIHx8IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB1dWlkKCksXG4gICAgICAgIGNvbnRleHQsXG4gICAgICAgIHVzZXJFdmVudHMsXG4gICAgICAgIGZlYXR1cmVGbGFncyxcbiAgICAgICAgZ2VuZXJhdGlvblBhcmFtcyxcbiAgICAgICAgb3ZlcnJpZGVDb25maWdWZXJzaW9uLFxuICAgICAgICBvdmVycmlkZU1vZGVsRGF0ZXRpbWUsXG4gICAgICB9O1xuICAgIH0sXG4gICAgW2NvbnRleHQsIGZlYXR1cmVGbGFnU2VydmljZT8uZmVhdHVyZUZsYWdTZXJ2aWNlXSxcbiAgKTtcblxuICBjb25zdCBnZXRTdHJlYW1pbmdSZXNwb25zZXMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocGF5bG9hZDogTmV4dE1lc3NhZ2VSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgbGV0IHN1Y2Nlc3NmdWxSZXNwb25zZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAgIHNldFBlbmRpbmdSZXNwb25zZSh0cnVlKTtcbiAgICAgIGNvbnN0IHN0cmVhbSA9IENvbW1lcmNlQXBpQ2xpZW50LmdldE5leHRSZXNwb25zZVN0cmVhbWluZyhwYXlsb2FkKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgc2V0UmVxdWVzdEZhaWx1cmUoZmFsc2UpO1xuXG4gICAgICAgIGF3YWl0IHByb2Nlc3NTdHJlYW1pbmdSZXNwb25zZShcbiAgICAgICAgICBzdHJlYW0sXG4gICAgICAgICAgbWVzc2FnZUludGVyY2VwdG9yLFxuICAgICAgICAgIHNldE1lc3NhZ2VzLFxuICAgICAgICAgIHNldFJlc3BvbnNlU3RyZWFtaW5nLFxuICAgICAgICApO1xuICAgICAgICBzdWNjZXNzZnVsUmVzcG9uc2UgPSB0cnVlO1xuXG4gICAgICAgIC8vIFRPRE86IEFkZCBzdXBwb3J0IGZvciB0aGUgQ2hyb21lIEV4dGVuc2lvbiBjb21tdW5pY2F0aW9uXG4gICAgICAgIC8vIGF3YWl0IGxvZ0J1bmRsZUV2ZW50KHtcbiAgICAgICAgLy8gICBsZXZlbDogJ2luZm8nLFxuICAgICAgICAvLyAgIGV2ZW50OiAnTkVYVF9SRVNQT05TRV9TVUNDRVNTJyxcbiAgICAgICAgLy8gICBjb250ZXh0OiB7XG4gICAgICAgIC8vICAgICB0eXBlOiAnbmV4dF9yZXNwb25zZXMnLFxuICAgICAgICAvLyAgICAgZW5kcG9pbnQ6ICcvdjEvbmV4dF9yZXNwb25zZXMnLFxuICAgICAgICAvLyAgICAgc3RhdHVzQ29kZTogMjAwLFxuICAgICAgICAvLyAgICAgcmVzcG9uc2VUaW1lLFxuICAgICAgICAvLyAgIH0sXG4gICAgICAgIC8vIH0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdlcnJvciBnZXR0aW5nIHN0cmVhbWluZyByZXNwb25zZXMnLCBlKTtcbiAgICAgICAgc3VjY2Vzc2Z1bFJlc3BvbnNlID0gZmFsc2U7XG4gICAgICAgIC8vIExvZyBmYWlsZWQgbmV4dF9yZXNwb25zZXMgY2FsbFxuICAgICAgICAvLyBjb25zdCByZXNwb25zZVRpbWUgPSBEYXRlLm5vdygpIC0gc3RhcnRUaW1lO1xuICAgICAgICAvLyBhd2FpdCBsb2dCdW5kbGVFdmVudCh7XG4gICAgICAgIC8vICAgbGV2ZWw6ICdlcnJvcicsXG4gICAgICAgIC8vICAgZXZlbnQ6ICdORVhUX1JFU1BPTlNFX0ZBSUxFRCcsXG4gICAgICAgIC8vICAgbWVzc2FnZTogYEZhaWxlZCB0byBnZXQgc3RyZWFtaW5nIHJlc3BvbnNlOiAke2V9YCxcbiAgICAgICAgLy8gICBjb250ZXh0OiB7XG4gICAgICAgIC8vICAgICB0eXBlOiAnbmV4dF9yZXNwb25zZXMnLFxuICAgICAgICAvLyAgICAgZW5kcG9pbnQ6ICcvdjEvbmV4dF9yZXNwb25zZXMnLFxuICAgICAgICAvLyAgICAgcmVzcG9uc2VUaW1lLFxuICAgICAgICAvLyAgICAgZXJyb3I6IGUgaW5zdGFuY2VvZiBFcnJvciA/IGUubWVzc2FnZSA6IFN0cmluZyhlKSxcbiAgICAgICAgLy8gICB9LFxuICAgICAgICAvLyB9KTtcblxuICAgICAgICBoYW5kbGVTdHJlYW1pbmdFcnJvcihlLCBzZXRSZXF1ZXN0RmFpbHVyZSwgc2V0TWVzc2FnZXMpO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgLy8gTG9nIG5leHRfcmVzcG9uc2VzIGNhbGxcbiAgICAgICAgY29uc3QgcmVzcG9uc2VUaW1lID0gRGF0ZS5ub3coKSAtIHN0YXJ0VGltZTtcbiAgICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRBc3Npc3RhbnRSZXNwb25zZSxcbiAgICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgICByZXNwb25zZVRpbWVNczogcmVzcG9uc2VUaW1lLnRvU3RyaW5nKCksXG4gICAgICAgICAgICBzdWNjZXNzZnVsX3Jlc3BvbnNlOiBzdWNjZXNzZnVsUmVzcG9uc2UsXG4gICAgICAgICAgICAuLi5pbnB1dFByb3BzVG9UcmFja2luZ1Byb3BzKHBheWxvYWQpLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBzZXRQZW5kaW5nUmVzcG9uc2UoZmFsc2UpO1xuICAgICAgICBzZXRSZXNwb25zZVN0cmVhbWluZyhmYWxzZSk7XG4gICAgICAgIC8vIGxvZ1BlcmZNZXRyaWMoUGVyZk1ldHJpY3NFdmVudHMuRmlyc3RSZXNwb25zZUNvbXBsZXRlZCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICAvLyBsb2dQZXJmTWV0cmljLFxuICAgICAgc2V0UmVxdWVzdEZhaWx1cmUsXG4gICAgICBtZXNzYWdlSW50ZXJjZXB0b3IsXG4gICAgICBzZXRNZXNzYWdlcyxcbiAgICAgIHNldFBlbmRpbmdSZXNwb25zZSxcbiAgICBdLFxuICApO1xuXG4gIGNvbnN0IGdldFN1Z2dlc3Rpb25zID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgY29uc3QgbmV3U3VnZ2VzdGlvbnMgPSBhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5nZXROZXh0U3VnZ2VzdGlvbnMocGF5bG9hZCk7XG4gICAgICBzZXRTdWdnZXN0aW9ucyhuZXdTdWdnZXN0aW9ucyk7XG4gICAgfSxcbiAgICBbc2V0U3VnZ2VzdGlvbnNdLFxuICApO1xuXG4gIGNvbnN0IGh5ZHJhdGVNZXNzYWdlcyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IG9yZ0lkLCBjaGF0SWQsIHVzZXJJZCB9ID0gY29udGV4dDtcbiAgICBjb25zdCB7IG1lc3NhZ2VzOiBleGlzdGluZ01lc3NhZ2VzLCB1c2VyRXZlbnRzIH0gPSBhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5nZXRSZXNwb25zZXMoXG4gICAgICBvcmdJZCxcbiAgICAgIGNoYXRJZCxcbiAgICAgIHVzZXJJZCxcbiAgICApO1xuICAgIHNldE1lc3NhZ2VzKFsuLi5leGlzdGluZ01lc3NhZ2VzXSk7XG4gIH0sIFtjb250ZXh0LCBzZXRNZXNzYWdlc10pO1xuXG4gIHJldHVybiB7XG4gICAgY3JlYXRlUmVzcG9uc2VQYXlsb2FkLFxuICAgIGdldFN0cmVhbWluZ1Jlc3BvbnNlcyxcbiAgICBnZXRTdWdnZXN0aW9ucyxcbiAgICBoeWRyYXRlTWVzc2FnZXMsXG4gIH07XG59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
|
|
211
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNBZ2VudFNlcnZpY2UuY2pzIiwibmFtZXMiOlsiVXNlckV2ZW50Q2F0ZWdvcnkiLCJTdGF0dXNDb2RlRXJyb3IiLCJNZXNzYWdlUm9sZSIsIk1lc3NhZ2VUeXBlIiwibGFzdE1lc3NhZ2U6IE1lc3NhZ2UgfCB1bmRlZmluZWQiLCJyZXNwb25zZUFuYWx5dGljczogUmVjb3JkPHN0cmluZywgbnVtYmVyPiIsIm1lc3NhZ2VGcm9tUmVzcG9uc2UiLCJlcnJvcjogdW5rbm93biIsInVzZVNhbGVzQWdlbnRTZXJ2aWNlOiAoKSA9PiBTYWxlc0FnZW50U2VydmljZSIsInJlcXVlc3RGYWlsdXJlQXRvbSIsIm1lc3NhZ2VzQXRvbSIsInN1Z2dlc3Rpb25zQXRvbSIsInBlbmRpbmdSZXNwb25zZUF0b20iLCJyZXNwb25zZVN0cmVhbWluZ0F0b20iLCJhbmFseXRpY3NDb250ZXh0QXRvbSIsInVzZU1lc3NhZ2VJbnRlcmNlcHRvciIsInVzZUFtcGxpdHVkZSIsInVzZUZlYXR1cmVGbGFnU2VydmljZSIsImFwcERldGFpbHNBdG9tIiwic3VjY2Vzc2Z1bFJlc3BvbnNlOiBib29sZWFuIHwgdW5kZWZpbmVkIiwiQ29tbWVyY2VBcGlDbGllbnQiLCJyZXNwb25zZUFuYWx5dGljczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQiLCJTcGlmZnlNZXRyaWNzRXZlbnROYW1lIiwiRW52aXZlTWV0cmljc0V2ZW50TmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9zYWxlc0FnZW50Q29udGV4dC9zYWxlc0FnZW50U2VydmljZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VBdG9tVmFsdWUsIHVzZVNldEF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCBDb21tZXJjZUFwaUNsaWVudCBmcm9tICdzcmMvYXBwbGljYXRpb24vY29tbWVyY2UtYXBpJztcbmltcG9ydCB7IGFwcERldGFpbHNBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2FwcCc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQge1xuICBHZW5lcmF0aW9uUGFyYW1zLFxuICBNZXNzYWdlLFxuICBNZXNzYWdlUm9sZSxcbiAgTWVzc2FnZVR5cGUsXG4gIE5leHRNZXNzYWdlUmVxdWVzdCxcbiAgUmVzcG9uc2UsXG4gIFVzZXJFdmVudCxcbn0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyBtZXNzYWdlRnJvbVJlc3BvbnNlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL3V0aWxzJztcbmltcG9ydCB7XG4gIG1lc3NhZ2VzQXRvbSxcbiAgcGVuZGluZ1Jlc3BvbnNlQXRvbSxcbiAgcmVxdWVzdEZhaWx1cmVBdG9tLFxuICByZXNwb25zZVN0cmVhbWluZ0F0b20sXG4gIHN1Z2dlc3Rpb25zQXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL2NoYXQvY2hhdFN0YXRlJztcbmltcG9ydCB7IHVzZU1lc3NhZ2VJbnRlcmNlcHRvciB9IGZyb20gJ3NyYy9pbnRlcmNlcHRvcnMvdXNlTWVzc2FnZUludGVyY2VwdG9yJztcbmltcG9ydCB7IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUsIHVzZUFtcGxpdHVkZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0JztcbmltcG9ydCB7IHVzZUZlYXR1cmVGbGFnU2VydmljZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9mZWF0dXJlRmxhZ1NlcnZpY2VDb250ZXh0JztcbmltcG9ydCB7IFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IEVudml2ZU1ldHJpY3NFdmVudE5hbWUgfSBmcm9tICdzcmMvc2VydmljZXMvYW1wbGl0dWRlU2VydmljZS9hbXBsaXR1ZGVTZXJ2aWNlJztcbmltcG9ydCB7IGFuYWx5dGljc0NvbnRleHRBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2FwcC92YXJpYW50JztcblxuaW1wb3J0IHsgU3RhdHVzQ29kZUVycm9yIH0gZnJvbSAnLi9zdGF0dXNDb2RlRXJyb3InO1xuXG5pbnRlcmZhY2UgU2FsZXNBZ2VudFNlcnZpY2Uge1xuICBjcmVhdGVSZXNwb25zZVBheWxvYWQ6IChwYXlsb2FkOiB7XG4gICAgdXNlckV2ZW50czogVXNlckV2ZW50W107XG4gICAgZ2VuZXJhdGlvblBhcmFtcz86IEdlbmVyYXRpb25QYXJhbXM7XG4gIH0pID0+IE5leHRNZXNzYWdlUmVxdWVzdDtcbiAgZ2V0U3RyZWFtaW5nUmVzcG9uc2VzOiAocGF5bG9hZDogTmV4dE1lc3NhZ2VSZXF1ZXN0KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBnZXRTdWdnZXN0aW9uczogKHBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgaHlkcmF0ZU1lc3NhZ2VzOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xufVxuXG5jb25zdCBpbnB1dFByb3BzVG9UcmFja2luZ1Byb3BzID0gKFxuICBwYXlsb2FkOiBOZXh0TWVzc2FnZVJlcXVlc3QsXG4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IHVuZGVmaW5lZCA9PiB7XG4gIGNvbnN0IFt1c2VyRXZlbnRdID0gcGF5bG9hZC51c2VyRXZlbnRzIHx8IFtdO1xuICBpZiAodXNlckV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5TdWdnZXN0aW9uQ2xpY2tlZCkge1xuICAgIHJldHVybiB7XG4gICAgICBtZXNzYWdlX2lkOiB1c2VyRXZlbnQuZXZlbnRJZCxcbiAgICAgIHVzZXJfZXZlbnRfdHlwZTogJ3N1Z2dlc3Rpb25fY2xpY2tlZCcsXG4gICAgICB1c2VyX3F1ZXJ5OiB1c2VyRXZlbnQuYXR0cmlidXRlcy5jb250ZW50LFxuICAgIH07XG4gIH1cbiAgaWYgKHVzZXJFdmVudC5jYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuUXVlcnlUeXBlZCkge1xuICAgIHJldHVybiB7XG4gICAgICBtZXNzYWdlX2lkOiB1c2VyRXZlbnQuZXZlbnRJZCxcbiAgICAgIHVzZXJfZXZlbnRfdHlwZTogJ3F1ZXJ5X3R5cGVkJyxcbiAgICAgIHVzZXJfcXVlcnk6IHVzZXJFdmVudC5hdHRyaWJ1dGVzLnF1ZXJ5LFxuICAgIH07XG4gIH1cbiAgcmV0dXJuIHt9O1xufTtcblxuY29uc3QgaW5wdXRQcm9wc1RvRW52aXZlVHJhY2tpbmdQcm9wcyA9IChcbiAgcGF5bG9hZDogTmV4dE1lc3NhZ2VSZXF1ZXN0LFxuKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBbdXNlckV2ZW50XSA9IHBheWxvYWQudXNlckV2ZW50cyB8fCBbXTtcbiAgaWYgKHVzZXJFdmVudC5jYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ3N1Z2dlc3Rpb24nLFxuICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgJ2NoYXQucmVxdWVzdF90ZXh0JzogdXNlckV2ZW50LmF0dHJpYnV0ZXMuY29udGVudCxcbiAgICAgICdjaGF0LnN1Z2dlc3Rpb25faWQnOiB1c2VyRXZlbnQuYXR0cmlidXRlcy5zdWdnZXN0aW9uSWQsXG4gICAgICAnY2hhdC51c2VyX3R5cGVkJzogZmFsc2UsXG4gICAgfTtcbiAgfVxuICBpZiAodXNlckV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdjaGF0LnJlcXVlc3RfdHlwZSc6ICd0ZXh0JyxcbiAgICAgICdjaGF0LnJlcXVlc3RfaWQnOiB1c2VyRXZlbnQuZXZlbnRJZCxcbiAgICAgICdjaGF0LnJlcXVlc3RfdGV4dCc6IHVzZXJFdmVudC5hdHRyaWJ1dGVzLnF1ZXJ5LFxuICAgICAgJ2NoYXQudXNlcl90eXBlZCc6IHVzZXJFdmVudC5hdHRyaWJ1dGVzLnVzZXJUeXBlZCxcbiAgICB9O1xuICB9XG4gIGlmIChcbiAgICB1c2VyRXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LlBhZ2VWaXNpdCB8fFxuICAgIHVzZXJFdmVudC5jYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuUGRwVmlzaXQgfHxcbiAgICB1c2VyRXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LlBscFZpc2l0XG4gICkge1xuICAgIHJldHVybiB7XG4gICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogdXNlckV2ZW50LmV2ZW50SWQsXG4gICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAncGFnZV92aXNpdCcsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7fTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRRdWVyeVBhcmFtID0gKGtleTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gIGNvbnN0IHVybE9iaiA9IG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICByZXR1cm4gdXJsT2JqLnNlYXJjaFBhcmFtcy5nZXQoa2V5KTtcbn07XG5cbmNvbnN0IGdldEVycm9yTWVzc2FnZSA9IChfZXJyb3I6IHVua25vd24pOiBzdHJpbmcgPT4ge1xuICBpZiAoX2Vycm9yIGluc3RhbmNlb2YgU3RhdHVzQ29kZUVycm9yKSB7XG4gICAgaWYgKF9lcnJvci5zdGF0dXNDb2RlID09PSA0MjMpIHtcbiAgICAgIHJldHVybiAnRHVlIHRvIHZpb2xhdGlvbiBvZiB0ZXJtcyBhbmQgc2VydmljZXMsIHRoaXMgc2Vzc2lvbiBoYXMgYmVlbiB0ZXJtaW5hdGVkLic7XG4gICAgfVxuICAgIC8vIEtlZXBpbmcgdGhlIDQyOSBlcnJvciBtZXNzYWdlcyBhcyB0aGUgZ2VuZXJpYyBlcnJvciBtZXNzYWdlIGZvciBub3cuXG4gICAgLy8gaWYgKF9lcnJvci5zdGF0dXNDb2RlID09PSA0MjkpIHtcbiAgICAvLyAgIHJldHVybiBcIkknbSBzb3JyeSEgVGhlIHN5c3RlbSBpcyBidXN5IHJpZ2h0IG5vdy4gUGxlYXNlIHRyeSBhZ2FpbiBpbiBhIGZldyBtaW51dGVzLlwiO1xuICAgIC8vIH1cbiAgfVxuXG4gIHJldHVybiBcIkknbSBzb3JyeSEgSSdtIGhhdmluZyB0cm91YmxlIHJpZ2h0IG5vdy4gUGxlYXNlIHJlZnJlc2ggdGhlIHBhZ2Ugb3IgdHJ5IGFnYWluIGluIGEgbW9tZW50LlwiO1xufTtcblxuY29uc3QgaGFuZGxlU3RyZWFtaW5nRXJyb3IgPSAoXG4gIF9lcnJvcjogdW5rbm93bixcbiAgc2V0UmVxdWVzdEZhaWx1cmU6IChmYWlsZWQ6IGJvb2xlYW4pID0+IHZvaWQsXG4gIHNldE1lc3NhZ2VzOiAodXBkYXRlcjogKHByZXY6IE1lc3NhZ2VbXVtdKSA9PiBNZXNzYWdlW11bXSkgPT4gdm9pZCxcbikgPT4ge1xuICBzZXRSZXF1ZXN0RmFpbHVyZSh0cnVlKTtcblxuICBjb25zdCBlcnJvck1lc3NhZ2UgPSBnZXRFcnJvck1lc3NhZ2UoX2Vycm9yKTtcbiAgc2V0TWVzc2FnZXMocHJldiA9PiBbXG4gICAgLi4ucHJldixcbiAgICBbXG4gICAgICB7XG4gICAgICAgIGlkOiB1dWlkKCksXG4gICAgICAgIHJvbGU6IE1lc3NhZ2VSb2xlLkFzc2lzdGFudCxcbiAgICAgICAgdHlwZTogTWVzc2FnZVR5cGUuVGV4dCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgY29udGVudDogZXJyb3JNZXNzYWdlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG5cbmNvbnN0IHVwZGF0ZU1lc3NhZ2VTdGF0ZSA9IChcbiAgbWVzc2FnZTogTWVzc2FnZSxcbiAgbGFzdE1lc3NhZ2U6IE1lc3NhZ2UsXG4gIHNldE1lc3NhZ2VzOiAodXBkYXRlcjogKHByZXY6IE1lc3NhZ2VbXVtdKSA9PiBNZXNzYWdlW11bXSkgPT4gdm9pZCxcbik6IE1lc3NhZ2UgPT4ge1xuICBpZiAobGFzdE1lc3NhZ2UgPT0gbnVsbCkge1xuICAgIHNldE1lc3NhZ2VzKHByZXYgPT4gWy4uLnByZXYsIFttZXNzYWdlXV0pO1xuICAgIHJldHVybiBtZXNzYWdlO1xuICB9XG4gIGlmIChsYXN0TWVzc2FnZS50eXBlID09PSBNZXNzYWdlVHlwZS5UZXh0ICYmIG1lc3NhZ2UudHlwZSA9PT0gTWVzc2FnZVR5cGUuVGV4dCkge1xuICAgIGNvbnN0IG5ld01lc3NhZ2UgPSB7XG4gICAgICAuLi5sYXN0TWVzc2FnZSxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIC4uLmxhc3RNZXNzYWdlLm1ldGFkYXRhLFxuICAgICAgICBjb250ZW50OiBsYXN0TWVzc2FnZS5tZXRhZGF0YS5jb250ZW50ICsgbWVzc2FnZS5tZXRhZGF0YS5jb250ZW50LFxuICAgICAgfSxcbiAgICB9O1xuICAgIHNldE1lc3NhZ2VzKHByZXYgPT4ge1xuICAgICAgY29uc3QgbGFzdFR1cm4gPSBwcmV2W3ByZXYubGVuZ3RoIC0gMV07XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5wcmV2LnNsaWNlKDAsIHByZXYubGVuZ3RoIC0gMSksXG4gICAgICAgIFsuLi5sYXN0VHVybi5zbGljZSgwLCBsYXN0VHVybi5sZW5ndGggLSAxKSwgbmV3TWVzc2FnZV0sXG4gICAgICBdO1xuICAgIH0pO1xuICAgIHJldHVybiBuZXdNZXNzYWdlO1xuICB9XG4gIHNldE1lc3NhZ2VzKHByZXYgPT4gWy4uLnByZXYuc2xpY2UoMCwgcHJldi5sZW5ndGggLSAxKSwgWy4uLnByZXZbcHJldi5sZW5ndGggLSAxXSwgbWVzc2FnZV1dKTtcbiAgcmV0dXJuIG1lc3NhZ2U7XG59O1xuXG5jb25zdCBwcm9jZXNzU3RyZWFtaW5nUmVzcG9uc2UgPSBhc3luYyAoXG4gIHN0cmVhbTogQXN5bmNJdGVyYWJsZTxSZXNwb25zZT4sXG4gIG1lc3NhZ2VJbnRlcmNlcHRvcjogeyBpbnRlcmNlcHQ6IChyZXNwb25zZT86IFJlc3BvbnNlKSA9PiBib29sZWFuIHwgdW5kZWZpbmVkIH0sXG4gIHNldE1lc3NhZ2VzOiAodXBkYXRlcjogKHByZXY6IE1lc3NhZ2VbXVtdKSA9PiBNZXNzYWdlW11bXSkgPT4gdm9pZCxcbiAgc2V0UmVzcG9uc2VTdHJlYW1pbmc6IChyZXNwb25zZVN0cmVhbWluZzogYm9vbGVhbikgPT4gdm9pZCxcbik6IFByb21pc2U8UmVjb3JkPHN0cmluZywgbnVtYmVyPj4gPT4ge1xuICBsZXQgbGFzdE1lc3NhZ2U6IE1lc3NhZ2UgfCB1bmRlZmluZWQ7XG4gIHNldFJlc3BvbnNlU3RyZWFtaW5nKHRydWUpO1xuICBjb25zdCByZXNwb25zZUFuYWx5dGljczogUmVjb3JkPHN0cmluZywgbnVtYmVyPiA9IHt9O1xuXG4gIGZvciBhd2FpdCAoY29uc3QgcmVzcG9uc2Ugb2Ygc3RyZWFtKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChtZXNzYWdlSW50ZXJjZXB0b3IuaW50ZXJjZXB0KHJlc3BvbnNlKSkge1xuICAgICAgICByZXR1cm4ge307XG4gICAgICB9XG5cbiAgICAgIGlmICghcmVzcG9uc2UpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyByZXNwb25zZSBmcm9tIHN0cmVhbScpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBtZXNzYWdlID0gbWVzc2FnZUZyb21SZXNwb25zZShyZXNwb25zZSk7XG4gICAgICBpZiAoIW1lc3NhZ2UpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gdHJhbnNmb3JtIEFQSSByZXNwb25zZSB0byBjbGllbnQgbWVzc2FnZScpO1xuICAgICAgfVxuICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gTWVzc2FnZVR5cGUuUHJvZHVjdCkge1xuICAgICAgICByZXNwb25zZUFuYWx5dGljc1snY2hhdC5wcm9kdWN0X2NhcmRzX3JldHVybmVkJ10gPVxuICAgICAgICAgIChyZXNwb25zZUFuYWx5dGljc1snY2hhdC5wcm9kdWN0X2NhcmRzX3JldHVybmVkJ10gfHwgMCkgKyAxO1xuICAgICAgfVxuICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gTWVzc2FnZVR5cGUuUmV2aWV3KSB7XG4gICAgICAgIHJlc3BvbnNlQW5hbHl0aWNzWydjaGF0LnJldmlld19jYXJkc19yZXR1cm5lZCddID1cbiAgICAgICAgICAocmVzcG9uc2VBbmFseXRpY3NbJ2NoYXQucmV2aWV3X2NhcmRzX3JldHVybmVkJ10gfHwgMCkgKyAxO1xuICAgICAgfVxuXG4gICAgICAvLyBObyBzdXBwb3J0IGZvciBDaGF0U2VhcmNoIG1lc3NhZ2VzIGF0IHRoZSBjdXJyZW50IHRpbWUuXG4gICAgICAvLyBQZXJoYXBzIHdlIGFkZCBzdXBwb3J0IGJhY2sgaW4gdGhlIGZ1dHVyZVxuICAgICAgLy8gaWYgKG1lc3NhZ2UudHlwZSA9PT0gTWVzc2FnZVR5cGUuUHJvZHVjdFNlYXJjaCkge1xuICAgICAgLy8gICBoYW5kbGVTZWFyY2hSZXN1bHRzKG1lc3NhZ2UpO1xuICAgICAgLy8gICBoYXNTZWFyY2hSZXN1bHRzID0gdHJ1ZTtcbiAgICAgIC8vICAgc2V0U2VhcmNoSXNMb2FkaW5nKGZhbHNlKTsgLy8gVXBkYXRlIHNlYXJjaCBsb2FkaW5nIGltbWVkaWF0ZWx5IHdoZW4gcmVzdWx0cyBhcmUgZGV0ZWN0ZWRcbiAgICAgIC8vIH1cblxuICAgICAgbGFzdE1lc3NhZ2UgPSB1cGRhdGVNZXNzYWdlU3RhdGUobWVzc2FnZSwgbGFzdE1lc3NhZ2UhLCBzZXRNZXNzYWdlcyk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIExvZ2dlci5sb2dXYXJuKGBbc3BpZmZ5LWFpXSBGYWlsZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2VzIGZyb20gc3RyZWFtYCwgZXJyb3IsIHtcbiAgICAgICAgbGFzdFJlc3BvbnNlOiBsYXN0TWVzc2FnZSxcbiAgICAgICAgcmVzcG9uc2UsXG4gICAgICB9KTtcbiAgICB9XG4gICAgc2V0UmVzcG9uc2VTdHJlYW1pbmcoZmFsc2UpO1xuICB9XG4gIHJldHVybiByZXNwb25zZUFuYWx5dGljcztcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VTYWxlc0FnZW50U2VydmljZTogKCkgPT4gU2FsZXNBZ2VudFNlcnZpY2UgPSAoKSA9PiB7XG4gIGNvbnN0IHNldFJlcXVlc3RGYWlsdXJlID0gdXNlU2V0QXRvbShyZXF1ZXN0RmFpbHVyZUF0b20pO1xuICBjb25zdCBzZXRNZXNzYWdlcyA9IHVzZVNldEF0b20obWVzc2FnZXNBdG9tKTtcbiAgY29uc3Qgc2V0U3VnZ2VzdGlvbnMgPSB1c2VTZXRBdG9tKHN1Z2dlc3Rpb25zQXRvbSk7XG4gIGNvbnN0IHNldFBlbmRpbmdSZXNwb25zZSA9IHVzZVNldEF0b20ocGVuZGluZ1Jlc3BvbnNlQXRvbSk7XG4gIGNvbnN0IHNldFJlc3BvbnNlU3RyZWFtaW5nID0gdXNlU2V0QXRvbShyZXNwb25zZVN0cmVhbWluZ0F0b20pO1xuICBjb25zdCBhbmFseXRpY3NDb250ZXh0ID0gdXNlQXRvbVZhbHVlKGFuYWx5dGljc0NvbnRleHRBdG9tKTtcbiAgY29uc3QgbWVzc2FnZUludGVyY2VwdG9yID0gdXNlTWVzc2FnZUludGVyY2VwdG9yKCk7XG4gIGNvbnN0IHsgdHJhY2tFdmVudCB9ID0gdXNlQW1wbGl0dWRlKCk7XG5cbiAgY29uc3QgZmVhdHVyZUZsYWdTZXJ2aWNlID0gdXNlRmVhdHVyZUZsYWdTZXJ2aWNlKCk7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VBdG9tVmFsdWUoYXBwRGV0YWlsc0F0b20pO1xuXG4gIGNvbnN0IGNyZWF0ZVJlc3BvbnNlUGF5bG9hZCA9IHVzZUNhbGxiYWNrKFxuICAgICh7XG4gICAgICB1c2VyRXZlbnRzLFxuICAgICAgZ2VuZXJhdGlvblBhcmFtcyxcbiAgICB9OiB7XG4gICAgICB1c2VyRXZlbnRzOiBVc2VyRXZlbnRbXTtcbiAgICAgIGdlbmVyYXRpb25QYXJhbXM/OiBHZW5lcmF0aW9uUGFyYW1zO1xuICAgIH0pOiBOZXh0TWVzc2FnZVJlcXVlc3QgPT4ge1xuICAgICAgY29uc3QgZmVhdHVyZUZsYWdzID0gZmVhdHVyZUZsYWdTZXJ2aWNlPy5mZWF0dXJlRmxhZ1NlcnZpY2U/LmdldEZlYXR1cmVGbGFncygpIHx8IHt9O1xuXG4gICAgICBjb25zdCBvdmVycmlkZUNvbmZpZ1ZlcnNpb24gPVxuICAgICAgICBnZXRRdWVyeVBhcmFtKCdzcGlmZnlfY29uZmlnX3ZlcnNpb24nKSB8fFxuICAgICAgICBnZXRRdWVyeVBhcmFtKCdlbnZpdmVfY29uZmlnX3ZlcnNpb24nKSB8fFxuICAgICAgICB1bmRlZmluZWQ7XG4gICAgICBjb25zdCBvdmVycmlkZU1vZGVsRGF0ZXRpbWUgPSBnZXRRdWVyeVBhcmFtKCdvdmVycmlkZV9tb2RlbF9kYXRldGltZScpIHx8IHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlkOiB1dWlkKCksXG4gICAgICAgIGNvbnRleHQsXG4gICAgICAgIHVzZXJFdmVudHMsXG4gICAgICAgIGZlYXR1cmVGbGFncyxcbiAgICAgICAgZ2VuZXJhdGlvblBhcmFtcyxcbiAgICAgICAgb3ZlcnJpZGVDb25maWdWZXJzaW9uLFxuICAgICAgICBvdmVycmlkZU1vZGVsRGF0ZXRpbWUsXG4gICAgICB9O1xuICAgIH0sXG4gICAgW2NvbnRleHQsIGZlYXR1cmVGbGFnU2VydmljZT8uZmVhdHVyZUZsYWdTZXJ2aWNlXSxcbiAgKTtcblxuICBjb25zdCBnZXRTdHJlYW1pbmdSZXNwb25zZXMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocGF5bG9hZDogTmV4dE1lc3NhZ2VSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBjb25zdCBzdGFydFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgbGV0IHN1Y2Nlc3NmdWxSZXNwb25zZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAgIHNldFBlbmRpbmdSZXNwb25zZSh0cnVlKTtcbiAgICAgIHNldFN1Z2dlc3Rpb25zKFtdKTtcbiAgICAgIGNvbnN0IHN0cmVhbSA9IENvbW1lcmNlQXBpQ2xpZW50LmdldE5leHRSZXNwb25zZVN0cmVhbWluZyhwYXlsb2FkKTtcbiAgICAgIGxldCByZXNwb25zZUFuYWx5dGljczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gICAgICB0cnkge1xuICAgICAgICBzZXRSZXF1ZXN0RmFpbHVyZShmYWxzZSk7XG5cbiAgICAgICAgcmVzcG9uc2VBbmFseXRpY3MgPSBhd2FpdCBwcm9jZXNzU3RyZWFtaW5nUmVzcG9uc2UoXG4gICAgICAgICAgc3RyZWFtLFxuICAgICAgICAgIG1lc3NhZ2VJbnRlcmNlcHRvcixcbiAgICAgICAgICBzZXRNZXNzYWdlcyxcbiAgICAgICAgICBzZXRSZXNwb25zZVN0cmVhbWluZyxcbiAgICAgICAgKTtcbiAgICAgICAgc3VjY2Vzc2Z1bFJlc3BvbnNlID0gdHJ1ZTtcblxuICAgICAgICAvLyBUT0RPOiBBZGQgc3VwcG9ydCBmb3IgdGhlIENocm9tZSBFeHRlbnNpb24gY29tbXVuaWNhdGlvblxuICAgICAgICAvLyBhd2FpdCBsb2dCdW5kbGVFdmVudCh7XG4gICAgICAgIC8vICAgbGV2ZWw6ICdpbmZvJyxcbiAgICAgICAgLy8gICBldmVudDogJ05FWFRfUkVTUE9OU0VfU1VDQ0VTUycsXG4gICAgICAgIC8vICAgY29udGV4dDoge1xuICAgICAgICAvLyAgICAgdHlwZTogJ25leHRfcmVzcG9uc2VzJyxcbiAgICAgICAgLy8gICAgIGVuZHBvaW50OiAnL3YxL25leHRfcmVzcG9uc2VzJyxcbiAgICAgICAgLy8gICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgICAgLy8gICAgIHJlc3BvbnNlVGltZSxcbiAgICAgICAgLy8gICB9LFxuICAgICAgICAvLyB9KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignZXJyb3IgZ2V0dGluZyBzdHJlYW1pbmcgcmVzcG9uc2VzJywgZSk7XG4gICAgICAgIHN1Y2Nlc3NmdWxSZXNwb25zZSA9IGZhbHNlO1xuICAgICAgICAvLyBMb2cgZmFpbGVkIG5leHRfcmVzcG9uc2VzIGNhbGxcbiAgICAgICAgLy8gY29uc3QgcmVzcG9uc2VUaW1lID0gRGF0ZS5ub3coKSAtIHN0YXJ0VGltZTtcbiAgICAgICAgLy8gYXdhaXQgbG9nQnVuZGxlRXZlbnQoe1xuICAgICAgICAvLyAgIGxldmVsOiAnZXJyb3InLFxuICAgICAgICAvLyAgIGV2ZW50OiAnTkVYVF9SRVNQT05TRV9GQUlMRUQnLFxuICAgICAgICAvLyAgIG1lc3NhZ2U6IGBGYWlsZWQgdG8gZ2V0IHN0cmVhbWluZyByZXNwb25zZTogJHtlfWAsXG4gICAgICAgIC8vICAgY29udGV4dDoge1xuICAgICAgICAvLyAgICAgdHlwZTogJ25leHRfcmVzcG9uc2VzJyxcbiAgICAgICAgLy8gICAgIGVuZHBvaW50OiAnL3YxL25leHRfcmVzcG9uc2VzJyxcbiAgICAgICAgLy8gICAgIHJlc3BvbnNlVGltZSxcbiAgICAgICAgLy8gICAgIGVycm9yOiBlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiBTdHJpbmcoZSksXG4gICAgICAgIC8vICAgfSxcbiAgICAgICAgLy8gfSk7XG5cbiAgICAgICAgaGFuZGxlU3RyZWFtaW5nRXJyb3IoZSwgc2V0UmVxdWVzdEZhaWx1cmUsIHNldE1lc3NhZ2VzKTtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIC8vIExvZyBuZXh0X3Jlc3BvbnNlcyBjYWxsXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlVGltZSA9IERhdGUubm93KCkgLSBzdGFydFRpbWU7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0QXNzaXN0YW50UmVzcG9uc2UsXG4gICAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgICAgcmVzcG9uc2VUaW1lTXM6IHJlc3BvbnNlVGltZS50b1N0cmluZygpLFxuICAgICAgICAgICAgc3VjY2Vzc2Z1bF9yZXNwb25zZTogc3VjY2Vzc2Z1bFJlc3BvbnNlLFxuICAgICAgICAgICAgLi4uaW5wdXRQcm9wc1RvVHJhY2tpbmdQcm9wcyhwYXlsb2FkKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXNwb25zZSxcbiAgICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgICAuLi5hbmFseXRpY3NDb250ZXh0LFxuICAgICAgICAgICAgJ2NoYXQucmVzcG9uc2VfdGltZV9tcyc6IHJlc3BvbnNlVGltZS50b1N0cmluZygpLFxuICAgICAgICAgICAgLi4uaW5wdXRQcm9wc1RvRW52aXZlVHJhY2tpbmdQcm9wcyhwYXlsb2FkKSxcbiAgICAgICAgICAgIC4uLnJlc3BvbnNlQW5hbHl0aWNzLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBzZXRQZW5kaW5nUmVzcG9uc2UoZmFsc2UpO1xuICAgICAgICBzZXRSZXNwb25zZVN0cmVhbWluZyhmYWxzZSk7XG4gICAgICAgIC8vIGxvZ1BlcmZNZXRyaWMoUGVyZk1ldHJpY3NFdmVudHMuRmlyc3RSZXNwb25zZUNvbXBsZXRlZCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbXG4gICAgICBhbmFseXRpY3NDb250ZXh0LFxuICAgICAgdHJhY2tFdmVudCxcbiAgICAgIHNldFJlc3BvbnNlU3RyZWFtaW5nLFxuICAgICAgLy8gbG9nUGVyZk1ldHJpYyxcbiAgICAgIHNldFJlcXVlc3RGYWlsdXJlLFxuICAgICAgc2V0U3VnZ2VzdGlvbnMsXG4gICAgICBtZXNzYWdlSW50ZXJjZXB0b3IsXG4gICAgICBzZXRNZXNzYWdlcyxcbiAgICAgIHNldFBlbmRpbmdSZXNwb25zZSxcbiAgICBdLFxuICApO1xuXG4gIGNvbnN0IGdldFN1Z2dlc3Rpb25zID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgY29uc3QgbmV3U3VnZ2VzdGlvbnMgPSBhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5nZXROZXh0U3VnZ2VzdGlvbnMocGF5bG9hZCk7XG4gICAgICBzZXRTdWdnZXN0aW9ucyhuZXdTdWdnZXN0aW9ucyk7XG4gICAgfSxcbiAgICBbc2V0U3VnZ2VzdGlvbnNdLFxuICApO1xuXG4gIGNvbnN0IGh5ZHJhdGVNZXNzYWdlcyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB7IG9yZ0lkLCBjaGF0SWQsIHVzZXJJZCB9ID0gY29udGV4dDtcbiAgICBjb25zdCB7IG1lc3NhZ2VzOiBleGlzdGluZ01lc3NhZ2VzLCB1c2VyRXZlbnRzIH0gPSBhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5nZXRSZXNwb25zZXMoXG4gICAgICBvcmdJZCxcbiAgICAgIGNoYXRJZCxcbiAgICAgIHVzZXJJZCxcbiAgICApO1xuICAgIHNldE1lc3NhZ2VzKFsuLi5leGlzdGluZ01lc3NhZ2VzXSk7XG4gIH0sIFtjb250ZXh0LCBzZXRNZXNzYWdlc10pO1xuXG4gIHJldHVybiB7XG4gICAgY3JlYXRlUmVzcG9uc2VQYXlsb2FkLFxuICAgIGdldFN0cmVhbWluZ1Jlc3BvbnNlcyxcbiAgICBnZXRTdWdnZXN0aW9ucyxcbiAgICBoeWRyYXRlTWVzc2FnZXMsXG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTBDQSxNQUFNLDZCQUNKLFlBQ3dDO0NBQ3hDLE1BQU0sQ0FBQyxhQUFhLFFBQVEsY0FBYyxFQUFFO0FBQzVDLEtBQUksVUFBVSxhQUFhQSxrREFBa0Isa0JBQzNDLFFBQU87RUFDTCxZQUFZLFVBQVU7RUFDdEIsaUJBQWlCO0VBQ2pCLFlBQVksVUFBVSxXQUFXO0VBQ2xDO0FBRUgs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
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import { useMessageInterceptor } from "../../interceptors/useMessageInterceptor.js";
|
|
2
|
-
import { MessageRole, MessageType } from "../../application/models/message.js";
|
|
3
1
|
import logger_default from "../../application/logging/logger.js";
|
|
2
|
+
import { MessageRole, MessageType } from "../../application/models/message.js";
|
|
4
3
|
import "../../application/models/index.js";
|
|
4
|
+
import { analyticsContextAtom } from "../../atoms/app/variant.js";
|
|
5
5
|
import { appDetailsAtom } from "../../atoms/app/index.js";
|
|
6
6
|
import { useFeatureFlagService } from "../featureFlagServiceContext/featureFlagServiceContext.js";
|
|
7
|
-
import { SpiffyMetricsEventName } from "../../services/amplitudeService/amplitudeService.js";
|
|
7
|
+
import { EnviveMetricsEventName, SpiffyMetricsEventName } from "../../services/amplitudeService/amplitudeService.js";
|
|
8
8
|
import { useAmplitude } from "../amplitudeContext/amplitudeContext.js";
|
|
9
9
|
import { messageFromResponse } from "../../application/utils/messageFromResponse.js";
|
|
10
10
|
import "../../application/utils/index.js";
|
|
11
|
+
import commerce_api_default from "../../application/commerce-api.js";
|
|
12
|
+
import { useMessageInterceptor } from "../../interceptors/useMessageInterceptor.js";
|
|
11
13
|
import { messagesAtom, pendingResponseAtom, requestFailureAtom, responseStreamingAtom, suggestionsAtom } from "../../atoms/chat/chatState.js";
|
|
12
14
|
import "../amplitudeContext/index.js";
|
|
13
15
|
import "../featureFlagServiceContext/index.js";
|
|
14
|
-
import commerce_api_default from "../../application/commerce-api.js";
|
|
15
16
|
import { StatusCodeError } from "./statusCodeError.js";
|
|
16
17
|
import { UserEventCategory } from "@spiffy-ai/commerce-api-client";
|
|
17
|
-
import { v4 } from "uuid";
|
|
18
18
|
import { useCallback } from "react";
|
|
19
19
|
import { useAtomValue, useSetAtom } from "jotai";
|
|
20
|
+
import { v4 } from "uuid";
|
|
20
21
|
|
|
21
22
|
//#region src/contexts/salesAgentContext/salesAgentService.ts
|
|
22
23
|
const inputPropsToTrackingProps = (payload) => {
|
|
@@ -33,6 +34,27 @@ const inputPropsToTrackingProps = (payload) => {
|
|
|
33
34
|
};
|
|
34
35
|
return {};
|
|
35
36
|
};
|
|
37
|
+
const inputPropsToEnviveTrackingProps = (payload) => {
|
|
38
|
+
const [userEvent] = payload.userEvents || [];
|
|
39
|
+
if (userEvent.category === UserEventCategory.SuggestionClicked) return {
|
|
40
|
+
"chat.request_type": "suggestion",
|
|
41
|
+
"chat.request_id": userEvent.eventId,
|
|
42
|
+
"chat.request_text": userEvent.attributes.content,
|
|
43
|
+
"chat.suggestion_id": userEvent.attributes.suggestionId,
|
|
44
|
+
"chat.user_typed": false
|
|
45
|
+
};
|
|
46
|
+
if (userEvent.category === UserEventCategory.QueryTyped) return {
|
|
47
|
+
"chat.request_type": "text",
|
|
48
|
+
"chat.request_id": userEvent.eventId,
|
|
49
|
+
"chat.request_text": userEvent.attributes.query,
|
|
50
|
+
"chat.user_typed": userEvent.attributes.userTyped
|
|
51
|
+
};
|
|
52
|
+
if (userEvent.category === UserEventCategory.PageVisit || userEvent.category === UserEventCategory.PdpVisit || userEvent.category === UserEventCategory.PlpVisit) return {
|
|
53
|
+
"chat.request_id": userEvent.eventId,
|
|
54
|
+
"chat.request_type": "page_visit"
|
|
55
|
+
};
|
|
56
|
+
return {};
|
|
57
|
+
};
|
|
36
58
|
const getQueryParam = (key) => {
|
|
37
59
|
return new URL(window.location.href).searchParams.get(key);
|
|
38
60
|
};
|
|
@@ -78,12 +100,15 @@ const updateMessageState = (message, lastMessage, setMessages) => {
|
|
|
78
100
|
const processStreamingResponse = async (stream, messageInterceptor, setMessages, setResponseStreaming) => {
|
|
79
101
|
let lastMessage;
|
|
80
102
|
setResponseStreaming(true);
|
|
103
|
+
const responseAnalytics = {};
|
|
81
104
|
for await (const response of stream) {
|
|
82
105
|
try {
|
|
83
|
-
if (messageInterceptor.intercept(response)) return;
|
|
106
|
+
if (messageInterceptor.intercept(response)) return {};
|
|
84
107
|
if (!response) throw new Error("No response from stream");
|
|
85
108
|
const message = messageFromResponse(response);
|
|
86
109
|
if (!message) throw new Error("Failed to transform API response to client message");
|
|
110
|
+
if (message.type === MessageType.Product) responseAnalytics["chat.product_cards_returned"] = (responseAnalytics["chat.product_cards_returned"] || 0) + 1;
|
|
111
|
+
if (message.type === MessageType.Review) responseAnalytics["chat.review_cards_returned"] = (responseAnalytics["chat.review_cards_returned"] || 0) + 1;
|
|
87
112
|
lastMessage = updateMessageState(message, lastMessage, setMessages);
|
|
88
113
|
} catch (error) {
|
|
89
114
|
logger_default.logWarn(`[spiffy-ai] Failed to generate responses from stream`, error, {
|
|
@@ -93,6 +118,7 @@ const processStreamingResponse = async (stream, messageInterceptor, setMessages,
|
|
|
93
118
|
}
|
|
94
119
|
setResponseStreaming(false);
|
|
95
120
|
}
|
|
121
|
+
return responseAnalytics;
|
|
96
122
|
};
|
|
97
123
|
const useSalesAgentService = () => {
|
|
98
124
|
const setRequestFailure = useSetAtom(requestFailureAtom);
|
|
@@ -100,6 +126,7 @@ const useSalesAgentService = () => {
|
|
|
100
126
|
const setSuggestions = useSetAtom(suggestionsAtom);
|
|
101
127
|
const setPendingResponse = useSetAtom(pendingResponseAtom);
|
|
102
128
|
const setResponseStreaming = useSetAtom(responseStreamingAtom);
|
|
129
|
+
const analyticsContext = useAtomValue(analyticsContextAtom);
|
|
103
130
|
const messageInterceptor = useMessageInterceptor();
|
|
104
131
|
const { trackEvent } = useAmplitude();
|
|
105
132
|
const featureFlagService = useFeatureFlagService();
|
|
@@ -123,10 +150,12 @@ const useSalesAgentService = () => {
|
|
|
123
150
|
const startTime = Date.now();
|
|
124
151
|
let successfulResponse;
|
|
125
152
|
setPendingResponse(true);
|
|
153
|
+
setSuggestions([]);
|
|
126
154
|
const stream = commerce_api_default.getNextResponseStreaming(payload);
|
|
155
|
+
let responseAnalytics;
|
|
127
156
|
try {
|
|
128
157
|
setRequestFailure(false);
|
|
129
|
-
await processStreamingResponse(stream, messageInterceptor, setMessages, setResponseStreaming);
|
|
158
|
+
responseAnalytics = await processStreamingResponse(stream, messageInterceptor, setMessages, setResponseStreaming);
|
|
130
159
|
successfulResponse = true;
|
|
131
160
|
} catch (e) {
|
|
132
161
|
console.error("error getting streaming responses", e);
|
|
@@ -143,11 +172,24 @@ const useSalesAgentService = () => {
|
|
|
143
172
|
...inputPropsToTrackingProps(payload)
|
|
144
173
|
}
|
|
145
174
|
});
|
|
175
|
+
trackEvent({
|
|
176
|
+
eventName: EnviveMetricsEventName.ChatResponse,
|
|
177
|
+
eventProps: {
|
|
178
|
+
...analyticsContext,
|
|
179
|
+
"chat.response_time_ms": responseTime.toString(),
|
|
180
|
+
...inputPropsToEnviveTrackingProps(payload),
|
|
181
|
+
...responseAnalytics
|
|
182
|
+
}
|
|
183
|
+
});
|
|
146
184
|
setPendingResponse(false);
|
|
147
185
|
setResponseStreaming(false);
|
|
148
186
|
}
|
|
149
187
|
}, [
|
|
188
|
+
analyticsContext,
|
|
189
|
+
trackEvent,
|
|
190
|
+
setResponseStreaming,
|
|
150
191
|
setRequestFailure,
|
|
192
|
+
setSuggestions,
|
|
151
193
|
messageInterceptor,
|
|
152
194
|
setMessages,
|
|
153
195
|
setPendingResponse
|
|
@@ -165,4 +207,4 @@ const useSalesAgentService = () => {
|
|
|
165
207
|
|
|
166
208
|
//#endregion
|
|
167
209
|
export { useSalesAgentService };
|
|
168
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNBZ2VudFNlcnZpY2UuanMiLCJuYW1lcyI6WyJ1dWlkIiwibGFzdE1lc3NhZ2U6IE1lc3NhZ2UgfCB1bmRlZmluZWQiLCJlcnJvcjogdW5rbm93biIsInVzZVNhbGVzQWdlbnRTZXJ2aWNlOiAoKSA9PiBTYWxlc0FnZW50U2VydmljZSIsInN1Y2Nlc3NmdWxSZXNwb25zZTogYm9vbGVhbiB8IHVuZGVmaW5lZCIsIkNvbW1lcmNlQXBpQ2xpZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3NhbGVzQWdlbnRDb250ZXh0L3NhbGVzQWdlbnRTZXJ2aWNlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUF0b21WYWx1ZSwgdXNlU2V0QXRvbSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IENvbW1lcmNlQXBpQ2xpZW50IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9jb21tZXJjZS1hcGknO1xuaW1wb3J0IHsgYXBwRGV0YWlsc0F0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7XG4gIEdlbmVyYXRpb25QYXJhbXMsXG4gIE1lc3NhZ2UsXG4gIE1lc3NhZ2VSb2xlLFxuICBNZXNzYWdlVHlwZSxcbiAgTmV4dE1lc3NhZ2VSZXF1ZXN0LFxuICBSZXNwb25zZSxcbiAgVXNlckV2ZW50LFxufSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IG1lc3NhZ2VGcm9tUmVzcG9uc2UgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vdXRpbHMnO1xuaW1wb3J0IHtcbiAgbWVzc2FnZXNBdG9tLFxuICBwZW5kaW5nUmVzcG9uc2VBdG9tLFxuICByZXF1ZXN0RmFpbHVyZUF0b20sXG4gIHJlc3BvbnNlU3RyZWFtaW5nQXRvbSxcbiAgc3VnZ2VzdGlvbnNBdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvY2hhdC9jaGF0U3RhdGUnO1xuaW1wb3J0IHsgdXNlTWVzc2FnZUludGVyY2VwdG9yIH0gZnJvbSAnc3JjL2ludGVyY2VwdG9ycy91c2VNZXNzYWdlSW50ZXJjZXB0b3InO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSwgdXNlQW1wbGl0dWRlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgdXNlRmVhdHVyZUZsYWdTZXJ2aWNlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2ZlYXR1cmVGbGFnU2VydmljZUNvbnRleHQnO1xuaW1wb3J0IHsgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuXG5pbXBvcnQgeyBTdGF0dXNDb2RlRXJyb3IgfSBmcm9tICcuL3N0YXR1c0NvZGVFcnJvcic7XG5cbmludGVyZmFjZSBTYWxlc0FnZW50U2VydmljZSB7XG4gIGNyZWF0ZVJlc3BvbnNlUGF5bG9hZDogKHBheWxvYWQ6IHtcbiAgICB1c2VyRXZlbnRzOiBVc2VyRXZlbnRbXTtcbiAgICBnZW5lcmF0aW9uUGFyYW1zPzogR2VuZXJhdGlvblBhcmFtcztcbiAgfSkgPT4gTmV4dE1lc3NhZ2VSZXF1ZXN0O1xuICBnZXRTdHJlYW1pbmdSZXNwb25zZXM6IChwYXlsb2FkOiBOZXh0TWVzc2FnZVJlcXVlc3QpID0+IFByb21pc2U8dm9pZD47XG4gIGdldFN1Z2dlc3Rpb25zOiAocGF5bG9hZDogTmV4dE1lc3NhZ2VSZXF1ZXN0KSA9PiBQcm9taXNlPHZvaWQ+O1xuICBoeWRyYXRlTWVzc2FnZXM6ICgpID0+IFByb21pc2U8dm9pZD47XG59XG5cbmNvbnN0IGlucHV0UHJvcHNUb1RyYWNraW5nUHJvcHMgPSAoXG4gIHBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCxcbik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgW3VzZXJFdmVudF0gPSBwYXlsb2FkLnVzZXJFdmVudHMgfHwgW107XG4gIGlmICh1c2VyRXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LlN1Z2dlc3Rpb25DbGlja2VkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1lc3NhZ2VfaWQ6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgdXNlcl9ldmVudF90eXBlOiAnc3VnZ2VzdGlvbl9jbGlja2VkJyxcbiAgICAgIHVzZXJfcXVlcnk6IHVzZXJFdmVudC5hdHRyaWJ1dGVzLmNvbnRlbnQsXG4gICAgfTtcbiAgfVxuICBpZiAodXNlckV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1lc3NhZ2VfaWQ6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgdXNlcl9ldmVudF90eXBlOiAncXVlcnlfdHlwZWQnLFxuICAgICAgdXNlcl9xdWVyeTogdXNlckV2ZW50LmF0dHJpYnV0ZXMucXVlcnksXG4gICAgfTtcbiAgfVxuICByZXR1cm4ge307XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UXVlcnlQYXJhbSA9IChrZXk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwgPT4ge1xuICBjb25zdCB1cmxPYmogPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgcmV0dXJuIHVybE9iai5zZWFyY2hQYXJhbXMuZ2V0KGtleSk7XG59O1xuXG5jb25zdCBnZXRFcnJvck1lc3NhZ2UgPSAoX2Vycm9yOiB1bmtub3duKTogc3RyaW5nID0+IHtcbiAgaWYgKF9lcnJvciBpbnN0YW5jZW9mIFN0YXR1c0NvZGVFcnJvcikge1xuICAgIGlmIChfZXJyb3Iuc3RhdHVzQ29kZSA9PT0gNDIzKSB7XG4gICAgICByZXR1cm4gJ0R1ZSB0byB2aW9sYXRpb24gb2YgdGVybXMgYW5kIHNlcnZpY2VzLCB0aGlzIHNlc3Npb24gaGFzIGJlZW4gdGVybWluYXRlZC4nO1xuICAgIH1cbiAgICAvLyBLZWVwaW5nIHRoZSA0MjkgZXJyb3IgbWVzc2FnZXMgYXMgdGhlIGdlbmVyaWMgZXJyb3IgbWVzc2FnZSBmb3Igbm93LlxuICAgIC8vIGlmIChfZXJyb3Iuc3RhdHVzQ29kZSA9PT0gNDI5KSB7XG4gICAgLy8gICByZXR1cm4gXCJJJ20gc29ycnkhIFRoZSBzeXN0ZW0gaXMgYnVzeSByaWdodCBub3cuIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy5cIjtcbiAgICAvLyB9XG4gIH1cblxuICByZXR1cm4gXCJJJ20gc29ycnkhIEknbSBoYXZpbmcgdHJvdWJsZSByaWdodCBub3cuIFBsZWFzZSByZWZyZXNoIHRoZSBwYWdlIG9yIHRyeSBhZ2FpbiBpbiBhIG1vbWVudC5cIjtcbn07XG5cbmNvbnN0IGhhbmRsZVN0cmVhbWluZ0Vycm9yID0gKFxuICBfZXJyb3I6IHVua25vd24sXG4gIHNldFJlcXVlc3RGYWlsdXJlOiAoZmFpbGVkOiBib29sZWFuKSA9PiB2b2lkLFxuICBzZXRNZXNzYWdlczogKHVwZGF0ZXI6IChwcmV2OiBNZXNzYWdlW11bXSkgPT4gTWVzc2FnZVtdW10pID0+IHZvaWQsXG4pID0+IHtcbiAgc2V0UmVxdWVzdEZhaWx1cmUodHJ1ZSk7XG5cbiAgY29uc3QgZXJyb3JNZXNzYWdlID0gZ2V0RXJyb3JNZXNzYWdlKF9lcnJvcik7XG4gIHNldE1lc3NhZ2VzKHByZXYgPT4gW1xuICAgIC4uLnByZXYsXG4gICAgW1xuICAgICAge1xuICAgICAgICBpZDogdXVpZCgpLFxuICAgICAgICByb2xlOiBNZXNzYWdlUm9sZS5Bc3Npc3RhbnQsXG4gICAgICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlRleHQsXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgIGNvbnRlbnQ6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuXG5jb25zdCB1cGRhdGVNZXNzYWdlU3RhdGUgPSAoXG4gIG1lc3NhZ2U6IE1lc3NhZ2UsXG4gIGxhc3RNZXNzYWdlOiBNZXNzYWdlLFxuICBzZXRNZXNzYWdlczogKHVwZGF0ZXI6IChwcmV2OiBNZXNzYWdlW11bXSkgPT4gTWVzc2FnZVtdW10pID0+IHZvaWQsXG4pOiBNZXNzYWdlID0+IHtcbiAgaWYgKGxhc3RNZXNzYWdlID09IG51bGwpIHtcbiAgICBzZXRNZXNzYWdlcyhwcmV2ID0+IFsuLi5wcmV2LCBbbWVzc2FnZV1dKTtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfVxuICBpZiAobGFzdE1lc3NhZ2UudHlwZSA9PT0gTWVzc2FnZVR5cGUuVGV4dCAmJiBtZXNzYWdlLnR5cGUgPT09IE1lc3NhZ2VUeXBlLlRleHQpIHtcbiAgICBjb25zdCBuZXdNZXNzYWdlID0ge1xuICAgICAgLi4ubGFzdE1lc3NhZ2UsXG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICAuLi5sYXN0TWVzc2FnZS5tZXRhZGF0YSxcbiAgICAgICAgY29udGVudDogbGFzdE1lc3NhZ2UubWV0YWRhdGEuY29udGVudCArIG1lc3NhZ2UubWV0YWRhdGEuY29udGVudCxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBzZXRNZXNzYWdlcyhwcmV2ID0+IHtcbiAgICAgIGNvbnN0IGxhc3RUdXJuID0gcHJldltwcmV2Lmxlbmd0aCAtIDFdO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4ucHJldi5zbGljZSgwLCBwcmV2Lmxlbmd0aCAtIDEpLFxuICAgICAgICBbLi4ubGFzdFR1cm4uc2xpY2UoMCwgbGFzdFR1cm4ubGVuZ3RoIC0gMSksIG5ld01lc3NhZ2VdLFxuICAgICAgXTtcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3TWVzc2FnZTtcbiAgfVxuICBzZXRNZXNzYWdlcyhwcmV2ID0+IFsuLi5wcmV2LnNsaWNlKDAsIHByZXYubGVuZ3RoIC0gMSksIFsuLi5wcmV2W3ByZXYubGVuZ3RoIC0gMV0sIG1lc3NhZ2VdXSk7XG4gIHJldHVybiBtZXNzYWdlO1xufTtcblxuY29uc3QgcHJvY2Vzc1N0cmVhbWluZ1Jlc3BvbnNlID0gYXN5bmMgKFxuICBzdHJlYW06IEFzeW5jSXRlcmFibGU8UmVzcG9uc2U+LFxuICBtZXNzYWdlSW50ZXJjZXB0b3I6IHsgaW50ZXJjZXB0OiAocmVzcG9uc2U/OiBSZXNwb25zZSkgPT4gYm9vbGVhbiB8IHVuZGVmaW5lZCB9LFxuICBzZXRNZXNzYWdlczogKHVwZGF0ZXI6IChwcmV2OiBNZXNzYWdlW11bXSkgPT4gTWVzc2FnZVtdW10pID0+IHZvaWQsXG4gIHNldFJlc3BvbnNlU3RyZWFtaW5nOiAocmVzcG9uc2VTdHJlYW1pbmc6IGJvb2xlYW4pID0+IHZvaWQsXG4pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgbGV0IGxhc3RNZXNzYWdlOiBNZXNzYWdlIHwgdW5kZWZpbmVkO1xuICBzZXRSZXNwb25zZVN0cmVhbWluZyh0cnVlKTtcblxuICBmb3IgYXdhaXQgKGNvbnN0IHJlc3BvbnNlIG9mIHN0cmVhbSkge1xuICAgIHRyeSB7XG4gICAgICBpZiAobWVzc2FnZUludGVyY2VwdG9yLmludGVyY2VwdChyZXNwb25zZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJlc3BvbnNlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcmVzcG9uc2UgZnJvbSBzdHJlYW0nKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbWVzc2FnZSA9IG1lc3NhZ2VGcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgaWYgKCFtZXNzYWdlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIHRyYW5zZm9ybSBBUEkgcmVzcG9uc2UgdG8gY2xpZW50IG1lc3NhZ2UnKTtcbiAgICAgIH1cblxuICAgICAgLy8gTm8gc3VwcG9ydCBmb3IgQ2hhdFNlYXJjaCBtZXNzYWdlcyBhdCB0aGUgY3VycmVudCB0aW1lLlxuICAgICAgLy8gUGVyaGFwcyB3ZSBhZGQgc3VwcG9ydCBiYWNrIGluIHRoZSBmdXR1cmVcbiAgICAgIC8vIGlmIChtZXNzYWdlLnR5cGUgPT09IE1lc3NhZ2VUeXBlLlByb2R1Y3RTZWFyY2gpIHtcbiAgICAgIC8vICAgaGFuZGxlU2VhcmNoUmVzdWx0cyhtZXNzYWdlKTtcbiAgICAgIC8vICAgaGFzU2VhcmNoUmVzdWx0cyA9IHRydWU7XG4gICAgICAvLyAgIHNldFNlYXJjaElzTG9hZGluZyhmYWxzZSk7IC8vIFVwZGF0ZSBzZWFyY2ggbG9hZGluZyBpbW1lZGlhdGVseSB3aGVuIHJlc3VsdHMgYXJlIGRldGVjdGVkXG4gICAgICAvLyB9XG5cbiAgICAgIGxhc3RNZXNzYWdlID0gdXBkYXRlTWVzc2FnZVN0YXRlKG1lc3NhZ2UsIGxhc3RNZXNzYWdlISwgc2V0TWVzc2FnZXMpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBMb2dnZXIubG9nV2FybihgW3NwaWZmeS1haV0gRmFpbGVkIHRvIGdlbmVyYXRlIHJlc3BvbnNlcyBmcm9tIHN0cmVhbWAsIGVycm9yLCB7XG4gICAgICAgIGxhc3RSZXNwb25zZTogbGFzdE1lc3NhZ2UsXG4gICAgICAgIHJlc3BvbnNlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHNldFJlc3BvbnNlU3RyZWFtaW5nKGZhbHNlKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHVzZVNhbGVzQWdlbnRTZXJ2aWNlOiAoKSA9PiBTYWxlc0FnZW50U2VydmljZSA9ICgpID0+IHtcbiAgY29uc3Qgc2V0UmVxdWVzdEZhaWx1cmUgPSB1c2VTZXRBdG9tKHJlcXVlc3RGYWlsdXJlQXRvbSk7XG4gIGNvbnN0IHNldE1lc3NhZ2VzID0gdXNlU2V0QXRvbShtZXNzYWdlc0F0b20pO1xuICBjb25zdCBzZXRTdWdnZXN0aW9ucyA9IHVzZVNldEF0b20oc3VnZ2VzdGlvbnNBdG9tKTtcbiAgY29uc3Qgc2V0UGVuZGluZ1Jlc3BvbnNlID0gdXNlU2V0QXRvbShwZW5kaW5nUmVzcG9uc2VBdG9tKTtcbiAgY29uc3Qgc2V0UmVzcG9uc2VTdHJlYW1pbmcgPSB1c2VTZXRBdG9tKHJlc3BvbnNlU3RyZWFtaW5nQXRvbSk7XG4gIGNvbnN0IG1lc3NhZ2VJbnRlcmNlcHRvciA9IHVzZU1lc3NhZ2VJbnRlcmNlcHRvcigpO1xuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuXG4gIGNvbnN0IGZlYXR1cmVGbGFnU2VydmljZSA9IHVzZUZlYXR1cmVGbGFnU2VydmljZSgpO1xuICBjb25zdCBjb250ZXh0ID0gdXNlQXRvbVZhbHVlKGFwcERldGFpbHNBdG9tKTtcblxuICBjb25zdCBjcmVhdGVSZXNwb25zZVBheWxvYWQgPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgdXNlckV2ZW50cyxcbiAgICAgIGdlbmVyYXRpb25QYXJhbXMsXG4gICAgfToge1xuICAgICAgdXNlckV2ZW50czogVXNlckV2ZW50W107XG4gICAgICBnZW5lcmF0aW9uUGFyYW1zPzogR2VuZXJhdGlvblBhcmFtcztcbiAgICB9KTogTmV4dE1lc3NhZ2VSZXF1ZXN0ID0+IHtcbiAgICAgIGNvbnN0IGZlYXR1cmVGbGFncyA9IGZlYXR1cmVGbGFnU2VydmljZT8uZmVhdHVyZUZsYWdTZXJ2aWNlPy5nZXRGZWF0dXJlRmxhZ3MoKSB8fCB7fTtcblxuICAgICAgY29uc3Qgb3ZlcnJpZGVDb25maWdWZXJzaW9uID1cbiAgICAgICAgZ2V0UXVlcnlQYXJhbSgnc3BpZmZ5X2NvbmZpZ192ZXJzaW9uJykgfHxcbiAgICAgICAgZ2V0UXVlcnlQYXJhbSgnZW52aXZlX2NvbmZpZ192ZXJzaW9uJykgfHxcbiAgICAgICAgdW5kZWZpbmVkO1xuICAgICAgY29uc3Qgb3ZlcnJpZGVNb2RlbERhdGV0aW1lID0gZ2V0UXVlcnlQYXJhbSgnb3ZlcnJpZGVfbW9kZWxfZGF0ZXRpbWUnKSB8fCB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogdXVpZCgpLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICB1c2VyRXZlbnRzLFxuICAgICAgICBmZWF0dXJlRmxhZ3MsXG4gICAgICAgIGdlbmVyYXRpb25QYXJhbXMsXG4gICAgICAgIG92ZXJyaWRlQ29uZmlnVmVyc2lvbixcbiAgICAgICAgb3ZlcnJpZGVNb2RlbERhdGV0aW1lLFxuICAgICAgfTtcbiAgICB9LFxuICAgIFtjb250ZXh0LCBmZWF0dXJlRmxhZ1NlcnZpY2U/LmZlYXR1cmVGbGFnU2VydmljZV0sXG4gICk7XG5cbiAgY29uc3QgZ2V0U3RyZWFtaW5nUmVzcG9uc2VzID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgIGxldCBzdWNjZXNzZnVsUmVzcG9uc2U6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgICBzZXRQZW5kaW5nUmVzcG9uc2UodHJ1ZSk7XG4gICAgICBjb25zdCBzdHJlYW0gPSBDb21tZXJjZUFwaUNsaWVudC5nZXROZXh0UmVzcG9uc2VTdHJlYW1pbmcocGF5bG9hZCk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHNldFJlcXVlc3RGYWlsdXJlKGZhbHNlKTtcblxuICAgICAgICBhd2FpdCBwcm9jZXNzU3RyZWFtaW5nUmVzcG9uc2UoXG4gICAgICAgICAgc3RyZWFtLFxuICAgICAgICAgIG1lc3NhZ2VJbnRlcmNlcHRvcixcbiAgICAgICAgICBzZXRNZXNzYWdlcyxcbiAgICAgICAgICBzZXRSZXNwb25zZVN0cmVhbWluZyxcbiAgICAgICAgKTtcbiAgICAgICAgc3VjY2Vzc2Z1bFJlc3BvbnNlID0gdHJ1ZTtcblxuICAgICAgICAvLyBUT0RPOiBBZGQgc3VwcG9ydCBmb3IgdGhlIENocm9tZSBFeHRlbnNpb24gY29tbXVuaWNhdGlvblxuICAgICAgICAvLyBhd2FpdCBsb2dCdW5kbGVFdmVudCh7XG4gICAgICAgIC8vICAgbGV2ZWw6ICdpbmZvJyxcbiAgICAgICAgLy8gICBldmVudDogJ05FWFRfUkVTUE9OU0VfU1VDQ0VTUycsXG4gICAgICAgIC8vICAgY29udGV4dDoge1xuICAgICAgICAvLyAgICAgdHlwZTogJ25leHRfcmVzcG9uc2VzJyxcbiAgICAgICAgLy8gICAgIGVuZHBvaW50OiAnL3YxL25leHRfcmVzcG9uc2VzJyxcbiAgICAgICAgLy8gICAgIHN0YXR1c0NvZGU6IDIwMCxcbiAgICAgICAgLy8gICAgIHJlc3BvbnNlVGltZSxcbiAgICAgICAgLy8gICB9LFxuICAgICAgICAvLyB9KTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignZXJyb3IgZ2V0dGluZyBzdHJlYW1pbmcgcmVzcG9uc2VzJywgZSk7XG4gICAgICAgIHN1Y2Nlc3NmdWxSZXNwb25zZSA9IGZhbHNlO1xuICAgICAgICAvLyBMb2cgZmFpbGVkIG5leHRfcmVzcG9uc2VzIGNhbGxcbiAgICAgICAgLy8gY29uc3QgcmVzcG9uc2VUaW1lID0gRGF0ZS5ub3coKSAtIHN0YXJ0VGltZTtcbiAgICAgICAgLy8gYXdhaXQgbG9nQnVuZGxlRXZlbnQoe1xuICAgICAgICAvLyAgIGxldmVsOiAnZXJyb3InLFxuICAgICAgICAvLyAgIGV2ZW50OiAnTkVYVF9SRVNQT05TRV9GQUlMRUQnLFxuICAgICAgICAvLyAgIG1lc3NhZ2U6IGBGYWlsZWQgdG8gZ2V0IHN0cmVhbWluZyByZXNwb25zZTogJHtlfWAsXG4gICAgICAgIC8vICAgY29udGV4dDoge1xuICAgICAgICAvLyAgICAgdHlwZTogJ25leHRfcmVzcG9uc2VzJyxcbiAgICAgICAgLy8gICAgIGVuZHBvaW50OiAnL3YxL25leHRfcmVzcG9uc2VzJyxcbiAgICAgICAgLy8gICAgIHJlc3BvbnNlVGltZSxcbiAgICAgICAgLy8gICAgIGVycm9yOiBlIGluc3RhbmNlb2YgRXJyb3IgPyBlLm1lc3NhZ2UgOiBTdHJpbmcoZSksXG4gICAgICAgIC8vICAgfSxcbiAgICAgICAgLy8gfSk7XG5cbiAgICAgICAgaGFuZGxlU3RyZWFtaW5nRXJyb3IoZSwgc2V0UmVxdWVzdEZhaWx1cmUsIHNldE1lc3NhZ2VzKTtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIC8vIExvZyBuZXh0X3Jlc3BvbnNlcyBjYWxsXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlVGltZSA9IERhdGUubm93KCkgLSBzdGFydFRpbWU7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0QXNzaXN0YW50UmVzcG9uc2UsXG4gICAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgICAgcmVzcG9uc2VUaW1lTXM6IHJlc3BvbnNlVGltZS50b1N0cmluZygpLFxuICAgICAgICAgICAgc3VjY2Vzc2Z1bF9yZXNwb25zZTogc3VjY2Vzc2Z1bFJlc3BvbnNlLFxuICAgICAgICAgICAgLi4uaW5wdXRQcm9wc1RvVHJhY2tpbmdQcm9wcyhwYXlsb2FkKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0UGVuZGluZ1Jlc3BvbnNlKGZhbHNlKTtcbiAgICAgICAgc2V0UmVzcG9uc2VTdHJlYW1pbmcoZmFsc2UpO1xuICAgICAgICAvLyBsb2dQZXJmTWV0cmljKFBlcmZNZXRyaWNzRXZlbnRzLkZpcnN0UmVzcG9uc2VDb21wbGV0ZWQpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW1xuICAgICAgLy8gbG9nUGVyZk1ldHJpYyxcbiAgICAgIHNldFJlcXVlc3RGYWlsdXJlLFxuICAgICAgbWVzc2FnZUludGVyY2VwdG9yLFxuICAgICAgc2V0TWVzc2FnZXMsXG4gICAgICBzZXRQZW5kaW5nUmVzcG9uc2UsXG4gICAgXSxcbiAgKTtcblxuICBjb25zdCBnZXRTdWdnZXN0aW9ucyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwYXlsb2FkOiBOZXh0TWVzc2FnZVJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IG5ld1N1Z2dlc3Rpb25zID0gYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuZ2V0TmV4dFN1Z2dlc3Rpb25zKHBheWxvYWQpO1xuICAgICAgc2V0U3VnZ2VzdGlvbnMobmV3U3VnZ2VzdGlvbnMpO1xuICAgIH0sXG4gICAgW3NldFN1Z2dlc3Rpb25zXSxcbiAgKTtcblxuICBjb25zdCBoeWRyYXRlTWVzc2FnZXMgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBvcmdJZCwgY2hhdElkLCB1c2VySWQgfSA9IGNvbnRleHQ7XG4gICAgY29uc3QgeyBtZXNzYWdlczogZXhpc3RpbmdNZXNzYWdlcywgdXNlckV2ZW50cyB9ID0gYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuZ2V0UmVzcG9uc2VzKFxuICAgICAgb3JnSWQsXG4gICAgICBjaGF0SWQsXG4gICAgICB1c2VySWQsXG4gICAgKTtcbiAgICBzZXRNZXNzYWdlcyhbLi4uZXhpc3RpbmdNZXNzYWdlc10pO1xuICB9LCBbY29udGV4dCwgc2V0TWVzc2FnZXNdKTtcblxuICByZXR1cm4ge1xuICAgIGNyZWF0ZVJlc3BvbnNlUGF5bG9hZCxcbiAgICBnZXRTdHJlYW1pbmdSZXNwb25zZXMsXG4gICAgZ2V0U3VnZ2VzdGlvbnMsXG4gICAgaHlkcmF0ZU1lc3NhZ2VzLFxuICB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBd0NBLE1BQU0sNkJBQ0osWUFDd0M7Q0FDeEMsTUFBTSxDQUFDLGFBQWEsUUFBUSxjQUFjLEVBQUU7QUFDNUMsS0FBSSxVQUFVLGFBQWEsa0JBQWtCLGtCQUMzQyxRQUFPO0VBQ0wsWUFBWSxVQUFVO0VBQ3RCLGlCQUFpQjtFQUNqQixZQUFZLFVBQVUsV0FBVztFQUNsQztBQUVILEtBQUksVUFBVSxhQUFhLGtCQUFrQixXQUMzQyxRQUFPO0VBQ0wsWUFBWSxVQUFVO0VBQ3RCLGlCQUFpQjtFQUNqQixZQUFZLFVBQVUsV0FBVztFQUNsQztB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
|
|
210
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXNBZ2VudFNlcnZpY2UuanMiLCJuYW1lcyI6WyJ1dWlkIiwibGFzdE1lc3NhZ2U6IE1lc3NhZ2UgfCB1bmRlZmluZWQiLCJyZXNwb25zZUFuYWx5dGljczogUmVjb3JkPHN0cmluZywgbnVtYmVyPiIsImVycm9yOiB1bmtub3duIiwidXNlU2FsZXNBZ2VudFNlcnZpY2U6ICgpID0+IFNhbGVzQWdlbnRTZXJ2aWNlIiwic3VjY2Vzc2Z1bFJlc3BvbnNlOiBib29sZWFuIHwgdW5kZWZpbmVkIiwiQ29tbWVyY2VBcGlDbGllbnQiLCJyZXNwb25zZUFuYWx5dGljczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc2FsZXNBZ2VudENvbnRleHQvc2FsZXNBZ2VudFNlcnZpY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQXRvbVZhbHVlLCB1c2VTZXRBdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgQ29tbWVyY2VBcGlDbGllbnQgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2NvbW1lcmNlLWFwaSc7XG5pbXBvcnQgeyBhcHBEZXRhaWxzQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHtcbiAgR2VuZXJhdGlvblBhcmFtcyxcbiAgTWVzc2FnZSxcbiAgTWVzc2FnZVJvbGUsXG4gIE1lc3NhZ2VUeXBlLFxuICBOZXh0TWVzc2FnZVJlcXVlc3QsXG4gIFJlc3BvbnNlLFxuICBVc2VyRXZlbnQsXG59IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgbWVzc2FnZUZyb21SZXNwb25zZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi91dGlscyc7XG5pbXBvcnQge1xuICBtZXNzYWdlc0F0b20sXG4gIHBlbmRpbmdSZXNwb25zZUF0b20sXG4gIHJlcXVlc3RGYWlsdXJlQXRvbSxcbiAgcmVzcG9uc2VTdHJlYW1pbmdBdG9tLFxuICBzdWdnZXN0aW9uc0F0b20sXG59IGZyb20gJ3NyYy9hdG9tcy9jaGF0L2NoYXRTdGF0ZSc7XG5pbXBvcnQgeyB1c2VNZXNzYWdlSW50ZXJjZXB0b3IgfSBmcm9tICdzcmMvaW50ZXJjZXB0b3JzL3VzZU1lc3NhZ2VJbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLCB1c2VBbXBsaXR1ZGUgfSBmcm9tICdzcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dCc7XG5pbXBvcnQgeyB1c2VGZWF0dXJlRmxhZ1NlcnZpY2UgfSBmcm9tICdzcmMvY29udGV4dHMvZmVhdHVyZUZsYWdTZXJ2aWNlQ29udGV4dCc7XG5pbXBvcnQgeyBVc2VyRXZlbnRDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSAnc3JjL3NlcnZpY2VzL2FtcGxpdHVkZVNlcnZpY2UvYW1wbGl0dWRlU2VydmljZSc7XG5pbXBvcnQgeyBhbmFseXRpY3NDb250ZXh0QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAvdmFyaWFudCc7XG5cbmltcG9ydCB7IFN0YXR1c0NvZGVFcnJvciB9IGZyb20gJy4vc3RhdHVzQ29kZUVycm9yJztcblxuaW50ZXJmYWNlIFNhbGVzQWdlbnRTZXJ2aWNlIHtcbiAgY3JlYXRlUmVzcG9uc2VQYXlsb2FkOiAocGF5bG9hZDoge1xuICAgIHVzZXJFdmVudHM6IFVzZXJFdmVudFtdO1xuICAgIGdlbmVyYXRpb25QYXJhbXM/OiBHZW5lcmF0aW9uUGFyYW1zO1xuICB9KSA9PiBOZXh0TWVzc2FnZVJlcXVlc3Q7XG4gIGdldFN0cmVhbWluZ1Jlc3BvbnNlczogKHBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgZ2V0U3VnZ2VzdGlvbnM6IChwYXlsb2FkOiBOZXh0TWVzc2FnZVJlcXVlc3QpID0+IFByb21pc2U8dm9pZD47XG4gIGh5ZHJhdGVNZXNzYWdlczogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbn1cblxuY29uc3QgaW5wdXRQcm9wc1RvVHJhY2tpbmdQcm9wcyA9IChcbiAgcGF5bG9hZDogTmV4dE1lc3NhZ2VSZXF1ZXN0LFxuKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCB1bmRlZmluZWQgPT4ge1xuICBjb25zdCBbdXNlckV2ZW50XSA9IHBheWxvYWQudXNlckV2ZW50cyB8fCBbXTtcbiAgaWYgKHVzZXJFdmVudC5jYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWVzc2FnZV9pZDogdXNlckV2ZW50LmV2ZW50SWQsXG4gICAgICB1c2VyX2V2ZW50X3R5cGU6ICdzdWdnZXN0aW9uX2NsaWNrZWQnLFxuICAgICAgdXNlcl9xdWVyeTogdXNlckV2ZW50LmF0dHJpYnV0ZXMuY29udGVudCxcbiAgICB9O1xuICB9XG4gIGlmICh1c2VyRXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LlF1ZXJ5VHlwZWQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWVzc2FnZV9pZDogdXNlckV2ZW50LmV2ZW50SWQsXG4gICAgICB1c2VyX2V2ZW50X3R5cGU6ICdxdWVyeV90eXBlZCcsXG4gICAgICB1c2VyX3F1ZXJ5OiB1c2VyRXZlbnQuYXR0cmlidXRlcy5xdWVyeSxcbiAgICB9O1xuICB9XG4gIHJldHVybiB7fTtcbn07XG5cbmNvbnN0IGlucHV0UHJvcHNUb0Vudml2ZVRyYWNraW5nUHJvcHMgPSAoXG4gIHBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCxcbik6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkID0+IHtcbiAgY29uc3QgW3VzZXJFdmVudF0gPSBwYXlsb2FkLnVzZXJFdmVudHMgfHwgW107XG4gIGlmICh1c2VyRXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LlN1Z2dlc3Rpb25DbGlja2VkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdjaGF0LnJlcXVlc3RfdHlwZSc6ICdzdWdnZXN0aW9uJyxcbiAgICAgICdjaGF0LnJlcXVlc3RfaWQnOiB1c2VyRXZlbnQuZXZlbnRJZCxcbiAgICAgICdjaGF0LnJlcXVlc3RfdGV4dCc6IHVzZXJFdmVudC5hdHRyaWJ1dGVzLmNvbnRlbnQsXG4gICAgICAnY2hhdC5zdWdnZXN0aW9uX2lkJzogdXNlckV2ZW50LmF0dHJpYnV0ZXMuc3VnZ2VzdGlvbklkLFxuICAgICAgJ2NoYXQudXNlcl90eXBlZCc6IGZhbHNlLFxuICAgIH07XG4gIH1cbiAgaWYgKHVzZXJFdmVudC5jYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuUXVlcnlUeXBlZCkge1xuICAgIHJldHVybiB7XG4gICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAndGV4dCcsXG4gICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogdXNlckV2ZW50LmV2ZW50SWQsXG4gICAgICAnY2hhdC5yZXF1ZXN0X3RleHQnOiB1c2VyRXZlbnQuYXR0cmlidXRlcy5xdWVyeSxcbiAgICAgICdjaGF0LnVzZXJfdHlwZWQnOiB1c2VyRXZlbnQuYXR0cmlidXRlcy51c2VyVHlwZWQsXG4gICAgfTtcbiAgfVxuICBpZiAoXG4gICAgdXNlckV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5QYWdlVmlzaXQgfHxcbiAgICB1c2VyRXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LlBkcFZpc2l0IHx8XG4gICAgdXNlckV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5QbHBWaXNpdFxuICApIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IHVzZXJFdmVudC5ldmVudElkLFxuICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ3BhZ2VfdmlzaXQnLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge307XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UXVlcnlQYXJhbSA9IChrZXk6IHN0cmluZyk6IHN0cmluZyB8IG51bGwgPT4ge1xuICBjb25zdCB1cmxPYmogPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgcmV0dXJuIHVybE9iai5zZWFyY2hQYXJhbXMuZ2V0KGtleSk7XG59O1xuXG5jb25zdCBnZXRFcnJvck1lc3NhZ2UgPSAoX2Vycm9yOiB1bmtub3duKTogc3RyaW5nID0+IHtcbiAgaWYgKF9lcnJvciBpbnN0YW5jZW9mIFN0YXR1c0NvZGVFcnJvcikge1xuICAgIGlmIChfZXJyb3Iuc3RhdHVzQ29kZSA9PT0gNDIzKSB7XG4gICAgICByZXR1cm4gJ0R1ZSB0byB2aW9sYXRpb24gb2YgdGVybXMgYW5kIHNlcnZpY2VzLCB0aGlzIHNlc3Npb24gaGFzIGJlZW4gdGVybWluYXRlZC4nO1xuICAgIH1cbiAgICAvLyBLZWVwaW5nIHRoZSA0MjkgZXJyb3IgbWVzc2FnZXMgYXMgdGhlIGdlbmVyaWMgZXJyb3IgbWVzc2FnZSBmb3Igbm93LlxuICAgIC8vIGlmIChfZXJyb3Iuc3RhdHVzQ29kZSA9PT0gNDI5KSB7XG4gICAgLy8gICByZXR1cm4gXCJJJ20gc29ycnkhIFRoZSBzeXN0ZW0gaXMgYnVzeSByaWdodCBub3cuIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy5cIjtcbiAgICAvLyB9XG4gIH1cblxuICByZXR1cm4gXCJJJ20gc29ycnkhIEknbSBoYXZpbmcgdHJvdWJsZSByaWdodCBub3cuIFBsZWFzZSByZWZyZXNoIHRoZSBwYWdlIG9yIHRyeSBhZ2FpbiBpbiBhIG1vbWVudC5cIjtcbn07XG5cbmNvbnN0IGhhbmRsZVN0cmVhbWluZ0Vycm9yID0gKFxuICBfZXJyb3I6IHVua25vd24sXG4gIHNldFJlcXVlc3RGYWlsdXJlOiAoZmFpbGVkOiBib29sZWFuKSA9PiB2b2lkLFxuICBzZXRNZXNzYWdlczogKHVwZGF0ZXI6IChwcmV2OiBNZXNzYWdlW11bXSkgPT4gTWVzc2FnZVtdW10pID0+IHZvaWQsXG4pID0+IHtcbiAgc2V0UmVxdWVzdEZhaWx1cmUodHJ1ZSk7XG5cbiAgY29uc3QgZXJyb3JNZXNzYWdlID0gZ2V0RXJyb3JNZXNzYWdlKF9lcnJvcik7XG4gIHNldE1lc3NhZ2VzKHByZXYgPT4gW1xuICAgIC4uLnByZXYsXG4gICAgW1xuICAgICAge1xuICAgICAgICBpZDogdXVpZCgpLFxuICAgICAgICByb2xlOiBNZXNzYWdlUm9sZS5Bc3Npc3RhbnQsXG4gICAgICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlRleHQsXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgIGNvbnRlbnQ6IGVycm9yTWVzc2FnZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuXG5jb25zdCB1cGRhdGVNZXNzYWdlU3RhdGUgPSAoXG4gIG1lc3NhZ2U6IE1lc3NhZ2UsXG4gIGxhc3RNZXNzYWdlOiBNZXNzYWdlLFxuICBzZXRNZXNzYWdlczogKHVwZGF0ZXI6IChwcmV2OiBNZXNzYWdlW11bXSkgPT4gTWVzc2FnZVtdW10pID0+IHZvaWQsXG4pOiBNZXNzYWdlID0+IHtcbiAgaWYgKGxhc3RNZXNzYWdlID09IG51bGwpIHtcbiAgICBzZXRNZXNzYWdlcyhwcmV2ID0+IFsuLi5wcmV2LCBbbWVzc2FnZV1dKTtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfVxuICBpZiAobGFzdE1lc3NhZ2UudHlwZSA9PT0gTWVzc2FnZVR5cGUuVGV4dCAmJiBtZXNzYWdlLnR5cGUgPT09IE1lc3NhZ2VUeXBlLlRleHQpIHtcbiAgICBjb25zdCBuZXdNZXNzYWdlID0ge1xuICAgICAgLi4ubGFzdE1lc3NhZ2UsXG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICAuLi5sYXN0TWVzc2FnZS5tZXRhZGF0YSxcbiAgICAgICAgY29udGVudDogbGFzdE1lc3NhZ2UubWV0YWRhdGEuY29udGVudCArIG1lc3NhZ2UubWV0YWRhdGEuY29udGVudCxcbiAgICAgIH0sXG4gICAgfTtcbiAgICBzZXRNZXNzYWdlcyhwcmV2ID0+IHtcbiAgICAgIGNvbnN0IGxhc3RUdXJuID0gcHJldltwcmV2Lmxlbmd0aCAtIDFdO1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4ucHJldi5zbGljZSgwLCBwcmV2Lmxlbmd0aCAtIDEpLFxuICAgICAgICBbLi4ubGFzdFR1cm4uc2xpY2UoMCwgbGFzdFR1cm4ubGVuZ3RoIC0gMSksIG5ld01lc3NhZ2VdLFxuICAgICAgXTtcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3TWVzc2FnZTtcbiAgfVxuICBzZXRNZXNzYWdlcyhwcmV2ID0+IFsuLi5wcmV2LnNsaWNlKDAsIHByZXYubGVuZ3RoIC0gMSksIFsuLi5wcmV2W3ByZXYubGVuZ3RoIC0gMV0sIG1lc3NhZ2VdXSk7XG4gIHJldHVybiBtZXNzYWdlO1xufTtcblxuY29uc3QgcHJvY2Vzc1N0cmVhbWluZ1Jlc3BvbnNlID0gYXN5bmMgKFxuICBzdHJlYW06IEFzeW5jSXRlcmFibGU8UmVzcG9uc2U+LFxuICBtZXNzYWdlSW50ZXJjZXB0b3I6IHsgaW50ZXJjZXB0OiAocmVzcG9uc2U/OiBSZXNwb25zZSkgPT4gYm9vbGVhbiB8IHVuZGVmaW5lZCB9LFxuICBzZXRNZXNzYWdlczogKHVwZGF0ZXI6IChwcmV2OiBNZXNzYWdlW11bXSkgPT4gTWVzc2FnZVtdW10pID0+IHZvaWQsXG4gIHNldFJlc3BvbnNlU3RyZWFtaW5nOiAocmVzcG9uc2VTdHJlYW1pbmc6IGJvb2xlYW4pID0+IHZvaWQsXG4pOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIG51bWJlcj4+ID0+IHtcbiAgbGV0IGxhc3RNZXNzYWdlOiBNZXNzYWdlIHwgdW5kZWZpbmVkO1xuICBzZXRSZXNwb25zZVN0cmVhbWluZyh0cnVlKTtcbiAgY29uc3QgcmVzcG9uc2VBbmFseXRpY3M6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7fTtcblxuICBmb3IgYXdhaXQgKGNvbnN0IHJlc3BvbnNlIG9mIHN0cmVhbSkge1xuICAgIHRyeSB7XG4gICAgICBpZiAobWVzc2FnZUludGVyY2VwdG9yLmludGVyY2VwdChyZXNwb25zZSkpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJlc3BvbnNlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gcmVzcG9uc2UgZnJvbSBzdHJlYW0nKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbWVzc2FnZSA9IG1lc3NhZ2VGcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgaWYgKCFtZXNzYWdlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIHRyYW5zZm9ybSBBUEkgcmVzcG9uc2UgdG8gY2xpZW50IG1lc3NhZ2UnKTtcbiAgICAgIH1cbiAgICAgIGlmIChtZXNzYWdlLnR5cGUgPT09IE1lc3NhZ2VUeXBlLlByb2R1Y3QpIHtcbiAgICAgICAgcmVzcG9uc2VBbmFseXRpY3NbJ2NoYXQucHJvZHVjdF9jYXJkc19yZXR1cm5lZCddID1cbiAgICAgICAgICAocmVzcG9uc2VBbmFseXRpY3NbJ2NoYXQucHJvZHVjdF9jYXJkc19yZXR1cm5lZCddIHx8IDApICsgMTtcbiAgICAgIH1cbiAgICAgIGlmIChtZXNzYWdlLnR5cGUgPT09IE1lc3NhZ2VUeXBlLlJldmlldykge1xuICAgICAgICByZXNwb25zZUFuYWx5dGljc1snY2hhdC5yZXZpZXdfY2FyZHNfcmV0dXJuZWQnXSA9XG4gICAgICAgICAgKHJlc3BvbnNlQW5hbHl0aWNzWydjaGF0LnJldmlld19jYXJkc19yZXR1cm5lZCddIHx8IDApICsgMTtcbiAgICAgIH1cblxuICAgICAgLy8gTm8gc3VwcG9ydCBmb3IgQ2hhdFNlYXJjaCBtZXNzYWdlcyBhdCB0aGUgY3VycmVudCB0aW1lLlxuICAgICAgLy8gUGVyaGFwcyB3ZSBhZGQgc3VwcG9ydCBiYWNrIGluIHRoZSBmdXR1cmVcbiAgICAgIC8vIGlmIChtZXNzYWdlLnR5cGUgPT09IE1lc3NhZ2VUeXBlLlByb2R1Y3RTZWFyY2gpIHtcbiAgICAgIC8vICAgaGFuZGxlU2VhcmNoUmVzdWx0cyhtZXNzYWdlKTtcbiAgICAgIC8vICAgaGFzU2VhcmNoUmVzdWx0cyA9IHRydWU7XG4gICAgICAvLyAgIHNldFNlYXJjaElzTG9hZGluZyhmYWxzZSk7IC8vIFVwZGF0ZSBzZWFyY2ggbG9hZGluZyBpbW1lZGlhdGVseSB3aGVuIHJlc3VsdHMgYXJlIGRldGVjdGVkXG4gICAgICAvLyB9XG5cbiAgICAgIGxhc3RNZXNzYWdlID0gdXBkYXRlTWVzc2FnZVN0YXRlKG1lc3NhZ2UsIGxhc3RNZXNzYWdlISwgc2V0TWVzc2FnZXMpO1xuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBMb2dnZXIubG9nV2FybihgW3NwaWZmeS1haV0gRmFpbGVkIHRvIGdlbmVyYXRlIHJlc3BvbnNlcyBmcm9tIHN0cmVhbWAsIGVycm9yLCB7XG4gICAgICAgIGxhc3RSZXNwb25zZTogbGFzdE1lc3NhZ2UsXG4gICAgICAgIHJlc3BvbnNlLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHNldFJlc3BvbnNlU3RyZWFtaW5nKGZhbHNlKTtcbiAgfVxuICByZXR1cm4gcmVzcG9uc2VBbmFseXRpY3M7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlU2FsZXNBZ2VudFNlcnZpY2U6ICgpID0+IFNhbGVzQWdlbnRTZXJ2aWNlID0gKCkgPT4ge1xuICBjb25zdCBzZXRSZXF1ZXN0RmFpbHVyZSA9IHVzZVNldEF0b20ocmVxdWVzdEZhaWx1cmVBdG9tKTtcbiAgY29uc3Qgc2V0TWVzc2FnZXMgPSB1c2VTZXRBdG9tKG1lc3NhZ2VzQXRvbSk7XG4gIGNvbnN0IHNldFN1Z2dlc3Rpb25zID0gdXNlU2V0QXRvbShzdWdnZXN0aW9uc0F0b20pO1xuICBjb25zdCBzZXRQZW5kaW5nUmVzcG9uc2UgPSB1c2VTZXRBdG9tKHBlbmRpbmdSZXNwb25zZUF0b20pO1xuICBjb25zdCBzZXRSZXNwb25zZVN0cmVhbWluZyA9IHVzZVNldEF0b20ocmVzcG9uc2VTdHJlYW1pbmdBdG9tKTtcbiAgY29uc3QgYW5hbHl0aWNzQ29udGV4dCA9IHVzZUF0b21WYWx1ZShhbmFseXRpY3NDb250ZXh0QXRvbSk7XG4gIGNvbnN0IG1lc3NhZ2VJbnRlcmNlcHRvciA9IHVzZU1lc3NhZ2VJbnRlcmNlcHRvcigpO1xuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuXG4gIGNvbnN0IGZlYXR1cmVGbGFnU2VydmljZSA9IHVzZUZlYXR1cmVGbGFnU2VydmljZSgpO1xuICBjb25zdCBjb250ZXh0ID0gdXNlQXRvbVZhbHVlKGFwcERldGFpbHNBdG9tKTtcblxuICBjb25zdCBjcmVhdGVSZXNwb25zZVBheWxvYWQgPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgdXNlckV2ZW50cyxcbiAgICAgIGdlbmVyYXRpb25QYXJhbXMsXG4gICAgfToge1xuICAgICAgdXNlckV2ZW50czogVXNlckV2ZW50W107XG4gICAgICBnZW5lcmF0aW9uUGFyYW1zPzogR2VuZXJhdGlvblBhcmFtcztcbiAgICB9KTogTmV4dE1lc3NhZ2VSZXF1ZXN0ID0+IHtcbiAgICAgIGNvbnN0IGZlYXR1cmVGbGFncyA9IGZlYXR1cmVGbGFnU2VydmljZT8uZmVhdHVyZUZsYWdTZXJ2aWNlPy5nZXRGZWF0dXJlRmxhZ3MoKSB8fCB7fTtcblxuICAgICAgY29uc3Qgb3ZlcnJpZGVDb25maWdWZXJzaW9uID1cbiAgICAgICAgZ2V0UXVlcnlQYXJhbSgnc3BpZmZ5X2NvbmZpZ192ZXJzaW9uJykgfHxcbiAgICAgICAgZ2V0UXVlcnlQYXJhbSgnZW52aXZlX2NvbmZpZ192ZXJzaW9uJykgfHxcbiAgICAgICAgdW5kZWZpbmVkO1xuICAgICAgY29uc3Qgb3ZlcnJpZGVNb2RlbERhdGV0aW1lID0gZ2V0UXVlcnlQYXJhbSgnb3ZlcnJpZGVfbW9kZWxfZGF0ZXRpbWUnKSB8fCB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpZDogdXVpZCgpLFxuICAgICAgICBjb250ZXh0LFxuICAgICAgICB1c2VyRXZlbnRzLFxuICAgICAgICBmZWF0dXJlRmxhZ3MsXG4gICAgICAgIGdlbmVyYXRpb25QYXJhbXMsXG4gICAgICAgIG92ZXJyaWRlQ29uZmlnVmVyc2lvbixcbiAgICAgICAgb3ZlcnJpZGVNb2RlbERhdGV0aW1lLFxuICAgICAgfTtcbiAgICB9LFxuICAgIFtjb250ZXh0LCBmZWF0dXJlRmxhZ1NlcnZpY2U/LmZlYXR1cmVGbGFnU2VydmljZV0sXG4gICk7XG5cbiAgY29uc3QgZ2V0U3RyZWFtaW5nUmVzcG9uc2VzID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgIGxldCBzdWNjZXNzZnVsUmVzcG9uc2U6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgICBzZXRQZW5kaW5nUmVzcG9uc2UodHJ1ZSk7XG4gICAgICBzZXRTdWdnZXN0aW9ucyhbXSk7XG4gICAgICBjb25zdCBzdHJlYW0gPSBDb21tZXJjZUFwaUNsaWVudC5nZXROZXh0UmVzcG9uc2VTdHJlYW1pbmcocGF5bG9hZCk7XG4gICAgICBsZXQgcmVzcG9uc2VBbmFseXRpY3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgdW5kZWZpbmVkO1xuICAgICAgdHJ5IHtcbiAgICAgICAgc2V0UmVxdWVzdEZhaWx1cmUoZmFsc2UpO1xuXG4gICAgICAgIHJlc3BvbnNlQW5hbHl0aWNzID0gYXdhaXQgcHJvY2Vzc1N0cmVhbWluZ1Jlc3BvbnNlKFxuICAgICAgICAgIHN0cmVhbSxcbiAgICAgICAgICBtZXNzYWdlSW50ZXJjZXB0b3IsXG4gICAgICAgICAgc2V0TWVzc2FnZXMsXG4gICAgICAgICAgc2V0UmVzcG9uc2VTdHJlYW1pbmcsXG4gICAgICAgICk7XG4gICAgICAgIHN1Y2Nlc3NmdWxSZXNwb25zZSA9IHRydWU7XG5cbiAgICAgICAgLy8gVE9ETzogQWRkIHN1cHBvcnQgZm9yIHRoZSBDaHJvbWUgRXh0ZW5zaW9uIGNvbW11bmljYXRpb25cbiAgICAgICAgLy8gYXdhaXQgbG9nQnVuZGxlRXZlbnQoe1xuICAgICAgICAvLyAgIGxldmVsOiAnaW5mbycsXG4gICAgICAgIC8vICAgZXZlbnQ6ICdORVhUX1JFU1BPTlNFX1NVQ0NFU1MnLFxuICAgICAgICAvLyAgIGNvbnRleHQ6IHtcbiAgICAgICAgLy8gICAgIHR5cGU6ICduZXh0X3Jlc3BvbnNlcycsXG4gICAgICAgIC8vICAgICBlbmRwb2ludDogJy92MS9uZXh0X3Jlc3BvbnNlcycsXG4gICAgICAgIC8vICAgICBzdGF0dXNDb2RlOiAyMDAsXG4gICAgICAgIC8vICAgICByZXNwb25zZVRpbWUsXG4gICAgICAgIC8vICAgfSxcbiAgICAgICAgLy8gfSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ2Vycm9yIGdldHRpbmcgc3RyZWFtaW5nIHJlc3BvbnNlcycsIGUpO1xuICAgICAgICBzdWNjZXNzZnVsUmVzcG9uc2UgPSBmYWxzZTtcbiAgICAgICAgLy8gTG9nIGZhaWxlZCBuZXh0X3Jlc3BvbnNlcyBjYWxsXG4gICAgICAgIC8vIGNvbnN0IHJlc3BvbnNlVGltZSA9IERhdGUubm93KCkgLSBzdGFydFRpbWU7XG4gICAgICAgIC8vIGF3YWl0IGxvZ0J1bmRsZUV2ZW50KHtcbiAgICAgICAgLy8gICBsZXZlbDogJ2Vycm9yJyxcbiAgICAgICAgLy8gICBldmVudDogJ05FWFRfUkVTUE9OU0VfRkFJTEVEJyxcbiAgICAgICAgLy8gICBtZXNzYWdlOiBgRmFpbGVkIHRvIGdldCBzdHJlYW1pbmcgcmVzcG9uc2U6ICR7ZX1gLFxuICAgICAgICAvLyAgIGNvbnRleHQ6IHtcbiAgICAgICAgLy8gICAgIHR5cGU6ICduZXh0X3Jlc3BvbnNlcycsXG4gICAgICAgIC8vICAgICBlbmRwb2ludDogJy92MS9uZXh0X3Jlc3BvbnNlcycsXG4gICAgICAgIC8vICAgICByZXNwb25zZVRpbWUsXG4gICAgICAgIC8vICAgICBlcnJvcjogZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogU3RyaW5nKGUpLFxuICAgICAgICAvLyAgIH0sXG4gICAgICAgIC8vIH0pO1xuXG4gICAgICAgIGhhbmRsZVN0cmVhbWluZ0Vycm9yKGUsIHNldFJlcXVlc3RGYWlsdXJlLCBzZXRNZXNzYWdlcyk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICAvLyBMb2cgbmV4dF9yZXNwb25zZXMgY2FsbFxuICAgICAgICBjb25zdCByZXNwb25zZVRpbWUgPSBEYXRlLm5vdygpIC0gc3RhcnRUaW1lO1xuICAgICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuQ2hhdEFzc2lzdGFudFJlc3BvbnNlLFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIHJlc3BvbnNlVGltZU1zOiByZXNwb25zZVRpbWUudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIHN1Y2Nlc3NmdWxfcmVzcG9uc2U6IHN1Y2Nlc3NmdWxSZXNwb25zZSxcbiAgICAgICAgICAgIC4uLmlucHV0UHJvcHNUb1RyYWNraW5nUHJvcHMocGF5bG9hZCksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVzcG9uc2UsXG4gICAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgICAgLi4uYW5hbHl0aWNzQ29udGV4dCxcbiAgICAgICAgICAgICdjaGF0LnJlc3BvbnNlX3RpbWVfbXMnOiByZXNwb25zZVRpbWUudG9TdHJpbmcoKSxcbiAgICAgICAgICAgIC4uLmlucHV0UHJvcHNUb0Vudml2ZVRyYWNraW5nUHJvcHMocGF5bG9hZCksXG4gICAgICAgICAgICAuLi5yZXNwb25zZUFuYWx5dGljcyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0UGVuZGluZ1Jlc3BvbnNlKGZhbHNlKTtcbiAgICAgICAgc2V0UmVzcG9uc2VTdHJlYW1pbmcoZmFsc2UpO1xuICAgICAgICAvLyBsb2dQZXJmTWV0cmljKFBlcmZNZXRyaWNzRXZlbnRzLkZpcnN0UmVzcG9uc2VDb21wbGV0ZWQpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW1xuICAgICAgYW5hbHl0aWNzQ29udGV4dCxcbiAgICAgIHRyYWNrRXZlbnQsXG4gICAgICBzZXRSZXNwb25zZVN0cmVhbWluZyxcbiAgICAgIC8vIGxvZ1BlcmZNZXRyaWMsXG4gICAgICBzZXRSZXF1ZXN0RmFpbHVyZSxcbiAgICAgIHNldFN1Z2dlc3Rpb25zLFxuICAgICAgbWVzc2FnZUludGVyY2VwdG9yLFxuICAgICAgc2V0TWVzc2FnZXMsXG4gICAgICBzZXRQZW5kaW5nUmVzcG9uc2UsXG4gICAgXSxcbiAgKTtcblxuICBjb25zdCBnZXRTdWdnZXN0aW9ucyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwYXlsb2FkOiBOZXh0TWVzc2FnZVJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICAgIGNvbnN0IG5ld1N1Z2dlc3Rpb25zID0gYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuZ2V0TmV4dFN1Z2dlc3Rpb25zKHBheWxvYWQpO1xuICAgICAgc2V0U3VnZ2VzdGlvbnMobmV3U3VnZ2VzdGlvbnMpO1xuICAgIH0sXG4gICAgW3NldFN1Z2dlc3Rpb25zXSxcbiAgKTtcblxuICBjb25zdCBoeWRyYXRlTWVzc2FnZXMgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgeyBvcmdJZCwgY2hhdElkLCB1c2VySWQgfSA9IGNvbnRleHQ7XG4gICAgY29uc3QgeyBtZXNzYWdlczogZXhpc3RpbmdNZXNzYWdlcywgdXNlckV2ZW50cyB9ID0gYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuZ2V0UmVzcG9uc2VzKFxuICAgICAgb3JnSWQsXG4gICAgICBjaGF0SWQsXG4gICAgICB1c2VySWQsXG4gICAgKTtcbiAgICBzZXRNZXNzYWdlcyhbLi4uZXhpc3RpbmdNZXNzYWdlc10pO1xuICB9LCBbY29udGV4dCwgc2V0TWVzc2FnZXNdKTtcblxuICByZXR1cm4ge1xuICAgIGNyZWF0ZVJlc3BvbnNlUGF5bG9hZCxcbiAgICBnZXRTdHJlYW1pbmdSZXNwb25zZXMsXG4gICAgZ2V0U3VnZ2VzdGlvbnMsXG4gICAgaHlkcmF0ZU1lc3NhZ2VzLFxuICB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTBDQSxNQUFNLDZCQUNKLFlBQ3dDO0NBQ3hDLE1BQU0sQ0FBQyxhQUFhLFFBQVEsY0FBYyxFQUFFO0FBQzVDLEtBQUksVUFBVSxhQUFhLGtCQUFrQixrQkFDM0MsUUFBTztFQUNMLFlBQVksVUFBVTtFQUN0QixpQkFBaUI7RUFDakIsWUFBWSxVQUFVLFdBQVc7RUFDbEM7QUFFSCxLQUFJLFVBQVUsYUFBYSxrQkFBa0IsV0FDM0MsUUFBTztFQUNMLFlBQVksVUFBVTtFQUN0QixpQkFBaUI7RUFDakIsWUFBWSxVQUFVLFdBQVc7RUFDbEM7QUFFSCxRQUFPLEVBQUU7O0FBR1gsTUFBTSxtQ0FDSixZQUN3QztDQUN4QyxNQUFNLENBQUMsYUFBYSxRQUFRLGNBQWMsRUFBRTtBQUM1QyxLQUFJLFVBQVUsYUFBYSxrQkFBa0Isa0JBQzNDLFFBQU87RUFDTCxxQkFBcUI7RUFDckIsbUJBQW1CLFVBQVU7RUFDN0IscUJBQXFCLFVBQVUsV0FBVztFQUMxQyxzQkFBc0IsVUFBVSxXQUFXO0VBQzNDLG1CQUFtQjtFQUNwQjtBQUVILEtBQUksVUFBVSxhQUFhLGtCQUFrQixXQUMzQyxRQUFPO0VB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
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
2
|
const require_logger = require('../../application/logging/logger.cjs');
|
|
3
|
-
const
|
|
3
|
+
const require_atoms_envive_enviveConfig = require('../../atoms/envive/enviveConfig.cjs');
|
|
4
4
|
const require_enviveConfigContext = require('../enviveConfigContext/enviveConfigContext.cjs');
|
|
5
|
-
const require_searchServiceAdapter = require('../../atoms/search/searchServiceAdapter.cjs');
|
|
6
5
|
const require_sessionExceptions = require('../../types/exceptions/sessionExceptions.cjs');
|
|
7
6
|
const require_unsupportedProductExceptions = require('../../types/exceptions/unsupportedProductExceptions.cjs');
|
|
7
|
+
const require_searchServiceAdapter = require('../../atoms/search/searchServiceAdapter.cjs');
|
|
8
8
|
const require_useAppDetails = require('../../hooks/AppDetails/useAppDetails.cjs');
|
|
9
9
|
let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
|
|
10
10
|
let react = require("react");
|
|
@@ -58,7 +58,7 @@ const SearchProvider = ({ children }) => {
|
|
|
58
58
|
const { orgLevelApiKey, publicKey } = require_enviveConfigContext.useEnviveConfig();
|
|
59
59
|
const apiKey = orgLevelApiKey || publicKey;
|
|
60
60
|
const appDetails = require_useAppDetails.useAppDetails();
|
|
61
|
-
const baseUrl = (0, jotai.useAtomValue)(
|
|
61
|
+
const baseUrl = (0, jotai.useAtomValue)(require_atoms_envive_enviveConfig.baseUrlAtom);
|
|
62
62
|
const isReady = Boolean(apiKey && appDetails && baseUrl);
|
|
63
63
|
const searchApi = (0, react.useMemo)(() => {
|
|
64
64
|
if (!isReady) return null;
|
|
@@ -129,4 +129,4 @@ const useSearchService = () => {
|
|
|
129
129
|
//#endregion
|
|
130
130
|
exports.SearchProvider = SearchProvider;
|
|
131
131
|
exports.useSearchService = useSearchService;
|
|
132
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoQ29udGV4dC5janMiLCJuYW1lcyI6WyJSZXNwb25zZUNhdGVnb3J5IiwiUmVzcG9uc2VFcnJvciIsIlVuc3VwcG9ydGVkUHJvZHVjdEV4Y2VwdGlvbiIsIlNlc3Npb25SZXN0YXJ0UmVxdWlyZWQiLCJTZWFyY2hQcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0+IiwidXNlRW52aXZlQ29uZmlnIiwidXNlQXBwRGV0YWlscyIsImJhc2VVcmxBdG9tIiwiU2VhcmNoQXBpIiwiQ29uZmlndXJhdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9zZWFyY2hDb250ZXh0L3NlYXJjaENvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvbixcbiAgUmVzcG9uc2VDYXRlZ29yeSxcbiAgUmVzcG9uc2VFcnJvcixcbiAgU2VhcmNoQXBpLFxufSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgYmFzZVVybEF0b20gfSBmcm9tICdzcmMvYXRvbXMvZW52aXZlL2Vudml2ZUNvbmZpZyc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgeyB1c2VBcHBEZXRhaWxzIH0gZnJvbSAnc3JjL2hvb2tzL0FwcERldGFpbHMvdXNlQXBwRGV0YWlscyc7XG5pbXBvcnQgeyB1c2VFbnZpdmVDb25maWcgfSBmcm9tICdzcmMvY29udGV4dHMvZW52aXZlQ29uZmlnQ29udGV4dC9lbnZpdmVDb25maWdDb250ZXh0JztcbmltcG9ydCB7IFNlc3Npb25SZXN0YXJ0UmVxdWlyZWQgfSBmcm9tICdzcmMvdHlwZXMvZXhjZXB0aW9ucy9zZXNzaW9uRXhjZXB0aW9ucyc7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZFByb2R1Y3RFeGNlcHRpb24gfSBmcm9tICdzcmMvdHlwZXMvZXhjZXB0aW9ucy91bnN1cHBvcnRlZFByb2R1Y3RFeGNlcHRpb25zJztcbmltcG9ydCB7IFNlYXJjaFBhcmFtcywgU2VhcmNoUmVzdWx0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoJztcbmltcG9ydCB7XG4gIGNsZWFyU2VhcmNoU2VydmljZUZ1bmN0aW9uLFxuICBzZXRTZWFyY2hTZXJ2aWNlRnVuY3Rpb24sXG59IGZyb20gJ3NyYy9hdG9tcy9zZWFyY2gvc2VhcmNoU2VydmljZUFkYXB0ZXInO1xuXG5jb25zdCB0cmFuc2Zvcm1Qcm9kdWN0UmVzcG9uc2VzID0gKHByb2R1Y3RzOiBTZWFyY2hSZXN1bHRbJ3Byb2R1Y3RzJ10pID0+XG4gIHByb2R1Y3RzLm1hcChkYXRhID0+ICh7XG4gICAgaWQ6IGRhdGEuaWQsXG4gICAgcmVzcG9uc2VJZDogZGF0YS5yZXNwb25zZV9pZCxcbiAgICBjYXRlZ29yeTogUmVzcG9uc2VDYXRlZ29yeS5Qcm9kdWN0LFxuICAgIGRlc2NyaXB0aW9uOiBkYXRhLmRlc2NyaXB0aW9uLFxuICAgIGltYWdlVXJsOiBkYXRhLmltYWdlX3VybCxcbiAgICBpbWFnZVVybHM6IGRhdGEuaW1hZ2VfdXJscyxcbiAgICB0aXRsZTogZGF0YS50aXRsZSxcbiAgICB1cmw6IGRhdGEudXJsLFxuICAgIG9yaWdpbmFsUHJpY2U6IGRhdGEub3JpZ2luYWxfcHJpY2UsXG4gICAgc2FsZVByaWNlOiBkYXRhLnNhbGVfcHJpY2UsXG4gICAgYXZlcmFnZVJhdGluZzogZGF0YS5hdmVyYWdlX3JhdGluZyxcbiAgICBudW1iZXJSZXZpZXdzOiBkYXRhLm51bWJlcl9yZXZpZXdzLFxuICAgIG1ldGFkYXRhOiBkYXRhLm1ldGFkYXRhLFxuICAgIGlzRm9yR3JpZDogZGF0YS5pc19mb3JfZ3JpZCxcbiAgICBjb2xvcnM6IGRhdGEuY29sb3JzLFxuICAgIHNpemVzOiBkYXRhLnNpemVzLFxuICAgIGZpbHRlcnM6IGRhdGEuZmlsdGVycyxcbiAgfSkpO1xuXG5hc3luYyBmdW5jdGlvbiBlcnJvclJlc3BvbnNlQm9keShlcnJvcjogUmVzcG9uc2VFcnJvcikge1xuICB0cnkge1xuICAgIHJldHVybiBhd2FpdCBlcnJvci5yZXNwb25zZS5qc29uKCk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB7fTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiB0aHJvd1Nlc3Npb25SZXN0YXJ0UmVxdWlyZWRJZihlcnJvck1zZzogc3RyaW5nLCBlcnJvcjogdW5rbm93bikge1xuICBpZiAoIShlcnJvciBpbnN0YW5jZW9mIFJlc3BvbnNlRXJyb3IpKSB7XG4gICAgTG9nZ2VyLmxvZ0luZm8oZXJyb3JNc2csIGVycm9yKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxuXG4gIGNvbnN0IGVycm9yUmVzcG9uc2UgPSBhd2FpdCBlcnJvclJlc3BvbnNlQm9keShlcnJvcik7XG4gIGlmIChcbiAgICBlcnJvclJlc3BvbnNlPy5tZXNzYWdlPy50b0xvd2VyQ2FzZSgpID09PSAndW5zdXBwb3J0ZWQgcHJvZHVjdCcgfHxcbiAgICBlcnJvclJlc3BvbnNlPy5hcHBfY29kZT8udG9VcHBlckNhc2UoKSA9PT0gJ1BST0RVQ1RfTk9UX0ZPVU5EJ1xuICApIHtcbiAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRQcm9kdWN0RXhjZXB0aW9uKCk7XG4gIH0gZWxzZSBpZiAoXG4gICAgZXJyb3JSZXNwb25zZT8uYXBwX2NvZGU/LnRvVXBwZXJDYXNlKCkgPT09ICdSRVNUQVJUX1NFU1NJT04nIHx8XG4gICAgZXJyb3JSZXNwb25zZT8uc3ViX2NvZGU/LnRvVXBwZXJDYXNlKCkgPT09ICdOT1RfRk9VTkQnXG4gICkge1xuICAgIExvZ2dlci5sb2dJbmZvKFxuICAgICAgJ1Nlc3Npb24gZG9lcyBub3QgZXhpc3QuIFJlLXN0YXJ0IHNlc3Npb24nLFxuICAgICAgZXJyb3IsXG4gICAgICBlcnJvci5yZXNwb25zZSxcbiAgICAgIGVycm9yUmVzcG9uc2UsXG4gICAgKTtcbiAgICB0aHJvdyBuZXcgU2Vzc2lvblJlc3RhcnRSZXF1aXJlZCgpO1xuICB9XG5cbiAgTG9nZ2VyLmxvZ0luZm8oZXJyb3JNc2csIGVycm9yKTtcbiAgdGhyb3cgZXJyb3I7XG59XG5cbmludGVyZmFjZSBTZWFyY2hDb250ZXh0VmFsdWUge1xuICBzZWFyY2hQcm9kdWN0czogKHBhcmFtczogU2VhcmNoUGFyYW1zKSA9PiBQcm9taXNlPFNlYXJjaFJlc3VsdD47XG4gIGlzUmVhZHk6IGJvb2xlYW47XG59XG5cbmNvbnN0IFNlYXJjaENvbnRleHQgPSBjcmVhdGVDb250ZXh0PFNlYXJjaENvbnRleHRWYWx1ZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IFNlYXJjaFByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIGNvbnN0IHsgb3JnTGV2ZWxBcGlLZXksIHB1YmxpY0tleSB9ID0gdXNlRW52aXZlQ29uZmlnKCk7XG4gIGNvbnN0IGFwaUtleSA9IG9yZ0xldmVsQXBpS2V5IHx8IHB1YmxpY0tleTsgLy8gUmVwbGljYXRlIGFwaUtleUF0b20gbG9naWNcbiAgY29uc3QgYXBwRGV0YWlscyA9IHVzZUFwcERldGFpbHMoKTtcbiAgY29uc3QgYmFzZVVybCA9IHVzZUF0b21WYWx1ZShiYXNlVXJsQXRvbSk7XG5cbiAgY29uc3QgaXNSZWFkeSA9IEJvb2xlYW4oYXBpS2V5ICYmIGFwcERldGFpbHMgJiYgYmFzZVVybCk7XG5cbiAgY29uc3Qgc2VhcmNoQXBpID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFpc1JlYWR5KSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IGNvbmZpZzogQ29uZmlndXJhdGlvbiA9IG5ldyBDb25maWd1cmF0aW9uKHtcbiAgICAgIGFjY2Vzc1Rva2VuOiBhcGlLZXksXG4gICAgICBiYXNlUGF0aDogYmFzZVVybCxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiBuZXcgU2VhcmNoQXBpKGNvbmZpZyk7XG4gIH0sIFthcGlLZXksIGJhc2VVcmwsIGlzUmVhZHldKTtcblxuICBjb25zdCBzZWFyY2hQcm9kdWN0cyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwYXJhbXM6IFNlYXJjaFBhcmFtcyk6IFByb21pc2U8U2VhcmNoUmVzdWx0PiA9PiB7XG4gICAgICBpZiAoIWlzUmVhZHkgfHwgIXNlYXJjaEFwaSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NlYXJjaFNlcnZpY2Ugbm90IHJlYWR5IC0gbWlzc2luZyBkZXBlbmRlbmNpZXMnKTtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBzZWFyY2hBcGkudjFTZWFyY2hRdWVyeUdldCh7XG4gICAgICAgICAgcXVlcnk6IHBhcmFtcy5xdWVyeSxcbiAgICAgICAgICBsaW1pdDogcGFyYW1zLmxpbWl0LFxuICAgICAgICAgIG9yZ19pZDogYXBwRGV0YWlscy5vcmdJZCxcbiAgICAgICAgICB1c2VyX2lkOiBhcHBEZXRhaWxzLnVzZXJJZCxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHsgcHJvZHVjdHMsIGZpbHRlcnMsIHNlYXJjaF9yZXNwb25zZV9pZDogc2VhcmNoUmVzcG9uc2VJZCB9ID0gcmVzcG9uc2U7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwcm9kdWN0czogdHJhbnNmb3JtUHJvZHVjdFJlc3BvbnNlcyhwcm9kdWN0cykgfHwgW10sXG4gICAgICAgICAgZmlsdGVyczogZmlsdGVycyB8fCBbXSxcbiAgICAgICAgICB0b3RhbFByb2R1Y3RDb3VudDogcHJvZHVjdHM/Lmxlbmd0aCB8fCAwLFxuICAgICAgICAgIHNlYXJjaFJlc3BvbnNlSWQ6IHNlYXJjaFJlc3BvbnNlSWQgfHwgJycsXG4gICAgICAgIH07XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBhd2FpdCB0aHJvd1Nlc3Npb25SZXN0YXJ0UmVxdWlyZWRJZignRmFpbGVkIHRvIHNlYXJjaCBwcm9kdWN0cycsIGVycm9yKTtcbiAgICAgICAgLy8gVGhpcyBwYXJ0IHdpbGwgbm90IGJlIHJlYWNoZWQgaWYgYW4gZXhjZXB0aW9uIGlzIHRocm93biwgYnV0IGl0J3MgcmVxdWlyZWQgZm9yIHR5cGUgc2FmZXR5XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcHJvZHVjdHM6IFtdLFxuICAgICAgICAgIGZpbHRlcnM6IFtdLFxuICAgICAgICAgIHRvdGFsUHJvZHVjdENvdW50OiAwLFxuICAgICAgICAgIHNlYXJjaFJlc3BvbnNlSWQ6ICcnLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NlYXJjaEFwaSwgaXNSZWFkeSwgYXBwRGV0YWlsc10sXG4gICk7XG5cbiAgLy8gUmVnaXN0ZXIgdGhlIHNlYXJjaCBmdW5jdGlvbiB3aXRoIHRoZSBhZGFwdGVyIGZvciB1c2UgaW4gYXRvbXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNSZWFkeSkge1xuICAgICAgc2V0U2VhcmNoU2VydmljZUZ1bmN0aW9uKHNlYXJjaFByb2R1Y3RzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xlYXJTZWFyY2hTZXJ2aWNlRnVuY3Rpb24oKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYXJTZWFyY2hTZXJ2aWNlRnVuY3Rpb24oKTtcbiAgICB9O1xuICB9LCBbc2VhcmNoUHJvZHVjdHMsIGlzUmVhZHldKTtcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIHNlYXJjaFByb2R1Y3RzLFxuICAgICAgaXNSZWFkeSxcbiAgICB9KSxcbiAgICBbc2VhcmNoUHJvZHVjdHMsIGlzUmVhZHldLFxuICApO1xuXG4gIHJldHVybiA8U2VhcmNoQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PntjaGlsZHJlbn08L1NlYXJjaENvbnRleHQuUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVNlYXJjaFNlcnZpY2UgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KFNlYXJjaENvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZVNlYXJjaFNlcnZpY2UgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFNlYXJjaFByb3ZpZGVyJyk7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsTUFBTSw2QkFBNkIsYUFDakMsU0FBUyxLQUFJLFVBQVM7Q0FDcEIsSUFBSSxLQUFLO0NBQ1QsWUFBWSxLQUFLO0NBQ2pCLFVBQVVBLGlEQUFpQjtDQUMzQixhQUFhLEtBQUs7Q0FDbEIsVUFBVSxLQUFLO0NBQ2YsV0FBVyxLQUFLO0NBQ2hCLE9BQU8sS0FBSztDQUNaLEtBQUssS0FBSztDQUNWLGVBQWUsS0FBSztDQUNwQixXQUFXLEtBQUs7Q0FDaEIsZUFBZSxLQUFLO0NBQ3BCLGVBQWUsS0FBSztDQUNwQixVQUFVLEtBQUs7Q0FDZixXQUFXLEtBQUs7Q0FDaEIsUUFBUSxLQUFLO0NBQ2IsT0FBTyxLQUFLO0NBQ1osU0FBUyxLQUFLO0NBQ2YsRUFBRTtBQUVMLGVBQWUsa0JBQWtCLE9BQXNCO0FBQ3JELEtBQUk7QUFDRixTQUFPLE1BQU0sTUFBTSxTQUFTLE1BQU07U0FDNUI7QUFDTixTQUFPLEVBQUU7OztBQUliLGVBQWUsOEJBQThCLFVBQWtCLE9BQWdCO0FBQzdFLEtBQUksRUFBRSxpQkFBaUJDLGdEQUFnQjtBQUNyQyx5QkFBTyxRQUFRLFVBQVUsTUFBTTtBQUMvQixRQUFNOztDQUdSLE1BQU0sZ0JBQWdCLE1BQU0sa0JBQWtCLE1BQU07QUFDcEQsS0FDRSxlQUFlLFNBQVMsYUFBYSxLQUFLLHlCQUMxQyxlQUFlLFVBQVUsYUFBYSxLQUFLLG9CQUUzQyxPQUFNLElBQUlDLGtFQUE2QjtVQUV2QyxlQUFlLFVBQVUsYUFBYSxLQUFLLHFCQUMzQyxlQUFlLFVBQVUsYUFBYSxLQUFLLGFBQzNDO0FBQ0EseUJBQU8sUUFDTCw0Q0FDQSxPQUNBLE1BQU0sVUFDTixjQUNEO0FBQ0QsUUFBTSxJQUFJQyxrREFBd0I7O0FBR3BDLHdCQUFPLFFBQVEsVUFBVSxNQUFNO0FBQy9CLE9BQU07O0FBUVIsTUFBTSx5Q0FBOEQsT0FBVTtBQUU5RSxNQUFhQyxrQkFBMkQsRUFBRSxlQUFlO0NBQ3ZGLE1BQU0sRUFBRSxnQkFBZ0IsY0FBY0MsNkNBQWlCO0NBQ3ZELE1BQU0sU0FBUyxrQkFBa0I7Q0FDakMsTUFBTSxhQUFhQyxxQ0FBZTtDQUNsQyxNQUFNLGtDQUF1QkMsaUNBQVk7Q0FFekMsTUFBTSxVQUFVLFFBQVEsVUFBVSxjQUFjLFFBQVE7Q0FFeEQsTUFBTSxxQ0FBMEI7QUFDOUIsTUFBSSxDQUFDLFFBQVMsUUFBTztBQVVyQixTQUFPLElBQUlDLDBDQVJtQixJQUFJQyw4Q0FBYztHQUM5QyxhQUFhO0dBQ2IsVUFBVTtHQUNWLFNBQVM7SUFDUCxnQkFBZ0I7SUFDaEIsUUFBUTtJQUNUO0dBQ0YsQ0FBQyxDQUMwQjtJQUMzQjtFQUFDO0VBQVE7RUFBUztFQUFRLENBQUM7Q0FFOUIsTUFBTSx3Q0FDSixPQUFPLFdBQWdEO0FBQ3JELE1BQUksQ0FBQyxXQUFXLENBQUMsVUFDZixPQUFNLElBQUksTUFBTSxpREFBaUQ7QUFHbkUsTUFBSTtHQU9GLE1BQU0sRUFBRSxVQUFVLFNBQVMsb0JBQW9CLHFCQU45QixNQUFNLFVBQVUsaUJBQWlCO0lBQ2hELE9BQU8sT0FBTztJQUNkLE9BQU8sT0FBTztJQUNkLFFBQVEsV0FBVztJQUNuQixTQUFTLFdBQVc7SUFDckIsQ0FBQztBQUdGLFVBQU87SUFDTCxVQUFVLDBCQUEwQixTQUFTLElBQUksRUFBRTtJQUNuRCxTQUFTLFdBQVcsRUFBRTtJQUN0QixtQkFBbUIsVUFBVSxVQUFVO0lBQ3ZDLGtCQUFrQixvQkFBb0I7SUFDdkM7V0FDTSxPQUFPO0FBQ2QsU0FBTSw4QkFBOEIsNkJBQTZCLE1BQU07QUFFdkUsVUFBTztJQUNMLFVBQVUsRUFBRTtJQUNaLFNBQVMsRUFBRTtJQUNYLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbkI7O0lBR0w7RUFBQztFQUFXO0VBQVM7RUFBVyxDQUNqQztBQUdELDRCQUFnQjtBQUNkLE1BQUksUUFDRix1REFBeUIsZUFBZTtNQUV4QywwREFBNEI7QUFHOUIsZUFBYTtBQUNYLDREQUE0Qjs7SUFFN0IsQ0FBQyxnQkFBZ0IsUUFBUSxDQUFDO0NBRTdCLE1BQU0sa0NBQ0c7RUFDTDtFQUNBO0VBQ0QsR0FDRCxDQUFDLGdCQUFnQixRQUFRLENBQzFCO0FBRUQsUUFBTywyQ0FBQyxjQUFjO0VBQWdCO0VBQVE7R0FBa0M7O0FBR2xGLE1BQWEseUJBQXlCO0NBQ3BDLE1BQU0sZ0NBQXFCLGNBQWM7QUFDekMsS0FBSSxDQUFDLFFBQ0gsT0FBTSxJQUFJLE1BQU0sd0RBQXdEO0FBRTFFLFFBQU8ifQ==
|
|
132
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoQ29udGV4dC5janMiLCJuYW1lcyI6WyJSZXNwb25zZUNhdGVnb3J5IiwiUmVzcG9uc2VFcnJvciIsIlVuc3VwcG9ydGVkUHJvZHVjdEV4Y2VwdGlvbiIsIlNlc3Npb25SZXN0YXJ0UmVxdWlyZWQiLCJTZWFyY2hQcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0+IiwidXNlRW52aXZlQ29uZmlnIiwidXNlQXBwRGV0YWlscyIsImJhc2VVcmxBdG9tIiwiU2VhcmNoQXBpIiwiQ29uZmlndXJhdGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9zZWFyY2hDb250ZXh0L3NlYXJjaENvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvbixcbiAgUmVzcG9uc2VDYXRlZ29yeSxcbiAgUmVzcG9uc2VFcnJvcixcbiAgU2VhcmNoQXBpLFxufSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgYmFzZVVybEF0b20gfSBmcm9tICdzcmMvYXRvbXMvZW52aXZlL2Vudml2ZUNvbmZpZyc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgeyB1c2VBcHBEZXRhaWxzIH0gZnJvbSAnc3JjL2hvb2tzL0FwcERldGFpbHMvdXNlQXBwRGV0YWlscyc7XG5pbXBvcnQgeyB1c2VFbnZpdmVDb25maWcgfSBmcm9tICdzcmMvY29udGV4dHMvZW52aXZlQ29uZmlnQ29udGV4dC9lbnZpdmVDb25maWdDb250ZXh0JztcbmltcG9ydCB7IFNlc3Npb25SZXN0YXJ0UmVxdWlyZWQgfSBmcm9tICdzcmMvdHlwZXMvZXhjZXB0aW9ucy9zZXNzaW9uRXhjZXB0aW9ucyc7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZFByb2R1Y3RFeGNlcHRpb24gfSBmcm9tICdzcmMvdHlwZXMvZXhjZXB0aW9ucy91bnN1cHBvcnRlZFByb2R1Y3RFeGNlcHRpb25zJztcbmltcG9ydCB7IFNlYXJjaFBhcmFtcywgU2VhcmNoUmVzdWx0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoJztcbmltcG9ydCB7XG4gIGNsZWFyU2VhcmNoU2VydmljZUZ1bmN0aW9uLFxuICBzZXRTZWFyY2hTZXJ2aWNlRnVuY3Rpb24sXG59IGZyb20gJ3NyYy9hdG9tcy9zZWFyY2gvc2VhcmNoU2VydmljZUFkYXB0ZXInO1xuXG5jb25zdCB0cmFuc2Zvcm1Qcm9kdWN0UmVzcG9uc2VzID0gKHByb2R1Y3RzOiBTZWFyY2hSZXN1bHRbJ3Byb2R1Y3RzJ10pID0+XG4gIHByb2R1Y3RzLm1hcChkYXRhID0+ICh7XG4gICAgaWQ6IGRhdGEuaWQsXG4gICAgcmVzcG9uc2VJZDogZGF0YS5yZXNwb25zZV9pZCxcbiAgICBjYXRlZ29yeTogUmVzcG9uc2VDYXRlZ29yeS5Qcm9kdWN0LFxuICAgIGRlc2NyaXB0aW9uOiBkYXRhLmRlc2NyaXB0aW9uLFxuICAgIGltYWdlVXJsOiBkYXRhLmltYWdlX3VybCxcbiAgICBpbWFnZVVybHM6IGRhdGEuaW1hZ2VfdXJscyxcbiAgICB0aXRsZTogZGF0YS50aXRsZSxcbiAgICB1cmw6IGRhdGEudXJsLFxuICAgIG9yaWdpbmFsUHJpY2U6IGRhdGEub3JpZ2luYWxfcHJpY2UsXG4gICAgc2FsZVByaWNlOiBkYXRhLnNhbGVfcHJpY2UsXG4gICAgYXZlcmFnZVJhdGluZzogZGF0YS5hdmVyYWdlX3JhdGluZyxcbiAgICBudW1iZXJSZXZpZXdzOiBkYXRhLm51bWJlcl9yZXZpZXdzLFxuICAgIG1ldGFkYXRhOiBkYXRhLm1ldGFkYXRhLFxuICAgIGlzRm9yR3JpZDogZGF0YS5pc19mb3JfZ3JpZCxcbiAgICBjb2xvcnM6IGRhdGEuY29sb3JzLFxuICAgIHNpemVzOiBkYXRhLnNpemVzLFxuICAgIGZpbHRlcnM6IGRhdGEuZmlsdGVycyxcbiAgfSkpO1xuXG5hc3luYyBmdW5jdGlvbiBlcnJvclJlc3BvbnNlQm9keShlcnJvcjogUmVzcG9uc2VFcnJvcikge1xuICB0cnkge1xuICAgIHJldHVybiBhd2FpdCBlcnJvci5yZXNwb25zZS5qc29uKCk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB7fTtcbiAgfVxufVxuXG5hc3luYyBmdW5jdGlvbiB0aHJvd1Nlc3Npb25SZXN0YXJ0UmVxdWlyZWRJZihlcnJvck1zZzogc3RyaW5nLCBlcnJvcjogdW5rbm93bikge1xuICBpZiAoIShlcnJvciBpbnN0YW5jZW9mIFJlc3BvbnNlRXJyb3IpKSB7XG4gICAgTG9nZ2VyLmxvZ0luZm8oZXJyb3JNc2csIGVycm9yKTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxuXG4gIGNvbnN0IGVycm9yUmVzcG9uc2UgPSBhd2FpdCBlcnJvclJlc3BvbnNlQm9keShlcnJvcik7XG4gIGlmIChcbiAgICBlcnJvclJlc3BvbnNlPy5tZXNzYWdlPy50b0xvd2VyQ2FzZSgpID09PSAndW5zdXBwb3J0ZWQgcHJvZHVjdCcgfHxcbiAgICBlcnJvclJlc3BvbnNlPy5hcHBfY29kZT8udG9VcHBlckNhc2UoKSA9PT0gJ1BST0RVQ1RfTk9UX0ZPVU5EJ1xuICApIHtcbiAgICB0aHJvdyBuZXcgVW5zdXBwb3J0ZWRQcm9kdWN0RXhjZXB0aW9uKCk7XG4gIH0gZWxzZSBpZiAoXG4gICAgZXJyb3JSZXNwb25zZT8uYXBwX2NvZGU/LnRvVXBwZXJDYXNlKCkgPT09ICdSRVNUQVJUX1NFU1NJT04nIHx8XG4gICAgZXJyb3JSZXNwb25zZT8uc3ViX2NvZGU/LnRvVXBwZXJDYXNlKCkgPT09ICdOT1RfRk9VTkQnXG4gICkge1xuICAgIExvZ2dlci5sb2dJbmZvKFxuICAgICAgJ1Nlc3Npb24gZG9lcyBub3QgZXhpc3QuIFJlLXN0YXJ0IHNlc3Npb24nLFxuICAgICAgZXJyb3IsXG4gICAgICBlcnJvci5yZXNwb25zZSxcbiAgICAgIGVycm9yUmVzcG9uc2UsXG4gICAgKTtcbiAgICB0aHJvdyBuZXcgU2Vzc2lvblJlc3RhcnRSZXF1aXJlZCgpO1xuICB9XG5cbiAgTG9nZ2VyLmxvZ0luZm8oZXJyb3JNc2csIGVycm9yKTtcbiAgdGhyb3cgZXJyb3I7XG59XG5cbmludGVyZmFjZSBTZWFyY2hDb250ZXh0VmFsdWUge1xuICBzZWFyY2hQcm9kdWN0czogKHBhcmFtczogU2VhcmNoUGFyYW1zKSA9PiBQcm9taXNlPFNlYXJjaFJlc3VsdD47XG4gIGlzUmVhZHk6IGJvb2xlYW47XG59XG5cbmNvbnN0IFNlYXJjaENvbnRleHQgPSBjcmVhdGVDb250ZXh0PFNlYXJjaENvbnRleHRWYWx1ZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuZXhwb3J0IGNvbnN0IFNlYXJjaFByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIGNvbnN0IHsgb3JnTGV2ZWxBcGlLZXksIHB1YmxpY0tleSB9ID0gdXNlRW52aXZlQ29uZmlnKCk7XG4gIGNvbnN0IGFwaUtleSA9IG9yZ0xldmVsQXBpS2V5IHx8IHB1YmxpY0tleTsgLy8gUmVwbGljYXRlIGFwaUtleUF0b20gbG9naWNcbiAgY29uc3QgYXBwRGV0YWlscyA9IHVzZUFwcERldGFpbHMoKTtcbiAgY29uc3QgYmFzZVVybCA9IHVzZUF0b21WYWx1ZShiYXNlVXJsQXRvbSk7XG5cbiAgY29uc3QgaXNSZWFkeSA9IEJvb2xlYW4oYXBpS2V5ICYmIGFwcERldGFpbHMgJiYgYmFzZVVybCk7XG5cbiAgY29uc3Qgc2VhcmNoQXBpID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKCFpc1JlYWR5KSByZXR1cm4gbnVsbDtcblxuICAgIGNvbnN0IGNvbmZpZzogQ29uZmlndXJhdGlvbiA9IG5ldyBDb25maWd1cmF0aW9uKHtcbiAgICAgIGFjY2Vzc1Rva2VuOiBhcGlLZXksXG4gICAgICBiYXNlUGF0aDogYmFzZVVybCxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiBuZXcgU2VhcmNoQXBpKGNvbmZpZyk7XG4gIH0sIFthcGlLZXksIGJhc2VVcmwsIGlzUmVhZHldKTtcblxuICBjb25zdCBzZWFyY2hQcm9kdWN0cyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwYXJhbXM6IFNlYXJjaFBhcmFtcyk6IFByb21pc2U8U2VhcmNoUmVzdWx0PiA9PiB7XG4gICAgICBpZiAoIWlzUmVhZHkgfHwgIXNlYXJjaEFwaSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NlYXJjaFNlcnZpY2Ugbm90IHJlYWR5IC0gbWlzc2luZyBkZXBlbmRlbmNpZXMnKTtcbiAgICAgIH1cblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBzZWFyY2hBcGkudjFTZWFyY2hRdWVyeUdldCh7XG4gICAgICAgICAgcXVlcnk6IHBhcmFtcy5xdWVyeSxcbiAgICAgICAgICBsaW1pdDogcGFyYW1zLmxpbWl0LFxuICAgICAgICAgIG9yZ19pZDogYXBwRGV0YWlscy5vcmdJZCxcbiAgICAgICAgICB1c2VyX2lkOiBhcHBEZXRhaWxzLnVzZXJJZCxcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHsgcHJvZHVjdHMsIGZpbHRlcnMsIHNlYXJjaF9yZXNwb25zZV9pZDogc2VhcmNoUmVzcG9uc2VJZCB9ID0gcmVzcG9uc2U7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBwcm9kdWN0czogdHJhbnNmb3JtUHJvZHVjdFJlc3BvbnNlcyhwcm9kdWN0cykgfHwgW10sXG4gICAgICAgICAgZmlsdGVyczogZmlsdGVycyB8fCBbXSxcbiAgICAgICAgICB0b3RhbFByb2R1Y3RDb3VudDogcHJvZHVjdHM/Lmxlbmd0aCB8fCAwLFxuICAgICAgICAgIHNlYXJjaFJlc3BvbnNlSWQ6IHNlYXJjaFJlc3BvbnNlSWQgfHwgJycsXG4gICAgICAgIH07XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBhd2FpdCB0aHJvd1Nlc3Npb25SZXN0YXJ0UmVxdWlyZWRJZignRmFpbGVkIHRvIHNlYXJjaCBwcm9kdWN0cycsIGVycm9yKTtcbiAgICAgICAgLy8gVGhpcyBwYXJ0IHdpbGwgbm90IGJlIHJlYWNoZWQgaWYgYW4gZXhjZXB0aW9uIGlzIHRocm93biwgYnV0IGl0J3MgcmVxdWlyZWQgZm9yIHR5cGUgc2FmZXR5XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcHJvZHVjdHM6IFtdLFxuICAgICAgICAgIGZpbHRlcnM6IFtdLFxuICAgICAgICAgIHRvdGFsUHJvZHVjdENvdW50OiAwLFxuICAgICAgICAgIHNlYXJjaFJlc3BvbnNlSWQ6ICcnLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NlYXJjaEFwaSwgaXNSZWFkeSwgYXBwRGV0YWlsc10sXG4gICk7XG5cbiAgLy8gUmVnaXN0ZXIgdGhlIHNlYXJjaCBmdW5jdGlvbiB3aXRoIHRoZSBhZGFwdGVyIGZvciB1c2UgaW4gYXRvbXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNSZWFkeSkge1xuICAgICAgc2V0U2VhcmNoU2VydmljZUZ1bmN0aW9uKHNlYXJjaFByb2R1Y3RzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY2xlYXJTZWFyY2hTZXJ2aWNlRnVuY3Rpb24oKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYXJTZWFyY2hTZXJ2aWNlRnVuY3Rpb24oKTtcbiAgICB9O1xuICB9LCBbc2VhcmNoUHJvZHVjdHMsIGlzUmVhZHldKTtcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIHNlYXJjaFByb2R1Y3RzLFxuICAgICAgaXNSZWFkeSxcbiAgICB9KSxcbiAgICBbc2VhcmNoUHJvZHVjdHMsIGlzUmVhZHldLFxuICApO1xuXG4gIHJldHVybiA8U2VhcmNoQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PntjaGlsZHJlbn08L1NlYXJjaENvbnRleHQuUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVNlYXJjaFNlcnZpY2UgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KFNlYXJjaENvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZVNlYXJjaFNlcnZpY2UgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFNlYXJjaFByb3ZpZGVyJyk7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUFvQkEsTUFBTSw2QkFBNkIsYUFDakMsU0FBUyxLQUFJLFVBQVM7Q0FDcEIsSUFBSSxLQUFLO0NBQ1QsWUFBWSxLQUFLO0NBQ2pCLFVBQVVBLGlEQUFpQjtDQUMzQixhQUFhLEtBQUs7Q0FDbEIsVUFBVSxLQUFLO0NBQ2YsV0FBVyxLQUFLO0NBQ2hCLE9BQU8sS0FBSztDQUNaLEtBQUssS0FBSztDQUNWLGVBQWUsS0FBSztDQUNwQixXQUFXLEtBQUs7Q0FDaEIsZUFBZSxLQUFLO0NBQ3BCLGVBQWUsS0FBSztDQUNwQixVQUFVLEtBQUs7Q0FDZixXQUFXLEtBQUs7Q0FDaEIsUUFBUSxLQUFLO0NBQ2IsT0FBTyxLQUFLO0NBQ1osU0FBUyxLQUFLO0NBQ2YsRUFBRTtBQUVMLGVBQWUsa0JBQWtCLE9BQXNCO0FBQ3JELEtBQUk7QUFDRixTQUFPLE1BQU0sTUFBTSxTQUFTLE1BQU07U0FDNUI7QUFDTixTQUFPLEVBQUU7OztBQUliLGVBQWUsOEJBQThCLFVBQWtCLE9BQWdCO0FBQzdFLEtBQUksRUFBRSxpQkFBaUJDLGdEQUFnQjtBQUNyQyx5QkFBTyxRQUFRLFVBQVUsTUFBTTtBQUMvQixRQUFNOztDQUdSLE1BQU0sZ0JBQWdCLE1BQU0sa0JBQWtCLE1BQU07QUFDcEQsS0FDRSxlQUFlLFNBQVMsYUFBYSxLQUFLLHlCQUMxQyxlQUFlLFVBQVUsYUFBYSxLQUFLLG9CQUUzQyxPQUFNLElBQUlDLGtFQUE2QjtVQUV2QyxlQUFlLFVBQVUsYUFBYSxLQUFLLHFCQUMzQyxlQUFlLFVBQVUsYUFBYSxLQUFLLGFBQzNDO0FBQ0EseUJBQU8sUUFDTCw0Q0FDQSxPQUNBLE1BQU0sVUFDTixjQUNEO0FBQ0QsUUFBTSxJQUFJQyxrREFBd0I7O0FBR3BDLHdCQUFPLFFBQVEsVUFBVSxNQUFNO0FBQy9CLE9BQU07O0FBUVIsTUFBTSx5Q0FBOEQsT0FBVTtBQUU5RSxNQUFhQyxrQkFBMkQsRUFBRSxlQUFlO0NBQ3ZGLE1BQU0sRUFBRSxnQkFBZ0IsY0FBY0MsNkNBQWlCO0NBQ3ZELE1BQU0sU0FBUyxrQkFBa0I7Q0FDakMsTUFBTSxhQUFhQyxxQ0FBZTtDQUNsQyxNQUFNLGtDQUF1QkMsOENBQVk7Q0FFekMsTUFBTSxVQUFVLFFBQVEsVUFBVSxjQUFjLFFBQVE7Q0FFeEQsTUFBTSxxQ0FBMEI7QUFDOUIsTUFBSSxDQUFDLFFBQVMsUUFBTztBQVVyQixTQUFPLElBQUlDLDBDQVJtQixJQUFJQyw4Q0FBYztHQUM5QyxhQUFhO0dBQ2IsVUFBVTtHQUNWLFNBQVM7SUFDUCxnQkFBZ0I7SUFDaEIsUUFBUTtJQUNUO0dBQ0YsQ0FBQyxDQUMwQjtJQUMzQjtFQUFDO0VBQVE7RUFBUztFQUFRLENBQUM7Q0FFOUIsTUFBTSx3Q0FDSixPQUFPLFdBQWdEO0FBQ3JELE1BQUksQ0FBQyxXQUFXLENBQUMsVUFDZixPQUFNLElBQUksTUFBTSxpREFBaUQ7QUFHbkUsTUFBSTtHQU9GLE1BQU0sRUFBRSxVQUFVLFNBQVMsb0JBQW9CLHFCQU45QixNQUFNLFVBQVUsaUJBQWlCO0lBQ2hELE9BQU8sT0FBTztJQUNkLE9BQU8sT0FBTztJQUNkLFFBQVEsV0FBVztJQUNuQixTQUFTLFdBQVc7SUFDckIsQ0FBQztBQUdGLFVBQU87SUFDTCxVQUFVLDBCQUEwQixTQUFTLElBQUksRUFBRTtJQUNuRCxTQUFTLFdBQVcsRUFBRTtJQUN0QixtQkFBbUIsVUFBVSxVQUFVO0lBQ3ZDLGtCQUFrQixvQkFBb0I7SUFDdkM7V0FDTSxPQUFPO0FBQ2QsU0FBTSw4QkFBOEIsNkJBQTZCLE1BQU07QUFFdkUsVUFBTztJQUNMLFVBQVUsRUFBRTtJQUNaLFNBQVMsRUFBRTtJQUNYLG1CQUFtQjtJQUNuQixrQkFBa0I7SUFDbkI7O0lBR0w7RUFBQztFQUFXO0VBQVM7RUFBVyxDQUNqQztBQUdELDRCQUFnQjtBQUNkLE1BQUksUUFDRix1REFBeUIsZUFBZTtNQUV4QywwREFBNEI7QUFHOUIsZUFBYTtBQUNYLDREQUE0Qjs7SUFFN0IsQ0FBQyxnQkFBZ0IsUUFBUSxDQUFDO0NBRTdCLE1BQU0sa0NBQ0c7RUFDTDtFQUNBO0VBQ0QsR0FDRCxDQUFDLGdCQUFnQixRQUFRLENBQzFCO0FBRUQsUUFBTywyQ0FBQyxjQUFjO0VBQWdCO0VBQVE7R0FBa0M7O0FBR2xGLE1BQWEseUJBQXlCO0NBQ3BDLE1BQU0sZ0NBQXFCLGNBQWM7QUFDekMsS0FBSSxDQUFDLFFBQ0gsT0FBTSxJQUFJLE1BQU0sd0RBQXdEO0FBRTFFLFFBQU8ifQ==
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import logger_default from "../../application/logging/logger.js";
|
|
2
2
|
import { baseUrlAtom } from "../../atoms/envive/enviveConfig.js";
|
|
3
3
|
import { useEnviveConfig } from "../enviveConfigContext/enviveConfigContext.js";
|
|
4
|
-
import { clearSearchServiceFunction, setSearchServiceFunction } from "../../atoms/search/searchServiceAdapter.js";
|
|
5
4
|
import { SessionRestartRequired } from "../../types/exceptions/sessionExceptions.js";
|
|
6
5
|
import { UnsupportedProductException } from "../../types/exceptions/unsupportedProductExceptions.js";
|
|
6
|
+
import { clearSearchServiceFunction, setSearchServiceFunction } from "../../atoms/search/searchServiceAdapter.js";
|
|
7
7
|
import { useAppDetails } from "../../hooks/AppDetails/useAppDetails.js";
|
|
8
8
|
import { Configuration, ResponseCategory, ResponseError, SearchApi } from "@spiffy-ai/commerce-api-client";
|
|
9
9
|
import React, { createContext, useCallback, useContext, useEffect, useMemo } from "react";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
const
|
|
2
|
+
const require_atoms_envive_enviveConfig = require('../../atoms/envive/enviveConfig.cjs');
|
|
3
3
|
let react = require("react");
|
|
4
4
|
let jotai = require("jotai");
|
|
5
5
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -18,7 +18,7 @@ const defaultGenerationParams = {
|
|
|
18
18
|
const SystemSettingsContext = (0, react.createContext)(void 0);
|
|
19
19
|
const SystemSettingsContextProvider = ({ children, generationParams, showDebugBar }) => {
|
|
20
20
|
const [params, setParams] = (0, react.useState)(() => generationParams ?? defaultGenerationParams);
|
|
21
|
-
const endpointURL = (0, jotai.useAtomValue)(
|
|
21
|
+
const endpointURL = (0, jotai.useAtomValue)(require_atoms_envive_enviveConfig.baseUrlAtom);
|
|
22
22
|
const settingsContextValues = (0, react.useMemo)(() => ({
|
|
23
23
|
generationParams: params,
|
|
24
24
|
showDebugBar,
|
|
@@ -39,4 +39,4 @@ const SystemSettingsContextProvider = ({ children, generationParams, showDebugBa
|
|
|
39
39
|
exports.SystemSettingsContext = SystemSettingsContext;
|
|
40
40
|
exports.SystemSettingsContextProvider = SystemSettingsContextProvider;
|
|
41
41
|
exports.defaultGenerationParams = defaultGenerationParams;
|
|
42
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtU2V0dGluZ3NDb250ZXh0LmNqcyIsIm5hbWVzIjpbImRlZmF1bHRHZW5lcmF0aW9uUGFyYW1zOiBHZW5lcmF0aW9uUGFyYW1zIiwiYmFzZVVybEF0b20iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc3lzdGVtU2V0dGluZ3NDb250ZXh0L3N5c3RlbVNldHRpbmdzQ29udGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgRGlzcGF0Y2gsIFJlYWN0Tm9kZSwgU2V0U3RhdGVBY3Rpb24sIGNyZWF0ZUNvbnRleHQsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2VuZXJhdGlvblBhcmFtcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgYmFzZVVybEF0b20gfSBmcm9tICdzcmMvYXRvbXMvZW52aXZlL2Vudml2ZUNvbmZpZyc7XG5cbi8vIFRPRE86IFJlZmFjdG9yIHRoaXMgdG8gYSBjb21tb24gc2VydmljZSB0aGF0IGhhbmRsZXMgcXVlcnkgcGFyYW1zIChhbmQgc3BpZmZ5IHZhcmlhYmxlcyBhbGwgdG9nZXRoZXIpXG5jb25zdCBnZXRDaGF0TW9kZWxOYW1lID0gKCkgPT4ge1xuICBjb25zdCB1cmxPYmogPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh1cmxPYmouc2VhcmNoKTtcbiAgY29uc3QgcGFyYW1zT2JqID0gT2JqZWN0LmZyb21FbnRyaWVzKHBhcmFtcy5lbnRyaWVzKCkpO1xuICByZXR1cm4gcGFyYW1zT2JqLmxsbV9tb2RlbF9uYW1lO1xufTtcblxuY29uc3QgZGVmYXVsdEdlbmVyYXRpb25QYXJhbXM6IEdlbmVyYXRpb25QYXJhbXMgPSB7XG4gIHN0cmVhbTogdHJ1ZSxcbiAgbnVtU3VnZ2VzdGlvbnM6IDMsXG4gIG1vZGVsOiBnZXRDaGF0TW9kZWxOYW1lKCksXG59O1xuXG5pbnRlcmZhY2UgU3lzdGVtU2V0dGluZ3NDb250ZXh0UGFyYW1zIHtcbiAgZ2VuZXJhdGlvblBhcmFtcz86IEdlbmVyYXRpb25QYXJhbXM7XG4gIHNob3dEZWJ1Z0Jhcj86IGJvb2xlYW47XG4gIGVuZHBvaW50VVJMPzogc3RyaW5nO1xuICBzZXRHZW5lcmF0aW9uUGFyYW1zOiBEaXNwYXRjaDxTZXRTdGF0ZUFjdGlvbjxHZW5lcmF0aW9uUGFyYW1zIHwgdW5kZWZpbmVkPj47XG59XG5cbmludGVyZmFjZSBTeXN0ZW1TZXR0aW5nc0NvbnRleHRQcm92aWRlclByb3BzIHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgZ2VuZXJhdGlvblBhcmFtcz86IEdlbmVyYXRpb25QYXJhbXM7XG4gIHNob3dEZWJ1Z0Jhcj86IGJvb2xlYW47XG59XG5cbmNvbnN0IFN5c3RlbVNldHRpbmdzQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8U3lzdGVtU2V0dGluZ3NDb250ZXh0UGFyYW1zIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5jb25zdCBTeXN0ZW1TZXR0aW5nc0NvbnRleHRQcm92aWRlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBnZW5lcmF0aW9uUGFyYW1zLFxuICBzaG93RGVidWdCYXIsXG59OiBTeXN0ZW1TZXR0aW5nc0NvbnRleHRQcm92aWRlclByb3BzKSA9PiB7XG4gIGNvbnN0IFtwYXJhbXMsIHNldFBhcmFtc10gPSB1c2VTdGF0ZTxHZW5lcmF0aW9uUGFyYW1zIHwgdW5kZWZpbmVkPihcbiAgICAoKSA9PiBnZW5lcmF0aW9uUGFyYW1zID8/IGRlZmF1bHRHZW5lcmF0aW9uUGFyYW1zLFxuICApO1xuICBjb25zdCBlbmRwb2ludFVSTCA9IHVzZUF0b21WYWx1ZShiYXNlVXJsQXRvbSk7XG4gIGNvbnN0IHNldHRpbmdzQ29udGV4dFZhbHVlcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGdlbmVyYXRpb25QYXJhbXM6IHBhcmFtcyxcbiAgICAgIHNob3dEZWJ1Z0JhcixcbiAgICAgIHNldEdlbmVyYXRpb25QYXJhbXM6IHNldFBhcmFtcyxcbiAgICAgIGVuZHBvaW50VVJMLFxuICAgIH0pLFxuICAgIFtnZW5lcmF0aW9uUGFyYW1zLCBlbmRwb2ludFVSTCwgc2hvd0RlYnVnQmFyXSxcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxTeXN0ZW1TZXR0aW5nc0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3NldHRpbmdzQ29udGV4dFZhbHVlc30+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TeXN0ZW1TZXR0aW5nc0NvbnRleHQuUHJvdmlkZXI+
|
|
42
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtU2V0dGluZ3NDb250ZXh0LmNqcyIsIm5hbWVzIjpbImRlZmF1bHRHZW5lcmF0aW9uUGFyYW1zOiBHZW5lcmF0aW9uUGFyYW1zIiwiYmFzZVVybEF0b20iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc3lzdGVtU2V0dGluZ3NDb250ZXh0L3N5c3RlbVNldHRpbmdzQ29udGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgRGlzcGF0Y2gsIFJlYWN0Tm9kZSwgU2V0U3RhdGVBY3Rpb24sIGNyZWF0ZUNvbnRleHQsIHVzZU1lbW8sIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgR2VuZXJhdGlvblBhcmFtcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgYmFzZVVybEF0b20gfSBmcm9tICdzcmMvYXRvbXMvZW52aXZlL2Vudml2ZUNvbmZpZyc7XG5cbi8vIFRPRE86IFJlZmFjdG9yIHRoaXMgdG8gYSBjb21tb24gc2VydmljZSB0aGF0IGhhbmRsZXMgcXVlcnkgcGFyYW1zIChhbmQgc3BpZmZ5IHZhcmlhYmxlcyBhbGwgdG9nZXRoZXIpXG5jb25zdCBnZXRDaGF0TW9kZWxOYW1lID0gKCkgPT4ge1xuICBjb25zdCB1cmxPYmogPSBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh1cmxPYmouc2VhcmNoKTtcbiAgY29uc3QgcGFyYW1zT2JqID0gT2JqZWN0LmZyb21FbnRyaWVzKHBhcmFtcy5lbnRyaWVzKCkpO1xuICByZXR1cm4gcGFyYW1zT2JqLmxsbV9tb2RlbF9uYW1lO1xufTtcblxuY29uc3QgZGVmYXVsdEdlbmVyYXRpb25QYXJhbXM6IEdlbmVyYXRpb25QYXJhbXMgPSB7XG4gIHN0cmVhbTogdHJ1ZSxcbiAgbnVtU3VnZ2VzdGlvbnM6IDMsXG4gIG1vZGVsOiBnZXRDaGF0TW9kZWxOYW1lKCksXG59O1xuXG5pbnRlcmZhY2UgU3lzdGVtU2V0dGluZ3NDb250ZXh0UGFyYW1zIHtcbiAgZ2VuZXJhdGlvblBhcmFtcz86IEdlbmVyYXRpb25QYXJhbXM7XG4gIHNob3dEZWJ1Z0Jhcj86IGJvb2xlYW47XG4gIGVuZHBvaW50VVJMPzogc3RyaW5nO1xuICBzZXRHZW5lcmF0aW9uUGFyYW1zOiBEaXNwYXRjaDxTZXRTdGF0ZUFjdGlvbjxHZW5lcmF0aW9uUGFyYW1zIHwgdW5kZWZpbmVkPj47XG59XG5cbmludGVyZmFjZSBTeXN0ZW1TZXR0aW5nc0NvbnRleHRQcm92aWRlclByb3BzIHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgZ2VuZXJhdGlvblBhcmFtcz86IEdlbmVyYXRpb25QYXJhbXM7XG4gIHNob3dEZWJ1Z0Jhcj86IGJvb2xlYW47XG59XG5cbmNvbnN0IFN5c3RlbVNldHRpbmdzQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8U3lzdGVtU2V0dGluZ3NDb250ZXh0UGFyYW1zIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5jb25zdCBTeXN0ZW1TZXR0aW5nc0NvbnRleHRQcm92aWRlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBnZW5lcmF0aW9uUGFyYW1zLFxuICBzaG93RGVidWdCYXIsXG59OiBTeXN0ZW1TZXR0aW5nc0NvbnRleHRQcm92aWRlclByb3BzKSA9PiB7XG4gIGNvbnN0IFtwYXJhbXMsIHNldFBhcmFtc10gPSB1c2VTdGF0ZTxHZW5lcmF0aW9uUGFyYW1zIHwgdW5kZWZpbmVkPihcbiAgICAoKSA9PiBnZW5lcmF0aW9uUGFyYW1zID8/IGRlZmF1bHRHZW5lcmF0aW9uUGFyYW1zLFxuICApO1xuICBjb25zdCBlbmRwb2ludFVSTCA9IHVzZUF0b21WYWx1ZShiYXNlVXJsQXRvbSk7XG4gIGNvbnN0IHNldHRpbmdzQ29udGV4dFZhbHVlcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGdlbmVyYXRpb25QYXJhbXM6IHBhcmFtcyxcbiAgICAgIHNob3dEZWJ1Z0JhcixcbiAgICAgIHNldEdlbmVyYXRpb25QYXJhbXM6IHNldFBhcmFtcyxcbiAgICAgIGVuZHBvaW50VVJMLFxuICAgIH0pLFxuICAgIFtnZW5lcmF0aW9uUGFyYW1zLCBlbmRwb2ludFVSTCwgc2hvd0RlYnVnQmFyXSxcbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxTeXN0ZW1TZXR0aW5nc0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3NldHRpbmdzQ29udGV4dFZhbHVlc30+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TeXN0ZW1TZXR0aW5nc0NvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgeyBTeXN0ZW1TZXR0aW5nc0NvbnRleHRQcm92aWRlciwgU3lzdGVtU2V0dGluZ3NDb250ZXh0LCBkZWZhdWx0R2VuZXJhdGlvblBhcmFtcyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBTUEsTUFBTSx5QkFBeUI7Q0FDN0IsTUFBTSxTQUFTLElBQUksSUFBSSxPQUFPLFNBQVMsS0FBSztDQUM1QyxNQUFNLFNBQVMsSUFBSSxnQkFBZ0IsT0FBTyxPQUFPO0FBRWpELFFBRGtCLE9BQU8sWUFBWSxPQUFPLFNBQVMsQ0FBQyxDQUNyQzs7QUFHbkIsTUFBTUEsMEJBQTRDO0NBQ2hELFFBQVE7Q0FDUixnQkFBZ0I7Q0FDaEIsT0FBTyxrQkFBa0I7Q0FDMUI7QUFlRCxNQUFNLGlEQUErRSxPQUFVO0FBRS9GLE1BQU0saUNBQWlDLEVBQ3JDLFVBQ0Esa0JBQ0EsbUJBQ3dDO0NBQ3hDLE1BQU0sQ0FBQyxRQUFRLHVDQUNQLG9CQUFvQix3QkFDM0I7Q0FDRCxNQUFNLHNDQUEyQkMsOENBQVk7Q0FDN0MsTUFBTSxrREFDRztFQUNMLGtCQUFrQjtFQUNsQjtFQUNBLHFCQUFxQjtFQUNyQjtFQUNELEdBQ0Q7RUFBQztFQUFrQjtFQUFhO0VBQWEsQ0FDOUM7QUFFRCxRQUNFLDJDQUFDLHNCQUFzQjtFQUFTLE9BQU87RUFDcEM7R0FDOEIifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { GenerationParams } from "../../application/models/api/generationParams.cjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react2 from "react";
|
|
3
3
|
import { Dispatch, ReactNode, SetStateAction } from "react";
|
|
4
4
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
5
|
|
|
@@ -16,7 +16,7 @@ interface SystemSettingsContextProviderProps {
|
|
|
16
16
|
generationParams?: GenerationParams;
|
|
17
17
|
showDebugBar?: boolean;
|
|
18
18
|
}
|
|
19
|
-
declare const SystemSettingsContext:
|
|
19
|
+
declare const SystemSettingsContext: react2.Context<SystemSettingsContextParams | undefined>;
|
|
20
20
|
declare const SystemSettingsContextProvider: ({
|
|
21
21
|
children,
|
|
22
22
|
generationParams,
|