@envive-ai/react-hooks 0.2.6-alpha-4 → 0.2.6-alpha-6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AmplitudeOperations-Dpp91XWV.js → AmplitudeOperations-CaA5jTCq.js} +2 -2
- package/dist/{AmplitudeOperations-BEhMCOtx.cjs → AmplitudeOperations-CufFJLkn.cjs} +3 -3
- package/dist/{NewOrgConfig-Cx3R7FM6.js → NewOrgConfig-BnLPlU6Z.js} +2 -2
- package/dist/{NewOrgConfig-DRs9Sk4E.cjs → NewOrgConfig-CKHO6QW_.cjs} +2 -2
- package/dist/{TrackComponentVisibleEvent-OAFP4CZ6.cjs → TrackComponentVisibleEvent-BvrgpJuY.cjs} +4 -4
- package/dist/{TrackComponentVisibleEvent-CIfRZtFq.js → TrackComponentVisibleEvent-CKELFJhI.js} +3 -3
- package/dist/amplitudeContext-Bh4SVVse.js +227 -0
- package/dist/amplitudeContext-CjFkl5yr.cjs +243 -0
- package/dist/amplitudeTrackEventAtom-D66l5oFp.js +8 -0
- package/dist/amplitudeTrackEventAtom-f22P2U0u.cjs +15 -0
- package/dist/app-CrmrUsr6.js +514 -0
- package/dist/app-DudAJOe4.cjs +569 -0
- package/dist/application/models/graphql/index.d.ts +1 -1
- package/dist/application/models/guards/api/index.d.ts +2 -2
- package/dist/application/models/guards/utils.d.ts +1 -1
- package/dist/application/models/index.d.cts +1 -1
- package/dist/application/models/index.d.ts +4 -4
- package/dist/application/utils/index.cjs +3 -12
- package/dist/application/utils/index.d.cts +5 -6
- package/dist/application/utils/index.d.ts +8 -9
- package/dist/application/utils/index.js +3 -12
- package/dist/atoms/app/index.cjs +13 -15
- package/dist/atoms/app/index.d.cts +7 -7
- package/dist/atoms/app/index.d.ts +6 -6
- package/dist/atoms/app/index.js +8 -10
- package/dist/atoms/atomStore/index.d.cts +1 -1
- package/dist/atoms/chat/index.cjs +11 -13
- package/dist/atoms/chat/index.d.cts +33 -34
- package/dist/atoms/chat/index.d.ts +34 -35
- package/dist/atoms/chat/index.js +11 -13
- package/dist/atoms/globalSearch/index.cjs +1 -1
- package/dist/atoms/globalSearch/index.d.cts +6 -6
- package/dist/atoms/globalSearch/index.d.ts +1 -1
- package/dist/atoms/globalSearch/index.js +1 -1
- package/dist/atoms/org/index.cjs +2 -2
- package/dist/atoms/org/index.d.cts +16 -16
- package/dist/atoms/org/index.d.ts +1 -1
- package/dist/atoms/org/index.js +2 -2
- package/dist/atoms/search/index.cjs +5 -5
- package/dist/atoms/search/index.d.cts +14 -14
- package/dist/atoms/search/index.d.ts +14 -14
- package/dist/atoms/search/index.js +5 -5
- package/dist/atoms/search/utils.cjs +1 -1
- package/dist/atoms/search/utils.js +1 -1
- package/dist/{cdnContext-KMAzFHrZ.cjs → cdnContext-B9s1XSTE.cjs} +2 -2
- package/dist/{cdnContext-BJZSYlsP.js → cdnContext-BKQT9bPr.js} +2 -2
- package/dist/{chat-yICI8tzz.cjs → chat-B87y65R0.cjs} +4 -5
- package/dist/chat-DfVncvc2.js +226 -0
- package/dist/chatState-AYi1RPOJ.js +33 -0
- package/dist/{chatState-BRYkF2g2.cjs → chatState-COd-Dczh.cjs} +3 -4
- package/dist/config/index.d.cts +4 -4
- package/dist/config/index.d.ts +4 -4
- package/dist/config/locators/components/chat/index.d.cts +1 -1
- package/dist/config/locators/components/chat/index.d.ts +1 -1
- package/dist/config/locators/components/common/index.d.cts +1 -1
- package/dist/config/locators/components/common/index.d.ts +1 -1
- package/dist/config/locators/components/index.d.cts +1 -1
- package/dist/config/locators/components/index.d.ts +1 -1
- package/dist/config/locators/index.d.cts +4 -4
- package/dist/config/locators/index.d.ts +4 -4
- package/dist/contexts/amplitudeContext/index.cjs +13 -12
- package/dist/contexts/amplitudeContext/index.d.cts +11 -2
- package/dist/contexts/amplitudeContext/index.d.ts +11 -2
- package/dist/contexts/amplitudeContext/index.js +12 -10
- package/dist/contexts/cdnContext/index.cjs +2 -2
- package/dist/contexts/cdnContext/index.js +2 -2
- package/dist/contexts/enviveConfigContext/index.cjs +2 -2
- package/dist/contexts/enviveConfigContext/index.js +2 -2
- package/dist/contexts/enviveCssContext/index.cjs +8 -8
- package/dist/contexts/enviveCssContext/index.js +8 -8
- package/dist/contexts/featureFlagContext/index.cjs +3 -3
- package/dist/contexts/featureFlagContext/index.js +3 -3
- package/dist/contexts/featureFlagServiceContext/index.cjs +2 -2
- package/dist/contexts/featureFlagServiceContext/index.d.cts +1 -1
- package/dist/contexts/featureFlagServiceContext/index.d.ts +1 -1
- package/dist/contexts/featureFlagServiceContext/index.js +2 -2
- package/dist/contexts/graphqlContext/index.cjs +2 -2
- package/dist/contexts/graphqlContext/index.d.cts +1 -1
- package/dist/contexts/graphqlContext/index.js +2 -2
- package/dist/contexts/localStorageContext/index.cjs +1 -1
- package/dist/contexts/localStorageContext/index.js +1 -1
- package/dist/contexts/newOrgConfigContext/index.cjs +7 -7
- package/dist/contexts/newOrgConfigContext/index.d.cts +1 -1
- package/dist/contexts/newOrgConfigContext/index.js +7 -7
- package/dist/contexts/searchContext/index.cjs +14 -15
- package/dist/contexts/searchContext/index.js +14 -15
- package/dist/contexts/sessionStorageContext/index.cjs +1 -1
- package/dist/contexts/sessionStorageContext/index.js +1 -1
- package/dist/contexts/shopifyUrlContext/index.cjs +2 -2
- package/dist/contexts/shopifyUrlContext/index.js +2 -2
- package/dist/contexts/systemSettingsContext/index.cjs +2 -2
- package/dist/contexts/systemSettingsContext/index.d.cts +2 -2
- package/dist/contexts/systemSettingsContext/index.d.ts +2 -2
- package/dist/contexts/systemSettingsContext/index.js +2 -2
- package/dist/contexts/userIdentityContext/index.cjs +10 -12
- package/dist/contexts/userIdentityContext/index.js +8 -10
- package/dist/{domObserver-B19-69gW.js → domObserver-CVhsCSkS.js} +1 -1
- package/dist/{domObserver-CwieVNgj.cjs → domObserver-LCBj1xw4.cjs} +1 -1
- package/dist/{enviveConfig-u50Rpz-G.cjs → enviveConfig-D3hmiaPh.cjs} +1 -1
- package/dist/{enviveConfig-Be2kZE7j.js → enviveConfig-DyvNVrxm.js} +1 -1
- package/dist/{enviveConfigContext-kQfHEGdJ.cjs → enviveConfigContext-BADXcRZr.cjs} +2 -2
- package/dist/{enviveConfigContext-1oiQuocd.js → enviveConfigContext-D8ijWYZf.js} +2 -2
- package/dist/{featureFlagServiceContext-B7je7VZV.d.cts → featureFlagServiceContext-ClnlCJV5.d.cts} +1 -1
- package/dist/{featureFlagServiceContext-DiYIv0jI.d.ts → featureFlagServiceContext-CyPGEe2d.d.ts} +1 -1
- package/dist/{featureFlagServiceContext-pPneufeB.cjs → featureFlagServiceContext-DQYo0d6Q.cjs} +1 -1
- package/dist/{featureFlagServiceContext-CPsygiHO.js → featureFlagServiceContext-GIO9xKV0.js} +1 -1
- package/dist/{globalSearch-OiF96VLG.cjs → globalSearch-Cpc8egsM.cjs} +1 -1
- package/dist/{globalSearch-B_v9qfCT.js → globalSearch-nmrfGLOn.js} +1 -1
- package/dist/{graphqlContext-BVFRNIdi.cjs → graphqlContext-BXdtsubh.cjs} +2 -2
- package/dist/{graphqlContext-D_Wp0LEl.js → graphqlContext-i_3n2qoK.js} +2 -2
- package/dist/hooks/AmplitudeOperations/index.cjs +12 -10
- package/dist/hooks/AmplitudeOperations/index.js +12 -10
- package/dist/hooks/AppDetails/index.cjs +11 -13
- package/dist/hooks/AppDetails/index.js +11 -13
- package/dist/hooks/CdnOperations/index.cjs +2 -2
- package/dist/hooks/CdnOperations/index.d.ts +1 -1
- package/dist/hooks/CdnOperations/index.js +2 -2
- package/dist/hooks/ChatToggle/index.cjs +16 -14
- package/dist/hooks/ChatToggle/index.js +15 -13
- package/dist/hooks/ChatToggleAnalytics/index.cjs +14 -12
- package/dist/hooks/ChatToggleAnalytics/index.js +14 -12
- package/dist/hooks/ElementObserver/index.cjs +1 -1
- package/dist/hooks/ElementObserver/index.d.cts +1 -1
- package/dist/hooks/ElementObserver/index.d.ts +1 -1
- package/dist/hooks/ElementObserver/index.js +1 -1
- package/dist/hooks/GrabAndScroll/index.d.cts +2 -2
- package/dist/hooks/GrabAndScroll/index.d.ts +2 -2
- package/dist/hooks/GraphQLConfig/index.cjs +3 -3
- package/dist/hooks/GraphQLConfig/index.js +3 -3
- package/dist/hooks/IdentifyUser/index.cjs +10 -12
- package/dist/hooks/IdentifyUser/index.d.ts +1 -1
- package/dist/hooks/IdentifyUser/index.js +9 -11
- package/dist/hooks/ImageResolver/index.cjs +1 -1
- package/dist/hooks/ImageResolver/index.js +1 -1
- package/dist/hooks/Intersection/index.cjs +1 -1
- package/dist/hooks/Intersection/index.js +1 -1
- package/dist/hooks/LocalStorageOperations/index.cjs +1 -1
- package/dist/hooks/LocalStorageOperations/index.js +1 -1
- package/dist/hooks/NewOrgConfig/index.cjs +8 -8
- package/dist/hooks/NewOrgConfig/index.d.cts +2 -2
- package/dist/hooks/NewOrgConfig/index.d.ts +2 -2
- package/dist/hooks/NewOrgConfig/index.js +8 -8
- package/dist/hooks/Search/index.cjs +19 -17
- package/dist/hooks/Search/index.js +19 -17
- package/dist/hooks/SearchOperations/index.cjs +15 -16
- package/dist/hooks/SearchOperations/index.js +15 -16
- package/dist/hooks/SessionStorageOperations/index.cjs +1 -1
- package/dist/hooks/SessionStorageOperations/index.js +1 -1
- package/dist/hooks/ShopifyUrlOperations/index.cjs +2 -2
- package/dist/hooks/ShopifyUrlOperations/index.js +2 -2
- package/dist/hooks/SystemSettingsContext/index.cjs +2 -2
- package/dist/hooks/SystemSettingsContext/index.d.cts +2 -2
- package/dist/hooks/SystemSettingsContext/index.d.ts +4 -4
- package/dist/hooks/SystemSettingsContext/index.js +2 -2
- package/dist/hooks/TrackComponentVisibleEvent/index.cjs +13 -11
- package/dist/hooks/TrackComponentVisibleEvent/index.js +13 -11
- package/dist/hooks/UpdateAnalyticsProps/index.cjs +15 -13
- package/dist/hooks/UpdateAnalyticsProps/index.js +12 -10
- package/dist/{index-CAhGZxMI.d.ts → index-5li6ZMDu.d.ts} +1 -1
- package/dist/{index-ca7Qn8o0.d.cts → index-BbqT4BQv.d.cts} +1 -1
- package/dist/{index-w64il54a.d.cts → index-CAJq_8bO.d.cts} +1 -1
- package/dist/{index-BQpWG3Jm.d.cts → index-ChiZg0yw.d.cts} +1 -1
- package/dist/{index-DNccxbJi.d.ts → index-CsmO1rDH.d.ts} +1 -1
- package/dist/{index-Dgu085Lu.d.ts → index-CuihhoIF.d.ts} +2 -2
- package/dist/{index-BR1G8yyg.d.ts → index-DtzPIcQp.d.ts} +1 -1
- package/dist/{index-ZQMda2Iu.d.ts → index-bEjLKG_Q.d.ts} +1 -1
- package/dist/{index-DiIHuPq2.d.ts → index-jFQefHda.d.ts} +1 -1
- package/dist/{index-BO-ZLYtR.d.ts → index-mv7KvWDq.d.ts} +1 -1
- package/dist/{index-ClVBVK15.d.cts → index-npqPeJ1g.d.cts} +1 -1
- package/dist/interceptors/index.d.ts +1 -1
- package/dist/{localStorageContext-Bb2b_3ue.cjs → localStorageContext-CMQMTX56.cjs} +1 -1
- package/dist/{localStorageContext-D2uXKahw.js → localStorageContext-znToxGBM.js} +1 -1
- package/dist/{newOrgConfigAtom-Dsk0fJNR.js → newOrgConfigAtom-CKuuohFM.js} +1 -1
- package/dist/{newOrgConfigAtom-hs5A1pbZ.cjs → newOrgConfigAtom-Cy66eryV.cjs} +1 -1
- package/dist/{newOrgConfigContext-Dn9l1f9w.js → newOrgConfigContext-UdjemITl.js} +5 -5
- package/dist/{newOrgConfigContext-DkBvmY0p.cjs → newOrgConfigContext-kCipbRua.cjs} +5 -5
- package/dist/{nodeSelector-0gJ8Xayf.d.ts → nodeSelector-BAKg1h_y.d.ts} +1 -1
- package/dist/{nodeSelector-Cj-Xl1LP.d.cts → nodeSelector-BYEAyrsj.d.cts} +1 -1
- package/dist/org-D_QTp1ex.js +32 -0
- package/dist/org-DnpLYVzD.cjs +111 -0
- package/dist/{search-jNTQGSyl.js → search-CP6Tnjsb.js} +4 -4
- package/dist/{search-D-BGpGJt.cjs → search-JN-IYDIE.cjs} +4 -4
- package/dist/{searchContext-C75BHjlY.cjs → searchContext-BrymLMqU.cjs} +5 -5
- package/dist/{searchContext-DjcqQsxp.js → searchContext-CgXwm6aL.js} +5 -5
- package/dist/{searchServiceAdapter-BSPZOg1r.js → searchServiceAdapter-B0h7psvh.js} +1 -1
- package/dist/{searchServiceAdapter-DrjFCiw8.cjs → searchServiceAdapter-BclWy4fE.cjs} +1 -1
- package/dist/{sessionStorageContext-ByaTsDUC.cjs → sessionStorageContext-BuWrJQwc.cjs} +1 -1
- package/dist/{sessionStorageContext-DKE97oMv.js → sessionStorageContext-DvFHbk81.js} +1 -1
- package/dist/{shopifyUrlContext-Ba6MQdNV.cjs → shopifyUrlContext-COc1eDR_.cjs} +2 -2
- package/dist/{shopifyUrlContext-BI3fVtA5.js → shopifyUrlContext-CToAt_98.js} +2 -2
- package/dist/{systemSettingsContext-DTdzjE_O.js → systemSettingsContext-B8a7vEqE.js} +2 -2
- package/dist/{systemSettingsContext-CSXsgBiG.cjs → systemSettingsContext-D-4ma13L.cjs} +2 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/{urlsParser-C-Vzs--G.cjs → urlsParser-Dax4iVNC.cjs} +1 -1
- package/dist/{urlsParser-G7Ocwg0M.js → urlsParser-NAp2LwWP.js} +1 -1
- package/dist/{useAppDetails-Cq8TbvkX.cjs → useAppDetails-BkTsIODv.cjs} +7 -7
- package/dist/{useAppDetails-DjdYWTqz.js → useAppDetails-HS5GtU5O.js} +4 -4
- package/dist/{useGraphQLConfig-Dy0ml9xw.cjs → useGraphQLConfig-DCd-kR81.cjs} +2 -2
- package/dist/{useGraphQLConfig-nY5CE8kj.js → useGraphQLConfig-arTbYTKS.js} +2 -2
- package/dist/{useIntersection-BQMfiS4x.cjs → useIntersection-BcBCa890.cjs} +1 -1
- package/dist/{useIntersection-D-ol9eH8.js → useIntersection-BkMkuJcZ.js} +1 -1
- package/dist/{utils-sosM0bEk.d.ts → utils-BitIIghf.d.ts} +1 -1
- package/dist/{utils-BBICrPjW.cjs → utils-CqVRbvfN.cjs} +1 -1
- package/dist/utils-CxDOv-yL.js +607 -0
- package/dist/{utils-w4-xONRA.js → utils-DQhbbAnt.js} +1 -1
- package/dist/utils-DucG4gQ7.cjs +716 -0
- package/package.json +2 -2
- package/src/application/commerce-api.ts +2 -0
- package/src/application/utils/analyticsUtils.ts +31 -16
- package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -1
- package/src/atoms/chat/chatState.ts +12 -7
- package/src/atoms/chat/replies.ts +42 -40
- package/src/contexts/amplitudeContext/amplitudeContext.tsx +116 -130
- package/dist/amplitudeContext-CMTvCsJC.d.ts +0 -52
- package/dist/amplitudeContext-ZkerrMUa.d.cts +0 -52
- package/dist/amplitudeTrackEventAtom-BBkB1LPQ.cjs +0 -15
- package/dist/amplitudeTrackEventAtom-yP38BuDB.js +0 -8
- package/dist/chat-DYD6B6em.js +0 -227
- package/dist/chatState-DRKB9bqM.js +0 -34
- package/dist/org-C2kLSSe9.cjs +0 -111
- package/dist/org-CIczyLRP.js +0 -32
- package/dist/utils-DqNhRm2b.cjs +0 -1546
- package/dist/utils-IogJwDB9.js +0 -1364
- /package/dist/{featureFlagServiceContext-DgoR6euC.js → featureFlagServiceContext-CISyb90N.js} +0 -0
- /package/dist/{featureFlagServiceContext-b-rYgf0u.cjs → featureFlagServiceContext-Csgo-MUv.cjs} +0 -0
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import { FeatureFlagContextType as FeatureFlagContextType$1 } from "../../featureFlagServiceContext-
|
|
1
|
+
import { FeatureFlagContextType as FeatureFlagContextType$1 } from "../../featureFlagServiceContext-ClnlCJV5.cjs";
|
|
2
2
|
import { AttachmentRequest, CustServiceConversationMessages } from "@spiffy-ai/commerce-api-client";
|
|
3
3
|
import { ChatState, ColorMapping, FrontendConfig, GraphQlConfigValues, OrgAnalyticsAmplitudeConfig, OrgAnalyticsConfig, OrgAnalyticsCustomerServiceConfig, OrgAnalyticsGoogleAnalyticsConfig } from "@envive-ai/types";
|
|
4
|
-
import * as
|
|
4
|
+
import * as jotai20 from "jotai";
|
|
5
5
|
|
|
6
6
|
//#region src/atoms/org/customerService.d.ts
|
|
7
|
-
declare const isBusinessHoursAtom:
|
|
7
|
+
declare const isBusinessHoursAtom: jotai20.PrimitiveAtom<boolean> & {
|
|
8
8
|
init: boolean;
|
|
9
9
|
};
|
|
10
|
-
declare const isCustomerServiceOpenAtom:
|
|
10
|
+
declare const isCustomerServiceOpenAtom: jotai20.PrimitiveAtom<boolean> & {
|
|
11
11
|
init: boolean;
|
|
12
12
|
};
|
|
13
|
-
declare const customerServiceResponseAtom:
|
|
13
|
+
declare const customerServiceResponseAtom: jotai20.PrimitiveAtom<CustServiceConversationMessages | undefined> & {
|
|
14
14
|
init: CustServiceConversationMessages | undefined;
|
|
15
15
|
};
|
|
16
|
-
declare const customerServiceChatStateAtom:
|
|
16
|
+
declare const customerServiceChatStateAtom: jotai20.PrimitiveAtom<ChatState | undefined> & {
|
|
17
17
|
init: ChatState | undefined;
|
|
18
18
|
};
|
|
19
|
-
declare const customerServiceAttachment:
|
|
19
|
+
declare const customerServiceAttachment: jotai20.PrimitiveAtom<AttachmentRequest | undefined> & {
|
|
20
20
|
init: AttachmentRequest | undefined;
|
|
21
21
|
};
|
|
22
22
|
//#endregion
|
|
23
23
|
//#region src/atoms/org/graphqlConfig.d.ts
|
|
24
|
-
declare const internalGraphQLColorsConfigAtom:
|
|
24
|
+
declare const internalGraphQLColorsConfigAtom: jotai20.PrimitiveAtom<ColorMapping | undefined> & {
|
|
25
25
|
init: ColorMapping | undefined;
|
|
26
26
|
};
|
|
27
|
-
declare const orgIdAtom:
|
|
27
|
+
declare const orgIdAtom: jotai20.PrimitiveAtom<string | undefined> & {
|
|
28
28
|
init: string | undefined;
|
|
29
29
|
};
|
|
30
|
-
declare const featureFlagServiceAtom:
|
|
30
|
+
declare const featureFlagServiceAtom: jotai20.PrimitiveAtom<FeatureFlagContextType$1 | undefined> & {
|
|
31
31
|
init: FeatureFlagContextType$1 | undefined;
|
|
32
32
|
};
|
|
33
|
-
declare const frontendConfigAtom:
|
|
33
|
+
declare const frontendConfigAtom: jotai20.WritableAtom<FrontendConfig | undefined, [value: FrontendConfig | undefined], void>;
|
|
34
34
|
//#endregion
|
|
35
35
|
//#region src/atoms/org/orgAnalyticsConfig.d.ts
|
|
36
|
-
declare const orgAnalyticsConfigAtom:
|
|
37
|
-
declare const orgAnalyticsAmplitudeConfigAtom:
|
|
38
|
-
declare const orgAnalyticsCustomerServiceConfigAtom:
|
|
39
|
-
declare const orgAnalyticsGoogleAnalyticsConfigAtom:
|
|
36
|
+
declare const orgAnalyticsConfigAtom: jotai20.WritableAtom<OrgAnalyticsConfig | undefined, [value: OrgAnalyticsConfig], void>;
|
|
37
|
+
declare const orgAnalyticsAmplitudeConfigAtom: jotai20.Atom<OrgAnalyticsAmplitudeConfig | undefined>;
|
|
38
|
+
declare const orgAnalyticsCustomerServiceConfigAtom: jotai20.Atom<OrgAnalyticsCustomerServiceConfig | undefined>;
|
|
39
|
+
declare const orgAnalyticsGoogleAnalyticsConfigAtom: jotai20.Atom<OrgAnalyticsGoogleAnalyticsConfig | undefined>;
|
|
40
40
|
//#endregion
|
|
41
41
|
//#region src/atoms/org/newOrgConfigAtom.d.ts
|
|
42
|
-
declare const newOrgConfigAtom:
|
|
42
|
+
declare const newOrgConfigAtom: jotai20.PrimitiveAtom<GraphQlConfigValues | null> & {
|
|
43
43
|
init: GraphQlConfigValues | null;
|
|
44
44
|
};
|
|
45
45
|
//#endregion
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { FeatureFlagContextType as FeatureFlagContextType$1 } from "../../featureFlagServiceContext-
|
|
1
|
+
import { FeatureFlagContextType as FeatureFlagContextType$1 } from "../../featureFlagServiceContext-CyPGEe2d.js";
|
|
2
2
|
import { AttachmentRequest, CustServiceConversationMessages } from "@spiffy-ai/commerce-api-client";
|
|
3
3
|
import * as jotai8 from "jotai";
|
|
4
4
|
import { ChatState, ColorMapping, FrontendConfig, GraphQlConfigValues, OrgAnalyticsAmplitudeConfig, OrgAnalyticsConfig, OrgAnalyticsCustomerServiceConfig, OrgAnalyticsGoogleAnalyticsConfig } from "@envive-ai/types";
|
package/dist/atoms/org/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { customerServiceAttachment, customerServiceChatStateAtom, customerServiceResponseAtom, featureFlagServiceAtom, frontendConfigAtom, internalGraphQLColorsConfigAtom, isBusinessHoursAtom, isCustomerServiceOpenAtom, orgAnalyticsAmplitudeConfigAtom, orgAnalyticsConfigAtom, orgAnalyticsCustomerServiceConfigAtom, orgAnalyticsGoogleAnalyticsConfigAtom, orgIdAtom } from "../../org-
|
|
2
|
-
import { newOrgConfigAtom } from "../../newOrgConfigAtom-
|
|
1
|
+
import { customerServiceAttachment, customerServiceChatStateAtom, customerServiceResponseAtom, featureFlagServiceAtom, frontendConfigAtom, internalGraphQLColorsConfigAtom, isBusinessHoursAtom, isCustomerServiceOpenAtom, orgAnalyticsAmplitudeConfigAtom, orgAnalyticsConfigAtom, orgAnalyticsCustomerServiceConfigAtom, orgAnalyticsGoogleAnalyticsConfigAtom, orgIdAtom } from "../../org-D_QTp1ex.js";
|
|
2
|
+
import { newOrgConfigAtom } from "../../newOrgConfigAtom-CKuuohFM.js";
|
|
3
3
|
|
|
4
4
|
export { customerServiceAttachment, customerServiceChatStateAtom, customerServiceResponseAtom, featureFlagServiceAtom, frontendConfigAtom, internalGraphQLColorsConfigAtom, isBusinessHoursAtom, isCustomerServiceOpenAtom, newOrgConfigAtom, orgAnalyticsAmplitudeConfigAtom, orgAnalyticsConfigAtom, orgAnalyticsCustomerServiceConfigAtom, orgAnalyticsGoogleAnalyticsConfigAtom, orgIdAtom };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
require('../../dist-B7BErEyV.cjs');
|
|
2
|
-
require('../../org-
|
|
3
|
-
require('../../newOrgConfigAtom-
|
|
4
|
-
require('../../utils-
|
|
5
|
-
const require_search = require('../../search-
|
|
6
|
-
require('../../searchServiceAdapter-
|
|
2
|
+
require('../../org-DnpLYVzD.cjs');
|
|
3
|
+
require('../../newOrgConfigAtom-Cy66eryV.cjs');
|
|
4
|
+
require('../../utils-CqVRbvfN.cjs');
|
|
5
|
+
const require_search = require('../../search-JN-IYDIE.cjs');
|
|
6
|
+
require('../../searchServiceAdapter-BclWy4fE.cjs');
|
|
7
7
|
|
|
8
8
|
exports.addSearchFilterAtom = require_search.addSearchFilterAtom;
|
|
9
9
|
exports.clearSearchFiltersAtom = require_search.clearSearchFiltersAtom;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _envive_ai_types3 from "@envive-ai/types";
|
|
2
2
|
import { ProductSorting, SearchParams, SearchResult } from "@envive-ai/types";
|
|
3
|
-
import * as
|
|
3
|
+
import * as jotai45 from "jotai";
|
|
4
4
|
|
|
5
5
|
//#region src/atoms/search/searchAPI.d.ts
|
|
6
6
|
type SelectedFilterOption = {
|
|
@@ -15,28 +15,28 @@ interface SearchState {
|
|
|
15
15
|
error: string | null;
|
|
16
16
|
lastQuery: string | null;
|
|
17
17
|
}
|
|
18
|
-
declare const searchAtom:
|
|
18
|
+
declare const searchAtom: jotai45.PrimitiveAtom<SearchState> & {
|
|
19
19
|
init: SearchState;
|
|
20
20
|
};
|
|
21
|
-
declare const searchProductSortingAtom:
|
|
21
|
+
declare const searchProductSortingAtom: jotai45.PrimitiveAtom<ProductSorting> & {
|
|
22
22
|
init: ProductSorting;
|
|
23
23
|
};
|
|
24
|
-
declare const searchSelectedFiltersAtom:
|
|
24
|
+
declare const searchSelectedFiltersAtom: jotai45.PrimitiveAtom<SelectedFilterOption[]> & {
|
|
25
25
|
init: SelectedFilterOption[];
|
|
26
26
|
};
|
|
27
27
|
declare const createFilterOption: (filterId: string, filterItemId: string, displayName: string) => SelectedFilterOption;
|
|
28
|
-
declare const searchParamsAtom:
|
|
28
|
+
declare const searchParamsAtom: jotai45.WritableAtom<{
|
|
29
29
|
id: string | null;
|
|
30
30
|
query: string | null;
|
|
31
31
|
}, [value: {
|
|
32
32
|
id: string | null;
|
|
33
33
|
query: string | null;
|
|
34
34
|
}], void>;
|
|
35
|
-
declare const internalSearchSystemStateAtom:
|
|
35
|
+
declare const internalSearchSystemStateAtom: jotai45.PrimitiveAtom<boolean> & {
|
|
36
36
|
init: boolean;
|
|
37
37
|
};
|
|
38
|
-
declare const searchSystemAtom:
|
|
39
|
-
declare const filteredSearchProductsAtom:
|
|
38
|
+
declare const searchSystemAtom: jotai45.WritableAtom<boolean, [value: boolean], void>;
|
|
39
|
+
declare const filteredSearchProductsAtom: jotai45.Atom<{
|
|
40
40
|
averageRating?: number | undefined;
|
|
41
41
|
colors?: string[] | undefined;
|
|
42
42
|
description?: string | undefined;
|
|
@@ -58,17 +58,17 @@ declare const filteredSearchProductsAtom: jotai58.Atom<{
|
|
|
58
58
|
title: string;
|
|
59
59
|
url: string;
|
|
60
60
|
}[]>;
|
|
61
|
-
declare const searchFiltersAtom:
|
|
62
|
-
declare const addSearchFilterAtom:
|
|
61
|
+
declare const searchFiltersAtom: jotai45.Atom<_envive_ai_types3.ChatSearchFilter[]>;
|
|
62
|
+
declare const addSearchFilterAtom: jotai45.WritableAtom<null, [filter: SelectedFilterOption], void> & {
|
|
63
63
|
init: null;
|
|
64
64
|
};
|
|
65
|
-
declare const removeSearchFilterAtom:
|
|
65
|
+
declare const removeSearchFilterAtom: jotai45.WritableAtom<null, [filterId: string], void> & {
|
|
66
66
|
init: null;
|
|
67
67
|
};
|
|
68
|
-
declare const clearSearchFiltersAtom:
|
|
68
|
+
declare const clearSearchFiltersAtom: jotai45.WritableAtom<null, [], void> & {
|
|
69
69
|
init: null;
|
|
70
70
|
};
|
|
71
|
-
declare const performSearchAtom:
|
|
71
|
+
declare const performSearchAtom: jotai45.WritableAtom<null, [params: SearchParams, allowRedirect?: unknown], Promise<void>> & {
|
|
72
72
|
init: null;
|
|
73
73
|
};
|
|
74
74
|
//#endregion
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import * as
|
|
1
|
+
import * as jotai23 from "jotai";
|
|
2
|
+
import * as _envive_ai_types6 from "@envive-ai/types";
|
|
3
3
|
import { ProductSorting, SearchParams, SearchResult } from "@envive-ai/types";
|
|
4
4
|
|
|
5
5
|
//#region src/atoms/search/searchAPI.d.ts
|
|
@@ -15,28 +15,28 @@ interface SearchState {
|
|
|
15
15
|
error: string | null;
|
|
16
16
|
lastQuery: string | null;
|
|
17
17
|
}
|
|
18
|
-
declare const searchAtom:
|
|
18
|
+
declare const searchAtom: jotai23.PrimitiveAtom<SearchState> & {
|
|
19
19
|
init: SearchState;
|
|
20
20
|
};
|
|
21
|
-
declare const searchProductSortingAtom:
|
|
21
|
+
declare const searchProductSortingAtom: jotai23.PrimitiveAtom<ProductSorting> & {
|
|
22
22
|
init: ProductSorting;
|
|
23
23
|
};
|
|
24
|
-
declare const searchSelectedFiltersAtom:
|
|
24
|
+
declare const searchSelectedFiltersAtom: jotai23.PrimitiveAtom<SelectedFilterOption[]> & {
|
|
25
25
|
init: SelectedFilterOption[];
|
|
26
26
|
};
|
|
27
27
|
declare const createFilterOption: (filterId: string, filterItemId: string, displayName: string) => SelectedFilterOption;
|
|
28
|
-
declare const searchParamsAtom:
|
|
28
|
+
declare const searchParamsAtom: jotai23.WritableAtom<{
|
|
29
29
|
id: string | null;
|
|
30
30
|
query: string | null;
|
|
31
31
|
}, [value: {
|
|
32
32
|
id: string | null;
|
|
33
33
|
query: string | null;
|
|
34
34
|
}], void>;
|
|
35
|
-
declare const internalSearchSystemStateAtom:
|
|
35
|
+
declare const internalSearchSystemStateAtom: jotai23.PrimitiveAtom<boolean> & {
|
|
36
36
|
init: boolean;
|
|
37
37
|
};
|
|
38
|
-
declare const searchSystemAtom:
|
|
39
|
-
declare const filteredSearchProductsAtom:
|
|
38
|
+
declare const searchSystemAtom: jotai23.WritableAtom<boolean, [value: boolean], void>;
|
|
39
|
+
declare const filteredSearchProductsAtom: jotai23.Atom<{
|
|
40
40
|
averageRating?: number | undefined;
|
|
41
41
|
colors?: string[] | undefined;
|
|
42
42
|
description?: string | undefined;
|
|
@@ -58,17 +58,17 @@ declare const filteredSearchProductsAtom: jotai58.Atom<{
|
|
|
58
58
|
title: string;
|
|
59
59
|
url: string;
|
|
60
60
|
}[]>;
|
|
61
|
-
declare const searchFiltersAtom:
|
|
62
|
-
declare const addSearchFilterAtom:
|
|
61
|
+
declare const searchFiltersAtom: jotai23.Atom<_envive_ai_types6.ChatSearchFilter[]>;
|
|
62
|
+
declare const addSearchFilterAtom: jotai23.WritableAtom<null, [filter: SelectedFilterOption], void> & {
|
|
63
63
|
init: null;
|
|
64
64
|
};
|
|
65
|
-
declare const removeSearchFilterAtom:
|
|
65
|
+
declare const removeSearchFilterAtom: jotai23.WritableAtom<null, [filterId: string], void> & {
|
|
66
66
|
init: null;
|
|
67
67
|
};
|
|
68
|
-
declare const clearSearchFiltersAtom:
|
|
68
|
+
declare const clearSearchFiltersAtom: jotai23.WritableAtom<null, [], void> & {
|
|
69
69
|
init: null;
|
|
70
70
|
};
|
|
71
|
-
declare const performSearchAtom:
|
|
71
|
+
declare const performSearchAtom: jotai23.WritableAtom<null, [params: SearchParams, allowRedirect?: unknown], Promise<void>> & {
|
|
72
72
|
init: null;
|
|
73
73
|
};
|
|
74
74
|
//#endregion
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import "../../dist-CtkINi1R.js";
|
|
2
|
-
import "../../org-
|
|
3
|
-
import "../../newOrgConfigAtom-
|
|
4
|
-
import "../../utils-
|
|
5
|
-
import { addSearchFilterAtom, clearSearchFiltersAtom, createFilterOption, filteredSearchProductsAtom, internalSearchSystemStateAtom, performSearchAtom, removeSearchFilterAtom, searchAtom, searchFiltersAtom, searchParamsAtom, searchProductSortingAtom, searchSelectedFiltersAtom, searchSystemAtom } from "../../search-
|
|
6
|
-
import "../../searchServiceAdapter-
|
|
2
|
+
import "../../org-D_QTp1ex.js";
|
|
3
|
+
import "../../newOrgConfigAtom-CKuuohFM.js";
|
|
4
|
+
import "../../utils-DQhbbAnt.js";
|
|
5
|
+
import { addSearchFilterAtom, clearSearchFiltersAtom, createFilterOption, filteredSearchProductsAtom, internalSearchSystemStateAtom, performSearchAtom, removeSearchFilterAtom, searchAtom, searchFiltersAtom, searchParamsAtom, searchProductSortingAtom, searchSelectedFiltersAtom, searchSystemAtom } from "../../search-CP6Tnjsb.js";
|
|
6
|
+
import "../../searchServiceAdapter-B0h7psvh.js";
|
|
7
7
|
|
|
8
8
|
export { addSearchFilterAtom, clearSearchFiltersAtom, createFilterOption, filteredSearchProductsAtom, internalSearchSystemStateAtom, performSearchAtom, removeSearchFilterAtom, searchAtom, searchFiltersAtom, searchParamsAtom, searchProductSortingAtom, searchSelectedFiltersAtom, searchSystemAtom };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-CUT6urMc.cjs');
|
|
2
|
-
const require_enviveConfig = require('./enviveConfig-
|
|
2
|
+
const require_enviveConfig = require('./enviveConfig-D3hmiaPh.cjs');
|
|
3
3
|
let react = require("react");
|
|
4
4
|
react = require_chunk.__toESM(react);
|
|
5
5
|
let jotai = require("jotai");
|
|
@@ -50,4 +50,4 @@ Object.defineProperty(exports, 'useCdn', {
|
|
|
50
50
|
return useCdn;
|
|
51
51
|
}
|
|
52
52
|
});
|
|
53
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RuQ29udGV4dC1COXMxWFNURS5janMiLCJuYW1lcyI6WyJDZG5Qcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0+IiwiY2RuVXJsQXRvbSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0cy9jZG5Db250ZXh0L2NkbkNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUF0b21WYWx1ZSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7IGNkblVybEF0b20gfSBmcm9tICcuLi8uLi9hdG9tcy9lbnZpdmUvZW52aXZlQ29uZmlnJztcbmltcG9ydCB7IENkbkNvbnRleHRUeXBlIH0gZnJvbSAnQGVudml2ZS1haS90eXBlcyc7XG5cbmNvbnN0IENkbkNvbnRleHQgPSBjcmVhdGVDb250ZXh0PENkbkNvbnRleHRUeXBlIHwgbnVsbD4obnVsbCk7XG5cbmV4cG9ydCBjb25zdCBDZG5Qcm92aWRlcjogUmVhY3QuRkM8eyBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlIH0+ID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICBjb25zdCBjZG5VcmxBdG9tVmFsdWUgPSB1c2VBdG9tVmFsdWUoY2RuVXJsQXRvbSk7XG4gIGNvbnN0IGNkblVybCA9IGNkblVybEF0b21WYWx1ZSB8fCAnaHR0cHM6Ly9jZG4uc3BpZmZ5LmFpL290aGVyJztcblxuICBjb25zdCBnZXRDZG5CYXNlUGF0aCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICByZXR1cm4gY2RuVXJsO1xuICB9LCBbY2RuVXJsXSk7XG5cbiAgY29uc3QgZ2V0QXNzZXRVUkwgPSB1c2VDYWxsYmFjayhcbiAgICAoYXNzZXROYW1lOiBzdHJpbmcsIG9yZ1Nob3J0TmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gYCR7Z2V0Q2RuQmFzZVBhdGgoKX0vYXNzZXRzLyR7b3JnU2hvcnROYW1lfS8ke2Fzc2V0TmFtZX1gO1xuICAgIH0sXG4gICAgW2dldENkbkJhc2VQYXRoXSxcbiAgKTtcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGNkblVybCxcbiAgICAgIGdldENkbkJhc2VQYXRoLFxuICAgICAgZ2V0QXNzZXRVUkwsXG4gICAgfSksXG4gICAgW2NkblVybCwgZ2V0Q2RuQmFzZVBhdGgsIGdldEFzc2V0VVJMXSxcbiAgKTtcblxuICByZXR1cm4gPENkbkNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9DZG5Db250ZXh0LlByb3ZpZGVyPjtcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VDZG4gPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KENkbkNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZUNkbiBtdXN0IGJlIHVzZWQgd2l0aGluIGEgQ2RuUHJvdmlkZXInKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFLQSxNQUFNLHNDQUFrRCxLQUFLO0FBRTdELE1BQWFBLGVBQXdELEVBQUUsZUFBZTtDQUVwRixNQUFNLGlDQUQrQkMsZ0NBQVcsSUFDZDtDQUVsQyxNQUFNLDhDQUFtQztBQUN2QyxTQUFPO0lBQ04sQ0FBQyxPQUFPLENBQUM7Q0FFWixNQUFNLHNDQUNILFdBQW1CLGlCQUF5QjtBQUMzQyxTQUFPLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxhQUFhLEdBQUc7SUFFdkQsQ0FBQyxlQUFlLENBQ2pCO0NBRUQsTUFBTSxrQ0FDRztFQUNMO0VBQ0E7RUFDQTtFQUNELEdBQ0Q7RUFBQztFQUFRO0VBQWdCO0VBQVksQ0FDdEM7QUFFRCxRQUFPLDJDQUFDLFdBQVc7RUFBZ0I7RUFBUTtHQUErQjs7QUFHNUUsTUFBYSxlQUFlO0NBQzFCLE1BQU0sZ0NBQXFCLFdBQVc7QUFDdEMsS0FBSSxDQUFDLFFBQ0gsT0FBTSxJQUFJLE1BQU0sMkNBQTJDO0FBRTdELFFBQU8ifQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { cdnUrlAtom } from "./enviveConfig-
|
|
1
|
+
import { cdnUrlAtom } from "./enviveConfig-DyvNVrxm.js";
|
|
2
2
|
import React, { createContext, useCallback, useContext, useMemo } from "react";
|
|
3
3
|
import { useAtomValue } from "jotai";
|
|
4
4
|
import { jsx } from "react/jsx-runtime";
|
|
@@ -35,4 +35,4 @@ const useCdn = () => {
|
|
|
35
35
|
|
|
36
36
|
//#endregion
|
|
37
37
|
export { CdnProvider, useCdn };
|
|
38
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RuQ29udGV4dC1CS1FUOWJQci5qcyIsIm5hbWVzIjpbIkNkblByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4iXSwic291cmNlcyI6WyIuLi9zcmMvY29udGV4dHMvY2RuQ29udGV4dC9jZG5Db250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB1c2VBdG9tVmFsdWUgfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBjZG5VcmxBdG9tIH0gZnJvbSAnLi4vLi4vYXRvbXMvZW52aXZlL2Vudml2ZUNvbmZpZyc7XG5pbXBvcnQgeyBDZG5Db250ZXh0VHlwZSB9IGZyb20gJ0BlbnZpdmUtYWkvdHlwZXMnO1xuXG5jb25zdCBDZG5Db250ZXh0ID0gY3JlYXRlQ29udGV4dDxDZG5Db250ZXh0VHlwZSB8IG51bGw+KG51bGwpO1xuXG5leHBvcnQgY29uc3QgQ2RuUHJvdmlkZXI6IFJlYWN0LkZDPHsgY2hpbGRyZW46IFJlYWN0LlJlYWN0Tm9kZSB9PiA9ICh7IGNoaWxkcmVuIH0pID0+IHtcbiAgY29uc3QgY2RuVXJsQXRvbVZhbHVlID0gdXNlQXRvbVZhbHVlKGNkblVybEF0b20pO1xuICBjb25zdCBjZG5VcmwgPSBjZG5VcmxBdG9tVmFsdWUgfHwgJ2h0dHBzOi8vY2RuLnNwaWZmeS5haS9vdGhlcic7XG5cbiAgY29uc3QgZ2V0Q2RuQmFzZVBhdGggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgcmV0dXJuIGNkblVybDtcbiAgfSwgW2NkblVybF0pO1xuXG4gIGNvbnN0IGdldEFzc2V0VVJMID0gdXNlQ2FsbGJhY2soXG4gICAgKGFzc2V0TmFtZTogc3RyaW5nLCBvcmdTaG9ydE5hbWU6IHN0cmluZykgPT4ge1xuICAgICAgcmV0dXJuIGAke2dldENkbkJhc2VQYXRoKCl9L2Fzc2V0cy8ke29yZ1Nob3J0TmFtZX0vJHthc3NldE5hbWV9YDtcbiAgICB9LFxuICAgIFtnZXRDZG5CYXNlUGF0aF0sXG4gICk7XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBjZG5VcmwsXG4gICAgICBnZXRDZG5CYXNlUGF0aCxcbiAgICAgIGdldEFzc2V0VVJMLFxuICAgIH0pLFxuICAgIFtjZG5VcmwsIGdldENkbkJhc2VQYXRoLCBnZXRBc3NldFVSTF0sXG4gICk7XG5cbiAgcmV0dXJuIDxDZG5Db250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+e2NoaWxkcmVufTwvQ2RuQ29udGV4dC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgY29uc3QgdXNlQ2RuID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChDZG5Db250ZXh0KTtcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1c2VDZG4gbXVzdCBiZSB1c2VkIHdpdGhpbiBhIENkblByb3ZpZGVyJyk7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFLQSxNQUFNLGFBQWEsY0FBcUMsS0FBSztBQUU3RCxNQUFhQSxlQUF3RCxFQUFFLGVBQWU7Q0FFcEYsTUFBTSxTQURrQixhQUFhLFdBQVcsSUFDZDtDQUVsQyxNQUFNLGlCQUFpQixrQkFBa0I7QUFDdkMsU0FBTztJQUNOLENBQUMsT0FBTyxDQUFDO0NBRVosTUFBTSxjQUFjLGFBQ2pCLFdBQW1CLGlCQUF5QjtBQUMzQyxTQUFPLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxhQUFhLEdBQUc7SUFFdkQsQ0FBQyxlQUFlLENBQ2pCO0NBRUQsTUFBTSxRQUFRLGVBQ0w7RUFDTDtFQUNBO0VBQ0E7RUFDRCxHQUNEO0VBQUM7RUFBUTtFQUFnQjtFQUFZLENBQ3RDO0FBRUQsUUFBTyxvQkFBQyxXQUFXO0VBQWdCO0VBQVE7R0FBK0I7O0FBRzVFLE1BQWEsZUFBZTtDQUMxQixNQUFNLFVBQVUsV0FBVyxXQUFXO0FBQ3RDLEtBQUksQ0FBQyxRQUNILE9BQU0sSUFBSSxNQUFNLDJDQUEyQztBQUU3RCxRQUFPIn0=
|
|
@@ -3,9 +3,8 @@ const require_dist = require('./dist-B7BErEyV.cjs');
|
|
|
3
3
|
const require_types = require('./types-1iJ_FnQQ.cjs');
|
|
4
4
|
const require_logger = require('./logger-BqHq67zN.cjs');
|
|
5
5
|
const require_atomStore = require('./atomStore-CZKe3itM.cjs');
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const require_amplitudeTrackEventAtom = require('./amplitudeTrackEventAtom-BBkB1LPQ.cjs');
|
|
6
|
+
const require_chatState = require('./chatState-COd-Dczh.cjs');
|
|
7
|
+
const require_amplitudeTrackEventAtom = require('./amplitudeTrackEventAtom-f22P2U0u.cjs');
|
|
9
8
|
let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
|
|
10
9
|
__spiffy_ai_commerce_api_client = require_chunk.__toESM(__spiffy_ai_commerce_api_client);
|
|
11
10
|
let uuid = require("uuid");
|
|
@@ -64,7 +63,7 @@ const handleReplyAtom = (0, jotai.atom)(null, (get, set, { message, userTyped })
|
|
|
64
63
|
attributes: { query: queryTyped }
|
|
65
64
|
});
|
|
66
65
|
if (trackEvent) trackEvent({
|
|
67
|
-
eventName:
|
|
66
|
+
eventName: require_dist.SpiffyMetricsEventName.ChatUserMessageInput,
|
|
68
67
|
eventProps: {
|
|
69
68
|
message_id: message.id,
|
|
70
69
|
message_role: message.role,
|
|
@@ -324,4 +323,4 @@ Object.defineProperty(exports, 'widgetArrayAtom', {
|
|
|
324
323
|
return widgetArrayAtom;
|
|
325
324
|
}
|
|
326
325
|
});
|
|
327
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC15SUNJOHR6ei5janMiLCJuYW1lcyI6WyJNZXNzYWdlVHlwZSIsImFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tIiwicmVwbHlFdmVudENhdGVnb3J5QXRvbSIsIlVzZXJFdmVudENhdGVnb3J5IiwidXNlclF1ZXJ5QXRvbSIsIm1lc3NhZ2VzQXRvbSIsInVzZXJIYXNSZXBsaWVkQXRvbSIsIlNwaWZmeU1ldHJpY3NFdmVudE5hbWUiLCJzZXNzaW9uU3RvcmFnZVV0aWwiLCJnZXRBdG9tU3RvcmUiLCJyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tIiwiVXNlckV2ZW50Q2F0ZWdvcnkiLCJmb3JtU3VibWl0QXRvbSIsIm5ld01lc3NhZ2U6IE1lc3NhZ2UiLCJNZXNzYWdlUm9sZSIsIk1lc3NhZ2VUeXBlIiwicmVwbHlFdmVudENhdGVnb3J5QXRvbSIsIlVzZXJFdmVudENhdGVnb3J5Iiwic3VnZ2VzdGlvbkF0b20iLCJtZXNzYWdlc0F0b20iLCJ1c2VySGFzUmVwbGllZEF0b20iLCJtZXNzYWdlc0F0b20iLCJ1c2VySGFzUmVwbGllZEF0b20iLCJnZXRBdG9tU3RvcmUiLCJ1c2VySGFzUmVwbGllZEF0b20iLCJyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tIiwidXNlclF1ZXJ5QXRvbSIsInN1Z2dlc3Rpb25BdG9tIiwiYXNrUXVlc3Rpb25CdG5DbGlja2VkQXRvbSIsIm1lc3NhZ2VzQXRvbSIsInVzZXJFdmVudHNBdG9tIiwic3VnZ2VzdGlvbnNBdG9tIiwic3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSIsInJlc3BvbnNlU3RyZWFtaW5nQXRvbSIsImNoYXRJc09wZW5BdG9tIiwiY2hhdE9uVG9nZ2xlQXRvbSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZS50cyIsIi4uL3NyYy9hdG9tcy9jaGF0L3JlcGxpZXMudHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9wZXJmb3JtYW5jZU1ldHJpY3MudHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9mb3JtLnRzIiwiLi4vc3JjL2F0b21zL2NoYXQvc3VnZ2VzdGlvbnMudHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9sYXN0TWVzc2FnZS50cyIsIi4uL3NyYy9hdG9tcy9jaGF0L3JlbmRlcmVkV2lkZ2V0UmVmcy50cyIsIi4uL3NyYy9hdG9tcy9jaGF0L2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBHZW5lcmF0aW9uUGFyYW1zLCBOZXh0TWVzc2FnZVJlcXVlc3QsIFVzZXJFdmVudCB9IGZyb20gJ0BlbnZpdmUtYWkvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0QXRvbVN0b3JlIH0gZnJvbSAnc3JjL2F0b21zL2F0b21TdG9yZS9hdG9tU3RvcmUnO1xuaW1wb3J0IHsgdXNlcklkQXRvbSwgY2hhdElkQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAnO1xuaW1wb3J0IHsgb3JnU2hvcnROYW1lQXRvbSwgY29udGV4dFNvdXJjZUF0b20sIGVudkF0b20gfSBmcm9tICdzcmMvYXRvbXMvZW52aXZlL2Vudml2ZUNvbmZpZyc7XG5pbXBvcnQgeyBvcmdJZEF0b20sIGZlYXR1cmVGbGFnU2VydmljZUF0b20gfSBmcm9tICdzcmMvYXRvbXMvb3JnL2dyYXBocWxDb25maWcnO1xuXG5jb25zdCBpbnRlcm5hbFVzZXJFdmVudFF1ZXVlQXRvbSA9IGF0b208VXNlckV2ZW50W10+KFtdKTtcblxuZXhwb3J0IGNvbnN0IHVzZXJFdmVudFF1ZXVlQXRvbSA9IGF0b20oKGdldCkgPT4ge1xuICBjb25zdCBxdWV1ZSA9IGdldChpbnRlcm5hbFVzZXJFdmVudFF1ZXVlQXRvbSk7XG4gIHJldHVybiBxdWV1ZSA9PT0gdW5kZWZpbmVkID8gW10gOiBxdWV1ZS5maWx0ZXIoKHYpID0+IHYgIT09IHVuZGVmaW5lZCk7XG59KTtcblxuLyoqXG4gKiBUaGlzIGF0b20gaXMgdXNlZCB0byBxdWV1ZSBhIG5ldyBtZXNzYWdlIGZvciBwcm9jZXNzaW5nIG9uIGBuZXh0X3Jlc3BvbnNlc2BcbiAqIEl0IHJlY2VpdmVzIGEgc2luZ2xlIGB1c2VyRXZlbnRgIHRoYXQgaXMgYWRkZWQgdG8gdGhlIHByb2Nlc3NpbmcgcXVldWUuXG4gKiBJZiB0aGUgZXZlbnQgaGFzIHRoZSBzYW1lIGV2ZW50SWQgYXMgYW4gZXhpc3RpbmcgbWVzc2FnZSBpbiB0aGUgcXVldWUgdGhlIE5FV1xuICogZXZlbnQgaXMgaWdub3JlZFxuICovXG5leHBvcnQgY29uc3QgcXVldWVVc2VyRXZlbnRBdG9tID0gYXRvbShudWxsLCAoZ2V0LCBzZXQsIHVzZXJFdmVudDogVXNlckV2ZW50KSA9PiB7XG4gIGlmICh1c2VyRXZlbnQgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuICBzZXQoaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20sIFsuLi5nZXQoaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20pLCB1c2VyRXZlbnRdKTtcbn0pO1xuXG4vKipcbiAqIFRoaXMgYXRvbSBleHBvc2VzIGEgZnVuY3Rpb24gdG8gcmVzZXQgdGhlIGVudGlyZSBxdWV1ZS4gQWxsIG1lc3NhZ2VzIGluIHRoZSBxdWV1ZSB3aWxsIGJlIHB1cmdlZFxuICovXG5leHBvcnQgY29uc3QgY2xlYXJVc2VyRXZlbnRBdG9tID0gYXRvbShudWxsLCAoXywgc2V0KSA9PiB7XG4gIHNldChpbnRlcm5hbFVzZXJFdmVudFF1ZXVlQXRvbSwgW10pO1xufSk7XG5cbi8qKlxuICogVGhpcyBhdG9tIGlzIHVzZWQgdG8gbWFyayBldmVudHMgYXMgcHJvY2Vzc2VkIGFuZCByZW1vdmUgdGhlbSBmcm9tIHRoZSBxdWV1ZVxuICogSXQgYWNjZXB0cyBhIGxpc3Qgb2YgZXZlbnRJZCB2YWx1ZXMgYW5kIHdpbGwgcmVtb3ZlIGFsbCBldmVudHMgd2l0aCB0aG9zZSBldmVudElkcyBmcm9tIHRoZSBxdWV1ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHByb2Nlc3NVc2VyRXZlbnRBdG9tID0gYXRvbShudWxsLCAoZ2V0LCBzZXQsIGV2ZW50SWRzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBjdXJyID0gZ2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tKTtcbiAgY29uc3QgcmVtYWluaW5nID0gY3Vycj8uZmlsdGVyKChldmVudCkgPT4gIWV2ZW50SWRzLmluY2x1ZGVzKGV2ZW50LmV2ZW50SWQpKTtcbiAgc2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tLCByZW1haW5pbmcpO1xufSk7XG5cbmV4cG9ydCBjb25zdCB1c2VyUXVldWVFdmVudENvdW50QXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KHVzZXJFdmVudFF1ZXVlQXRvbSkubGVuZ3RoKTtcblxuaW1wb3J0IHsgQ29udGV4dFNvdXJjZUVudW0sIENvbnRleHRFbnZFbnVtIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JzsgLy8gSW1wb3J0IG5lY2Vzc2FyeSBlbnVtc1xuLy8gaW1wb3J0IHR5cGUgeyBDb250ZXh0IH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudC9kaXN0L21vZGVscy9Db250ZXh0XCI7IC8vIEltcG9ydCBDb250ZXh0IHR5cGVcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVJlc3BvbnNlUGF5bG9hZCA9ICh7XG4gIHVzZXJFdmVudHMsXG4gIGdlbmVyYXRpb25QYXJhbXMsXG59OiB7XG4gIHVzZXJFdmVudHM6IFVzZXJFdmVudFtdO1xuICBnZW5lcmF0aW9uUGFyYW1zPzogR2VuZXJhdGlvblBhcmFtcztcbn0pOiBOZXh0TWVzc2FnZVJlcXVlc3QgPT4ge1xuICBjb25zdCBhdG9tU3RvcmUgPSBnZXRBdG9tU3RvcmUoKTtcbiAgY29uc3Qgb3JnU2hvcnROYW1lID0gYXRvbVN0b3JlLmdldChvcmdTaG9ydE5hbWVBdG9tKTtcbiAgY29uc3Qgb3JnSWQgPSBhdG9tU3RvcmUuZ2V0KG9yZ0lkQXRvbSk7XG4gIGNvbnN0IHVzZXJJZCA9IGF0b21TdG9yZS5nZXQodXNlcklkQXRvbSk7XG4gIGNvbnN0IGNoYXRJZCA9IGF0b21TdG9yZS5nZXQoY2hhdElkQXRvbSk7XG4gIGNvbnN0IHNvdXJjZSA9IGF0b21TdG9yZS5nZXQoY29udGV4dFNvdXJjZUF0b20pO1xuICBjb25zdCBlbnYgPSBhdG9tU3RvcmUuZ2V0KGVudkF0b20pO1xuXG4gIGNvbnN0IGZlYXR1cmVGbGFnU2VydmljZSA9IGF0b21TdG9yZS5nZXQoZmVhdHVyZUZsYWdTZXJ2aWNlQXRvbSk7XG5cbiAgY29uc3QgY29udGV4dCA9IHtcbiAgICB1c2VySWQ6IHVzZXJJZCA/PyAnJyxcbiAgICBvcmdfaWQ6IG9yZ0lkID8/ICcnLFxuICAgIG9yZ19zaG9ydF9uYW1lOiBvcmdTaG9ydE5hbWUgPz8gJycsXG4gICAgY2hhdF9pZDogY2hhdElkID8/ICcnLFxuICAgIHNvdXJjZTogc291cmNlID8/IENvbnRleHRTb3VyY2VFbnVtLkFwcCxcbiAgICBlbnY6IChlbnYgYXMgQ29udGV4dEVudkVudW0pID8/IENvbnRleHRFbnZFbnVtLkRldixcbiAgfTtcblxuICBjb25zdCBmZWF0dXJlRmxhZ3MgPSBmZWF0dXJlRmxhZ1NlcnZpY2U/LmZlYXR1cmVGbGFnU2VydmljZT8uZ2V0RmVhdHVyZUZsYWdzKCkgfHwge307XG5cbiAgcmV0dXJuIHtcbiAgICBpZDogdXVpZCgpLFxuICAgIGNvbnRleHQsXG4gICAgdXNlckV2ZW50cyxcbiAgICBmZWF0dXJlRmxhZ3M6IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKGZlYXR1cmVGbGFncykuZmlsdGVyKChbLCBpc0VuYWJsZWRdKSA9PiBpc0VuYWJsZWQpLFxuICAgICksIC8vIENvbnZlcnQgYmFjayB0byBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPlxuICAgIGdlbmVyYXRpb25QYXJhbXMsXG4gIH07XG59O1xuIiwiaW1wb3J0IHsgYXRvbSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VUeXBlIH0gZnJvbSAnQGVudml2ZS1haS90eXBlcyc7XG5pbXBvcnQge1xuICB1c2VySGFzUmVwbGllZEF0b20sXG4gIG1lc3NhZ2VzQXRvbSxcbiAgdXNlclF1ZXJ5QXRvbSxcbiAgcmVwbHlFdmVudENhdGVnb3J5QXRvbSxcbn0gZnJvbSAnc3JjL2F0b21zL2NoYXQnO1xuaW1wb3J0IHsgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgcXVldWVVc2VyRXZlbnRBdG9tIH0gZnJvbSAnLi9tZXNzYWdlUXVldWUnO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgYW1wbGl0dWRlVHJhY2tFdmVudEF0b20gfSBmcm9tICdzcmMvYXRvbXMvYW1wbGl0dWRlL2FtcGxpdHVkZVRyYWNrRXZlbnRBdG9tJztcblxudHlwZSBIYW5kbGVSZXBseVBhcmFtcyA9IHtcbiAgbWVzc2FnZTogTWVzc2FnZTtcbiAgdXNlclR5cGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVJlcGx5QXRvbSA9IGF0b20obnVsbCwgKGdldCwgc2V0LCB7IG1lc3NhZ2UsIHVzZXJUeXBlZCB9OiBIYW5kbGVSZXBseVBhcmFtcykgPT4ge1xuICBpZiAobWVzc2FnZS50eXBlICE9PSBNZXNzYWdlVHlwZS5RdWVyeVR5cGVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgdHJhY2tFdmVudCA9IGdldChhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSk7XG4gIGNvbnN0IHF1ZXJ5VHlwZWQgPSBtZXNzYWdlLm1ldGFkYXRhLmNvbnRlbnQ7XG5cbiAgc2V0KHJlcGx5RXZlbnRDYXRlZ29yeUF0b20sIFVzZXJFdmVudENhdGVnb3J5LlF1ZXJ5VHlwZWQpO1xuICBzZXQodXNlclF1ZXJ5QXRvbSwgcXVlcnlUeXBlZCk7XG4gIHNldChtZXNzYWdlc0F0b20sIFsuLi5nZXQobWVzc2FnZXNBdG9tKSwgW21lc3NhZ2VdXSk7XG4gIHNldCh1c2VySGFzUmVwbGllZEF0b20sIHRydWUpO1xuICBzZXQocXVldWVVc2VyRXZlbnRBdG9tLCB7XG4gICAgZXZlbnRJZDogbWVzc2FnZS5pZCxcbiAgICBjcmVhdGVkQXQ6IG1lc3NhZ2UuY3JlYXRlZEF0LFxuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkLFxuICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgIHF1ZXJ5OiBxdWVyeVR5cGVkLFxuICAgIH0sXG4gIH0pO1xuXG4gIGlmICh0cmFja0V2ZW50KSB7XG4gICAgdHJhY2tFdmVudCh7XG4gICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuQ2hhdFVzZXJNZXNzYWdlSW5wdXQsXG4gICAgICBldmVudFByb3BzOiB7XG4gICAgICAgIG1lc3NhZ2VfaWQ6IG1lc3NhZ2UuaWQsXG4gICAgICAgIG1lc3NhZ2Vfcm9sZTogbWVzc2FnZS5yb2xlLFxuICAgICAgICBtZXNzYWdlX3R5cGU6IG1lc3NhZ2UudHlwZSxcbiAgICAgICAgbWVzc2FnZV9tZXRhZGF0YToge1xuICAgICAgICAgIGNvbnRlbnQ6IG1lc3NhZ2U/Lm1ldGFkYXRhPy5jb250ZW50LCAvLyBSZW1vdmVkIGFtcGxpdHVkZVNhZmVTdHJpbmdcbiAgICAgICAgICBjcmVhdGVkX2F0OiBtZXNzYWdlLmNyZWF0ZWRBdCxcbiAgICAgICAgICB1c2VyX3R5cGVkOiB1c2VyVHlwZWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljczogdHJ1ZSxcbiAgICB9KTtcbiAgfVxufSk7XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyBhdG9tV2l0aFN0b3JhZ2UgfSBmcm9tIFwiam90YWkvdXRpbHNcIjtcbmltcG9ydCBMb2dnZXIgZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlclwiO1xuaW1wb3J0IHtcbiAgZ2V0QXRvbVN0b3JlLFxuICBzZXNzaW9uU3RvcmFnZVV0aWwsXG59IGZyb20gXCJzcmMvYXRvbXMvYXRvbVN0b3JlL2F0b21TdG9yZVwiO1xuXG5leHBvcnQgY29uc3QgQVBQX0lOSVRJQUxfU1RBUlRfVElNRV9LRVkgPSBcInNwaWZmeS1hcHAtaW5pdGlhbC1zdGFydC10aW1lXCI7XG5leHBvcnQgY29uc3QgUEFHRV9MT0FEX09GRlNFVF9USU1FX0tFWSA9IFwic3BpZmZ5LXBhZ2UtbG9hZC1vZmZzZXQtdGltZVwiO1xuLyoqXG4gKiBUaGUgZGlmZmVyZW50IHBlcmZvcm1hbmNlIG1ldHJpY3MgdGhhdCBjYW4gYmUgbG9nZ2VkLiBBbGwgdGltZXMgYXJlIHJlbGF0aXZlIHRvIHRoZVxuICogaW5pdGlhbCBzdGFydCB0aW1lIG9mIHRoZSBhcHAgYW5kIGFyZSBzdG9yZWQgaW4gbWlsbGlzZWNvbmRzLlxuICovXG5leHBvcnQgZW51bSBQZXJmTWV0cmljc0V2ZW50cyB7XG4gIFBhZ2VMb2FkT2Zmc2V0ID0gXCJwYWdlX2xvYWRfb2Zmc2V0X21zXCIsXG4gIE1haW5CdW5kbGVMb2FkZWQgPSBcIm1haW5fYnVuZGxlX2xvYWRlZF9tc1wiLFxuICBPcmdDb25maWdMb2FkU3RhcnRlZCA9IFwib3JnX2NvbmZpZ19sb2FkX3N0YXJ0ZWRfbXNcIixcbiAgT3JnQ29uZmlnTG9hZEVuZGVkID0gXCJvcmdfY29uZmlnX2xvYWRfZW5kZWRfbXNcIixcbiAgRmlyc3RSZXNwb25zZVN0YXJ0ZWQgPSBcImZpcnN0X3Jlc3BvbnNlX3N0YXJ0ZWRfbXNcIixcbiAgRmlyc3RSZXNwb25zZUNvbXBsZXRlZCA9IFwiZmlyc3RfcmVzcG9uc2VfY29tcGxldGVkX21zXCIsXG4gIEZpcnN0U3VnZ2VzdGlvbnNTdGFydGVkID0gXCJmaXJzdF9zdWdnZXN0aW9uc19zdGFydGVkX21zXCIsXG4gIEZpcnN0U3VnZ2VzdGlvbnNDb21wbGV0ZWQgPSBcImZpcnN0X3N1Z2dlc3Rpb25zX2NvbXBsZXRlZF9tc1wiLFxuICBFbWJlZGRlZFdpZGdldFJlbmRlcmVkID0gXCJlbWJlZGRlZF93aWRnZXRfcmVuZGVyZWRfbXNcIixcbiAgRmxvYXRpbmdCdXR0b25SZW5kZXJlZCA9IFwiZmxvYXRpbmdfYnV0dG9uX3JlbmRlcmVkX21zXCIsXG4gIFRvcFN1Z2dlc3Rpb25zQmFyUmVuZGVyZWQgPSBcInRvcF9zdWdnZXN0aW9uc19iYXJfcmVuZGVyZWRfbXNcIixcbiAgQm90dG9tU3VnZ2VzdGlvbnNCYXJSZW5kZXJlZCA9IFwiYm90dG9tX3N1Z2dlc3Rpb25zX2Jhcl9yZW5kZXJlZF9tc1wiLFxuICBTZWFyY2hQcm9tcHRSZW5kZXJlZCA9IFwic2VhcmNoX3Byb21wdF9yZW5kZXJlZF9tc1wiLFxufVxuXG5jb25zdCBpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSA9IGF0b208TWFwPFBlcmZNZXRyaWNzRXZlbnRzLCBudW1iZXI+PihuZXcgTWFwKCkpO1xuZXhwb3J0IGNvbnN0IGFwcEluaXRpYWxTdGFydFRpbWVNc0F0b20gPSBhdG9tV2l0aFN0b3JhZ2U8c3RyaW5nIHwgdW5kZWZpbmVkPihcbiAgQVBQX0lOSVRJQUxfU1RBUlRfVElNRV9LRVksXG4gIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oQVBQX0lOSVRJQUxfU1RBUlRfVElNRV9LRVkpID8/IHVuZGVmaW5lZCxcbiAgc2Vzc2lvblN0b3JhZ2VVdGlsLFxuICB7XG4gICAgZ2V0T25Jbml0OiB0cnVlLFxuICB9XG4pO1xuXG5leHBvcnQgY29uc3QgcGFnZUxvYWRPZmZzZXRUaW1lQXRvbSA9IGF0b21XaXRoU3RvcmFnZTxzdHJpbmcgfCB1bmRlZmluZWQ+KFxuICBQQUdFX0xPQURfT0ZGU0VUX1RJTUVfS0VZLFxuICBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFBBR0VfTE9BRF9PRkZTRVRfVElNRV9LRVkpID8/IHVuZGVmaW5lZCxcbiAgc2Vzc2lvblN0b3JhZ2VVdGlsLFxuICB7XG4gICAgZ2V0T25Jbml0OiB0cnVlLFxuICB9XG4pO1xuXG4vKipcbiAqIFJlc2V0cyB0aGUgcGVyZm9ybWFuY2UgbWV0cmljcyBhdG9tIHRvIGFuIGVtcHR5IG1hcC4gVGhpcyBzaG91bGQgYmUgY2FsbGVkIGFmdGVyIHRoZSBwZXJmb3JtYW5jZVxuICogbWV0cmljcyBoYXZlIGJlZW4gcmVwb3J0ZWQgdG8gYW1wbGl0dWRlLiBPbiBTUEEsIGl0IGVuc3VyZXMgdGhhdCB3ZSBjYW4gc3RpbGwgY2FwdHVyZSBtZXRyaWNzIGFzXG4gKiB0aGUgdXNlciBuYXZpZ2F0ZXMgYXJvdW5kIHRoZSBhcHAgKGFsdGhvdWdoIHRoZXJlIGlzIG1vcmUgd29yayB0byBiZSBkb25lIHRvIGZ1bGx5IGVuYWJsZSB0aGlzKS5cbiAqIE9uIG5vbi1TUEEsIGl0IGVuc3VyZXMgdGhhdCBwcmV2aW91c2x5IGNhcHR1cmVkIG1ldHJpY3MgYXJlIG5vdCByZXBvcnRlZCBhZ2Fpbi5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlc2V0UGVyZm9ybWFuY2VNZXRyaWNzQXRvbSA9ICgpID0+IHtcbiAgY29uc3QgYXRvbVN0b3JlID0gZ2V0QXRvbVN0b3JlKCk7XG4gIGF0b21TdG9yZS5zZXQoaW50ZXJuYWxQZXJmTWV0cmljc0F0b20sIG5ldyBNYXAoKSk7XG59O1xuZXhwb3J0IGNvbnN0IHBlcmZvcm1hbmNlTWV0cmljc0F0b20gPSBhdG9tKChnZXQpID0+XG4gIGdldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSlcbik7XG5leHBvcnQgY29uc3QgaGFzUmVwb3J0ZWRQZXJmb3JtYW5jZU1ldHJpY3NBdG9tID0gYXRvbTxib29sZWFuPihmYWxzZSk7XG5cbi8qKlxuICogTG9ncyBhIHBlcmZvcm1hbmNlIG1ldHJpYyBieSBjYXB0dXJpbmcgdGhlIGRlbHRhIGJldHdlZW4gdGhlIGluaXRpYWwgYXBwIHN0YXJ0IHRpbWVcbiAqIGFuZCB0aGUgY3VycmVudCB0aW1lLiBJZiB0aGUgbWV0cmljIGhhcyBhbHJlYWR5IGJlZW4gbG9nZ2VkLCBpdCB3aWxsIG5vdCBiZSBsb2dnZWQgYWdhaW4uXG4gKlxuICogQHBhcmFtIHZhbHVlIFRoZSBwZXJmb3JtYW5jZSBtZXRyaWMgbmFtZSB0byBsb2cuXG4gKi9cbmV4cG9ydCBjb25zdCBsb2dQZXJmTWV0cmljQXRvbSA9IGF0b20oXG4gIG51bGwsXG4gIChnZXQsIHNldCwgdmFsdWU6IFBlcmZNZXRyaWNzRXZlbnRzKSA9PiB7XG4gICAgY29uc3QgaW5pdGlhbFRpbWVTdG9yYWdlVmFsdWUgPSBnZXQoYXBwSW5pdGlhbFN0YXJ0VGltZU1zQXRvbSk7XG4gICAgY29uc3QgaW5pdGlhbFRpbWVNcyA9IGluaXRpYWxUaW1lU3RvcmFnZVZhbHVlXG4gICAgICA/IHBhcnNlSW50KGluaXRpYWxUaW1lU3RvcmFnZVZhbHVlLCAxMClcbiAgICAgIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKGluaXRpYWxUaW1lTXMgPT0gbnVsbCkge1xuICAgICAgTG9nZ2VyLmxvZ1dhcm4oXG4gICAgICAgIGBbc3BpZmZ5LWFpXSBObyBpbml0aWFsIGFwcCBzdGFydCB0aW1lIGZvdW5kLiBTa2lwcGluZy4uLmAsXG4gICAgICAgIHVuZGVmaW5lZFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50UGVyZk1ldHJpY3MgPSBnZXQoaW50ZXJuYWxQZXJmTWV0cmljc0F0b20pO1xuICAgIGlmIChjdXJyZW50UGVyZk1ldHJpY3MuaGFzKHZhbHVlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRUaW1lTXMgPSBEYXRlLm5vdygpO1xuICAgIGNvbnN0IGRlbHRhTXMgPSBjdXJyZW50VGltZU1zIC0gaW5pdGlhbFRpbWVNcztcbiAgICBjdXJyZW50UGVyZk1ldHJpY3Muc2V0KHZhbHVlLCBkZWx0YU1zKTtcbiAgICBzZXQoaW50ZXJuYWxQZXJmTWV0cmljc0F0b20sIGN1cnJlbnRQZXJmTWV0cmljcyk7XG4gIH1cbik7XG4iLCJpbXBvcnQgeyBVc2VyRXZlbnRDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBhdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMsIFVzZXJFdmVudCB9IGZyb20gJ0BlbnZpdmUtYWkvdHlwZXMnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgZm9ybVN1Ym1pdEF0b20sIHJlcGx5RXZlbnRDYXRlZ29yeUF0b20gfSBmcm9tICdzcmMvYXRvbXMvY2hhdCc7XG5pbXBvcnQgeyBxdWV1ZVVzZXJFdmVudEF0b20gfSBmcm9tICdzcmMvYXRvbXMvY2hhdC9tZXNzYWdlUXVldWUnO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlRm9ybVN1Ym1pdHRlZEF0b20gPSBhdG9tKG51bGwsIChfLCBzZXQsIGZvcm06IEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzKSA9PiB7XG4gIHNldChyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLCBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkKTtcbiAgc2V0KGZvcm1TdWJtaXRBdG9tLCBmb3JtKTtcblxuICBjb25zdCBmb3JtVXNlckV2ZW50ID0ge1xuICAgIGV2ZW50SWQ6IHV1aWQoKSxcbiAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuRm9ybVN1Ym1pdHRlZCxcbiAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICBhdHRyaWJ1dGVzOiBmb3JtLFxuICB9IHNhdGlzZmllcyBVc2VyRXZlbnQ7XG4gIHNldChxdWV1ZVVzZXJFdmVudEF0b20sIGZvcm1Vc2VyRXZlbnQpO1xufSk7XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyBNZXNzYWdlLCBNZXNzYWdlUm9sZSwgTWVzc2FnZVR5cGUsIFN1Z2dlc3Rpb24gfSBmcm9tIFwic3JjL3R5cGVzXCI7XG5pbXBvcnQge1xuICBtZXNzYWdlc0F0b20sXG4gIHJlcGx5RXZlbnRDYXRlZ29yeUF0b20sXG4gIHN1Z2dlc3Rpb25BdG9tLFxuICB1c2VySGFzUmVwbGllZEF0b20sXG59IGZyb20gXCJzcmMvYXRvbXMvY2hhdFwiO1xuaW1wb3J0IHsgRmlsdGVyQXR0cmlidXRlLCBQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzIH0gZnJvbSBcInNyYy90eXBlc1wiO1xuXG5pbXBvcnQgeyBVc2VyRXZlbnRDYXRlZ29yeSB9IGZyb20gXCJAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnRcIjtcbmltcG9ydCB7IHF1ZXVlVXNlckV2ZW50QXRvbSB9IGZyb20gXCIuL21lc3NhZ2VRdWV1ZVwiO1xuXG5leHBvcnQgY29uc3QgaGFuZGxlU3VnZ2VzdGlvbkF0b20gPSBhdG9tKFxuICBudWxsLFxuICAoZ2V0LCBzZXQsIHN1Z2dlc3Rpb246IFN1Z2dlc3Rpb24pID0+IHtcbiAgICBjb25zdCBuZXdNZXNzYWdlOiBNZXNzYWdlID0ge1xuICAgICAgaWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgICByb2xlOiBNZXNzYWdlUm9sZS5Vc2VyLFxuICAgICAgdHlwZTogTWVzc2FnZVR5cGUuU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgIHN1Z2dlc3Rpb25JZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgICAgc3VnZ2VzdGlvbkNvbnRlbnQ6IHN1Z2dlc3Rpb24uY29udGVudCxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIHNldChyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLCBVc2VyRXZlbnRDYXRlZ29yeS5TdWdnZXN0aW9uQ2xpY2tlZCk7XG4gICAgc2V0KHN1Z2dlc3Rpb25BdG9tLCBzdWdnZXN0aW9uKTtcbiAgICBzZXQobWVzc2FnZXNBdG9tLCBbLi4uZ2V0KG1lc3NhZ2VzQXRvbSksIFtuZXdNZXNzYWdlXV0pO1xuICAgIHNldCh1c2VySGFzUmVwbGllZEF0b20sIHRydWUpO1xuICAgIHNldChxdWV1ZVVzZXJFdmVudEF0b20sIHtcbiAgICAgIGV2ZW50SWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgICBjcmVhdGVkQXQ6IG5ld01lc3NhZ2UuY3JlYXRlZEF0LFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBzdWdnZXN0aW9uSWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG4pO1xuIiwiaW1wb3J0IHsgYXRvbSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7IG1lc3NhZ2VzQXRvbSwgdXNlckhhc1JlcGxpZWRBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2NoYXQnO1xuXG5leHBvcnQgY29uc3QgbGFzdEFzc2lzdGFudE1lc3NhZ2VBdG9tID0gYXRvbSgoZ2V0KSA9PiB7XG4gIGNvbnN0IG1lc3NhZ2VzID0gZ2V0KG1lc3NhZ2VzQXRvbSk7XG4gIGNvbnN0IHVzZXJIYXNSZXBsaWVkID0gZ2V0KHVzZXJIYXNSZXBsaWVkQXRvbSk7XG4gIGlmIChtZXNzYWdlcy5sZW5ndGggPiAwICYmICF1c2VySGFzUmVwbGllZCkge1xuICAgIHJldHVybiBtZXNzYWdlc1ttZXNzYWdlcy5sZW5ndGggLSAxXTtcbiAgfVxuICByZXR1cm4gbnVsbDtcbn0pO1xuIiwiaW1wb3J0IHsgYXRvbSB9IGZyb20gXCJqb3RhaVwiO1xuaW1wb3J0IHsgZ2V0QXRvbVN0b3JlIH0gZnJvbSBcInNyYy9hdG9tcy9hdG9tU3RvcmUvYXRvbVN0b3JlXCI7XG5cbmNvbnN0IGludGVybmFsV2lkZ2V0QXJyYXlBdG9tID0gYXRvbTxIVE1MRWxlbWVudFtdPihbXSk7XG5cbmV4cG9ydCBjb25zdCB3aWRnZXRBcnJheUF0b20gPSBhdG9tKChnZXQpID0+IGdldChpbnRlcm5hbFdpZGdldEFycmF5QXRvbSkpO1xuXG4vKipcbiAqIFRoaXMgZnVuY3Rpb24gY2FsbCBpcyB1c2VkIHRvIGNyZWF0ZSBhIGxpc3Qgb2YgdGhlIFNwaWZmeSB3aWRnZXRzXG4gKiB0aGF0IGFyZSByZW5kZXJpbmcgb24gdGhlIHBhZ2UuXG4gKlxuICogSXQgaXMgdXNlZCBieSB0aGUgRmxvYXRpbmdCdXR0b24gd2lkZ2V0IHRvIHNsaWRlIG91dCBvZiB2aWV3IHdoZW4gaXRcbiAqIG92ZXJsYXBzIHdpdGggYW5vdGhlciBTcGlmZnkgd2lkZ2V0LlxuICpcbiAqIFRoZSBzcGlmZnkgd2lkZ2V0cyBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIHRoaXMgYXJyYXkgZm9yIHRoZSBmbG9hdGluZyBidXR0b25cbiAqIHRvIGtub3cgYWJvdXQgdGhlbS5cbiAqXG4gKiBUb2RheSB0aGUgXCJTdWdnZXN0aW9uQmFyXCIgd2lkZ2V0IGlzIG5vdCBhZGRlZCwgYnV0IHRoZSBvdGhlciB3aWRnZXRzIGFyZS5cbiAqXG4gKi9cbmV4cG9ydCBjb25zdCBhZGRXaWRnZXQgPSAocmVmOiBIVE1MRWxlbWVudCwgaWR4PzogbnVtYmVyKSA9PiB7XG4gIGNvbnN0IGF0b21TdG9yZSA9IGdldEF0b21TdG9yZSgpO1xuICBjb25zdCB2YWwgPSBhdG9tU3RvcmUuZ2V0KGludGVybmFsV2lkZ2V0QXJyYXlBdG9tKTtcbiAgY29uc3QgaW5zZXJ0SWR4ID0gaWR4ID8/IHZhbC5sZW5ndGg7XG4gIHZhbFtpbnNlcnRJZHhdID0gcmVmO1xuICBhdG9tU3RvcmUuc2V0KGludGVybmFsV2lkZ2V0QXJyYXlBdG9tLCB2YWwpO1xufTtcbiIsImltcG9ydCB7IGF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQge1xuICByZXNwb25zZVN0cmVhbWluZ0F0b20sXG4gIHN1Z2dlc3Rpb25zTG9hZGluZ0F0b20sXG4gIG1lc3NhZ2VzQXRvbSxcbiAgdXNlclF1ZXJ5QXRvbSxcbiAgcmVwbHlFdmVudENhdGVnb3J5QXRvbSxcbiAgdXNlckhhc1JlcGxpZWRBdG9tLFxuICBhc2tRdWVzdGlvbkJ0bkNsaWNrZWRBdG9tLFxuICBzdWdnZXN0aW9uc0F0b20sXG4gIGNoYXRJc09wZW5BdG9tLFxuICBjaGF0T25Ub2dnbGVBdG9tLFxuICB1c2VyRXZlbnRzQXRvbSxcbiAgc3VnZ2VzdGlvbkF0b20sXG59IGZyb20gJy4vY2hhdFN0YXRlJztcblxuZXhwb3J0ICogZnJvbSAnLi9jaGF0U3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXBsaWVzJztcbmV4cG9ydCAqIGZyb20gJy4vcGVyZm9ybWFuY2VNZXRyaWNzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybSc7XG5leHBvcnQgKiBmcm9tICcuL3N1Z2dlc3Rpb25zJztcbmV4cG9ydCAqIGZyb20gJy4vbGFzdE1lc3NhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yZW5kZXJlZFdpZGdldFJlZnMnO1xuXG5leHBvcnQgY29uc3QgY2hhdEF0b20gPSBhdG9tKChnZXQpID0+ICh7XG4gIHVzZXJIYXNSZXBsaWVkOiBnZXQodXNlckhhc1JlcGxpZWRBdG9tKSxcbiAgcmVwbHlFdmVudENhdGVnb3J5OiBnZXQocmVwbHlFdmVudENhdGVnb3J5QXRvbSksXG4gIHVzZXJRdWVyeTogZ2V0KHVzZXJRdWVyeUF0b20pLFxuICBzdWdnZXN0aW9uOiBnZXQoc3VnZ2VzdGlvbkF0b20pLFxuICBhc2tRdWVzdGlvbkJ0bkNsaWNrZWQ6IGdldChhc2tRdWVzdGlvbkJ0bkNsaWNrZWRBdG9tKSxcbiAgbWVzc2FnZXM6IGdldChtZXNzYWdlc0F0b20pLFxuICB1c2VyRXZlbnRzOiBnZXQodXNlckV2ZW50c0F0b20pLFxuICBzdWdnZXN0aW9uczogZ2V0KHN1Z2dlc3Rpb25zQXRvbSksXG4gIHN1Z2dlc3Rpb25zTG9hZGluZzogZ2V0KHN1Z2dlc3Rpb25zTG9hZGluZ0F0b20pLFxuICByZXNwb25zZVN0cmVhbWluZzogZ2V0KHJlc3BvbnNlU3RyZWFtaW5nQXRvbSksXG4gIGlzT3BlbjogZ2V0KGNoYXRJc09wZW5BdG9tKSxcbiAgb25Ub2dnbGU6IGdldChjaGF0T25Ub2dnbGVBdG9tKSxcbn0pKTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUEsTUFBTSw2Q0FBK0MsRUFBRSxDQUFDO0FBRXhELE1BQWEsc0NBQTJCLFFBQVE7Q0FDOUMsTUFBTSxRQUFRLElBQUksMkJBQTJCO0FBQzdDLFFBQU8sVUFBVSxTQUFZLEVBQUUsR0FBRyxNQUFNLFFBQVEsTUFBTSxNQUFNLE9BQVU7RUFDdEU7Ozs7Ozs7QUFRRixNQUFhLHFDQUEwQixPQUFPLEtBQUssS0FBSyxjQUF5QjtBQUMvRSxLQUFJLGNBQWMsT0FDaEI7QUFFRixLQUFJLDRCQUE0QixDQUFDLEdBQUcsSUFBSSwyQkFBMkIsRUFBRSxVQUFVLENBQUM7RUFDaEY7Ozs7QUFLRixNQUFhLHFDQUEwQixPQUFPLEdBQUcsUUFBUTtBQUN2RCxLQUFJLDRCQUE0QixFQUFFLENBQUM7RUFDbkM7Ozs7O0FBTUYsTUFBYSx1Q0FBNEIsT0FBTyxLQUFLLEtBQUssYUFBdUI7Q0FFL0UsTUFBTSxZQURPLElBQUksMkJBQTJCLEVBQ3BCLFFBQVEsVUFBVSxDQUFDLFNBQVMsU0FBUyxNQUFNLFFBQVEsQ0FBQztBQUM1RSxLQUFJLDRCQUE0QixVQUFVO0VBQzFDO0FBRUYsTUFBYSwyQ0FBZ0MsUUFBUSxJQUFJLG1CQUFtQixDQUFDLE9BQU87Ozs7QUMzQnBGLE1BQWEsa0NBQXVCLE9BQU8sS0FBSyxLQUFLLEVBQUUsU0FBUyxnQkFBbUM7QUFDakcsS0FBSSxRQUFRLFNBQVNBLHlCQUFZLFdBQy9CO0NBR0YsTUFBTSxhQUFhLElBQUlDLHdEQUF3QjtDQUMvQyxNQUFNLGFBQWEsUUFBUSxTQUFTO0FBRXBDLEtBQUlDLDBDQUF3QkMsa0RBQWtCLFdBQVc7QUFDekQsS0FBSUMsaUNBQWUsV0FBVztBQUM5QixLQUFJQyxnQ0FBYyxDQUFDLEdBQUcsSUFBSUEsK0JBQWEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3BELEtBQUlDLHNDQUFvQixLQUFLO0FBQzdCLEtBQUksb0JBQW9CO0VBQ3RCLFNBQVMsUUFBUTtFQUNqQixXQUFXLFFBQVE7RUFDbkIsVUFBVUgsa0RBQWtCO0VBQzVCLFlBQVksRUFDVixPQUFPLFlBQ1I7RUFDRixDQUFDO0FBRUYsS0FBSSxXQUNGLFlBQVc7RUFDVCxXQUFXSSxxQ0FBdUI7RUFDbEMsWUFBWTtHQUNWLFlBQVksUUFBUTtHQUNwQixjQUFjLFFBQVE7R0FDdEIsY0FBYyxRQUFRO0dBQ3RCLGtCQUFrQjtJQUNoQixTQUFTLFNBQVMsVUFBVTtJQUM1QixZQUFZLFFBQVE7SUFDcEIsWUFBWTtJQUNiO0dBQ0Y7RUFDRCwyQkFBMkI7RUFDNUIsQ0FBQztFQUVKOzs7O0FDL0NGLE1BQWEsNkJBQTZCO0FBQzFDLE1BQWEsNEJBQTRCOzs7OztBQUt6QyxJQUFZLGtFQUFMO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdGLE1BQU0sMERBQStELElBQUksS0FBSyxDQUFDO0FBQy9FLE1BQWEsNkRBQ1gsNEJBQ0EsZUFBZSxRQUFRLDJCQUEyQixJQUFJLFFBQ3REQyxzQ0FDQSxFQUNFLFdBQVcsTUFDWixDQUNGO0FBRUQsTUFBYSwwREFDWCwyQkFDQSxlQUFlLFFBQVEsMEJBQTBCLElBQUksUUFDckRBLHNDQUNBLEVBQ0UsV0FBVyxNQUNaLENBQ0Y7Ozs7Ozs7QUFRRCxNQUFhLG9DQUFvQztBQUUvQyxDQURrQkMsZ0NBQWMsQ0FDdEIsSUFBSSx5Q0FBeUIsSUFBSSxLQUFLLENBQUM7O0FBRW5ELE1BQWEsMENBQStCLFFBQzFDLElBQUksd0JBQXdCLENBQzdCO0FBQ0QsTUFBYSxvREFBa0QsTUFBTTs7Ozs7OztBQVFyRSxNQUFhLG9DQUNYLE9BQ0MsS0FBSyxLQUFLLFVBQTZCO0NBQ3RDLE1BQU0sMEJBQTBCLElBQUksMEJBQTBCO0NBQzlELE1BQU0sZ0JBQWdCLDBCQUNsQixTQUFTLHlCQUF5QixHQUFHLEdBQ3JDO0FBRUosS0FBSSxpQkFBaUIsTUFBTTtBQUN6QixnQ0FBTyxRQUNMLDREQUNBLE9BQ0Q7QUFDRDs7Q0FHRixNQUFNLHFCQUFxQixJQUFJLHdCQUF3QjtBQUN2RCxLQUFJLG1CQUFtQixJQUFJLE1BQU0sQ0FDL0I7Q0FJRixNQUFNLFVBRGdCLEtBQUssS0FBSyxHQUNBO0FBQ2hDLG9CQUFtQixJQUFJLE9BQU8sUUFBUTtBQUN0QyxLQUFJLHlCQUF5QixtQkFBbUI7RUFFbkQ7Ozs7QUN6RkQsTUFBYSwwQ0FBK0IsT0FBTyxHQUFHLEtBQUssU0FBa0M7QUFDM0YsS0FBSUMsMENBQXdCQyxrREFBa0IsY0FBYztBQUM1RCxLQUFJQyxrQ0FBZ0IsS0FBSztDQUV6QixNQUFNLGdCQUFnQjtFQUNwQix1QkFBZTtFQUNmLFVBQVVELGtEQUFrQjtFQUM1Qiw0QkFBVyxJQUFJLE1BQU0sRUFBQyxhQUFhO0VBQ25DLFlBQVk7RUFDYjtBQUNELEtBQUksb0JBQW9CLGNBQWM7RUFDdEM7Ozs7QUNMRixNQUFhLHVDQUNYLE9BQ0MsS0FBSyxLQUFLLGVBQTJCO0NBQ3BDLE1BQU1FLGFBQXNCO0VBQzFCLElBQUksV0FBVztFQUNmLE1BQU1DLDBCQUFZO0VBQ2xCLE1BQU1DLDBCQUFZO0VBQ2xCLDRCQUFXLElBQUksTUFBTSxFQUFDLGFBQWE7RUFDbkMsVUFBVTtHQUNSLGNBQWMsV0FBVztHQUN6QixtQkFBbUIsV0FBVztHQUMvQjtFQUNGO0FBRUQsS0FBSUMsMENBQXdCQyxrREFBa0Isa0JBQWtCO0FBQ2hFLEtBQUlDLGtDQUFnQixXQUFXO0FBQy9CLEtBQUlDLGdDQUFjLENBQUMsR0FBRyxJQUFJQSwrQkFBYSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDdkQsS0FBSUMsc0NBQW9CLEtBQUs7QUFDN0IsS0FBSSxvQkFBb0I7RUFDdEIsU0FBUyxXQUFXO0VBQ3BCLFVBQVVILGtEQUFrQjtFQUM1QixXQUFXLFdBQVc7RUFDdEIsWUFBWSxFQUNWLGNBQWMsV0FBVyxJQUMxQjtFQUNGLENBQUM7RUFFTDs7OztBQ3JDRCxNQUFhLDRDQUFpQyxRQUFRO0NBQ3BELE1BQU0sV0FBVyxJQUFJSSwrQkFBYTtDQUNsQyxNQUFNLGlCQUFpQixJQUFJQyxxQ0FBbUI7QUFDOUMsS0FBSSxTQUFTLFNBQVMsS0FBSyxDQUFDLGVBQzFCLFFBQU8sU0FBUyxTQUFTLFNBQVM7QUFFcEMsUUFBTztFQUNQOzs7O0FDUEYsTUFBTSwwQ0FBOEMsRUFBRSxDQUFDO0FBRXZELE1BQWEsbUNBQXdCLFFBQVEsSUFBSSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFlMUUsTUFBYSxhQUFhLEtBQWtCLFFBQWlCO0NBQzNELE1BQU0sWUFBWUMsZ0NBQWM7Q0FDaEMsTUFBTSxNQUFNLFVBQVUsSUFBSSx3QkFBd0I7Q0FDbEQsTUFBTSxZQUFZLE9BQU8sSUFBSTtBQUM3QixLQUFJLGFBQWE7QUFDakIsV0FBVSxJQUFJLHlCQUF5QixJQUFJOzs7OztBQ0Q3QyxNQUFhLDRCQUFpQixTQUFTO0NBQ3JDLGdCQUFnQixJQUFJQyxxQ0FBbUI7Q0FDdkMsb0JBQW9CLElBQUlDLHlDQUF1QjtDQUMvQyxXQUFXLElBQUlDLGdDQUFjO0NBQzdCLFlBQVksSUFBSUMsaUNBQWU7Q0FDL0IsdUJBQXVCLElBQUlDLDRDQUEwQjtDQUNyRCxVQUFVLElBQUlDLCtCQUFhO0NBQzNCLFlBQVksSUFBSUMsaUNBQWU7Q0FDL0IsYUFBYSxJQUFJQyxrQ0FBZ0I7Q0FDakMsb0JBQW9CLElBQUlDLHlDQUF1QjtDQUMvQyxtQkFBbUIsSUFBSUMsd0NBQXNCO0NBQzdDLFFBQVEsSUFBSUMsaUNBQWU7Q0FDM0IsVUFBVSxJQUFJQyxtQ0FBaUI7Q0FDaEMsRUFBRSJ9
|
|
326
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1CODd5NjVSMC5janMiLCJuYW1lcyI6WyJNZXNzYWdlVHlwZSIsImFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tIiwicmVwbHlFdmVudENhdGVnb3J5QXRvbSIsIlVzZXJFdmVudENhdGVnb3J5IiwidXNlclF1ZXJ5QXRvbSIsIm1lc3NhZ2VzQXRvbSIsInVzZXJIYXNSZXBsaWVkQXRvbSIsIlNwaWZmeU1ldHJpY3NFdmVudE5hbWUiLCJzZXNzaW9uU3RvcmFnZVV0aWwiLCJnZXRBdG9tU3RvcmUiLCJyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tIiwiVXNlckV2ZW50Q2F0ZWdvcnkiLCJmb3JtU3VibWl0QXRvbSIsIm5ld01lc3NhZ2U6IE1lc3NhZ2UiLCJNZXNzYWdlUm9sZSIsIk1lc3NhZ2VUeXBlIiwicmVwbHlFdmVudENhdGVnb3J5QXRvbSIsIlVzZXJFdmVudENhdGVnb3J5Iiwic3VnZ2VzdGlvbkF0b20iLCJtZXNzYWdlc0F0b20iLCJ1c2VySGFzUmVwbGllZEF0b20iLCJtZXNzYWdlc0F0b20iLCJ1c2VySGFzUmVwbGllZEF0b20iLCJnZXRBdG9tU3RvcmUiLCJ1c2VySGFzUmVwbGllZEF0b20iLCJyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tIiwidXNlclF1ZXJ5QXRvbSIsInN1Z2dlc3Rpb25BdG9tIiwiYXNrUXVlc3Rpb25CdG5DbGlja2VkQXRvbSIsIm1lc3NhZ2VzQXRvbSIsInVzZXJFdmVudHNBdG9tIiwic3VnZ2VzdGlvbnNBdG9tIiwic3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSIsInJlc3BvbnNlU3RyZWFtaW5nQXRvbSIsImNoYXRJc09wZW5BdG9tIiwiY2hhdE9uVG9nZ2xlQXRvbSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZS50cyIsIi4uL3NyYy9hdG9tcy9jaGF0L3JlcGxpZXMudHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9wZXJmb3JtYW5jZU1ldHJpY3MudHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9mb3JtLnRzIiwiLi4vc3JjL2F0b21zL2NoYXQvc3VnZ2VzdGlvbnMudHMiLCIuLi9zcmMvYXRvbXMvY2hhdC9sYXN0TWVzc2FnZS50cyIsIi4uL3NyYy9hdG9tcy9jaGF0L3JlbmRlcmVkV2lkZ2V0UmVmcy50cyIsIi4uL3NyYy9hdG9tcy9jaGF0L2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBHZW5lcmF0aW9uUGFyYW1zLCBOZXh0TWVzc2FnZVJlcXVlc3QsIFVzZXJFdmVudCB9IGZyb20gJ0BlbnZpdmUtYWkvdHlwZXMnO1xuaW1wb3J0IHsgZ2V0QXRvbVN0b3JlIH0gZnJvbSAnc3JjL2F0b21zL2F0b21TdG9yZS9hdG9tU3RvcmUnO1xuaW1wb3J0IHsgdXNlcklkQXRvbSwgY2hhdElkQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAnO1xuaW1wb3J0IHsgb3JnU2hvcnROYW1lQXRvbSwgY29udGV4dFNvdXJjZUF0b20sIGVudkF0b20gfSBmcm9tICdzcmMvYXRvbXMvZW52aXZlL2Vudml2ZUNvbmZpZyc7XG5pbXBvcnQgeyBvcmdJZEF0b20sIGZlYXR1cmVGbGFnU2VydmljZUF0b20gfSBmcm9tICdzcmMvYXRvbXMvb3JnL2dyYXBocWxDb25maWcnO1xuXG5jb25zdCBpbnRlcm5hbFVzZXJFdmVudFF1ZXVlQXRvbSA9IGF0b208VXNlckV2ZW50W10+KFtdKTtcblxuZXhwb3J0IGNvbnN0IHVzZXJFdmVudFF1ZXVlQXRvbSA9IGF0b20oKGdldCkgPT4ge1xuICBjb25zdCBxdWV1ZSA9IGdldChpbnRlcm5hbFVzZXJFdmVudFF1ZXVlQXRvbSk7XG4gIHJldHVybiBxdWV1ZSA9PT0gdW5kZWZpbmVkID8gW10gOiBxdWV1ZS5maWx0ZXIoKHYpID0+IHYgIT09IHVuZGVmaW5lZCk7XG59KTtcblxuLyoqXG4gKiBUaGlzIGF0b20gaXMgdXNlZCB0byBxdWV1ZSBhIG5ldyBtZXNzYWdlIGZvciBwcm9jZXNzaW5nIG9uIGBuZXh0X3Jlc3BvbnNlc2BcbiAqIEl0IHJlY2VpdmVzIGEgc2luZ2xlIGB1c2VyRXZlbnRgIHRoYXQgaXMgYWRkZWQgdG8gdGhlIHByb2Nlc3NpbmcgcXVldWUuXG4gKiBJZiB0aGUgZXZlbnQgaGFzIHRoZSBzYW1lIGV2ZW50SWQgYXMgYW4gZXhpc3RpbmcgbWVzc2FnZSBpbiB0aGUgcXVldWUgdGhlIE5FV1xuICogZXZlbnQgaXMgaWdub3JlZFxuICovXG5leHBvcnQgY29uc3QgcXVldWVVc2VyRXZlbnRBdG9tID0gYXRvbShudWxsLCAoZ2V0LCBzZXQsIHVzZXJFdmVudDogVXNlckV2ZW50KSA9PiB7XG4gIGlmICh1c2VyRXZlbnQgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuICBzZXQoaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20sIFsuLi5nZXQoaW50ZXJuYWxVc2VyRXZlbnRRdWV1ZUF0b20pLCB1c2VyRXZlbnRdKTtcbn0pO1xuXG4vKipcbiAqIFRoaXMgYXRvbSBleHBvc2VzIGEgZnVuY3Rpb24gdG8gcmVzZXQgdGhlIGVudGlyZSBxdWV1ZS4gQWxsIG1lc3NhZ2VzIGluIHRoZSBxdWV1ZSB3aWxsIGJlIHB1cmdlZFxuICovXG5leHBvcnQgY29uc3QgY2xlYXJVc2VyRXZlbnRBdG9tID0gYXRvbShudWxsLCAoXywgc2V0KSA9PiB7XG4gIHNldChpbnRlcm5hbFVzZXJFdmVudFF1ZXVlQXRvbSwgW10pO1xufSk7XG5cbi8qKlxuICogVGhpcyBhdG9tIGlzIHVzZWQgdG8gbWFyayBldmVudHMgYXMgcHJvY2Vzc2VkIGFuZCByZW1vdmUgdGhlbSBmcm9tIHRoZSBxdWV1ZVxuICogSXQgYWNjZXB0cyBhIGxpc3Qgb2YgZXZlbnRJZCB2YWx1ZXMgYW5kIHdpbGwgcmVtb3ZlIGFsbCBldmVudHMgd2l0aCB0aG9zZSBldmVudElkcyBmcm9tIHRoZSBxdWV1ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHByb2Nlc3NVc2VyRXZlbnRBdG9tID0gYXRvbShudWxsLCAoZ2V0LCBzZXQsIGV2ZW50SWRzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBjdXJyID0gZ2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tKTtcbiAgY29uc3QgcmVtYWluaW5nID0gY3Vycj8uZmlsdGVyKChldmVudCkgPT4gIWV2ZW50SWRzLmluY2x1ZGVzKGV2ZW50LmV2ZW50SWQpKTtcbiAgc2V0KGludGVybmFsVXNlckV2ZW50UXVldWVBdG9tLCByZW1haW5pbmcpO1xufSk7XG5cbmV4cG9ydCBjb25zdCB1c2VyUXVldWVFdmVudENvdW50QXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KHVzZXJFdmVudFF1ZXVlQXRvbSkubGVuZ3RoKTtcblxuaW1wb3J0IHsgQ29udGV4dFNvdXJjZUVudW0sIENvbnRleHRFbnZFbnVtIH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JzsgLy8gSW1wb3J0IG5lY2Vzc2FyeSBlbnVtc1xuLy8gaW1wb3J0IHR5cGUgeyBDb250ZXh0IH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudC9kaXN0L21vZGVscy9Db250ZXh0XCI7IC8vIEltcG9ydCBDb250ZXh0IHR5cGVcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVJlc3BvbnNlUGF5bG9hZCA9ICh7XG4gIHVzZXJFdmVudHMsXG4gIGdlbmVyYXRpb25QYXJhbXMsXG59OiB7XG4gIHVzZXJFdmVudHM6IFVzZXJFdmVudFtdO1xuICBnZW5lcmF0aW9uUGFyYW1zPzogR2VuZXJhdGlvblBhcmFtcztcbn0pOiBOZXh0TWVzc2FnZVJlcXVlc3QgPT4ge1xuICBjb25zdCBhdG9tU3RvcmUgPSBnZXRBdG9tU3RvcmUoKTtcbiAgY29uc3Qgb3JnU2hvcnROYW1lID0gYXRvbVN0b3JlLmdldChvcmdTaG9ydE5hbWVBdG9tKTtcbiAgY29uc3Qgb3JnSWQgPSBhdG9tU3RvcmUuZ2V0KG9yZ0lkQXRvbSk7XG4gIGNvbnN0IHVzZXJJZCA9IGF0b21TdG9yZS5nZXQodXNlcklkQXRvbSk7XG4gIGNvbnN0IGNoYXRJZCA9IGF0b21TdG9yZS5nZXQoY2hhdElkQXRvbSk7XG4gIGNvbnN0IHNvdXJjZSA9IGF0b21TdG9yZS5nZXQoY29udGV4dFNvdXJjZUF0b20pO1xuICBjb25zdCBlbnYgPSBhdG9tU3RvcmUuZ2V0KGVudkF0b20pO1xuXG4gIGNvbnN0IGZlYXR1cmVGbGFnU2VydmljZSA9IGF0b21TdG9yZS5nZXQoZmVhdHVyZUZsYWdTZXJ2aWNlQXRvbSk7XG5cbiAgY29uc3QgY29udGV4dCA9IHtcbiAgICB1c2VySWQ6IHVzZXJJZCA/PyAnJyxcbiAgICBvcmdfaWQ6IG9yZ0lkID8/ICcnLFxuICAgIG9yZ19zaG9ydF9uYW1lOiBvcmdTaG9ydE5hbWUgPz8gJycsXG4gICAgY2hhdF9pZDogY2hhdElkID8/ICcnLFxuICAgIHNvdXJjZTogc291cmNlID8/IENvbnRleHRTb3VyY2VFbnVtLkFwcCxcbiAgICBlbnY6IChlbnYgYXMgQ29udGV4dEVudkVudW0pID8/IENvbnRleHRFbnZFbnVtLkRldixcbiAgfTtcblxuICBjb25zdCBmZWF0dXJlRmxhZ3MgPSBmZWF0dXJlRmxhZ1NlcnZpY2U/LmZlYXR1cmVGbGFnU2VydmljZT8uZ2V0RmVhdHVyZUZsYWdzKCkgfHwge307XG5cbiAgcmV0dXJuIHtcbiAgICBpZDogdXVpZCgpLFxuICAgIGNvbnRleHQsXG4gICAgdXNlckV2ZW50cyxcbiAgICBmZWF0dXJlRmxhZ3M6IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIE9iamVjdC5lbnRyaWVzKGZlYXR1cmVGbGFncykuZmlsdGVyKChbLCBpc0VuYWJsZWRdKSA9PiBpc0VuYWJsZWQpLFxuICAgICksIC8vIENvbnZlcnQgYmFjayB0byBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPlxuICAgIGdlbmVyYXRpb25QYXJhbXMsXG4gIH07XG59O1xuIiwiaW1wb3J0IHsgYXRvbSB9IGZyb20gXCJqb3RhaVwiO1xuaW1wb3J0IHsgTWVzc2FnZSwgTWVzc2FnZVR5cGUsIFNwaWZmeU1ldHJpY3NFdmVudE5hbWUgfSBmcm9tIFwiQGVudml2ZS1haS90eXBlc1wiO1xuaW1wb3J0IHtcbiAgdXNlckhhc1JlcGxpZWRBdG9tLFxuICBtZXNzYWdlc0F0b20sXG4gIHVzZXJRdWVyeUF0b20sXG4gIHJlcGx5RXZlbnRDYXRlZ29yeUF0b20sXG59IGZyb20gXCJzcmMvYXRvbXMvY2hhdFwiO1xuaW1wb3J0IHsgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tIFwiQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50XCI7XG5pbXBvcnQgeyBxdWV1ZVVzZXJFdmVudEF0b20gfSBmcm9tIFwiLi9tZXNzYWdlUXVldWVcIjtcbmltcG9ydCB7IGFtcGxpdHVkZVRyYWNrRXZlbnRBdG9tIH0gZnJvbSBcInNyYy9hdG9tcy9hbXBsaXR1ZGUvYW1wbGl0dWRlVHJhY2tFdmVudEF0b21cIjtcblxudHlwZSBIYW5kbGVSZXBseVBhcmFtcyA9IHtcbiAgbWVzc2FnZTogTWVzc2FnZTtcbiAgdXNlclR5cGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IGhhbmRsZVJlcGx5QXRvbSA9IGF0b20oXG4gIG51bGwsXG4gIChnZXQsIHNldCwgeyBtZXNzYWdlLCB1c2VyVHlwZWQgfTogSGFuZGxlUmVwbHlQYXJhbXMpID0+IHtcbiAgICBpZiAobWVzc2FnZS50eXBlICE9PSBNZXNzYWdlVHlwZS5RdWVyeVR5cGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdHJhY2tFdmVudCA9IGdldChhbXBsaXR1ZGVUcmFja0V2ZW50QXRvbSk7XG4gICAgY29uc3QgcXVlcnlUeXBlZCA9IG1lc3NhZ2UubWV0YWRhdGEuY29udGVudDtcblxuICAgIHNldChyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLCBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkKTtcbiAgICBzZXQodXNlclF1ZXJ5QXRvbSwgcXVlcnlUeXBlZCk7XG4gICAgc2V0KG1lc3NhZ2VzQXRvbSwgWy4uLmdldChtZXNzYWdlc0F0b20pLCBbbWVzc2FnZV1dKTtcbiAgICBzZXQodXNlckhhc1JlcGxpZWRBdG9tLCB0cnVlKTtcbiAgICBzZXQocXVldWVVc2VyRXZlbnRBdG9tLCB7XG4gICAgICBldmVudElkOiBtZXNzYWdlLmlkLFxuICAgICAgY3JlYXRlZEF0OiBtZXNzYWdlLmNyZWF0ZWRBdCxcbiAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkLFxuICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICBxdWVyeTogcXVlcnlUeXBlZCxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBpZiAodHJhY2tFdmVudCkge1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0VXNlck1lc3NhZ2VJbnB1dCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIG1lc3NhZ2VfaWQ6IG1lc3NhZ2UuaWQsXG4gICAgICAgICAgbWVzc2FnZV9yb2xlOiBtZXNzYWdlLnJvbGUsXG4gICAgICAgICAgbWVzc2FnZV90eXBlOiBtZXNzYWdlLnR5cGUsXG4gICAgICAgICAgbWVzc2FnZV9tZXRhZGF0YToge1xuICAgICAgICAgICAgY29udGVudDogbWVzc2FnZT8ubWV0YWRhdGE/LmNvbnRlbnQsIC8vIFJlbW92ZWQgYW1wbGl0dWRlU2FmZVN0cmluZ1xuICAgICAgICAgICAgY3JlYXRlZF9hdDogbWVzc2FnZS5jcmVhdGVkQXQsXG4gICAgICAgICAgICB1c2VyX3R5cGVkOiB1c2VyVHlwZWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgYWxzb1NlbmRUb0dvb2dsZUFuYWx5dGljczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuKTtcbiIsImltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IGF0b21XaXRoU3RvcmFnZSB9IGZyb20gXCJqb3RhaS91dGlsc1wiO1xuaW1wb3J0IExvZ2dlciBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyXCI7XG5pbXBvcnQge1xuICBnZXRBdG9tU3RvcmUsXG4gIHNlc3Npb25TdG9yYWdlVXRpbCxcbn0gZnJvbSBcInNyYy9hdG9tcy9hdG9tU3RvcmUvYXRvbVN0b3JlXCI7XG5cbmV4cG9ydCBjb25zdCBBUFBfSU5JVElBTF9TVEFSVF9USU1FX0tFWSA9IFwic3BpZmZ5LWFwcC1pbml0aWFsLXN0YXJ0LXRpbWVcIjtcbmV4cG9ydCBjb25zdCBQQUdFX0xPQURfT0ZGU0VUX1RJTUVfS0VZID0gXCJzcGlmZnktcGFnZS1sb2FkLW9mZnNldC10aW1lXCI7XG4vKipcbiAqIFRoZSBkaWZmZXJlbnQgcGVyZm9ybWFuY2UgbWV0cmljcyB0aGF0IGNhbiBiZSBsb2dnZWQuIEFsbCB0aW1lcyBhcmUgcmVsYXRpdmUgdG8gdGhlXG4gKiBpbml0aWFsIHN0YXJ0IHRpbWUgb2YgdGhlIGFwcCBhbmQgYXJlIHN0b3JlZCBpbiBtaWxsaXNlY29uZHMuXG4gKi9cbmV4cG9ydCBlbnVtIFBlcmZNZXRyaWNzRXZlbnRzIHtcbiAgUGFnZUxvYWRPZmZzZXQgPSBcInBhZ2VfbG9hZF9vZmZzZXRfbXNcIixcbiAgTWFpbkJ1bmRsZUxvYWRlZCA9IFwibWFpbl9idW5kbGVfbG9hZGVkX21zXCIsXG4gIE9yZ0NvbmZpZ0xvYWRTdGFydGVkID0gXCJvcmdfY29uZmlnX2xvYWRfc3RhcnRlZF9tc1wiLFxuICBPcmdDb25maWdMb2FkRW5kZWQgPSBcIm9yZ19jb25maWdfbG9hZF9lbmRlZF9tc1wiLFxuICBGaXJzdFJlc3BvbnNlU3RhcnRlZCA9IFwiZmlyc3RfcmVzcG9uc2Vfc3RhcnRlZF9tc1wiLFxuICBGaXJzdFJlc3BvbnNlQ29tcGxldGVkID0gXCJmaXJzdF9yZXNwb25zZV9jb21wbGV0ZWRfbXNcIixcbiAgRmlyc3RTdWdnZXN0aW9uc1N0YXJ0ZWQgPSBcImZpcnN0X3N1Z2dlc3Rpb25zX3N0YXJ0ZWRfbXNcIixcbiAgRmlyc3RTdWdnZXN0aW9uc0NvbXBsZXRlZCA9IFwiZmlyc3Rfc3VnZ2VzdGlvbnNfY29tcGxldGVkX21zXCIsXG4gIEVtYmVkZGVkV2lkZ2V0UmVuZGVyZWQgPSBcImVtYmVkZGVkX3dpZGdldF9yZW5kZXJlZF9tc1wiLFxuICBGbG9hdGluZ0J1dHRvblJlbmRlcmVkID0gXCJmbG9hdGluZ19idXR0b25fcmVuZGVyZWRfbXNcIixcbiAgVG9wU3VnZ2VzdGlvbnNCYXJSZW5kZXJlZCA9IFwidG9wX3N1Z2dlc3Rpb25zX2Jhcl9yZW5kZXJlZF9tc1wiLFxuICBCb3R0b21TdWdnZXN0aW9uc0JhclJlbmRlcmVkID0gXCJib3R0b21fc3VnZ2VzdGlvbnNfYmFyX3JlbmRlcmVkX21zXCIsXG4gIFNlYXJjaFByb21wdFJlbmRlcmVkID0gXCJzZWFyY2hfcHJvbXB0X3JlbmRlcmVkX21zXCIsXG59XG5cbmNvbnN0IGludGVybmFsUGVyZk1ldHJpY3NBdG9tID0gYXRvbTxNYXA8UGVyZk1ldHJpY3NFdmVudHMsIG51bWJlcj4+KG5ldyBNYXAoKSk7XG5leHBvcnQgY29uc3QgYXBwSW5pdGlhbFN0YXJ0VGltZU1zQXRvbSA9IGF0b21XaXRoU3RvcmFnZTxzdHJpbmcgfCB1bmRlZmluZWQ+KFxuICBBUFBfSU5JVElBTF9TVEFSVF9USU1FX0tFWSxcbiAgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShBUFBfSU5JVElBTF9TVEFSVF9USU1FX0tFWSkgPz8gdW5kZWZpbmVkLFxuICBzZXNzaW9uU3RvcmFnZVV0aWwsXG4gIHtcbiAgICBnZXRPbkluaXQ6IHRydWUsXG4gIH1cbik7XG5cbmV4cG9ydCBjb25zdCBwYWdlTG9hZE9mZnNldFRpbWVBdG9tID0gYXRvbVdpdGhTdG9yYWdlPHN0cmluZyB8IHVuZGVmaW5lZD4oXG4gIFBBR0VfTE9BRF9PRkZTRVRfVElNRV9LRVksXG4gIHNlc3Npb25TdG9yYWdlLmdldEl0ZW0oUEFHRV9MT0FEX09GRlNFVF9USU1FX0tFWSkgPz8gdW5kZWZpbmVkLFxuICBzZXNzaW9uU3RvcmFnZVV0aWwsXG4gIHtcbiAgICBnZXRPbkluaXQ6IHRydWUsXG4gIH1cbik7XG5cbi8qKlxuICogUmVzZXRzIHRoZSBwZXJmb3JtYW5jZSBtZXRyaWNzIGF0b20gdG8gYW4gZW1wdHkgbWFwLiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgYWZ0ZXIgdGhlIHBlcmZvcm1hbmNlXG4gKiBtZXRyaWNzIGhhdmUgYmVlbiByZXBvcnRlZCB0byBhbXBsaXR1ZGUuIE9uIFNQQSwgaXQgZW5zdXJlcyB0aGF0IHdlIGNhbiBzdGlsbCBjYXB0dXJlIG1ldHJpY3MgYXNcbiAqIHRoZSB1c2VyIG5hdmlnYXRlcyBhcm91bmQgdGhlIGFwcCAoYWx0aG91Z2ggdGhlcmUgaXMgbW9yZSB3b3JrIHRvIGJlIGRvbmUgdG8gZnVsbHkgZW5hYmxlIHRoaXMpLlxuICogT24gbm9uLVNQQSwgaXQgZW5zdXJlcyB0aGF0IHByZXZpb3VzbHkgY2FwdHVyZWQgbWV0cmljcyBhcmUgbm90IHJlcG9ydGVkIGFnYWluLlxuICovXG5leHBvcnQgY29uc3QgcmVzZXRQZXJmb3JtYW5jZU1ldHJpY3NBdG9tID0gKCkgPT4ge1xuICBjb25zdCBhdG9tU3RvcmUgPSBnZXRBdG9tU3RvcmUoKTtcbiAgYXRvbVN0b3JlLnNldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSwgbmV3IE1hcCgpKTtcbn07XG5leHBvcnQgY29uc3QgcGVyZm9ybWFuY2VNZXRyaWNzQXRvbSA9IGF0b20oKGdldCkgPT5cbiAgZ2V0KGludGVybmFsUGVyZk1ldHJpY3NBdG9tKVxuKTtcbmV4cG9ydCBjb25zdCBoYXNSZXBvcnRlZFBlcmZvcm1hbmNlTWV0cmljc0F0b20gPSBhdG9tPGJvb2xlYW4+KGZhbHNlKTtcblxuLyoqXG4gKiBMb2dzIGEgcGVyZm9ybWFuY2UgbWV0cmljIGJ5IGNhcHR1cmluZyB0aGUgZGVsdGEgYmV0d2VlbiB0aGUgaW5pdGlhbCBhcHAgc3RhcnQgdGltZVxuICogYW5kIHRoZSBjdXJyZW50IHRpbWUuIElmIHRoZSBtZXRyaWMgaGFzIGFscmVhZHkgYmVlbiBsb2dnZWQsIGl0IHdpbGwgbm90IGJlIGxvZ2dlZCBhZ2Fpbi5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgVGhlIHBlcmZvcm1hbmNlIG1ldHJpYyBuYW1lIHRvIGxvZy5cbiAqL1xuZXhwb3J0IGNvbnN0IGxvZ1BlcmZNZXRyaWNBdG9tID0gYXRvbShcbiAgbnVsbCxcbiAgKGdldCwgc2V0LCB2YWx1ZTogUGVyZk1ldHJpY3NFdmVudHMpID0+IHtcbiAgICBjb25zdCBpbml0aWFsVGltZVN0b3JhZ2VWYWx1ZSA9IGdldChhcHBJbml0aWFsU3RhcnRUaW1lTXNBdG9tKTtcbiAgICBjb25zdCBpbml0aWFsVGltZU1zID0gaW5pdGlhbFRpbWVTdG9yYWdlVmFsdWVcbiAgICAgID8gcGFyc2VJbnQoaW5pdGlhbFRpbWVTdG9yYWdlVmFsdWUsIDEwKVxuICAgICAgOiB1bmRlZmluZWQ7XG5cbiAgICBpZiAoaW5pdGlhbFRpbWVNcyA9PSBudWxsKSB7XG4gICAgICBMb2dnZXIubG9nV2FybihcbiAgICAgICAgYFtzcGlmZnktYWldIE5vIGluaXRpYWwgYXBwIHN0YXJ0IHRpbWUgZm91bmQuIFNraXBwaW5nLi4uYCxcbiAgICAgICAgdW5kZWZpbmVkXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRQZXJmTWV0cmljcyA9IGdldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSk7XG4gICAgaWYgKGN1cnJlbnRQZXJmTWV0cmljcy5oYXModmFsdWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY3VycmVudFRpbWVNcyA9IERhdGUubm93KCk7XG4gICAgY29uc3QgZGVsdGFNcyA9IGN1cnJlbnRUaW1lTXMgLSBpbml0aWFsVGltZU1zO1xuICAgIGN1cnJlbnRQZXJmTWV0cmljcy5zZXQodmFsdWUsIGRlbHRhTXMpO1xuICAgIHNldChpbnRlcm5hbFBlcmZNZXRyaWNzQXRvbSwgY3VycmVudFBlcmZNZXRyaWNzKTtcbiAgfVxuKTtcbiIsImltcG9ydCB7IFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IGF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyBGb3JtU3VibWl0dGVkQXR0cmlidXRlcywgVXNlckV2ZW50IH0gZnJvbSAnQGVudml2ZS1haS90eXBlcyc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBmb3JtU3VibWl0QXRvbSwgcmVwbHlFdmVudENhdGVnb3J5QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0JztcbmltcG9ydCB7IHF1ZXVlVXNlckV2ZW50QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZSc7XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVGb3JtU3VibWl0dGVkQXRvbSA9IGF0b20obnVsbCwgKF8sIHNldCwgZm9ybTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHtcbiAgc2V0KHJlcGx5RXZlbnRDYXRlZ29yeUF0b20sIFVzZXJFdmVudENhdGVnb3J5LkZvcm1TdWJtaXR0ZWQpO1xuICBzZXQoZm9ybVN1Ym1pdEF0b20sIGZvcm0pO1xuXG4gIGNvbnN0IGZvcm1Vc2VyRXZlbnQgPSB7XG4gICAgZXZlbnRJZDogdXVpZCgpLFxuICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkLFxuICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgIGF0dHJpYnV0ZXM6IGZvcm0sXG4gIH0gc2F0aXNmaWVzIFVzZXJFdmVudDtcbiAgc2V0KHF1ZXVlVXNlckV2ZW50QXRvbSwgZm9ybVVzZXJFdmVudCk7XG59KTtcbiIsImltcG9ydCB7IGF0b20gfSBmcm9tIFwiam90YWlcIjtcbmltcG9ydCB7IE1lc3NhZ2UsIE1lc3NhZ2VSb2xlLCBNZXNzYWdlVHlwZSwgU3VnZ2VzdGlvbiB9IGZyb20gXCJzcmMvdHlwZXNcIjtcbmltcG9ydCB7XG4gIG1lc3NhZ2VzQXRvbSxcbiAgcmVwbHlFdmVudENhdGVnb3J5QXRvbSxcbiAgc3VnZ2VzdGlvbkF0b20sXG4gIHVzZXJIYXNSZXBsaWVkQXRvbSxcbn0gZnJvbSBcInNyYy9hdG9tcy9jaGF0XCI7XG5pbXBvcnQgeyBGaWx0ZXJBdHRyaWJ1dGUsIFByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXMgfSBmcm9tIFwic3JjL3R5cGVzXCI7XG5cbmltcG9ydCB7IFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHsgcXVldWVVc2VyRXZlbnRBdG9tIH0gZnJvbSBcIi4vbWVzc2FnZVF1ZXVlXCI7XG5cbmV4cG9ydCBjb25zdCBoYW5kbGVTdWdnZXN0aW9uQXRvbSA9IGF0b20oXG4gIG51bGwsXG4gIChnZXQsIHNldCwgc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbikgPT4ge1xuICAgIGNvbnN0IG5ld01lc3NhZ2U6IE1lc3NhZ2UgPSB7XG4gICAgICBpZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgIHJvbGU6IE1lc3NhZ2VSb2xlLlVzZXIsXG4gICAgICB0eXBlOiBNZXNzYWdlVHlwZS5TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgc3VnZ2VzdGlvbklkOiBzdWdnZXN0aW9uLmlkLFxuICAgICAgICBzdWdnZXN0aW9uQ29udGVudDogc3VnZ2VzdGlvbi5jb250ZW50LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgc2V0KHJlcGx5RXZlbnRDYXRlZ29yeUF0b20sIFVzZXJFdmVudENhdGVnb3J5LlN1Z2dlc3Rpb25DbGlja2VkKTtcbiAgICBzZXQoc3VnZ2VzdGlvbkF0b20sIHN1Z2dlc3Rpb24pO1xuICAgIHNldChtZXNzYWdlc0F0b20sIFsuLi5nZXQobWVzc2FnZXNBdG9tKSwgW25ld01lc3NhZ2VdXSk7XG4gICAgc2V0KHVzZXJIYXNSZXBsaWVkQXRvbSwgdHJ1ZSk7XG4gICAgc2V0KHF1ZXVlVXNlckV2ZW50QXRvbSwge1xuICAgICAgZXZlbnRJZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICAgIGNyZWF0ZWRBdDogbmV3TWVzc2FnZS5jcmVhdGVkQXQsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIHN1Z2dlc3Rpb25JZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbik7XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgbWVzc2FnZXNBdG9tLCB1c2VySGFzUmVwbGllZEF0b20gfSBmcm9tICdzcmMvYXRvbXMvY2hhdCc7XG5cbmV4cG9ydCBjb25zdCBsYXN0QXNzaXN0YW50TWVzc2FnZUF0b20gPSBhdG9tKChnZXQpID0+IHtcbiAgY29uc3QgbWVzc2FnZXMgPSBnZXQobWVzc2FnZXNBdG9tKTtcbiAgY29uc3QgdXNlckhhc1JlcGxpZWQgPSBnZXQodXNlckhhc1JlcGxpZWRBdG9tKTtcbiAgaWYgKG1lc3NhZ2VzLmxlbmd0aCA+IDAgJiYgIXVzZXJIYXNSZXBsaWVkKSB7XG4gICAgcmV0dXJuIG1lc3NhZ2VzW21lc3NhZ2VzLmxlbmd0aCAtIDFdO1xuICB9XG4gIHJldHVybiBudWxsO1xufSk7XG4iLCJpbXBvcnQgeyBhdG9tIH0gZnJvbSBcImpvdGFpXCI7XG5pbXBvcnQgeyBnZXRBdG9tU3RvcmUgfSBmcm9tIFwic3JjL2F0b21zL2F0b21TdG9yZS9hdG9tU3RvcmVcIjtcblxuY29uc3QgaW50ZXJuYWxXaWRnZXRBcnJheUF0b20gPSBhdG9tPEhUTUxFbGVtZW50W10+KFtdKTtcblxuZXhwb3J0IGNvbnN0IHdpZGdldEFycmF5QXRvbSA9IGF0b20oKGdldCkgPT4gZ2V0KGludGVybmFsV2lkZ2V0QXJyYXlBdG9tKSk7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBjYWxsIGlzIHVzZWQgdG8gY3JlYXRlIGEgbGlzdCBvZiB0aGUgU3BpZmZ5IHdpZGdldHNcbiAqIHRoYXQgYXJlIHJlbmRlcmluZyBvbiB0aGUgcGFnZS5cbiAqXG4gKiBJdCBpcyB1c2VkIGJ5IHRoZSBGbG9hdGluZ0J1dHRvbiB3aWRnZXQgdG8gc2xpZGUgb3V0IG9mIHZpZXcgd2hlbiBpdFxuICogb3ZlcmxhcHMgd2l0aCBhbm90aGVyIFNwaWZmeSB3aWRnZXQuXG4gKlxuICogVGhlIHNwaWZmeSB3aWRnZXRzIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgdGhpcyBhcnJheSBmb3IgdGhlIGZsb2F0aW5nIGJ1dHRvblxuICogdG8ga25vdyBhYm91dCB0aGVtLlxuICpcbiAqIFRvZGF5IHRoZSBcIlN1Z2dlc3Rpb25CYXJcIiB3aWRnZXQgaXMgbm90IGFkZGVkLCBidXQgdGhlIG90aGVyIHdpZGdldHMgYXJlLlxuICpcbiAqL1xuZXhwb3J0IGNvbnN0IGFkZFdpZGdldCA9IChyZWY6IEhUTUxFbGVtZW50LCBpZHg/OiBudW1iZXIpID0+IHtcbiAgY29uc3QgYXRvbVN0b3JlID0gZ2V0QXRvbVN0b3JlKCk7XG4gIGNvbnN0IHZhbCA9IGF0b21TdG9yZS5nZXQoaW50ZXJuYWxXaWRnZXRBcnJheUF0b20pO1xuICBjb25zdCBpbnNlcnRJZHggPSBpZHggPz8gdmFsLmxlbmd0aDtcbiAgdmFsW2luc2VydElkeF0gPSByZWY7XG4gIGF0b21TdG9yZS5zZXQoaW50ZXJuYWxXaWRnZXRBcnJheUF0b20sIHZhbCk7XG59O1xuIiwiaW1wb3J0IHsgYXRvbSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7XG4gIHJlc3BvbnNlU3RyZWFtaW5nQXRvbSxcbiAgc3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSxcbiAgbWVzc2FnZXNBdG9tLFxuICB1c2VyUXVlcnlBdG9tLFxuICByZXBseUV2ZW50Q2F0ZWdvcnlBdG9tLFxuICB1c2VySGFzUmVwbGllZEF0b20sXG4gIGFza1F1ZXN0aW9uQnRuQ2xpY2tlZEF0b20sXG4gIHN1Z2dlc3Rpb25zQXRvbSxcbiAgY2hhdElzT3BlbkF0b20sXG4gIGNoYXRPblRvZ2dsZUF0b20sXG4gIHVzZXJFdmVudHNBdG9tLFxuICBzdWdnZXN0aW9uQXRvbSxcbn0gZnJvbSAnLi9jaGF0U3RhdGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2NoYXRTdGF0ZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcGxpZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9wZXJmb3JtYW5jZU1ldHJpY3MnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtJztcbmV4cG9ydCAqIGZyb20gJy4vc3VnZ2VzdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9sYXN0TWVzc2FnZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlbmRlcmVkV2lkZ2V0UmVmcyc7XG5cbmV4cG9ydCBjb25zdCBjaGF0QXRvbSA9IGF0b20oKGdldCkgPT4gKHtcbiAgdXNlckhhc1JlcGxpZWQ6IGdldCh1c2VySGFzUmVwbGllZEF0b20pLFxuICByZXBseUV2ZW50Q2F0ZWdvcnk6IGdldChyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tKSxcbiAgdXNlclF1ZXJ5OiBnZXQodXNlclF1ZXJ5QXRvbSksXG4gIHN1Z2dlc3Rpb246IGdldChzdWdnZXN0aW9uQXRvbSksXG4gIGFza1F1ZXN0aW9uQnRuQ2xpY2tlZDogZ2V0KGFza1F1ZXN0aW9uQnRuQ2xpY2tlZEF0b20pLFxuICBtZXNzYWdlczogZ2V0KG1lc3NhZ2VzQXRvbSksXG4gIHVzZXJFdmVudHM6IGdldCh1c2VyRXZlbnRzQXRvbSksXG4gIHN1Z2dlc3Rpb25zOiBnZXQoc3VnZ2VzdGlvbnNBdG9tKSxcbiAgc3VnZ2VzdGlvbnNMb2FkaW5nOiBnZXQoc3VnZ2VzdGlvbnNMb2FkaW5nQXRvbSksXG4gIHJlc3BvbnNlU3RyZWFtaW5nOiBnZXQocmVzcG9uc2VTdHJlYW1pbmdBdG9tKSxcbiAgaXNPcGVuOiBnZXQoY2hhdElzT3BlbkF0b20pLFxuICBvblRvZ2dsZTogZ2V0KGNoYXRPblRvZ2dsZUF0b20pLFxufSkpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQVFBLE1B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
|