@envive-ai/react-hooks 0.3.45 → 0.3.47

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.
Files changed (293) hide show
  1. package/dist/application/commerce-api.cjs +73 -3
  2. package/dist/application/commerce-api.d.cts +16 -1
  3. package/dist/application/commerce-api.d.ts +16 -1
  4. package/dist/application/commerce-api.js +73 -3
  5. package/dist/application/models/api/userEvent.d.cts +9 -2
  6. package/dist/application/models/api/userEvent.d.ts +9 -2
  7. package/dist/application/models/api/widgetText.d.cts +2 -1
  8. package/dist/application/models/api/widgetText.d.ts +2 -1
  9. package/dist/application/models/featureGates.cjs +2 -1
  10. package/dist/application/models/featureGates.d.cts +2 -1
  11. package/dist/application/models/featureGates.d.ts +2 -1
  12. package/dist/application/models/featureGates.js +2 -1
  13. package/dist/application/models/graphql/queries/getProductOptionsQuery.cjs +33 -0
  14. package/dist/application/models/graphql/queries/getProductOptionsQuery.d.cts +28 -0
  15. package/dist/application/models/graphql/queries/getProductOptionsQuery.d.ts +28 -0
  16. package/dist/application/models/graphql/queries/getProductOptionsQuery.js +32 -0
  17. package/dist/application/models/index.cjs +1 -1
  18. package/dist/application/models/index.js +1 -1
  19. package/dist/application/models/validators/validateGraphQLFrontendConfig.cjs +1 -1
  20. package/dist/application/models/validators/validateGraphQLFrontendConfig.js +1 -1
  21. package/dist/application/models/validators/validateResponse.cjs +2 -1
  22. package/dist/application/models/validators/validateResponse.js +2 -1
  23. package/dist/application/models/validators/validateUserEvent.cjs +3 -3
  24. package/dist/application/models/validators/validateUserEvent.js +3 -3
  25. package/dist/application/utils/elementObserver.d.cts +2 -2
  26. package/dist/application/utils/elementObserver.d.ts +2 -2
  27. package/dist/application/utils/index.cjs +2 -0
  28. package/dist/application/utils/index.d.cts +2 -1
  29. package/dist/application/utils/index.d.ts +2 -1
  30. package/dist/application/utils/index.js +2 -1
  31. package/dist/application/utils/messageFromAddToCartEvent.cjs +32 -0
  32. package/dist/application/utils/messageFromAddToCartEvent.d.cts +19 -0
  33. package/dist/application/utils/messageFromAddToCartEvent.d.ts +19 -0
  34. package/dist/application/utils/messageFromAddToCartEvent.js +31 -0
  35. package/dist/application/utils/widgetTextFromApiWidgetTextResponse.cjs +3 -2
  36. package/dist/application/utils/widgetTextFromApiWidgetTextResponse.js +3 -2
  37. package/dist/atoms/app/index.cjs +1 -1
  38. package/dist/atoms/app/index.d.cts +7 -7
  39. package/dist/atoms/app/index.d.ts +7 -7
  40. package/dist/atoms/app/index.js +1 -1
  41. package/dist/atoms/app/variant.cjs +2 -2
  42. package/dist/atoms/app/variant.d.cts +7 -7
  43. package/dist/atoms/app/variant.d.ts +7 -7
  44. package/dist/atoms/app/variant.js +2 -2
  45. package/dist/atoms/chat/chatState.d.cts +19 -19
  46. package/dist/atoms/chat/chatState.d.ts +19 -19
  47. package/dist/atoms/chat/form.d.cts +2 -2
  48. package/dist/atoms/chat/form.d.ts +2 -2
  49. package/dist/atoms/chat/index.cjs +1 -1
  50. package/dist/atoms/chat/index.d.cts +2 -2
  51. package/dist/atoms/chat/index.d.ts +2 -2
  52. package/dist/atoms/chat/index.js +1 -1
  53. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  54. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  55. package/dist/atoms/chat/messageQueue.d.cts +6 -6
  56. package/dist/atoms/chat/messageQueue.d.ts +6 -6
  57. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  58. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  59. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  60. package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
  61. package/dist/atoms/chat/replies.d.cts +3 -3
  62. package/dist/atoms/chat/replies.d.ts +2 -2
  63. package/dist/atoms/chat/suggestions.d.cts +2 -2
  64. package/dist/atoms/chat/suggestions.d.ts +2 -2
  65. package/dist/atoms/envive/enviveConfig.cjs +7 -4
  66. package/dist/atoms/envive/enviveConfig.d.cts +16 -14
  67. package/dist/atoms/envive/enviveConfig.d.ts +16 -14
  68. package/dist/atoms/envive/enviveConfig.js +6 -4
  69. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  70. package/dist/atoms/globalSearch/globalSearch.d.ts +5 -5
  71. package/dist/atoms/org/customerService.d.cts +6 -6
  72. package/dist/atoms/org/customerService.d.ts +6 -6
  73. package/dist/atoms/org/graphqlConfig.cjs +1 -1
  74. package/dist/atoms/org/graphqlConfig.d.cts +6 -6
  75. package/dist/atoms/org/graphqlConfig.d.ts +6 -6
  76. package/dist/atoms/org/graphqlConfig.js +1 -1
  77. package/dist/atoms/org/index.cjs +1 -1
  78. package/dist/atoms/org/index.js +1 -1
  79. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  80. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  81. package/dist/atoms/org/orgAnalyticsConfig.d.cts +4 -4
  82. package/dist/atoms/org/orgAnalyticsConfig.d.ts +4 -4
  83. package/dist/atoms/search/chatSearch.cjs +1 -1
  84. package/dist/atoms/search/chatSearch.d.cts +17 -17
  85. package/dist/atoms/search/chatSearch.d.ts +17 -17
  86. package/dist/atoms/search/chatSearch.js +1 -1
  87. package/dist/atoms/search/searchAPI.cjs +1 -1
  88. package/dist/atoms/search/searchAPI.d.cts +13 -13
  89. package/dist/atoms/search/searchAPI.d.ts +13 -13
  90. package/dist/atoms/search/searchAPI.js +1 -1
  91. package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
  92. package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
  93. package/dist/contexts/enviveConfigContext/enviveConfigContext.cjs +6 -4
  94. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.cts +3 -1
  95. package/dist/contexts/enviveConfigContext/enviveConfigContext.d.ts +3 -1
  96. package/dist/contexts/enviveConfigContext/enviveConfigContext.js +6 -4
  97. package/dist/contexts/enviveContext/enviveContext.cjs +7 -3
  98. package/dist/contexts/enviveContext/enviveContext.d.cts +5 -1
  99. package/dist/contexts/enviveContext/enviveContext.d.ts +5 -1
  100. package/dist/contexts/enviveContext/enviveContext.js +7 -3
  101. package/dist/contexts/enviveContext/types.d.cts +1 -1
  102. package/dist/contexts/enviveContext/types.d.ts +1 -1
  103. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.cjs +2 -97
  104. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.cts +3 -25
  105. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts +3 -25
  106. package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.js +3 -97
  107. package/dist/contexts/featureFlagServiceContext/index.cjs +2 -1
  108. package/dist/contexts/featureFlagServiceContext/index.d.cts +2 -1
  109. package/dist/contexts/featureFlagServiceContext/index.d.ts +2 -1
  110. package/dist/contexts/featureFlagServiceContext/index.js +2 -1
  111. package/dist/contexts/graphqlContext/mockV3Config.cjs +1 -1
  112. package/dist/contexts/graphqlContext/mockV3Config.js +1 -1
  113. package/dist/contexts/localStorageContext/index.cjs +2 -1
  114. package/dist/contexts/localStorageContext/index.d.cts +2 -1
  115. package/dist/contexts/localStorageContext/index.d.ts +2 -1
  116. package/dist/contexts/localStorageContext/index.js +2 -1
  117. package/dist/contexts/localStorageContext/localStorageContext.cjs +5 -11
  118. package/dist/contexts/localStorageContext/localStorageContext.d.cts +3 -7
  119. package/dist/contexts/localStorageContext/localStorageContext.d.ts +3 -7
  120. package/dist/contexts/localStorageContext/localStorageContext.js +3 -8
  121. package/dist/contexts/localStorageContext/localStorageKeys.cjs +12 -0
  122. package/dist/contexts/localStorageContext/localStorageKeys.d.cts +9 -0
  123. package/dist/contexts/localStorageContext/localStorageKeys.d.ts +9 -0
  124. package/dist/contexts/localStorageContext/localStorageKeys.js +11 -0
  125. package/dist/contexts/pageContext/pageContext.cjs +2 -2
  126. package/dist/contexts/pageContext/pageContext.js +2 -2
  127. package/dist/contexts/salesAgentContext/chatAPI.cjs +15 -4
  128. package/dist/contexts/salesAgentContext/chatAPI.d.cts +4 -1
  129. package/dist/contexts/salesAgentContext/chatAPI.d.ts +4 -1
  130. package/dist/contexts/salesAgentContext/chatAPI.js +16 -5
  131. package/dist/contexts/salesAgentContext/salesAgentContext.cjs +15 -4
  132. package/dist/contexts/salesAgentContext/salesAgentContext.d.cts +2 -1
  133. package/dist/contexts/salesAgentContext/salesAgentContext.d.ts +2 -1
  134. package/dist/contexts/salesAgentContext/salesAgentContext.js +16 -5
  135. package/dist/contexts/salesAgentContext/salesAgentService.cjs +12 -4
  136. package/dist/contexts/salesAgentContext/salesAgentService.js +12 -4
  137. package/dist/contexts/searchContext/searchContext.cjs +1 -1
  138. package/dist/contexts/searchContext/searchContext.js +1 -1
  139. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
  140. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.ts +2 -2
  141. package/dist/contexts/types.cjs +1 -1
  142. package/dist/contexts/types.d.cts +3 -1
  143. package/dist/contexts/types.d.ts +3 -1
  144. package/dist/contexts/types.js +1 -1
  145. package/dist/contexts/typesV3.cjs +1 -1
  146. package/dist/contexts/typesV3.d.cts +11 -2
  147. package/dist/contexts/typesV3.d.ts +12 -3
  148. package/dist/contexts/typesV3.js +1 -1
  149. package/dist/contexts/widgetConfigContext/widgetConfigContext.cjs +1 -1
  150. package/dist/contexts/widgetConfigContext/widgetConfigContext.js +1 -1
  151. package/dist/hooks/AddToCart/addToCartErrorMessage.cjs +7 -0
  152. package/dist/hooks/AddToCart/addToCartErrorMessage.d.cts +5 -0
  153. package/dist/hooks/AddToCart/addToCartErrorMessage.d.ts +5 -0
  154. package/dist/hooks/AddToCart/addToCartErrorMessage.js +6 -0
  155. package/dist/hooks/AddToCart/createAddToCartUserEvent.cjs +20 -0
  156. package/dist/hooks/AddToCart/createAddToCartUserEvent.d.cts +17 -0
  157. package/dist/hooks/AddToCart/createAddToCartUserEvent.d.ts +17 -0
  158. package/dist/hooks/AddToCart/createAddToCartUserEvent.js +19 -0
  159. package/dist/hooks/AddToCart/index.cjs +9 -0
  160. package/dist/hooks/AddToCart/index.d.cts +5 -0
  161. package/dist/hooks/AddToCart/index.d.ts +5 -0
  162. package/dist/hooks/AddToCart/index.js +6 -0
  163. package/dist/hooks/AddToCart/parseAddToCartFunction.cjs +27 -0
  164. package/dist/hooks/AddToCart/parseAddToCartFunction.d.cts +13 -0
  165. package/dist/hooks/AddToCart/parseAddToCartFunction.d.ts +13 -0
  166. package/dist/hooks/AddToCart/parseAddToCartFunction.js +27 -0
  167. package/dist/hooks/AddToCart/useAddToCart.cjs +24 -0
  168. package/dist/hooks/AddToCart/useAddToCart.d.cts +14 -0
  169. package/dist/hooks/AddToCart/useAddToCart.d.ts +14 -0
  170. package/dist/hooks/AddToCart/useAddToCart.js +23 -0
  171. package/dist/hooks/ChatToggle/useChatToggle.cjs +1 -1
  172. package/dist/hooks/ChatToggle/useChatToggle.js +1 -1
  173. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.cjs +6 -5
  174. package/dist/hooks/LocalStorageOperations/useLocalStorageOperations.js +3 -2
  175. package/dist/hooks/PageViewedEvent/usePageViewedEvent.cjs +6 -3
  176. package/dist/hooks/PageViewedEvent/usePageViewedEvent.js +6 -3
  177. package/dist/hooks/ProductDetails/index.cjs +9 -0
  178. package/dist/hooks/ProductDetails/index.d.cts +4 -0
  179. package/dist/hooks/ProductDetails/index.d.ts +4 -0
  180. package/dist/hooks/ProductDetails/index.js +4 -0
  181. package/dist/hooks/ProductDetails/useProductDetails.cjs +53 -0
  182. package/dist/hooks/ProductDetails/useProductDetails.d.cts +20 -0
  183. package/dist/hooks/ProductDetails/useProductDetails.d.ts +20 -0
  184. package/dist/hooks/ProductDetails/useProductDetails.js +52 -0
  185. package/dist/hooks/ProductDetails/variantSelection.cjs +42 -0
  186. package/dist/hooks/ProductDetails/variantSelection.d.cts +35 -0
  187. package/dist/hooks/ProductDetails/variantSelection.d.ts +35 -0
  188. package/dist/hooks/ProductDetails/variantSelection.js +38 -0
  189. package/dist/hooks/Search/useSearch.cjs +3 -3
  190. package/dist/hooks/Search/useSearch.d.cts +1 -1
  191. package/dist/hooks/Search/useSearch.d.ts +1 -1
  192. package/dist/hooks/Search/useSearch.js +3 -3
  193. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.cts +2 -2
  194. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +11 -2
  195. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.cts +1 -10
  196. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts +1 -10
  197. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +11 -2
  198. package/dist/hooks/WidgetInteraction/types.cjs +13 -3
  199. package/dist/hooks/WidgetInteraction/types.d.cts +29 -4
  200. package/dist/hooks/WidgetInteraction/types.d.ts +29 -4
  201. package/dist/hooks/WidgetInteraction/types.js +13 -3
  202. package/dist/hooks/WidgetInteraction/utils.cjs +2 -2
  203. package/dist/hooks/WidgetInteraction/utils.js +2 -2
  204. package/dist/hooks/utils.d.cts +1 -1
  205. package/dist/hooks/utils.d.ts +1 -1
  206. package/dist/services/amplitudeService/amplitudeService.cjs +18 -11
  207. package/dist/services/amplitudeService/amplitudeService.d.cts +5 -2
  208. package/dist/services/amplitudeService/amplitudeService.d.ts +5 -2
  209. package/dist/services/amplitudeService/amplitudeService.js +16 -8
  210. package/dist/services/enviveConfigService/enviveConfigService.cjs +36 -4
  211. package/dist/services/enviveConfigService/enviveConfigService.d.cts +4 -1
  212. package/dist/services/enviveConfigService/enviveConfigService.d.ts +4 -1
  213. package/dist/services/enviveConfigService/enviveConfigService.js +35 -3
  214. package/dist/services/enviveConfigService/fetchGraphQLConfig.cjs +9 -8
  215. package/dist/services/enviveConfigService/fetchGraphQLConfig.js +9 -7
  216. package/dist/services/featureFlagService/index.cjs +101 -0
  217. package/dist/services/featureFlagService/index.d.cts +28 -0
  218. package/dist/services/featureFlagService/index.d.ts +28 -0
  219. package/dist/services/featureFlagService/index.js +101 -0
  220. package/dist/services/ga4ProjectionService/ga4EventSchema.cjs +8 -2
  221. package/dist/services/ga4ProjectionService/ga4EventSchema.js +8 -2
  222. package/dist/services/hardcopyService/hardcopyService.cjs +4 -3
  223. package/dist/services/hardcopyService/hardcopyService.d.cts +1 -1
  224. package/dist/services/hardcopyService/hardcopyService.d.ts +1 -1
  225. package/dist/services/hardcopyService/hardcopyService.js +4 -3
  226. package/dist/services/urlResolverWarmupService/index.cjs +54 -0
  227. package/dist/services/urlResolverWarmupService/index.d.cts +40 -0
  228. package/dist/services/urlResolverWarmupService/index.d.ts +40 -0
  229. package/dist/services/urlResolverWarmupService/index.js +54 -0
  230. package/dist/types/enviveConfig.d.cts +6 -2
  231. package/dist/types/enviveConfig.d.ts +6 -2
  232. package/dist/types/index.d.cts +2 -2
  233. package/dist/types/index.d.ts +2 -2
  234. package/package.json +18 -2
  235. package/src/application/__tests__/commerceApiAddToCartRehydration.test.ts +126 -0
  236. package/src/application/commerce-api.ts +142 -23
  237. package/src/application/models/api/userEvent.ts +8 -1
  238. package/src/application/models/api/widgetText.ts +3 -0
  239. package/src/application/models/featureGates.ts +5 -0
  240. package/src/application/models/graphql/queries/getProductOptionsQuery.ts +59 -0
  241. package/src/application/models/validators/__tests__/validateUserEvent.test.ts +41 -0
  242. package/src/application/models/validators/validateResponse.ts +1 -0
  243. package/src/application/models/validators/validateUserEvent.ts +7 -2
  244. package/src/application/utils/__tests__/messageFromAddToCartEvent.test.ts +109 -0
  245. package/src/application/utils/index.ts +1 -0
  246. package/src/application/utils/messageFromAddToCartEvent.ts +32 -0
  247. package/src/application/utils/widgetTextFromApiWidgetTextResponse.ts +1 -0
  248. package/src/atoms/app/index.ts +1 -1
  249. package/src/atoms/app/variant.ts +1 -1
  250. package/src/atoms/envive/enviveConfig.ts +6 -1
  251. package/src/atoms/org/graphqlConfig.ts +1 -1
  252. package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +5 -0
  253. package/src/contexts/enviveContext/enviveContext.tsx +10 -0
  254. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +6 -173
  255. package/src/contexts/localStorageContext/localStorageContext.tsx +2 -5
  256. package/src/contexts/localStorageContext/localStorageKeys.ts +8 -0
  257. package/src/contexts/pageContext/pageContext.tsx +1 -1
  258. package/src/contexts/salesAgentContext/__tests__/chatAPI.test.tsx +63 -0
  259. package/src/contexts/salesAgentContext/chatAPI.ts +20 -1
  260. package/src/contexts/salesAgentContext/salesAgentContext.tsx +17 -0
  261. package/src/contexts/salesAgentContext/salesAgentService.ts +12 -3
  262. package/src/contexts/types.ts +2 -0
  263. package/src/contexts/typesV3.ts +14 -0
  264. package/src/hooks/AddToCart/__tests__/parseAddToCartFunction.test.ts +31 -0
  265. package/src/hooks/AddToCart/__tests__/useAddToCart.test.tsx +204 -0
  266. package/src/hooks/AddToCart/addToCartErrorMessage.ts +2 -0
  267. package/src/hooks/AddToCart/createAddToCartUserEvent.ts +25 -0
  268. package/src/hooks/AddToCart/index.ts +4 -0
  269. package/src/hooks/AddToCart/parseAddToCartFunction.ts +31 -0
  270. package/src/hooks/AddToCart/useAddToCart.ts +35 -0
  271. package/src/hooks/PageViewedEvent/__tests__/usePageViewedEvent.test.ts +4 -4
  272. package/src/hooks/PageViewedEvent/usePageViewedEvent.ts +5 -1
  273. package/src/hooks/ProductDetails/__tests__/useProductDetails.test.tsx +129 -0
  274. package/src/hooks/ProductDetails/__tests__/variantSelection.test.ts +145 -0
  275. package/src/hooks/ProductDetails/index.ts +2 -0
  276. package/src/hooks/ProductDetails/useProductDetails.ts +62 -0
  277. package/src/hooks/ProductDetails/variantSelection.ts +61 -0
  278. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +15 -0
  279. package/src/hooks/WidgetInteraction/types.ts +43 -2
  280. package/src/hooks/WidgetInteraction/utils.ts +1 -1
  281. package/src/services/amplitudeService/__tests__/amplitudeService.test.ts +8 -8
  282. package/src/services/amplitudeService/amplitudeService.ts +43 -23
  283. package/src/services/enviveConfigService/__tests__/enviveConfigService.test.ts +208 -0
  284. package/src/services/enviveConfigService/enviveConfigService.ts +62 -2
  285. package/src/services/enviveConfigService/fetchGraphQLConfig.ts +17 -6
  286. package/src/services/featureFlagService/index.ts +176 -0
  287. package/src/services/ga4ProjectionService/__tests__/ga4ProjectionService.test.ts +36 -0
  288. package/src/services/ga4ProjectionService/ga4EventSchema.ts +7 -0
  289. package/src/services/hardcopyService/__tests__/hardcopyService.test.ts +47 -1
  290. package/src/services/hardcopyService/hardcopyService.ts +5 -0
  291. package/src/services/urlResolverWarmupService/__tests__/urlResolverWarmupService.test.ts +85 -0
  292. package/src/services/urlResolverWarmupService/index.ts +89 -0
  293. package/src/types/enviveConfig.ts +3 -0
@@ -1,14 +1,9 @@
1
1
  import logger_default from "../../application/logging/logger.js";
2
+ import { LocalStorageKeys } from "./localStorageKeys.js";
2
3
  import React, { createContext, useCallback, useContext, useEffect, useMemo } from "react";
3
4
  import { jsx } from "react/jsx-runtime";
4
5
 
5
6
  //#region src/contexts/localStorageContext/localStorageContext.tsx
6
- let LocalStorageKeys = /* @__PURE__ */ function(LocalStorageKeys$1) {
7
- LocalStorageKeys$1["ChatId"] = "v1-spiffy-chat-session-id";
8
- LocalStorageKeys$1["SpiffyOnOverride"] = "spiffy_on";
9
- LocalStorageKeys$1["EnviveOnOverride"] = "envive_on";
10
- return LocalStorageKeys$1;
11
- }({});
12
7
  const LocalStorageContext = createContext(null);
13
8
  const logger = new logger_default("localStorageContext");
14
9
  const LocalStorageProvider = ({ children }) => {
@@ -92,5 +87,5 @@ const useLocalStorage = () => {
92
87
  };
93
88
 
94
89
  //#endregion
95
- export { LocalStorageKeys, LocalStorageProvider, useLocalStorage };
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlQ29udGV4dC5qcyIsIm5hbWVzIjpbIkxvZ2dlciIsIkxvY2FsU3RvcmFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4iLCJ2YWx1ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9sb2NhbFN0b3JhZ2VDb250ZXh0L2xvY2FsU3RvcmFnZUNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lciB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvbG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcic7XG5cbmV4cG9ydCBlbnVtIExvY2FsU3RvcmFnZUtleXMge1xuICBDaGF0SWQgPSAndjEtc3BpZmZ5LWNoYXQtc2Vzc2lvbi1pZCcsXG4gIFNwaWZmeU9uT3ZlcnJpZGUgPSAnc3BpZmZ5X29uJyxcbiAgRW52aXZlT25PdmVycmlkZSA9ICdlbnZpdmVfb24nLFxufVxuXG5pbnRlcmZhY2UgTG9jYWxTdG9yYWdlQ29udGV4dFR5cGUge1xuICBzZXRJdGVtOiAoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGdldEl0ZW06IChrZXk6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVsbDtcbiAgc2V0U3BpZmZ5T25GZWF0dXJlRmxhZzogKHZhbHVlOiBib29sZWFuIHwgbnVsbCkgPT4gdm9pZDtcbiAgZ2V0U3BpZmZ5T25GZWF0dXJlRmxhZzogKCkgPT4gc3RyaW5nIHwgbnVsbDtcbiAgYXR0YWNoTGlzdGVuZXI6IChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcikgPT4gdm9pZDtcbiAgZGV0YWNoTGlzdGVuZXI6IChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcikgPT4gdm9pZDtcbiAgaXNBdmFpbGFibGU6IGJvb2xlYW47XG59XG5cbmNvbnN0IExvY2FsU3RvcmFnZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PExvY2FsU3RvcmFnZUNvbnRleHRUeXBlIHwgbnVsbD4obnVsbCk7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ2xvY2FsU3RvcmFnZUNvbnRleHQnKTtcblxuZXhwb3J0IGNvbnN0IExvY2FsU3RvcmFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIGNvbnN0IGlzQXZhaWxhYmxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiAhIXdpbmRvdy5sb2NhbFN0b3JhZ2U7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzQXZhaWxhYmxlKSB7XG4gICAgICBsb2dnZXIubG9nRXJyb3IoJ2xvY2FsU3RvcmFnZSBpcyBub3QgYXZhaWxhYmxlJywgdW5kZWZpbmVkKTtcbiAgICB9XG4gIH0sIFtpc0F2YWlsYWJsZV0pO1xuXG4gIGNvbnN0IHNldEl0ZW0gPSB1c2VDYWxsYmFjayhcbiAgICAoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICghaXNBdmFpbGFibGUpIHJldHVybjtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpO1xuICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IFN0b3JhZ2VFdmVudCgnc3RvcmFnZScsIHsga2V5LCBuZXdWYWx1ZTogdmFsdWUgfSkpO1xuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlXSxcbiAgKTtcblxuICBjb25zdCBnZXRJdGVtID0gdXNlQ2FsbGJhY2soXG4gICAgKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoIWlzQXZhaWxhYmxlKSByZXR1cm4gbnVsbDtcbiAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlXSxcbiAgKTtcblxuICBjb25zdCBzZXRTcGlmZnlPbkZlYXR1cmVGbGFnID0gdXNlQ2FsbGJhY2soXG4gICAgKHZhbHVlOiBib29sZWFuIHwgbnVsbCk6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuO1xuICAgICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExvY2FsU3RvcmFnZUtleXMuU3BpZmZ5T25PdmVycmlkZSwgJ3RydWUnKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExvY2FsU3RvcmFnZUtleXMuU3BpZmZ5T25PdmVycmlkZSwgJ2ZhbHNlJyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbaXNBdmFpbGFibGVdLFxuICApO1xuXG4gIGNvbnN0IGdldFNwaWZmeU9uRmVhdHVyZUZsYWcgPSB1c2VDYWxsYmFjaygoKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZUtleXMuU3BpZmZ5T25PdmVycmlkZSk7XG4gIH0sIFtpc0F2YWlsYWJsZV0pO1xuXG4gIGNvbnN0IGxpc3RlbmVyc0NhY2hlID0gdXNlTWVtbygoKSA9PiBuZXcgTWFwPHN0cmluZywgKGV2ZW50OiBTdG9yYWdlRXZlbnQpID0+IHZvaWQ+KCksIFtdKTtcblxuICBjb25zdCBsaXN0ZW5lckZvcktleSA9IHVzZUNhbGxiYWNrKFxuICAgIChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcik6ICgoZXZlbnQ6IFN0b3JhZ2VFdmVudCkgPT4gdm9pZCkgPT4ge1xuICAgICAgaWYgKCFsaXN0ZW5lcnNDYWNoZS5oYXMobGlzdGVuZXIuc3RvcmFnZUtleSkpIHtcbiAgICAgICAgY29uc3QgaGFuZGxlciA9IChldmVudDogU3RvcmFnZUV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50LmtleSAhPT0gbGlzdGVuZXIuc3RvcmFnZUtleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsb2dnZXIubG9nRGVidWcoYFN0b3JhZ2UgZXZlbnQga2V5PSR7ZXZlbnQua2V5fSwgdmFsdWU9YCwgZXZlbnQubmV3VmFsdWUpO1xuICAgICAgICAgIGxpc3RlbmVyLmxpc3RlbmVyKGV2ZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgbGlzdGVuZXJzQ2FjaGUuc2V0KGxpc3RlbmVyLnN0b3JhZ2VLZXksIGhhbmRsZXIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGxpc3RlbmVyc0NhY2hlLmdldChsaXN0ZW5lci5zdG9yYWdlS2V5KSE7XG4gICAgfSxcbiAgICBbbGlzdGVuZXJzQ2FjaGVdLFxuICApO1xuXG4gIGNvbnN0IGF0dGFjaExpc3RlbmVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGxpc3RlbmVyOiBMb2NhbFN0b3JhZ2VFdmVudExpc3RlbmVyKTogdm9pZCA9PiB7XG4gICAgICBpZiAoIWlzQXZhaWxhYmxlKSByZXR1cm47XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc3RvcmFnZScsIGxpc3RlbmVyRm9yS2V5KGxpc3RlbmVyKSk7XG4gICAgfSxcbiAgICBbaXNBdmFpbGFibGUsIGxpc3RlbmVyRm9yS2V5XSxcbiAgKTtcblxuICBjb25zdCBkZXRhY2hMaXN0ZW5lciA9IHVzZUNhbGxiYWNrKFxuICAgIChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcik6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3N0b3JhZ2UnLCBsaXN0ZW5lckZvcktleShsaXN0ZW5lcikpO1xuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlLCBsaXN0ZW5lckZvcktleV0sXG4gICk7XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBzZXRJdGVtLFxuICAgICAgZ2V0SXRlbSxcbiAgICAgIHNldFNwaWZmeU9uRmVhdHVyZUZsYWcsXG4gICAgICBnZXRTcGlmZnlPbkZlYXR1cmVGbGFnLFxuICAgICAgYXR0YWNoTGlzdGVuZXIsXG4gICAgICBkZXRhY2hMaXN0ZW5lcixcbiAgICAgIGlzQXZhaWxhYmxlLFxuICAgIH0pLFxuICAgIFtcbiAgICAgIHNldEl0ZW0sXG4gICAgICBnZXRJdGVtLFxuICAgICAgc2V0U3BpZmZ5T25GZWF0dXJlRmxhZyxcbiAgICAgIGdldFNwaWZmeU9uRmVhdHVyZUZsYWcsXG4gICAgICBhdHRhY2hMaXN0ZW5lcixcbiAgICAgIGRldGFjaExpc3RlbmVyLFxuICAgICAgaXNBdmFpbGFibGUsXG4gICAgXSxcbiAgKTtcblxuICByZXR1cm4gPExvY2FsU3RvcmFnZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9Mb2NhbFN0b3JhZ2VDb250ZXh0LlByb3ZpZGVyPjtcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VMb2NhbFN0b3JhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KExvY2FsU3RvcmFnZUNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZUxvY2FsU3RvcmFnZSBtdXN0IGJlIHVzZWQgd2l0aGluIGEgTG9jYWxTdG9yYWdlUHJvdmlkZXInKTtcbiAgfVxuICBy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
90
+ export { LocalStorageProvider, useLocalStorage };
91
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlQ29udGV4dC5qcyIsIm5hbWVzIjpbIkxvZ2dlciIsIkxvY2FsU3RvcmFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4iLCJ2YWx1ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9sb2NhbFN0b3JhZ2VDb250ZXh0L2xvY2FsU3RvcmFnZUNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCB1c2VDYWxsYmFjaywgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lciB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvbG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcic7XG5pbXBvcnQgeyBMb2NhbFN0b3JhZ2VLZXlzIH0gZnJvbSAnLi9sb2NhbFN0b3JhZ2VLZXlzJztcblxuZXhwb3J0IHsgTG9jYWxTdG9yYWdlS2V5cyB9O1xuXG5pbnRlcmZhY2UgTG9jYWxTdG9yYWdlQ29udGV4dFR5cGUge1xuICBzZXRJdGVtOiAoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIGdldEl0ZW06IChrZXk6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVsbDtcbiAgc2V0U3BpZmZ5T25GZWF0dXJlRmxhZzogKHZhbHVlOiBib29sZWFuIHwgbnVsbCkgPT4gdm9pZDtcbiAgZ2V0U3BpZmZ5T25GZWF0dXJlRmxhZzogKCkgPT4gc3RyaW5nIHwgbnVsbDtcbiAgYXR0YWNoTGlzdGVuZXI6IChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcikgPT4gdm9pZDtcbiAgZGV0YWNoTGlzdGVuZXI6IChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcikgPT4gdm9pZDtcbiAgaXNBdmFpbGFibGU6IGJvb2xlYW47XG59XG5cbmNvbnN0IExvY2FsU3RvcmFnZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PExvY2FsU3RvcmFnZUNvbnRleHRUeXBlIHwgbnVsbD4obnVsbCk7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ2xvY2FsU3RvcmFnZUNvbnRleHQnKTtcblxuZXhwb3J0IGNvbnN0IExvY2FsU3RvcmFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIGNvbnN0IGlzQXZhaWxhYmxlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiAhIXdpbmRvdy5sb2NhbFN0b3JhZ2U7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzQXZhaWxhYmxlKSB7XG4gICAgICBsb2dnZXIubG9nRXJyb3IoJ2xvY2FsU3RvcmFnZSBpcyBub3QgYXZhaWxhYmxlJywgdW5kZWZpbmVkKTtcbiAgICB9XG4gIH0sIFtpc0F2YWlsYWJsZV0pO1xuXG4gIGNvbnN0IHNldEl0ZW0gPSB1c2VDYWxsYmFjayhcbiAgICAoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICghaXNBdmFpbGFibGUpIHJldHVybjtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpO1xuICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQobmV3IFN0b3JhZ2VFdmVudCgnc3RvcmFnZScsIHsga2V5LCBuZXdWYWx1ZTogdmFsdWUgfSkpO1xuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlXSxcbiAgKTtcblxuICBjb25zdCBnZXRJdGVtID0gdXNlQ2FsbGJhY2soXG4gICAgKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoIWlzQXZhaWxhYmxlKSByZXR1cm4gbnVsbDtcbiAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlXSxcbiAgKTtcblxuICBjb25zdCBzZXRTcGlmZnlPbkZlYXR1cmVGbGFnID0gdXNlQ2FsbGJhY2soXG4gICAgKHZhbHVlOiBib29sZWFuIHwgbnVsbCk6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuO1xuICAgICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExvY2FsU3RvcmFnZUtleXMuU3BpZmZ5T25PdmVycmlkZSwgJ3RydWUnKTtcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT09IGZhbHNlKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExvY2FsU3RvcmFnZUtleXMuU3BpZmZ5T25PdmVycmlkZSwgJ2ZhbHNlJyk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbaXNBdmFpbGFibGVdLFxuICApO1xuXG4gIGNvbnN0IGdldFNwaWZmeU9uRmVhdHVyZUZsYWcgPSB1c2VDYWxsYmFjaygoKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZUtleXMuU3BpZmZ5T25PdmVycmlkZSk7XG4gIH0sIFtpc0F2YWlsYWJsZV0pO1xuXG4gIGNvbnN0IGxpc3RlbmVyc0NhY2hlID0gdXNlTWVtbygoKSA9PiBuZXcgTWFwPHN0cmluZywgKGV2ZW50OiBTdG9yYWdlRXZlbnQpID0+IHZvaWQ+KCksIFtdKTtcblxuICBjb25zdCBsaXN0ZW5lckZvcktleSA9IHVzZUNhbGxiYWNrKFxuICAgIChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcik6ICgoZXZlbnQ6IFN0b3JhZ2VFdmVudCkgPT4gdm9pZCkgPT4ge1xuICAgICAgaWYgKCFsaXN0ZW5lcnNDYWNoZS5oYXMobGlzdGVuZXIuc3RvcmFnZUtleSkpIHtcbiAgICAgICAgY29uc3QgaGFuZGxlciA9IChldmVudDogU3RvcmFnZUV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50LmtleSAhPT0gbGlzdGVuZXIuc3RvcmFnZUtleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsb2dnZXIubG9nRGVidWcoYFN0b3JhZ2UgZXZlbnQga2V5PSR7ZXZlbnQua2V5fSwgdmFsdWU9YCwgZXZlbnQubmV3VmFsdWUpO1xuICAgICAgICAgIGxpc3RlbmVyLmxpc3RlbmVyKGV2ZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgbGlzdGVuZXJzQ2FjaGUuc2V0KGxpc3RlbmVyLnN0b3JhZ2VLZXksIGhhbmRsZXIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGxpc3RlbmVyc0NhY2hlLmdldChsaXN0ZW5lci5zdG9yYWdlS2V5KSE7XG4gICAgfSxcbiAgICBbbGlzdGVuZXJzQ2FjaGVdLFxuICApO1xuXG4gIGNvbnN0IGF0dGFjaExpc3RlbmVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGxpc3RlbmVyOiBMb2NhbFN0b3JhZ2VFdmVudExpc3RlbmVyKTogdm9pZCA9PiB7XG4gICAgICBpZiAoIWlzQXZhaWxhYmxlKSByZXR1cm47XG4gICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc3RvcmFnZScsIGxpc3RlbmVyRm9yS2V5KGxpc3RlbmVyKSk7XG4gICAgfSxcbiAgICBbaXNBdmFpbGFibGUsIGxpc3RlbmVyRm9yS2V5XSxcbiAgKTtcblxuICBjb25zdCBkZXRhY2hMaXN0ZW5lciA9IHVzZUNhbGxiYWNrKFxuICAgIChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcik6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3N0b3JhZ2UnLCBsaXN0ZW5lckZvcktleShsaXN0ZW5lcikpO1xuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlLCBsaXN0ZW5lckZvcktleV0sXG4gICk7XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBzZXRJdGVtLFxuICAgICAgZ2V0SXRlbSxcbiAgICAgIHNldFNwaWZmeU9uRmVhdHVyZUZsYWcsXG4gICAgICBnZXRTcGlmZnlPbkZlYXR1cmVGbGFnLFxuICAgICAgYXR0YWNoTGlzdGVuZXIsXG4gICAgICBkZXRhY2hMaXN0ZW5lcixcbiAgICAgIGlzQXZhaWxhYmxlLFxuICAgIH0pLFxuICAgIFtcbiAgICAgIHNldEl0ZW0sXG4gICAgICBnZXRJdGVtLFxuICAgICAgc2V0U3BpZmZ5T25GZWF0dXJlRmxhZyxcbiAgICAgIGdldFNwaWZmeU9uRmVhdHVyZUZsYWcsXG4gICAgICBhdHRhY2hMaXN0ZW5lcixcbiAgICAgIGRldGFjaExpc3RlbmVyLFxuICAgICAgaXNBdmFpbGFibGUsXG4gICAgXSxcbiAgKTtcblxuICByZXR1cm4gPExvY2FsU3RvcmFnZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9Mb2NhbFN0b3JhZ2VDb250ZXh0LlByb3ZpZGVyPjtcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VMb2NhbFN0b3JhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KExvY2FsU3RvcmFnZUNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZUxvY2FsU3RvcmFnZSBtdXN0IGJlIHVzZWQgd2l0aGluIGEgTG9jYWxTdG9yYWdlUHJvdmlkZXInKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQWlCQSxNQUFNLHNCQUFzQixj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
@@ -0,0 +1,12 @@
1
+
2
+ //#region src/contexts/localStorageContext/localStorageKeys.ts
3
+ let LocalStorageKeys = /* @__PURE__ */ function(LocalStorageKeys$1) {
4
+ LocalStorageKeys$1["ChatId"] = "v1-spiffy-chat-session-id";
5
+ LocalStorageKeys$1["SpiffyOnOverride"] = "spiffy_on";
6
+ LocalStorageKeys$1["EnviveOnOverride"] = "envive_on";
7
+ return LocalStorageKeys$1;
8
+ }({});
9
+
10
+ //#endregion
11
+ exports.LocalStorageKeys = LocalStorageKeys;
12
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlS2V5cy5janMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL2xvY2FsU3RvcmFnZUNvbnRleHQvbG9jYWxTdG9yYWdlS2V5cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBLZXB0IFJlYWN0LWZyZWU6IHByZS1jb25maWcgaW5qZWN0aW9uLWJ1bmRsZSBjb2RlIChhdG9tcy9lbnZpdmUpIG5lZWRzXG4vLyB0aGVzZSBrZXlzLCBhbmQgaW1wb3J0aW5nIHRoZW0gdGhyb3VnaCBsb2NhbFN0b3JhZ2VDb250ZXh0LnRzeCB3b3VsZCBwdWxsXG4vLyBSZWFjdCBpbnRvIHRoZSBlYWdlciBjcml0aWNhbCBjaHVuay5cbmV4cG9ydCBlbnVtIExvY2FsU3RvcmFnZUtleXMge1xuICBDaGF0SWQgPSAndjEtc3BpZmZ5LWNoYXQtc2Vzc2lvbi1pZCcsXG4gIFNwaWZmeU9uT3ZlcnJpZGUgPSAnc3BpZmZ5X29uJyxcbiAgRW52aXZlT25PdmVycmlkZSA9ICdlbnZpdmVfb24nLFxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUdBLElBQVksZ0VBQUw7QUFDTDtBQUNBO0FBQ0EifQ==
@@ -0,0 +1,9 @@
1
+ //#region src/contexts/localStorageContext/localStorageKeys.d.ts
2
+ declare enum LocalStorageKeys {
3
+ ChatId = "v1-spiffy-chat-session-id",
4
+ SpiffyOnOverride = "spiffy_on",
5
+ EnviveOnOverride = "envive_on",
6
+ }
7
+ //#endregion
8
+ export { LocalStorageKeys };
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlS2V5cy5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvbG9jYWxTdG9yYWdlQ29udGV4dC9sb2NhbFN0b3JhZ2VLZXlzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlY2xhcmUgZW51bSBMb2NhbFN0b3JhZ2VLZXlzIHtcbiAgICBDaGF0SWQgPSBcInYxLXNwaWZmeS1jaGF0LXNlc3Npb24taWRcIixcbiAgICBTcGlmZnlPbk92ZXJyaWRlID0gXCJzcGlmZnlfb25cIixcbiAgICBFbnZpdmVPbk92ZXJyaWRlID0gXCJlbnZpdmVfb25cIlxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBVyxtQkFBbUIsQ0FBQyxJQUFJIn0=
@@ -0,0 +1,9 @@
1
+ //#region src/contexts/localStorageContext/localStorageKeys.d.ts
2
+ declare enum LocalStorageKeys {
3
+ ChatId = "v1-spiffy-chat-session-id",
4
+ SpiffyOnOverride = "spiffy_on",
5
+ EnviveOnOverride = "envive_on",
6
+ }
7
+ //#endregion
8
+ export { LocalStorageKeys };
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlS2V5cy5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9sb2NhbFN0b3JhZ2VDb250ZXh0L2xvY2FsU3RvcmFnZUtleXMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVjbGFyZSBlbnVtIExvY2FsU3RvcmFnZUtleXMge1xuICAgIENoYXRJZCA9IFwidjEtc3BpZmZ5LWNoYXQtc2Vzc2lvbi1pZFwiLFxuICAgIFNwaWZmeU9uT3ZlcnJpZGUgPSBcInNwaWZmeV9vblwiLFxuICAgIEVudml2ZU9uT3ZlcnJpZGUgPSBcImVudml2ZV9vblwiXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFXLG1CQUFtQixDQUFDLElBQUkifQ==
@@ -0,0 +1,11 @@
1
+ //#region src/contexts/localStorageContext/localStorageKeys.ts
2
+ let LocalStorageKeys = /* @__PURE__ */ function(LocalStorageKeys$1) {
3
+ LocalStorageKeys$1["ChatId"] = "v1-spiffy-chat-session-id";
4
+ LocalStorageKeys$1["SpiffyOnOverride"] = "spiffy_on";
5
+ LocalStorageKeys$1["EnviveOnOverride"] = "envive_on";
6
+ return LocalStorageKeys$1;
7
+ }({});
8
+
9
+ //#endregion
10
+ export { LocalStorageKeys };
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlS2V5cy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvbG9jYWxTdG9yYWdlQ29udGV4dC9sb2NhbFN0b3JhZ2VLZXlzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEtlcHQgUmVhY3QtZnJlZTogcHJlLWNvbmZpZyBpbmplY3Rpb24tYnVuZGxlIGNvZGUgKGF0b21zL2Vudml2ZSkgbmVlZHNcbi8vIHRoZXNlIGtleXMsIGFuZCBpbXBvcnRpbmcgdGhlbSB0aHJvdWdoIGxvY2FsU3RvcmFnZUNvbnRleHQudHN4IHdvdWxkIHB1bGxcbi8vIFJlYWN0IGludG8gdGhlIGVhZ2VyIGNyaXRpY2FsIGNodW5rLlxuZXhwb3J0IGVudW0gTG9jYWxTdG9yYWdlS2V5cyB7XG4gIENoYXRJZCA9ICd2MS1zcGlmZnktY2hhdC1zZXNzaW9uLWlkJyxcbiAgU3BpZmZ5T25PdmVycmlkZSA9ICdzcGlmZnlfb24nLFxuICBFbnZpdmVPbk92ZXJyaWRlID0gJ2Vudml2ZV9vbicsXG59XG4iXSwibWFwcGluZ3MiOiI7QUFHQSxJQUFZLGdFQUFMO0FBQ0w7QUFDQTtBQUNBIn0=
@@ -141,7 +141,7 @@ const PageProvider = ({ children, previewMode = false, onUrlResolverNotReady })
141
141
  pageId = variantInfo.url;
142
142
  break;
143
143
  case require_variantInfo.VariantTypeEnum.FullPageSalesAgent:
144
- pageType = "full_page_sales_agent";
144
+ pageType = "adaptive_storefront";
145
145
  pageId = variantInfo.url;
146
146
  break;
147
147
  default: return;
@@ -197,4 +197,4 @@ const usePage = () => {
197
197
  //#endregion
198
198
  exports.PageProvider = PageProvider;
199
199
  exports.usePage = usePage;
200
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZUNvbnRleHQuY2pzIiwibmFtZXMiOlsiTG9nZ2VyIiwiUGFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xuICAvKiogV2hlbiBVUkwgcmVzb2x2ZXIgcmV0dXJucyBgcmVhZHk6IGZhbHNlYCwgaW52b2tlZCBmb3IgZXh0ZW5zaW9uL2luamVjdGlvbiBmYWlsdXJlIHJlcG9ydGluZy4gKi9cbiAgb25VcmxSZXNvbHZlck5vdFJlYWR5PzogKGVycm9yOiBFcnJvcikgPT4gUHJvbWlzZTx1bmtub3duPiB8IHZvaWQ7XG59PiIsInVybFJlc29sdmVyQXRvbSIsInBhZ2VWYXJpYW50SW5mb0F0b20iLCJwYWdlVXNlckV2ZW50QXRvbSIsIlVzZXJFdmVudENhdGVnb3J5IiwiUGFnZVZpc2l0Q2F0ZWdvcnkiLCJWYXJpYW50VHlwZUVudW0iLCJtYXBVcmxSZXNvbHZlclJlc3BvbnNlVG9WYXJpYW50SW5mbyIsIm1hcEFwaVVzZXJFdmVudFRvVXNlckV2ZW50IiwiQ29tbWVyY2VBcGlDbGllbnQiLCJ1c2VBbXBsaXR1ZGUiLCJ2YXJpYW50SW5mb0F0b20iLCJoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20iLCJwYWdlVHlwZTogc3RyaW5nIiwicGFnZUlkOiBzdHJpbmciLCJFbnZpdmVNZXRyaWNzRXZlbnROYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3BhZ2VDb250ZXh0L3BhZ2VDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZWFjdE5vZGUsXG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7XG4gIFVybFJlc29sdmVyUmVzcG9uc2UsXG4gIGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSxcbiAgcGFnZVVzZXJFdmVudEF0b20sXG4gIHBhZ2VWYXJpYW50SW5mb0F0b20sXG4gIHVybFJlc29sdmVyQXRvbSxcbiAgdmFyaWFudEluZm9BdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvYXBwL3ZhcmlhbnQnO1xuaW1wb3J0IHsgdXNlQXRvbSwgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IENvbW1lcmNlQXBpQ2xpZW50IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9jb21tZXJjZS1hcGknO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgUGFnZVZpc2l0Q2F0ZWdvcnksIFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IFZhcmlhbnRUeXBlRW51bSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgRW52aXZlTWV0cmljc0V2ZW50TmFtZSwgdXNlQW1wbGl0dWRlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgbWFwQXBpVXNlckV2ZW50VG9Vc2VyRXZlbnQsIG1hcFVybFJlc29sdmVyUmVzcG9uc2VUb1ZhcmlhbnRJbmZvIH0gZnJvbSAnLi9tYXBwaW5nJztcbmltcG9ydCB7IFBhZ2VEZXRhaWxzIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3BhZ2VDb250ZXh0Jyk7XG5cbmNvbnN0IFBhZ2VDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxcbiAgfCAoUGFnZURldGFpbHMgJiB7XG4gICAgICBpc0xvYWRpbmc6IGJvb2xlYW47XG4gICAgICBpc1N1cHBvcnRlZDogYm9vbGVhbjtcbiAgICAgIHNldFBhZ2VVcmw6ICh1cmw6IHN0cmluZykgPT4gdm9pZDtcbiAgICB9KVxuICB8IHVuZGVmaW5lZFxuPih1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgUGFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xuICAvKiogV2hlbiBVUkwgcmVzb2x2ZXIgcmV0dXJucyBgcmVhZHk6IGZhbHNlYCwgaW52b2tlZCBmb3IgZXh0ZW5zaW9uL2luamVjdGlvbiBmYWlsdXJlIHJlcG9ydGluZy4gKi9cbiAgb25VcmxSZXNvbHZlck5vdFJlYWR5PzogKGVycm9yOiBFcnJvcikgPT4gUHJvbWlzZTx1bmtub3duPiB8IHZvaWQ7XG59PiA9ICh7IGNoaWxkcmVuLCBwcmV2aWV3TW9kZSA9IGZhbHNlLCBvblVybFJlc29sdmVyTm90UmVhZHkgfSkgPT4ge1xuICBjb25zdCBbcGFnZVVybCwgc2V0UGFnZVVybF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IFt1cmxSZXNvbHZlclJlc3BvbnNlLCBzZXRVcmxSZXNvbHZlclJlc3BvbnNlXSA9IHVzZUF0b20odXJsUmVzb2x2ZXJBdG9tKTtcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3ZhcmlhbnRJbmZvLCBzZXRWYXJpYW50SW5mb10gPSB1c2VBdG9tKHBhZ2VWYXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBbdXNlckV2ZW50LCBzZXRVc2VyRXZlbnRdID0gdXNlQXRvbShwYWdlVXNlckV2ZW50QXRvbSk7XG4gIGNvbnN0IFtpc1N1cHBvcnRlZCwgc2V0SXNTdXBwb3J0ZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBsYXN0Tm90UmVhZHlVcmxSZWYgPSB1c2VSZWY8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRQYWdlVXJsKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgfSwgW10pO1xuXG4gIC8vIEF1dG8taW5pdGlhbGl6ZSBhdG9tcyBmb3IgcHJldmlldyBtb2RlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHByZXZpZXdNb2RlICYmICF1c2VyRXZlbnQgJiYgIXZhcmlhbnRJbmZvKSB7XG4gICAgICBjb25zdCB1cmwgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdy5sb2NhdGlvbi5ocmVmIDogJyc7XG4gICAgICBzZXRVc2VyRXZlbnQoe1xuICAgICAgICBldmVudF9pZDogJ3ByZXZpZXctdXNlci1ldmVudCcsXG4gICAgICAgIGNyZWF0ZWRfYXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlBhZ2VWaXNpdCxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIHBhZ2VfdmlzaXRfY2F0ZWdvcnk6IFBhZ2VWaXNpdENhdGVnb3J5Lk90aGVyLFxuICAgICAgICAgIHVybCxcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgYW55KTtcblxuICAgICAgc2V0VmFyaWFudEluZm8oe1xuICAgICAgICB2YXJpYW50VHlwZTogVmFyaWFudFR5cGVFbnVtLlBhZ2VWaXNpdCxcbiAgICAgICAgdXJsLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbcHJldmlld01vZGUsIHVzZXJFdmVudCwgdmFyaWFudEluZm8sIHNldFVzZXJFdmVudCwgc2V0VmFyaWFudEluZm9dKTtcblxuICBjb25zdCBzZXRWYXJpYW50RnJvbVVybFJlc29sdmVyID0gdXNlQ2FsbGJhY2soXG4gICAgKHVybDogc3RyaW5nLCByZXNwb25zZTogVXJsUmVzb2x2ZXJSZXNwb25zZSkgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlLnJlYWR5KSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhcmlhbnRJbmZvID0gbWFwVXJsUmVzb2x2ZXJSZXNwb25zZVRvVmFyaWFudEluZm8odXJsLCByZXNwb25zZSk7XG4gICAgICAgIGNvbnN0IG5ld1VzZXJFdmVudCA9IG1hcEFwaVVzZXJFdmVudFRvVXNlckV2ZW50KHJlc3BvbnNlLnVzZXJfZXZlbnQgPz8gdW5kZWZpbmVkKTtcbiAgICAgICAgbG9nZ2VyLmxvZ0RlYnVnKCdzZXR0aW5nIHZhcmlhbnQgaW5mbyBhbmQgdXNlciBldmVudCcsIHsgbmV3VmFyaWFudEluZm8sIG5ld1VzZXJFdmVudCB9KTtcbiAgICAgICAgc2V0VmFyaWFudEluZm8obmV3VmFyaWFudEluZm8pO1xuICAgICAgICBzZXRVc2VyRXZlbnQobmV3VXNlckV2ZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFVzZXJFdmVudCh1bmRlZmluZWQpO1xuICAgICAgICBzZXRWYXJpYW50SW5mbyh1bmRlZmluZWQpO1xuICAgICAgICBsb2dnZXIubG9nRGVidWcoJ3NldCB2YXJpYW50IGluZm8gYW5kIHVzZXIgZXZlbnQgdG8gdW5kZWZpbmVkJywgeyB2YXJpYW50SW5mbywgdXNlckV2ZW50IH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NldFZhcmlhbnRJbmZvLCBzZXRVc2VyRXZlbnRdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcmVzb2x2ZVBhZ2VVcmwgPSBhc3luYyAoKSA9PiB7XG4gICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoIXBhZ2VVcmwpIHtcbiAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGluIHByZXZpZXcgbW9kZSBvciBhdG9tcyBhcmUgYWxyZWFkeSBzZXQgKGUuZy4sIGJ5IHN0b3J5Ym9vayksIHNraXAgQVBJIGNhbGxcbiAgICAgICAgaWYgKHByZXZpZXdNb2RlIHx8IHVzZXJFdmVudCB8fCB2YXJpYW50SW5mbykge1xuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2xlYW5zZWRVcmwgPSBwYWdlVXJsLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9XG4gICAgICAgICAgdXJsUmVzb2x2ZXJSZXNwb25zZVtjbGVhbnNlZFVybF0gPz9cbiAgICAgICAgICAoKGF3YWl0IENvbW1lcmNlQXBpQ2xpZW50LnJlc29sdmVVcmwoY2xlYW5zZWRVcmwpKSBhcyBVcmxSZXNvbHZlclJlc3BvbnNlKTtcbiAgICAgICAgc2V0VmFyaWFudEZyb21VcmxSZXNvbHZlcihjbGVhbnNlZFVybCwgcmVzcG9uc2UpO1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICBzZXRJc1N1cHBvcnRlZChyZXNwb25zZS5yZWFkeSk7XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLnJlYWR5KSB7XG4gICAgICAgICAgbGFzdE5vdFJlYWR5VXJsUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICB9IGVsc2UgaWYgKG9uVXJsUmVzb2x2ZXJOb3RSZWFkeSAmJiBsYXN0Tm90UmVhZHlVcmxSZWYuY3VycmVudCAhPT0gY2xlYW5zZWRVcmwpIHtcbiAgICAgICAgICBsYXN0Tm90UmVhZHlVcmxSZWYuY3VycmVudCA9IGNsZWFuc2VkVXJsO1xuICAgICAgICAgIGNvbnN0IGVyciA9IG5ldyBFcnJvcihgVVJMIHJlc29sdmVyIHJldHVybmVkIHJlYWR5PWZhbHNlIGZvciAke2NsZWFuc2VkVXJsfWApO1xuICAgICAgICAgIFByb21pc2UucmVzb2x2ZShvblVybFJlc29sdmVyTm90UmVhZHkoZXJyKSkuY2F0Y2goY2FsbGJhY2tFcnJvciA9PiB7XG4gICAgICAgICAgICBsb2dnZXIubG9nRGVidWcoJ29uVXJsUmVzb2x2ZXJOb3RSZWFkeSBjYWxsYmFjayBmYWlsZWQnLCBjYWxsYmFja0Vycm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICBsb2dnZXIubG9nRXJyb3IoJ0ZhaWxlZCB0byByZXNvbHZlIHBhZ2UgVVJMJywgZSwgeyBwYWdlVXJsIH0pO1xuICAgICAgfVxuICAgIH07XG4gICAgcmVzb2x2ZVBhZ2VVcmwoKTtcbiAgfSwgW1xuICAgIHBhZ2VVcmwsXG4gICAgdXJsUmVzb2x2ZXJSZXNwb25zZSxcbiAgICBzZXRVcmxSZXNvbHZlclJlc3BvbnNlLFxuICAgIHNldFZhcmlhbnRGcm9tVXJsUmVzb2x2ZXIsXG4gICAgdXNlckV2ZW50LFxuICAgIHZhcmlhbnRJbmZvLFxuICAgIHByZXZpZXdNb2RlLFxuICAgIG9uVXJsUmVzb2x2ZXJOb3RSZWFkeSxcbiAgXSk7XG5cbiAgY29uc3QgeyB0cmFja0V2ZW50IH0gPSB1c2VBbXBsaXR1ZGUoKTtcbiAgY29uc3QgcmVzb2x2ZWRWYXJpYW50SW5mbyA9IHVzZUF0b21WYWx1ZSh2YXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBoYXNQYXJzZWRWYXJpYW50SW5mbyA9IHVzZUF0b21WYWx1ZShoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBwYWdlVmlld2VkRmlyZWQgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBhZ2VWaWV3ZWRGaXJlZC5jdXJyZW50IHx8IGlzTG9hZGluZyB8fCAhaGFzUGFyc2VkVmFyaWFudEluZm8gfHwgIXZhcmlhbnRJbmZvKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHBhZ2VUeXBlOiBzdHJpbmc7XG4gICAgbGV0IHBhZ2VJZDogc3RyaW5nO1xuXG4gICAgc3dpdGNoICh2YXJpYW50SW5mby52YXJpYW50VHlwZSkge1xuICAgICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGRwOlxuICAgICAgICBwYWdlVHlwZSA9ICdwZHAnO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby5wcm9kdWN0SWQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGxwOlxuICAgICAgICBwYWdlVHlwZSA9ICdwbHAnO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby5wbHBJZDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5Ib21lOlxuICAgICAgICBwYWdlVHlwZSA9ICdob21lcGFnZSc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5PdGhlcjpcbiAgICAgICAgcGFnZVR5cGUgPSAnb3RoZXInO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby51cmw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0OlxuICAgICAgICBwYWdlVHlwZSA9ICdvdGhlcic7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5GdWxsUGFnZVNhbGVzQWdlbnQ6XG4gICAgICAgIHBhZ2VUeXBlID0gJ2Z1bGxfcGFnZV9zYWxlc19hZ2VudCc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcGFnZVZpZXdlZEZpcmVkLmN1cnJlbnQgPSB0cnVlO1xuXG4gICAgdHJhY2tFdmVudCh7XG4gICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuUGFnZVZpZXdlZCxcbiAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgJ2NvbnRleHQucGFnZV90eXBlJzogcGFnZVR5cGUsXG4gICAgICAgICdjb250ZXh0LnBhZ2VfaWQnOiBwYWdlSWQsXG4gICAgICAgICdjb250ZXh0LnN1cHBvcnRlZCc6IGlzU3VwcG9ydGVkLFxuICAgICAgICAnY29udGV4dC5yZWFkeSc6IGlzU3VwcG9ydGVkLFxuICAgICAgICAnY29udGV4dC5wYWdlX3ZhcmlhbnRfaWQnOiByZXNvbHZlZFZhcmlhbnRJbmZvLnZhcmlhbnRJZCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0sIFtpc0xvYWRpbmcsIGlzU3VwcG9ydGVkLCBoYXNQYXJzZWRWYXJpYW50SW5mbywgdmFyaWFudEluZm8sIHJlc29sdmVkVmFyaWFudEluZm8sIHRyYWNrRXZlbnRdKTtcblxuICBjb25zdCBzZXRQYWdlVXJsU3RhYmxlID0gdXNlQ2FsbGJhY2soKHVybDogc3RyaW5nKSA9PiB7XG4gICAgc2V0UGFnZVVybCh1cmwpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBwYWdlVXJsLFxuICAgICAgdmFyaWFudEluZm8sXG4gICAgICB1c2VyRXZlbnQsXG4gICAgICBpc0xvYWRpbmcsXG4gICAgICBpc1N1cHBvcnRlZCxcbiAgICAgIHNldFBhZ2VVcmw6IHNldFBhZ2VVcmxTdGFibGUsXG4gICAgfSksXG4gICAgW3BhZ2VVcmwsIHVzZXJFdmVudCwgdmFyaWFudEluZm8sIGlzTG9hZGluZywgaXNTdXBwb3J0ZWQsIHNldFBhZ2VVcmxTdGFibGVdLFxuICApO1xuXG4gIHJldHVybiA8UGFnZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9QYWdlQ29udGV4dC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgY29uc3QgdXNlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoUGFnZUNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZVBhZ2UgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFBhZ2VQcm92aWRlcicpO1xuICB9XG4gIHJldHVybiBjb250ZXh0O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQTJCQSxNQUFNLFNBQVMsSUFBSUEsdUJB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
200
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZUNvbnRleHQuY2pzIiwibmFtZXMiOlsiTG9nZ2VyIiwiUGFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xuICAvKiogV2hlbiBVUkwgcmVzb2x2ZXIgcmV0dXJucyBgcmVhZHk6IGZhbHNlYCwgaW52b2tlZCBmb3IgZXh0ZW5zaW9uL2luamVjdGlvbiBmYWlsdXJlIHJlcG9ydGluZy4gKi9cbiAgb25VcmxSZXNvbHZlck5vdFJlYWR5PzogKGVycm9yOiBFcnJvcikgPT4gUHJvbWlzZTx1bmtub3duPiB8IHZvaWQ7XG59PiIsInVybFJlc29sdmVyQXRvbSIsInBhZ2VWYXJpYW50SW5mb0F0b20iLCJwYWdlVXNlckV2ZW50QXRvbSIsIlVzZXJFdmVudENhdGVnb3J5IiwiUGFnZVZpc2l0Q2F0ZWdvcnkiLCJWYXJpYW50VHlwZUVudW0iLCJtYXBVcmxSZXNvbHZlclJlc3BvbnNlVG9WYXJpYW50SW5mbyIsIm1hcEFwaVVzZXJFdmVudFRvVXNlckV2ZW50IiwiQ29tbWVyY2VBcGlDbGllbnQiLCJ1c2VBbXBsaXR1ZGUiLCJ2YXJpYW50SW5mb0F0b20iLCJoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20iLCJwYWdlVHlwZTogc3RyaW5nIiwicGFnZUlkOiBzdHJpbmciLCJFbnZpdmVNZXRyaWNzRXZlbnROYW1lIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3BhZ2VDb250ZXh0L3BhZ2VDb250ZXh0LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZWFjdE5vZGUsXG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZU1lbW8sXG4gIHVzZVJlZixcbiAgdXNlU3RhdGUsXG59IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7XG4gIFVybFJlc29sdmVyUmVzcG9uc2UsXG4gIGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSxcbiAgcGFnZVVzZXJFdmVudEF0b20sXG4gIHBhZ2VWYXJpYW50SW5mb0F0b20sXG4gIHVybFJlc29sdmVyQXRvbSxcbiAgdmFyaWFudEluZm9BdG9tLFxufSBmcm9tICdzcmMvYXRvbXMvYXBwL3ZhcmlhbnQnO1xuaW1wb3J0IHsgdXNlQXRvbSwgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IENvbW1lcmNlQXBpQ2xpZW50IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9jb21tZXJjZS1hcGknO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHsgUGFnZVZpc2l0Q2F0ZWdvcnksIFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IFZhcmlhbnRUeXBlRW51bSB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgRW52aXZlTWV0cmljc0V2ZW50TmFtZSwgdXNlQW1wbGl0dWRlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgbWFwQXBpVXNlckV2ZW50VG9Vc2VyRXZlbnQsIG1hcFVybFJlc29sdmVyUmVzcG9uc2VUb1ZhcmlhbnRJbmZvIH0gZnJvbSAnLi9tYXBwaW5nJztcbmltcG9ydCB7IFBhZ2VEZXRhaWxzIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3BhZ2VDb250ZXh0Jyk7XG5cbmNvbnN0IFBhZ2VDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxcbiAgfCAoUGFnZURldGFpbHMgJiB7XG4gICAgICBpc0xvYWRpbmc6IGJvb2xlYW47XG4gICAgICBpc1N1cHBvcnRlZDogYm9vbGVhbjtcbiAgICAgIHNldFBhZ2VVcmw6ICh1cmw6IHN0cmluZykgPT4gdm9pZDtcbiAgICB9KVxuICB8IHVuZGVmaW5lZFxuPih1bmRlZmluZWQpO1xuXG5leHBvcnQgY29uc3QgUGFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHByZXZpZXdNb2RlOiBib29sZWFuO1xuICAvKiogV2hlbiBVUkwgcmVzb2x2ZXIgcmV0dXJucyBgcmVhZHk6IGZhbHNlYCwgaW52b2tlZCBmb3IgZXh0ZW5zaW9uL2luamVjdGlvbiBmYWlsdXJlIHJlcG9ydGluZy4gKi9cbiAgb25VcmxSZXNvbHZlck5vdFJlYWR5PzogKGVycm9yOiBFcnJvcikgPT4gUHJvbWlzZTx1bmtub3duPiB8IHZvaWQ7XG59PiA9ICh7IGNoaWxkcmVuLCBwcmV2aWV3TW9kZSA9IGZhbHNlLCBvblVybFJlc29sdmVyTm90UmVhZHkgfSkgPT4ge1xuICBjb25zdCBbcGFnZVVybCwgc2V0UGFnZVVybF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIGNvbnN0IFt1cmxSZXNvbHZlclJlc3BvbnNlLCBzZXRVcmxSZXNvbHZlclJlc3BvbnNlXSA9IHVzZUF0b20odXJsUmVzb2x2ZXJBdG9tKTtcbiAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgW3ZhcmlhbnRJbmZvLCBzZXRWYXJpYW50SW5mb10gPSB1c2VBdG9tKHBhZ2VWYXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBbdXNlckV2ZW50LCBzZXRVc2VyRXZlbnRdID0gdXNlQXRvbShwYWdlVXNlckV2ZW50QXRvbSk7XG4gIGNvbnN0IFtpc1N1cHBvcnRlZCwgc2V0SXNTdXBwb3J0ZWRdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBsYXN0Tm90UmVhZHlVcmxSZWYgPSB1c2VSZWY8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXRQYWdlVXJsKHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgfSwgW10pO1xuXG4gIC8vIEF1dG8taW5pdGlhbGl6ZSBhdG9tcyBmb3IgcHJldmlldyBtb2RlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHByZXZpZXdNb2RlICYmICF1c2VyRXZlbnQgJiYgIXZhcmlhbnRJbmZvKSB7XG4gICAgICBjb25zdCB1cmwgPSB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdy5sb2NhdGlvbi5ocmVmIDogJyc7XG4gICAgICBzZXRVc2VyRXZlbnQoe1xuICAgICAgICBldmVudF9pZDogJ3ByZXZpZXctdXNlci1ldmVudCcsXG4gICAgICAgIGNyZWF0ZWRfYXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlBhZ2VWaXNpdCxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIHBhZ2VfdmlzaXRfY2F0ZWdvcnk6IFBhZ2VWaXNpdENhdGVnb3J5Lk90aGVyLFxuICAgICAgICAgIHVybCxcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgYW55KTtcblxuICAgICAgc2V0VmFyaWFudEluZm8oe1xuICAgICAgICB2YXJpYW50VHlwZTogVmFyaWFudFR5cGVFbnVtLlBhZ2VWaXNpdCxcbiAgICAgICAgdXJsLFxuICAgICAgfSk7XG4gICAgfVxuICB9LCBbcHJldmlld01vZGUsIHVzZXJFdmVudCwgdmFyaWFudEluZm8sIHNldFVzZXJFdmVudCwgc2V0VmFyaWFudEluZm9dKTtcblxuICBjb25zdCBzZXRWYXJpYW50RnJvbVVybFJlc29sdmVyID0gdXNlQ2FsbGJhY2soXG4gICAgKHVybDogc3RyaW5nLCByZXNwb25zZTogVXJsUmVzb2x2ZXJSZXNwb25zZSkgPT4ge1xuICAgICAgaWYgKHJlc3BvbnNlLnJlYWR5KSB7XG4gICAgICAgIGNvbnN0IG5ld1ZhcmlhbnRJbmZvID0gbWFwVXJsUmVzb2x2ZXJSZXNwb25zZVRvVmFyaWFudEluZm8odXJsLCByZXNwb25zZSk7XG4gICAgICAgIGNvbnN0IG5ld1VzZXJFdmVudCA9IG1hcEFwaVVzZXJFdmVudFRvVXNlckV2ZW50KHJlc3BvbnNlLnVzZXJfZXZlbnQgPz8gdW5kZWZpbmVkKTtcbiAgICAgICAgbG9nZ2VyLmxvZ0RlYnVnKCdzZXR0aW5nIHZhcmlhbnQgaW5mbyBhbmQgdXNlciBldmVudCcsIHsgbmV3VmFyaWFudEluZm8sIG5ld1VzZXJFdmVudCB9KTtcbiAgICAgICAgc2V0VmFyaWFudEluZm8obmV3VmFyaWFudEluZm8pO1xuICAgICAgICBzZXRVc2VyRXZlbnQobmV3VXNlckV2ZW50KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldFVzZXJFdmVudCh1bmRlZmluZWQpO1xuICAgICAgICBzZXRWYXJpYW50SW5mbyh1bmRlZmluZWQpO1xuICAgICAgICBsb2dnZXIubG9nRGVidWcoJ3NldCB2YXJpYW50IGluZm8gYW5kIHVzZXIgZXZlbnQgdG8gdW5kZWZpbmVkJywgeyB2YXJpYW50SW5mbywgdXNlckV2ZW50IH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NldFZhcmlhbnRJbmZvLCBzZXRVc2VyRXZlbnRdLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcmVzb2x2ZVBhZ2VVcmwgPSBhc3luYyAoKSA9PiB7XG4gICAgICBzZXRJc0xvYWRpbmcodHJ1ZSk7XG4gICAgICB0cnkge1xuICAgICAgICBpZiAoIXBhZ2VVcmwpIHtcbiAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGluIHByZXZpZXcgbW9kZSBvciBhdG9tcyBhcmUgYWxyZWFkeSBzZXQgKGUuZy4sIGJ5IHN0b3J5Ym9vayksIHNraXAgQVBJIGNhbGxcbiAgICAgICAgaWYgKHByZXZpZXdNb2RlIHx8IHVzZXJFdmVudCB8fCB2YXJpYW50SW5mbykge1xuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2xlYW5zZWRVcmwgPSBwYWdlVXJsLnRvTG93ZXJDYXNlKCkudHJpbSgpO1xuICAgICAgICBjb25zdCByZXNwb25zZSA9XG4gICAgICAgICAgdXJsUmVzb2x2ZXJSZXNwb25zZVtjbGVhbnNlZFVybF0gPz9cbiAgICAgICAgICAoKGF3YWl0IENvbW1lcmNlQXBpQ2xpZW50LnJlc29sdmVVcmwoY2xlYW5zZWRVcmwpKSBhcyBVcmxSZXNvbHZlclJlc3BvbnNlKTtcbiAgICAgICAgc2V0VmFyaWFudEZyb21VcmxSZXNvbHZlcihjbGVhbnNlZFVybCwgcmVzcG9uc2UpO1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICBzZXRJc1N1cHBvcnRlZChyZXNwb25zZS5yZWFkeSk7XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLnJlYWR5KSB7XG4gICAgICAgICAgbGFzdE5vdFJlYWR5VXJsUmVmLmN1cnJlbnQgPSBudWxsO1xuICAgICAgICB9IGVsc2UgaWYgKG9uVXJsUmVzb2x2ZXJOb3RSZWFkeSAmJiBsYXN0Tm90UmVhZHlVcmxSZWYuY3VycmVudCAhPT0gY2xlYW5zZWRVcmwpIHtcbiAgICAgICAgICBsYXN0Tm90UmVhZHlVcmxSZWYuY3VycmVudCA9IGNsZWFuc2VkVXJsO1xuICAgICAgICAgIGNvbnN0IGVyciA9IG5ldyBFcnJvcihgVVJMIHJlc29sdmVyIHJldHVybmVkIHJlYWR5PWZhbHNlIGZvciAke2NsZWFuc2VkVXJsfWApO1xuICAgICAgICAgIFByb21pc2UucmVzb2x2ZShvblVybFJlc29sdmVyTm90UmVhZHkoZXJyKSkuY2F0Y2goY2FsbGJhY2tFcnJvciA9PiB7XG4gICAgICAgICAgICBsb2dnZXIubG9nRGVidWcoJ29uVXJsUmVzb2x2ZXJOb3RSZWFkeSBjYWxsYmFjayBmYWlsZWQnLCBjYWxsYmFja0Vycm9yKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICBsb2dnZXIubG9nRXJyb3IoJ0ZhaWxlZCB0byByZXNvbHZlIHBhZ2UgVVJMJywgZSwgeyBwYWdlVXJsIH0pO1xuICAgICAgfVxuICAgIH07XG4gICAgcmVzb2x2ZVBhZ2VVcmwoKTtcbiAgfSwgW1xuICAgIHBhZ2VVcmwsXG4gICAgdXJsUmVzb2x2ZXJSZXNwb25zZSxcbiAgICBzZXRVcmxSZXNvbHZlclJlc3BvbnNlLFxuICAgIHNldFZhcmlhbnRGcm9tVXJsUmVzb2x2ZXIsXG4gICAgdXNlckV2ZW50LFxuICAgIHZhcmlhbnRJbmZvLFxuICAgIHByZXZpZXdNb2RlLFxuICAgIG9uVXJsUmVzb2x2ZXJOb3RSZWFkeSxcbiAgXSk7XG5cbiAgY29uc3QgeyB0cmFja0V2ZW50IH0gPSB1c2VBbXBsaXR1ZGUoKTtcbiAgY29uc3QgcmVzb2x2ZWRWYXJpYW50SW5mbyA9IHVzZUF0b21WYWx1ZSh2YXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBoYXNQYXJzZWRWYXJpYW50SW5mbyA9IHVzZUF0b21WYWx1ZShoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBwYWdlVmlld2VkRmlyZWQgPSB1c2VSZWYoZmFsc2UpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBhZ2VWaWV3ZWRGaXJlZC5jdXJyZW50IHx8IGlzTG9hZGluZyB8fCAhaGFzUGFyc2VkVmFyaWFudEluZm8gfHwgIXZhcmlhbnRJbmZvKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHBhZ2VUeXBlOiBzdHJpbmc7XG4gICAgbGV0IHBhZ2VJZDogc3RyaW5nO1xuXG4gICAgc3dpdGNoICh2YXJpYW50SW5mby52YXJpYW50VHlwZSkge1xuICAgICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGRwOlxuICAgICAgICBwYWdlVHlwZSA9ICdwZHAnO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby5wcm9kdWN0SWQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGxwOlxuICAgICAgICBwYWdlVHlwZSA9ICdwbHAnO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby5wbHBJZDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5Ib21lOlxuICAgICAgICBwYWdlVHlwZSA9ICdob21lcGFnZSc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5PdGhlcjpcbiAgICAgICAgcGFnZVR5cGUgPSAnb3RoZXInO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby51cmw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0OlxuICAgICAgICBwYWdlVHlwZSA9ICdvdGhlcic7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5GdWxsUGFnZVNhbGVzQWdlbnQ6XG4gICAgICAgIHBhZ2VUeXBlID0gJ2FkYXB0aXZlX3N0b3JlZnJvbnQnO1xuICAgICAgICBwYWdlSWQgPSB2YXJpYW50SW5mby51cmw7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHBhZ2VWaWV3ZWRGaXJlZC5jdXJyZW50ID0gdHJ1ZTtcblxuICAgIHRyYWNrRXZlbnQoe1xuICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLlBhZ2VWaWV3ZWQsXG4gICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICdjb250ZXh0LnBhZ2VfdHlwZSc6IHBhZ2VUeXBlLFxuICAgICAgICAnY29udGV4dC5wYWdlX2lkJzogcGFnZUlkLFxuICAgICAgICAnY29udGV4dC5zdXBwb3J0ZWQnOiBpc1N1cHBvcnRlZCxcbiAgICAgICAgJ2NvbnRleHQucmVhZHknOiBpc1N1cHBvcnRlZCxcbiAgICAgICAgJ2NvbnRleHQucGFnZV92YXJpYW50X2lkJzogcmVzb2x2ZWRWYXJpYW50SW5mby52YXJpYW50SWQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9LCBbaXNMb2FkaW5nLCBpc1N1cHBvcnRlZCwgaGFzUGFyc2VkVmFyaWFudEluZm8sIHZhcmlhbnRJbmZvLCByZXNvbHZlZFZhcmlhbnRJbmZvLCB0cmFja0V2ZW50XSk7XG5cbiAgY29uc3Qgc2V0UGFnZVVybFN0YWJsZSA9IHVzZUNhbGxiYWNrKCh1cmw6IHN0cmluZykgPT4ge1xuICAgIHNldFBhZ2VVcmwodXJsKTtcbiAgfSwgW10pO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgcGFnZVVybCxcbiAgICAgIHZhcmlhbnRJbmZvLFxuICAgICAgdXNlckV2ZW50LFxuICAgICAgaXNMb2FkaW5nLFxuICAgICAgaXNTdXBwb3J0ZWQsXG4gICAgICBzZXRQYWdlVXJsOiBzZXRQYWdlVXJsU3RhYmxlLFxuICAgIH0pLFxuICAgIFtwYWdlVXJsLCB1c2VyRXZlbnQsIHZhcmlhbnRJbmZvLCBpc0xvYWRpbmcsIGlzU3VwcG9ydGVkLCBzZXRQYWdlVXJsU3RhYmxlXSxcbiAgKTtcblxuICByZXR1cm4gPFBhZ2VDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+e2NoaWxkcmVufTwvUGFnZUNvbnRleHQuUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZVBhZ2UgPSAoKSA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KFBhZ2VDb250ZXh0KTtcbiAgaWYgKCFjb250ZXh0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd1c2VQYWdlIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBQYWdlUHJvdmlkZXInKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyQkEsTUFBTSxTQUFTLElBQUlBLHVCQUFP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
@@ -140,7 +140,7 @@ const PageProvider = ({ children, previewMode = false, onUrlResolverNotReady })
140
140
  pageId = variantInfo.url;
141
141
  break;
142
142
  case VariantTypeEnum.FullPageSalesAgent:
143
- pageType = "full_page_sales_agent";
143
+ pageType = "adaptive_storefront";
144
144
  pageId = variantInfo.url;
145
145
  break;
146
146
  default: return;
@@ -195,4 +195,4 @@ const usePage = () => {
195
195
 
196
196
  //#endregion
197
197
  export { PageProvider, usePage };
198
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZUNvbnRleHQuanMiLCJuYW1lcyI6WyJMb2dnZXIiLCJQYWdlUHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgcHJldmlld01vZGU6IGJvb2xlYW47XG4gIC8qKiBXaGVuIFVSTCByZXNvbHZlciByZXR1cm5zIGByZWFkeTogZmFsc2VgLCBpbnZva2VkIGZvciBleHRlbnNpb24vaW5qZWN0aW9uIGZhaWx1cmUgcmVwb3J0aW5nLiAqL1xuICBvblVybFJlc29sdmVyTm90UmVhZHk/OiAoZXJyb3I6IEVycm9yKSA9PiBQcm9taXNlPHVua25vd24+IHwgdm9pZDtcbn0+IiwiQ29tbWVyY2VBcGlDbGllbnQiLCJwYWdlVHlwZTogc3RyaW5nIiwicGFnZUlkOiBzdHJpbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvcGFnZUNvbnRleHQvcGFnZUNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFJlYWN0Tm9kZSxcbiAgY3JlYXRlQ29udGV4dCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUNvbnRleHQsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtcbiAgVXJsUmVzb2x2ZXJSZXNwb25zZSxcbiAgaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tLFxuICBwYWdlVXNlckV2ZW50QXRvbSxcbiAgcGFnZVZhcmlhbnRJbmZvQXRvbSxcbiAgdXJsUmVzb2x2ZXJBdG9tLFxuICB2YXJpYW50SW5mb0F0b20sXG59IGZyb20gJ3NyYy9hdG9tcy9hcHAvdmFyaWFudCc7XG5pbXBvcnQgeyB1c2VBdG9tLCB1c2VBdG9tVmFsdWUgfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgQ29tbWVyY2VBcGlDbGllbnQgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2NvbW1lcmNlLWFwaSc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgeyBQYWdlVmlzaXRDYXRlZ29yeSwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgVmFyaWFudFR5cGVFbnVtIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLCB1c2VBbXBsaXR1ZGUgfSBmcm9tICdzcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dCc7XG5pbXBvcnQgeyBtYXBBcGlVc2VyRXZlbnRUb1VzZXJFdmVudCwgbWFwVXJsUmVzb2x2ZXJSZXNwb25zZVRvVmFyaWFudEluZm8gfSBmcm9tICcuL21hcHBpbmcnO1xuaW1wb3J0IHsgUGFnZURldGFpbHMgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcigncGFnZUNvbnRleHQnKTtcblxuY29uc3QgUGFnZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PFxuICB8IChQYWdlRGV0YWlscyAmIHtcbiAgICAgIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgICAgIGlzU3VwcG9ydGVkOiBib29sZWFuO1xuICAgICAgc2V0UGFnZVVybDogKHVybDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIH0pXG4gIHwgdW5kZWZpbmVkXG4+KHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBQYWdlUHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgcHJldmlld01vZGU6IGJvb2xlYW47XG4gIC8qKiBXaGVuIFVSTCByZXNvbHZlciByZXR1cm5zIGByZWFkeTogZmFsc2VgLCBpbnZva2VkIGZvciBleHRlbnNpb24vaW5qZWN0aW9uIGZhaWx1cmUgcmVwb3J0aW5nLiAqL1xuICBvblVybFJlc29sdmVyTm90UmVhZHk/OiAoZXJyb3I6IEVycm9yKSA9PiBQcm9taXNlPHVua25vd24+IHwgdm9pZDtcbn0+ID0gKHsgY2hpbGRyZW4sIHByZXZpZXdNb2RlID0gZmFsc2UsIG9uVXJsUmVzb2x2ZXJOb3RSZWFkeSB9KSA9PiB7XG4gIGNvbnN0IFtwYWdlVXJsLCBzZXRQYWdlVXJsXSA9IHVzZVN0YXRlPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgY29uc3QgW3VybFJlc29sdmVyUmVzcG9uc2UsIHNldFVybFJlc29sdmVyUmVzcG9uc2VdID0gdXNlQXRvbSh1cmxSZXNvbHZlckF0b20pO1xuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbdmFyaWFudEluZm8sIHNldFZhcmlhbnRJbmZvXSA9IHVzZUF0b20ocGFnZVZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IFt1c2VyRXZlbnQsIHNldFVzZXJFdmVudF0gPSB1c2VBdG9tKHBhZ2VVc2VyRXZlbnRBdG9tKTtcbiAgY29uc3QgW2lzU3VwcG9ydGVkLCBzZXRJc1N1cHBvcnRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGxhc3ROb3RSZWFkeVVybFJlZiA9IHVzZVJlZjxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldFBhZ2VVcmwod2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICB9LCBbXSk7XG5cbiAgLy8gQXV0by1pbml0aWFsaXplIGF0b21zIGZvciBwcmV2aWV3IG1vZGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocHJldmlld01vZGUgJiYgIXVzZXJFdmVudCAmJiAhdmFyaWFudEluZm8pIHtcbiAgICAgIGNvbnN0IHVybCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmxvY2F0aW9uLmhyZWYgOiAnJztcbiAgICAgIHNldFVzZXJFdmVudCh7XG4gICAgICAgIGV2ZW50X2lkOiAncHJldmlldy11c2VyLWV2ZW50JyxcbiAgICAgICAgY3JlYXRlZF9hdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0LFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgcGFnZV92aXNpdF9jYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnkuT3RoZXIsXG4gICAgICAgICAgdXJsLFxuICAgICAgICB9LFxuICAgICAgfSBhcyBhbnkpO1xuXG4gICAgICBzZXRWYXJpYW50SW5mbyh7XG4gICAgICAgIHZhcmlhbnRUeXBlOiBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0LFxuICAgICAgICB1cmwsXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtwcmV2aWV3TW9kZSwgdXNlckV2ZW50LCB2YXJpYW50SW5mbywgc2V0VXNlckV2ZW50LCBzZXRWYXJpYW50SW5mb10pO1xuXG4gIGNvbnN0IHNldFZhcmlhbnRGcm9tVXJsUmVzb2x2ZXIgPSB1c2VDYWxsYmFjayhcbiAgICAodXJsOiBzdHJpbmcsIHJlc3BvbnNlOiBVcmxSZXNvbHZlclJlc3BvbnNlKSA9PiB7XG4gICAgICBpZiAocmVzcG9uc2UucmVhZHkpIHtcbiAgICAgICAgY29uc3QgbmV3VmFyaWFudEluZm8gPSBtYXBVcmxSZXNvbHZlclJlc3BvbnNlVG9WYXJpYW50SW5mbyh1cmwsIHJlc3BvbnNlKTtcbiAgICAgICAgY29uc3QgbmV3VXNlckV2ZW50ID0gbWFwQXBpVXNlckV2ZW50VG9Vc2VyRXZlbnQocmVzcG9uc2UudXNlcl9ldmVudCA/PyB1bmRlZmluZWQpO1xuICAgICAgICBsb2dnZXIubG9nRGVidWcoJ3NldHRpbmcgdmFyaWFudCBpbmZvIGFuZCB1c2VyIGV2ZW50JywgeyBuZXdWYXJpYW50SW5mbywgbmV3VXNlckV2ZW50IH0pO1xuICAgICAgICBzZXRWYXJpYW50SW5mbyhuZXdWYXJpYW50SW5mbyk7XG4gICAgICAgIHNldFVzZXJFdmVudChuZXdVc2VyRXZlbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0VXNlckV2ZW50KHVuZGVmaW5lZCk7XG4gICAgICAgIHNldFZhcmlhbnRJbmZvKHVuZGVmaW5lZCk7XG4gICAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnc2V0IHZhcmlhbnQgaW5mbyBhbmQgdXNlciBldmVudCB0byB1bmRlZmluZWQnLCB7IHZhcmlhbnRJbmZvLCB1c2VyRXZlbnQgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbc2V0VmFyaWFudEluZm8sIHNldFVzZXJFdmVudF0sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCByZXNvbHZlUGFnZVVybCA9IGFzeW5jICgpID0+IHtcbiAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmICghcGFnZVVybCkge1xuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgaW4gcHJldmlldyBtb2RlIG9yIGF0b21zIGFyZSBhbHJlYWR5IHNldCAoZS5nLiwgYnkgc3Rvcnlib29rKSwgc2tpcCBBUEkgY2FsbFxuICAgICAgICBpZiAocHJldmlld01vZGUgfHwgdXNlckV2ZW50IHx8IHZhcmlhbnRJbmZvKSB7XG4gICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjbGVhbnNlZFVybCA9IHBhZ2VVcmwudG9Mb3dlckNhc2UoKS50cmltKCk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID1cbiAgICAgICAgICB1cmxSZXNvbHZlclJlc3BvbnNlW2NsZWFuc2VkVXJsXSA/P1xuICAgICAgICAgICgoYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQucmVzb2x2ZVVybChjbGVhbnNlZFVybCkpIGFzIFVybFJlc29sdmVyUmVzcG9uc2UpO1xuICAgICAgICBzZXRWYXJpYW50RnJvbVVybFJlc29sdmVyKGNsZWFuc2VkVXJsLCByZXNwb25zZSk7XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIHNldElzU3VwcG9ydGVkKHJlc3BvbnNlLnJlYWR5KTtcblxuICAgICAgICBpZiAocmVzcG9uc2UucmVhZHkpIHtcbiAgICAgICAgICBsYXN0Tm90UmVhZHlVcmxSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAob25VcmxSZXNvbHZlck5vdFJlYWR5ICYmIGxhc3ROb3RSZWFkeVVybFJlZi5jdXJyZW50ICE9PSBjbGVhbnNlZFVybCkge1xuICAgICAgICAgIGxhc3ROb3RSZWFkeVVybFJlZi5jdXJyZW50ID0gY2xlYW5zZWRVcmw7XG4gICAgICAgICAgY29uc3QgZXJyID0gbmV3IEVycm9yKGBVUkwgcmVzb2x2ZXIgcmV0dXJuZWQgcmVhZHk9ZmFsc2UgZm9yICR7Y2xlYW5zZWRVcmx9YCk7XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKG9uVXJsUmVzb2x2ZXJOb3RSZWFkeShlcnIpKS5jYXRjaChjYWxsYmFja0Vycm9yID0+IHtcbiAgICAgICAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnb25VcmxSZXNvbHZlck5vdFJlYWR5IGNhbGxiYWNrIGZhaWxlZCcsIGNhbGxiYWNrRXJyb3IpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIGxvZ2dlci5sb2dFcnJvcignRmFpbGVkIHRvIHJlc29sdmUgcGFnZSBVUkwnLCBlLCB7IHBhZ2VVcmwgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICByZXNvbHZlUGFnZVVybCgpO1xuICB9LCBbXG4gICAgcGFnZVVybCxcbiAgICB1cmxSZXNvbHZlclJlc3BvbnNlLFxuICAgIHNldFVybFJlc29sdmVyUmVzcG9uc2UsXG4gICAgc2V0VmFyaWFudEZyb21VcmxSZXNvbHZlcixcbiAgICB1c2VyRXZlbnQsXG4gICAgdmFyaWFudEluZm8sXG4gICAgcHJldmlld01vZGUsXG4gICAgb25VcmxSZXNvbHZlck5vdFJlYWR5LFxuICBdKTtcblxuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuICBjb25zdCByZXNvbHZlZFZhcmlhbnRJbmZvID0gdXNlQXRvbVZhbHVlKHZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IGhhc1BhcnNlZFZhcmlhbnRJbmZvID0gdXNlQXRvbVZhbHVlKGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IHBhZ2VWaWV3ZWRGaXJlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocGFnZVZpZXdlZEZpcmVkLmN1cnJlbnQgfHwgaXNMb2FkaW5nIHx8ICFoYXNQYXJzZWRWYXJpYW50SW5mbyB8fCAhdmFyaWFudEluZm8pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgcGFnZVR5cGU6IHN0cmluZztcbiAgICBsZXQgcGFnZUlkOiBzdHJpbmc7XG5cbiAgICBzd2l0Y2ggKHZhcmlhbnRJbmZvLnZhcmlhbnRUeXBlKSB7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5QZHA6XG4gICAgICAgIHBhZ2VUeXBlID0gJ3BkcCc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnByb2R1Y3RJZDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5QbHA6XG4gICAgICAgIHBhZ2VUeXBlID0gJ3BscCc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnBscElkO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVmFyaWFudFR5cGVFbnVtLkhvbWU6XG4gICAgICAgIHBhZ2VUeXBlID0gJ2hvbWVwYWdlJztcbiAgICAgICAgcGFnZUlkID0gdmFyaWFudEluZm8udXJsO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVmFyaWFudFR5cGVFbnVtLk90aGVyOlxuICAgICAgICBwYWdlVHlwZSA9ICdvdGhlcic7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5QYWdlVmlzaXQ6XG4gICAgICAgIHBhZ2VUeXBlID0gJ290aGVyJztcbiAgICAgICAgcGFnZUlkID0gdmFyaWFudEluZm8udXJsO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVmFyaWFudFR5cGVFbnVtLkZ1bGxQYWdlU2FsZXNBZ2VudDpcbiAgICAgICAgcGFnZVR5cGUgPSAnZnVsbF9wYWdlX3NhbGVzX2FnZW50JztcbiAgICAgICAgcGFnZUlkID0gdmFyaWFudEluZm8udXJsO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBwYWdlVmlld2VkRmlyZWQuY3VycmVudCA9IHRydWU7XG5cbiAgICB0cmFja0V2ZW50KHtcbiAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5QYWdlVmlld2VkLFxuICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAnY29udGV4dC5wYWdlX3R5cGUnOiBwYWdlVHlwZSxcbiAgICAgICAgJ2NvbnRleHQucGFnZV9pZCc6IHBhZ2VJZCxcbiAgICAgICAgJ2NvbnRleHQuc3VwcG9ydGVkJzogaXNTdXBwb3J0ZWQsXG4gICAgICAgICdjb250ZXh0LnJlYWR5JzogaXNTdXBwb3J0ZWQsXG4gICAgICAgICdjb250ZXh0LnBhZ2VfdmFyaWFudF9pZCc6IHJlc29sdmVkVmFyaWFudEluZm8udmFyaWFudElkLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfSwgW2lzTG9hZGluZywgaXNTdXBwb3J0ZWQsIGhhc1BhcnNlZFZhcmlhbnRJbmZvLCB2YXJpYW50SW5mbywgcmVzb2x2ZWRWYXJpYW50SW5mbywgdHJhY2tFdmVudF0pO1xuXG4gIGNvbnN0IHNldFBhZ2VVcmxTdGFibGUgPSB1c2VDYWxsYmFjaygodXJsOiBzdHJpbmcpID0+IHtcbiAgICBzZXRQYWdlVXJsKHVybCk7XG4gIH0sIFtdKTtcblxuICBjb25zdCB2YWx1ZSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIHBhZ2VVcmwsXG4gICAgICB2YXJpYW50SW5mbyxcbiAgICAgIHVzZXJFdmVudCxcbiAgICAgIGlzTG9hZGluZyxcbiAgICAgIGlzU3VwcG9ydGVkLFxuICAgICAgc2V0UGFnZVVybDogc2V0UGFnZVVybFN0YWJsZSxcbiAgICB9KSxcbiAgICBbcGFnZVVybCwgdXNlckV2ZW50LCB2YXJpYW50SW5mbywgaXNMb2FkaW5nLCBpc1N1cHBvcnRlZCwgc2V0UGFnZVVybFN0YWJsZV0sXG4gICk7XG5cbiAgcmV0dXJuIDxQYWdlQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PntjaGlsZHJlbn08L1BhZ2VDb250ZXh0LlByb3ZpZGVyPjtcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VQYWdlID0gKCkgPT4ge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChQYWdlQ29udGV4dCk7XG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcigndXNlUGFnZSBtdXN0IGJlIHVzZWQgd2l0aGluIGEgUGFnZVByb3ZpZGVyJyk7XG4gIH1cbiAgcmV0dXJuIGNvbnRleHQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7QUEyQkEsTUFBTSxTQUFTLElBQUlBLGVBQU8sY0FBYztBQUV4QyxNQUFNLGNBQWMsY0FPbEIsT0FBVTtBQUVaLE1BQWFDLGdCQUtQLEVBQUUsVUFBVSxjQUFjLE9BQU8sNEJBQTRCO0NBQ2pFLE1BQU0sQ0FBQyxTQUFTLGNBQWMsU0FBNkIsT0FBVTtDQUNyRSxNQUFNLENBQUMscUJBQXFCLDBCQUEwQixRQUFRLGdCQUFnQjtDQUM5RSxNQUFNLENBQUMsV0FBVyxnQkFBZ0IsU0FBUyxNQUFNO0NBQ2pELE1BQU0sQ0FBQyxhQUFhLGtCQUFrQixRQUFRLG9CQUFvQjtDQUNsRSxNQUFNLENBQUMsV0FBVyxnQkFBZ0IsUUFBUSxrQkFB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
198
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZUNvbnRleHQuanMiLCJuYW1lcyI6WyJMb2dnZXIiLCJQYWdlUHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgcHJldmlld01vZGU6IGJvb2xlYW47XG4gIC8qKiBXaGVuIFVSTCByZXNvbHZlciByZXR1cm5zIGByZWFkeTogZmFsc2VgLCBpbnZva2VkIGZvciBleHRlbnNpb24vaW5qZWN0aW9uIGZhaWx1cmUgcmVwb3J0aW5nLiAqL1xuICBvblVybFJlc29sdmVyTm90UmVhZHk/OiAoZXJyb3I6IEVycm9yKSA9PiBQcm9taXNlPHVua25vd24+IHwgdm9pZDtcbn0+IiwiQ29tbWVyY2VBcGlDbGllbnQiLCJwYWdlVHlwZTogc3RyaW5nIiwicGFnZUlkOiBzdHJpbmciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvcGFnZUNvbnRleHQvcGFnZUNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIFJlYWN0Tm9kZSxcbiAgY3JlYXRlQ29udGV4dCxcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUNvbnRleHQsXG4gIHVzZUVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtcbiAgVXJsUmVzb2x2ZXJSZXNwb25zZSxcbiAgaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tLFxuICBwYWdlVXNlckV2ZW50QXRvbSxcbiAgcGFnZVZhcmlhbnRJbmZvQXRvbSxcbiAgdXJsUmVzb2x2ZXJBdG9tLFxuICB2YXJpYW50SW5mb0F0b20sXG59IGZyb20gJ3NyYy9hdG9tcy9hcHAvdmFyaWFudCc7XG5pbXBvcnQgeyB1c2VBdG9tLCB1c2VBdG9tVmFsdWUgfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgQ29tbWVyY2VBcGlDbGllbnQgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2NvbW1lcmNlLWFwaSc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgeyBQYWdlVmlzaXRDYXRlZ29yeSwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgVmFyaWFudFR5cGVFbnVtIH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLCB1c2VBbXBsaXR1ZGUgfSBmcm9tICdzcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dCc7XG5pbXBvcnQgeyBtYXBBcGlVc2VyRXZlbnRUb1VzZXJFdmVudCwgbWFwVXJsUmVzb2x2ZXJSZXNwb25zZVRvVmFyaWFudEluZm8gfSBmcm9tICcuL21hcHBpbmcnO1xuaW1wb3J0IHsgUGFnZURldGFpbHMgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcigncGFnZUNvbnRleHQnKTtcblxuY29uc3QgUGFnZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PFxuICB8IChQYWdlRGV0YWlscyAmIHtcbiAgICAgIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgICAgIGlzU3VwcG9ydGVkOiBib29sZWFuO1xuICAgICAgc2V0UGFnZVVybDogKHVybDogc3RyaW5nKSA9PiB2b2lkO1xuICAgIH0pXG4gIHwgdW5kZWZpbmVkXG4+KHVuZGVmaW5lZCk7XG5cbmV4cG9ydCBjb25zdCBQYWdlUHJvdmlkZXI6IFJlYWN0LkZDPHtcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgcHJldmlld01vZGU6IGJvb2xlYW47XG4gIC8qKiBXaGVuIFVSTCByZXNvbHZlciByZXR1cm5zIGByZWFkeTogZmFsc2VgLCBpbnZva2VkIGZvciBleHRlbnNpb24vaW5qZWN0aW9uIGZhaWx1cmUgcmVwb3J0aW5nLiAqL1xuICBvblVybFJlc29sdmVyTm90UmVhZHk/OiAoZXJyb3I6IEVycm9yKSA9PiBQcm9taXNlPHVua25vd24+IHwgdm9pZDtcbn0+ID0gKHsgY2hpbGRyZW4sIHByZXZpZXdNb2RlID0gZmFsc2UsIG9uVXJsUmVzb2x2ZXJOb3RSZWFkeSB9KSA9PiB7XG4gIGNvbnN0IFtwYWdlVXJsLCBzZXRQYWdlVXJsXSA9IHVzZVN0YXRlPHN0cmluZyB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcbiAgY29uc3QgW3VybFJlc29sdmVyUmVzcG9uc2UsIHNldFVybFJlc29sdmVyUmVzcG9uc2VdID0gdXNlQXRvbSh1cmxSZXNvbHZlckF0b20pO1xuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbdmFyaWFudEluZm8sIHNldFZhcmlhbnRJbmZvXSA9IHVzZUF0b20ocGFnZVZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IFt1c2VyRXZlbnQsIHNldFVzZXJFdmVudF0gPSB1c2VBdG9tKHBhZ2VVc2VyRXZlbnRBdG9tKTtcbiAgY29uc3QgW2lzU3VwcG9ydGVkLCBzZXRJc1N1cHBvcnRlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IGxhc3ROb3RSZWFkeVVybFJlZiA9IHVzZVJlZjxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldFBhZ2VVcmwod2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICB9LCBbXSk7XG5cbiAgLy8gQXV0by1pbml0aWFsaXplIGF0b21zIGZvciBwcmV2aWV3IG1vZGVcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocHJldmlld01vZGUgJiYgIXVzZXJFdmVudCAmJiAhdmFyaWFudEluZm8pIHtcbiAgICAgIGNvbnN0IHVybCA9IHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LmxvY2F0aW9uLmhyZWYgOiAnJztcbiAgICAgIHNldFVzZXJFdmVudCh7XG4gICAgICAgIGV2ZW50X2lkOiAncHJldmlldy11c2VyLWV2ZW50JyxcbiAgICAgICAgY3JlYXRlZF9hdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0LFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgcGFnZV92aXNpdF9jYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnkuT3RoZXIsXG4gICAgICAgICAgdXJsLFxuICAgICAgICB9LFxuICAgICAgfSBhcyBhbnkpO1xuXG4gICAgICBzZXRWYXJpYW50SW5mbyh7XG4gICAgICAgIHZhcmlhbnRUeXBlOiBWYXJpYW50VHlwZUVudW0uUGFnZVZpc2l0LFxuICAgICAgICB1cmwsXG4gICAgICB9KTtcbiAgICB9XG4gIH0sIFtwcmV2aWV3TW9kZSwgdXNlckV2ZW50LCB2YXJpYW50SW5mbywgc2V0VXNlckV2ZW50LCBzZXRWYXJpYW50SW5mb10pO1xuXG4gIGNvbnN0IHNldFZhcmlhbnRGcm9tVXJsUmVzb2x2ZXIgPSB1c2VDYWxsYmFjayhcbiAgICAodXJsOiBzdHJpbmcsIHJlc3BvbnNlOiBVcmxSZXNvbHZlclJlc3BvbnNlKSA9PiB7XG4gICAgICBpZiAocmVzcG9uc2UucmVhZHkpIHtcbiAgICAgICAgY29uc3QgbmV3VmFyaWFudEluZm8gPSBtYXBVcmxSZXNvbHZlclJlc3BvbnNlVG9WYXJpYW50SW5mbyh1cmwsIHJlc3BvbnNlKTtcbiAgICAgICAgY29uc3QgbmV3VXNlckV2ZW50ID0gbWFwQXBpVXNlckV2ZW50VG9Vc2VyRXZlbnQocmVzcG9uc2UudXNlcl9ldmVudCA/PyB1bmRlZmluZWQpO1xuICAgICAgICBsb2dnZXIubG9nRGVidWcoJ3NldHRpbmcgdmFyaWFudCBpbmZvIGFuZCB1c2VyIGV2ZW50JywgeyBuZXdWYXJpYW50SW5mbywgbmV3VXNlckV2ZW50IH0pO1xuICAgICAgICBzZXRWYXJpYW50SW5mbyhuZXdWYXJpYW50SW5mbyk7XG4gICAgICAgIHNldFVzZXJFdmVudChuZXdVc2VyRXZlbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0VXNlckV2ZW50KHVuZGVmaW5lZCk7XG4gICAgICAgIHNldFZhcmlhbnRJbmZvKHVuZGVmaW5lZCk7XG4gICAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnc2V0IHZhcmlhbnQgaW5mbyBhbmQgdXNlciBldmVudCB0byB1bmRlZmluZWQnLCB7IHZhcmlhbnRJbmZvLCB1c2VyRXZlbnQgfSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbc2V0VmFyaWFudEluZm8sIHNldFVzZXJFdmVudF0sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCByZXNvbHZlUGFnZVVybCA9IGFzeW5jICgpID0+IHtcbiAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmICghcGFnZVVybCkge1xuICAgICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgaW4gcHJldmlldyBtb2RlIG9yIGF0b21zIGFyZSBhbHJlYWR5IHNldCAoZS5nLiwgYnkgc3Rvcnlib29rKSwgc2tpcCBBUEkgY2FsbFxuICAgICAgICBpZiAocHJldmlld01vZGUgfHwgdXNlckV2ZW50IHx8IHZhcmlhbnRJbmZvKSB7XG4gICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjbGVhbnNlZFVybCA9IHBhZ2VVcmwudG9Mb3dlckNhc2UoKS50cmltKCk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID1cbiAgICAgICAgICB1cmxSZXNvbHZlclJlc3BvbnNlW2NsZWFuc2VkVXJsXSA/P1xuICAgICAgICAgICgoYXdhaXQgQ29tbWVyY2VBcGlDbGllbnQucmVzb2x2ZVVybChjbGVhbnNlZFVybCkpIGFzIFVybFJlc29sdmVyUmVzcG9uc2UpO1xuICAgICAgICBzZXRWYXJpYW50RnJvbVVybFJlc29sdmVyKGNsZWFuc2VkVXJsLCByZXNwb25zZSk7XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIHNldElzU3VwcG9ydGVkKHJlc3BvbnNlLnJlYWR5KTtcblxuICAgICAgICBpZiAocmVzcG9uc2UucmVhZHkpIHtcbiAgICAgICAgICBsYXN0Tm90UmVhZHlVcmxSZWYuY3VycmVudCA9IG51bGw7XG4gICAgICAgIH0gZWxzZSBpZiAob25VcmxSZXNvbHZlck5vdFJlYWR5ICYmIGxhc3ROb3RSZWFkeVVybFJlZi5jdXJyZW50ICE9PSBjbGVhbnNlZFVybCkge1xuICAgICAgICAgIGxhc3ROb3RSZWFkeVVybFJlZi5jdXJyZW50ID0gY2xlYW5zZWRVcmw7XG4gICAgICAgICAgY29uc3QgZXJyID0gbmV3IEVycm9yKGBVUkwgcmVzb2x2ZXIgcmV0dXJuZWQgcmVhZHk9ZmFsc2UgZm9yICR7Y2xlYW5zZWRVcmx9YCk7XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKG9uVXJsUmVzb2x2ZXJOb3RSZWFkeShlcnIpKS5jYXRjaChjYWxsYmFja0Vycm9yID0+IHtcbiAgICAgICAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnb25VcmxSZXNvbHZlck5vdFJlYWR5IGNhbGxiYWNrIGZhaWxlZCcsIGNhbGxiYWNrRXJyb3IpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHNldElzTG9hZGluZyhmYWxzZSk7XG4gICAgICAgIGxvZ2dlci5sb2dFcnJvcignRmFpbGVkIHRvIHJlc29sdmUgcGFnZSBVUkwnLCBlLCB7IHBhZ2VVcmwgfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICByZXNvbHZlUGFnZVVybCgpO1xuICB9LCBbXG4gICAgcGFnZVVybCxcbiAgICB1cmxSZXNvbHZlclJlc3BvbnNlLFxuICAgIHNldFVybFJlc29sdmVyUmVzcG9uc2UsXG4gICAgc2V0VmFyaWFudEZyb21VcmxSZXNvbHZlcixcbiAgICB1c2VyRXZlbnQsXG4gICAgdmFyaWFudEluZm8sXG4gICAgcHJldmlld01vZGUsXG4gICAgb25VcmxSZXNvbHZlck5vdFJlYWR5LFxuICBdKTtcblxuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuICBjb25zdCByZXNvbHZlZFZhcmlhbnRJbmZvID0gdXNlQXRvbVZhbHVlKHZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IGhhc1BhcnNlZFZhcmlhbnRJbmZvID0gdXNlQXRvbVZhbHVlKGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IHBhZ2VWaWV3ZWRGaXJlZCA9IHVzZVJlZihmYWxzZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocGFnZVZpZXdlZEZpcmVkLmN1cnJlbnQgfHwgaXNMb2FkaW5nIHx8ICFoYXNQYXJzZWRWYXJpYW50SW5mbyB8fCAhdmFyaWFudEluZm8pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgcGFnZVR5cGU6IHN0cmluZztcbiAgICBsZXQgcGFnZUlkOiBzdHJpbmc7XG5cbiAgICBzd2l0Y2ggKHZhcmlhbnRJbmZvLnZhcmlhbnRUeXBlKSB7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5QZHA6XG4gICAgICAgIHBhZ2VUeXBlID0gJ3BkcCc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnByb2R1Y3RJZDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5QbHA6XG4gICAgICAgIHBhZ2VUeXBlID0gJ3BscCc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnBscElkO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVmFyaWFudFR5cGVFbnVtLkhvbWU6XG4gICAgICAgIHBhZ2VUeXBlID0gJ2hvbWVwYWdlJztcbiAgICAgICAgcGFnZUlkID0gdmFyaWFudEluZm8udXJsO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVmFyaWFudFR5cGVFbnVtLk90aGVyOlxuICAgICAgICBwYWdlVHlwZSA9ICdvdGhlcic7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFZhcmlhbnRUeXBlRW51bS5QYWdlVmlzaXQ6XG4gICAgICAgIHBhZ2VUeXBlID0gJ290aGVyJztcbiAgICAgICAgcGFnZUlkID0gdmFyaWFudEluZm8udXJsO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgVmFyaWFudFR5cGVFbnVtLkZ1bGxQYWdlU2FsZXNBZ2VudDpcbiAgICAgICAgcGFnZVR5cGUgPSAnYWRhcHRpdmVfc3RvcmVmcm9udCc7XG4gICAgICAgIHBhZ2VJZCA9IHZhcmlhbnRJbmZvLnVybDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgcGFnZVZpZXdlZEZpcmVkLmN1cnJlbnQgPSB0cnVlO1xuXG4gICAgdHJhY2tFdmVudCh7XG4gICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuUGFnZVZpZXdlZCxcbiAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgJ2NvbnRleHQucGFnZV90eXBlJzogcGFnZVR5cGUsXG4gICAgICAgICdjb250ZXh0LnBhZ2VfaWQnOiBwYWdlSWQsXG4gICAgICAgICdjb250ZXh0LnN1cHBvcnRlZCc6IGlzU3VwcG9ydGVkLFxuICAgICAgICAnY29udGV4dC5yZWFkeSc6IGlzU3VwcG9ydGVkLFxuICAgICAgICAnY29udGV4dC5wYWdlX3ZhcmlhbnRfaWQnOiByZXNvbHZlZFZhcmlhbnRJbmZvLnZhcmlhbnRJZCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH0sIFtpc0xvYWRpbmcsIGlzU3VwcG9ydGVkLCBoYXNQYXJzZWRWYXJpYW50SW5mbywgdmFyaWFudEluZm8sIHJlc29sdmVkVmFyaWFudEluZm8sIHRyYWNrRXZlbnRdKTtcblxuICBjb25zdCBzZXRQYWdlVXJsU3RhYmxlID0gdXNlQ2FsbGJhY2soKHVybDogc3RyaW5nKSA9PiB7XG4gICAgc2V0UGFnZVVybCh1cmwpO1xuICB9LCBbXSk7XG5cbiAgY29uc3QgdmFsdWUgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBwYWdlVXJsLFxuICAgICAgdmFyaWFudEluZm8sXG4gICAgICB1c2VyRXZlbnQsXG4gICAgICBpc0xvYWRpbmcsXG4gICAgICBpc1N1cHBvcnRlZCxcbiAgICAgIHNldFBhZ2VVcmw6IHNldFBhZ2VVcmxTdGFibGUsXG4gICAgfSksXG4gICAgW3BhZ2VVcmwsIHVzZXJFdmVudCwgdmFyaWFudEluZm8sIGlzTG9hZGluZywgaXNTdXBwb3J0ZWQsIHNldFBhZ2VVcmxTdGFibGVdLFxuICApO1xuXG4gIHJldHVybiA8UGFnZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9QYWdlQ29udGV4dC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgY29uc3QgdXNlUGFnZSA9ICgpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoUGFnZUNvbnRleHQpO1xuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3VzZVBhZ2UgbXVzdCBiZSB1c2VkIHdpdGhpbiBhIFBhZ2VQcm92aWRlcicpO1xuICB9XG4gIHJldHVybiBjb250ZXh0O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBMkJBLE1BQU0sU0FBUyxJQUFJQSxlQUFPLGNBQWM7QUFFeEMsTUFBTSxjQUFjLGNBT2xCLE9BQVU7QUFFWixNQUFhQyxnQkFLUCxFQUFFLFVBQVUsY0FBYyxPQUFPLDRCQUE0QjtDQUNqRSxNQUFNLENBQUMsU0FBUyxjQUFjLFNBQTZCLE9BQVU7Q0FDckUsTUFBTSxDQUFDLHFCQUFxQiwwQkFBMEIsUUFBUSxnQkFBZ0I7Q0FDOUUsTUFBTSxDQUFDLFdBQVcsZ0JBQWdCLFNBQVMsTUFBTTtDQUNqRCxNQUFNLENBQUMsYUFBYSxrQkFBa0IsUUFBUSxvQkFBb0I7Q0FDbEUsTUFBTSxDQUFDLFdBQVcsZ0JBQWdCLFFBQVEsa0JBQWtC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
@@ -6,11 +6,11 @@ const require_eventNames = require('../../services/amplitudeService/eventNames.c
6
6
  require('../../services/amplitudeService/amplitudeService.cjs');
7
7
  const require_variant = require('../../atoms/app/variant.cjs');
8
8
  require('../../atoms/app/index.cjs');
9
- const require_amplitudeContext = require('../amplitudeContext/amplitudeContext.cjs');
10
- require('../amplitudeContext/index.cjs');
11
9
  const require_atoms_chat_chatState = require('../../atoms/chat/chatState.cjs');
12
10
  const require_messageQueue = require('../../atoms/chat/messageQueue.cjs');
13
11
  require('../../atoms/chat/index.cjs');
12
+ const require_amplitudeContext = require('../amplitudeContext/amplitudeContext.cjs');
13
+ require('../amplitudeContext/index.cjs');
14
14
  const require_hooks_WidgetInteraction_types = require('../../hooks/WidgetInteraction/types.cjs');
15
15
  const require_useWidgetInteraction = require('../../hooks/WidgetInteraction/useWidgetInteraction.cjs');
16
16
  require('../../hooks/WidgetInteraction/index.cjs');
@@ -33,6 +33,7 @@ const useSalesAgentChatAPI = (widget) => {
33
33
  const setSuggestions = (0, jotai.useSetAtom)(require_atoms_chat_chatState.suggestionsAtom);
34
34
  const setReplyEventCategory = (0, jotai.useSetAtom)(require_atoms_chat_chatState.replyEventCategoryAtom);
35
35
  const setFormSubmit = (0, jotai.useSetAtom)(require_atoms_chat_chatState.formSubmitAtom);
36
+ const setMessages = (0, jotai.useSetAtom)(require_atoms_chat_chatState.messagesAtom);
36
37
  const { trackEvent } = require_amplitudeContext.useAmplitude();
37
38
  const { trackWidgetInteraction } = require_useWidgetInteraction.useWidgetInteraction();
38
39
  const contextWidget = widget || require_hooks_WidgetInteraction_types.WidgetInteractionComponent.FLOATING_CHAT;
@@ -215,10 +216,20 @@ const useSalesAgentChatAPI = (widget) => {
215
216
  trackEvent,
216
217
  context,
217
218
  queueUserEvent
218
- ])
219
+ ]),
220
+ injectAssistantMessage: (0, react.useCallback)((content) => {
221
+ const message = {
222
+ id: (0, uuid.v4)(),
223
+ role: require_message.MessageRole.Assistant,
224
+ type: require_message.MessageType.Text,
225
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
226
+ metadata: { content }
227
+ };
228
+ setMessages((current) => [...current, [message]]);
229
+ }, [setMessages])
219
230
  };
220
231
  };
221
232
 
222
233
  //#endregion
223
234
  exports.useSalesAgentChatAPI = useSalesAgentChatAPI;
224
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5janMiLCJuYW1lcyI6WyJVc2VyRXZlbnRDYXRlZ29yeSIsIkxvZ2dlciIsImFuYWx5dGljc0NvbnRleHRBdG9tIiwiaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tIiwicXVldWVVc2VyRXZlbnRBdG9tIiwic3VnZ2VzdGlvbnNBdG9tIiwicmVwbHlFdmVudENhdGVnb3J5QXRvbSIsImZvcm1TdWJtaXRBdG9tIiwidXNlQW1wbGl0dWRlIiwidXNlV2lkZ2V0SW50ZXJhY3Rpb24iLCJXaWRnZXRJbnRlcmFjdGlvbkNvbXBvbmVudCIsIkVudml2ZU1ldHJpY3NFdmVudE5hbWUiLCJXaWRnZXRJbnRlcmFjdGlvblR5cGUiLCJTcGlmZnlNZXRyaWNzRXZlbnROYW1lIiwiTWVzc2FnZVJvbGUiLCJNZXNzYWdlVHlwZSIsImV2ZW50OiBVc2VyRXZlbnQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc2FsZXNBZ2VudENvbnRleHQvY2hhdEFQSS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGNvbXBvbmVudCB3aWxsIGludGVyYWN0IHdpdGggdGhlIGJhY2tlbmQgQVBJIHRvIGdldCB0aGUgcmVzcG9uc2VzIGZyb20gdGhlIHNhbGVzIGFnZW50LlxuaW1wb3J0IHsgUGFnZVZpc2l0Q2F0ZWdvcnksIFVzZXJFdmVudENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IHVzZUF0b21WYWx1ZSwgdXNlU2V0QXRvbSB9IGZyb20gJ2pvdGFpJztcbmltcG9ydCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IExvZ2dlciBmcm9tICdzcmMvYXBwbGljYXRpb24vbG9nZ2luZy9sb2dnZXInO1xuaW1wb3J0IHtcbiAgQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMyxcbiAgRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMsXG4gIE1lc3NhZ2VSb2xlLFxuICBNZXNzYWdlVHlwZSxcbiAgU3VnZ2VzdGlvbixcbiAgVXNlckV2ZW50LFxufSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAnO1xuaW1wb3J0IHsgYW5hbHl0aWNzQ29udGV4dEF0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwL3ZhcmlhbnQnO1xuaW1wb3J0IHsgZm9ybVN1Ym1pdEF0b20sIHJlcGx5RXZlbnRDYXRlZ29yeUF0b20gfSBmcm9tICdzcmMvYXRvbXMvY2hhdCc7XG5pbXBvcnQgeyBzdWdnZXN0aW9uc0F0b20gfSBmcm9tICdzcmMvYXRvbXMvY2hhdC9jaGF0U3RhdGUnO1xuaW1wb3J0IHsgcXVldWVVc2VyRXZlbnRBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2NoYXQvbWVzc2FnZVF1ZXVlJztcbmltcG9ydCB7IHVzZVdpZGdldEludGVyYWN0aW9uIH0gZnJvbSAnc3JjL2hvb2tzL1dpZGdldEludGVyYWN0aW9uJztcbmltcG9ydCB7XG4gIFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50LFxuICBXaWRnZXRJbnRlcmFjdGlvblR5cGUsXG59IGZyb20gJ3NyYy9ob29rcy9XaWRnZXRJbnRlcmFjdGlvbi90eXBlcyc7XG5pbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSAnc3JjL3NlcnZpY2VzL2FtcGxpdHVkZVNlcnZpY2UvYW1wbGl0dWRlU2VydmljZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLCB1c2VBbXBsaXR1ZGUgfSBmcm9tICcuLi9hbXBsaXR1ZGVDb250ZXh0JztcblxuY29uc3QgVFJBQ0tFRF9VU0VSX0VWRU5UUyA9IFtcbiAgVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0LFxuICBVc2VyRXZlbnRDYXRlZ29yeS5QZHBWaXNpdCxcbiAgVXNlckV2ZW50Q2F0ZWdvcnkuUGxwVmlzaXQsXG5dO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdjaGF0QVBJJyk7XG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzQWdlbnRDaGF0QVBJIHtcbiAgbG9nUGFnZVZpc2l0OiAoeyBwYWdlVmlzaXRDYXRlZ29yeSB9OiB7IHBhZ2VWaXNpdENhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeSB9KSA9PiB2b2lkO1xuICBsb2dVc2VyRXZlbnQ6IChldmVudDogVXNlckV2ZW50KSA9PiB2b2lkO1xuICBvblN1Z2dlc3Rpb25DbGlja2VkOiAoXG4gICAgc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbixcbiAgICBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMsXG4gICkgPT4gdm9pZDtcbiAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQ6ICh7XG4gICAgcXVlcnksXG4gICAgdXNlclR5cGVkLFxuICAgIGRpc3BsYXlMb2NhdGlvbixcbiAgfToge1xuICAgIHF1ZXJ5OiBzdHJpbmc7XG4gICAgdXNlclR5cGVkOiBib29sZWFuO1xuICAgIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMztcbiAgfSkgPT4gdm9pZDtcbiAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQ6IChmb3JtOiBGb3JtU3VibWl0dGVkQXR0cmlidXRlcykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IHVzZVNhbGVzQWdlbnRDaGF0QVBJID0gKHdpZGdldD86IFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50KSA9PiB7XG4gIC8vIFRPRE86IEVhY2ggb2YgdGhlc2UgZnVuY3Rpb25zIHdpbGwgdHJpZ2dlciBib3RoIHRoZSBuZWNlc3NhcnkgYW1wbGl0dWRlIGV2ZW50cyBhbmQgaW5pdGlhdGUgdGhlXG4gIC8vIG5lY2Vzc2FyeSBhY3Rpb25zIHRvIHRyaWdnZXIgdGhlIGJhY2tlbmQgQVBJXG4gIGNvbnN0IGNvbnRleHQgPSB1c2VBdG9tVmFsdWUoYW5hbHl0aWNzQ29udGV4dEF0b20pO1xuICBjb25zdCBoYXNQYXJzZWRWYXJpYW50SW5mbyA9IHVzZUF0b21WYWx1ZShoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20pO1xuICBjb25zdCBxdWV1ZVVzZXJFdmVudCA9IHVzZVNldEF0b20ocXVldWVVc2VyRXZlbnRBdG9tKTtcbiAgY29uc3Qgc2V0U3VnZ2VzdGlvbnMgPSB1c2VTZXRBdG9tKHN1Z2dlc3Rpb25zQXRvbSk7XG4gIGNvbnN0IHNldFJlcGx5RXZlbnRDYXRlZ29yeSA9IHVzZVNldEF0b20ocmVwbHlFdmVudENhdGVnb3J5QXRvbSk7XG4gIGNvbnN0IHNldEZvcm1TdWJtaXQgPSB1c2VTZXRBdG9tKGZvcm1TdWJtaXRBdG9tKTtcbiAgY29uc3QgeyB0cmFja0V2ZW50IH0gPSB1c2VBbXBsaXR1ZGUoKTtcbiAgY29uc3QgeyB0cmFja1dpZGdldEludGVyYWN0aW9uIH0gPSB1c2VXaWRnZXRJbnRlcmFjdGlvbigpO1xuICBjb25zdCBjb250ZXh0V2lkZ2V0ID0gd2lkZ2V0IHx8IFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50LkZMT0FUSU5HX0NIQVQ7XG5cbiAgY29uc3QgbG9nUGFnZVZpc2l0ID0gdXNlQ2FsbGJhY2soXG4gICAgKHsgcGFnZVZpc2l0Q2F0ZWdvcnkgfTogeyBwYWdlVmlzaXRDYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnkgfSkgPT4ge1xuICAgICAgY29uc3QgZXZlbnRJZCA9IHV1aWQoKTtcbiAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlcXVlc3QsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfaWQnOiBldmVudElkLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfdHlwZSc6ICdwYWdlX3Zpc2l0JyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZXZlbnQ6IFVzZXJFdmVudCA9IHtcbiAgICAgICAgZXZlbnRJZCxcbiAgICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlBhZ2VWaXNpdCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICB1cmw6IHdpbmRvdy5sb2NhdGlvbi5ocmVmLFxuICAgICAgICAgIHBhZ2VWaXNpdENhdGVnb3J5LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIHF1ZXVlVXNlckV2ZW50KGV2ZW50KTtcbiAgICB9LFxuICAgIFtxdWV1ZVVzZXJFdmVudCwgY29udGV4dCwgdHJhY2tFdmVudF0sXG4gICk7XG5cbiAgY29uc3QgbG9nVXNlckV2ZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBVc2VyRXZlbnQpID0+IHtcbiAgICAgIGlmICghaGFzUGFyc2VkVmFyaWFudEluZm8pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKFRSQUNLRURfVVNFUl9FVkVOVFMuaW5jbHVkZXMoZXZlbnQuY2F0ZWdvcnkpKSB7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50LmV2ZW50SWQsXG4gICAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAncGFnZV92aXNpdCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbY29udGV4dCwgaGFzUGFyc2VkVmFyaWFudEluZm8sIHF1ZXVlVXNlckV2ZW50LCB0cmFja0V2ZW50XSxcbiAgKTtcbiAgY29uc3Qgb25TdWdnZXN0aW9uQ2xpY2tlZCA9IHVzZUNhbGxiYWNrKFxuICAgIChzdWdnZXN0aW9uOiBTdWdnZXN0aW9uLCBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMpID0+IHtcbiAgICAgIHRyYWNrV2lkZ2V0SW50ZXJhY3Rpb24oe1xuICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0SW50ZXJhY3Rpb24sXG4gICAgICAgIHRyaWdnZXI6IHtcbiAgICAgICAgICB3aWRnZXQ6IGNvbnRleHRXaWRnZXQsXG4gICAgICAgICAgd2lkZ2V0X2ludGVyYWN0aW9uOiBXaWRnZXRJbnRlcmFjdGlvblR5cGUuU1VHR0VTVElPTl9DTElDS0VELFxuICAgICAgICAgIHdpZGdldF9pbnRlcmFjdGlvbl9kYXRhOiB7XG4gICAgICAgICAgICBzdWdnZXN0aW9uX2NsaWNrZWQ6IHtcbiAgICAgICAgICAgICAgc3VnZ2VzdGlvbl9pZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRTdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIG1lc3NhZ2VfaWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgICAgICAgbWVzc2FnZV9yb2xlOiBNZXNzYWdlUm9sZS5Vc2VyLFxuICAgICAgICAgIG1lc3NhZ2VfdHlwZTogTWVzc2FnZVR5cGUuU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgICAgICAgbWVzc2FnZV9tZXRhZGF0YToge1xuICAgICAgICAgICAgY29udGVudDogc3VnZ2VzdGlvbi5jb250ZW50LFxuICAgICAgICAgICAgY3JlYXRlZF9hdDogc3VnZ2VzdGlvbi5jcmVhdGVkQXQsXG4gICAgICAgICAgICBjYXRlZ29yeTogc3VnZ2VzdGlvbi5jYXRlZ29yeSxcbiAgICAgICAgICAgIGlzX2Fuc3dlcjogc3VnZ2VzdGlvbi5pc0Fuc3dlcixcbiAgICAgICAgICAgIGRpc3BsYXlfbG9jYXRpb246IGRpc3BsYXlMb2NhdGlvbixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudElkID0gdXVpZCgpO1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgJ3RyaWdnZXIud2lkZ2V0JzogZGlzcGxheUxvY2F0aW9uLCAvLyBUaGlzIGlzIGZhaXJseSBmaW5lZ3JhaW5lZCwgYnV0IHRoYXQgbWF5IGJlIG9rXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50SWQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ3N1Z2dlc3Rpb24nLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfdGV4dCc6IHN1Z2dlc3Rpb24uY29udGVudCxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2lkJzogc3VnZ2VzdGlvbi5pZCxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2NhdGVnb3J5Jzogc3VnZ2VzdGlvbi5jYXRlZ29yeSxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2NyZWF0ZWRfYXQnOiBzdWdnZXN0aW9uLmNyZWF0ZWRBdCxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2lzX2Fuc3dlcic6IHN1Z2dlc3Rpb24uaXNBbnN3ZXIsXG4gICAgICAgICAgJ2NoYXQudXNlcl90eXBlZCc6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudDogVXNlckV2ZW50ID0ge1xuICAgICAgICBldmVudElkLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgc3VnZ2VzdGlvbklkOiBzdWdnZXN0aW9uLmlkLFxuICAgICAgICAgIGNvbnRlbnQ6IHN1Z2dlc3Rpb24uY29udGVudCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBzZXRTdWdnZXN0aW9ucyhbXSk7XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbcXVldWVVc2VyRXZlbnQsIHNldFN1Z2dlc3Rpb25zLCB0cmFja0V2ZW50LCBjb250ZXh0XSxcbiAgKTtcbiAgY29uc3Qgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgcXVlcnksXG4gICAgICB1c2VyVHlwZWQsXG4gICAgICBkaXNwbGF5TG9jYXRpb24sXG4gICAgfToge1xuICAgICAgcXVlcnk6IHN0cmluZztcbiAgICAgIHVzZXJUeXBlZDogYm9vbGVhbjtcbiAgICAgIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMztcbiAgICB9KSA9PiB7XG4gICAgICBjb25zdCBldmVudElkID0gdXVpZCgpO1xuXG4gICAgICB0cmFja1dpZGdldEludGVyYWN0aW9uKHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldEludGVyYWN0aW9uLFxuICAgICAgICB0cmlnZ2VyOiB7XG4gICAgICAgICAgd2lkZ2V0OiBjb250ZXh0V2lkZ2V0LFxuICAgICAgICAgIHdpZGdldF9pbnRlcmFjdGlvbjogV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLk1FU1NBR0VfU1VCTUlUVEVELFxuICAgICAgICAgIHdpZGdldF9pbnRlcmFjdGlvbl9kYXRhOiB7XG4gICAgICAgICAgICBtZXNzYWdlX3N1Ym1pdHRlZDoge1xuICAgICAgICAgICAgICByZXF1ZXN0X3RleHQ6IHF1ZXJ5LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuQ2hhdFVzZXJNZXNzYWdlSW5wdXQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICB1c2VyX3R5cGVkOiB1c2VyVHlwZWQsXG4gICAgICAgICAgbWVzc2FnZV9pZDogZXZlbnRJZCxcbiAgICAgICAgICBtZXNzYWdlX3JvbGU6IE1lc3NhZ2VSb2xlLlVzZXIsXG4gICAgICAgICAgbWVzc2FnZV90eXBlOiBNZXNzYWdlVHlwZS5RdWVyeVR5cGVkLFxuICAgICAgICAgIG1lc3NhZ2VfbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHF1ZXJ5LFxuICAgICAgICAgICAgY3JlYXRlZF9hdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgICAgdXNlcl90eXBlZDogdXNlclR5cGVkLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlcXVlc3QsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICAgICd0cmlnZ2VyLndpZGdldCc6IGRpc3BsYXlMb2NhdGlvbixcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAndGV4dCcsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90ZXh0JzogcXVlcnksXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50SWQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9jcmVhdGVkX2F0JzogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgICdjaGF0LnVzZXJfdHlwZWQnOiB1c2VyVHlwZWQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50OiBVc2VyRXZlbnQgPSB7XG4gICAgICAgIGV2ZW50SWQsXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkLFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgIHVzZXJUeXBlZCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBzZXRTdWdnZXN0aW9ucyhbXSk7XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbcXVldWVVc2VyRXZlbnQsIHNldFN1Z2dlc3Rpb25zLCB0cmFja0V2ZW50LCBjb250ZXh0XSxcbiAgKTtcbiAgY29uc3Qgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICAoZm9ybTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHtcbiAgICAgIHNldFJlcGx5RXZlbnRDYXRlZ29yeShVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkKTtcbiAgICAgIHNldEZvcm1TdWJtaXQoZm9ybSk7XG4gICAgICBjb25zdCBldmVudElkID0gdXVpZCgpO1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50SWQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ2Zvcm0nLFxuICAgICAgICAgICdjaGF0LmZvcm1fcmVzcG9uc2VfaWQnOiBmb3JtLmZvcm1SZXNwb25zZUlkLFxuICAgICAgICAgICdjaGF0LmZvcm1fdHlwZSc6IGZvcm0uZm9ybVR5cGUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50OiBVc2VyRXZlbnQgPSB7XG4gICAgICAgIGV2ZW50SWQsXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkLFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgYXR0cmlidXRlczogZm9ybSxcbiAgICAgIH07XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbc2V0UmVwbHlFdmVudENhdGVnb3J5LCBzZXRGb3JtU3VibWl0LCB0cmFja0V2ZW50LCBjb250ZXh0LCBxdWV1ZVVzZXJFdmVudF0sXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBsb2dQYWdlVmlzaXQsXG4gICAgbG9nVXNlckV2ZW50LFxuICAgIG9uU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQsXG4gICAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQsXG4gIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMkJBLE1BQU0sc0JBQXNCO0NBQzFCQSxrREFBa0I7Q0FDbEJBLGtEQUFrQjtDQUNsQkEsa0RBQWtCO0NBQ25CO0FBRWMsSUFBSUMsdUJBQU8sVUFBVTtBQW9CcEMsTUFBYSx3QkFBd0IsV0FBd0M7Q0FHM0UsTUFBTSxrQ0FBdUJDLHFDQUFxQjtDQUNsRCxNQUFNLCtDQUFvQ0MseUNBQXlCO0NBQ25FLE1BQU0sdUNBQTRCQyx3Q0FBbUI7Q0FDckQsTUFBTSx1Q0FBNEJDLDZDQUFnQjtDQUNsRCxNQUFNLDhDQUFtQ0Msb0RBQXVCO0NBQ2hFLE1BQU0sc0NBQTJCQyw0Q0FBZTtDQUNoRCxNQUFNLEVBQUUsZUFBZUMsdUNBQWM7Q0FDckMsTUFBTSxFQUFFLDJCQUEyQkMsbURBQXNCO0NBQ3pELE1BQU0s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
235
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5janMiLCJuYW1lcyI6WyJVc2VyRXZlbnRDYXRlZ29yeSIsIkxvZ2dlciIsImFuYWx5dGljc0NvbnRleHRBdG9tIiwiaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tIiwicXVldWVVc2VyRXZlbnRBdG9tIiwic3VnZ2VzdGlvbnNBdG9tIiwicmVwbHlFdmVudENhdGVnb3J5QXRvbSIsImZvcm1TdWJtaXRBdG9tIiwibWVzc2FnZXNBdG9tIiwidXNlQW1wbGl0dWRlIiwidXNlV2lkZ2V0SW50ZXJhY3Rpb24iLCJXaWRnZXRJbnRlcmFjdGlvbkNvbXBvbmVudCIsIkVudml2ZU1ldHJpY3NFdmVudE5hbWUiLCJXaWRnZXRJbnRlcmFjdGlvblR5cGUiLCJTcGlmZnlNZXRyaWNzRXZlbnROYW1lIiwiTWVzc2FnZVJvbGUiLCJNZXNzYWdlVHlwZSIsImV2ZW50OiBVc2VyRXZlbnQiLCJtZXNzYWdlOiBNZXNzYWdlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3NhbGVzQWdlbnRDb250ZXh0L2NoYXRBUEkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBjb21wb25lbnQgd2lsbCBpbnRlcmFjdCB3aXRoIHRoZSBiYWNrZW5kIEFQSSB0byBnZXQgdGhlIHJlc3BvbnNlcyBmcm9tIHRoZSBzYWxlcyBhZ2VudC5cbmltcG9ydCB7IFBhZ2VWaXNpdENhdGVnb3J5LCBVc2VyRXZlbnRDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyB1c2VBdG9tVmFsdWUsIHVzZVNldEF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7XG4gIENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMsXG4gIEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzLFxuICBNZXNzYWdlLFxuICBNZXNzYWdlUm9sZSxcbiAgTWVzc2FnZVR5cGUsXG4gIFN1Z2dlc3Rpb24sXG4gIFVzZXJFdmVudCxcbn0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyBoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCB7IGFuYWx5dGljc0NvbnRleHRBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2FwcC92YXJpYW50JztcbmltcG9ydCB7IGZvcm1TdWJtaXRBdG9tLCByZXBseUV2ZW50Q2F0ZWdvcnlBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2NoYXQnO1xuaW1wb3J0IHsgbWVzc2FnZXNBdG9tLCBzdWdnZXN0aW9uc0F0b20gfSBmcm9tICdzcmMvYXRvbXMvY2hhdC9jaGF0U3RhdGUnO1xuaW1wb3J0IHsgcXVldWVVc2VyRXZlbnRBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2NoYXQvbWVzc2FnZVF1ZXVlJztcbmltcG9ydCB7IHVzZVdpZGdldEludGVyYWN0aW9uIH0gZnJvbSAnc3JjL2hvb2tzL1dpZGdldEludGVyYWN0aW9uJztcbmltcG9ydCB7XG4gIFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50LFxuICBXaWRnZXRJbnRlcmFjdGlvblR5cGUsXG59IGZyb20gJ3NyYy9ob29rcy9XaWRnZXRJbnRlcmFjdGlvbi90eXBlcyc7XG5pbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSAnc3JjL3NlcnZpY2VzL2FtcGxpdHVkZVNlcnZpY2UvYW1wbGl0dWRlU2VydmljZSc7XG5pbXBvcnQgeyB2NCBhcyB1dWlkIH0gZnJvbSAndXVpZCc7XG5pbXBvcnQgeyBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLCB1c2VBbXBsaXR1ZGUgfSBmcm9tICcuLi9hbXBsaXR1ZGVDb250ZXh0JztcblxuY29uc3QgVFJBQ0tFRF9VU0VSX0VWRU5UUyA9IFtcbiAgVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0LFxuICBVc2VyRXZlbnRDYXRlZ29yeS5QZHBWaXNpdCxcbiAgVXNlckV2ZW50Q2F0ZWdvcnkuUGxwVmlzaXQsXG5dO1xuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKCdjaGF0QVBJJyk7XG5leHBvcnQgaW50ZXJmYWNlIFNhbGVzQWdlbnRDaGF0QVBJIHtcbiAgbG9nUGFnZVZpc2l0OiAoeyBwYWdlVmlzaXRDYXRlZ29yeSB9OiB7IHBhZ2VWaXNpdENhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeSB9KSA9PiB2b2lkO1xuICBsb2dVc2VyRXZlbnQ6IChldmVudDogVXNlckV2ZW50KSA9PiB2b2lkO1xuICBvblN1Z2dlc3Rpb25DbGlja2VkOiAoXG4gICAgc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbixcbiAgICBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMsXG4gICkgPT4gdm9pZDtcbiAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQ6ICh7XG4gICAgcXVlcnksXG4gICAgdXNlclR5cGVkLFxuICAgIGRpc3BsYXlMb2NhdGlvbixcbiAgfToge1xuICAgIHF1ZXJ5OiBzdHJpbmc7XG4gICAgdXNlclR5cGVkOiBib29sZWFuO1xuICAgIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMztcbiAgfSkgPT4gdm9pZDtcbiAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQ6IChmb3JtOiBGb3JtU3VibWl0dGVkQXR0cmlidXRlcykgPT4gdm9pZDtcbiAgLyoqIEluamVjdHMgYSBzeW50aGV0aWMgYXNzaXN0YW50IHRleHQgbWVzc2FnZSBpbnRvIHRoZSBjaGF0IHRyYW5zY3JpcHQsIGUuZy4gdG8gc3VyZmFjZSBhIGZhaWx1cmUuICovXG4gIGluamVjdEFzc2lzdGFudE1lc3NhZ2U6IChjb250ZW50OiBzdHJpbmcpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCB1c2VTYWxlc0FnZW50Q2hhdEFQSSA9ICh3aWRnZXQ/OiBXaWRnZXRJbnRlcmFjdGlvbkNvbXBvbmVudCkgPT4ge1xuICAvLyBUT0RPOiBFYWNoIG9mIHRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRyaWdnZXIgYm90aCB0aGUgbmVjZXNzYXJ5IGFtcGxpdHVkZSBldmVudHMgYW5kIGluaXRpYXRlIHRoZVxuICAvLyBuZWNlc3NhcnkgYWN0aW9ucyB0byB0cmlnZ2VyIHRoZSBiYWNrZW5kIEFQSVxuICBjb25zdCBjb250ZXh0ID0gdXNlQXRvbVZhbHVlKGFuYWx5dGljc0NvbnRleHRBdG9tKTtcbiAgY29uc3QgaGFzUGFyc2VkVmFyaWFudEluZm8gPSB1c2VBdG9tVmFsdWUoaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tKTtcbiAgY29uc3QgcXVldWVVc2VyRXZlbnQgPSB1c2VTZXRBdG9tKHF1ZXVlVXNlckV2ZW50QXRvbSk7XG4gIGNvbnN0IHNldFN1Z2dlc3Rpb25zID0gdXNlU2V0QXRvbShzdWdnZXN0aW9uc0F0b20pO1xuICBjb25zdCBzZXRSZXBseUV2ZW50Q2F0ZWdvcnkgPSB1c2VTZXRBdG9tKHJlcGx5RXZlbnRDYXRlZ29yeUF0b20pO1xuICBjb25zdCBzZXRGb3JtU3VibWl0ID0gdXNlU2V0QXRvbShmb3JtU3VibWl0QXRvbSk7XG4gIGNvbnN0IHNldE1lc3NhZ2VzID0gdXNlU2V0QXRvbShtZXNzYWdlc0F0b20pO1xuICBjb25zdCB7IHRyYWNrRXZlbnQgfSA9IHVzZUFtcGxpdHVkZSgpO1xuICBjb25zdCB7IHRyYWNrV2lkZ2V0SW50ZXJhY3Rpb24gfSA9IHVzZVdpZGdldEludGVyYWN0aW9uKCk7XG4gIGNvbnN0IGNvbnRleHRXaWRnZXQgPSB3aWRnZXQgfHwgV2lkZ2V0SW50ZXJhY3Rpb25Db21wb25lbnQuRkxPQVRJTkdfQ0hBVDtcblxuICBjb25zdCBsb2dQYWdlVmlzaXQgPSB1c2VDYWxsYmFjayhcbiAgICAoeyBwYWdlVmlzaXRDYXRlZ29yeSB9OiB7IHBhZ2VWaXNpdENhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeSB9KSA9PiB7XG4gICAgICBjb25zdCBldmVudElkID0gdXVpZCgpO1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50SWQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ3BhZ2VfdmlzaXQnLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudDogVXNlckV2ZW50ID0ge1xuICAgICAgICBldmVudElkLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUGFnZVZpc2l0LFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIHVybDogd2luZG93LmxvY2F0aW9uLmhyZWYsXG4gICAgICAgICAgcGFnZVZpc2l0Q2F0ZWdvcnksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW3F1ZXVlVXNlckV2ZW50LCBjb250ZXh0LCB0cmFja0V2ZW50XSxcbiAgKTtcblxuICBjb25zdCBsb2dVc2VyRXZlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAoZXZlbnQ6IFVzZXJFdmVudCkgPT4ge1xuICAgICAgaWYgKCFoYXNQYXJzZWRWYXJpYW50SW5mbykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAoVFJBQ0tFRF9VU0VSX0VWRU5UUy5pbmNsdWRlcyhldmVudC5jYXRlZ29yeSkpIHtcbiAgICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXF1ZXN0LFxuICAgICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogZXZlbnQuZXZlbnRJZCxcbiAgICAgICAgICAgICdjaGF0LnJlcXVlc3RfdHlwZSc6ICdwYWdlX3Zpc2l0JyxcbiAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHF1ZXVlVXNlckV2ZW50KGV2ZW50KTtcbiAgICB9LFxuICAgIFtjb250ZXh0LCBoYXNQYXJzZWRWYXJpYW50SW5mbywgcXVldWVVc2VyRXZlbnQsIHRyYWNrRXZlbnRdLFxuICApO1xuICBjb25zdCBvblN1Z2dlc3Rpb25DbGlja2VkID0gdXNlQ2FsbGJhY2soXG4gICAgKHN1Z2dlc3Rpb246IFN1Z2dlc3Rpb24sIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMykgPT4ge1xuICAgICAgdHJhY2tXaWRnZXRJbnRlcmFjdGlvbih7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRJbnRlcmFjdGlvbixcbiAgICAgICAgdHJpZ2dlcjoge1xuICAgICAgICAgIHdpZGdldDogY29udGV4dFdpZGdldCxcbiAgICAgICAgICB3aWRnZXRfaW50ZXJhY3Rpb246IFdpZGdldEludGVyYWN0aW9uVHlwZS5TVUdHRVNUSU9OX0NMSUNLRUQsXG4gICAgICAgICAgd2lkZ2V0X2ludGVyYWN0aW9uX2RhdGE6IHtcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25fY2xpY2tlZDoge1xuICAgICAgICAgICAgICBzdWdnZXN0aW9uX2lkOiBzdWdnZXN0aW9uLmlkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuQ2hhdFN1Z2dlc3Rpb25DbGlja2VkLFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgbWVzc2FnZV9pZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgICAgICBtZXNzYWdlX3JvbGU6IE1lc3NhZ2VSb2xlLlVzZXIsXG4gICAgICAgICAgbWVzc2FnZV90eXBlOiBNZXNzYWdlVHlwZS5TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICAgICAgICBtZXNzYWdlX21ldGFkYXRhOiB7XG4gICAgICAgICAgICBjb250ZW50OiBzdWdnZXN0aW9uLmNvbnRlbnQsXG4gICAgICAgICAgICBjcmVhdGVkX2F0OiBzdWdnZXN0aW9uLmNyZWF0ZWRBdCxcbiAgICAgICAgICAgIGNhdGVnb3J5OiBzdWdnZXN0aW9uLmNhdGVnb3J5LFxuICAgICAgICAgICAgaXNfYW5zd2VyOiBzdWdnZXN0aW9uLmlzQW5zd2VyLFxuICAgICAgICAgICAgZGlzcGxheV9sb2NhdGlvbjogZGlzcGxheUxvY2F0aW9uLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50SWQgPSB1dWlkKCk7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXF1ZXN0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAndHJpZ2dlci53aWRnZXQnOiBkaXNwbGF5TG9jYXRpb24sIC8vIFRoaXMgaXMgZmFpcmx5IGZpbmVncmFpbmVkLCBidXQgdGhhdCBtYXkgYmUgb2tcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogZXZlbnRJZCxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAnc3VnZ2VzdGlvbicsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90ZXh0Jzogc3VnZ2VzdGlvbi5jb250ZW50LFxuICAgICAgICAgICdjaGF0LnN1Z2dlc3Rpb25faWQnOiBzdWdnZXN0aW9uLmlkLFxuICAgICAgICAgICdjaGF0LnN1Z2dlc3Rpb25fY2F0ZWdvcnknOiBzdWdnZXN0aW9uLmNhdGVnb3J5LFxuICAgICAgICAgICdjaGF0LnN1Z2dlc3Rpb25fY3JlYXRlZF9hdCc6IHN1Z2dlc3Rpb24uY3JlYXRlZEF0LFxuICAgICAgICAgICdjaGF0LnN1Z2dlc3Rpb25faXNfYW5zd2VyJzogc3VnZ2VzdGlvbi5pc0Fuc3dlcixcbiAgICAgICAgICAnY2hhdC51c2VyX3R5cGVkJzogZmFsc2UsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50OiBVc2VyRXZlbnQgPSB7XG4gICAgICAgIGV2ZW50SWQsXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBzdWdnZXN0aW9uSWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgICAgICAgY29udGVudDogc3VnZ2VzdGlvbi5jb250ZW50LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIHNldFN1Z2dlc3Rpb25zKFtdKTtcbiAgICAgIHF1ZXVlVXNlckV2ZW50KGV2ZW50KTtcbiAgICB9LFxuICAgIFtxdWV1ZVVzZXJFdmVudCwgc2V0U3VnZ2VzdGlvbnMsIHRyYWNrRXZlbnQsIGNvbnRleHRdLFxuICApO1xuICBjb25zdCBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZCA9IHVzZUNhbGxiYWNrKFxuICAgICh7XG4gICAgICBxdWVyeSxcbiAgICAgIHVzZXJUeXBlZCxcbiAgICAgIGRpc3BsYXlMb2NhdGlvbixcbiAgICB9OiB7XG4gICAgICBxdWVyeTogc3RyaW5nO1xuICAgICAgdXNlclR5cGVkOiBib29sZWFuO1xuICAgICAgZGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzO1xuICAgIH0pID0+IHtcbiAgICAgIGNvbnN0IGV2ZW50SWQgPSB1dWlkKCk7XG5cbiAgICAgIHRyYWNrV2lkZ2V0SW50ZXJhY3Rpb24oe1xuICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0SW50ZXJhY3Rpb24sXG4gICAgICAgIHRyaWdnZXI6IHtcbiAgICAgICAgICB3aWRnZXQ6IGNvbnRleHRXaWRnZXQsXG4gICAgICAgICAgd2lkZ2V0X2ludGVyYWN0aW9uOiBXaWRnZXRJbnRlcmFjdGlvblR5cGUuTUVTU0FHRV9TVUJNSVRURUQsXG4gICAgICAgICAgd2lkZ2V0X2ludGVyYWN0aW9uX2RhdGE6IHtcbiAgICAgICAgICAgIG1lc3NhZ2Vfc3VibWl0dGVkOiB7XG4gICAgICAgICAgICAgIHJlcXVlc3RfdGV4dDogcXVlcnksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0VXNlck1lc3NhZ2VJbnB1dCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgIHVzZXJfdHlwZWQ6IHVzZXJUeXBlZCxcbiAgICAgICAgICBtZXNzYWdlX2lkOiBldmVudElkLFxuICAgICAgICAgIG1lc3NhZ2Vfcm9sZTogTWVzc2FnZVJvbGUuVXNlcixcbiAgICAgICAgICBtZXNzYWdlX3R5cGU6IE1lc3NhZ2VUeXBlLlF1ZXJ5VHlwZWQsXG4gICAgICAgICAgbWVzc2FnZV9tZXRhZGF0YToge1xuICAgICAgICAgICAgY29udGVudDogcXVlcnksXG4gICAgICAgICAgICBjcmVhdGVkX2F0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgICB1c2VyX3R5cGVkOiB1c2VyVHlwZWQsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgJ3RyaWdnZXIud2lkZ2V0JzogZGlzcGxheUxvY2F0aW9uLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfdHlwZSc6ICd0ZXh0JyxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3RleHQnOiBxdWVyeSxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogZXZlbnRJZCxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X2NyZWF0ZWRfYXQnOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgJ2NoYXQudXNlcl90eXBlZCc6IHVzZXJUeXBlZCxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZXZlbnQ6IFVzZXJFdmVudCA9IHtcbiAgICAgICAgZXZlbnRJZCxcbiAgICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlF1ZXJ5VHlwZWQsXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgcXVlcnksXG4gICAgICAgICAgdXNlclR5cGVkLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIHNldFN1Z2dlc3Rpb25zKFtdKTtcbiAgICAgIHF1ZXVlVXNlckV2ZW50KGV2ZW50KTtcbiAgICB9LFxuICAgIFtxdWV1ZVVzZXJFdmVudCwgc2V0U3VnZ2VzdGlvbnMsIHRyYWNrRXZlbnQsIGNvbnRleHRdLFxuICApO1xuICBjb25zdCBvbkZvcm1SZXNwb25zZVN1Ym1pdHRlZCA9IHVzZUNhbGxiYWNrKFxuICAgIChmb3JtOiBGb3JtU3VibWl0dGVkQXR0cmlidXRlcykgPT4ge1xuICAgICAgc2V0UmVwbHlFdmVudENhdGVnb3J5KFVzZXJFdmVudENhdGVnb3J5LkZvcm1TdWJtaXR0ZWQpO1xuICAgICAgc2V0Rm9ybVN1Ym1pdChmb3JtKTtcbiAgICAgIGNvbnN0IGV2ZW50SWQgPSB1dWlkKCk7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXF1ZXN0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogZXZlbnRJZCxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAnZm9ybScsXG4gICAgICAgICAgJ2NoYXQuZm9ybV9yZXNwb25zZV9pZCc6IGZvcm0uZm9ybVJlc3BvbnNlSWQsXG4gICAgICAgICAgJ2NoYXQuZm9ybV90eXBlJzogZm9ybS5mb3JtVHlwZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZXZlbnQ6IFVzZXJFdmVudCA9IHtcbiAgICAgICAgZXZlbnRJZCxcbiAgICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LkZvcm1TdWJtaXR0ZWQsXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBhdHRyaWJ1dGVzOiBmb3JtLFxuICAgICAgfTtcbiAgICAgIHF1ZXVlVXNlckV2ZW50KGV2ZW50KTtcbiAgICB9LFxuICAgIFtzZXRSZXBseUV2ZW50Q2F0ZWdvcnksIHNldEZvcm1TdWJtaXQsIHRyYWNrRXZlbnQsIGNvbnRleHQsIHF1ZXVlVXNlckV2ZW50XSxcbiAgKTtcblxuICBjb25zdCBpbmplY3RBc3Npc3RhbnRNZXNzYWdlID0gdXNlQ2FsbGJhY2soXG4gICAgKGNvbnRlbnQ6IHN0cmluZykgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZTogTWVzc2FnZSA9IHtcbiAgICAgICAgaWQ6IHV1aWQoKSxcbiAgICAgICAgcm9sZTogTWVzc2FnZVJvbGUuQXNzaXN0YW50LFxuICAgICAgICB0eXBlOiBNZXNzYWdlVHlwZS5UZXh0LFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgbWV0YWRhdGE6IHsgY29udGVudCB9LFxuICAgICAgfTtcbiAgICAgIHNldE1lc3NhZ2VzKGN1cnJlbnQgPT4gWy4uLmN1cnJlbnQsIFttZXNzYWdlXV0pO1xuICAgIH0sXG4gICAgW3NldE1lc3NhZ2VzXSxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIGxvZ1BhZ2VWaXNpdCxcbiAgICBsb2dVc2VyRXZlbnQsXG4gICAgb25TdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZCxcbiAgICBvbkZvcm1SZXNwb25zZVN1Ym1pdHRlZCxcbiAgICBpbmplY3RBc3Npc3RhbnRNZXNzYWdlLFxuICB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTRCQSxNQUFNLHNCQUFzQjtDQUMxQkEsa0RBQWtCO0NBQ2xCQSxrREFBa0I7Q0FDbEJBLGtEQUFrQjtDQUNuQjtBQUVjLElBQUlDLHVCQUFPLFVBQVU7QUFzQnBDLE1BQWEsd0JBQXdCLFdBQXdDO0NBRzNFLE1BQU0sa0NBQXVCQyxxQ0FBcUI7Q0FDbEQsTUFBTSwrQ0FBb0NDLHlDQUF5QjtDQUNuRSxNQUFNLHVDQUE0QkMsd0NBQW1CO0NBQ3JELE1BQU0sdUNBQTRCQyw2Q0FBZ0I7Q0FDbEQsTUFBTSw4Q0FBbUNDLG9EQUF1QjtDQUNoRSxNQUFNLHNDQUEyQkMsNENBQWU7Q0FDaEQsTUFBTSxvQ0FBeUJDLDBDQUFhO0NBQzVDLE1BQU0sRUFBRSxlQUFlQyx1Q0FBYztDQUNyQyxNQUFNLEVBQUUsMkJBQTJCQyxtREFBc0I7Q0FDekQsTUFBTSxnQkFBZ0IsVUFBVUMsaUVBQTJCO0FBb04zRCxRQUFPO0VBQ0wsc0NBbE5DLEVBQUUsd0JBQWtFO0dBQ25FLE1BQU0sd0JBQWdCO0FBQ3RCLGNBQVc7SUFDVCxXQUFXQywwQ0FBdUI7SUFDbEMsWUFBWTtLQUNWLEdBQUc7S0FDSCxtQkFBbUI7S0FDbkIscUJBQXFCO0tBQ3RCO0lBQ0YsQ0FBQztBQVVGLGtCQVR5QjtJQUN2QjtJQUNBLFVBQVVaLGtE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
@@ -23,6 +23,8 @@ interface SalesAgentChatAPI {
23
23
  displayLocation: ChatElementDisplayLocationV3;
24
24
  }) => void;
25
25
  onFormResponseSubmitted: (form: FormSubmittedAttributes$1) => void;
26
+ /** Injects a synthetic assistant text message into the chat transcript, e.g. to surface a failure. */
27
+ injectAssistantMessage: (content: string) => void;
26
28
  }
27
29
  declare const useSalesAgentChatAPI: (widget?: WidgetInteractionComponent) => {
28
30
  logPageVisit: ({
@@ -42,7 +44,8 @@ declare const useSalesAgentChatAPI: (widget?: WidgetInteractionComponent) => {
42
44
  displayLocation: ChatElementDisplayLocationV3;
43
45
  }) => void;
44
46
  onFormResponseSubmitted: (form: FormSubmittedAttributes$1) => void;
47
+ injectAssistantMessage: (content: string) => void;
45
48
  };
46
49
  //#endregion
47
50
  export { SalesAgentChatAPI, useSalesAgentChatAPI };
48
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc2FsZXNBZ2VudENvbnRleHQvY2hhdEFQSS5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhZ2VWaXNpdENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMsIEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzLCBTdWdnZXN0aW9uLCBVc2VyRXZlbnQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnc3JjL2hvb2tzL1dpZGdldEludGVyYWN0aW9uL3R5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgU2FsZXNBZ2VudENoYXRBUEkge1xuICAgIGxvZ1BhZ2VWaXNpdDogKHsgcGFnZVZpc2l0Q2F0ZWdvcnkgfToge1xuICAgICAgICBwYWdlVmlzaXRDYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnk7XG4gICAgfSkgPT4gdm9pZDtcbiAgICBsb2dVc2VyRXZlbnQ6IChldmVudDogVXNlckV2ZW50KSA9PiB2b2lkO1xuICAgIG9uU3VnZ2VzdGlvbkNsaWNrZWQ6IChzdWdnZXN0aW9uOiBTdWdnZXN0aW9uLCBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMpID0+IHZvaWQ7XG4gICAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQ6ICh7IHF1ZXJ5LCB1c2VyVHlwZWQsIGRpc3BsYXlMb2NhdGlvbiwgfToge1xuICAgICAgICBxdWVyeTogc3RyaW5nO1xuICAgICAgICB1c2VyVHlwZWQ6IGJvb2xlYW47XG4gICAgICAgIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMztcbiAgICB9KSA9PiB2b2lkO1xuICAgIG9uRm9ybVJlc3BvbnNlU3VibWl0dGVkOiAoZm9ybTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHZvaWQ7XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VTYWxlc0FnZW50Q2hhdEFQSTogKHdpZGdldD86IFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50KSA9PiB7XG4gICAgbG9nUGFnZVZpc2l0OiAoeyBwYWdlVmlzaXRDYXRlZ29yeSB9OiB7XG4gICAgICAgIHBhZ2VWaXNpdENhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeTtcbiAgICB9KSA9PiB2b2lkO1xuICAgIGxvZ1VzZXJFdmVudDogKGV2ZW50OiBVc2VyRXZlbnQpID0+IHZvaWQ7XG4gICAgb25TdWdnZXN0aW9uQ2xpY2tlZDogKHN1Z2dlc3Rpb246IFN1Z2dlc3Rpb24sIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMykgPT4gdm9pZDtcbiAgICBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZDogKHsgcXVlcnksIHVzZXJUeXBlZCwgZGlzcGxheUxvY2F0aW9uLCB9OiB7XG4gICAgICAgIHF1ZXJ5OiBzdHJpbmc7XG4gICAgICAgIHVzZXJUeXBlZDogYm9vbGVhbjtcbiAgICAgICAgZGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzO1xuICAgIH0pID0+IHZvaWQ7XG4gICAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQ6IChmb3JtOiBGb3JtU3VibWl0dGVkQXR0cmlidXRlcykgPT4gdm9pZDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSxJQUFXLG9CQUFvQjtDQUFDO09BQUc7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQyxJQUFXLHVCQUF1QjtDQUFDO09BQU87T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBIn0=
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29udGV4dHMvc2FsZXNBZ2VudENvbnRleHQvY2hhdEFQSS5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhZ2VWaXNpdENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmltcG9ydCB7IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMsIEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzLCBTdWdnZXN0aW9uLCBVc2VyRXZlbnQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmltcG9ydCB7IFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50IH0gZnJvbSAnc3JjL2hvb2tzL1dpZGdldEludGVyYWN0aW9uL3R5cGVzJztcbmV4cG9ydCBpbnRlcmZhY2UgU2FsZXNBZ2VudENoYXRBUEkge1xuICAgIGxvZ1BhZ2VWaXNpdDogKHsgcGFnZVZpc2l0Q2F0ZWdvcnkgfToge1xuICAgICAgICBwYWdlVmlzaXRDYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnk7XG4gICAgfSkgPT4gdm9pZDtcbiAgICBsb2dVc2VyRXZlbnQ6IChldmVudDogVXNlckV2ZW50KSA9PiB2b2lkO1xuICAgIG9uU3VnZ2VzdGlvbkNsaWNrZWQ6IChzdWdnZXN0aW9uOiBTdWdnZXN0aW9uLCBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMpID0+IHZvaWQ7XG4gICAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQ6ICh7IHF1ZXJ5LCB1c2VyVHlwZWQsIGRpc3BsYXlMb2NhdGlvbiwgfToge1xuICAgICAgICBxdWVyeTogc3RyaW5nO1xuICAgICAgICB1c2VyVHlwZWQ6IGJvb2xlYW47XG4gICAgICAgIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMztcbiAgICB9KSA9PiB2b2lkO1xuICAgIG9uRm9ybVJlc3BvbnNlU3VibWl0dGVkOiAoZm9ybTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHZvaWQ7XG4gICAgLyoqIEluamVjdHMgYSBzeW50aGV0aWMgYXNzaXN0YW50IHRleHQgbWVzc2FnZSBpbnRvIHRoZSBjaGF0IHRyYW5zY3JpcHQsIGUuZy4gdG8gc3VyZmFjZSBhIGZhaWx1cmUuICovXG4gICAgaW5qZWN0QXNzaXN0YW50TWVzc2FnZTogKGNvbnRlbnQ6IHN0cmluZykgPT4gdm9pZDtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZVNhbGVzQWdlbnRDaGF0QVBJOiAod2lkZ2V0PzogV2lkZ2V0SW50ZXJhY3Rpb25Db21wb25lbnQpID0+IHtcbiAgICBsb2dQYWdlVmlzaXQ6ICh7IHBhZ2VWaXNpdENhdGVnb3J5IH06IHtcbiAgICAgICAgcGFnZVZpc2l0Q2F0ZWdvcnk6IFBhZ2VWaXNpdENhdGVnb3J5O1xuICAgIH0pID0+IHZvaWQ7XG4gICAgbG9nVXNlckV2ZW50OiAoZXZlbnQ6IFVzZXJFdmVudCkgPT4gdm9pZDtcbiAgICBvblN1Z2dlc3Rpb25DbGlja2VkOiAoc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbiwgZGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzKSA9PiB2b2lkO1xuICAgIG9uVHlwZWRNZXNzYWdlU3VibWl0dGVkOiAoeyBxdWVyeSwgdXNlclR5cGVkLCBkaXNwbGF5TG9jYXRpb24sIH06IHtcbiAgICAgICAgcXVlcnk6IHN0cmluZztcbiAgICAgICAgdXNlclR5cGVkOiBib29sZWFuO1xuICAgICAgICBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjM7XG4gICAgfSkgPT4gdm9pZDtcbiAgICBvbkZvcm1SZXNwb25zZVN1Ym1pdHRlZDogKGZvcm06IEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzKSA9PiB2b2lkO1xuICAgIGluamVjdEFzc2lzdGFudE1lc3NhZ2U6IChjb250ZW50OiBzdHJpbmcpID0+IHZvaWQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBR0EsSUFBVyxvQkFBb0I7Q0FBQztPQUFHO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkMsSUFBVyx1QkFBdUI7Q0FBQztPQUFPO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQSJ9
@@ -23,6 +23,8 @@ interface SalesAgentChatAPI {
23
23
  displayLocation: ChatElementDisplayLocationV3;
24
24
  }) => void;
25
25
  onFormResponseSubmitted: (form: FormSubmittedAttributes$1) => void;
26
+ /** Injects a synthetic assistant text message into the chat transcript, e.g. to surface a failure. */
27
+ injectAssistantMessage: (content: string) => void;
26
28
  }
27
29
  declare const useSalesAgentChatAPI: (widget?: WidgetInteractionComponent) => {
28
30
  logPageVisit: ({
@@ -42,7 +44,8 @@ declare const useSalesAgentChatAPI: (widget?: WidgetInteractionComponent) => {
42
44
  displayLocation: ChatElementDisplayLocationV3;
43
45
  }) => void;
44
46
  onFormResponseSubmitted: (form: FormSubmittedAttributes$1) => void;
47
+ injectAssistantMessage: (content: string) => void;
45
48
  };
46
49
  //#endregion
47
50
  export { SalesAgentChatAPI, useSalesAgentChatAPI };
48
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9zYWxlc0FnZW50Q29udGV4dC9jaGF0QVBJLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnZVZpc2l0Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMywgRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMsIFN1Z2dlc3Rpb24sIFVzZXJFdmVudCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgV2lkZ2V0SW50ZXJhY3Rpb25Db21wb25lbnQgfSBmcm9tICdzcmMvaG9va3MvV2lkZ2V0SW50ZXJhY3Rpb24vdHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBTYWxlc0FnZW50Q2hhdEFQSSB7XG4gICAgbG9nUGFnZVZpc2l0OiAoeyBwYWdlVmlzaXRDYXRlZ29yeSB9OiB7XG4gICAgICAgIHBhZ2VWaXNpdENhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeTtcbiAgICB9KSA9PiB2b2lkO1xuICAgIGxvZ1VzZXJFdmVudDogKGV2ZW50OiBVc2VyRXZlbnQpID0+IHZvaWQ7XG4gICAgb25TdWdnZXN0aW9uQ2xpY2tlZDogKHN1Z2dlc3Rpb246IFN1Z2dlc3Rpb24sIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMykgPT4gdm9pZDtcbiAgICBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZDogKHsgcXVlcnksIHVzZXJUeXBlZCwgZGlzcGxheUxvY2F0aW9uLCB9OiB7XG4gICAgICAgIHF1ZXJ5OiBzdHJpbmc7XG4gICAgICAgIHVzZXJUeXBlZDogYm9vbGVhbjtcbiAgICAgICAgZGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzO1xuICAgIH0pID0+IHZvaWQ7XG4gICAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQ6IChmb3JtOiBGb3JtU3VibWl0dGVkQXR0cmlidXRlcykgPT4gdm9pZDtcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZVNhbGVzQWdlbnRDaGF0QVBJOiAod2lkZ2V0PzogV2lkZ2V0SW50ZXJhY3Rpb25Db21wb25lbnQpID0+IHtcbiAgICBsb2dQYWdlVmlzaXQ6ICh7IHBhZ2VWaXNpdENhdGVnb3J5IH06IHtcbiAgICAgICAgcGFnZVZpc2l0Q2F0ZWdvcnk6IFBhZ2VWaXNpdENhdGVnb3J5O1xuICAgIH0pID0+IHZvaWQ7XG4gICAgbG9nVXNlckV2ZW50OiAoZXZlbnQ6IFVzZXJFdmVudCkgPT4gdm9pZDtcbiAgICBvblN1Z2dlc3Rpb25DbGlja2VkOiAoc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbiwgZGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzKSA9PiB2b2lkO1xuICAgIG9uVHlwZWRNZXNzYWdlU3VibWl0dGVkOiAoeyBxdWVyeSwgdXNlclR5cGVkLCBkaXNwbGF5TG9jYXRpb24sIH06IHtcbiAgICAgICAgcXVlcnk6IHN0cmluZztcbiAgICAgICAgdXNlclR5cGVkOiBib29sZWFuO1xuICAgICAgICBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjM7XG4gICAgfSkgPT4gdm9pZDtcbiAgICBvbkZvcm1SZXNwb25zZVN1Ym1pdHRlZDogKGZvcm06IEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzKSA9PiB2b2lkO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBLElBQVcsb0JBQW9CO0NBQUM7T0FBRztPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25DLElBQVcsdUJBQXVCO0NBQUM7T0FBTztPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUEifQ==
51
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9zYWxlc0FnZW50Q29udGV4dC9jaGF0QVBJLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFnZVZpc2l0Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMywgRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMsIFN1Z2dlc3Rpb24sIFVzZXJFdmVudCB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgV2lkZ2V0SW50ZXJhY3Rpb25Db21wb25lbnQgfSBmcm9tICdzcmMvaG9va3MvV2lkZ2V0SW50ZXJhY3Rpb24vdHlwZXMnO1xuZXhwb3J0IGludGVyZmFjZSBTYWxlc0FnZW50Q2hhdEFQSSB7XG4gICAgbG9nUGFnZVZpc2l0OiAoeyBwYWdlVmlzaXRDYXRlZ29yeSB9OiB7XG4gICAgICAgIHBhZ2VWaXNpdENhdGVnb3J5OiBQYWdlVmlzaXRDYXRlZ29yeTtcbiAgICB9KSA9PiB2b2lkO1xuICAgIGxvZ1VzZXJFdmVudDogKGV2ZW50OiBVc2VyRXZlbnQpID0+IHZvaWQ7XG4gICAgb25TdWdnZXN0aW9uQ2xpY2tlZDogKHN1Z2dlc3Rpb246IFN1Z2dlc3Rpb24sIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMykgPT4gdm9pZDtcbiAgICBvblR5cGVkTWVzc2FnZVN1Ym1pdHRlZDogKHsgcXVlcnksIHVzZXJUeXBlZCwgZGlzcGxheUxvY2F0aW9uLCB9OiB7XG4gICAgICAgIHF1ZXJ5OiBzdHJpbmc7XG4gICAgICAgIHVzZXJUeXBlZDogYm9vbGVhbjtcbiAgICAgICAgZGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzO1xuICAgIH0pID0+IHZvaWQ7XG4gICAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQ6IChmb3JtOiBGb3JtU3VibWl0dGVkQXR0cmlidXRlcykgPT4gdm9pZDtcbiAgICAvKiogSW5qZWN0cyBhIHN5bnRoZXRpYyBhc3Npc3RhbnQgdGV4dCBtZXNzYWdlIGludG8gdGhlIGNoYXQgdHJhbnNjcmlwdCwgZS5nLiB0byBzdXJmYWNlIGEgZmFpbHVyZS4gKi9cbiAgICBpbmplY3RBc3Npc3RhbnRNZXNzYWdlOiAoY29udGVudDogc3RyaW5nKSA9PiB2b2lkO1xufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlU2FsZXNBZ2VudENoYXRBUEk6ICh3aWRnZXQ/OiBXaWRnZXRJbnRlcmFjdGlvbkNvbXBvbmVudCkgPT4ge1xuICAgIGxvZ1BhZ2VWaXNpdDogKHsgcGFnZVZpc2l0Q2F0ZWdvcnkgfToge1xuICAgICAgICBwYWdlVmlzaXRDYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnk7XG4gICAgfSkgPT4gdm9pZDtcbiAgICBsb2dVc2VyRXZlbnQ6IChldmVudDogVXNlckV2ZW50KSA9PiB2b2lkO1xuICAgIG9uU3VnZ2VzdGlvbkNsaWNrZWQ6IChzdWdnZXN0aW9uOiBTdWdnZXN0aW9uLCBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMpID0+IHZvaWQ7XG4gICAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQ6ICh7IHF1ZXJ5LCB1c2VyVHlwZWQsIGRpc3BsYXlMb2NhdGlvbiwgfToge1xuICAgICAgICBxdWVyeTogc3RyaW5nO1xuICAgICAgICB1c2VyVHlwZWQ6IGJvb2xlYW47XG4gICAgICAgIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMztcbiAgICB9KSA9PiB2b2lkO1xuICAgIG9uRm9ybVJlc3BvbnNlU3VibWl0dGVkOiAoZm9ybTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHZvaWQ7XG4gICAgaW5qZWN0QXNzaXN0YW50TWVzc2FnZTogKGNvbnRlbnQ6IHN0cmluZykgPT4gdm9pZDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSxJQUFXLG9CQUFvQjtDQUFDO09BQUc7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQyxJQUFXLHVCQUF1QjtDQUFDO09BQU87T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBIn0=
@@ -5,11 +5,11 @@ import { EnviveMetricsEventName, SpiffyMetricsEventName } from "../../services/a
5
5
  import "../../services/amplitudeService/amplitudeService.js";
6
6
  import { analyticsContextAtom, hasParsedVariantInfoAtom } from "../../atoms/app/variant.js";
7
7
  import "../../atoms/app/index.js";
8
- import { useAmplitude } from "../amplitudeContext/amplitudeContext.js";
9
- import "../amplitudeContext/index.js";
10
- import { formSubmitAtom, replyEventCategoryAtom, suggestionsAtom } from "../../atoms/chat/chatState.js";
8
+ import { formSubmitAtom, messagesAtom, replyEventCategoryAtom, suggestionsAtom } from "../../atoms/chat/chatState.js";
11
9
  import { queueUserEventAtom } from "../../atoms/chat/messageQueue.js";
12
10
  import "../../atoms/chat/index.js";
11
+ import { useAmplitude } from "../amplitudeContext/amplitudeContext.js";
12
+ import "../amplitudeContext/index.js";
13
13
  import { WidgetInteractionComponent, WidgetInteractionType } from "../../hooks/WidgetInteraction/types.js";
14
14
  import { useWidgetInteraction } from "../../hooks/WidgetInteraction/useWidgetInteraction.js";
15
15
  import "../../hooks/WidgetInteraction/index.js";
@@ -32,6 +32,7 @@ const useSalesAgentChatAPI = (widget) => {
32
32
  const setSuggestions = useSetAtom(suggestionsAtom);
33
33
  const setReplyEventCategory = useSetAtom(replyEventCategoryAtom);
34
34
  const setFormSubmit = useSetAtom(formSubmitAtom);
35
+ const setMessages = useSetAtom(messagesAtom);
35
36
  const { trackEvent } = useAmplitude();
36
37
  const { trackWidgetInteraction } = useWidgetInteraction();
37
38
  const contextWidget = widget || WidgetInteractionComponent.FLOATING_CHAT;
@@ -214,10 +215,20 @@ const useSalesAgentChatAPI = (widget) => {
214
215
  trackEvent,
215
216
  context,
216
217
  queueUserEvent
217
- ])
218
+ ]),
219
+ injectAssistantMessage: useCallback((content) => {
220
+ const message = {
221
+ id: v4(),
222
+ role: MessageRole.Assistant,
223
+ type: MessageType.Text,
224
+ createdAt: (/* @__PURE__ */ new Date()).toISOString(),
225
+ metadata: { content }
226
+ };
227
+ setMessages((current) => [...current, [message]]);
228
+ }, [setMessages])
218
229
  };
219
230
  };
220
231
 
221
232
  //#endregion
222
233
  export { useSalesAgentChatAPI };
223
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5qcyIsIm5hbWVzIjpbIkxvZ2dlciIsInV1aWQiLCJldmVudDogVXNlckV2ZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRleHRzL3NhbGVzQWdlbnRDb250ZXh0L2NoYXRBUEkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBjb21wb25lbnQgd2lsbCBpbnRlcmFjdCB3aXRoIHRoZSBiYWNrZW5kIEFQSSB0byBnZXQgdGhlIHJlc3BvbnNlcyBmcm9tIHRoZSBzYWxlcyBhZ2VudC5cbmltcG9ydCB7IFBhZ2VWaXNpdENhdGVnb3J5LCBVc2VyRXZlbnRDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyB1c2VBdG9tVmFsdWUsIHVzZVNldEF0b20gfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7XG4gIENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMsXG4gIEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzLFxuICBNZXNzYWdlUm9sZSxcbiAgTWVzc2FnZVR5cGUsXG4gIFN1Z2dlc3Rpb24sXG4gIFVzZXJFdmVudCxcbn0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscyc7XG5pbXBvcnQgeyBoYXNQYXJzZWRWYXJpYW50SW5mb0F0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCB7IGFuYWx5dGljc0NvbnRleHRBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2FwcC92YXJpYW50JztcbmltcG9ydCB7IGZvcm1TdWJtaXRBdG9tLCByZXBseUV2ZW50Q2F0ZWdvcnlBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2NoYXQnO1xuaW1wb3J0IHsgc3VnZ2VzdGlvbnNBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2NoYXQvY2hhdFN0YXRlJztcbmltcG9ydCB7IHF1ZXVlVXNlckV2ZW50QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZSc7XG5pbXBvcnQgeyB1c2VXaWRnZXRJbnRlcmFjdGlvbiB9IGZyb20gJ3NyYy9ob29rcy9XaWRnZXRJbnRlcmFjdGlvbic7XG5pbXBvcnQge1xuICBXaWRnZXRJbnRlcmFjdGlvbkNvbXBvbmVudCxcbiAgV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLFxufSBmcm9tICdzcmMvaG9va3MvV2lkZ2V0SW50ZXJhY3Rpb24vdHlwZXMnO1xuaW1wb3J0IHsgRW52aXZlTWV0cmljc0V2ZW50TmFtZSB9IGZyb20gJ3NyYy9zZXJ2aWNlcy9hbXBsaXR1ZGVTZXJ2aWNlL2FtcGxpdHVkZVNlcnZpY2UnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSwgdXNlQW1wbGl0dWRlIH0gZnJvbSAnLi4vYW1wbGl0dWRlQ29udGV4dCc7XG5cbmNvbnN0IFRSQUNLRURfVVNFUl9FVkVOVFMgPSBbXG4gIFVzZXJFdmVudENhdGVnb3J5LlBhZ2VWaXNpdCxcbiAgVXNlckV2ZW50Q2F0ZWdvcnkuUGRwVmlzaXQsXG4gIFVzZXJFdmVudENhdGVnb3J5LlBscFZpc2l0LFxuXTtcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcignY2hhdEFQSScpO1xuZXhwb3J0IGludGVyZmFjZSBTYWxlc0FnZW50Q2hhdEFQSSB7XG4gIGxvZ1BhZ2VWaXNpdDogKHsgcGFnZVZpc2l0Q2F0ZWdvcnkgfTogeyBwYWdlVmlzaXRDYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnkgfSkgPT4gdm9pZDtcbiAgbG9nVXNlckV2ZW50OiAoZXZlbnQ6IFVzZXJFdmVudCkgPT4gdm9pZDtcbiAgb25TdWdnZXN0aW9uQ2xpY2tlZDogKFxuICAgIHN1Z2dlc3Rpb246IFN1Z2dlc3Rpb24sXG4gICAgZGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzLFxuICApID0+IHZvaWQ7XG4gIG9uVHlwZWRNZXNzYWdlU3VibWl0dGVkOiAoe1xuICAgIHF1ZXJ5LFxuICAgIHVzZXJUeXBlZCxcbiAgICBkaXNwbGF5TG9jYXRpb24sXG4gIH06IHtcbiAgICBxdWVyeTogc3RyaW5nO1xuICAgIHVzZXJUeXBlZDogYm9vbGVhbjtcbiAgICBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjM7XG4gIH0pID0+IHZvaWQ7XG4gIG9uRm9ybVJlc3BvbnNlU3VibWl0dGVkOiAoZm9ybTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCB1c2VTYWxlc0FnZW50Q2hhdEFQSSA9ICh3aWRnZXQ/OiBXaWRnZXRJbnRlcmFjdGlvbkNvbXBvbmVudCkgPT4ge1xuICAvLyBUT0RPOiBFYWNoIG9mIHRoZXNlIGZ1bmN0aW9ucyB3aWxsIHRyaWdnZXIgYm90aCB0aGUgbmVjZXNzYXJ5IGFtcGxpdHVkZSBldmVudHMgYW5kIGluaXRpYXRlIHRoZVxuICAvLyBuZWNlc3NhcnkgYWN0aW9ucyB0byB0cmlnZ2VyIHRoZSBiYWNrZW5kIEFQSVxuICBjb25zdCBjb250ZXh0ID0gdXNlQXRvbVZhbHVlKGFuYWx5dGljc0NvbnRleHRBdG9tKTtcbiAgY29uc3QgaGFzUGFyc2VkVmFyaWFudEluZm8gPSB1c2VBdG9tVmFsdWUoaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tKTtcbiAgY29uc3QgcXVldWVVc2VyRXZlbnQgPSB1c2VTZXRBdG9tKHF1ZXVlVXNlckV2ZW50QXRvbSk7XG4gIGNvbnN0IHNldFN1Z2dlc3Rpb25zID0gdXNlU2V0QXRvbShzdWdnZXN0aW9uc0F0b20pO1xuICBjb25zdCBzZXRSZXBseUV2ZW50Q2F0ZWdvcnkgPSB1c2VTZXRBdG9tKHJlcGx5RXZlbnRDYXRlZ29yeUF0b20pO1xuICBjb25zdCBzZXRGb3JtU3VibWl0ID0gdXNlU2V0QXRvbShmb3JtU3VibWl0QXRvbSk7XG4gIGNvbnN0IHsgdHJhY2tFdmVudCB9ID0gdXNlQW1wbGl0dWRlKCk7XG4gIGNvbnN0IHsgdHJhY2tXaWRnZXRJbnRlcmFjdGlvbiB9ID0gdXNlV2lkZ2V0SW50ZXJhY3Rpb24oKTtcbiAgY29uc3QgY29udGV4dFdpZGdldCA9IHdpZGdldCB8fCBXaWRnZXRJbnRlcmFjdGlvbkNvbXBvbmVudC5GTE9BVElOR19DSEFUO1xuXG4gIGNvbnN0IGxvZ1BhZ2VWaXNpdCA9IHVzZUNhbGxiYWNrKFxuICAgICh7IHBhZ2VWaXNpdENhdGVnb3J5IH06IHsgcGFnZVZpc2l0Q2F0ZWdvcnk6IFBhZ2VWaXNpdENhdGVnb3J5IH0pID0+IHtcbiAgICAgIGNvbnN0IGV2ZW50SWQgPSB1dWlkKCk7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXF1ZXN0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X2lkJzogZXZlbnRJZCxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAncGFnZV92aXNpdCcsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50OiBVc2VyRXZlbnQgPSB7XG4gICAgICAgIGV2ZW50SWQsXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5QYWdlVmlzaXQsXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgdXJsOiB3aW5kb3cubG9jYXRpb24uaHJlZixcbiAgICAgICAgICBwYWdlVmlzaXRDYXRlZ29yeSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbcXVldWVVc2VyRXZlbnQsIGNvbnRleHQsIHRyYWNrRXZlbnRdLFxuICApO1xuXG4gIGNvbnN0IGxvZ1VzZXJFdmVudCA9IHVzZUNhbGxiYWNrKFxuICAgIChldmVudDogVXNlckV2ZW50KSA9PiB7XG4gICAgICBpZiAoIWhhc1BhcnNlZFZhcmlhbnRJbmZvKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChUUkFDS0VEX1VTRVJfRVZFTlRTLmluY2x1ZGVzKGV2ZW50LmNhdGVnb3J5KSkge1xuICAgICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlcXVlc3QsXG4gICAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAgICdjaGF0LnJlcXVlc3RfaWQnOiBldmVudC5ldmVudElkLFxuICAgICAgICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ3BhZ2VfdmlzaXQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW2NvbnRleHQsIGhhc1BhcnNlZFZhcmlhbnRJbmZvLCBxdWV1ZVVzZXJFdmVudCwgdHJhY2tFdmVudF0sXG4gICk7XG4gIGNvbnN0IG9uU3VnZ2VzdGlvbkNsaWNrZWQgPSB1c2VDYWxsYmFjayhcbiAgICAoc3VnZ2VzdGlvbjogU3VnZ2VzdGlvbiwgZGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzKSA9PiB7XG4gICAgICB0cmFja1dpZGdldEludGVyYWN0aW9uKHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldEludGVyYWN0aW9uLFxuICAgICAgICB0cmlnZ2VyOiB7XG4gICAgICAgICAgd2lkZ2V0OiBjb250ZXh0V2lkZ2V0LFxuICAgICAgICAgIHdpZGdldF9pbnRlcmFjdGlvbjogV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLlNVR0dFU1RJT05fQ0xJQ0tFRCxcbiAgICAgICAgICB3aWRnZXRfaW50ZXJhY3Rpb25fZGF0YToge1xuICAgICAgICAgICAgc3VnZ2VzdGlvbl9jbGlja2VkOiB7XG4gICAgICAgICAgICAgIHN1Z2dlc3Rpb25faWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0U3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBtZXNzYWdlX2lkOiBzdWdnZXN0aW9uLmlkLFxuICAgICAgICAgIG1lc3NhZ2Vfcm9sZTogTWVzc2FnZVJvbGUuVXNlcixcbiAgICAgICAgICBtZXNzYWdlX3R5cGU6IE1lc3NhZ2VUeXBlLlN1Z2dlc3Rpb25DbGlja2VkLFxuICAgICAgICAgIG1lc3NhZ2VfbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHN1Z2dlc3Rpb24uY29udGVudCxcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IHN1Z2dlc3Rpb24uY3JlYXRlZEF0LFxuICAgICAgICAgICAgY2F0ZWdvcnk6IHN1Z2dlc3Rpb24uY2F0ZWdvcnksXG4gICAgICAgICAgICBpc19hbnN3ZXI6IHN1Z2dlc3Rpb24uaXNBbnN3ZXIsXG4gICAgICAgICAgICBkaXNwbGF5X2xvY2F0aW9uOiBkaXNwbGF5TG9jYXRpb24sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZXZlbnRJZCA9IHV1aWQoKTtcbiAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlcXVlc3QsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICAgICd0cmlnZ2VyLndpZGdldCc6IGRpc3BsYXlMb2NhdGlvbiwgLy8gVGhpcyBpcyBmYWlybHkgZmluZWdyYWluZWQsIGJ1dCB0aGF0IG1heSBiZSBva1xuICAgICAgICAgICdjaGF0LnJlcXVlc3RfaWQnOiBldmVudElkLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfdHlwZSc6ICdzdWdnZXN0aW9uJyxcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3RleHQnOiBzdWdnZXN0aW9uLmNvbnRlbnQsXG4gICAgICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9pZCc6IHN1Z2dlc3Rpb24uaWQsXG4gICAgICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9jYXRlZ29yeSc6IHN1Z2dlc3Rpb24uY2F0ZWdvcnksXG4gICAgICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9jcmVhdGVkX2F0Jzogc3VnZ2VzdGlvbi5jcmVhdGVkQXQsXG4gICAgICAgICAgJ2NoYXQuc3VnZ2VzdGlvbl9pc19hbnN3ZXInOiBzdWdnZXN0aW9uLmlzQW5zd2VyLFxuICAgICAgICAgICdjaGF0LnVzZXJfdHlwZWQnOiBmYWxzZSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZXZlbnQ6IFVzZXJFdmVudCA9IHtcbiAgICAgICAgZXZlbnRJZCxcbiAgICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlN1Z2dlc3Rpb25DbGlja2VkLFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIHN1Z2dlc3Rpb25JZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgICAgICBjb250ZW50OiBzdWdnZXN0aW9uLmNvbnRlbnQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgc2V0U3VnZ2VzdGlvbnMoW10pO1xuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW3F1ZXVlVXNlckV2ZW50LCBzZXRTdWdnZXN0aW9ucywgdHJhY2tFdmVudCwgY29udGV4dF0sXG4gICk7XG4gIGNvbnN0IG9uVHlwZWRNZXNzYWdlU3VibWl0dGVkID0gdXNlQ2FsbGJhY2soXG4gICAgKHtcbiAgICAgIHF1ZXJ5LFxuICAgICAgdXNlclR5cGVkLFxuICAgICAgZGlzcGxheUxvY2F0aW9uLFxuICAgIH06IHtcbiAgICAgIHF1ZXJ5OiBzdHJpbmc7XG4gICAgICB1c2VyVHlwZWQ6IGJvb2xlYW47XG4gICAgICBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjM7XG4gICAgfSkgPT4ge1xuICAgICAgY29uc3QgZXZlbnRJZCA9IHV1aWQoKTtcblxuICAgICAgdHJhY2tXaWRnZXRJbnRlcmFjdGlvbih7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRJbnRlcmFjdGlvbixcbiAgICAgICAgdHJpZ2dlcjoge1xuICAgICAgICAgIHdpZGdldDogY29udGV4dFdpZGdldCxcbiAgICAgICAgICB3aWRnZXRfaW50ZXJhY3Rpb246IFdpZGdldEludGVyYWN0aW9uVHlwZS5NRVNTQUdFX1NVQk1JVFRFRCxcbiAgICAgICAgICB3aWRnZXRfaW50ZXJhY3Rpb25fZGF0YToge1xuICAgICAgICAgICAgbWVzc2FnZV9zdWJtaXR0ZWQ6IHtcbiAgICAgICAgICAgICAgcmVxdWVzdF90ZXh0OiBxdWVyeSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRVc2VyTWVzc2FnZUlucHV0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgcXVlcnksXG4gICAgICAgICAgdXNlcl90eXBlZDogdXNlclR5cGVkLFxuICAgICAgICAgIG1lc3NhZ2VfaWQ6IGV2ZW50SWQsXG4gICAgICAgICAgbWVzc2FnZV9yb2xlOiBNZXNzYWdlUm9sZS5Vc2VyLFxuICAgICAgICAgIG1lc3NhZ2VfdHlwZTogTWVzc2FnZVR5cGUuUXVlcnlUeXBlZCxcbiAgICAgICAgICBtZXNzYWdlX21ldGFkYXRhOiB7XG4gICAgICAgICAgICBjb250ZW50OiBxdWVyeSxcbiAgICAgICAgICAgIGNyZWF0ZWRfYXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAgIHVzZXJfdHlwZWQ6IHVzZXJUeXBlZCxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLkNoYXRSZXF1ZXN0LFxuICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgLi4uY29udGV4dCxcbiAgICAgICAgICAndHJpZ2dlci53aWRnZXQnOiBkaXNwbGF5TG9jYXRpb24sXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ3RleHQnLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfdGV4dCc6IHF1ZXJ5LFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfaWQnOiBldmVudElkLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfY3JlYXRlZF9hdCc6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAnY2hhdC51c2VyX3R5cGVkJzogdXNlclR5cGVkLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudDogVXNlckV2ZW50ID0ge1xuICAgICAgICBldmVudElkLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuUXVlcnlUeXBlZCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICB1c2VyVHlwZWQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgc2V0U3VnZ2VzdGlvbnMoW10pO1xuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW3F1ZXVlVXNlckV2ZW50LCBzZXRTdWdnZXN0aW9ucywgdHJhY2tFdmVudCwgY29udGV4dF0sXG4gICk7XG4gIGNvbnN0IG9uRm9ybVJlc3BvbnNlU3VibWl0dGVkID0gdXNlQ2FsbGJhY2soXG4gICAgKGZvcm06IEZvcm1TdWJtaXR0ZWRBdHRyaWJ1dGVzKSA9PiB7XG4gICAgICBzZXRSZXBseUV2ZW50Q2F0ZWdvcnkoVXNlckV2ZW50Q2F0ZWdvcnkuRm9ybVN1Ym1pdHRlZCk7XG4gICAgICBzZXRGb3JtU3VibWl0KGZvcm0pO1xuICAgICAgY29uc3QgZXZlbnRJZCA9IHV1aWQoKTtcbiAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlcXVlc3QsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfaWQnOiBldmVudElkLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfdHlwZSc6ICdmb3JtJyxcbiAgICAgICAgICAnY2hhdC5mb3JtX3Jlc3BvbnNlX2lkJzogZm9ybS5mb3JtUmVzcG9uc2VJZCxcbiAgICAgICAgICAnY2hhdC5mb3JtX3R5cGUnOiBmb3JtLmZvcm1UeXBlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudDogVXNlckV2ZW50ID0ge1xuICAgICAgICBldmVudElkLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuRm9ybVN1Ym1pdHRlZCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGF0dHJpYnV0ZXM6IGZvcm0sXG4gICAgICB9O1xuICAgICAgcXVldWVVc2VyRXZlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW3NldFJlcGx5RXZlbnRDYXRlZ29yeSwgc2V0Rm9ybVN1Ym1pdCwgdHJhY2tFdmVudCwgY29udGV4dCwgcXVldWVVc2VyRXZlbnRdLFxuICApO1xuXG4gIHJldHVybiB7XG4gICAgbG9nUGFnZVZpc2l0LFxuICAgIGxvZ1VzZXJFdmVudCxcbiAgICBvblN1Z2dlc3Rpb25DbGlja2VkLFxuICAgIG9uVHlwZWRNZXNzYWdlU3VibWl0dGVkLFxuICAgIG9uRm9ybVJlc3BvbnNlU3VibWl0dGVkLFxuICB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMkJBLE1BQU0sc0JBQXNCO0NBQzFCLGtCQUFrQjtDQUNsQixrQkFBa0I7Q0FDbEIsa0JBQWtCO0NBQ25CO0FBRWMsSUFBSUEsZUFBTyxVQUFVO0FBb0JwQyxNQUFhLHdCQUF3QixXQUF3QztDQUczRSxNQUFNLFVBQVUsYUFBYSxxQkFBcUI7Q0FDbEQsTUFBTSx1QkFBdUIsYUFBYSx5QkFBeUI7Q0FDbkUsTUFBTSxpQkFBaUIsV0FBVyxtQkFBbUI7Q0FDckQsTUFBTSxpQkFBaUIsV0FBVyxnQkFBZ0I7Q0FDbEQsTUFBTSx3QkFBd0IsV0FBVyx1QkFBdUI7Q0FDaEUsTUFBTSxnQkFBZ0IsV0FBVyxlQUFlO0NBQ2hELE1BQU0sRUFBRSxlQUFlLGNBQWM7Q0FDckMsTUFBTSxFQUFFLDJCQUEyQixzQkFBc0I7Q0FDekQsTUFBTSxnQkFBZ0IsVUFBVSwyQkFBMkI7QUFzTTNELFFBQU87RUFDTCxjQXJNbUIsYUFDbEIsRUFBRSx3QkFBa0U7R0FDbkUsTUFBTSxVQUFVQyxJQUFNO0FBQ3RCLGNBQVc7SUFDVCxXQUFXLHVCQUF1QjtJQUNsQyxZQUFZO0tBQ1YsR0FBRztLQUNILG1CQUFtQjtLQUNuQixxQkFBcUI7S0FDdEI7SUFDRixDQUFDO0FBVUYsa0JBVHlCO0lBQ3ZCO0lBQ0EsVUFBVSxrQkFBa0I7SUFDNUIsNEJBQVcsSUFBSSxNQUFNLEVBQUMsYUFBYTtJQUNuQyxZQUFZO0tBQ1YsS0FBSyxPQUFPLFNBQVM7S0FDckI7S0FDRDtJQUNGLENBQ29CO0tBRXZCO0dB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
234
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdEFQSS5qcyIsIm5hbWVzIjpbIkxvZ2dlciIsInV1aWQiLCJldmVudDogVXNlckV2ZW50IiwibWVzc2FnZTogTWVzc2FnZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb250ZXh0cy9zYWxlc0FnZW50Q29udGV4dC9jaGF0QVBJLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFRoaXMgY29tcG9uZW50IHdpbGwgaW50ZXJhY3Qgd2l0aCB0aGUgYmFja2VuZCBBUEkgdG8gZ2V0IHRoZSByZXNwb25zZXMgZnJvbSB0aGUgc2FsZXMgYWdlbnQuXG5pbXBvcnQgeyBQYWdlVmlzaXRDYXRlZ29yeSwgVXNlckV2ZW50Q2F0ZWdvcnkgfSBmcm9tICdAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnQnO1xuaW1wb3J0IHsgdXNlQXRvbVZhbHVlLCB1c2VTZXRBdG9tIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQge1xuICBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzLFxuICBGb3JtU3VibWl0dGVkQXR0cmlidXRlcyxcbiAgTWVzc2FnZSxcbiAgTWVzc2FnZVJvbGUsXG4gIE1lc3NhZ2VUeXBlLFxuICBTdWdnZXN0aW9uLFxuICBVc2VyRXZlbnQsXG59IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuaW1wb3J0IHsgaGFzUGFyc2VkVmFyaWFudEluZm9BdG9tIH0gZnJvbSAnc3JjL2F0b21zL2FwcCc7XG5pbXBvcnQgeyBhbmFseXRpY3NDb250ZXh0QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9hcHAvdmFyaWFudCc7XG5pbXBvcnQgeyBmb3JtU3VibWl0QXRvbSwgcmVwbHlFdmVudENhdGVnb3J5QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0JztcbmltcG9ydCB7IG1lc3NhZ2VzQXRvbSwgc3VnZ2VzdGlvbnNBdG9tIH0gZnJvbSAnc3JjL2F0b21zL2NoYXQvY2hhdFN0YXRlJztcbmltcG9ydCB7IHF1ZXVlVXNlckV2ZW50QXRvbSB9IGZyb20gJ3NyYy9hdG9tcy9jaGF0L21lc3NhZ2VRdWV1ZSc7XG5pbXBvcnQgeyB1c2VXaWRnZXRJbnRlcmFjdGlvbiB9IGZyb20gJ3NyYy9ob29rcy9XaWRnZXRJbnRlcmFjdGlvbic7XG5pbXBvcnQge1xuICBXaWRnZXRJbnRlcmFjdGlvbkNvbXBvbmVudCxcbiAgV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLFxufSBmcm9tICdzcmMvaG9va3MvV2lkZ2V0SW50ZXJhY3Rpb24vdHlwZXMnO1xuaW1wb3J0IHsgRW52aXZlTWV0cmljc0V2ZW50TmFtZSB9IGZyb20gJ3NyYy9zZXJ2aWNlcy9hbXBsaXR1ZGVTZXJ2aWNlL2FtcGxpdHVkZVNlcnZpY2UnO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gJ3V1aWQnO1xuaW1wb3J0IHsgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSwgdXNlQW1wbGl0dWRlIH0gZnJvbSAnLi4vYW1wbGl0dWRlQ29udGV4dCc7XG5cbmNvbnN0IFRSQUNLRURfVVNFUl9FVkVOVFMgPSBbXG4gIFVzZXJFdmVudENhdGVnb3J5LlBhZ2VWaXNpdCxcbiAgVXNlckV2ZW50Q2F0ZWdvcnkuUGRwVmlzaXQsXG4gIFVzZXJFdmVudENhdGVnb3J5LlBscFZpc2l0LFxuXTtcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcignY2hhdEFQSScpO1xuZXhwb3J0IGludGVyZmFjZSBTYWxlc0FnZW50Q2hhdEFQSSB7XG4gIGxvZ1BhZ2VWaXNpdDogKHsgcGFnZVZpc2l0Q2F0ZWdvcnkgfTogeyBwYWdlVmlzaXRDYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnkgfSkgPT4gdm9pZDtcbiAgbG9nVXNlckV2ZW50OiAoZXZlbnQ6IFVzZXJFdmVudCkgPT4gdm9pZDtcbiAgb25TdWdnZXN0aW9uQ2xpY2tlZDogKFxuICAgIHN1Z2dlc3Rpb246IFN1Z2dlc3Rpb24sXG4gICAgZGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblYzLFxuICApID0+IHZvaWQ7XG4gIG9uVHlwZWRNZXNzYWdlU3VibWl0dGVkOiAoe1xuICAgIHF1ZXJ5LFxuICAgIHVzZXJUeXBlZCxcbiAgICBkaXNwbGF5TG9jYXRpb24sXG4gIH06IHtcbiAgICBxdWVyeTogc3RyaW5nO1xuICAgIHVzZXJUeXBlZDogYm9vbGVhbjtcbiAgICBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjM7XG4gIH0pID0+IHZvaWQ7XG4gIG9uRm9ybVJlc3BvbnNlU3VibWl0dGVkOiAoZm9ybTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHZvaWQ7XG4gIC8qKiBJbmplY3RzIGEgc3ludGhldGljIGFzc2lzdGFudCB0ZXh0IG1lc3NhZ2UgaW50byB0aGUgY2hhdCB0cmFuc2NyaXB0LCBlLmcuIHRvIHN1cmZhY2UgYSBmYWlsdXJlLiAqL1xuICBpbmplY3RBc3Npc3RhbnRNZXNzYWdlOiAoY29udGVudDogc3RyaW5nKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgdXNlU2FsZXNBZ2VudENoYXRBUEkgPSAod2lkZ2V0PzogV2lkZ2V0SW50ZXJhY3Rpb25Db21wb25lbnQpID0+IHtcbiAgLy8gVE9ETzogRWFjaCBvZiB0aGVzZSBmdW5jdGlvbnMgd2lsbCB0cmlnZ2VyIGJvdGggdGhlIG5lY2Vzc2FyeSBhbXBsaXR1ZGUgZXZlbnRzIGFuZCBpbml0aWF0ZSB0aGVcbiAgLy8gbmVjZXNzYXJ5IGFjdGlvbnMgdG8gdHJpZ2dlciB0aGUgYmFja2VuZCBBUElcbiAgY29uc3QgY29udGV4dCA9IHVzZUF0b21WYWx1ZShhbmFseXRpY3NDb250ZXh0QXRvbSk7XG4gIGNvbnN0IGhhc1BhcnNlZFZhcmlhbnRJbmZvID0gdXNlQXRvbVZhbHVlKGhhc1BhcnNlZFZhcmlhbnRJbmZvQXRvbSk7XG4gIGNvbnN0IHF1ZXVlVXNlckV2ZW50ID0gdXNlU2V0QXRvbShxdWV1ZVVzZXJFdmVudEF0b20pO1xuICBjb25zdCBzZXRTdWdnZXN0aW9ucyA9IHVzZVNldEF0b20oc3VnZ2VzdGlvbnNBdG9tKTtcbiAgY29uc3Qgc2V0UmVwbHlFdmVudENhdGVnb3J5ID0gdXNlU2V0QXRvbShyZXBseUV2ZW50Q2F0ZWdvcnlBdG9tKTtcbiAgY29uc3Qgc2V0Rm9ybVN1Ym1pdCA9IHVzZVNldEF0b20oZm9ybVN1Ym1pdEF0b20pO1xuICBjb25zdCBzZXRNZXNzYWdlcyA9IHVzZVNldEF0b20obWVzc2FnZXNBdG9tKTtcbiAgY29uc3QgeyB0cmFja0V2ZW50IH0gPSB1c2VBbXBsaXR1ZGUoKTtcbiAgY29uc3QgeyB0cmFja1dpZGdldEludGVyYWN0aW9uIH0gPSB1c2VXaWRnZXRJbnRlcmFjdGlvbigpO1xuICBjb25zdCBjb250ZXh0V2lkZ2V0ID0gd2lkZ2V0IHx8IFdpZGdldEludGVyYWN0aW9uQ29tcG9uZW50LkZMT0FUSU5HX0NIQVQ7XG5cbiAgY29uc3QgbG9nUGFnZVZpc2l0ID0gdXNlQ2FsbGJhY2soXG4gICAgKHsgcGFnZVZpc2l0Q2F0ZWdvcnkgfTogeyBwYWdlVmlzaXRDYXRlZ29yeTogUGFnZVZpc2l0Q2F0ZWdvcnkgfSkgPT4ge1xuICAgICAgY29uc3QgZXZlbnRJZCA9IHV1aWQoKTtcbiAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlcXVlc3QsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfaWQnOiBldmVudElkLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfdHlwZSc6ICdwYWdlX3Zpc2l0JyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgY29uc3QgZXZlbnQ6IFVzZXJFdmVudCA9IHtcbiAgICAgICAgZXZlbnRJZCxcbiAgICAgICAgY2F0ZWdvcnk6IFVzZXJFdmVudENhdGVnb3J5LlBhZ2VWaXNpdCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICB1cmw6IHdpbmRvdy5sb2NhdGlvbi5ocmVmLFxuICAgICAgICAgIHBhZ2VWaXNpdENhdGVnb3J5LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIHF1ZXVlVXNlckV2ZW50KGV2ZW50KTtcbiAgICB9LFxuICAgIFtxdWV1ZVVzZXJFdmVudCwgY29udGV4dCwgdHJhY2tFdmVudF0sXG4gICk7XG5cbiAgY29uc3QgbG9nVXNlckV2ZW50ID0gdXNlQ2FsbGJhY2soXG4gICAgKGV2ZW50OiBVc2VyRXZlbnQpID0+IHtcbiAgICAgIGlmICghaGFzUGFyc2VkVmFyaWFudEluZm8pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKFRSQUNLRURfVVNFUl9FVkVOVFMuaW5jbHVkZXMoZXZlbnQuY2F0ZWdvcnkpKSB7XG4gICAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgICBldmVudFByb3BzOiB7XG4gICAgICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50LmV2ZW50SWQsXG4gICAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAncGFnZV92aXNpdCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbY29udGV4dCwgaGFzUGFyc2VkVmFyaWFudEluZm8sIHF1ZXVlVXNlckV2ZW50LCB0cmFja0V2ZW50XSxcbiAgKTtcbiAgY29uc3Qgb25TdWdnZXN0aW9uQ2xpY2tlZCA9IHVzZUNhbGxiYWNrKFxuICAgIChzdWdnZXN0aW9uOiBTdWdnZXN0aW9uLCBkaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uVjMpID0+IHtcbiAgICAgIHRyYWNrV2lkZ2V0SW50ZXJhY3Rpb24oe1xuICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0SW50ZXJhY3Rpb24sXG4gICAgICAgIHRyaWdnZXI6IHtcbiAgICAgICAgICB3aWRnZXQ6IGNvbnRleHRXaWRnZXQsXG4gICAgICAgICAgd2lkZ2V0X2ludGVyYWN0aW9uOiBXaWRnZXRJbnRlcmFjdGlvblR5cGUuU1VHR0VTVElPTl9DTElDS0VELFxuICAgICAgICAgIHdpZGdldF9pbnRlcmFjdGlvbl9kYXRhOiB7XG4gICAgICAgICAgICBzdWdnZXN0aW9uX2NsaWNrZWQ6IHtcbiAgICAgICAgICAgICAgc3VnZ2VzdGlvbl9pZDogc3VnZ2VzdGlvbi5pZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICB0cmFja0V2ZW50KHtcbiAgICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRTdWdnZXN0aW9uQ2xpY2tlZCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIG1lc3NhZ2VfaWQ6IHN1Z2dlc3Rpb24uaWQsXG4gICAgICAgICAgbWVzc2FnZV9yb2xlOiBNZXNzYWdlUm9sZS5Vc2VyLFxuICAgICAgICAgIG1lc3NhZ2VfdHlwZTogTWVzc2FnZVR5cGUuU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgICAgICAgbWVzc2FnZV9tZXRhZGF0YToge1xuICAgICAgICAgICAgY29udGVudDogc3VnZ2VzdGlvbi5jb250ZW50LFxuICAgICAgICAgICAgY3JlYXRlZF9hdDogc3VnZ2VzdGlvbi5jcmVhdGVkQXQsXG4gICAgICAgICAgICBjYXRlZ29yeTogc3VnZ2VzdGlvbi5jYXRlZ29yeSxcbiAgICAgICAgICAgIGlzX2Fuc3dlcjogc3VnZ2VzdGlvbi5pc0Fuc3dlcixcbiAgICAgICAgICAgIGRpc3BsYXlfbG9jYXRpb246IGRpc3BsYXlMb2NhdGlvbixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudElkID0gdXVpZCgpO1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgJ3RyaWdnZXIud2lkZ2V0JzogZGlzcGxheUxvY2F0aW9uLCAvLyBUaGlzIGlzIGZhaXJseSBmaW5lZ3JhaW5lZCwgYnV0IHRoYXQgbWF5IGJlIG9rXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50SWQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ3N1Z2dlc3Rpb24nLFxuICAgICAgICAgICdjaGF0LnJlcXVlc3RfdGV4dCc6IHN1Z2dlc3Rpb24uY29udGVudCxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2lkJzogc3VnZ2VzdGlvbi5pZCxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2NhdGVnb3J5Jzogc3VnZ2VzdGlvbi5jYXRlZ29yeSxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2NyZWF0ZWRfYXQnOiBzdWdnZXN0aW9uLmNyZWF0ZWRBdCxcbiAgICAgICAgICAnY2hhdC5zdWdnZXN0aW9uX2lzX2Fuc3dlcic6IHN1Z2dlc3Rpb24uaXNBbnN3ZXIsXG4gICAgICAgICAgJ2NoYXQudXNlcl90eXBlZCc6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgfSk7XG4gICAgICBjb25zdCBldmVudDogVXNlckV2ZW50ID0ge1xuICAgICAgICBldmVudElkLFxuICAgICAgICBjYXRlZ29yeTogVXNlckV2ZW50Q2F0ZWdvcnkuU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgc3VnZ2VzdGlvbklkOiBzdWdnZXN0aW9uLmlkLFxuICAgICAgICAgIGNvbnRlbnQ6IHN1Z2dlc3Rpb24uY29udGVudCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBzZXRTdWdnZXN0aW9ucyhbXSk7XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbcXVldWVVc2VyRXZlbnQsIHNldFN1Z2dlc3Rpb25zLCB0cmFja0V2ZW50LCBjb250ZXh0XSxcbiAgKTtcbiAgY29uc3Qgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICAoe1xuICAgICAgcXVlcnksXG4gICAgICB1c2VyVHlwZWQsXG4gICAgICBkaXNwbGF5TG9jYXRpb24sXG4gICAgfToge1xuICAgICAgcXVlcnk6IHN0cmluZztcbiAgICAgIHVzZXJUeXBlZDogYm9vbGVhbjtcbiAgICAgIGRpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25WMztcbiAgICB9KSA9PiB7XG4gICAgICBjb25zdCBldmVudElkID0gdXVpZCgpO1xuXG4gICAgICB0cmFja1dpZGdldEludGVyYWN0aW9uKHtcbiAgICAgICAgZXZlbnROYW1lOiBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLldpZGdldEludGVyYWN0aW9uLFxuICAgICAgICB0cmlnZ2VyOiB7XG4gICAgICAgICAgd2lkZ2V0OiBjb250ZXh0V2lkZ2V0LFxuICAgICAgICAgIHdpZGdldF9pbnRlcmFjdGlvbjogV2lkZ2V0SW50ZXJhY3Rpb25UeXBlLk1FU1NBR0VfU1VCTUlUVEVELFxuICAgICAgICAgIHdpZGdldF9pbnRlcmFjdGlvbl9kYXRhOiB7XG4gICAgICAgICAgICBtZXNzYWdlX3N1Ym1pdHRlZDoge1xuICAgICAgICAgICAgICByZXF1ZXN0X3RleHQ6IHF1ZXJ5LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSk7XG5cbiAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICBldmVudE5hbWU6IFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuQ2hhdFVzZXJNZXNzYWdlSW5wdXQsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICBxdWVyeSxcbiAgICAgICAgICB1c2VyX3R5cGVkOiB1c2VyVHlwZWQsXG4gICAgICAgICAgbWVzc2FnZV9pZDogZXZlbnRJZCxcbiAgICAgICAgICBtZXNzYWdlX3JvbGU6IE1lc3NhZ2VSb2xlLlVzZXIsXG4gICAgICAgICAgbWVzc2FnZV90eXBlOiBNZXNzYWdlVHlwZS5RdWVyeVR5cGVkLFxuICAgICAgICAgIG1lc3NhZ2VfbWV0YWRhdGE6IHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHF1ZXJ5LFxuICAgICAgICAgICAgY3JlYXRlZF9hdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgICAgdXNlcl90eXBlZDogdXNlclR5cGVkLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIHRyYWNrRXZlbnQoe1xuICAgICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuQ2hhdFJlcXVlc3QsXG4gICAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgICAuLi5jb250ZXh0LFxuICAgICAgICAgICd0cmlnZ2VyLndpZGdldCc6IGRpc3BsYXlMb2NhdGlvbixcbiAgICAgICAgICAnY2hhdC5yZXF1ZXN0X3R5cGUnOiAndGV4dCcsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90ZXh0JzogcXVlcnksXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50SWQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9jcmVhdGVkX2F0JzogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgICAgICdjaGF0LnVzZXJfdHlwZWQnOiB1c2VyVHlwZWQsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50OiBVc2VyRXZlbnQgPSB7XG4gICAgICAgIGV2ZW50SWQsXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5RdWVyeVR5cGVkLFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgYXR0cmlidXRlczoge1xuICAgICAgICAgIHF1ZXJ5LFxuICAgICAgICAgIHVzZXJUeXBlZCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBzZXRTdWdnZXN0aW9ucyhbXSk7XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbcXVldWVVc2VyRXZlbnQsIHNldFN1Z2dlc3Rpb25zLCB0cmFja0V2ZW50LCBjb250ZXh0XSxcbiAgKTtcbiAgY29uc3Qgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQgPSB1c2VDYWxsYmFjayhcbiAgICAoZm9ybTogRm9ybVN1Ym1pdHRlZEF0dHJpYnV0ZXMpID0+IHtcbiAgICAgIHNldFJlcGx5RXZlbnRDYXRlZ29yeShVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkKTtcbiAgICAgIHNldEZvcm1TdWJtaXQoZm9ybSk7XG4gICAgICBjb25zdCBldmVudElkID0gdXVpZCgpO1xuICAgICAgdHJhY2tFdmVudCh7XG4gICAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5DaGF0UmVxdWVzdCxcbiAgICAgICAgZXZlbnRQcm9wczoge1xuICAgICAgICAgIC4uLmNvbnRleHQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF9pZCc6IGV2ZW50SWQsXG4gICAgICAgICAgJ2NoYXQucmVxdWVzdF90eXBlJzogJ2Zvcm0nLFxuICAgICAgICAgICdjaGF0LmZvcm1fcmVzcG9uc2VfaWQnOiBmb3JtLmZvcm1SZXNwb25zZUlkLFxuICAgICAgICAgICdjaGF0LmZvcm1fdHlwZSc6IGZvcm0uZm9ybVR5cGUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGV2ZW50OiBVc2VyRXZlbnQgPSB7XG4gICAgICAgIGV2ZW50SWQsXG4gICAgICAgIGNhdGVnb3J5OiBVc2VyRXZlbnRDYXRlZ29yeS5Gb3JtU3VibWl0dGVkLFxuICAgICAgICBjcmVhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgYXR0cmlidXRlczogZm9ybSxcbiAgICAgIH07XG4gICAgICBxdWV1ZVVzZXJFdmVudChldmVudCk7XG4gICAgfSxcbiAgICBbc2V0UmVwbHlFdmVudENhdGVnb3J5LCBzZXRGb3JtU3VibWl0LCB0cmFja0V2ZW50LCBjb250ZXh0LCBxdWV1ZVVzZXJFdmVudF0sXG4gICk7XG5cbiAgY29uc3QgaW5qZWN0QXNzaXN0YW50TWVzc2FnZSA9IHVzZUNhbGxiYWNrKFxuICAgIChjb250ZW50OiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2U6IE1lc3NhZ2UgPSB7XG4gICAgICAgIGlkOiB1dWlkKCksXG4gICAgICAgIHJvbGU6IE1lc3NhZ2VSb2xlLkFzc2lzdGFudCxcbiAgICAgICAgdHlwZTogTWVzc2FnZVR5cGUuVGV4dCxcbiAgICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgIG1ldGFkYXRhOiB7IGNvbnRlbnQgfSxcbiAgICAgIH07XG4gICAgICBzZXRNZXNzYWdlcyhjdXJyZW50ID0+IFsuLi5jdXJyZW50LCBbbWVzc2FnZV1dKTtcbiAgICB9LFxuICAgIFtzZXRNZXNzYWdlc10sXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBsb2dQYWdlVmlzaXQsXG4gICAgbG9nVXNlckV2ZW50LFxuICAgIG9uU3VnZ2VzdGlvbkNsaWNrZWQsXG4gICAgb25UeXBlZE1lc3NhZ2VTdWJtaXR0ZWQsXG4gICAgb25Gb3JtUmVzcG9uc2VTdWJtaXR0ZWQsXG4gICAgaW5qZWN0QXNzaXN0YW50TWVzc2FnZSxcbiAgfTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7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