@envive-ai/react-hooks 0.3.0 → 0.3.2
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 +4 -4
- package/dist/application/commerce-api.js +4 -4
- package/dist/application/models/api/response.d.cts +1 -1
- package/dist/application/models/api/response.d.ts +1 -1
- package/dist/application/models/frontendConfig.d.cts +1 -1
- package/dist/application/models/frontendConfig.d.ts +1 -1
- 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 +2 -2
- package/dist/application/models/guards/api/isApiOrderResponseAttributes.js +2 -2
- 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/guards/api/isApiSearchEventAttributes.cjs +2 -2
- package/dist/application/models/guards/api/isApiSearchEventAttributes.js +2 -2
- package/dist/application/models/message.cjs +1 -1
- package/dist/application/models/message.d.cts +1 -1
- package/dist/application/models/message.d.ts +1 -1
- package/dist/application/models/message.js +1 -1
- package/dist/application/models/validators/validateGraphQLColorsConfig.cjs +2 -1
- package/dist/application/models/validators/validateGraphQLColorsConfig.js +2 -1
- package/dist/application/models/validators/validateGraphQLFrontendConfig.cjs +1 -1
- package/dist/application/models/validators/validateGraphQLFrontendConfig.d.cts +1 -1
- package/dist/application/models/validators/validateGraphQLFrontendConfig.d.ts +1 -1
- package/dist/application/models/validators/validateGraphQLFrontendConfig.js +1 -1
- package/dist/application/utils/analyticsUtils.cjs +2 -2
- package/dist/application/utils/analyticsUtils.js +2 -2
- package/dist/application/utils/domObserver.cjs +1 -1
- package/dist/application/utils/domObserver.js +1 -1
- package/dist/application/utils/elementObserver.cjs +1 -1
- package/dist/application/utils/elementObserver.d.cts +2 -2
- package/dist/application/utils/elementObserver.js +1 -1
- package/dist/application/utils/mutationHelper.cjs +2 -2
- package/dist/application/utils/mutationHelper.js +2 -2
- package/dist/application/utils/nodeSelector.cjs +5 -2
- package/dist/application/utils/nodeSelector.js +5 -2
- package/dist/application/utils/stringUtils.cjs +1 -1
- package/dist/application/utils/stringUtils.js +1 -1
- package/dist/atoms/app/index.cjs +1 -1
- package/dist/atoms/app/index.d.cts +1 -1
- package/dist/atoms/app/index.js +1 -1
- package/dist/atoms/app/variant.cjs +1 -1
- package/dist/atoms/app/variant.d.cts +3 -3
- package/dist/atoms/app/variant.d.ts +3 -3
- package/dist/atoms/app/variant.js +1 -1
- package/dist/atoms/chat/chatState.d.cts +15 -15
- package/dist/atoms/chat/chatState.d.ts +15 -15
- package/dist/atoms/chat/form.d.cts +2 -2
- package/dist/atoms/chat/form.d.ts +2 -2
- package/dist/atoms/chat/index.cjs +1 -1
- package/dist/atoms/chat/index.d.cts +3 -3
- package/dist/atoms/chat/index.d.ts +2 -2
- package/dist/atoms/chat/index.js +1 -1
- package/dist/atoms/chat/lastMessage.d.cts +2 -2
- package/dist/atoms/chat/lastMessage.d.ts +2 -2
- package/dist/atoms/chat/messageQueue.cjs +1 -1
- package/dist/atoms/chat/messageQueue.js +1 -1
- 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.cjs +2 -2
- package/dist/atoms/chat/replies.d.cts +2 -2
- package/dist/atoms/chat/replies.d.ts +2 -2
- package/dist/atoms/chat/replies.js +2 -2
- package/dist/atoms/chat/suggestions.d.cts +2 -2
- package/dist/atoms/chat/suggestions.d.ts +2 -2
- package/dist/atoms/globalSearch/globalSearch.cjs +3 -1
- package/dist/atoms/globalSearch/globalSearch.d.cts +10 -7
- package/dist/atoms/globalSearch/globalSearch.d.ts +10 -7
- package/dist/atoms/globalSearch/globalSearch.js +3 -2
- package/dist/atoms/globalSearch/index.cjs +1 -0
- package/dist/atoms/globalSearch/index.d.cts +2 -2
- package/dist/atoms/globalSearch/index.d.ts +2 -2
- package/dist/atoms/globalSearch/index.js +2 -2
- package/dist/atoms/org/customerService.d.cts +7 -7
- package/dist/atoms/org/graphqlConfig.cjs +1 -1
- package/dist/atoms/org/graphqlConfig.d.cts +6 -6
- package/dist/atoms/org/graphqlConfig.d.ts +5 -5
- package/dist/atoms/org/graphqlConfig.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.cjs +1 -1
- package/dist/atoms/org/orgAnalyticsConfig.d.cts +6 -6
- package/dist/atoms/org/orgAnalyticsConfig.d.ts +6 -6
- package/dist/atoms/org/orgAnalyticsConfig.js +1 -1
- package/dist/atoms/search/chatSearch.d.cts +17 -17
- package/dist/atoms/search/chatSearch.d.ts +17 -17
- package/dist/atoms/search/searchAPI.cjs +1 -1
- package/dist/atoms/search/searchAPI.d.cts +14 -14
- package/dist/atoms/search/searchAPI.d.ts +14 -14
- package/dist/atoms/search/searchAPI.js +1 -1
- package/dist/atoms/search/searchServiceAdapter.cjs +1 -1
- package/dist/atoms/search/searchServiceAdapter.js +1 -1
- package/dist/atoms/search/types.d.cts +1 -1
- package/dist/contexts/amplitudeContext/amplitudeContext.cjs +6 -6
- package/dist/contexts/amplitudeContext/amplitudeContext.js +6 -6
- package/dist/contexts/cdnContext/cdnContext.cjs +1 -1
- package/dist/contexts/cdnContext/cdnContext.js +1 -1
- package/dist/contexts/chatContext/chatContext.cjs +4 -4
- package/dist/contexts/chatContext/chatContext.d.cts +2 -2
- package/dist/contexts/chatContext/chatContext.js +4 -4
- package/dist/contexts/enviveConfigContext/enviveConfigContext.cjs +2 -3
- package/dist/contexts/enviveConfigContext/enviveConfigContext.js +2 -3
- package/dist/contexts/enviveContext/enviveContext.cjs +52 -0
- package/dist/contexts/enviveContext/enviveContext.d.cts +31 -0
- package/dist/contexts/enviveContext/enviveContext.d.ts +31 -0
- package/dist/contexts/enviveContext/enviveContext.js +51 -0
- package/dist/contexts/enviveContext/index.cjs +5 -0
- package/dist/contexts/enviveContext/index.d.cts +3 -0
- package/dist/contexts/enviveContext/index.d.ts +3 -0
- package/dist/contexts/enviveContext/index.js +4 -0
- package/dist/contexts/enviveContext/types.cjs +11 -0
- package/dist/contexts/enviveContext/types.d.cts +8 -0
- package/dist/contexts/enviveContext/types.d.ts +8 -0
- package/dist/contexts/enviveContext/types.js +10 -0
- package/dist/contexts/featureFlagContext/featureFlagContext.cjs +2 -2
- package/dist/contexts/featureFlagContext/featureFlagContext.js +2 -2
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.cjs +2 -2
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.js +2 -2
- package/dist/contexts/graphqlContext/graphqlContext.cjs +3 -3
- package/dist/contexts/graphqlContext/graphqlContext.js +3 -3
- package/dist/contexts/localStorageContext/localStorageContext.cjs +1 -1
- package/dist/contexts/localStorageContext/localStorageContext.js +1 -1
- package/dist/contexts/newOrgConfigContext/newOrgConfigContext.cjs +1 -1
- package/dist/contexts/newOrgConfigContext/newOrgConfigContext.js +1 -1
- package/dist/contexts/searchContext/searchContext.cjs +1 -1
- package/dist/contexts/searchContext/searchContext.js +1 -1
- package/dist/contexts/sessionStorageContext/sessionStorageContext.cjs +1 -1
- package/dist/contexts/sessionStorageContext/sessionStorageContext.js +1 -1
- package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
- package/dist/contexts/systemSettingsContext/systemSettingsContext.d.ts +2 -2
- package/dist/contexts/types.cjs +1 -1
- package/dist/contexts/types.d.cts +1 -1
- package/dist/contexts/types.d.ts +1 -1
- package/dist/contexts/types.js +1 -1
- package/dist/contexts/userIdentityContext/userIdentityContext.cjs +1 -1
- package/dist/contexts/userIdentityContext/userIdentityContext.js +1 -1
- package/dist/events/index.cjs +2 -4
- package/dist/events/index.js +2 -4
- package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.cjs +1 -1
- package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.js +1 -1
- package/dist/hooks/Debounce/useDebounce.cjs +1 -1
- package/dist/hooks/Debounce/useDebounce.js +1 -1
- package/dist/hooks/ElementObserver/useElementObserver.cjs +2 -2
- package/dist/hooks/ElementObserver/useElementObserver.js +2 -2
- package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +2 -2
- package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +2 -2
- package/dist/hooks/IdentifyUser/useIdentifyUser.cjs +1 -1
- package/dist/hooks/IdentifyUser/useIdentifyUser.js +1 -1
- package/dist/hooks/ImageResolver/useImageResolver.cjs +2 -2
- package/dist/hooks/ImageResolver/useImageResolver.js +2 -2
- package/dist/hooks/IsSmallScreen/useIsSmallScreen.cjs +1 -1
- package/dist/hooks/IsSmallScreen/useIsSmallScreen.js +1 -1
- package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.cjs +11 -3
- package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.js +11 -3
- package/dist/hooks/Search/useRecommendedProducts.cjs +1 -1
- package/dist/hooks/Search/useRecommendedProducts.js +1 -1
- package/dist/hooks/Search/useSearch.cjs +6 -3
- package/dist/hooks/Search/useSearch.d.cts +3 -1
- package/dist/hooks/Search/useSearch.d.ts +3 -1
- package/dist/hooks/Search/useSearch.js +7 -4
- package/dist/hooks/Search/useSearchInput.cjs +1 -1
- package/dist/hooks/Search/useSearchInput.js +1 -1
- package/dist/hooks/SearchOperations/useSearchOperations.cjs +1 -1
- package/dist/hooks/SearchOperations/useSearchOperations.d.cts +1 -1
- package/dist/hooks/SearchOperations/useSearchOperations.d.ts +1 -1
- package/dist/hooks/SearchOperations/useSearchOperations.js +1 -1
- package/dist/hooks/SessionStorageOperations/useSessionStorageOperations.cjs +1 -1
- package/dist/hooks/SessionStorageOperations/useSessionStorageOperations.js +1 -1
- package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.cts +2 -2
- package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.ts +2 -2
- package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +1 -1
- package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +1 -1
- package/dist/hooks/utils.cjs +3 -3
- package/dist/hooks/utils.d.cts +1 -1
- package/dist/hooks/utils.d.ts +1 -1
- package/dist/hooks/utils.js +3 -3
- package/package.json +25 -6
- package/src/application/commerce-api.ts +12 -10
- package/src/application/models/api/nextMessageRequest.ts +2 -0
- package/src/application/models/api/response.ts +4 -4
- package/src/application/models/api/search.ts +1 -2
- package/src/application/models/api/userEvent.ts +1 -2
- package/src/application/models/frontendConfig.ts +2 -2
- package/src/application/models/guards/api/isApiOrderResponseAttributes.ts +8 -4
- package/src/application/models/guards/api/isApiSearchEventAttributes.ts +1 -1
- package/src/application/models/index.ts +1 -0
- package/src/application/models/message.ts +5 -5
- package/src/application/models/utilityTypes/delimiterCase.ts +1 -0
- package/src/application/models/validators/validateGraphQLColorsConfig.ts +2 -1
- package/src/application/models/validators/validateGraphQLFrontendConfig.ts +1 -1
- package/src/application/models/variantInfo/variantInfo.ts +3 -0
- package/src/application/utils/analyticsUtils.ts +3 -3
- package/src/application/utils/domObserver.ts +1 -0
- package/src/application/utils/elementObserver.ts +1 -0
- package/src/application/utils/mutationHelper.ts +3 -1
- package/src/application/utils/nodeSelector.ts +7 -1
- package/src/application/utils/stringUtils.ts +1 -0
- package/src/atoms/app/index.ts +17 -6
- package/src/atoms/app/variant.ts +11 -13
- package/src/atoms/chat/__tests__/messageQueue.test.spec.ts +61 -0
- package/src/atoms/chat/index.ts +8 -8
- package/src/atoms/chat/messageQueue.ts +2 -48
- package/src/atoms/chat/replies.ts +3 -3
- package/src/atoms/org/graphqlConfig.ts +0 -1
- package/src/atoms/org/orgAnalyticsConfig.ts +1 -1
- package/src/atoms/search/searchAPI.ts +1 -1
- package/src/atoms/search/searchServiceAdapter.ts +1 -1
- package/src/contexts/amplitudeContext/__tests__/amplitudeContext.test.tsx +4 -3
- package/src/contexts/amplitudeContext/amplitudeContext.tsx +5 -5
- package/src/contexts/cdnContext/cdnContext.tsx +1 -1
- package/src/contexts/enviveConfigContext/__tests__/enviveConfigContext.test.tsx +2 -3
- package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +3 -3
- package/src/contexts/enviveContext/enviveContext.tsx +89 -0
- package/src/contexts/enviveContext/index.ts +2 -0
- package/src/contexts/enviveContext/types.ts +4 -0
- package/src/contexts/featureFlagContext/featureFlagContext.tsx +1 -1
- package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +1 -1
- package/src/contexts/graphqlContext/__tests__/graphqlContext.test.tsx +7 -5
- package/src/contexts/graphqlContext/graphqlContext.tsx +1 -5
- package/src/contexts/hardcopyContext/hardcopyContext.tsx +70 -0
- package/src/contexts/hardcopyContext/index.ts +1 -0
- package/src/contexts/localStorageContext/__tests__/localStorageContext.test.tsx +9 -3
- package/src/contexts/localStorageContext/localStorageContext.tsx +1 -1
- package/src/contexts/newOrgConfigContext/__tests__/newOrgConfigContext.test.tsx +2 -3
- package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +1 -1
- package/src/contexts/pageContext/__tests__/pageContext.test.tsx +666 -0
- package/src/contexts/pageContext/index.ts +2 -0
- package/src/contexts/pageContext/mapping.ts +38 -0
- package/src/contexts/pageContext/pageContext.tsx +78 -0
- package/src/contexts/pageContext/types.ts +27 -0
- package/src/contexts/salesAgentContext/chatAPI.ts +75 -0
- package/src/contexts/salesAgentContext/index.ts +3 -0
- package/src/contexts/salesAgentContext/salesAgentContext.tsx +128 -0
- package/src/contexts/salesAgentContext/salesAgentService.ts +197 -0
- package/src/contexts/searchContext/__tests__/searchContext.test.tsx +14 -15
- package/src/contexts/searchContext/searchContext.tsx +1 -1
- package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +1 -1
- package/src/contexts/systemSettingsContext/__tests__/systemSettingsContext.test.tsx +7 -6
- package/src/contexts/types.ts +20 -22
- package/src/contexts/userIdentityContext/__tests__/userIdentityContext.test.tsx +3 -8
- package/src/contexts/userIdentityContext/userIdentityContext.tsx +1 -1
- package/src/events/index.ts +5 -7
- package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +1 -1
- package/src/hooks/Debounce/useDebounce.ts +1 -1
- package/src/hooks/ElementObserver/useElementObserver.ts +2 -1
- package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +4 -2
- package/src/hooks/IdentifyUser/useIdentifyUser.ts +1 -1
- package/src/hooks/ImageResolver/useImageResolver.ts +2 -0
- package/src/hooks/IsSmallScreen/useIsSmallScreen.ts +1 -1
- package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +20 -4
- package/src/hooks/Search/__tests__/useSearch.test.tsx +15 -10
- package/src/hooks/Search/useRecommendedProducts.ts +2 -2
- package/src/hooks/Search/useSearchInput.ts +1 -1
- package/src/hooks/SearchOperations/useSearchOperations.ts +2 -2
- package/src/hooks/SessionStorageOperations/useSessionStorageOperations.ts +1 -1
- package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +2 -2
- package/src/hooks/utils.ts +3 -2
- package/src/contexts/chatContext/chatContext.tsx +0 -463
- package/src/contexts/chatContext/index.ts +0 -1
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { createAppLoadedEvent, createVisitUserEvent } from "../../hooks/utils.js";
|
|
2
2
|
import { useMessageInterceptor } from "../../interceptors/useMessageInterceptor.js";
|
|
3
|
-
import { MessageRole, MessageType } from "../../application/models/message.js";
|
|
4
3
|
import logger_default from "../../application/logging/logger.js";
|
|
4
|
+
import { MessageRole, MessageType } from "../../application/models/message.js";
|
|
5
5
|
import "../../application/models/index.js";
|
|
6
6
|
import { getAtomStore } from "../../atoms/atomStore/atomStore.js";
|
|
7
7
|
import "../../atoms/atomStore/index.js";
|
|
8
8
|
import { supportedEventAtom, variantInfoAtom } from "../../atoms/app/variant.js";
|
|
9
9
|
import { chatIdAtom, userIdAtom } from "../../atoms/app/index.js";
|
|
10
10
|
import { SpiffyMetricsEventName } from "../amplitudeContext/amplitudeContext.js";
|
|
11
|
-
import { messageFromResponse } from "../../application/utils/messageFromResponse.js";
|
|
12
|
-
import "../../application/utils/index.js";
|
|
13
11
|
import { messagesAtom, requestFailureAtom, responseStreamingAtom, suggestionsAtom, suggestionsLoadingAtom, userEventsAtom, userHasRepliedAtom } from "../../atoms/chat/chatState.js";
|
|
14
12
|
import { clearUserEventAtom, createResponsePayload, processUserEventAtom, userEventQueueAtom, userQueueEventCountAtom } from "../../atoms/chat/messageQueue.js";
|
|
15
13
|
import { PerfMetricsEvents, logPerfMetricAtom } from "../../atoms/chat/performanceMetrics.js";
|
|
16
14
|
import { chatAtom } from "../../atoms/chat/index.js";
|
|
17
15
|
import { chatSearchIsLoadingAtom, chatSearchProductSortingAtom, chatSearchProducts, chatSearchStateAtom, handleSearchResultsAtom } from "../../atoms/search/chatSearch.js";
|
|
16
|
+
import { messageFromResponse } from "../../application/utils/messageFromResponse.js";
|
|
17
|
+
import "../../application/utils/index.js";
|
|
18
18
|
import { SessionRestartRequired } from "../../types/exceptions/sessionExceptions.js";
|
|
19
19
|
import commerce_api_default from "../../application/commerce-api.js";
|
|
20
20
|
import { useAmplitudeTracking } from "../../hooks/AmplitudeOperations/useAmplitudeOperations.js";
|
|
@@ -301,4 +301,4 @@ const ChatContextProvider = ({ children }) => {
|
|
|
301
301
|
|
|
302
302
|
//#endregion
|
|
303
303
|
export { ChatContext, ChatContextProvider };
|
|
304
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdENvbnRleHQuanMiLCJuYW1lcyI6WyJ1c2VyUXVlcnlQcm9wZXJ0eTogc3RyaW5nIHwgdW5kZWZpbmVkIiwiZXZlbnRQcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4iLCJ1dWlkIiwibGFzdE1lc3NhZ2U6IE1lc3NhZ2UgfCB1bmRlZmluZWQiLCJlcnJvcjogdW5rbm93biIsIkNvbW1lcmNlQXBpQ2xpZW50IiwidXNlckV2ZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9jaGF0Q29udGV4dC9jaGF0Q29udGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgdXNlQXRvbSwgdXNlQXRvbVZhbHVlLCB1c2VTZXRBdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSwgUmVhY3ROb2RlLCB1c2VDYWxsYmFjaywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBDb21tZXJjZUFwaUNsaWVudCBmcm9tICdzcmMvYXBwbGljYXRpb24vY29tbWVyY2UtYXBpJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IFNlc3Npb25SZXN0YXJ0UmVxdWlyZWQgfSBmcm9tICdzcmMvdHlwZXMvZXhjZXB0aW9ucy9zZXNzaW9uRXhjZXB0aW9ucyc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQge1xuICBNZXNzYWdlLFxuICBNZXNzYWdlUm9sZSxcbiAgTWVzc2FnZVR5cGUsXG4gIE5leHRNZXNzYWdlUmVxdWVzdCxcbiAgUmVzcG9uc2UsXG59IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgbWVzc2FnZUZyb21SZXNwb25zZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi91dGlscyc7XG5pbXBvcnQgeyBjaGF0SWRBdG9tLCB1c2VySWRBdG9tLCB2YXJpYW50SW5mb0F0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCB7XG4gIG1lc3NhZ2VzQXRvbSxcbiAgcmVxdWVzdEZhaWx1cmVBdG9tLFxuICByZXNwb25zZVN0cmVhbWluZ0F0b20sXG4gIHVzZXJIYXNSZXBsaWVkQXRvbSxcbiAgUGVyZk1ldHJpY3NFdmVudHMsXG4gIGxvZ1BlcmZNZXRyaWNBdG9tLFxuICB1c2VyRXZlbnRzQXRvbSxcbiAgc3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSxcbiAgc3VnZ2VzdGlvbnNBdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvY2hhdCc7XG5pbXBvcnQge1xuICBjaGF0U2VhcmNoUHJvZHVjdFNvcnRpbmdBdG9tLFxuICBjaGF0U2VhcmNoUHJvZHVjdHMsXG4gIGNoYXRTZWFyY2hTdGF0ZUF0b20sXG4gIGhhbmRsZVNlYXJjaFJlc3VsdHNBdG9tLFxuICBjaGF0U2VhcmNoSXNMb2FkaW5nQXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL3NlYXJjaC9jaGF0U2VhcmNoJztcbmltcG9ydCB7IGNyZWF0ZUFwcExvYWRlZEV2ZW50LCBjcmVhdGVWaXNpdFVzZXJFdmVudCB9IGZyb20gJ3NyYy9ob29rcy91dGlscyc7XG5pbXBvcnQgeyB1c2VNZXNzYWdlSW50ZXJjZXB0b3IgfSBmcm9tICdzcmMvaW50ZXJjZXB0b3JzL3VzZU1lc3NhZ2VJbnRlcmNlcHRvcic7XG5pbXBvcnQgeyBzdXBwb3J0ZWRFdmVudEF0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwL3ZhcmlhbnQnO1xuaW1wb3J0IHsgY2hhdEF0b20gfSBmcm9tICdzcmMvYXRvbXMvY2hhdCc7XG5pbXBvcnQgeyBnZXRBdG9tU3RvcmUgfSBmcm9tICdzcmMvYXRvbXMvYXRvbVN0b3JlJztcbmltcG9ydCB7XG4gIGNsZWFyVXNlckV2ZW50QXRvbSxcbiAgY3JlYXRlUmVzcG9uc2VQYXlsb2FkLFxuICBwcm9jZXNzVXNlckV2ZW50QXRvbSxcbiAgdXNlckV2ZW50UXVldWVBdG9tLFxuICB1c2VyUXVldWVFdmVudENvdW50QXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL2NoYXQvbWVzc2FnZVF1ZXVlJztcbmltcG9ydCB7IHVzZUFtcGxpdHVkZVRyYWNraW5nIH0gZnJvbSAnc3JjL2hvb2tzL0FtcGxpdHVkZU9wZXJhdGlvbnMvdXNlQW1wbGl0dWRlT3BlcmF0aW9ucyc7XG5pbXBvcnQgeyB1c2VTeXN0ZW1TZXR0aW5nc0NvbnRleHQgfSBmcm9tICdzcmMvaG9va3MvU3lzdGVtU2V0dGluZ3NDb250ZXh0JztcblxuLyoqXG4gKiBSZWNvcmQgdGhlIGNoYXQgYXNzaXN0YW50IHJlc3BvbnNlIGluIEFtcGxpdHVkZVxuICpcbiAqIEBwYXJhbSBzdGFydFRpbWVNcyBUaGUgc3RhcnQgdGltZSBvZiB0aGUgYXNzaXN0YW50IHJlc3BvbnNlXG4gKiBAcGFyYW0gcGF5bG9hZCBUaGUgcGF5bG9hZCB1c2VkIHRvIGdlbmVyYXRlIHRoZSByZXNwb25zZVxuICovXG5jb25zdCByZWNvcmRBc3Npc3RhbnRSZXNwb25zZSA9IChcbiAgc3RhcnRUaW1lTXM6IG51bWJlcixcbiAgcGF5bG9hZDogTmV4dE1lc3NhZ2VSZXF1ZXN0LFxuICB0cmFjazogKGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSwgZXZlbnRQcm9wcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB2b2lkLFxuKSA9PiB7XG4gIGNvbnN0IGF0b21TdG9yZSA9IGdldEF0b21TdG9yZSgpO1xuICBjb25zdCBjaGF0U3RhdGUgPSBhdG9tU3RvcmUuZ2V0KGNoYXRBdG9tKTtcbiAgY29uc3QgY2hhdFNlYXJjaFN0YXRlID0gYXRvbVN0b3JlLmdldChjaGF0U2VhcmNoU3RhdGVBdG9tKTtcbiAgY29uc3Qgc2VhcmNoUHJvZHVjdHMgPSBhdG9tU3RvcmUuZ2V0KGNoYXRTZWFyY2hQcm9kdWN0cyk7XG4gIGNvbnN0IHNlYXJjaFByb2R1Y3RzU29ydCA9IGF0b21TdG9yZS5nZXQoY2hhdFNlYXJjaFByb2R1Y3RTb3J0aW5nQXRvbSk7XG4gIGNvbnN0IGFzc2lzdGFudFJlc3BvbnNlVGltZU1zID0geyBzdGFydDogc3RhcnRUaW1lTXMsIGVuZDogRGF0ZS5ub3coKSB9O1xuICBsZXQgdXNlclF1ZXJ5UHJvcGVydHk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBpZiAoXG4gICAgY2hhdFN0YXRlLnJlcGx5RXZlbnRDYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQgJiZcbiAgICBjaGF0U3RhdGUuc3VnZ2VzdGlvblxuICApIHtcbiAgICB1c2VyUXVlcnlQcm9wZXJ0eSA9IGNoYXRTdGF0ZS5zdWdnZXN0aW9uLmNvbnRlbnQ7XG4gIH0gZWxzZSBpZiAoY2hhdFN0YXRlLnVzZXJRdWVyeSAmJiBjaGF0U3RhdGUudXNlclF1ZXJ5Lmxlbmd0aCA+IDApIHtcbiAgICB1c2VyUXVlcnlQcm9wZXJ0eSA9IGNoYXRTdGF0ZS51c2VyUXVlcnk7XG4gIH1cblxuICBjb25zdCBldmVudFByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHtcbiAgICByZXNwb25zZV90aW1lX21zOiBhc3Npc3RhbnRSZXNwb25zZVRpbWVNcy5lbmQgLSBhc3Npc3RhbnRSZXNwb25zZVRpbWVNcy5zdGFydCxcbiAgICB1c2VyX2V2ZW50X3R5cGU6IGNoYXRTdGF0ZS5yZXBseUV2ZW50Q2F0ZWdvcnksXG4gICAgdXNlcl9xdWVyeTogdXNlclF1ZXJ5UHJvcGVydHksXG4gIH07XG5cbiAgaWYgKGNoYXRTdGF0ZS5yZXBseUV2ZW50Q2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LkZvcm1TdWJtaXR0ZWQpIHtcbiAgICBjb25zdCBsYXN0QXNzaXN0YW50VHVybiA9IGNoYXRTdGF0ZS5tZXNzYWdlc1xuICAgICAgLmZpbHRlcih0dXJuID0+IHR1cm4ubGVuZ3RoID4gMCAmJiB0dXJuWzBdLnJvbGUgPT09IE1lc3NhZ2VSb2xlLkFzc2lzdGFudClcbiAgICAgIC5wb3AoKTtcbiAgICBjb25zdCBmb3JtVHlwZSA9IHBheWxvYWQudXNlckV2ZW50cz8uZmluZChcbiAgICAgIGV2ZW50ID0+IGV2ZW50LmNhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkLFxuICAgICk/LmF0dHJpYnV0ZXMuZm9ybVR5cGU7XG4gICAgY29uc3QgZm9ybVN0YXR1cyA9IGxhc3RBc3Npc3RhbnRUdXJuPy5zb21lKHJlc3BvbnNlID0+IHJlc3BvbnNlLnR5cGUgPT09IE1lc3NhZ2VUeXBlLk9yZGVyKTtcbiAgICBldmVudFByb3BzLmZvcm1fc3VibWl0dGVkX2F0dHJpYnV0ZXMgPSB7XG4gICAgICBmb3JtX3R5cGU6IGZvcm1UeXBlLFxuICAgICAgc3RhdHVzOiBmb3JtU3RhdHVzID8gJ3N1Y2Nlc3MnIDogJ2ZhaWxlZCcsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChjaGF0U2VhcmNoU3RhdGUgPT09ICdwcm9kdWN0LXBhZ2UnKSB7XG4gICAgZXZlbnRQcm9wcy5zZWFyY2hfcHJvZHVjdHNfcmV0dXJuZWQgPSBzZWFyY2hQcm9kdWN0cy5sZW5ndGg7XG4gICAgZXZlbnRQcm9wcy5zZWFyY2hfcHJvZHVjdHNfc29ydF90eXBlID0gc2VhcmNoUHJvZHVjdHNTb3J0O1xuICB9XG5cbiAgdHJhY2soU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0QXNzaXN0YW50UmVzcG9uc2UsIHtcbiAgICBldmVudFByb3BzLFxuICB9KTtcbn07XG5cbmludGVyZmFjZSBDaGF0Q29udGV4dFBhcmFtcyB7fVxuXG5jb25zdCBDaGF0Q29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8Q2hhdENvbnRleHRQYXJhbXMgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbmNvbnN0IHVwZGF0ZU1lc3NhZ2VTdGF0ZSA9IChcbiAgbWVzc2FnZTogTWVzc2FnZSxcbiAgbGFzdE1lc3NhZ2U6IE1lc3NhZ2UsXG4gIHNldE1lc3NhZ2VzOiAodXBkYXRlcjogKHByZXY6IE1lc3NhZ2VbXVtdKSA9PiBNZXNzYWdlW11bXSkgPT4gdm9pZCxcbik6IE1lc3NhZ2UgPT4ge1xuICBpZiAobGFzdE1lc3NhZ2UgPT0gbnVsbCkge1xuICAgIHNldE1lc3NhZ2VzKHByZXYgPT4gWy4uLnByZXYsIFttZXNzYWdlXV0pO1xuICAgIHJldHVybiBtZXNzYWdlO1xuICB9XG4gIGlmIChsYXN0TWVzc2FnZS50eXBlID09PSBNZXNzYWdlVHlwZS5UZXh0ICYmIG1lc3NhZ2UudHlwZSA9PT0gTWVzc2FnZVR5cGUuVGV4dCkge1xuICAgIGNvbnN0IG5ld01lc3NhZ2UgPSB7XG4gICAgICAuLi5sYXN0TWVzc2FnZSxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIC4uLmxhc3RNZXNzYWdlLm1ldGFkYXRhLFxuICAgICAgICBjb250ZW50OiBsYXN0TWVzc2FnZS5tZXRhZGF0YS5jb250ZW50ICsgbWVzc2FnZS5tZXRhZGF0YS5jb250ZW50LFxuICAgICAgfSxcbiAgICB9O1xuICAgIHNldE1lc3NhZ2VzKHByZXYgPT4ge1xuICAgICAgY29uc3QgbGFzdFR1cm4gPSBwcmV2W3ByZXYubGVuZ3RoIC0gMV07XG4gICAgICByZXR1cm4gW1xuICAgICAgICAuLi5wcmV2LnNsaWNlKDAsIHByZXYubGVuZ3RoIC0gMSksXG4gICAgICAgIFsuLi5sYXN0VHVybi5zbGljZSgwLCBsYXN0VHVybi5sZW5ndGggLSAxKSwgbmV3TWVzc2FnZV0sXG4gICAgICBdO1xuICAgIH0pO1xuICAgIHJldHVybiBuZXdNZXNzYWdlO1xuICB9XG4gIHNldE1lc3NhZ2VzKHByZXYgPT4gWy4uLnByZXYuc2xpY2UoMCwgcHJldi5sZW5ndGggLSAxKSwgWy4uLnByZXZbcHJldi5sZW5ndGggLSAxXSwgbWVzc2FnZV1dKTtcbiAgcmV0dXJuIG1lc3NhZ2U7XG59O1xuXG5jb25zdCBoYW5kbGVTdHJlYW1pbmdFcnJvciA9IChcbiAgX2Vycm9yOiB1bmtub3duLFxuICBzZXRSZXF1ZXN0RmFpbHVyZTogKGZhaWxlZDogYm9vbGVhbikgPT4gdm9pZCxcbiAgc2V0TWVzc2FnZXM6ICh1cGRhdGVyOiAocHJldjogTWVzc2FnZVtdW10pID0+IE1lc3NhZ2VbXVtdKSA9PiB2b2lkLFxuKSA9PiB7XG4gIHNldFJlcXVlc3RGYWlsdXJlKHRydWUpO1xuICBzZXRNZXNzYWdlcyhwcmV2ID0+IFtcbiAgICAuLi5wcmV2LFxuICAgIFtcbiAgICAgIHtcbiAgICAgICAgaWQ6IHV1aWQoKSxcbiAgICAgICAgcm9sZTogTWVzc2FnZVJvbGUuQXNzaXN0YW50LFxuICAgICAgICB0eXBlOiBNZXNzYWdlVHlwZS5UZXh0LFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgICBjb250ZW50OlxuICAgICAgICAgICAgXCJJJ20gc29ycnkhIEknbSBoYXZpbmcgdHJvdWJsZSByaWdodCBub3cuIFBsZWFzZSByZWZyZXNoIHRoZSBwYWdlIG9yIHRyeSBhZ2FpbiBpbiBhIG1vbWVudC5cIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuXG5jb25zdCBwcm9jZXNzU3RyZWFtaW5nUmVzcG9uc2UgPSBhc3luYyAoXG4gIHN0cmVhbTogQXN5bmNJdGVyYWJsZTxSZXNwb25zZT4sXG4gIG1lc3NhZ2VJbnRlcmNlcHRvcjoge1xuICAgIGludGVyY2VwdDogKHJlc3BvbnNlPzogUmVzcG9uc2UpID0+IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIH0sXG4gIGhhbmRsZVNlYXJjaFJlc3VsdHM6IChtZXNzYWdlOiBNZXNzYWdlKSA9PiB2b2lkLFxuICBzZXRNZXNzYWdlczogKHVwZGF0ZXI6IChwcmV2OiBNZXNzYWdlW11bXSkgPT4gTWVzc2FnZVtdW10pID0+IHZvaWQsXG4gIHNldFNlYXJjaElzTG9hZGluZzogKGxvYWRpbmc6IGJvb2xlYW4pID0+IHZvaWQsXG4gIGNoYXRJZDogc3RyaW5nLFxuKTogUHJvbWlzZTx7IGhhc1NlYXJjaFJlc3VsdHM6IGJvb2xlYW4gfT4gPT4ge1xuICBsZXQgbGFzdE1lc3NhZ2U6IE1lc3NhZ2UgfCB1bmRlZmluZWQ7XG4gIGxldCBoYXNTZWFyY2hSZXN1bHRzID0gZmFsc2U7XG5cbiAgZm9yIGF3YWl0IChjb25zdCByZXNwb25zZSBvZiBzdHJlYW0pIHtcbiAgICB0cnkge1xuICAgICAgaWYgKG1lc3NhZ2VJbnRlcmNlcHRvci5pbnRlcmNlcHQocmVzcG9uc2UpKSB7XG4gICAgICAgIHJldHVybiB7IGhhc1NlYXJjaFJlc3VsdHMgfTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgbWVzc2FnZSA9IG1lc3NhZ2VGcm9tUmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgaWYgKCFtZXNzYWdlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIHRyYW5zZm9ybSBBUEkgcmVzcG9uc2UgdG8gY2xpZW50IG1lc3NhZ2UnKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1lc3NhZ2UudHlwZSA9PT0gTWVzc2FnZVR5cGUuUHJvZHVjdFNlYXJjaCkge1xuICAgICAgICBoYW5kbGVTZWFyY2hSZXN1bHRzKG1lc3NhZ2UpO1xuICAgICAgICBoYXNTZWFyY2hSZXN1bHRzID0gdHJ1ZTtcbiAgICAgICAgc2V0U2VhcmNoSXNMb2FkaW5nKGZhbHNlKTsgLy8gVXBkYXRlIHNlYXJjaCBsb2FkaW5nIGltbWVkaWF0ZWx5IHdoZW4gcmVzdWx0cyBhcmUgZGV0ZWN0ZWRcbiAgICAgIH1cblxuICAgICAgbGFzdE1lc3NhZ2UgPSB1cGRhdGVNZXNzYWdlU3RhdGUobWVzc2FnZSwgbGFzdE1lc3NhZ2UhLCBzZXRNZXNzYWdlcyk7XG4gICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgIExvZ2dlci5sb2dXYXJuKFxuICAgICAgICBgW3NwaWZmeS1haV0gRmFpbGVkIHRvIGdlbmVyYXRlIHJlc3BvbnNlcyBmcm9tIHN0cmVhbSBjaGF0X2lkPSR7Y2hhdElkfWAsXG4gICAgICAgIGVycm9yLFxuICAgICAgICB7XG4gICAgICAgICAgbGFzdFJlc3BvbnNlOiBsYXN0TWVzc2FnZSxcbiAgICAgICAgICByZXNwb25zZSxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHsgaGFzU2VhcmNoUmVzdWx0cyB9O1xufTtcblxuY29uc3QgQ2hhdENvbnRleHRQcm92aWRlciA9ICh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9KSA9PiB7XG4gIGNvbnN0IGxvZ1BlcmZNZXRyaWMgPSB1c2VTZXRBdG9tKGxvZ1BlcmZNZXRyaWNBdG9tKTtcbiAgY29uc3QgW3dpZGdldEluaXRpYWxpemVkLCBzZXRXaWRnZXRJbml0aWFsaXplZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHNldFVzZXJIYXNSZXBsaWVkID0gdXNlU2V0QXRvbSh1c2VySGFzUmVwbGllZEF0b20pO1xuICAvLyBUT0RPOiBjcmVhdGUgYXRvbXMgZm9yIHNldHRpbmcvZ2V0dGluZyB0aGUgbGFzdCBtZXNzYWdlIHR1cm5cbiAgY29uc3QgW21lc3NhZ2VzLCBzZXRNZXNzYWdlc10gPSB1c2VBdG9tPE1lc3NhZ2VbXVtdPihtZXNzYWdlc0F0b20pO1xuICBjb25zdCBzZXRVc2VyRXZlbnRzID0gdXNlU2V0QXRvbSh1c2VyRXZlbnRzQXRvbSk7XG4gIGNvbnN0IHNldFN1Z2dlc3Rpb25zID0gdXNlU2V0QXRvbShzdWdnZXN0aW9uc0F0b20pO1xuICBjb25zdCBbc3VnZ2VzdGlvbnNMb2FkaW5nLCBzZXRTdWdnZXN0aW9uc0xvYWRpbmddID0gdXNlQXRvbTxib29sZWFuPihzdWdnZXN0aW9uc0xvYWRpbmdBdG9tKTtcbiAgY29uc3QgW3Jlc3BvbnNlU3RyZWFtaW5nLCBzZXRSZXNwb25zZVN0cmVhbWluZ10gPSB1c2VBdG9tPGJvb2xlYW4+KHJlc3BvbnNlU3RyZWFtaW5nQXRvbSk7XG4gIGNvbnN0IHNldFJlcXVlc3RGYWlsdXJlID0gdXNlU2V0QXRvbShyZXF1ZXN0RmFpbHVyZUF0b20pO1xuICBjb25zdCB1c2VyRXZlbnRzID0gdXNlQXRvbVZhbHVlKHVzZXJFdmVudFF1ZXVlQXRvbSk7XG4gIGNvbnN0IHVzZXJRdWV1ZUV2ZW50Q291bnQgPSB1c2VBdG9tVmFsdWUodXNlclF1ZXVlRXZlbnRDb3VudEF0b20pO1xuICBjb25zdCBtYXJrVXNlckV2ZW50c1Byb2Nlc3NlZCA9IHVzZVNldEF0b20ocHJvY2Vzc1VzZXJFdmVudEF0b20pO1xuICBjb25zdCBjbGVhclVzZXJFdmVudFF1ZXVlID0gdXNlU2V0QXRvbShjbGVhclVzZXJFdmVudEF0b20pO1xuICBjb25zdCB1c2VySWQgPSB1c2VBdG9tVmFsdWUodXNlcklkQXRvbSk7XG4gIGNvbnN0IGNoYXRJZCA9IHVzZUF0b21WYWx1ZShjaGF0SWRBdG9tKTtcbiAgY29uc3Qgc3VwcG9ydGVkRXZlbnQgPSB1c2VBdG9tVmFsdWUoc3VwcG9ydGVkRXZlbnRBdG9tKTtcbiAgLy8gVE9ETzogUmVwbGFjZSB3aXRoIGFjdHVhbCBvcmdJZCBmcm9tIHVzZUVudml2ZUNvbmZpZyBvciBOZXdPcmdDb25maWdDb250ZXh0IHdoZW4gYXZhaWxhYmxlXG4gIGNvbnN0IG9yZ0lkID0gJ21vY2stb3JnLWlkJztcblxuICBjb25zdCB2YXJpYW50SW5mbyA9IHVzZUF0b21WYWx1ZSh2YXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBzZXR0aW5nc0NvbnRleHQgPSB1c2VTeXN0ZW1TZXR0aW5nc0NvbnRleHQoKTtcbiAgY29uc3QgbWVzc2FnZUludGVyY2VwdG9yID0gdXNlTWVzc2FnZUludGVyY2VwdG9yKCk7XG4gIGNvbnN0IGhhbmRsZVNlYXJjaFJlc3VsdHMgPSB1c2VTZXRBdG9tKGhhbmRsZVNlYXJjaFJlc3VsdHNBdG9tKTtcbiAgY29uc3Qgc2V0U2VhcmNoSXNMb2FkaW5nID0gdXNlU2V0QXRvbShjaGF0U2VhcmNoSXNMb2FkaW5nQXRvbSk7XG4gIGNvbnN0IHsgdHJhY2sgfSA9IHVzZUFtcGxpdHVkZVRyYWNraW5nKCk7XG5cbiAgY29uc3QgZ2V0U3RyZWFtaW5nUmVzcG9uc2VzID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBheWxvYWQ6IE5leHRNZXNzYWdlUmVxdWVzdCk6IFByb21pc2U8eyBoYXNTZWFyY2hSZXN1bHRzOiBib29sZWFuIH0+ID0+IHtcbiAgICAgIGxvZ1BlcmZNZXRyaWMoUGVyZk1ldHJpY3NFdmVudHMuRmlyc3RSZXNwb25zZVN0YXJ0ZWQpO1xuICAgICAgY29uc3Qgc3RyZWFtID0gQ29tbWVyY2VBcGlDbGllbnQuZ2V0TmV4dFJlc3BvbnNlU3RyZWFtaW5nKHBheWxvYWQpO1xuXG4gICAgICB0cnkge1xuICAgICAgICBzZXRSZXF1ZXN0RmFpbHVyZShmYWxzZSk7XG5cbiAgICAgICAgY29uc3QgeyBoYXNTZWFyY2hSZXN1bHRzIH0gPSBhd2FpdCBwcm9jZXNzU3RyZWFtaW5nUmVzcG9uc2UoXG4gICAgICAgICAgc3RyZWFtLFxuICAgICAgICAgIG1lc3NhZ2VJbnRlcmNlcHRvcixcbiAgICAgICAgICBoYW5kbGVTZWFyY2hSZXN1bHRzLFxuICAgICAgICAgIHNldE1lc3NhZ2VzLFxuICAgICAgICAgIHNldFNlYXJjaElzTG9hZGluZyxcbiAgICAgICAgICBjaGF0SWQsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHsgaGFzU2VhcmNoUmVzdWx0cyB9O1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBoYW5kbGVTdHJlYW1pbmdFcnJvcihlLCBzZXRSZXF1ZXN0RmFpbHVyZSwgc2V0TWVzc2FnZXMpO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgbG9nUGVyZk1ldHJpYyhQZXJmTWV0cmljc0V2ZW50cy5GaXJzdFJlc3BvbnNlQ29tcGxldGVkKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIGxvZ1BlcmZNZXRyaWMsXG4gICAgICBzZXRSZXF1ZXN0RmFpbHVyZSxcbiAgICAgIG1lc3NhZ2VJbnRlcmNlcHRvcixcbiAgICAgIGhhbmRsZVNlYXJjaFJlc3VsdHMsXG4gICAgICBzZXRNZXNzYWdlcyxcbiAgICAgIHNldFNlYXJjaElzTG9hZGluZyxcbiAgICAgIGNoYXRJZCxcbiAgICBdLFxuICApO1xuXG4gIGNvbnN0IGdldFN1Z2dlc3Rpb25zID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGxvZ1BlcmZNZXRyaWMoUGVyZk1ldHJpY3NFdmVudHMuRmlyc3RTdWdnZXN0aW9uc1N0YXJ0ZWQpO1xuICAgIHNldFN1Z2dlc3Rpb25zTG9hZGluZyh0cnVlKTtcbiAgICBzZXRTdWdnZXN0aW9ucyhbXSk7XG5cbiAgICBjb25zdCBwYXlsb2FkV2l0aG91dEFwcExvYWRlZCA9IGNyZWF0ZVJlc3BvbnNlUGF5bG9hZCh7XG4gICAgICB1c2VyRXZlbnRzOiBbXSxcbiAgICAgIGdlbmVyYXRpb25QYXJhbXM6IHNldHRpbmdzQ29udGV4dC5nZW5lcmF0aW9uUGFyYW1zLFxuICAgIH0pO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuZ2V0TmV4dFN1Z2dlc3Rpb25zKHBheWxvYWRXaXRob3V0QXBwTG9hZGVkKTtcblxuICAgIC8vIHNvcnQgdGhlIHN1Z2dlc3Rpb25zIGJ5IHNob3J0ZXN0IGxlbmd0aCBzbyB0aGUgcGlsbHMgY2FuIGJlIHN0YWNrZWQgaG9yaXpvbnRhbGx5XG4gICAgc2V0U3VnZ2VzdGlvbnMocmVzcG9uc2Uuc29ydCgoYSwgYikgPT4gYS5jb250ZW50Lmxlbmd0aCAtIGIuY29udGVudC5sZW5ndGgpKTtcbiAgICBzZXRTdWdnZXN0aW9uc0xvYWRpbmcoZmFsc2UpO1xuICAgIGxvZ1BlcmZNZXRyaWMoUGVyZk1ldHJpY3NFdmVudHMuRmlyc3RTdWdnZXN0aW9uc0NvbXBsZXRlZCk7XG4gIH0sIFtsb2dQZXJmTWV0cmljLCBzZXRTdWdnZXN0aW9uc0xvYWRpbmcsIHNldFN1Z2dlc3Rpb25zLCBzZXR0aW5nc0NvbnRleHQuZ2VuZXJhdGlvblBhcmFtc10pO1xuXG4gIGNvbnN0IGdldFJlc3BvbnNlcyA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwYXlsb2FkPzogTmV4dE1lc3NhZ2VSZXF1ZXN0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXF1ZXN0UGF5bG9hZCA9XG4gICAgICAgICAgcGF5bG9hZCA/P1xuICAgICAgICAgIGNyZWF0ZVJlc3BvbnNlUGF5bG9hZCh7XG4gICAgICAgICAgICB1c2VyRXZlbnRzLFxuICAgICAgICAgICAgZ2VuZXJhdGlvblBhcmFtczogc2V0dGluZ3NDb250ZXh0LmdlbmVyYXRpb25QYXJhbXMsXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgc2V0UmVzcG9uc2VTdHJlYW1pbmcodHJ1ZSk7XG4gICAgICAgIHNldFN1Z2dlc3Rpb25zKFtdKTtcbiAgICAgICAgY29uc3Qgc3RhcnRUaW1lTXMgPSBEYXRlLm5vdygpO1xuXG4gICAgICAgIGF3YWl0IGdldFN0cmVhbWluZ1Jlc3BvbnNlcyhyZXF1ZXN0UGF5bG9hZCk7XG5cbiAgICAgICAgcmVjb3JkQXNzaXN0YW50UmVzcG9uc2Uoc3RhcnRUaW1lTXMsIHJlcXVlc3RQYXlsb2FkLCB0cmFjayk7XG4gICAgICAgIGF3YWl0IGdldFN1Z2dlc3Rpb25zKCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBMb2dnZXIubG9nRXJyb3IoJ1tzcGlmZnktYWldIGdldFJlc3BvbnNlcyBlcnJvcicsIGVycm9yKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIC8vIFJlbW92ZSBzZWFyY2ggbG9hZGluZyBtYW5hZ2VtZW50IGZyb20gaGVyZSAtIGl0J3Mgbm93IGhhbmRsZWQgaW5kZXBlbmRlbnRseVxuICAgICAgICAvLyBpbiB0aGUgcHJvY2Vzc1N0cmVhbWluZ1Jlc3BvbnNlIGZ1bmN0aW9uIHdoZW4gc2VhcmNoIHJlc3VsdHMgYXJlIGRldGVjdGVkXG4gICAgICAgIG1hcmtVc2VyRXZlbnRzUHJvY2Vzc2VkKHVzZXJFdmVudHMubWFwKCh7IGV2ZW50SWQgfSkgPT4gZXZlbnRJZCkpO1xuICAgICAgICBzZXRVc2VySGFzUmVwbGllZChmYWxzZSk7XG4gICAgICAgIHNldFJlc3BvbnNlU3RyZWFtaW5nKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtcbiAgICAgIHVzZXJFdmVudHMsXG4gICAgICBzZXR0aW5nc0NvbnRleHQuZ2VuZXJhdGlvblBhcmFtcyxcbiAgICAgIHNldFJlc3BvbnNlU3RyZWFtaW5nLFxuICAgICAgc2V0U3VnZ2VzdGlvbnMsXG4gICAgICBnZXRTdHJlYW1pbmdSZXNwb25zZXMsXG4gICAgICBtYXJrVXNlckV2ZW50c1Byb2Nlc3NlZCxcbiAgICAgIGdldFN1Z2dlc3Rpb25zLFxuICAgICAgc2V0VXNlckhhc1JlcGxpZWQsXG4gICAgICB0cmFjayxcbiAgICBdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcHJvY2Vzc1VzZXJFdmVudHMgPSBhc3luYyAoKSA9PiB7XG4gICAgICBpZiAocmVzcG9uc2VTdHJlYW1pbmcgfHwgIXdpZGdldEluaXRpYWxpemVkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICAodmFyaWFudEluZm8udmFyaWFudCA9PT0gJ3BkcCcgJiYgIXZhcmlhbnRJbmZvLnByb2R1Y3RJZCkgfHxcbiAgICAgICAgKHZhcmlhbnRJbmZvLnZhcmlhbnQgPT09ICdwbHAnICYmICF2YXJpYW50SW5mby5wbHBJZCkgfHxcbiAgICAgICAgKHZhcmlhbnRJbmZvLnZhcmlhbnQgPT09ICdwYWdlX3Zpc2l0JyAmJiAhdmFyaWFudEluZm8udXJsKVxuICAgICAgKSB7XG4gICAgICAgIExvZ2dlci5sb2dEZWJ1ZygnW3NwaWZmeS1haV0gdmFyaWFudEluZm8gaGFzIGludmFsaWQgdmFsdWVzLCBza2lwcGluZy4uLicsIHtcbiAgICAgICAgICB2YXJpYW50SW5mbyxcbiAgICAgICAgICBzdXBwb3J0ZWRFdmVudCxcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgTG9nZ2VyLmxvZ0RlYnVnKFxuICAgICAgICBgQXNzaXN0YW50cyBUdXJuIGlzX2N1cnJlbnRseV9zdHJlYW1pbmc9JHtyZXNwb25zZVN0cmVhbWluZ30gaW5pdGlhbGl6ZWQ9JHt3aWRnZXRJbml0aWFsaXplZH1gLFxuICAgICAgKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IGdldFJlc3BvbnNlcygpO1xuICAgICAgICBMb2dnZXIubG9nSW5mbyhgQXNzaXN0YW50cyBUdXJuIFtmaW5pc2hlZF1gKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICAgIExvZ2dlci5sb2dFcnJvcignW3NwaWZmeS1haV0gQXNzaXN0YW50cyBUdXJuIGVycm9yJywgZXJyb3IpO1xuICAgICAgfVxuICAgIH07XG4gICAgaWYgKHVzZXJRdWV1ZUV2ZW50Q291bnQgPiAwKSB7XG4gICAgICBwcm9jZXNzVXNlckV2ZW50cygpO1xuICAgIH1cbiAgfSwgW1xuICAgIGdldFJlc3BvbnNlcyxcbiAgICByZXNwb25zZVN0cmVhbWluZyxcbiAgICB1c2VyUXVldWVFdmVudENvdW50LFxuICAgIHdpZGdldEluaXRpYWxpemVkLFxuICAgIHZhcmlhbnRJbmZvLFxuICAgIHN1cHBvcnRlZEV2ZW50LFxuICBdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh3aWRnZXRJbml0aWFsaXplZCB8fCByZXNwb25zZVN0cmVhbWluZykge1xuICAgICAgTG9nZ2VyLmxvZ0RlYnVnKFxuICAgICAgICBgW3NwaWZmeS1haV0gaW5pdGlhbGl6ZVdpZGdldCBbc2tpcHBlZF0gaXNfY3VycmVudGx5X3N0cmVhbWluZz0ke3Jlc3BvbnNlU3RyZWFtaW5nfSBpc19pbml0aWFsaXplZD0ke3dpZGdldEluaXRpYWxpemVkfWAsXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGh5ZHJhdGVDaGF0ID0gYXN5bmMgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgTG9nZ2VyLmxvZ0RlYnVnKFxuICAgICAgICAgIGBbc3BpZmZ5LWFpXSBpbml0aWFsaXplV2lkZ2V0IGlzX2N1cnJlbnRseV9zdHJlYW1pbmc9JHtyZXNwb25zZVN0cmVhbWluZ30gaXNfaW5pdGlhbGl6ZWQ9JHt3aWRnZXRJbml0aWFsaXplZH1gLFxuICAgICAgICApO1xuICAgICAgICAvLyBvbiBtb3VudCwgdHJ5IHRvIGdldCB0aGUgcmVzcG9uc2VzIGZyb20gYW4gYWN0aXZlIHNlc3Npb24gaWYgb25lIGV4aXN0c1xuICAgICAgICBpZiAoIW9yZ0lkKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdvcmdJZCBpcyBub3QgYXZhaWxhYmxlJyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyBtZXNzYWdlczogZXhpc3RpbmdNZXNzYWdlcywgdXNlckV2ZW50cyB9ID0gYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQuZ2V0UmVzcG9uc2VzKFxuICAgICAgICAgIG9yZ0lkLFxuICAgICAgICAgIGNoYXRJZCxcbiAgICAgICAgICB1c2VySWQsXG4gICAgICAgICk7XG4gICAgICAgIHNldE1lc3NhZ2VzKFsuLi5leGlzdGluZ01lc3NhZ2VzXSk7XG4gICAgICAgIHNldFVzZXJFdmVudHMoWy4uLnVzZXJFdmVudHNdKTtcbiAgICAgICAgZ2V0UmVzcG9uc2VzKCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAvLyBubyBhY3RpdmUgY2hhdCBzZXNzaW9uIHdhcyBmb3VuZCwgc3RhcnQgYSBuZXcgb25lXG4gICAgICAgIExvZ2dlci5sb2dJbmZvKGBJbml0IGNoYXQgW2V4Y2VwdGlvbl0gY2hhdF9pZD0ke2NoYXRJZH0gZXJyb3I9JHtlcnJvcn1gLCBlcnJvcik7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFNlc3Npb25SZXN0YXJ0UmVxdWlyZWQpIHtcbiAgICAgICAgICBjb25zdCBhcHBMb2FkZWRFdmVudCA9IGNyZWF0ZUFwcExvYWRlZEV2ZW50KCk7XG4gICAgICAgICAgY29uc3QgdmlzaXRFdmVudCA9IGNyZWF0ZVZpc2l0VXNlckV2ZW50KHsgdmFyaWFudEluZm8gfSk7XG4gICAgICAgICAgc2V0TWVzc2FnZXMoW10pO1xuICAgICAgICAgIGNsZWFyVXNlckV2ZW50UXVldWUoKTtcbiAgICAgICAgICBpZiAodmlzaXRFdmVudCkge1xuICAgICAgICAgICAgY29uc3QgcGF5bG9hZCA9IGNyZWF0ZVJlc3BvbnNlUGF5bG9hZCh7XG4gICAgICAgICAgICAgIHVzZXJFdmVudHM6IFthcHBMb2FkZWRFdmVudCwgdmlzaXRFdmVudF0sXG4gICAgICAgICAgICAgIGdlbmVyYXRpb25QYXJhbXM6IHNldHRpbmdzQ29udGV4dC5nZW5lcmF0aW9uUGFyYW1zLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBnZXRSZXNwb25zZXMocGF5bG9hZCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRXaWRnZXRJbml0aWFsaXplZCh0cnVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaHlkcmF0ZUNoYXQoKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IG9uRm9jdXMgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghcmVzcG9uc2VTdHJlYW1pbmcgJiYgIXN1Z2dlc3Rpb25zTG9hZGluZyAmJiBvcmdJZCkge1xuICAgICAgICBjb25zdCB7IG1lc3NhZ2VzOiBleGlzdGluZ01lc3NhZ2VzIH0gPSBhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5nZXRSZXNwb25zZXMoXG4gICAgICAgICAgb3JnSWQsXG4gICAgICAgICAgY2hhdElkLFxuICAgICAgICAgIHVzZXJJZCxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoZXhpc3RpbmdNZXNzYWdlcy5sZW5ndGggPiBtZXNzYWdlcy5sZW5ndGgpIHtcbiAgICAgICAgICBzZXRNZXNzYWdlcyhbLi4uZXhpc3RpbmdNZXNzYWdlc10pO1xuICAgICAgICAgIC8vIFRPRE86IElzIHRoaXMgYnVnIGhhY2sgc3RpbGwgbmVjZXNzYXJ5P1xuICAgICAgICAgIC8vIElmIGl0IGlzLCBjb21lIHVwIHdpdGggYSBiZXR0ZXIgc29sdXRpb24gZm9yIGl0XG4gICAgICAgICAgLy8gfSBlbHNlIGlmIChleGlzdGluZ01lc3NhZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIC8vICAgLy8gaWYgdGhlcmUgd2FzIGFuIGVycm9yIGR1cmluZyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgYSBuZXcgc2Vzc2lvbiwgdGhlIHNlc3Npb24gd291bGQgYmVcbiAgICAgICAgICAvLyAgIC8vIGNyZWF0ZWQgaW4gdGhlIGJhY2tlbmQgYnV0IHdpdGhvdXQgYW55IG1lc3NhZ2VzLiBSZXRyeSB0aGUgbmV4dF9yZXNwb25zZXMgcmVxdWVzdCB3aXRoXG4gICAgICAgICAgLy8gICAvLyB0aGUgY3VycmVudCBzZXQgb2YgcGFyYW1ldGVycyB0byBcImp1bXBzdGFydFwiIHRoZSBzZXNzaW9uXG4gICAgICAgICAgLy8gICB0cmlnZ2VyR2V0UmVzcG9uc2VDYWxsKCdvbkZvY3VzJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgTG9nZ2VyLmxvZ0Vycm9yKCdbc3BpZmZ5LWFpXSBvbkZvY3VzIGVycm9yJywgZXJyb3IpO1xuICAgIH1cbiAgfSwgW3Jlc3BvbnNlU3RyZWFtaW5nLCBzdWdnZXN0aW9uc0xvYWRpbmcsIG9yZ0lkLCBjaGF0SWQsIHVzZXJJZCwgbWVzc2FnZXMubGVuZ3RoLCBzZXRNZXNzYWdlc10pO1xuXG4gIC8vIGxpc3RlbiBmb3IgcGFnZSBmb2N1cyB0byBnZXQgbGF0ZXN0IG1lc3NhZ2VzIGZyb20gdGhlIHNlcnZlclxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsIG9uRm9jdXMpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdmb2N1cycsIG9uRm9jdXMpO1xuICAgIH07XG4gIH0sIFtvbkZvY3VzXSk7XG5cbiAgY29uc3QgY2hhdENvbnRleHQgPSB1c2VNZW1vKCgpID0+ICh7fSksIFtdKTtcblxuICByZXR1cm4gPENoYXRDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjaGF0Q29udGV4dH0+e2NoaWxkcmVufTwvQ2hhdENvbnRleHQuUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IHsgQ2hhdENvbnRleHQsIENoYXRDb250ZXh0UHJvdmlkZXIgfTtcbmV4cG9ydCB0eXBlIHsgQ2hhdENvbnRleHRQYXJhbXMgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF3REEsTUFBTSwyQkFDSixhQUNBLFNBQ0EsVUFDRztDQUNILE1BQU0sWUFBWSxjQUFjO0NBQ2hDLE1BQU0sWUFBWSxVQUFVLElBQUksU0FBUztDQUN6QyxNQUFNLGtCQUFrQixVQUFVLElBQUksb0JBQW9CO0NBQzFELE1BQU0saUJBQWlCLFVBQVUsSUFBSSxtQkFBbUI7Q0FDeEQsTUFBTSxxQkFBcUIsVUFBVSxJQUFJLDZCQUE2QjtDQUN0RSxNQUFNLDBCQUEwQjtFQUFFLE9BQU87RUFBYSxLQUFLLEtBQUssS0FBSztFQUFFO0NBQ3ZFLElBQUlBO0FBRUosS0FDRSxVQUFVLHVCQUF1QixrQkFBa0IscUJBQ25ELFVBQVUsV0FFVixxQkFBb0IsVUFBVSxXQUFXO1VBQ2hDLFVBQVUsYUFBYSxVQUFVLFVBQVUsU0FBUyxFQUM3RCxxQkFBb0IsVUFBVTtDQUdoQyxNQUFNQyxhQUFzQztFQUMxQyxrQkFBa0Isd0JBQXdCLE1BQU0sd0JBQXdCO0VBQ3hFLGlCQUFpQixVQUFVO0VBQzNCLFlBQVk7RUFDYjtBQUVELEtBQUksVUFBVSx1QkFBdUIsa0JBQWtCLGVBQWU7RUFDcEUsTUFBTSxvQkFBb0IsVUFBVSxTQUNqQyxRQUFPLFNBQVEsS0FBSyxTQUFTLEtBQUssS0FBSyxHQUFHLFNBQVMsWUFBWSxVQUFVLENBQ3pFLEtBQUs7QUFLUixhQUFXLDRCQUE0QjtHQUNyQyxXQUxlLFFBQVEsWUFBWSxNQUNuQyxVQUFTLE1BQU0sYUFBYSxrQkFBa0IsY0FDL0MsRUFBRSxXQUFXO0dBSVosUUFIaUIsbUJBQW1CLE1BQUssYUFBWSxTQUFTLFNBQVMsWUFBWSxNQUFNLEdBR3BFLFlBQVk7R0FDbEM7O0FBR0gsS0FBSSxvQkFBb0IsZ0JBQWdCO0FBQ3RDLGFBQVcsMkJBQTJCLGVBQWU7QUFDckQsYUFBVyw0QkFBNEI7O0FBR3pDLE9BQU0sdUJBQXVCLHVCQUF1QixFQUNsRCxZQUNELENBQUM7O0FBS0osTUFBTSxjQUFjLGNBQTZDLE9BQVU7QUFFM0UsTUFBTSxzQkFDSixTQUNBLGFBQ0EsZ0JBQ1k7QUFDWixLQUFJLGVBQWUsTUFBTTtBQUN2QixlQUFZLFNBQVEsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUN6QyxTQUFPOztBQUVULEtBQUksWUFBWSxTQUFTLFlBQVksUUFBUSxRQUFRLFNBQVMsWUFBWSxNQUFNO0VBQzlFLE1BQU0sYUFBYTtHQUNqQixHQUFHO0dBQ0gsVUFBVTtJQUNSLEdBQUcsWUFBWTtJQUNmLFNBQVMsWUFBWSxTQUFTLFVBQVUsUUFBUSxTQUFTO0lBQzFEO0dBQ0Y7QUFDRCxlQUFZLFNBQVE7R0FDbEIsTUFBTSxXQUFXLEtBQUssS0FBSyxTQUFTO0FBQ3BDLFVBQU8sQ0FDTCxHQUFHLEtBQUssTUFBTSxHQUFHLEtBQUssU0FBUyxFQUFFLEVBQ2pDLENBQUMsR0FBRyxTQUFTLE1BQU0sR0FBRyxTQUFTLFNBQVMsRUFBRSxFQUFFLFdBQVcsQ0FDeEQ7SUFDRDtBQUNGLFNBQU87O0FBRVQsY0FBWSxTQUFRLENBQUMsR0FBRyxLQUFLLE1BQU0sR0FBRyxLQUFLLFNBQVMsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLEtBQUssU0FBUyxJQUFJLFFBQVEsQ0FBQyxDQUFDO0FBQzdGLFFBQU87O0FBR1QsTUFBTSx3QkFDSixRQUNBLG1CQUNBLGdCQUNHO0FBQ0gsbUJBQWtCLEtBQUs7QUFDdkIsY0FBWSxTQUFRLENBQ2xCLEdBQUcsTUFDSCxDQUNFO0VBQ0UsSUFBSUMsSUFBTTtFQUNWLE1BQU0sWUFBWTtFQUNsQixNQUFNLFlBQVk7RUFDbEIsNEJBQVcsSUFBSSxNQUFNLEVBQUMsYUFBYTtFQUNuQyxVQUFVLEVBQ1IsU0FDRSw4RkFDSDtFQUNGLENBQ0YsQ0FDRixDQUFDOztBQUdKLE1BQU0sMkJBQTJCLE9BQy9CLFFBQ0Esb0JBR0EscUJBQ0EsYUFDQSxvQkFDQSxXQUMyQztDQUMzQyxJQUFJQztDQUNKLElBQUksbUJBQW1CO0FBRXZCLFlBQVcsTUFBTSxZQUFZLE9BQzNCLEtBQUk7QUFDRixNQUFJLG1CQUFtQixVQUFVLFNBQVMsQ0FDeEMsUUFBTyxFQUFFLGtCQUFrQjtFQUc3QixNQUFNLFVBQVUsb0JBQW9CLFNBQVM7QUFDN0MsTUFBSSxDQUFDLFFBQ0gsT0FBTSxJQUFJLE1BQU0scURBQXFEO0FBR3ZFLE1BQUksUUFBUSxTQUFTLFlBQVksZUFBZTtBQUM5Qyx1QkFBb0IsUUFBUTtBQUM1QixzQkFBbUI7QUFDbkIsc0JBQW1CLE1BQU07O0FBRzNCLGdCQUFjLG1CQUFtQixTQUFTLGFBQWMsWUFBWTtVQUM3REMsT0FBZ0I7QUFDdkIsaUJBQU8sUUFDTCxnRUFBZ0UsVUFDaEUsT0FDQTtHQUNFLGNBQWM7R0FDZDtHQUNELENBQ0Y7O0FBSUwsUUFBTyxFQUFFLGtCQUFrQjs7QUFHN0IsTUFBTSx1QkFBdUIsRUFBRSxlQUF3QztDQUNyRSxNQUFNLGdCQUFnQixXQUFXLGtCQUFrQjtDQUNuRCxNQUFNLENBQUMsbUJBQW1CLHdCQUF3QixTQUFTLE1BQU07Q0FDakUsTUFBTSxvQkFBb0IsV0FBVyxtQkFBbUI7Q0FFeEQsTUFBTSxDQUFDLFVBQVUsZUFBZSxRQUFxQixhQUFhO0NBQ2xFLE1BQU0sZ0JBQWdCLFdBQVcsZUFBZTtDQUNoRCxNQUFNLGlCQUFpQixXQUFXLGdCQUFnQjtDQUNsRCxNQUFNLENBQUMsb0JBQW9CLHlCQUF5QixRQUFpQix1QkFBdUI7Q0FDNUYsTUFBTSxDQUFDLG1CQUFtQix3QkFBd0IsUUFBaUIsc0JBQXNCO0NBQ3pGLE1BQU0sb0JBQW9CLFdBQVcsbUJBQW1CO0NBQ3hELE1BQU0sYUFBYSxhQUFhLG1CQUFtQjtDQUNuRCxNQUFNLHNCQUFzQixhQUFhLHdCQUF3QjtDQUNqRSxNQUFNLDBCQUEwQixXQUFXLHFCQUFxQjtDQUNoRSxNQUFNLHNCQUFzQixXQUFXLG1CQUFtQjtDQUMxRCxNQUFNLFNBQVMsYUFBYSxXQUFXO0NBQ3ZDLE1BQU0sU0FBUyxhQUFhLFdBQVc7Q0FDdkMsTUFBTSxpQkFBaUIsYUFBYSxtQkFBbUI7Q0FFdkQsTUFBTSxRQUFRO0NBRWQsTUFBTSxjQUFjLGFBQWEsZ0JBQWdCO0NBQ2pELE1BQU0sa0JBQWtCLDBCQUEwQjtDQUNsRCxNQUFNLHFCQUFxQix1QkFBdUI7Q0FDbEQsTUFBTSxzQkFBc0IsV0FBVyx3QkFBd0I7Q0FDL0QsTUFBTSxxQkFBcUIsV0FBVyx3QkFBd0I7Q0FDOUQsTUFBTSxFQUFFLFVBQVUsc0JBQXNCO0NBRXhDLE1BQU0sd0JBQXdCLFlBQzVCLE9BQU8sWUFBd0U7QUFDN0UsZ0JBQWMsa0JBQWtCLHFCQUFxQjtFQUNyRCxNQUFNLFNBQVNDLHFCQUFrQix5QkFBeUIsUUFBUTtBQUVsRSxNQUFJO0FBQ0YscUJBQWtCLE1BQU07R0FFeEIsTUFBTSxFQUFFLHFCQUFxQixNQUFNLHlCQUNqQyxRQUNBLG9CQUNBLHFCQUNBLGFBQ0Esb0JBQ0EsT0FDRDtBQUVELFVBQU8sRUFBRSxrQkFBa0I7V0FDcEIsR0FBRztBQUNWLHdCQUFxQixHQUFHLG1CQUFtQixZQUFZO0FBQ3ZELFNBQU07WUFDRTtBQUNSLGlCQUFjLGtCQUFrQix1QkFBdUI7O0lBRzNEO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDRCxDQUNGO0NBRUQsTUFBTSxpQkFBaUIsWUFBWSxZQUFZO0FBQzdDLGdCQUFjLGtCQUFrQix3QkFBd0I7QUFDeEQsd0JBQXNCLEtBQUs7QUFDM0IsaUJBQWUsRUFBRSxDQUFDO0VBRWxCLE1BQU0sMEJBQTBCLHNCQUFzQjtHQUNwRCxZQUFZLEVBQUU7R0FDZCxrQkFBa0IsZ0JBQWdCO0dBQ25DLENBQUM7QUFJRixrQkFIaUIsTUFBTUEscUJBQWtCLG1CQUFtQix3QkFBd0IsRUFHNUQsTUFBTSxHQUFHLE1BQU0sRUFBRSxRQUFRLFNBQVMsRUFBRSxRQUFRLE9BQU8sQ0FBQztBQUM1RSx3QkFBc0IsTUFBTTtBQUM1QixnQkFBYyxrQkFBa0IsMEJBQTBCO0lBQ3pEO0VBQUM7RUFBZTtFQUF1QjtFQUFnQixnQkFBZ0I7RUFBaUIsQ0FBQztDQUU1RixNQUFNLGVBQWUsWUFDbkIsT0FBTyxZQUFpQztBQUN0QyxNQUFJO0dBQ0YsTUFBTSxpQkFDSixXQUNBLHNCQUFzQjtJQUNwQjtJQUNBLGtCQUFrQixnQkFBZ0I7SUFDbkMsQ0FBQztBQUVKLHdCQUFxQixLQUFLO0FBQzFCLGtCQUFlLEVBQUUsQ0FBQztHQUNsQixNQUFNLGNBQWMsS0FBSyxLQUFLO0FBRTlCLFNBQU0sc0JBQXNCLGVBQWU7QUFFM0MsMkJBQXdCLGFBQWEsZ0JBQWdCLE1BQU07QUFDM0QsU0FBTSxnQkFBZ0I7V0FDZixPQUFPO0FBQ2Qsa0JBQU8sU0FBUyxrQ0FBa0MsTUFBTTtZQUNoRDtBQUdSLDJCQUF3QixXQUFXLEtBQUssRUFBRSxjQUFjLFFBQVEsQ0FBQztBQUNqRSxxQkFBa0IsTUFBTTtBQUN4Qix3QkFBcUIsTUFBTTs7SUFHL0I7RUFDRTtFQUNBLGdCQUFnQjtFQUNoQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNELENBQ0Y7QUFFRCxpQkFBZ0I7RUFDZCxNQUFNLG9CQUFvQixZQUFZO0FBQ3BDLE9BQUkscUJBQXFCLENBQUMsa0JBQ3hCO0FBR0YsT0FDRyxZQUFZLFlBQVksU0FBUyxDQUFDLFlBQVksYUFDOUMsWUFBWSxZQUFZLFNBQVMsQ0FBQyxZQUFZLFNBQzlDLFlBQVksWUFBWSxnQkFBZ0IsQ0FBQyxZQUFZLEtBQ3REO0FBQ0EsbUJBQU8sU0FBUywyREFBMkQ7S0FDekU7S0FDQTtLQUNELENBQUM7QUFDRjs7QUFHRixrQkFBTyxTQUNMLDBDQUEwQyxrQkFBa0IsZUFBZSxvQkFDNUU7QUFDRCxPQUFJO0FBQ0YsVUFBTSxjQUFjO0FBQ3BCLG1CQUFPLFFBQVEsNkJBQTZCO1lBQ3JDRCxPQUFnQjtBQUN2QixtQkFBTyxTQUFTLHFDQUFxQyxNQUFNOzs7QUFHL0QsTUFBSSxzQkFBc0IsRUFDeEIsb0JBQW1CO0lBRXBCO0VBQ0Q7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0QsQ0FBQztBQUVGLGlCQUFnQjtBQUNkLE1BQUkscUJBQXFCLG1CQUFtQjtBQUMxQyxrQkFBTyxTQUNMLGlFQUFpRSxrQkFBa0Isa0JBQWtCLG9CQUN0RztBQUNEOztFQUdGLE1BQU0sY0FBYyxZQUFZO0FBQzlCLE9BQUk7QUFDRixtQkFBTyxTQUNMLHVEQUF1RCxrQkFBa0Isa0JBQWtCLG9CQUM1RjtJQUtELE1BQU0sRUFBRSxVQUFVLGtCQUFrQiw2QkFBZSxNQUFNQyxxQkFBa0IsYUFDekUsT0FDQSxRQUNBLE9BQ0Q7QUFDRCxnQkFBWSxDQUFDLEdBQUcsaUJBQWlCLENBQUM7QUFDbEMsa0JBQWMsQ0FBQyxHQUFHQyxhQUFXLENBQUM7QUFDOUIsa0JBQWM7WUFDUCxPQUFPO0FBRWQsbUJBQU8sUUFBUSxpQ0FBaUMsT0FBTyxTQUFTLFNBQVMsTUFBTTtBQUMvRSxRQUFJLGlCQUFpQix3QkFBd0I7S0FDM0MsTUFBTSxpQkFBaUIsc0JBQXNCO0tBQzdDLE1BQU0sYUFBYSxxQkFBcUIsRUFBRSxhQUFhLENBQUM7QUFDeEQsaUJBQVksRUFBRSxDQUFDO0FBQ2YsMEJBQXFCO0FBQ3JCLFNBQUksV0FLRixjQUpnQixzQkFBc0I7TUFDcEMsWUFBWSxDQUFDLGdCQUFnQixXQUFXO01BQ3hDLGtCQUFrQixnQkFBZ0I7TUFDbkMsQ0FBQyxDQUNtQjs7YUFHakI7QUFDUix5QkFBcUIsS0FBSzs7O0FBSTlCLGVBQWE7SUFDWixFQUFFLENBQUM7Q0FFTixNQUFNLFVBQVUsWUFBWSxZQUFZO0FBQ3RDLE1BQUk7QUFDRixPQUFJLENBQUMscUJBQXFCLENBQUMsc0JBQXNCLE9BQU87SUFDdEQsTUFBTSxFQUFFLFVBQVUscUJBQXFCLE1BQU1ELHFCQUFrQixhQUM3RCxPQUNBLFFBQ0EsT0FDRDtBQUVELFFBQUksaUJBQWlCLFNBQVMsU0FBUyxPQUNyQyxhQUFZLENBQUMsR0FBRyxpQkFBaUIsQ0FBQzs7V0FVL0JELE9BQWdCO0FBQ3ZCLGtCQUFPLFNBQVMsNkJBQTZCLE1BQU07O0lBRXBEO0VBQUM7RUFBbUI7RUFBb0I7RUFBTztFQUFRO0VBQVEsU0FBUztFQUFRO0VBQVksQ0FBQztBQUdoRyxpQkFBZ0I7QUFDZCxTQUFPLGlCQUFpQixTQUFTLFFBQVE7QUFFekMsZUFBYTtBQUNYLFVBQU8sb0JBQW9CLFNBQVMsUUFBUTs7SUFFN0MsQ0FBQyxRQUFRLENBQUM7Q0FFYixNQUFNLGNBQWMsZUFBZSxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBRTNDLFFBQU8sb0JBQUMsWUFBWTtFQUFTLE9BQU87RUFBYztHQUFnQyJ9
|
|
304
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdENvbnRleHQuanMiLCJuYW1lcyI6WyJ1c2VyUXVlcnlQcm9wZXJ0eTogc3RyaW5nIHwgdW5kZWZpbmVkIiwiZXZlbnRQcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4iLCJ1dWlkIiwibGFzdE1lc3NhZ2U6IE1lc3NhZ2UgfCB1bmRlZmluZWQiLCJlcnJvcjogdW5rbm93biIsIkNvbW1lcmNlQXBpQ2xpZW50IiwidXNlckV2ZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9jaGF0Q29udGV4dC9jaGF0Q29udGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgdXNlQXRvbSwgdXNlQXRvbVZhbHVlLCB1c2VTZXRBdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgUmVhY3ROb2RlLCBjcmVhdGVDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBDb21tZXJjZUFwaUNsaWVudCBmcm9tICdzcmMvYXBwbGljYXRpb24vY29tbWVyY2UtYXBpJztcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IFNlc3Npb25SZXN0YXJ0UmVxdWlyZWQgfSBmcm9tICdzcmMvdHlwZXMvZXhjZXB0aW9ucy9zZXNzaW9uRXhjZXB0aW9ucyc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQge1xuICBNZXNzYWdlLFxuICBNZXNzYWdlUm9sZSxcbiAgTWVzc2FnZVR5cGUsXG4gIE5leHRNZXNzYWdlUmVxdWVzdCxcbiAgUmVzcG9uc2UsXG59IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgbWVzc2FnZUZyb21SZXNwb25zZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi91dGlscyc7XG5pbXBvcnQgeyBjaGF0SWRBdG9tLCB1c2VySWRBdG9tLCB2YXJpYW50SW5mb0F0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCB7XG4gIFBlcmZNZXRyaWNzRXZlbnRzLFxuICBjaGF0QXRvbSxcbiAgbG9nUGVyZk1ldHJpY0F0b20sXG4gIG1lc3NhZ2VzQXRvbSxcbiAgcmVxdWVzdEZhaWx1cmVBdG9tLFxuICByZXNwb25zZVN0cmVhbWluZ0F0b20sXG4gIHN1Z2dlc3Rpb25zQXRvbSxcbiAgc3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSxcbiAgdXNlckV2ZW50c0F0b20sXG4gIHVzZXJIYXNSZXBsaWVkQXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL2NoYXQnO1xuaW1wb3J0IHtcbiAgY2hhdFNlYXJjaElzTG9hZGluZ0F0b20sXG4gIGNoYXRTZWFyY2hQcm9kdWN0U29ydGluZ0F0b20sXG4gIGNoYXRTZWFyY2hQcm9kdWN0cyxcbiAgY2hhdFNlYXJjaFN0YXRlQXRvbSxcbiAgaGFuZGxlU2VhcmNoUmVzdWx0c0F0b20sXG59IGZyb20gJ3NyYy9hdG9tcy9zZWFyY2gvY2hhdFNlYXJjaCc7XG5pbXBvcnQgeyBjcmVhdGVBcHBMb2FkZWRFdmVudCwgY3JlYXRlVmlzaXRVc2VyRXZlbnQgfSBmcm9tICdzcmMvaG9va3MvdXRpbHMnO1xuaW1wb3J0IHsgdXNlTWVzc2FnZUludGVyY2VwdG9yIH0gZnJvbSAnc3JjL2ludGVyY2VwdG9ycy91c2VNZXNzYWdlSW50ZXJjZXB0b3InO1xuaW1wb3J0IHsgc3VwcG9ydGVkRXZlbnRBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2FwcC92YXJpYW50JztcbmltcG9ydCB7IGdldEF0b21TdG9yZSB9IGZyb20gJ3NyYy9hdG9tcy9hdG9tU3RvcmUnO1xuaW1wb3J0IHtcbiAgY2xlYXJVc2VyRXZlbnRBdG9tLFxuICBjcmVhdGVSZXNwb25zZVBheWxvYWQsXG4gIHByb2Nlc3NVc2VyRXZlbnRBdG9tLFxuICB1c2VyRXZlbnRRdWV1ZUF0b20sXG4gIHVzZXJRdWV1ZUV2ZW50Q291bnRBdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvY2hhdC9tZXNzYWdlUXVldWUnO1xuaW1wb3J0IHsgdXNlQW1wbGl0dWRlVHJhY2tpbmcgfSBmcm9tICdzcmMvaG9va3MvQW1wbGl0dWRlT3BlcmF0aW9ucy91c2VBbXBsaXR1ZGVPcGVyYXRpb25zJztcbmltcG9ydCB7IHVzZVN5c3RlbVNldHRpbmdzQ29udGV4dCB9IGZyb20gJ3NyYy9ob29rcy9TeXN0ZW1TZXR0aW5nc0NvbnRleHQnO1xuXG4vKipcbiAqIFJlY29yZCB0aGUgY2hhdCBhc3Npc3RhbnQgcmVzcG9uc2UgaW4gQW1wbGl0dWRlXG4gKlxuICogQHBhcmFtIHN0YXJ0VGltZU1zIFRoZSBzdGFydCB0aW1lIG9mIHRoZSBhc3Npc3RhbnQgcmVzcG9uc2VcbiAqIEBwYXJhbSBwYXlsb2FkIFRoZSBwYXlsb2FkIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIHJlc3BvbnNlXG4gKi9cbmNvbnN0IHJlY29yZEFzc2lzdGFudFJlc3BvbnNlID0gKFxuICBzdGFydFRpbWVNczogbnVtYmVyLFxuICBwYXlsb2FkOiBOZXh0TWVzc2FnZVJlcXVlc3QsXG4gIHRyYWNrOiAoZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLCBldmVudFByb3BzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IHZvaWQsXG4pID0+IHtcbiAgY29uc3QgYXRvbVN0b3JlID0gZ2V0QXRvbVN0b3JlKCk7XG4gIGNvbnN0IGNoYXRTdGF0ZSA9IGF0b21TdG9yZS5nZXQoY2hhdEF0b20pO1xuICBjb25zdCBjaGF0U2VhcmNoU3RhdGUgPSBhdG9tU3RvcmUuZ2V0KGNoYXRTZWFyY2hTdGF0ZUF0b20pO1xuICBjb25zdCBzZWFyY2hQcm9kdWN0cyA9IGF0b21TdG9yZS5nZXQoY2hhdFNlYXJjaFByb2R1Y3RzKTtcbiAgY29uc3Qgc2VhcmNoUHJvZHVjdHNTb3J0ID0gYXRvbVN0b3JlLmdldChjaGF0U2VhcmNoUHJvZHVjdFNvcnRpbmdBdG9tKTtcbiAgY29uc3QgYXNzaXN0YW50UmVzcG9uc2VUaW1lTXMgPSB7IHN0YXJ0OiBzdGFydFRpbWVNcywgZW5kOiBEYXRlLm5vdygpIH07XG4gIGxldCB1c2VyUXVlcnlQcm9wZXJ0eTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIGlmIChcbiAgICBjaGF0U3RhdGUucmVwbHlFdmVudENhdGVnb3J5ID09PSBVc2VyRXZlbnRDYXRlZ29yeS5TdWdnZXN0aW9uQ2xpY2tlZCAmJlxuICAgIGNoYXRTdGF0ZS5zdWdnZXN0aW9uXG4gICkge1xuICAgIHVzZXJRdWVyeVByb3BlcnR5ID0gY2hhdFN0YXRlLnN1Z2dlc3Rpb24uY29udGVudDtcbiAgfSBlbHNlIGlmIChjaGF0U3RhdGUudXNlclF1ZXJ5ICYmIGNoYXRTdGF0ZS51c2VyUXVlcnkubGVuZ3RoID4gMCkge1xuICAgIHVzZXJRdWVyeVByb3BlcnR5ID0gY2hhdFN0YXRlLnVzZXJRdWVyeTtcbiAgfVxuXG4gIGNvbnN0IGV2ZW50UHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgIHJlc3BvbnNlX3RpbWVfbXM6IGFzc2lzdGFudFJlc3BvbnNlVGltZU1zLmVuZCAtIGFzc2lzdGFudFJlc3BvbnNlVGltZU1zLnN0YXJ0LFxuICAgIHVzZXJfZXZlbnRfdHlwZTogY2hhdFN0YXRlLnJlcGx5RXZlbnRDYXRlZ29yeSxcbiAgICB1c2VyX3F1ZXJ5OiB1c2VyUXVlcnlQcm9wZXJ0eSxcbiAgfTtcblxuICBpZiAoY2hhdFN0YXRlLnJlcGx5RXZlbnRDYXRlZ29yeSA9PT0gVXNlckV2ZW50Q2F0ZWdvcnkuRm9ybVN1Ym1pdHRlZCkge1xuICAgIGNvbnN0IGxhc3RBc3Npc3RhbnRUdXJuID0gY2hhdFN0YXRlLm1lc3NhZ2VzXG4gICAgICAuZmlsdGVyKHR1cm4gPT4gdHVybi5sZW5ndGggPiAwICYmIHR1cm5bMF0ucm9sZSA9PT0gTWVzc2FnZVJvbGUuQXNzaXN0YW50KVxuICAgICAgLnBvcCgpO1xuICAgIGNvbnN0IGZvcm1UeXBlID0gcGF5bG9hZC51c2VyRXZlbnRzPy5maW5kKFxuICAgICAgZXZlbnQgPT4gZXZlbnQuY2F0ZWdvcnkgPT09IFVzZXJFdmVudENhdGVnb3J5LkZvcm1TdWJtaXR0ZWQsXG4gICAgKT8uYXR0cmlidXRlcy5mb3JtVHlwZTtcbiAgICBjb25zdCBmb3JtU3RhdHVzID0gbGFzdEFzc2lzdGFudFR1cm4/LnNvbWUocmVzcG9uc2UgPT4gcmVzcG9uc2UudHlwZSA9PT0gTWVzc2FnZVR5cGUuT3JkZXIpO1xuICAgIGV2ZW50UHJvcHMuZm9ybV9zdWJtaXR0ZWRfYXR0cmlidXRlcyA9IHtcbiAgICAgIGZvcm1fdHlwZTogZm9ybVR5cGUsXG4gICAgICBzdGF0dXM6IGZvcm1TdGF0dXMgPyAnc3VjY2VzcycgOiAnZmFpbGVkJyxcbiAgICB9O1xuICB9XG5cbiAgaWYgKGNoYXRTZWFyY2hTdGF0ZSA9PT0gJ3Byb2R1Y3QtcGFnZScpIHtcbiAgICBldmVudFByb3BzLnNlYXJjaF9wcm9kdWN0c19yZXR1cm5lZCA9IHNlYXJjaFByb2R1Y3RzLmxlbmd0aDtcbiAgICBldmVudFByb3BzLnNlYXJjaF9wcm9kdWN0c19zb3J0X3R5cGUgPSBzZWFyY2hQcm9kdWN0c1NvcnQ7XG4gIH1cblxuICB0cmFjayhTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRBc3Npc3RhbnRSZXNwb25zZSwge1xuICAgIGV2ZW50UHJvcHMsXG4gIH0pO1xufTtcblxuaW50ZXJmYWNlIENoYXRDb250ZXh0UGFyYW1zIHt9XG5cbmNvbnN0IENoYXRDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxDaGF0Q29udGV4dFBhcmFtcyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuY29uc3QgdXBkYXRlTWVzc2FnZVN0YXRlID0gKFxuICBtZXNzYWdlOiBNZXNzYWdlLFxuICBsYXN0TWVzc2FnZTogTWVzc2FnZSxcbiAgc2V0TWVzc2FnZXM6ICh1cGRhdGVyOiAocHJldjogTWVzc2FnZVtdW10pID0+IE1lc3NhZ2VbXVtdKSA9PiB2b2lkLFxuKTogTWVzc2FnZSA9PiB7XG4gIGlmIChsYXN0TWVzc2FnZSA9PSBudWxsKSB7XG4gICAgc2V0TWVzc2FnZXMocHJldiA9PiBbLi4ucHJldiwgW21lc3NhZ2VdXSk7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH1cbiAgaWYgKGxhc3RNZXNzYWdlLnR5cGUgPT09IE1lc3NhZ2VUeXBlLlRleHQgJiYgbWVzc2FnZS50eXBlID09PSBNZXNzYWdlVHlwZS5UZXh0KSB7XG4gICAgY29uc3QgbmV3TWVzc2FnZSA9IHtcbiAgICAgIC4uLmxhc3RNZXNzYWdlLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgLi4ubGFzdE1lc3NhZ2UubWV0YWRhdGEsXG4gICAgICAgIGNvbnRlbnQ6IGxhc3RNZXNzYWdlLm1ldGFkYXRhLmNvbnRlbnQgKyBtZXNzYWdlLm1ldGFkYXRhLmNvbnRlbnQsXG4gICAgICB9LFxuICAgIH07XG4gICAgc2V0TWVzc2FnZXMocHJldiA9PiB7XG4gICAgICBjb25zdCBsYXN0VHVybiA9IHByZXZbcHJldi5sZW5ndGggLSAxXTtcbiAgICAgIHJldHVybiBbXG4gICAgICAgIC4uLnByZXYuc2xpY2UoMCwgcHJldi5sZW5ndGggLSAxKSxcbiAgICAgICAgWy4uLmxhc3RUdXJuLnNsaWNlKDAsIGxhc3RUdXJuLmxlbmd0aCAtIDEpLCBuZXdNZXNzYWdlXSxcbiAgICAgIF07XG4gICAgfSk7XG4gICAgcmV0dXJuIG5ld01lc3NhZ2U7XG4gIH1cbiAgc2V0TWVzc2FnZXMocHJldiA9PiBbLi4ucHJldi5zbGljZSgwLCBwcmV2Lmxlbmd0aCAtIDEpLCBbLi4ucHJldltwcmV2Lmxlbmd0aCAtIDFdLCBtZXNzYWdlXV0pO1xuICByZXR1cm4gbWVzc2FnZTtcbn07XG5cbmNvbnN0IGhhbmRsZVN0cmVhbWluZ0Vycm9yID0gKFxuICBfZXJyb3I6IHVua25vd24sXG4gIHNldFJlcXVlc3RGYWlsdXJlOiAoZmFpbGVkOiBib29sZWFuKSA9PiB2b2lkLFxuICBzZXRNZXNzYWdlczogKHVwZGF0ZXI6IChwcmV2OiBNZXNzYWdlW11bXSkgPT4gTWVzc2FnZVtdW10pID0+IHZvaWQsXG4pID0+IHtcbiAgc2V0UmVxdWVzdEZhaWx1cmUodHJ1ZSk7XG4gIHNldE1lc3NhZ2VzKHByZXYgPT4gW1xuICAgIC4uLnByZXYsXG4gICAgW1xuICAgICAge1xuICAgICAgICBpZDogdXVpZCgpLFxuICAgICAgICByb2xlOiBNZXNzYWdlUm9sZS5Bc3Npc3RhbnQsXG4gICAgICAgIHR5cGU6IE1lc3NhZ2VUeXBlLlRleHQsXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBtZXRhZGF0YToge1xuICAgICAgICAgIGNvbnRlbnQ6XG4gICAgICAgICAgICBcIkknbSBzb3JyeSEgSSdtIGhhdmluZyB0cm91YmxlIHJpZ2h0IG5vdy4gUGxlYXNlIHJlZnJlc2ggdGhlIHBhZ2Ugb3IgdHJ5IGFnYWluIGluIGEgbW9tZW50LlwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG5cbmNvbnN0IHByb2Nlc3NTdHJlYW1pbmdSZXNwb25zZSA9IGFzeW5jIChcbiAgc3RyZWFtOiBBc3luY0l0ZXJhYmxlPFJlc3BvbnNlPixcbiAgbWVzc2FnZUludGVyY2VwdG9yOiB7XG4gICAgaW50ZXJjZXB0OiAocmVzcG9uc2U/OiBSZXNwb25zZSkgPT4gYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgfSxcbiAgaGFuZGxlU2VhcmNoUmVzdWx0czogKG1lc3NhZ2U6IE1lc3NhZ2UpID0+IHZvaWQsXG4gIHNldE1lc3NhZ2VzOiAodXBkYXRlcjogKHByZXY6IE1lc3NhZ2VbXVtdKSA9PiBNZXNzYWdlW11bXSkgPT4gdm9pZCxcbiAgc2V0U2VhcmNoSXNMb2FkaW5nOiAobG9hZGluZzogYm9vbGVhbikgPT4gdm9pZCxcbiAgY2hhdElkOiBzdHJpbmcsXG4pOiBQcm9taXNlPHsgaGFzU2VhcmNoUmVzdWx0czogYm9vbGVhbiB9PiA9PiB7XG4gIGxldCBsYXN0TWVzc2FnZTogTWVzc2FnZSB8IHVuZGVmaW5lZDtcbiAgbGV0IGhhc1NlYXJjaFJlc3VsdHMgPSBmYWxzZTtcblxuICBmb3IgYXdhaXQgKGNvbnN0IHJlc3BvbnNlIG9mIHN0cmVhbSkge1xuICAgIHRyeSB7XG4gICAgICBpZiAobWVzc2FnZUludGVyY2VwdG9yLmludGVyY2VwdChyZXNwb25zZSkpIHtcbiAgICAgICAgcmV0dXJuIHsgaGFzU2VhcmNoUmVzdWx0cyB9O1xuICAgICAgfVxuXG4gICAgICBjb25zdCBtZXNzYWdlID0gbWVzc2FnZUZyb21SZXNwb25zZShyZXNwb25zZSk7XG4gICAgICBpZiAoIW1lc3NhZ2UpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gdHJhbnNmb3JtIEFQSSByZXNwb25zZSB0byBjbGllbnQgbWVzc2FnZScpO1xuICAgICAgfVxuXG4gICAgICBpZiAobWVzc2FnZS50eXBlID09PSBNZXNzYWdlVHlwZS5Qcm9kdWN0U2VhcmNoKSB7XG4gICAgICAgIGhhbmRsZVNlYXJjaFJlc3VsdHMobWVzc2FnZSk7XG4gICAgICAgIGhhc1NlYXJjaFJlc3VsdHMgPSB0cnVlO1xuICAgICAgICBzZXRTZWFyY2hJc0xvYWRpbmcoZmFsc2UpOyAvLyBVcGRhdGUgc2VhcmNoIGxvYWRpbmcgaW1tZWRpYXRlbHkgd2hlbiByZXN1bHRzIGFyZSBkZXRlY3RlZFxuICAgICAgfVxuXG4gICAgICBsYXN0TWVzc2FnZSA9IHVwZGF0ZU1lc3NhZ2VTdGF0ZShtZXNzYWdlLCBsYXN0TWVzc2FnZSEsIHNldE1lc3NhZ2VzKTtcbiAgICB9IGNhdGNoIChlcnJvcjogdW5rbm93bikge1xuICAgICAgTG9nZ2VyLmxvZ1dhcm4oXG4gICAgICAgIGBbc3BpZmZ5LWFpXSBGYWlsZWQgdG8gZ2VuZXJhdGUgcmVzcG9uc2VzIGZyb20gc3RyZWFtIGNoYXRfaWQ9JHtjaGF0SWR9YCxcbiAgICAgICAgZXJyb3IsXG4gICAgICAgIHtcbiAgICAgICAgICBsYXN0UmVzcG9uc2U6IGxhc3RNZXNzYWdlLFxuICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4geyBoYXNTZWFyY2hSZXN1bHRzIH07XG59O1xuXG5jb25zdCBDaGF0Q29udGV4dFByb3ZpZGVyID0gKHsgY2hpbGRyZW4gfTogeyBjaGlsZHJlbjogUmVhY3ROb2RlIH0pID0+IHtcbiAgY29uc3QgbG9nUGVyZk1ldHJpYyA9IHVzZVNldEF0b20obG9nUGVyZk1ldHJpY0F0b20pO1xuICBjb25zdCBbd2lkZ2V0SW5pdGlhbGl6ZWQsIHNldFdpZGdldEluaXRpYWxpemVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3Qgc2V0VXNlckhhc1JlcGxpZWQgPSB1c2VTZXRBdG9tKHVzZXJIYXNSZXBsaWVkQXRvbSk7XG4gIC8vIFRPRE86IGNyZWF0ZSBhdG9tcyBmb3Igc2V0dGluZy9nZXR0aW5nIHRoZSBsYXN0IG1lc3NhZ2UgdHVyblxuICBjb25zdCBbbWVzc2FnZXMsIHNldE1lc3NhZ2VzXSA9IHVzZUF0b208TWVzc2FnZVtdW10+KG1lc3NhZ2VzQXRvbSk7XG4gIGNvbnN0IHNldFVzZXJFdmVudHMgPSB1c2VTZXRBdG9tKHVzZXJFdmVudHNBdG9tKTtcbiAgY29uc3Qgc2V0U3VnZ2VzdGlvbnMgPSB1c2VTZXRBdG9tKHN1Z2dlc3Rpb25zQXRvbSk7XG4gIGNvbnN0IFtzdWdnZXN0aW9uc0xvYWRpbmcsIHNldFN1Z2dlc3Rpb25zTG9hZGluZ10gPSB1c2VBdG9tPGJvb2xlYW4+KHN1Z2dlc3Rpb25zTG9hZGluZ0F0b20pO1xuICBjb25zdCBbcmVzcG9uc2VTdHJlYW1pbmcsIHNldFJlc3BvbnNlU3RyZWFtaW5nXSA9IHVzZUF0b208Ym9vbGVhbj4ocmVzcG9uc2VTdHJlYW1pbmdBdG9tKTtcbiAgY29uc3Qgc2V0UmVxdWVzdEZhaWx1cmUgPSB1c2VTZXRBdG9tKHJlcXVlc3RGYWlsdXJlQXRvbSk7XG4gIGNvbnN0IHVzZXJFdmVudHMgPSB1c2VBdG9tVmFsdWUodXNlckV2ZW50UXVldWVBdG9tKTtcbiAgY29uc3QgdXNlclF1ZXVlRXZlbnRDb3VudCA9IHVzZUF0b21WYWx1ZSh1c2VyUXVldWVFdmVudENvdW50QXRvbSk7XG4gIGNvbnN0IG1hcmtVc2VyRXZlbnRzUHJvY2Vzc2VkID0gdXNlU2V0QXRvbShwcm9jZXNzVXNlckV2ZW50QXRvbSk7XG4gIGNvbnN0IGNsZWFyVXNlckV2ZW50UXVldWUgPSB1c2VTZXRBdG9tKGNsZWFyVXNlckV2ZW50QXRvbSk7XG4gIGNvbnN0IHVzZXJJZCA9IHVzZUF0b21WYWx1ZSh1c2VySWRBdG9tKTtcbiAgY29uc3QgY2hhdElkID0gdXNlQXRvbVZhbHVlKGNoYXRJZEF0b20pO1xuICBjb25zdCBzdXBwb3J0ZWRFdmVudCA9IHVzZUF0b21WYWx1ZShzdXBwb3J0ZWRFdmVudEF0b20pO1xuICAvLyBUT0RPOiBSZXBsYWNlIHdpdGggYWN0dWFsIG9yZ0lkIGZyb20gdXNlRW52aXZlQ29uZmlnIG9yIE5ld09yZ0NvbmZpZ0NvbnRleHQgd2hlbiBhdmFpbGFibGVcbiAgY29uc3Qgb3JnSWQgPSAnbW9jay1vcmctaWQnO1xuXG4gIGNvbnN0IHZhcmlhbnRJbmZvID0gdXNlQXRvbVZhbHVlKHZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IHNldHRpbmdzQ29udGV4dCA9IHVzZVN5c3RlbVNldHRpbmdzQ29udGV4dCgpO1xuICBjb25zdCBtZXNzYWdlSW50ZXJjZXB0b3IgPSB1c2VNZXNzYWdlSW50ZXJjZXB0b3IoKTtcbiAgY29uc3QgaGFuZGxlU2VhcmNoUmVzdWx0cyA9IHVzZVNldEF0b20oaGFuZGxlU2VhcmNoUmVzdWx0c0F0b20pO1xuICBjb25zdCBzZXRTZWFyY2hJc0xvYWRpbmcgPSB1c2VTZXRBdG9tKGNoYXRTZWFyY2hJc0xvYWRpbmdBdG9tKTtcbiAgY29uc3QgeyB0cmFjayB9ID0gdXNlQW1wbGl0dWRlVHJhY2tpbmcoKTtcblxuICBjb25zdCBnZXRTdHJlYW1pbmdSZXNwb25zZXMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocGF5bG9hZDogTmV4dE1lc3NhZ2VSZXF1ZXN0KTogUHJvbWlzZTx7IGhhc1NlYXJjaFJlc3VsdHM6IGJvb2xlYW4gfT4gPT4ge1xuICAgICAgbG9nUGVyZk1ldHJpYyhQZXJmTWV0cmljc0V2ZW50cy5GaXJzdFJlc3BvbnNlU3RhcnRlZCk7XG4gICAgICBjb25zdCBzdHJlYW0gPSBDb21tZXJjZUFwaUNsaWVudC5nZXROZXh0UmVzcG9uc2VTdHJlYW1pbmcocGF5bG9hZCk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHNldFJlcXVlc3RGYWlsdXJlKGZhbHNlKTtcblxuICAgICAgICBjb25zdCB7IGhhc1NlYXJjaFJlc3VsdHMgfSA9IGF3YWl0IHByb2Nlc3NTdHJlYW1pbmdSZXNwb25zZShcbiAgICAgICAgICBzdHJlYW0sXG4gICAgICAgICAgbWVzc2FnZUludGVyY2VwdG9yLFxuICAgICAgICAgIGhhbmRsZVNlYXJjaFJlc3VsdHMsXG4gICAgICAgICAgc2V0TWVzc2FnZXMsXG4gICAgICAgICAgc2V0U2VhcmNoSXNMb2FkaW5nLFxuICAgICAgICAgIGNoYXRJZCxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4geyBoYXNTZWFyY2hSZXN1bHRzIH07XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIGhhbmRsZVN0cmVhbWluZ0Vycm9yKGUsIHNldFJlcXVlc3RGYWlsdXJlLCBzZXRNZXNzYWdlcyk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBsb2dQZXJmTWV0cmljKFBlcmZNZXRyaWNzRXZlbnRzLkZpcnN0UmVzcG9uc2VDb21wbGV0ZWQpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW1xuICAgICAgbG9nUGVyZk1ldHJpYyxcbiAgICAgIHNldFJlcXVlc3RGYWlsdXJlLFxuICAgICAgbWVzc2FnZUludGVyY2VwdG9yLFxuICAgICAgaGFuZGxlU2VhcmNoUmVzdWx0cyxcbiAgICAgIHNldE1lc3NhZ2VzLFxuICAgICAgc2V0U2VhcmNoSXNMb2FkaW5nLFxuICAgICAgY2hhdElkLFxuICAgIF0sXG4gICk7XG5cbiAgY29uc3QgZ2V0U3VnZ2VzdGlvbnMgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgbG9nUGVyZk1ldHJpYyhQZXJmTWV0cmljc0V2ZW50cy5GaXJzdFN1Z2dlc3Rpb25zU3RhcnRlZCk7XG4gICAgc2V0U3VnZ2VzdGlvbnNMb2FkaW5nKHRydWUpO1xuICAgIHNldFN1Z2dlc3Rpb25zKFtdKTtcblxuICAgIGNvbnN0IHBheWxvYWRXaXRob3V0QXBwTG9hZGVkID0gY3JlYXRlUmVzcG9uc2VQYXlsb2FkKHtcbiAgICAgIHVzZXJFdmVudHM6IFtdLFxuICAgICAgZ2VuZXJhdGlvblBhcmFtczogc2V0dGluZ3NDb250ZXh0LmdlbmVyYXRpb25QYXJhbXMsXG4gICAgfSk7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5nZXROZXh0U3VnZ2VzdGlvbnMocGF5bG9hZFdpdGhvdXRBcHBMb2FkZWQpO1xuXG4gICAgLy8gc29ydCB0aGUgc3VnZ2VzdGlvbnMgYnkgc2hvcnRlc3QgbGVuZ3RoIHNvIHRoZSBwaWxscyBjYW4gYmUgc3RhY2tlZCBob3Jpem9udGFsbHlcbiAgICBzZXRTdWdnZXN0aW9ucyhyZXNwb25zZS5zb3J0KChhLCBiKSA9PiBhLmNvbnRlbnQubGVuZ3RoIC0gYi5jb250ZW50Lmxlbmd0aCkpO1xuICAgIHNldFN1Z2dlc3Rpb25zTG9hZGluZyhmYWxzZSk7XG4gICAgbG9nUGVyZk1ldHJpYyhQZXJmTWV0cmljc0V2ZW50cy5GaXJzdFN1Z2dlc3Rpb25zQ29tcGxldGVkKTtcbiAgfSwgW2xvZ1BlcmZNZXRyaWMsIHNldFN1Z2dlc3Rpb25zTG9hZGluZywgc2V0U3VnZ2VzdGlvbnMsIHNldHRpbmdzQ29udGV4dC5nZW5lcmF0aW9uUGFyYW1zXSk7XG5cbiAgY29uc3QgZ2V0UmVzcG9uc2VzID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBheWxvYWQ/OiBOZXh0TWVzc2FnZVJlcXVlc3QpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcXVlc3RQYXlsb2FkID1cbiAgICAgICAgICBwYXlsb2FkID8/XG4gICAgICAgICAgY3JlYXRlUmVzcG9uc2VQYXlsb2FkKHtcbiAgICAgICAgICAgIHVzZXJFdmVudHMsXG4gICAgICAgICAgICBnZW5lcmF0aW9uUGFyYW1zOiBzZXR0aW5nc0NvbnRleHQuZ2VuZXJhdGlvblBhcmFtcyxcbiAgICAgICAgICB9KTtcblxuICAgICAgICBzZXRSZXNwb25zZVN0cmVhbWluZyh0cnVlKTtcbiAgICAgICAgc2V0U3VnZ2VzdGlvbnMoW10pO1xuICAgICAgICBjb25zdCBzdGFydFRpbWVNcyA9IERhdGUubm93KCk7XG5cbiAgICAgICAgYXdhaXQgZ2V0U3RyZWFtaW5nUmVzcG9uc2VzKHJlcXVlc3RQYXlsb2FkKTtcblxuICAgICAgICByZWNvcmRBc3Npc3RhbnRSZXNwb25zZShzdGFydFRpbWVNcywgcmVxdWVzdFBheWxvYWQsIHRyYWNrKTtcbiAgICAgICAgYXdhaXQgZ2V0U3VnZ2VzdGlvbnMoKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIExvZ2dlci5sb2dFcnJvcignW3NwaWZmeS1haV0gZ2V0UmVzcG9uc2VzIGVycm9yJywgZXJyb3IpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgLy8gUmVtb3ZlIHNlYXJjaCBsb2FkaW5nIG1hbmFnZW1lbnQgZnJvbSBoZXJlIC0gaXQncyBub3cgaGFuZGxlZCBpbmRlcGVuZGVudGx5XG4gICAgICAgIC8vIGluIHRoZSBwcm9jZXNzU3RyZWFtaW5nUmVzcG9uc2UgZnVuY3Rpb24gd2hlbiBzZWFyY2ggcmVzdWx0cyBhcmUgZGV0ZWN0ZWRcbiAgICAgICAgbWFya1VzZXJFdmVudHNQcm9jZXNzZWQodXNlckV2ZW50cy5tYXAoKHsgZXZlbnRJZCB9KSA9PiBldmVudElkKSk7XG4gICAgICAgIHNldFVzZXJIYXNSZXBsaWVkKGZhbHNlKTtcbiAgICAgICAgc2V0UmVzcG9uc2VTdHJlYW1pbmcoZmFsc2UpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW1xuICAgICAgdXNlckV2ZW50cyxcbiAgICAgIHNldHRpbmdzQ29udGV4dC5nZW5lcmF0aW9uUGFyYW1zLFxuICAgICAgc2V0UmVzcG9uc2VTdHJlYW1pbmcsXG4gICAgICBzZXRTdWdnZXN0aW9ucyxcbiAgICAgIGdldFN0cmVhbWluZ1Jlc3BvbnNlcyxcbiAgICAgIG1hcmtVc2VyRXZlbnRzUHJvY2Vzc2VkLFxuICAgICAgZ2V0U3VnZ2VzdGlvbnMsXG4gICAgICBzZXRVc2VySGFzUmVwbGllZCxcbiAgICAgIHRyYWNrLFxuICAgIF0sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBwcm9jZXNzVXNlckV2ZW50cyA9IGFzeW5jICgpID0+IHtcbiAgICAgIGlmIChyZXNwb25zZVN0cmVhbWluZyB8fCAhd2lkZ2V0SW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgICh2YXJpYW50SW5mby52YXJpYW50ID09PSAncGRwJyAmJiAhdmFyaWFudEluZm8ucHJvZHVjdElkKSB8fFxuICAgICAgICAodmFyaWFudEluZm8udmFyaWFudCA9PT0gJ3BscCcgJiYgIXZhcmlhbnRJbmZvLnBscElkKSB8fFxuICAgICAgICAodmFyaWFudEluZm8udmFyaWFudCA9PT0gJ3BhZ2VfdmlzaXQnICYmICF2YXJpYW50SW5mby51cmwpXG4gICAgICApIHtcbiAgICAgICAgTG9nZ2VyLmxvZ0RlYnVnKCdbc3BpZmZ5LWFpXSB2YXJpYW50SW5mbyBoYXMgaW52YWxpZCB2YWx1ZXMsIHNraXBwaW5nLi4uJywge1xuICAgICAgICAgIHZhcmlhbnRJbmZvLFxuICAgICAgICAgIHN1cHBvcnRlZEV2ZW50LFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBMb2dnZXIubG9nRGVidWcoXG4gICAgICAgIGBBc3Npc3RhbnRzIFR1cm4gaXNfY3VycmVudGx5X3N0cmVhbWluZz0ke3Jlc3BvbnNlU3RyZWFtaW5nfSBpbml0aWFsaXplZD0ke3dpZGdldEluaXRpYWxpemVkfWAsXG4gICAgICApO1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgZ2V0UmVzcG9uc2VzKCk7XG4gICAgICAgIExvZ2dlci5sb2dJbmZvKGBBc3Npc3RhbnRzIFR1cm4gW2ZpbmlzaGVkXWApO1xuICAgICAgfSBjYXRjaCAoZXJyb3I6IHVua25vd24pIHtcbiAgICAgICAgTG9nZ2VyLmxvZ0Vycm9yKCdbc3BpZmZ5LWFpXSBBc3Npc3RhbnRzIFR1cm4gZXJyb3InLCBlcnJvcik7XG4gICAgICB9XG4gICAgfTtcbiAgICBpZiAodXNlclF1ZXVlRXZlbnRDb3VudCA+IDApIHtcbiAgICAgIHByb2Nlc3NVc2VyRXZlbnRzKCk7XG4gICAgfVxuICB9LCBbXG4gICAgZ2V0UmVzcG9uc2VzLFxuICAgIHJlc3BvbnNlU3RyZWFtaW5nLFxuICAgIHVzZXJRdWV1ZUV2ZW50Q291bnQsXG4gICAgd2lkZ2V0SW5pdGlhbGl6ZWQsXG4gICAgdmFyaWFudEluZm8sXG4gICAgc3VwcG9ydGVkRXZlbnQsXG4gIF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHdpZGdldEluaXRpYWxpemVkIHx8IHJlc3BvbnNlU3RyZWFtaW5nKSB7XG4gICAgICBMb2dnZXIubG9nRGVidWcoXG4gICAgICAgIGBbc3BpZmZ5LWFpXSBpbml0aWFsaXplV2lkZ2V0IFtza2lwcGVkXSBpc19jdXJyZW50bHlfc3RyZWFtaW5nPSR7cmVzcG9uc2VTdHJlYW1pbmd9IGlzX2luaXRpYWxpemVkPSR7d2lkZ2V0SW5pdGlhbGl6ZWR9YCxcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaHlkcmF0ZUNoYXQgPSBhc3luYyAoKSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBMb2dnZXIubG9nRGVidWcoXG4gICAgICAgICAgYFtzcGlmZnktYWldIGluaXRpYWxpemVXaWRnZXQgaXNfY3VycmVudGx5X3N0cmVhbWluZz0ke3Jlc3BvbnNlU3RyZWFtaW5nfSBpc19pbml0aWFsaXplZD0ke3dpZGdldEluaXRpYWxpemVkfWAsXG4gICAgICAgICk7XG4gICAgICAgIC8vIG9uIG1vdW50LCB0cnkgdG8gZ2V0IHRoZSByZXNwb25zZXMgZnJvbSBhbiBhY3RpdmUgc2Vzc2lvbiBpZiBvbmUgZXhpc3RzXG4gICAgICAgIGlmICghb3JnSWQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ29yZ0lkIGlzIG5vdCBhdmFpbGFibGUnKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IG1lc3NhZ2VzOiBleGlzdGluZ01lc3NhZ2VzLCB1c2VyRXZlbnRzIH0gPSBhd2FpdCBDb21tZXJjZUFwaUNsaWVudC5nZXRSZXNwb25zZXMoXG4gICAgICAgICAgb3JnSWQsXG4gICAgICAgICAgY2hhdElkLFxuICAgICAgICAgIHVzZXJJZCxcbiAgICAgICAgKTtcbiAgICAgICAgc2V0TWVzc2FnZXMoWy4uLmV4aXN0aW5nTWVzc2FnZXNdKTtcbiAgICAgICAgc2V0VXNlckV2ZW50cyhbLi4udXNlckV2ZW50c10pO1xuICAgICAgICBnZXRSZXNwb25zZXMoKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIC8vIG5vIGFjdGl2ZSBjaGF0IHNlc3Npb24gd2FzIGZvdW5kLCBzdGFydCBhIG5ldyBvbmVcbiAgICAgICAgTG9nZ2VyLmxvZ0luZm8oYEluaXQgY2hhdCBbZXhjZXB0aW9uXSBjaGF0X2lkPSR7Y2hhdElkfSBlcnJvcj0ke2Vycm9yfWAsIGVycm9yKTtcbiAgICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgU2Vzc2lvblJlc3RhcnRSZXF1aXJlZCkge1xuICAgICAgICAgIGNvbnN0IGFwcExvYWRlZEV2ZW50ID0gY3JlYXRlQXBwTG9hZGVkRXZlbnQoKTtcbiAgICAgICAgICBjb25zdCB2aXNpdEV2ZW50ID0gY3JlYXRlVmlzaXRVc2VyRXZlbnQoeyB2YXJpYW50SW5mbyB9KTtcbiAgICAgICAgICBzZXRNZXNzYWdlcyhbXSk7XG4gICAgICAgICAgY2xlYXJVc2VyRXZlbnRRdWV1ZSgpO1xuICAgICAgICAgIGlmICh2aXNpdEV2ZW50KSB7XG4gICAgICAgICAgICBjb25zdCBwYXlsb2FkID0gY3JlYXRlUmVzcG9uc2VQYXlsb2FkKHtcbiAgICAgICAgICAgICAgdXNlckV2ZW50czogW2FwcExvYWRlZEV2ZW50LCB2aXNpdEV2ZW50XSxcbiAgICAgICAgICAgICAgZ2VuZXJhdGlvblBhcmFtczogc2V0dGluZ3NDb250ZXh0LmdlbmVyYXRpb25QYXJhbXMsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGdldFJlc3BvbnNlcyhwYXlsb2FkKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldFdpZGdldEluaXRpYWxpemVkKHRydWUpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBoeWRyYXRlQ2hhdCgpO1xuICB9LCBbXSk7XG5cbiAgY29uc3Qgb25Gb2N1cyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFyZXNwb25zZVN0cmVhbWluZyAmJiAhc3VnZ2VzdGlvbnNMb2FkaW5nICYmIG9yZ0lkKSB7XG4gICAgICAgIGNvbnN0IHsgbWVzc2FnZXM6IGV4aXN0aW5nTWVzc2FnZXMgfSA9IGF3YWl0IENvbW1lcmNlQXBpQ2xpZW50LmdldFJlc3BvbnNlcyhcbiAgICAgICAgICBvcmdJZCxcbiAgICAgICAgICBjaGF0SWQsXG4gICAgICAgICAgdXNlcklkLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChleGlzdGluZ01lc3NhZ2VzLmxlbmd0aCA+IG1lc3NhZ2VzLmxlbmd0aCkge1xuICAgICAgICAgIHNldE1lc3NhZ2VzKFsuLi5leGlzdGluZ01lc3NhZ2VzXSk7XG4gICAgICAgICAgLy8gVE9ETzogSXMgdGhpcyBidWcgaGFjayBzdGlsbCBuZWNlc3Nhcnk/XG4gICAgICAgICAgLy8gSWYgaXQgaXMsIGNvbWUgdXAgd2l0aCBhIGJldHRlciBzb2x1dGlvbiBmb3IgaXRcbiAgICAgICAgICAvLyB9IGVsc2UgaWYgKGV4aXN0aW5nTWVzc2FnZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgLy8gICAvLyBpZiB0aGVyZSB3YXMgYW4gZXJyb3IgZHVyaW5nIHRoZSBpbml0aWFsaXphdGlvbiBvZiBhIG5ldyBzZXNzaW9uLCB0aGUgc2Vzc2lvbiB3b3VsZCBiZVxuICAgICAgICAgIC8vICAgLy8gY3JlYXRlZCBpbiB0aGUgYmFja2VuZCBidXQgd2l0aG91dCBhbnkgbWVzc2FnZXMuIFJldHJ5IHRoZSBuZXh0X3Jlc3BvbnNlcyByZXF1ZXN0IHdpdGhcbiAgICAgICAgICAvLyAgIC8vIHRoZSBjdXJyZW50IHNldCBvZiBwYXJhbWV0ZXJzIHRvIFwianVtcHN0YXJ0XCIgdGhlIHNlc3Npb25cbiAgICAgICAgICAvLyAgIHRyaWdnZXJHZXRSZXNwb25zZUNhbGwoJ29uRm9jdXMnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yOiB1bmtub3duKSB7XG4gICAgICBMb2dnZXIubG9nRXJyb3IoJ1tzcGlmZnktYWldIG9uRm9jdXMgZXJyb3InLCBlcnJvcik7XG4gICAgfVxuICB9LCBbcmVzcG9uc2VTdHJlYW1pbmcsIHN1Z2dlc3Rpb25zTG9hZGluZywgb3JnSWQsIGNoYXRJZCwgdXNlcklkLCBtZXNzYWdlcy5sZW5ndGgsIHNldE1lc3NhZ2VzXSk7XG5cbiAgLy8gbGlzdGVuIGZvciBwYWdlIGZvY3VzIHRvIGdldCBsYXRlc3QgbWVzc2FnZXMgZnJvbSB0aGUgc2VydmVyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgb25Gb2N1cyk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgb25Gb2N1cyk7XG4gICAgfTtcbiAgfSwgW29uRm9jdXNdKTtcblxuICBjb25zdCBjaGF0Q29udGV4dCA9IHVzZU1lbW8oKCkgPT4gKHt9KSwgW10pO1xuXG4gIHJldHVybiA8Q2hhdENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NoYXRDb250ZXh0fT57Y2hpbGRyZW59PC9DaGF0Q29udGV4dC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgeyBDaGF0Q29udGV4dCwgQ2hhdENvbnRleHRQcm92aWRlciB9O1xuZXhwb3J0IHR5cGUgeyBDaGF0Q29udGV4dFBhcmFtcyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXdEQSxNQUFNLDJCQUNKLGFBQ0EsU0FDQSxVQUNHO0NBQ0gsTUFBTSxZQUFZLGNBQWM7Q0FDaEMsTUFBTSxZQUFZLFVBQVUsSUFBSSxTQUFTO0NBQ3pDLE1BQU0sa0JBQWtCLFVBQVUsSUFBSSxvQkFBb0I7Q0FDMUQsTUFBTSxpQkFBaUIsVUFBVSxJQUFJLG1CQUFtQjtDQUN4RCxNQUFNLHFCQUFxQixVQUFVLElBQUksNkJBQTZCO0NBQ3RFLE1BQU0sMEJBQTBCO0VBQUUsT0FBTztFQUFhLEtBQUssS0FBSyxLQUFLO0VBQUU7Q0FDdkUsSUFBSUE7QUFFSixLQUNFLFVBQVUsdUJBQXVCLGtCQUFrQixxQkFDbkQsVUFBVSxXQUVWLHFCQUFvQixVQUFVLFdBQVc7VUFDaEMsVUFBVSxhQUFhLFVBQVUsVUFBVSxTQUFTLEVBQzdELHFCQUFvQixVQUFVO0NBR2hDLE1BQU1DLGFBQXNDO0VBQzFDLGtCQUFrQix3QkFBd0IsTUFBTSx3QkFBd0I7RUFDeEUsaUJBQWlCLFVBQVU7RUFDM0IsWUFBWTtFQUNiO0FBRUQsS0FBSSxVQUFVLHVCQUF1QixrQkFBa0IsZUFBZTtFQUNwRSxNQUFNLG9C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
|
|
@@ -38,11 +38,10 @@ const EnviveConfigProvider = ({ children, amplitudeApiKey, dataResidency, env, b
|
|
|
38
38
|
});
|
|
39
39
|
};
|
|
40
40
|
const useEnviveConfig = () => {
|
|
41
|
-
|
|
42
|
-
return config ? config : {};
|
|
41
|
+
return (0, jotai.useAtomValue)(require_enviveConfig.enviveConfigAtom) || {};
|
|
43
42
|
};
|
|
44
43
|
|
|
45
44
|
//#endregion
|
|
46
45
|
exports.EnviveConfigProvider = EnviveConfigProvider;
|
|
47
46
|
exports.useEnviveConfig = useEnviveConfig;
|
|
48
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnQ29udGV4dC5janMiLCJuYW1lcyI6WyJFbnZpdmVDb25maWdQcm92aWRlcjogUmVhY3QuRkM8RW52aXZlQ29uZmlnUHJvdmlkZXJQcm9wcz4iLCJlbnZpdmVDb25maWdBdG9tIiwiY29uZmlnOiBFbnZpdmVDb25maWciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvZW52aXZlQ29uZmlnQ29udGV4dC9lbnZpdmVDb25maWdDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlLCBjcmVhdGVDb250ZXh0LCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VBdG9tVmFsdWUsIHVzZVNldEF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBlbnZpdmVDb25maWdBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2Vudml2ZS9lbnZpdmVDb25maWcnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcbmltcG9ydCB7IEVudml2ZUNvbmZpZyB9IGZyb20gJy4uL3R5cGVzJztcblxuY29uc3QgRW52aXZlQ29uZmlnQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8RW52aXZlQ29uZmlnIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5pbnRlcmZhY2UgRW52aXZlQ29uZmlnUHJvdmlkZXJQcm9wcyB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGFtcGxpdHVkZUFwaUtleT86IHN0cmluZztcbiAgZGF0YVJlc2lkZW5jeT86IHN0cmluZztcbiAgZW52Pzogc3RyaW5nO1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICByZWFjdEFwcE5hbWU/OiBzdHJpbmc7XG4gIGNkblVybD86IHN0cmluZztcbiAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbiAgb3JnTGV2ZWxBcGlLZXk/OiBzdHJpbmc7XG4gIG9yZ1Nob3J0TmFtZT86IHN0cmluZztcbiAgaWRlbnRpZnlpbmdQcmVmaXg6IHN0cmluZztcbiAgZmVhdHVyZU92ZXJyaWRlcz86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICB2YXJpYW50VXJsT3ZlcnJpZGU/OiBzdHJpbmc7XG4gIHZhcmlhbnRJbmZvT3ZlcnJpZGU/OiBhbnk7XG4gIHNob3c/OiBib29sZWFuO1xuICBwdWJsaWNLZXk/OiBzdHJpbmc7XG4gIGZlYXR1cmVHYXRlcz86IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107IC8vIE5ldyBwcm9wIGZvciBmZWF0dXJlIGdhdGVzXG59XG5cbmV4cG9ydCBjb25zdCBFbnZpdmVDb25maWdQcm92aWRlcjogUmVhY3QuRkM8RW52aXZlQ29uZmlnUHJvdmlkZXJQcm9wcz4gPSAoe1xuICBjaGlsZHJlbixcbiAgYW1wbGl0dWRlQXBpS2V5LFxuICBkYXRhUmVzaWRlbmN5LFxuICBlbnYsXG4gIGJhc2VVcmwsXG4gIHJlYWN0QXBwTmFtZSxcbiAgY2RuVXJsLFxuICBjb250ZXh0U291cmNlLFxuICBvcmdMZXZlbEFwaUtleSxcbiAgb3JnU2hvcnROYW1lLFxuICBpZGVudGlmeWluZ1ByZWZpeCxcbiAgZmVhdHVyZU92ZXJyaWRlcyxcbiAgdmFyaWFudFVybE92ZXJyaWRlLFxuICB2YXJpYW50SW5mb092ZXJyaWRlLFxuICBzaG93LFxuICBwdWJsaWNLZXksXG4gIGZlYXR1cmVHYXRlcywgLy8gRGVzdHJ1Y3R1cmUgbmV3IHByb3Bcbn0pID0+IHtcbiAgY29uc3Qgc2V0RW52aXZlQ29uZmlnID0gdXNlU2V0QXRvbShlbnZpdmVDb25maWdBdG9tKTtcblxuICBjb25zdCBjb25maWc6IEVudml2ZUNvbmZpZyA9IHtcbiAgICBhbXBsaXR1ZGVBcGlLZXksXG4gICAgZGF0YVJlc2lkZW5jeSxcbiAgICBlbnYsXG4gICAgYmFzZVVybCxcbiAgICByZWFjdEFwcE5hbWUsXG4gICAgY2RuVXJsLFxuICAgIGNvbnRleHRTb3VyY2UsXG4gICAgb3JnTGV2ZWxBcGlLZXksXG4gICAgb3JnU2hvcnROYW1lLFxuICAgIGlkZW50aWZ5aW5nUHJlZml4LFxuICAgIGZlYXR1cmVPdmVycmlkZXMsXG4gICAgdmFyaWFudFVybE92ZXJyaWRlLFxuICAgIHZhcmlhbnRJbmZvT3ZlcnJpZGUsXG4gICAgc2hvdyxcbiAgICBwdWJsaWNLZXksXG4gICAgZmVhdHVyZUdhdGVzLCAvLyBBZGQgdG8gY29uZmlnXG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRFbnZpdmVDb25maWcoY29uZmlnKTtcbiAgICBMb2dnZXIubG9nRGVidWcoJ0Vudml2ZUNvbmZpZ1Byb3ZpZGVyOiBTZXR0aW5nIEVudml2ZUNvbmZpZycsIGNvbmZpZyk7XG4gIH0sIFtzZXRFbnZpdmVDb25maWcsIGNvbmZpZ10pO1xuXG4gIHJldHVybiAoXG4gICAgPEVudml2ZUNvbmZpZ0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e2NvbmZpZ30+XG4gICAgICB7Y29uZmlnID8gY2hpbGRyZW4gOiBudWxsfVxuICAgIDwvRW52aXZlQ29uZmlnQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VFbnZpdmVDb25maWcgPSAoKTogRW52aXZlQ29uZmlnID0+IHtcbiAgY29uc3QgY29uZmlnID0gdXNlQXRvbVZhbHVlKGVudml2ZUNvbmZpZ0F0b20pO1xuXG4gIHJldHVybiBjb25maWcgfHwge307XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFPQSxNQUFNLCtDQUE4RCxPQUFVO0FBc0I5RSxNQUFhQSx3QkFBNkQsRUFDeEUsVUFDQSxpQkFDQSxlQUNBLEtBQ0EsU0FDQSxjQUNBLFFBQ0EsZUFDQSxnQkFDQSxjQUNBLG1CQUNBLGtCQUNBLG9CQUNBLHFCQUNBLE1BQ0EsV0FDQSxtQkFDSTtDQUNKLE1BQU0sd0NBQTZCQyxzQ0FBaUI7Q0FFcEQsTUFBTUMsU0FBdUI7RUFDM0I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDRDtBQUVELDRCQUFnQjtBQUNkLGtCQUFnQixPQUFPO0FBQ3ZCLHlCQUFPLFNBQVMsOENBQThDLE9BQU87SUFDcEUsQ0FBQyxpQkFBaUIsT0FBTyxDQUFDO0FBRTdCLFFBQ0UsMkNBQUMsb0JBQW9CO0VBQVMsT0FBTztZQUNsQyxTQUFTLFdBQVc7R0FDUTs7QUFJbkMsTUFBYSx3QkFBc0M7QUFHakQsZ0NBRjRCRCxzQ0FBaUIsSUFFNUIsRUFBRSJ9
|
|
@@ -36,10 +36,9 @@ const EnviveConfigProvider = ({ children, amplitudeApiKey, dataResidency, env, b
|
|
|
36
36
|
});
|
|
37
37
|
};
|
|
38
38
|
const useEnviveConfig = () => {
|
|
39
|
-
|
|
40
|
-
return config ? config : {};
|
|
39
|
+
return useAtomValue(enviveConfigAtom) || {};
|
|
41
40
|
};
|
|
42
41
|
|
|
43
42
|
//#endregion
|
|
44
43
|
export { EnviveConfigProvider, useEnviveConfig };
|
|
45
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29uZmlnQ29udGV4dC5qcyIsIm5hbWVzIjpbIkVudml2ZUNvbmZpZ1Byb3ZpZGVyOiBSZWFjdC5GQzxFbnZpdmVDb25maWdQcm92aWRlclByb3BzPiIsImNvbmZpZzogRW52aXZlQ29uZmlnIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL2Vudml2ZUNvbmZpZ0NvbnRleHQvZW52aXZlQ29uZmlnQ29udGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSwgY3JlYXRlQ29udGV4dCwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgdXNlQXRvbVZhbHVlLCB1c2VTZXRBdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgZW52aXZlQ29uZmlnQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9lbnZpdmUvZW52aXZlQ29uZmlnJztcbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvb3JnQ29uZmlnUmVzdWx0cyc7XG5pbXBvcnQgeyBFbnZpdmVDb25maWcgfSBmcm9tICcuLi90eXBlcyc7XG5cbmNvbnN0IEVudml2ZUNvbmZpZ0NvbnRleHQgPSBjcmVhdGVDb250ZXh0PEVudml2ZUNvbmZpZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuaW50ZXJmYWNlIEVudml2ZUNvbmZpZ1Byb3ZpZGVyUHJvcHMge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBhbXBsaXR1ZGVBcGlLZXk/OiBzdHJpbmc7XG4gIGRhdGFSZXNpZGVuY3k/OiBzdHJpbmc7XG4gIGVudj86IHN0cmluZztcbiAgYmFzZVVybD86IHN0cmluZztcbiAgcmVhY3RBcHBOYW1lPzogc3RyaW5nO1xuICBjZG5Vcmw/OiBzdHJpbmc7XG4gIGNvbnRleHRTb3VyY2U/OiBzdHJpbmc7XG4gIG9yZ0xldmVsQXBpS2V5Pzogc3RyaW5nO1xuICBvcmdTaG9ydE5hbWU/OiBzdHJpbmc7XG4gIGlkZW50aWZ5aW5nUHJlZml4OiBzdHJpbmc7XG4gIGZlYXR1cmVPdmVycmlkZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgdmFyaWFudFVybE92ZXJyaWRlPzogc3RyaW5nO1xuICB2YXJpYW50SW5mb092ZXJyaWRlPzogYW55O1xuICBzaG93PzogYm9vbGVhbjtcbiAgcHVibGljS2V5Pzogc3RyaW5nO1xuICBmZWF0dXJlR2F0ZXM/OiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdOyAvLyBOZXcgcHJvcCBmb3IgZmVhdHVyZSBnYXRlc1xufVxuXG5leHBvcnQgY29uc3QgRW52aXZlQ29uZmlnUHJvdmlkZXI6IFJlYWN0LkZDPEVudml2ZUNvbmZpZ1Byb3ZpZGVyUHJvcHM+ID0gKHtcbiAgY2hpbGRyZW4sXG4gIGFtcGxpdHVkZUFwaUtleSxcbiAgZGF0YVJlc2lkZW5jeSxcbiAgZW52LFxuICBiYXNlVXJsLFxuICByZWFjdEFwcE5hbWUsXG4gIGNkblVybCxcbiAgY29udGV4dFNvdXJjZSxcbiAgb3JnTGV2ZWxBcGlLZXksXG4gIG9yZ1Nob3J0TmFtZSxcbiAgaWRlbnRpZnlpbmdQcmVmaXgsXG4gIGZlYXR1cmVPdmVycmlkZXMsXG4gIHZhcmlhbnRVcmxPdmVycmlkZSxcbiAgdmFyaWFudEluZm9PdmVycmlkZSxcbiAgc2hvdyxcbiAgcHVibGljS2V5LFxuICBmZWF0dXJlR2F0ZXMsIC8vIERlc3RydWN0dXJlIG5ldyBwcm9wXG59KSA9PiB7XG4gIGNvbnN0IHNldEVudml2ZUNvbmZpZyA9IHVzZVNldEF0b20oZW52aXZlQ29uZmlnQXRvbSk7XG5cbiAgY29uc3QgY29uZmlnOiBFbnZpdmVDb25maWcgPSB7XG4gICAgYW1wbGl0dWRlQXBpS2V5LFxuICAgIGRhdGFSZXNpZGVuY3ksXG4gICAgZW52LFxuICAgIGJhc2VVcmwsXG4gICAgcmVhY3RBcHBOYW1lLFxuICAgIGNkblVybCxcbiAgICBjb250ZXh0U291cmNlLFxuICAgIG9yZ0xldmVsQXBpS2V5LFxuICAgIG9yZ1Nob3J0TmFtZSxcbiAgICBpZGVudGlmeWluZ1ByZWZpeCxcbiAgICBmZWF0dXJlT3ZlcnJpZGVzLFxuICAgIHZhcmlhbnRVcmxPdmVycmlkZSxcbiAgICB2YXJpYW50SW5mb092ZXJyaWRlLFxuICAgIHNob3csXG4gICAgcHVibGljS2V5LFxuICAgIGZlYXR1cmVHYXRlcywgLy8gQWRkIHRvIGNvbmZpZ1xuICB9O1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0RW52aXZlQ29uZmlnKGNvbmZpZyk7XG4gICAgTG9nZ2VyLmxvZ0RlYnVnKCdFbnZpdmVDb25maWdQcm92aWRlcjogU2V0dGluZyBFbnZpdmVDb25maWcnLCBjb25maWcpO1xuICB9LCBbc2V0RW52aXZlQ29uZmlnLCBjb25maWddKTtcblxuICByZXR1cm4gKFxuICAgIDxFbnZpdmVDb25maWdDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb25maWd9PlxuICAgICAge2NvbmZpZyA/IGNoaWxkcmVuIDogbnVsbH1cbiAgICA8L0Vudml2ZUNvbmZpZ0NvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgdXNlRW52aXZlQ29uZmlnID0gKCk6IEVudml2ZUNvbmZpZyA9PiB7XG4gIGNvbnN0IGNvbmZpZyA9IHVzZUF0b21WYWx1ZShlbnZpdmVDb25maWdBdG9tKTtcblxuICByZXR1cm4gY29uZmlnIHx8IHt9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQU9BLE1BQU0sc0JBQXNCLGNBQXdDLE9BQVU7QUFzQjlFLE1BQWFBLHdCQUE2RCxFQUN4RSxVQUNBLGlCQUNBLGVBQ0EsS0FDQSxTQUNBLGNBQ0EsUUFDQSxlQUNBLGdCQUNBLGNBQ0EsbUJBQ0Esa0JBQ0Esb0JBQ0EscUJBQ0EsTUFDQSxXQUNBLG1CQUNJO0NBQ0osTUFBTSxrQkFBa0IsV0FBVyxpQkFBaUI7Q0FFcEQsTUFBTUMsU0FBdUI7RUFDM0I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDRDtBQUVELGlCQUFnQjtBQUNkLGtCQUFnQixPQUFPO0FBQ3ZCLGlCQUFPLFNBQVMsOENBQThDLE9BQU87SUFDcEUsQ0FBQyxpQkFBaUIsT0FBTyxDQUFDO0FBRTdCLFFBQ0Usb0JBQUMsb0JBQW9CO0VBQVMsT0FBTztZQUNsQyxTQUFTLFdBQVc7R0FDUTs7QUFJbkMsTUFBYSx3QkFBc0M7QUFHakQsUUFGZSxhQUFhLGlCQUFpQixJQUU1QixFQUFFIn0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
+
const require_localStorageContext = require('../localStorageContext/localStorageContext.cjs');
|
|
3
|
+
require('../localStorageContext/index.cjs');
|
|
4
|
+
const require_enviveConfigContext = require('../enviveConfigContext/enviveConfigContext.cjs');
|
|
5
|
+
const require_featureFlagServiceContext = require('../featureFlagServiceContext/featureFlagServiceContext.cjs');
|
|
6
|
+
const require_amplitudeContext = require('../amplitudeContext/amplitudeContext.cjs');
|
|
7
|
+
require('../amplitudeContext/index.cjs');
|
|
8
|
+
const require_graphqlContext = require('../graphqlContext/graphqlContext.cjs');
|
|
9
|
+
const require_newOrgConfigContext = require('../newOrgConfigContext/newOrgConfigContext.cjs');
|
|
10
|
+
const require_enviveCssContext = require('../enviveCssContext/enviveCssContext.cjs');
|
|
11
|
+
require('../enviveCssContext/index.cjs');
|
|
12
|
+
require('../enviveConfigContext/index.cjs');
|
|
13
|
+
require('../featureFlagServiceContext/index.cjs');
|
|
14
|
+
require('../graphqlContext/index.cjs');
|
|
15
|
+
require('../newOrgConfigContext/index.cjs');
|
|
16
|
+
const require_userIdentityContext = require('../userIdentityContext/userIdentityContext.cjs');
|
|
17
|
+
require('../userIdentityContext/index.cjs');
|
|
18
|
+
const require_contexts_enviveContext_types = require('./types.cjs');
|
|
19
|
+
const require_searchContext = require('../searchContext/searchContext.cjs');
|
|
20
|
+
require('../searchContext/index.cjs');
|
|
21
|
+
let react = require("react");
|
|
22
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
23
|
+
|
|
24
|
+
//#region src/contexts/enviveContext/enviveContext.tsx
|
|
25
|
+
const EnviveContext = (0, react.createContext)(null);
|
|
26
|
+
const SearchAgentWrapper = ({ children, enabledAgents }) => {
|
|
27
|
+
if (!enabledAgents.includes(require_contexts_enviveContext_types.EnviveAgent.SearchAgent)) return children;
|
|
28
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_searchContext.SearchProvider, { children });
|
|
29
|
+
};
|
|
30
|
+
const SalesAgentWrapper = ({ children, enabledAgents }) => {
|
|
31
|
+
return children;
|
|
32
|
+
};
|
|
33
|
+
const EnviveProvider = ({ children, enabledAgents, ...config }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(EnviveContext.Provider, {
|
|
34
|
+
value: null,
|
|
35
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_enviveConfigContext.EnviveConfigProvider, {
|
|
36
|
+
...config,
|
|
37
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_graphqlContext.GraphQLProvider, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_newOrgConfigContext.NewOrgConfigProvider, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_localStorageContext.LocalStorageProvider, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_featureFlagServiceContext.FeatureFlagServiceProvider, {
|
|
38
|
+
featureGates: [],
|
|
39
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_userIdentityContext.UserIdentityProvider, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_amplitudeContext.AmplitudeProvider, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_enviveCssContext.EnviveCssProvider, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SearchAgentWrapper, {
|
|
40
|
+
enabledAgents,
|
|
41
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SalesAgentWrapper, {
|
|
42
|
+
enabledAgents,
|
|
43
|
+
children
|
|
44
|
+
})
|
|
45
|
+
}) }) }) })
|
|
46
|
+
}) }) }) })
|
|
47
|
+
})
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
//#endregion
|
|
51
|
+
exports.EnviveProvider = EnviveProvider;
|
|
52
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29udGV4dC5janMiLCJuYW1lcyI6WyJTZWFyY2hBZ2VudFdyYXBwZXI6IFJlYWN0LkZDPEFnZW50V3JhcHBlclByb3BzPiIsIkVudml2ZUFnZW50IiwiU2VhcmNoUHJvdmlkZXIiLCJTYWxlc0FnZW50V3JhcHBlcjogUmVhY3QuRkM8QWdlbnRXcmFwcGVyUHJvcHM+IiwiRW52aXZlUHJvdmlkZXI6IFJlYWN0LkZDPEVudml2ZVByb3ZpZGVyUHJvcHM+IiwiRW52aXZlQ29uZmlnUHJvdmlkZXIiLCJHcmFwaFFMUHJvdmlkZXIiLCJOZXdPcmdDb25maWdQcm92aWRlciIsIkxvY2FsU3RvcmFnZVByb3ZpZGVyIiwiRmVhdHVyZUZsYWdTZXJ2aWNlUHJvdmlkZXIiLCJVc2VySWRlbnRpdHlQcm92aWRlciIsIkFtcGxpdHVkZVByb3ZpZGVyIiwiRW52aXZlQ3NzUHJvdmlkZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvZW52aXZlQ29udGV4dC9lbnZpdmVDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUsIGNyZWF0ZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB7IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvb3JnQ29uZmlnUmVzdWx0cyc7XG5pbXBvcnQgeyBBbXBsaXR1ZGVQcm92aWRlciB9IGZyb20gJy4uL2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgRW52aXZlQ29uZmlnUHJvdmlkZXIgfSBmcm9tICcuLi9lbnZpdmVDb25maWdDb250ZXh0JztcbmltcG9ydCB7IEVudml2ZUNzc1Byb3ZpZGVyIH0gZnJvbSAnLi4vZW52aXZlQ3NzQ29udGV4dCc7XG5pbXBvcnQgeyBGZWF0dXJlRmxhZ1NlcnZpY2VQcm92aWRlciB9IGZyb20gJy4uL2ZlYXR1cmVGbGFnU2VydmljZUNvbnRleHQnO1xuaW1wb3J0IHsgR3JhcGhRTFByb3ZpZGVyIH0gZnJvbSAnLi4vZ3JhcGhxbENvbnRleHQnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlUHJvdmlkZXIgfSBmcm9tICcuLi9sb2NhbFN0b3JhZ2VDb250ZXh0JztcbmltcG9ydCB7IE5ld09yZ0NvbmZpZ1Byb3ZpZGVyIH0gZnJvbSAnLi4vbmV3T3JnQ29uZmlnQ29udGV4dCc7XG5pbXBvcnQgeyBVc2VySWRlbnRpdHlQcm92aWRlciB9IGZyb20gJy4uL3VzZXJJZGVudGl0eUNvbnRleHQnO1xuaW1wb3J0IHsgRW52aXZlQWdlbnQgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFNlYXJjaFByb3ZpZGVyIH0gZnJvbSAnLi4vc2VhcmNoQ29udGV4dCc7XG5cbmNvbnN0IEVudml2ZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PG51bGw+KG51bGwpO1xuXG5pbnRlcmZhY2UgQWdlbnRXcmFwcGVyUHJvcHMge1xuICBjaGlsZHJlbjogUmVhY3ROb2RlO1xuICBlbmFibGVkQWdlbnRzOiBFbnZpdmVBZ2VudFtdO1xufVxuXG5pbnRlcmZhY2UgRW52aXZlUHJvdmlkZXJQcm9wcyBleHRlbmRzIEFnZW50V3JhcHBlclByb3BzIHtcbiAgYW1wbGl0dWRlQXBpS2V5Pzogc3RyaW5nO1xuICBkYXRhUmVzaWRlbmN5Pzogc3RyaW5nO1xuICBlbnY/OiBzdHJpbmc7XG4gIGJhc2VVcmw/OiBzdHJpbmc7XG4gIHJlYWN0QXBwTmFtZT86IHN0cmluZztcbiAgY2RuVXJsPzogc3RyaW5nO1xuICBjb250ZXh0U291cmNlPzogc3RyaW5nO1xuICBvcmdMZXZlbEFwaUtleT86IHN0cmluZztcbiAgb3JnU2hvcnROYW1lPzogc3RyaW5nO1xuICBpZGVudGlmeWluZ1ByZWZpeDogc3RyaW5nO1xuICBmZWF0dXJlT3ZlcnJpZGVzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gIHZhcmlhbnRVcmxPdmVycmlkZT86IHN0cmluZztcbiAgdmFyaWFudEluZm9PdmVycmlkZT86IGFueTtcbiAgc2hvdz86IGJvb2xlYW47XG4gIHB1YmxpY0tleT86IHN0cmluZztcbiAgZmVhdHVyZUdhdGVzPzogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTsgLy8gTmV3IHByb3AgZm9yIGZlYXR1cmUgZ2F0ZXNcbn1cblxuY29uc3QgU2VhcmNoQWdlbnRXcmFwcGVyOiBSZWFjdC5GQzxBZ2VudFdyYXBwZXJQcm9wcz4gPSAoeyBjaGlsZHJlbiwgZW5hYmxlZEFnZW50cyB9KSA9PiB7XG4gIGlmICghZW5hYmxlZEFnZW50cy5pbmNsdWRlcyhFbnZpdmVBZ2VudC5TZWFyY2hBZ2VudCkpIHtcbiAgICByZXR1cm4gY2hpbGRyZW47XG4gIH1cbiAgcmV0dXJuIDxTZWFyY2hQcm92aWRlcj57Y2hpbGRyZW59PC9TZWFyY2hQcm92aWRlcj47XG59O1xuXG5jb25zdCBTYWxlc0FnZW50V3JhcHBlcjogUmVhY3QuRkM8QWdlbnRXcmFwcGVyUHJvcHM+ID0gKHsgY2hpbGRyZW4sIGVuYWJsZWRBZ2VudHMgfSkgPT4ge1xuICAvLyBUT0RPOiBJbXBsZW1lbnQgU2FsZXNBZ2VudCBwcm92aWRlcnNcbiAgLy8gaWYgKCFlbmFibGVkQWdlbnRzLmluY2x1ZGVzKEVudml2ZUFnZW50LlNhbGVzQWdlbnQpKSB7XG4gIHJldHVybiBjaGlsZHJlbjtcbiAgLy8gfVxufTtcblxuZXhwb3J0IGNvbnN0IEVudml2ZVByb3ZpZGVyOiBSZWFjdC5GQzxFbnZpdmVQcm92aWRlclByb3BzPiA9ICh7XG4gIGNoaWxkcmVuLFxuICBlbmFibGVkQWdlbnRzLFxuICAuLi5jb25maWdcbn0pID0+IChcbiAgPEVudml2ZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e251bGx9PlxuICAgIDxFbnZpdmVDb25maWdQcm92aWRlciB7Li4uY29uZmlnfT5cbiAgICAgIDxHcmFwaFFMUHJvdmlkZXI+XG4gICAgICAgIDxOZXdPcmdDb25maWdQcm92aWRlcj5cbiAgICAgICAgICA8TG9jYWxTdG9yYWdlUHJvdmlkZXI+XG4gICAgICAgICAgICA8RmVhdHVyZUZsYWdTZXJ2aWNlUHJvdmlkZXIgZmVhdHVyZUdhdGVzPXtbXX0+XG4gICAgICAgICAgICAgIDxVc2VySWRlbnRpdHlQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8QW1wbGl0dWRlUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICA8RW52aXZlQ3NzUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxTZWFyY2hBZ2VudFdyYXBwZXIgZW5hYmxlZEFnZW50cz17ZW5hYmxlZEFnZW50c30+XG4gICAgICAgICAgICAgICAgICAgICAgPFNhbGVzQWdlbnRXcmFwcGVyIGVuYWJsZWRBZ2VudHM9e2VuYWJsZWRBZ2VudHN9PlxuICAgICAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICAgIDwvU2FsZXNBZ2VudFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIDwvU2VhcmNoQWdlbnRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgPC9FbnZpdmVDc3NQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0FtcGxpdHVkZVByb3ZpZGVyPlxuICAgICAgICAgICAgICA8L1VzZXJJZGVudGl0eVByb3ZpZGVyPlxuICAgICAgICAgICAgPC9GZWF0dXJlRmxhZ1NlcnZpY2VQcm92aWRlcj5cbiAgICAgICAgICA8L0xvY2FsU3RvcmFnZVByb3ZpZGVyPlxuICAgICAgICA8L05ld09yZ0NvbmZpZ1Byb3ZpZGVyPlxuICAgICAgPC9HcmFwaFFMUHJvdmlkZXI+XG4gICAgPC9FbnZpdmVDb25maWdQcm92aWRlcj5cbiAgPC9FbnZpdmVDb250ZXh0LlByb3ZpZGVyPlxuKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBY0EsTUFBTSx5Q0FBb0MsS0FBSztBQTBCL0MsTUFBTUEsc0JBQW1ELEVBQUUsVUFBVSxvQkFBb0I7QUFDdkYsS0FBSSxDQUFDLGNBQWMsU0FBU0MsaURBQVksWUFBWSxDQUNsRCxRQUFPO0FBRVQsUUFBTywyQ0FBQ0Msd0NBQWdCLFdBQTBCOztBQUdwRCxNQUFNQyxxQkFBa0QsRUFBRSxVQUFVLG9CQUFvQjtBQUd0RixRQUFPOztBQUlULE1BQWFDLGtCQUFpRCxFQUM1RCxVQUNBLGVBQ0EsR0FBRyxhQUVILDJDQUFDLGNBQWM7Q0FBUyxPQUFPO1dBQzdCLDJDQUFDQztFQUFxQixHQUFJO1lBQ3hCLDJDQUFDQyxvREFDQywyQ0FBQ0MsOERBQ0MsMkNBQUNDLDhEQUNDLDJDQUFDQztHQUEyQixjQUFjLEVBQUU7YUFDMUMsMkNBQUNDLDhEQUNDLDJDQUFDQyx3REFDQywyQ0FBQ0Msd0RBQ0MsMkNBQUM7SUFBa0M7Y0FDakMsMkNBQUM7S0FBaUM7S0FDL0I7TUFDaUI7S0FDRCxHQUNILEdBQ0YsR0FDQztJQUNJLEdBQ1IsR0FDRixHQUNQO0dBQ0c7RUFDQSJ9
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { OrgConfigFeatureGate } from "../../application/models/api/orgConfigResults.cjs";
|
|
2
|
+
import { EnviveAgent } from "./types.cjs";
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/contexts/enviveContext/enviveContext.d.ts
|
|
6
|
+
interface AgentWrapperProps {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
enabledAgents: EnviveAgent[];
|
|
9
|
+
}
|
|
10
|
+
interface EnviveProviderProps extends AgentWrapperProps {
|
|
11
|
+
amplitudeApiKey?: string;
|
|
12
|
+
dataResidency?: string;
|
|
13
|
+
env?: string;
|
|
14
|
+
baseUrl?: string;
|
|
15
|
+
reactAppName?: string;
|
|
16
|
+
cdnUrl?: string;
|
|
17
|
+
contextSource?: string;
|
|
18
|
+
orgLevelApiKey?: string;
|
|
19
|
+
orgShortName?: string;
|
|
20
|
+
identifyingPrefix: string;
|
|
21
|
+
featureOverrides?: Record<string, boolean>;
|
|
22
|
+
variantUrlOverride?: string;
|
|
23
|
+
variantInfoOverride?: any;
|
|
24
|
+
show?: boolean;
|
|
25
|
+
publicKey?: string;
|
|
26
|
+
featureGates?: OrgConfigFeatureGate[];
|
|
27
|
+
}
|
|
28
|
+
declare const EnviveProvider: React.FC<EnviveProviderProps>;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { EnviveProvider };
|
|
31
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29udGV4dC5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvZW52aXZlQ29udGV4dC9lbnZpdmVDb250ZXh0LmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcbmltcG9ydCB7IEVudml2ZUFnZW50IH0gZnJvbSAnLi90eXBlcyc7XG5pbnRlcmZhY2UgQWdlbnRXcmFwcGVyUHJvcHMge1xuICAgIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gICAgZW5hYmxlZEFnZW50czogRW52aXZlQWdlbnRbXTtcbn1cbmludGVyZmFjZSBFbnZpdmVQcm92aWRlclByb3BzIGV4dGVuZHMgQWdlbnRXcmFwcGVyUHJvcHMge1xuICAgIGFtcGxpdHVkZUFwaUtleT86IHN0cmluZztcbiAgICBkYXRhUmVzaWRlbmN5Pzogc3RyaW5nO1xuICAgIGVudj86IHN0cmluZztcbiAgICBiYXNlVXJsPzogc3RyaW5nO1xuICAgIHJlYWN0QXBwTmFtZT86IHN0cmluZztcbiAgICBjZG5Vcmw/OiBzdHJpbmc7XG4gICAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbiAgICBvcmdMZXZlbEFwaUtleT86IHN0cmluZztcbiAgICBvcmdTaG9ydE5hbWU/OiBzdHJpbmc7XG4gICAgaWRlbnRpZnlpbmdQcmVmaXg6IHN0cmluZztcbiAgICBmZWF0dXJlT3ZlcnJpZGVzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gICAgdmFyaWFudFVybE92ZXJyaWRlPzogc3RyaW5nO1xuICAgIHZhcmlhbnRJbmZvT3ZlcnJpZGU/OiBhbnk7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgcHVibGljS2V5Pzogc3RyaW5nO1xuICAgIGZlYXR1cmVHYXRlcz86IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBFbnZpdmVQcm92aWRlcjogUmVhY3QuRkM8RW52aXZlUHJvdmlkZXJQcm9wcz47XG5leHBvcnQge307XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsSUFBSSxvQkFBb0I7Q0FBQztPQUFHO09BQUE7Q0FBQTtBQUM1QixJQUFJLHNCQUFtQjtDQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDdkIsSUFBVyxpQkFBaUI7Q0FBQztPQUFHO09BQUEsTUFBQTtDQUFBIn0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { OrgConfigFeatureGate } from "../../application/models/api/orgConfigResults.js";
|
|
2
|
+
import { EnviveAgent } from "./types.js";
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/contexts/enviveContext/enviveContext.d.ts
|
|
6
|
+
interface AgentWrapperProps {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
enabledAgents: EnviveAgent[];
|
|
9
|
+
}
|
|
10
|
+
interface EnviveProviderProps extends AgentWrapperProps {
|
|
11
|
+
amplitudeApiKey?: string;
|
|
12
|
+
dataResidency?: string;
|
|
13
|
+
env?: string;
|
|
14
|
+
baseUrl?: string;
|
|
15
|
+
reactAppName?: string;
|
|
16
|
+
cdnUrl?: string;
|
|
17
|
+
contextSource?: string;
|
|
18
|
+
orgLevelApiKey?: string;
|
|
19
|
+
orgShortName?: string;
|
|
20
|
+
identifyingPrefix: string;
|
|
21
|
+
featureOverrides?: Record<string, boolean>;
|
|
22
|
+
variantUrlOverride?: string;
|
|
23
|
+
variantInfoOverride?: any;
|
|
24
|
+
show?: boolean;
|
|
25
|
+
publicKey?: string;
|
|
26
|
+
featureGates?: OrgConfigFeatureGate[];
|
|
27
|
+
}
|
|
28
|
+
declare const EnviveProvider: React.FC<EnviveProviderProps>;
|
|
29
|
+
//#endregion
|
|
30
|
+
export { EnviveProvider };
|
|
31
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29udGV4dC5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9lbnZpdmVDb250ZXh0L2Vudml2ZUNvbnRleHQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBPcmdDb25maWdGZWF0dXJlR2F0ZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL29yZ0NvbmZpZ1Jlc3VsdHMnO1xuaW1wb3J0IHsgRW52aXZlQWdlbnQgfSBmcm9tICcuL3R5cGVzJztcbmludGVyZmFjZSBBZ2VudFdyYXBwZXJQcm9wcyB7XG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgICBlbmFibGVkQWdlbnRzOiBFbnZpdmVBZ2VudFtdO1xufVxuaW50ZXJmYWNlIEVudml2ZVByb3ZpZGVyUHJvcHMgZXh0ZW5kcyBBZ2VudFdyYXBwZXJQcm9wcyB7XG4gICAgYW1wbGl0dWRlQXBpS2V5Pzogc3RyaW5nO1xuICAgIGRhdGFSZXNpZGVuY3k/OiBzdHJpbmc7XG4gICAgZW52Pzogc3RyaW5nO1xuICAgIGJhc2VVcmw/OiBzdHJpbmc7XG4gICAgcmVhY3RBcHBOYW1lPzogc3RyaW5nO1xuICAgIGNkblVybD86IHN0cmluZztcbiAgICBjb250ZXh0U291cmNlPzogc3RyaW5nO1xuICAgIG9yZ0xldmVsQXBpS2V5Pzogc3RyaW5nO1xuICAgIG9yZ1Nob3J0TmFtZT86IHN0cmluZztcbiAgICBpZGVudGlmeWluZ1ByZWZpeDogc3RyaW5nO1xuICAgIGZlYXR1cmVPdmVycmlkZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgICB2YXJpYW50VXJsT3ZlcnJpZGU/OiBzdHJpbmc7XG4gICAgdmFyaWFudEluZm9PdmVycmlkZT86IGFueTtcbiAgICBzaG93PzogYm9vbGVhbjtcbiAgICBwdWJsaWNLZXk/OiBzdHJpbmc7XG4gICAgZmVhdHVyZUdhdGVzPzogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IEVudml2ZVByb3ZpZGVyOiBSZWFjdC5GQzxFbnZpdmVQcm92aWRlclByb3BzPjtcbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSxJQUFJLG9CQUFvQjtDQUFDO09BQUc7T0FBQTtDQUFBO0FBQzVCLElBQUksc0JBQW1CO0NBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUN2QixJQUFXLGlCQUFpQjtDQUFDO09BQUc7T0FBQSxNQUFBO0NBQUEifQ==
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { LocalStorageProvider } from "../localStorageContext/localStorageContext.js";
|
|
2
|
+
import "../localStorageContext/index.js";
|
|
3
|
+
import { EnviveConfigProvider } from "../enviveConfigContext/enviveConfigContext.js";
|
|
4
|
+
import { FeatureFlagServiceProvider } from "../featureFlagServiceContext/featureFlagServiceContext.js";
|
|
5
|
+
import { AmplitudeProvider } from "../amplitudeContext/amplitudeContext.js";
|
|
6
|
+
import "../amplitudeContext/index.js";
|
|
7
|
+
import { GraphQLProvider } from "../graphqlContext/graphqlContext.js";
|
|
8
|
+
import { NewOrgConfigProvider } from "../newOrgConfigContext/newOrgConfigContext.js";
|
|
9
|
+
import { EnviveCssProvider } from "../enviveCssContext/enviveCssContext.js";
|
|
10
|
+
import "../enviveCssContext/index.js";
|
|
11
|
+
import "../enviveConfigContext/index.js";
|
|
12
|
+
import "../featureFlagServiceContext/index.js";
|
|
13
|
+
import "../graphqlContext/index.js";
|
|
14
|
+
import "../newOrgConfigContext/index.js";
|
|
15
|
+
import { UserIdentityProvider } from "../userIdentityContext/userIdentityContext.js";
|
|
16
|
+
import "../userIdentityContext/index.js";
|
|
17
|
+
import { EnviveAgent } from "./types.js";
|
|
18
|
+
import { SearchProvider } from "../searchContext/searchContext.js";
|
|
19
|
+
import "../searchContext/index.js";
|
|
20
|
+
import { createContext } from "react";
|
|
21
|
+
import { jsx } from "react/jsx-runtime";
|
|
22
|
+
|
|
23
|
+
//#region src/contexts/enviveContext/enviveContext.tsx
|
|
24
|
+
const EnviveContext = createContext(null);
|
|
25
|
+
const SearchAgentWrapper = ({ children, enabledAgents }) => {
|
|
26
|
+
if (!enabledAgents.includes(EnviveAgent.SearchAgent)) return children;
|
|
27
|
+
return /* @__PURE__ */ jsx(SearchProvider, { children });
|
|
28
|
+
};
|
|
29
|
+
const SalesAgentWrapper = ({ children, enabledAgents }) => {
|
|
30
|
+
return children;
|
|
31
|
+
};
|
|
32
|
+
const EnviveProvider = ({ children, enabledAgents, ...config }) => /* @__PURE__ */ jsx(EnviveContext.Provider, {
|
|
33
|
+
value: null,
|
|
34
|
+
children: /* @__PURE__ */ jsx(EnviveConfigProvider, {
|
|
35
|
+
...config,
|
|
36
|
+
children: /* @__PURE__ */ jsx(GraphQLProvider, { children: /* @__PURE__ */ jsx(NewOrgConfigProvider, { children: /* @__PURE__ */ jsx(LocalStorageProvider, { children: /* @__PURE__ */ jsx(FeatureFlagServiceProvider, {
|
|
37
|
+
featureGates: [],
|
|
38
|
+
children: /* @__PURE__ */ jsx(UserIdentityProvider, { children: /* @__PURE__ */ jsx(AmplitudeProvider, { children: /* @__PURE__ */ jsx(EnviveCssProvider, { children: /* @__PURE__ */ jsx(SearchAgentWrapper, {
|
|
39
|
+
enabledAgents,
|
|
40
|
+
children: /* @__PURE__ */ jsx(SalesAgentWrapper, {
|
|
41
|
+
enabledAgents,
|
|
42
|
+
children
|
|
43
|
+
})
|
|
44
|
+
}) }) }) })
|
|
45
|
+
}) }) }) })
|
|
46
|
+
})
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
//#endregion
|
|
50
|
+
export { EnviveProvider };
|
|
51
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXZlQ29udGV4dC5qcyIsIm5hbWVzIjpbIlNlYXJjaEFnZW50V3JhcHBlcjogUmVhY3QuRkM8QWdlbnRXcmFwcGVyUHJvcHM+IiwiU2FsZXNBZ2VudFdyYXBwZXI6IFJlYWN0LkZDPEFnZW50V3JhcHBlclByb3BzPiIsIkVudml2ZVByb3ZpZGVyOiBSZWFjdC5GQzxFbnZpdmVQcm92aWRlclByb3BzPiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9lbnZpdmVDb250ZXh0L2Vudml2ZUNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWN0Tm9kZSwgY3JlYXRlQ29udGV4dCB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcbmltcG9ydCB7IEFtcGxpdHVkZVByb3ZpZGVyIH0gZnJvbSAnLi4vYW1wbGl0dWRlQ29udGV4dCc7XG5pbXBvcnQgeyBFbnZpdmVDb25maWdQcm92aWRlciB9IGZyb20gJy4uL2Vudml2ZUNvbmZpZ0NvbnRleHQnO1xuaW1wb3J0IHsgRW52aXZlQ3NzUHJvdmlkZXIgfSBmcm9tICcuLi9lbnZpdmVDc3NDb250ZXh0JztcbmltcG9ydCB7IEZlYXR1cmVGbGFnU2VydmljZVByb3ZpZGVyIH0gZnJvbSAnLi4vZmVhdHVyZUZsYWdTZXJ2aWNlQ29udGV4dCc7XG5pbXBvcnQgeyBHcmFwaFFMUHJvdmlkZXIgfSBmcm9tICcuLi9ncmFwaHFsQ29udGV4dCc7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VQcm92aWRlciB9IGZyb20gJy4uL2xvY2FsU3RvcmFnZUNvbnRleHQnO1xuaW1wb3J0IHsgTmV3T3JnQ29uZmlnUHJvdmlkZXIgfSBmcm9tICcuLi9uZXdPcmdDb25maWdDb250ZXh0JztcbmltcG9ydCB7IFVzZXJJZGVudGl0eVByb3ZpZGVyIH0gZnJvbSAnLi4vdXNlcklkZW50aXR5Q29udGV4dCc7XG5pbXBvcnQgeyBFbnZpdmVBZ2VudCB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgU2VhcmNoUHJvdmlkZXIgfSBmcm9tICcuLi9zZWFyY2hDb250ZXh0JztcblxuY29uc3QgRW52aXZlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8bnVsbD4obnVsbCk7XG5cbmludGVyZmFjZSBBZ2VudFdyYXBwZXJQcm9wcyB7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGVuYWJsZWRBZ2VudHM6IEVudml2ZUFnZW50W107XG59XG5cbmludGVyZmFjZSBFbnZpdmVQcm92aWRlclByb3BzIGV4dGVuZHMgQWdlbnRXcmFwcGVyUHJvcHMge1xuICBhbXBsaXR1ZGVBcGlLZXk/OiBzdHJpbmc7XG4gIGRhdGFSZXNpZGVuY3k/OiBzdHJpbmc7XG4gIGVudj86IHN0cmluZztcbiAgYmFzZVVybD86IHN0cmluZztcbiAgcmVhY3RBcHBOYW1lPzogc3RyaW5nO1xuICBjZG5Vcmw/OiBzdHJpbmc7XG4gIGNvbnRleHRTb3VyY2U/OiBzdHJpbmc7XG4gIG9yZ0xldmVsQXBpS2V5Pzogc3RyaW5nO1xuICBvcmdTaG9ydE5hbWU/OiBzdHJpbmc7XG4gIGlkZW50aWZ5aW5nUHJlZml4OiBzdHJpbmc7XG4gIGZlYXR1cmVPdmVycmlkZXM/OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPjtcbiAgdmFyaWFudFVybE92ZXJyaWRlPzogc3RyaW5nO1xuICB2YXJpYW50SW5mb092ZXJyaWRlPzogYW55O1xuICBzaG93PzogYm9vbGVhbjtcbiAgcHVibGljS2V5Pzogc3RyaW5nO1xuICBmZWF0dXJlR2F0ZXM/OiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdOyAvLyBOZXcgcHJvcCBmb3IgZmVhdHVyZSBnYXRlc1xufVxuXG5jb25zdCBTZWFyY2hBZ2VudFdyYXBwZXI6IFJlYWN0LkZDPEFnZW50V3JhcHBlclByb3BzPiA9ICh7IGNoaWxkcmVuLCBlbmFibGVkQWdlbnRzIH0pID0+IHtcbiAgaWYgKCFlbmFibGVkQWdlbnRzLmluY2x1ZGVzKEVudml2ZUFnZW50LlNlYXJjaEFnZW50KSkge1xuICAgIHJldHVybiBjaGlsZHJlbjtcbiAgfVxuICByZXR1cm4gPFNlYXJjaFByb3ZpZGVyPntjaGlsZHJlbn08L1NlYXJjaFByb3ZpZGVyPjtcbn07XG5cbmNvbnN0IFNhbGVzQWdlbnRXcmFwcGVyOiBSZWFjdC5GQzxBZ2VudFdyYXBwZXJQcm9wcz4gPSAoeyBjaGlsZHJlbiwgZW5hYmxlZEFnZW50cyB9KSA9PiB7XG4gIC8vIFRPRE86IEltcGxlbWVudCBTYWxlc0FnZW50IHByb3ZpZGVyc1xuICAvLyBpZiAoIWVuYWJsZWRBZ2VudHMuaW5jbHVkZXMoRW52aXZlQWdlbnQuU2FsZXNBZ2VudCkpIHtcbiAgcmV0dXJuIGNoaWxkcmVuO1xuICAvLyB9XG59O1xuXG5leHBvcnQgY29uc3QgRW52aXZlUHJvdmlkZXI6IFJlYWN0LkZDPEVudml2ZVByb3ZpZGVyUHJvcHM+ID0gKHtcbiAgY2hpbGRyZW4sXG4gIGVuYWJsZWRBZ2VudHMsXG4gIC4uLmNvbmZpZ1xufSkgPT4gKFxuICA8RW52aXZlQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17bnVsbH0+XG4gICAgPEVudml2ZUNvbmZpZ1Byb3ZpZGVyIHsuLi5jb25maWd9PlxuICAgICAgPEdyYXBoUUxQcm92aWRlcj5cbiAgICAgICAgPE5ld09yZ0NvbmZpZ1Byb3ZpZGVyPlxuICAgICAgICAgIDxMb2NhbFN0b3JhZ2VQcm92aWRlcj5cbiAgICAgICAgICAgIDxGZWF0dXJlRmxhZ1NlcnZpY2VQcm92aWRlciBmZWF0dXJlR2F0ZXM9e1tdfT5cbiAgICAgICAgICAgICAgPFVzZXJJZGVudGl0eVByb3ZpZGVyPlxuICAgICAgICAgICAgICAgIDxBbXBsaXR1ZGVQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgIDxFbnZpdmVDc3NQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPFNlYXJjaEFnZW50V3JhcHBlciBlbmFibGVkQWdlbnRzPXtlbmFibGVkQWdlbnRzfT5cbiAgICAgICAgICAgICAgICAgICAgICA8U2FsZXNBZ2VudFdyYXBwZXIgZW5hYmxlZEFnZW50cz17ZW5hYmxlZEFnZW50c30+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICAgICAgICAgICAgPC9TYWxlc0FnZW50V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9TZWFyY2hBZ2VudFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICA8L0Vudml2ZUNzc1Byb3ZpZGVyPlxuICAgICAgICAgICAgICAgIDwvQW1wbGl0dWRlUHJvdmlkZXI+XG4gICAgICAgICAgICAgIDwvVXNlcklkZW50aXR5UHJvdmlkZXI+XG4gICAgICAgICAgICA8L0ZlYXR1cmVGbGFnU2VydmljZVByb3ZpZGVyPlxuICAgICAgICAgIDwvTG9jYWxTdG9yYWdlUHJvdmlkZXI+XG4gICAgICAgIDwvTmV3T3JnQ29uZmlnUHJvdmlkZXI+XG4gICAgICA8L0dyYXBoUUxQcm92aWRlcj5cbiAgICA8L0Vudml2ZUNvbmZpZ1Byb3ZpZGVyPlxuICA8L0Vudml2ZUNvbnRleHQuUHJvdmlkZXI+XG4pO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWNBLE1BQU0sZ0JBQWdCLGNBQW9CLEtBQUs7QUEwQi9DLE1BQU1BLHNCQUFtRCxFQUFFLFVBQVUsb0JBQW9CO0FBQ3ZGLEtBQUksQ0FBQyxjQUFjLFNBQVMsWUFBWSxZQUFZLENBQ2xELFFBQU87QUFFVCxRQUFPLG9CQUFDLGtCQUFnQixXQUEwQjs7QUFHcEQsTUFBTUMscUJBQWtELEVBQUUsVUFBVSxvQkFBb0I7QUFHdEYsUUFBTzs7QUFJVCxNQUFhQyxrQkFBaUQsRUFDNUQsVUFDQSxlQUNBLEdBQUcsYUFFSCxvQkFBQyxjQUFjO0NBQVMsT0FBTztXQUM3QixvQkFBQztFQUFxQixHQUFJO1lBQ3hCLG9CQUFDLDZCQUNDLG9CQUFDLGtDQUNDLG9CQUFDLGtDQUNDLG9CQUFDO0dBQTJCLGNBQWMsRUFBRTthQUMxQyxvQkFBQyxrQ0FDQyxvQkFBQywrQkFDQyxvQkFBQywrQkFDQyxvQkFBQztJQUFrQztjQUNqQyxvQkFBQztLQUFpQztLQUMvQjtNQUNpQjtLQUNELEdBQ0gsR0FDRixHQUNDO0lBQ0ksR0FDUixHQUNGLEdBQ1A7R0FDRztFQUNBIn0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
const require_contexts_enviveContext_types = require('./types.cjs');
|
|
2
|
+
const require_enviveContext = require('./enviveContext.cjs');
|
|
3
|
+
|
|
4
|
+
exports.EnviveAgent = require_contexts_enviveContext_types.EnviveAgent;
|
|
5
|
+
exports.EnviveProvider = require_enviveContext.EnviveProvider;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
|
|
2
|
+
//#region src/contexts/enviveContext/types.ts
|
|
3
|
+
let EnviveAgent = /* @__PURE__ */ function(EnviveAgent$1) {
|
|
4
|
+
EnviveAgent$1["SalesAgent"] = "sales";
|
|
5
|
+
EnviveAgent$1["SearchAgent"] = "search";
|
|
6
|
+
return EnviveAgent$1;
|
|
7
|
+
}({});
|
|
8
|
+
|
|
9
|
+
//#endregion
|
|
10
|
+
exports.EnviveAgent = EnviveAgent;
|
|
11
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9lbnZpdmVDb250ZXh0L3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEVudml2ZUFnZW50IHtcbiAgU2FsZXNBZ2VudCA9ICdzYWxlcycsXG4gIFNlYXJjaEFnZW50ID0gJ3NlYXJjaCcsXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBWSxzREFBTDtBQUNMO0FBQ0EifQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/contexts/enviveContext/types.d.ts
|
|
2
|
+
declare enum EnviveAgent {
|
|
3
|
+
SalesAgent = "sales",
|
|
4
|
+
SearchAgent = "search",
|
|
5
|
+
}
|
|
6
|
+
//#endregion
|
|
7
|
+
export { EnviveAgent };
|
|
8
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL2Vudml2ZUNvbnRleHQvdHlwZXMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVjbGFyZSBlbnVtIEVudml2ZUFnZW50IHtcbiAgICBTYWxlc0FnZW50ID0gXCJzYWxlc1wiLFxuICAgIFNlYXJjaEFnZW50ID0gXCJzZWFyY2hcIlxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBVyxjQUFjLENBQUMsSUFBSSJ9
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region src/contexts/enviveContext/types.d.ts
|
|
2
|
+
declare enum EnviveAgent {
|
|
3
|
+
SalesAgent = "sales",
|
|
4
|
+
SearchAgent = "search",
|
|
5
|
+
}
|
|
6
|
+
//#endregion
|
|
7
|
+
export { EnviveAgent };
|
|
8
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvZW52aXZlQ29udGV4dC90eXBlcy5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWNsYXJlIGVudW0gRW52aXZlQWdlbnQge1xuICAgIFNhbGVzQWdlbnQgPSBcInNhbGVzXCIsXG4gICAgU2VhcmNoQWdlbnQgPSBcInNlYXJjaFwiXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFXLGNBQWMsQ0FBQyxJQUFJIn0=
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//#region src/contexts/enviveContext/types.ts
|
|
2
|
+
let EnviveAgent = /* @__PURE__ */ function(EnviveAgent$1) {
|
|
3
|
+
EnviveAgent$1["SalesAgent"] = "sales";
|
|
4
|
+
EnviveAgent$1["SearchAgent"] = "search";
|
|
5
|
+
return EnviveAgent$1;
|
|
6
|
+
}({});
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
export { EnviveAgent };
|
|
10
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL2Vudml2ZUNvbnRleHQvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRW52aXZlQWdlbnQge1xuICBTYWxlc0FnZW50ID0gJ3NhbGVzJyxcbiAgU2VhcmNoQWdlbnQgPSAnc2VhcmNoJyxcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQVksc0RBQUw7QUFDTDtBQUNBIn0=
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
|
|
2
|
-
const require_featureGates = require('../../application/models/featureGates.cjs');
|
|
3
2
|
const require_logger = require('../../application/logging/logger.cjs');
|
|
3
|
+
const require_featureGates = require('../../application/models/featureGates.cjs');
|
|
4
4
|
const require_enviveConfigContext = require('../enviveConfigContext/enviveConfigContext.cjs');
|
|
5
5
|
const require_sessionStorageContext = require('../sessionStorageContext/sessionStorageContext.cjs');
|
|
6
6
|
require('../sessionStorageContext/index.cjs');
|
|
@@ -102,4 +102,4 @@ const useFeatureFlag = () => {
|
|
|
102
102
|
//#endregion
|
|
103
103
|
exports.FeatureFlagProvider = FeatureFlagProvider;
|
|
104
104
|
exports.useFeatureFlag = useFeatureFlag;
|
|
105
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZUZsYWdDb250ZXh0LmNqcyIsIm5hbWVzIjpbIkZlYXR1cmVGbGFnUHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgZmVhdHVyZUdhdGVzOiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufT4iLCJ1c2VTZXNzaW9uU3RvcmFnZSIsInVzZUVudml2ZUNvbmZpZyIsInZhbHVlIiwiZ2F0ZXM6IEFycmF5PFN0YXRzaWdGZWF0dXJlR2F0ZT4gfCB1bmRlZmluZWQiLCJGZWF0dXJlR2F0ZXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvZmVhdHVyZUZsYWdDb250ZXh0L2ZlYXR1cmVGbGFnQ29udGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQsIHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgU3RhdHNpZ0ZlYXR1cmVHYXRlIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZmVhdHVyZUdhdGVzJztcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yYWdlIH0gZnJvbSAnc3JjL2NvbnRleHRzL3Nlc3Npb25TdG9yYWdlQ29udGV4dCc7XG5pbXBvcnQgeyBPcmdDb25maWdGZWF0dXJlR2F0ZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL29yZ0NvbmZpZ1Jlc3VsdHMnO1xuaW1wb3J0IHsgdXNlRW52aXZlQ29uZmlnIH0gZnJvbSAnc3JjL2NvbnRleHRzL2Vudml2ZUNvbmZpZ0NvbnRleHQvZW52aXZlQ29uZmlnQ29udGV4dCc7XG5cbmNvbnN0IEZFQVRVUkVfRkxBR1NfU1RPUkFHRV9LRVkgPSAnc3BpZmZ5LWZlYXR1cmUtZmxhZ3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVGbGFnQ29udGV4dFR5cGUge1xuICBpc0ZlYXR1cmVHYXRlRW5hYmxlZDogKGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMpID0+IGJvb2xlYW47XG4gIGlzQ2xpZW50U2Vzc2lvbkVuYWJsZWQ6ICgpID0+IGJvb2xlYW47XG4gIGdldEZlYXR1cmVGbGFnczogKCkgPT4gUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gIHBlcnNpc3RGZWF0dXJlR2F0ZU92ZXJyaWRlczogKCkgPT4gdm9pZDtcbn1cblxuY29uc3QgRmVhdHVyZUZsYWdDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxGZWF0dXJlRmxhZ0NvbnRleHRUeXBlIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgRmVhdHVyZUZsYWdQcm92aWRlcjogUmVhY3QuRkM8e1xuICBmZWF0dXJlR2F0ZXM6IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59PiA9ICh7IGZlYXR1cmVHYXRlcywgY2hpbGRyZW4gfSkgPT4ge1xuICBjb25zdCB7IGdldEl0ZW0sIHNldEl0ZW0gfSA9IHVzZVNlc3Npb25TdG9yYWdlKCk7XG4gIGNvbnN0IHsgZmVhdHVyZU92ZXJyaWRlcyB9ID0gdXNlRW52aXZlQ29uZmlnKCk7XG5cbiAgY29uc3QgZ2V0UXVlcnlQYXJhbUZlYXR1cmVHYXRlT3ZlcnJpZGVzID0gdXNlQ2FsbGJhY2soXG4gICAgKGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMpOiBib29sZWFuIHwgdW5kZWZpbmVkID0+IHtcbiAgICAgIGNvbnN0IHVybE9iaiA9IG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh1cmxPYmouc2VhcmNoKTtcbiAgICAgIGNvbnN0IHBhcmFtc09iaiA9IE9iamVjdC5mcm9tRW50cmllcyhwYXJhbXMuZW50cmllcygpKTtcbiAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1zT2JqW2ZlYXR1cmVHYXRlXTtcblxuICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSAndHJ1ZSc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSxcbiAgICBbXSxcbiAgKTtcblxuICBjb25zdCBnZXRXaW5kb3dGZWF0dXJlR2F0ZU92ZXJyaWRlcyA9IHVzZUNhbGxiYWNrKFxuICAgIChmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzKTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGZlYXR1cmVPdmVycmlkZXM/LltTdHJpbmcoZmVhdHVyZUdhdGUpXTtcbiAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9LFxuICAgIFtmZWF0dXJlT3ZlcnJpZGVzXSxcbiAgKTtcblxuICBjb25zdCBnZXRTdG9yZWRGZWF0dXJlR2F0ZU92ZXJyaWRlcyA9IHVzZUNhbGxiYWNrKFxuICAgIChmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzKTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9PiB7XG4gICAgICBjb25zdCBmZWF0dXJlRmxhZ3MgPSBnZXRJdGVtKEZFQVRVUkVfRkxBR1NfU1RPUkFHRV9LRVkpO1xuXG4gICAgICBpZiAoZmVhdHVyZUZsYWdzKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgZmVhdHVyZUZsYWdzT2JqID0gSlNPTi5wYXJzZShmZWF0dXJlRmxhZ3MpO1xuICAgICAgICAgIHJldHVybiBmZWF0dXJlRmxhZ3NPYmpbZmVhdHVyZUdhdGVdO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICBMb2dnZXIubG9nRXJyb3IoXG4gICAgICAgICAgICAnW3NwaWZmeS1haV0gZ2V0U3RvcmVkRmVhdHVyZUdhdGVPdmVycmlkZXM6IGVycm9yIHBhcnNpbmcgZmVhdHVyZSBmbGFncycsXG4gICAgICAgICAgICBlcnIsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0sXG4gICAgW10sXG4gICk7XG5cbiAgY29uc3QgZ2V0RmVhdHVyZUZsYWdPdmVycmlkZSA9IHVzZUNhbGxiYWNrKFxuICAgIChmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzKTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9PiB7XG4gICAgICBjb25zdCBxdWVyeU92ZXJyaWRlID0gZ2V0UXVlcnlQYXJhbUZlYXR1cmVHYXRlT3ZlcnJpZGVzKGZlYXR1cmVHYXRlKTtcbiAgICAgIGlmIChxdWVyeU92ZXJyaWRlICE9IG51bGwpIHtcbiAgICAgICAgTG9nZ2VyLmxvZ0RlYnVnKFxuICAgICAgICAgIGBbc3BpZmZ5LWFpXSBpc0ZlYXR1cmVHYXRlRW5hYmxlZCBmZWF0dXJlR2F0ZToke2ZlYXR1cmVHYXRlfSBvdmVycmlkZGVuIGJ5IFVSTCBwYXJhbS4gTmV3IHZhbHVlOiAke3F1ZXJ5T3ZlcnJpZGV9YCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHF1ZXJ5T3ZlcnJpZGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHdpbmRvd092ZXJyaWRlID0gZ2V0V2luZG93RmVhdHVyZUdhdGVPdmVycmlkZXMoZmVhdHVyZUdhdGUpO1xuICAgICAgaWYgKHdpbmRvd092ZXJyaWRlICE9IG51bGwpIHtcbiAgICAgICAgTG9nZ2VyLmxvZ0RlYnVnKFxuICAgICAgICAgIGBbc3BpZmZ5LWFpXSBpc0ZlYXR1cmVHYXRlRW5hYmxlZCBmZWF0dXJlR2F0ZToke2ZlYXR1cmVHYXRlfSBvdmVycmlkZGVuIGJ5IHdpbmRvdyBwYXJhbS4gTmV3IHZhbHVlOiAke3dpbmRvd092ZXJyaWRlfWAsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB3aW5kb3dPdmVycmlkZTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3RvcmVkT3ZlcnJpZGUgPSBnZXRTdG9yZWRGZWF0dXJlR2F0ZU92ZXJyaWRlcyhmZWF0dXJlR2F0ZSk7XG4gICAgICBpZiAoc3RvcmVkT3ZlcnJpZGUgIT0gbnVsbCkge1xuICAgICAgICBMb2dnZXIubG9nRGVidWcoXG4gICAgICAgICAgYFtzcGlmZnktYWldIGlzRmVhdHVyZUdhdGVFbmFibGVkIGZlYXR1cmVHYXRlOiR7ZmVhdHVyZUdhdGV9IG92ZXJyaWRkZW4gYnkgc3RvcmVkIHZhbHVlLiBOZXcgdmFsdWU6ICR7c3RvcmVkT3ZlcnJpZGV9YCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHN0b3JlZE92ZXJyaWRlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0sXG4gICAgW1xuICAgICAgZ2V0UXVlcnlQYXJhbUZlYXR1cmVHYXRlT3ZlcnJpZGVzLFxuICAgICAgZ2V0V2luZG93RmVhdHVyZUdhdGVPdmVycmlkZXMsXG4gICAgICBnZXRTdG9yZWRGZWF0dXJlR2F0ZU92ZXJyaWRlcyxcbiAgICBdLFxuICApO1xuXG4gIGNvbnN0IGlzRmVhdHVyZUdhdGVFbmFibGVkID0gdXNlQ2FsbGJhY2soXG4gICAgKGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMpOiBib29sZWFuID0+IHtcbiAgICAgIGNvbnN0IGdhdGVWYWx1ZSA9IGZlYXR1cmVHYXRlcy5maW5kKGdhdGUgPT4gZ2F0ZS5uYW1lID09PSBmZWF0dXJlR2F0ZSk7XG5cbiAgICAgIGNvbnN0IGZlYXR1cmVGbGFnT3ZlcnJpZGUgPSBnZXRGZWF0dXJlRmxhZ092ZXJyaWRlKGZlYXR1cmVHYXRlKTtcbiAgICAgIGlmIChmZWF0dXJlRmxhZ092ZXJyaWRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGZlYXR1cmVGbGFnT3ZlcnJpZGU7XG4gICAgICB9XG5cbiAgICAgIGlmIChnYXRlVmFsdWUgPT0gbnVsbCB8fCBnYXRlVmFsdWUudmFsdWUgPT0gbnVsbCkge1xuICAgICAgICBMb2dnZXIubG9nRGVidWcoXG4gICAgICAgICAgYFtzcGlmZnktYWldIGlzRmVhdHVyZUdhdGVFbmFibGVkIGZlYXR1cmVHYXRlOiR7ZmVhdHVyZUdhdGV9IHZhbHVlIGlzIHVuZGVmaW5lZCAtIHJldHVybmluZyBmYWxzZWAsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZ2F0ZVZhbHVlLnZhbHVlO1xuICAgIH0sXG4gICAgW2ZlYXR1cmVHYXRlcywgZ2V0RmVhdHVyZUZsYWdPdmVycmlkZV0sXG4gICk7XG5cbiAgY29uc3QgaXNDbGllbnRTZXNzaW9uRW5hYmxlZCA9IHVzZUNhbGxiYWNrKCgpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBnYXRlczogQXJyYXk8U3RhdHNpZ0ZlYXR1cmVHYXRlPiB8IHVuZGVmaW5lZCA9IGZlYXR1cmVHYXRlcztcbiAgICBjb25zdCBpc0VuYWJsZWQgPVxuICAgICAgZ2F0ZXMgPT0gbnVsbCB8fFxuICAgICAgZ2F0ZXM/LmZpbHRlcihcbiAgICAgICAgZ2F0ZSA9PiBnYXRlLm5hbWUgPT09IEZlYXR1cmVHYXRlcy5Jc0NsaWVudFNlc3Npb25FbmFibGVkICYmIGdhdGUudmFsdWUgPT09IHRydWUsXG4gICAgICApLmxlbmd0aCA+IDA7XG5cbiAgICByZXR1cm4gaXNFbmFibGVkO1xuICB9LCBbZmVhdHVyZUdhdGVzXSk7XG5cbiAgY29uc3QgZ2V0RmVhdHVyZUZsYWdzID0gdXNlQ2FsbGJhY2soKCk6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LnZhbHVlcyhGZWF0dXJlR2F0ZXMpLm1hcCgoZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcykgPT4gW1xuICAgICAgICBmZWF0dXJlR2F0ZSxcbiAgICAgICAgaXNGZWF0dXJlR2F0ZUVuYWJsZWQoZmVhdHVyZUdhdGUpLFxuICAgICAgXSksXG4gICAgKTtcbiAgfSwgW2lzRmVhdHVyZUdhdGVFbmFibGVkXSk7XG5cbiAgY29uc3QgcGVyc2lzdEZlYXR1cmVHYXRlT3ZlcnJpZGVzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGZlYXR1cmVGbGFncyA9IE9iamVjdC52YWx1ZXMoRmVhdHVyZUdhdGVzKVxuICAgICAgLm1hcChmZWF0dXJlR2F0ZSA9PiBbZmVhdHVyZUdhdGUsIGdldEZlYXR1cmVGbGFnT3ZlcnJpZGUoZmVhdHVyZUdhdGUpXSlcbiAgICAgIC5maWx0ZXIoKFssIHZhbF0pID0+IHZhbCAhPT0gdW5kZWZpbmVkKVxuICAgICAgLnJlZHVjZSgoYWNjLCBba2V5LCB2YWxdKSA9PiAoeyAuLi5hY2MsIFtrZXkgYXMgc3RyaW5nXTogdmFsIH0pLCB7fSk7XG4gICAgc2V0SXRlbShGRUFUVVJFX0ZMQUdTX1NUT1JBR0VfS0VZLCBKU09OLnN0cmluZ2lmeShmZWF0dXJlRmxhZ3MpKTtcbiAgfSwgW2dldEZlYXR1cmVGbGFnT3ZlcnJpZGUsIHNldEl0ZW1dKTtcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGlzRmVhdHVyZUdhdGVFbmFibGVkLFxuICAgICAgaXNDbGllbnRTZXNzaW9uRW5hYmxlZCxcbiAgICAgIGdldEZlYXR1cmVGbGFncyxcbiAgICAgIHBlcnNpc3RGZWF0dXJlR2F0ZU92ZXJyaWRlcyxcbiAgICB9KSxcbiAgICBbaXNGZWF0dXJlR2F0ZUVuYWJsZWQsIGlzQ2xpZW50U2Vzc2lvbkVuYWJsZWQsIGdldEZlYXR1cmVGbGFncywgcGVyc2lzdEZlYXR1cmVHYXRlT3ZlcnJpZGVzXSxcbiAgKTtcblxuICByZXR1cm4gPEZlYXR1cmVGbGFnQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PntjaGlsZHJlbn08L0ZlYXR1cmVGbGFnQ29udGV4dC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgY29uc3QgdXNlRmVhdHVyZUZsYWcgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEZlYXR1cmVGbGFnQ29udGV4dCk7XG4gIGlmIChjb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZUZlYXR1cmVGbGFnIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBGZWF0dXJlRmxhZ1Byb3ZpZGVyJyk7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQVFBLE1BQU0sNEJBQTRCO0FBU2xDLE1BQU0sOENBQXVFLE9BQVU7QUFFdkYsTUFBYUEsdUJBR1AsRUFBRSxjQUFjLGVBQWU7Q0FDbkMsTUFBTSxFQUFFLFNBQVMsWUFBWUMsaURBQW1CO0NBQ2hELE1BQU0sRUFBRSxxQkFBcUJDLDZDQUFpQjtDQUU5QyxNQUFNLDREQUNILGdCQUFtRDtFQUNsRCxNQUFNLFNBQVMsSUFBSSxJQUFJLE9BQU8sU0FBUyxLQUFLO0VBQzVDLE1BQU0sU0FBUyxJQUFJLGdCQUFnQixPQUFPLE9BQU87RUFFakQsTUFBTUMsVUFEWSxPQUFPLFlBQVksT0FBTyxTQUFTLENBQUMsQ0FDOUI7QUFFeEIsTUFBSUEsV0FBUyxLQUNYLFFBQU9BLFlBQVU7SUFLckIsRUFBRSxDQUNIO0NBRUQsTUFBTSx3REFDSCxnQkFBbUQ7RUFDbEQsTUFBTUEsVUFBUSxtQkFBbUIsT0FBTyxZQUFZO0FBQ3BELE1BQUlBLFdBQVMsS0FDWCxRQUFPQTtJQUtYLENBQUMsaUJBQWlCLENBQ25CO0NBRUQsTUFBTSx3REFDSCxnQkFBbUQ7RUFDbEQsTUFBTSxlQUFlLFFBQVEsMEJBQTBCO0FBRXZELE1BQUksYUFDRixLQUFJO0FBRUYsVUFEd0IsS0FBSyxNQUFNLGFBQWEsQ0FDekI7V0FDaEIsS0FBSztBQUNaLDBCQUFPLFNBQ0wsMEVBQ0EsSUFDRDs7SUFNUCxFQUFFLENBQ0g7Q0FFRCxNQUFNLGlEQUNILGdCQUFtRDtFQUNsRCxNQUFNLGdCQUFnQixrQ0FBa0MsWUFBWTtBQUNwRSxNQUFJLGlCQUFpQixNQUFNO0FBQ3pCLDBCQUFPLFNBQ0wsZ0RBQWdELFlBQVksdUNBQXVDLGdCQUNwRztBQUNELFVBQU87O0VBR1QsTUFBTSxpQkFBaUIsOEJBQThCLFlBQVk7QUFDakUsTUFBSSxrQkFBa0IsTUFBTTtBQUMxQiwwQkFBTyxTQUNMLGdEQUFnRCxZQUFZLDBDQUEwQyxpQkFDdkc7QUFDRCxVQUFPOztFQUdULE1BQU0saUJBQWlCLDhCQUE4QixZQUFZO0FBQ2pFLE1BQUksa0JBQWtCLE1BQU07QUFDMUIsMEJBQU8sU0FDTCxnREFBZ0QsWUFBWSwwQ0FBMEMsaUJBQ3ZHO0FBQ0QsVUFBTzs7SUFLWDtFQUNFO0VBQ0E7RUFDQTtFQUNELENBQ0Y7Q0FFRCxNQUFNLCtDQUNILGdCQUF1QztFQUN0QyxNQUFNLFlBQVksYUFBYSxNQUFLLFNBQVEsS0FBSyxTQUFTLFlBQVk7RUFFdEUsTUFBTSxzQkFBc0IsdUJBQXVCLFlBQVk7QUFDL0QsTUFBSSx3QkFBd0IsT0FDMUIsUUFBTztBQUdULE1BQUksYUFBYSxRQUFRLFVBQVUsU0FBUyxNQUFNO0FBQ2hELDBCQUFPLFNBQ0wsZ0RBQWdELFlBQVksdUNBQzdEO0FBRUQsVUFBTzs7QUFHVCxTQUFPLFVBQVU7SUFFbkIsQ0FBQyxjQUFjLHVCQUF1QixDQUN2QztDQUVELE1BQU0sc0RBQW9EO0VBQ3hELE1BQU1DLFFBQStDO0FBT3JELFNBTEUsU0FBUyxRQUNULE9BQU8sUUFDTCxTQUFRLEtBQUssU0FBU0Msa0NBQWEsMEJBQTBCLEtBQUssVUFBVSxLQUM3RSxDQUFDLFNBQVM7SUFHWixDQUFDLGFBQWEsQ0FBQztDQUVsQixNQUFNLCtDQUE2RDtBQUNqRSxTQUFPLE9BQU8sWUFDWixPQUFPLE9BQU9BLGtDQUFhLENBQUMsS0FBSyxnQkFBOEIsQ0FDN0QsYUFDQSxxQkFBcUIsWUFBWSxDQUNsQyxDQUFDLENBQ0g7SUFDQSxDQUFDLHFCQUFxQixDQUFDO0NBRTFCLE1BQU0sMkRBQWdEO0VBQ3BELE1BQU0sZUFBZSxPQUFPLE9BQU9BLGtDQUFhLENBQzdDLEtBQUksZ0JBQWUsQ0FBQyxhQUFhLHVCQUF1QixZQUFZLENBQUMsQ0FBQyxDQUN0RSxRQUFRLEdBQUcsU0FBUyxRQUFRLE9BQVUsQ0FDdEMsUUFBUSxLQUFLLENBQUMsS0FBSyxVQUFVO0dBQUUsR0FBRztJQUFNLE1BQWdCO0dBQUssR0FBRyxFQUFFLENBQUM7QUFDdEUsVUFBUSwyQkFBMkIsS0FBSyxVQUFVLGFBQWEsQ0FBQztJQUMvRCxDQUFDLHdCQUF3QixRQUFRLENBQUM7Q0FFckMsTUFBTSxrQ0FDRztFQUNMO0VBQ0E7RUFDQTtFQUNBO0VBQ0QsR0FDRDtFQUFDO0VBQXNCO0VBQXdCO0VBQWlCO0VBQTRCLENBQzdGO0FBRUQsUUFBTywyQ0FBQyxtQkFBbUI7RUFBZ0I7RUFBUTtHQUF1Qzs7QUFHNUYsTUFBYSx1QkFBdUI7Q0FDbEMsTUFBTSxnQ0FBcUIsbUJBQW1CO0FBQzlDLEtBQUksWUFBWSxPQUNkLE9BQU0sSUFBSSxNQUFNLDJEQUEyRDtBQUU3RSxRQUFPIn0=
|
|
105
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZUZsYWdDb250ZXh0LmNqcyIsIm5hbWVzIjpbIkZlYXR1cmVGbGFnUHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgZmVhdHVyZUdhdGVzOiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdO1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xufT4iLCJ1c2VTZXNzaW9uU3RvcmFnZSIsInVzZUVudml2ZUNvbmZpZyIsInZhbHVlIiwiZ2F0ZXM6IEFycmF5PFN0YXRzaWdGZWF0dXJlR2F0ZT4gfCB1bmRlZmluZWQiLCJGZWF0dXJlR2F0ZXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvZmVhdHVyZUZsYWdDb250ZXh0L2ZlYXR1cmVGbGFnQ29udGV4dC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIHVzZUNhbGxiYWNrLCB1c2VDb250ZXh0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgU3RhdHNpZ0ZlYXR1cmVHYXRlIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZmVhdHVyZUdhdGVzJztcbmltcG9ydCB7IHVzZVNlc3Npb25TdG9yYWdlIH0gZnJvbSAnc3JjL2NvbnRleHRzL3Nlc3Npb25TdG9yYWdlQ29udGV4dCc7XG5pbXBvcnQgeyBPcmdDb25maWdGZWF0dXJlR2F0ZSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL29yZ0NvbmZpZ1Jlc3VsdHMnO1xuaW1wb3J0IHsgdXNlRW52aXZlQ29uZmlnIH0gZnJvbSAnc3JjL2NvbnRleHRzL2Vudml2ZUNvbmZpZ0NvbnRleHQvZW52aXZlQ29uZmlnQ29udGV4dCc7XG5cbmNvbnN0IEZFQVRVUkVfRkxBR1NfU1RPUkFHRV9LRVkgPSAnc3BpZmZ5LWZlYXR1cmUtZmxhZ3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZlYXR1cmVGbGFnQ29udGV4dFR5cGUge1xuICBpc0ZlYXR1cmVHYXRlRW5hYmxlZDogKGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMpID0+IGJvb2xlYW47XG4gIGlzQ2xpZW50U2Vzc2lvbkVuYWJsZWQ6ICgpID0+IGJvb2xlYW47XG4gIGdldEZlYXR1cmVGbGFnczogKCkgPT4gUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gIHBlcnNpc3RGZWF0dXJlR2F0ZU92ZXJyaWRlczogKCkgPT4gdm9pZDtcbn1cblxuY29uc3QgRmVhdHVyZUZsYWdDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxGZWF0dXJlRmxhZ0NvbnRleHRUeXBlIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgRmVhdHVyZUZsYWdQcm92aWRlcjogUmVhY3QuRkM8e1xuICBmZWF0dXJlR2F0ZXM6IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG4gIGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGU7XG59PiA9ICh7IGZlYXR1cmVHYXRlcywgY2hpbGRyZW4gfSkgPT4ge1xuICBjb25zdCB7IGdldEl0ZW0sIHNldEl0ZW0gfSA9IHVzZVNlc3Npb25TdG9yYWdlKCk7XG4gIGNvbnN0IHsgZmVhdHVyZU92ZXJyaWRlcyB9ID0gdXNlRW52aXZlQ29uZmlnKCk7XG5cbiAgY29uc3QgZ2V0UXVlcnlQYXJhbUZlYXR1cmVHYXRlT3ZlcnJpZGVzID0gdXNlQ2FsbGJhY2soXG4gICAgKGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMpOiBib29sZWFuIHwgdW5kZWZpbmVkID0+IHtcbiAgICAgIGNvbnN0IHVybE9iaiA9IG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh1cmxPYmouc2VhcmNoKTtcbiAgICAgIGNvbnN0IHBhcmFtc09iaiA9IE9iamVjdC5mcm9tRW50cmllcyhwYXJhbXMuZW50cmllcygpKTtcbiAgICAgIGNvbnN0IHZhbHVlID0gcGFyYW1zT2JqW2ZlYXR1cmVHYXRlXTtcblxuICAgICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlID09PSAndHJ1ZSc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfSxcbiAgICBbXSxcbiAgKTtcblxuICBjb25zdCBnZXRXaW5kb3dGZWF0dXJlR2F0ZU92ZXJyaWRlcyA9IHVzZUNhbGxiYWNrKFxuICAgIChmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzKTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGZlYXR1cmVPdmVycmlkZXM/LltTdHJpbmcoZmVhdHVyZUdhdGUpXTtcbiAgICAgIGlmICh2YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9LFxuICAgIFtmZWF0dXJlT3ZlcnJpZGVzXSxcbiAgKTtcblxuICBjb25zdCBnZXRTdG9yZWRGZWF0dXJlR2F0ZU92ZXJyaWRlcyA9IHVzZUNhbGxiYWNrKFxuICAgIChmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzKTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9PiB7XG4gICAgICBjb25zdCBmZWF0dXJlRmxhZ3MgPSBnZXRJdGVtKEZFQVRVUkVfRkxBR1NfU1RPUkFHRV9LRVkpO1xuXG4gICAgICBpZiAoZmVhdHVyZUZsYWdzKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgZmVhdHVyZUZsYWdzT2JqID0gSlNPTi5wYXJzZShmZWF0dXJlRmxhZ3MpO1xuICAgICAgICAgIHJldHVybiBmZWF0dXJlRmxhZ3NPYmpbZmVhdHVyZUdhdGVdO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICBMb2dnZXIubG9nRXJyb3IoXG4gICAgICAgICAgICAnW3NwaWZmeS1haV0gZ2V0U3RvcmVkRmVhdHVyZUdhdGVPdmVycmlkZXM6IGVycm9yIHBhcnNpbmcgZmVhdHVyZSBmbGFncycsXG4gICAgICAgICAgICBlcnIsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0sXG4gICAgW10sXG4gICk7XG5cbiAgY29uc3QgZ2V0RmVhdHVyZUZsYWdPdmVycmlkZSA9IHVzZUNhbGxiYWNrKFxuICAgIChmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzKTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9PiB7XG4gICAgICBjb25zdCBxdWVyeU92ZXJyaWRlID0gZ2V0UXVlcnlQYXJhbUZlYXR1cmVHYXRlT3ZlcnJpZGVzKGZlYXR1cmVHYXRlKTtcbiAgICAgIGlmIChxdWVyeU92ZXJyaWRlICE9IG51bGwpIHtcbiAgICAgICAgTG9nZ2VyLmxvZ0RlYnVnKFxuICAgICAgICAgIGBbc3BpZmZ5LWFpXSBpc0ZlYXR1cmVHYXRlRW5hYmxlZCBmZWF0dXJlR2F0ZToke2ZlYXR1cmVHYXRlfSBvdmVycmlkZGVuIGJ5IFVSTCBwYXJhbS4gTmV3IHZhbHVlOiAke3F1ZXJ5T3ZlcnJpZGV9YCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHF1ZXJ5T3ZlcnJpZGU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHdpbmRvd092ZXJyaWRlID0gZ2V0V2luZG93RmVhdHVyZUdhdGVPdmVycmlkZXMoZmVhdHVyZUdhdGUpO1xuICAgICAgaWYgKHdpbmRvd092ZXJyaWRlICE9IG51bGwpIHtcbiAgICAgICAgTG9nZ2VyLmxvZ0RlYnVnKFxuICAgICAgICAgIGBbc3BpZmZ5LWFpXSBpc0ZlYXR1cmVHYXRlRW5hYmxlZCBmZWF0dXJlR2F0ZToke2ZlYXR1cmVHYXRlfSBvdmVycmlkZGVuIGJ5IHdpbmRvdyBwYXJhbS4gTmV3IHZhbHVlOiAke3dpbmRvd092ZXJyaWRlfWAsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiB3aW5kb3dPdmVycmlkZTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3RvcmVkT3ZlcnJpZGUgPSBnZXRTdG9yZWRGZWF0dXJlR2F0ZU92ZXJyaWRlcyhmZWF0dXJlR2F0ZSk7XG4gICAgICBpZiAoc3RvcmVkT3ZlcnJpZGUgIT0gbnVsbCkge1xuICAgICAgICBMb2dnZXIubG9nRGVidWcoXG4gICAgICAgICAgYFtzcGlmZnktYWldIGlzRmVhdHVyZUdhdGVFbmFibGVkIGZlYXR1cmVHYXRlOiR7ZmVhdHVyZUdhdGV9IG92ZXJyaWRkZW4gYnkgc3RvcmVkIHZhbHVlLiBOZXcgdmFsdWU6ICR7c3RvcmVkT3ZlcnJpZGV9YCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHN0b3JlZE92ZXJyaWRlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0sXG4gICAgW1xuICAgICAgZ2V0UXVlcnlQYXJhbUZlYXR1cmVHYXRlT3ZlcnJpZGVzLFxuICAgICAgZ2V0V2luZG93RmVhdHVyZUdhdGVPdmVycmlkZXMsXG4gICAgICBnZXRTdG9yZWRGZWF0dXJlR2F0ZU92ZXJyaWRlcyxcbiAgICBdLFxuICApO1xuXG4gIGNvbnN0IGlzRmVhdHVyZUdhdGVFbmFibGVkID0gdXNlQ2FsbGJhY2soXG4gICAgKGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMpOiBib29sZWFuID0+IHtcbiAgICAgIGNvbnN0IGdhdGVWYWx1ZSA9IGZlYXR1cmVHYXRlcy5maW5kKGdhdGUgPT4gZ2F0ZS5uYW1lID09PSBmZWF0dXJlR2F0ZSk7XG5cbiAgICAgIGNvbnN0IGZlYXR1cmVGbGFnT3ZlcnJpZGUgPSBnZXRGZWF0dXJlRmxhZ092ZXJyaWRlKGZlYXR1cmVHYXRlKTtcbiAgICAgIGlmIChmZWF0dXJlRmxhZ092ZXJyaWRlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGZlYXR1cmVGbGFnT3ZlcnJpZGU7XG4gICAgICB9XG5cbiAgICAgIGlmIChnYXRlVmFsdWUgPT0gbnVsbCB8fCBnYXRlVmFsdWUudmFsdWUgPT0gbnVsbCkge1xuICAgICAgICBMb2dnZXIubG9nRGVidWcoXG4gICAgICAgICAgYFtzcGlmZnktYWldIGlzRmVhdHVyZUdhdGVFbmFibGVkIGZlYXR1cmVHYXRlOiR7ZmVhdHVyZUdhdGV9IHZhbHVlIGlzIHVuZGVmaW5lZCAtIHJldHVybmluZyBmYWxzZWAsXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZ2F0ZVZhbHVlLnZhbHVlO1xuICAgIH0sXG4gICAgW2ZlYXR1cmVHYXRlcywgZ2V0RmVhdHVyZUZsYWdPdmVycmlkZV0sXG4gICk7XG5cbiAgY29uc3QgaXNDbGllbnRTZXNzaW9uRW5hYmxlZCA9IHVzZUNhbGxiYWNrKCgpOiBib29sZWFuID0+IHtcbiAgICBjb25zdCBnYXRlczogQXJyYXk8U3RhdHNpZ0ZlYXR1cmVHYXRlPiB8IHVuZGVmaW5lZCA9IGZlYXR1cmVHYXRlcztcbiAgICBjb25zdCBpc0VuYWJsZWQgPVxuICAgICAgZ2F0ZXMgPT0gbnVsbCB8fFxuICAgICAgZ2F0ZXM/LmZpbHRlcihcbiAgICAgICAgZ2F0ZSA9PiBnYXRlLm5hbWUgPT09IEZlYXR1cmVHYXRlcy5Jc0NsaWVudFNlc3Npb25FbmFibGVkICYmIGdhdGUudmFsdWUgPT09IHRydWUsXG4gICAgICApLmxlbmd0aCA+IDA7XG5cbiAgICByZXR1cm4gaXNFbmFibGVkO1xuICB9LCBbZmVhdHVyZUdhdGVzXSk7XG5cbiAgY29uc3QgZ2V0RmVhdHVyZUZsYWdzID0gdXNlQ2FsbGJhY2soKCk6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgT2JqZWN0LnZhbHVlcyhGZWF0dXJlR2F0ZXMpLm1hcCgoZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcykgPT4gW1xuICAgICAgICBmZWF0dXJlR2F0ZSxcbiAgICAgICAgaXNGZWF0dXJlR2F0ZUVuYWJsZWQoZmVhdHVyZUdhdGUpLFxuICAgICAgXSksXG4gICAgKTtcbiAgfSwgW2lzRmVhdHVyZUdhdGVFbmFibGVkXSk7XG5cbiAgY29uc3QgcGVyc2lzdEZlYXR1cmVHYXRlT3ZlcnJpZGVzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGZlYXR1cmVGbGFncyA9IE9iamVjdC52YWx1ZXMoRmVhdHVyZUdhdGVzKVxuICAgICAgLm1hcChmZWF0dXJlR2F0ZSA9PiBbZmVhdHVyZUdhdGUsIGdldEZlYXR1cmVGbGFnT3ZlcnJpZGUoZmVhdHVyZUdhdGUpXSlcbiAgICAgIC5maWx0ZXIoKFssIHZhbF0pID0+IHZhbCAhPT0gdW5kZWZpbmVkKVxuICAgICAgLnJlZHVjZSgoYWNjLCBba2V5LCB2YWxdKSA9PiAoeyAuLi5hY2MsIFtrZXkgYXMgc3RyaW5nXTogdmFsIH0pLCB7fSk7XG4gICAgc2V0SXRlbShGRUFUVVJFX0ZMQUdTX1NUT1JBR0VfS0VZLCBKU09OLnN0cmluZ2lmeShmZWF0dXJlRmxhZ3MpKTtcbiAgfSwgW2dldEZlYXR1cmVGbGFnT3ZlcnJpZGUsIHNldEl0ZW1dKTtcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGlzRmVhdHVyZUdhdGVFbmFibGVkLFxuICAgICAgaXNDbGllbnRTZXNzaW9uRW5hYmxlZCxcbiAgICAgIGdldEZlYXR1cmVGbGFncyxcbiAgICAgIHBlcnNpc3RGZWF0dXJlR2F0ZU92ZXJyaWRlcyxcbiAgICB9KSxcbiAgICBbaXNGZWF0dXJlR2F0ZUVuYWJsZWQsIGlzQ2xpZW50U2Vzc2lvbkVuYWJsZWQsIGdldEZlYXR1cmVGbGFncywgcGVyc2lzdEZlYXR1cmVHYXRlT3ZlcnJpZGVzXSxcbiAgKTtcblxuICByZXR1cm4gPEZlYXR1cmVGbGFnQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PntjaGlsZHJlbn08L0ZlYXR1cmVGbGFnQ29udGV4dC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgY29uc3QgdXNlRmVhdHVyZUZsYWcgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KEZlYXR1cmVGbGFnQ29udGV4dCk7XG4gIGlmIChjb250ZXh0ID09PSB1bmRlZmluZWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZUZlYXR1cmVGbGFnIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBGZWF0dXJlRmxhZ1Byb3ZpZGVyJyk7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQVFBLE1BQU0sNEJBQTRCO0FBU2xDLE1BQU0sOENBQXVFLE9BQVU7QUFFdkYsTUFBYUEsdUJBR1AsRUFBRSxjQUFjLGVBQWU7Q0FDbkMsTUFBTSxFQUFFLFNBQVMsWUFBWUMsaURBQW1CO0NBQ2hELE1BQU0sRUFBRSxxQkFBcUJDLDZDQUFpQjtDQUU5QyxNQUFNLDREQUNILGdCQUFtRDtFQUNsRCxNQUFNLFNBQVMsSUFBSSxJQUFJLE9BQU8sU0FBUyxLQUFLO0VBQzVDLE1BQU0sU0FBUyxJQUFJLGdCQUFnQixPQUFPLE9BQU87RUFFakQsTUFBTUMsVUFEWSxPQUFPLFlBQVksT0FBTyxTQUFTLENBQUMsQ0FDOUI7QUFFeEIsTUFBSUEsV0FBUyxLQUNYLFFBQU9BLFlBQVU7SUFLckIsRUFBRSxDQUNIO0NBRUQsTUFBTSx3REFDSCxnQkFBbUQ7RUFDbEQsTUFBTUEsVUFBUSxtQkFBbUIsT0FBTyxZQUFZO0FBQ3BELE1BQUlBLFdBQVMsS0FDWCxRQUFPQTtJQUtYLENBQUMsaUJBQWlCLENBQ25CO0NBRUQsTUFBTSx3REFDSCxnQkFBbUQ7RUFDbEQsTUFBTSxlQUFlLFFBQVEsMEJBQTBCO0FBRXZELE1BQUksYUFDRixLQUFJO0FBRUYsVUFEd0IsS0FBSyxNQUFNLGFBQWEsQ0FDekI7V0FDaEIsS0FBSztBQUNaLDBCQUFPLFNBQ0wsMEVBQ0EsSUFDRDs7SUFNUCxFQUFFLENBQ0g7Q0FFRCxNQUFNLGlEQUNILGdCQUFtRDtFQUNsRCxNQUFNLGdCQUFnQixrQ0FBa0MsWUFBWTtBQUNwRSxNQUFJLGlCQUFpQixNQUFNO0FBQ3pCLDBCQUFPLFNBQ0wsZ0RBQWdELFlBQVksdUNBQXVDLGdCQUNwRztBQUNELFVBQU87O0VBR1QsTUFBTSxpQkFBaUIsOEJBQThCLFlBQVk7QUFDakUsTUFBSSxrQkFBa0IsTUFBTTtBQUMxQiwwQkFBTyxTQUNMLGdEQUFnRCxZQUFZLDBDQUEwQyxpQkFDdkc7QUFDRCxVQUFPOztFQUdULE1BQU0saUJBQWlCLDhCQUE4QixZQUFZO0FBQ2pFLE1BQUksa0JBQWtCLE1BQU07QUFDMUIsMEJBQU8sU0FDTCxnREFBZ0QsWUFBWSwwQ0FBMEMsaUJBQ3ZHO0FBQ0QsVUFBTzs7SUFLWDtFQUNFO0VBQ0E7RUFDQTtFQUNELENBQ0Y7Q0FFRCxNQUFNLCtDQUNILGdCQUF1QztFQUN0QyxNQUFNLFlBQVksYUFBYSxNQUFLLFNBQVEsS0FBSyxTQUFTLFlBQVk7RUFFdEUsTUFBTSxzQkFBc0IsdUJBQXVCLFlBQVk7QUFDL0QsTUFBSSx3QkFBd0IsT0FDMUIsUUFBTztBQUdULE1BQUksYUFBYSxRQUFRLFVBQVUsU0FBUyxNQUFNO0FBQ2hELDBCQUFPLFNBQ0wsZ0RBQWdELFlBQVksdUNBQzdEO0FBRUQsVUFBTzs7QUFHVCxTQUFPLFVBQVU7SUFFbkIsQ0FBQyxjQUFjLHVCQUF1QixDQUN2QztDQUVELE1BQU0sc0RBQW9EO0VBQ3hELE1BQU1DLFFBQStDO0FBT3JELFNBTEUsU0FBUyxRQUNULE9BQU8sUUFDTCxTQUFRLEtBQUssU0FBU0Msa0NBQWEsMEJBQTBCLEtBQUssVUFBVSxLQUM3RSxDQUFDLFNBQVM7SUFHWixDQUFDLGFBQWEsQ0FBQztDQUVsQixNQUFNLCtDQUE2RDtBQUNqRSxTQUFPLE9BQU8sWUFDWixPQUFPLE9BQU9BLGtDQUFhLENBQUMsS0FBSyxnQkFBOEIsQ0FDN0QsYUFDQSxxQkFBcUIsWUFBWSxDQUNsQyxDQUFDLENBQ0g7SUFDQSxDQUFDLHFCQUFxQixDQUFDO0NBRTFCLE1BQU0sMkRBQWdEO0VBQ3BELE1BQU0sZUFBZSxPQUFPLE9BQU9BLGtDQUFhLENBQzdDLEtBQUksZ0JBQWUsQ0FBQyxhQUFhLHVCQUF1QixZQUFZLENBQUMsQ0FBQyxDQUN0RSxRQUFRLEdBQUcsU0FBUyxRQUFRLE9BQVUsQ0FDdEMsUUFBUSxLQUFLLENBQUMsS0FBSyxVQUFVO0dBQUUsR0FBRztJQUFNLE1BQWdCO0dBQUssR0FBRyxFQUFFLENBQUM7QUFDdEUsVUFBUSwyQkFBMkIsS0FBSyxVQUFVLGFBQWEsQ0FBQztJQUMvRCxDQUFDLHdCQUF3QixRQUFRLENBQUM7Q0FFckMsTUFBTSxrQ0FDRztFQUNMO0VBQ0E7RUFDQTtFQUNBO0VBQ0QsR0FDRDtFQUFDO0VBQXNCO0VBQXdCO0VBQWlCO0VBQTRCLENBQzdGO0FBRUQsUUFBTywyQ0FBQyxtQkFBbUI7RUFBZ0I7RUFBUTtHQUF1Qzs7QUFHNUYsTUFBYSx1QkFBdUI7Q0FDbEMsTUFBTSxnQ0FBcUIsbUJBQW1CO0FBQzlDLEtBQUksWUFBWSxPQUNkLE9BQU0sSUFBSSxNQUFNLDJEQUEyRDtBQUU3RSxRQUFPIn0=
|