@envive-ai/react-hooks 0.1.3 → 0.1.5

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 (439) hide show
  1. package/dist/adapters/amplitude/index.cjs +13 -13
  2. package/dist/adapters/amplitude/index.d.cts +5 -3
  3. package/dist/adapters/amplitude/index.d.ts +5 -3
  4. package/dist/adapters/amplitude/index.js +10 -10
  5. package/dist/api-B2euFL-5.cjs +269 -0
  6. package/dist/api-XRr_lAG6.js +190 -0
  7. package/dist/application/config/index.cjs +14 -5
  8. package/dist/application/config/index.d.cts +2 -1
  9. package/dist/application/config/index.d.ts +2 -1
  10. package/dist/application/config/index.js +14 -5
  11. package/dist/application/models/graphql/index.cjs +12 -12
  12. package/dist/application/models/graphql/index.d.cts +1 -1
  13. package/dist/application/models/graphql/index.d.ts +1 -1
  14. package/dist/application/models/graphql/index.js +10 -10
  15. package/dist/application/models/guards/api/index.cjs +2 -2
  16. package/dist/application/models/guards/api/index.d.cts +2 -2
  17. package/dist/application/models/guards/api/index.d.ts +2 -2
  18. package/dist/application/models/guards/api/index.js +2 -2
  19. package/dist/application/models/index.cjs +54 -54
  20. package/dist/application/models/index.d.cts +8 -9
  21. package/dist/application/models/index.d.ts +8 -9
  22. package/dist/application/models/index.js +10 -10
  23. package/dist/application/models/utilityTypes/index.cjs +1 -1
  24. package/dist/application/models/utilityTypes/index.d.cts +1 -1
  25. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  26. package/dist/application/models/utilityTypes/index.js +1 -1
  27. package/dist/application/models/variantInfo/index.cjs +1 -1
  28. package/dist/application/models/variantInfo/index.d.cts +1 -1
  29. package/dist/application/models/variantInfo/index.d.ts +1 -1
  30. package/dist/application/models/variantInfo/index.js +1 -1
  31. package/dist/application/service/customerService/index.cjs +2 -2
  32. package/dist/application/service/customerService/index.d.cts +2 -2
  33. package/dist/application/service/customerService/index.d.ts +2 -2
  34. package/dist/application/service/customerService/index.js +2 -2
  35. package/dist/application/service/index.cjs +38 -757
  36. package/dist/application/service/index.d.cts +26 -20
  37. package/dist/application/service/index.d.ts +26 -20
  38. package/dist/application/service/index.js +12 -727
  39. package/dist/application/utils/index.cjs +37 -37
  40. package/dist/application/utils/index.d.cts +12 -12
  41. package/dist/application/utils/index.d.ts +14 -14
  42. package/dist/application/utils/index.js +10 -10
  43. package/dist/atomStore-B1cgmbP0.js +32 -0
  44. package/dist/atomStore-JwGb7pcy.cjs +58 -0
  45. package/dist/atomStore-ONYy0XuA.d.cts +24 -0
  46. package/dist/atomStore-kOKiEcNl.d.ts +24 -0
  47. package/dist/atoms/app/index.cjs +16 -16
  48. package/dist/atoms/app/index.d.cts +11 -11
  49. package/dist/atoms/app/index.d.ts +12 -12
  50. package/dist/atoms/app/index.js +10 -10
  51. package/dist/atoms/atomStore/index.cjs +1 -2
  52. package/dist/atoms/atomStore/index.d.cts +1 -22
  53. package/dist/atoms/atomStore/index.d.ts +1 -22
  54. package/dist/atoms/atomStore/index.js +1 -2
  55. package/dist/atoms/chat/index.cjs +40 -40
  56. package/dist/atoms/chat/index.d.cts +37 -37
  57. package/dist/atoms/chat/index.d.ts +38 -38
  58. package/dist/atoms/chat/index.js +10 -10
  59. package/dist/atoms/globalSearch/index.cjs +1 -1
  60. package/dist/atoms/globalSearch/index.d.cts +7 -6
  61. package/dist/atoms/globalSearch/index.d.ts +2 -1
  62. package/dist/atoms/globalSearch/index.js +1 -1
  63. package/dist/atoms/org/index.cjs +38 -40
  64. package/dist/atoms/org/index.d.cts +35 -53
  65. package/dist/atoms/org/index.d.ts +34 -52
  66. package/dist/atoms/org/index.js +11 -12
  67. package/dist/atoms/search/index.cjs +41 -43
  68. package/dist/atoms/search/index.d.cts +9 -10
  69. package/dist/atoms/search/index.d.ts +9 -10
  70. package/dist/atoms/search/index.js +10 -12
  71. package/dist/bandolier-Da4wt6sm.cjs +1230 -0
  72. package/dist/bandolier-DzEmYWcz.js +1230 -0
  73. package/dist/carpe-AXipz0Xl.cjs +608 -0
  74. package/dist/carpe-CaUKwcEa.js +606 -0
  75. package/dist/chat-CHmD79E1.js +26 -0
  76. package/dist/{chat-CCgyDehy.cjs → chat-_NzpO_Hn.cjs} +2 -1
  77. package/dist/{components-CScS7Ii-.cjs → components-D0XDRcaN.cjs} +2 -1
  78. package/dist/components-Dl-TMD9k.js +11 -0
  79. package/dist/config/locators/components/chat/index.cjs +1 -1
  80. package/dist/config/locators/components/chat/index.d.ts +1 -1
  81. package/dist/config/locators/components/chat/index.js +1 -1
  82. package/dist/config/locators/components/chat/variants/index.cjs +2 -1
  83. package/dist/config/locators/components/chat/variants/index.d.cts +2 -1
  84. package/dist/config/locators/components/chat/variants/index.d.ts +2 -1
  85. package/dist/config/locators/components/chat/variants/index.js +2 -1
  86. package/dist/config/locators/components/index.cjs +1 -1
  87. package/dist/config/locators/components/index.d.ts +1 -1
  88. package/dist/config/locators/components/index.js +1 -1
  89. package/dist/config/locators/components/search/index.cjs +2 -1
  90. package/dist/config/locators/components/search/index.d.cts +2 -1
  91. package/dist/config/locators/components/search/index.d.ts +2 -1
  92. package/dist/config/locators/components/search/index.js +2 -1
  93. package/dist/config/locators/index.cjs +4 -4
  94. package/dist/config/locators/index.d.cts +2 -1
  95. package/dist/config/locators/index.d.ts +4 -3
  96. package/dist/config/locators/index.js +4 -4
  97. package/dist/contexts/index.cjs +20 -23
  98. package/dist/contexts/index.d.cts +10 -59
  99. package/dist/contexts/index.d.ts +10 -59
  100. package/dist/contexts/index.js +11 -17
  101. package/dist/contexts-CtRlNXaS.js +7674 -0
  102. package/dist/contexts-CtgmnYNn.cjs +9088 -0
  103. package/dist/coterie--MGvWeVh.cjs +240 -0
  104. package/dist/coterie-oKHAT0lx.js +240 -0
  105. package/dist/customerService-BG1uNZZ1.cjs +36 -0
  106. package/dist/customerService-BHQRnLhC.js +23 -0
  107. package/dist/custservice-types-C8-9vKWb.cjs +35 -0
  108. package/dist/custservice-types-CamCiXjq.js +23 -0
  109. package/dist/default-B4fINY5_.cjs +4 -0
  110. package/dist/default-BrTQxA0c.js +4 -0
  111. package/dist/default-C3LrcbZB.cjs +199 -0
  112. package/dist/default-CXkYrLEr.js +176 -0
  113. package/dist/divIds-0Vj9g-fM.js +23 -0
  114. package/dist/{divIds-CFyAjjp3.cjs → divIds-CjceLRD9.cjs} +2 -1
  115. package/dist/dreamlandBaby-BEqt0eKF.js +347 -0
  116. package/dist/dreamlandBaby-DBDjEJCc.cjs +347 -0
  117. package/dist/{embedded-BlXJUbik.cjs → embedded-B5Wi9g0T.cjs} +2 -1
  118. package/dist/embedded-_cLpd6FK.js +23 -0
  119. package/dist/entrypoints-CNUvSgnk.js +7 -0
  120. package/dist/entrypoints-DM9Sm18O.cjs +19 -0
  121. package/dist/events/index.cjs +1 -1
  122. package/dist/events/index.d.cts +2 -1
  123. package/dist/events/index.d.ts +2 -1
  124. package/dist/events/index.js +1 -1
  125. package/dist/events-ClCDFK7t.js +78 -0
  126. package/dist/events-Da7gpmGv.cjs +90 -0
  127. package/dist/featureFlagService-5wdmW02z.d.ts +18 -0
  128. package/dist/featureFlagService-DaelrXEk.d.cts +18 -0
  129. package/dist/fiveCbd-CdqNt16h.cjs +614 -0
  130. package/dist/fiveCbd-D6B-sgnX.js +614 -0
  131. package/dist/forLoveAndLemons-C7GsJG7f.cjs +668 -0
  132. package/dist/forLoveAndLemons-gNDlMtPR.js +666 -0
  133. package/dist/{globalSearch-hxbXekus.cjs → globalSearch-BTeZxvk1.cjs} +2 -1
  134. package/dist/globalSearch-b0wC7ZEO.js +14 -0
  135. package/dist/greenpan-B5AaW4M_.js +398 -0
  136. package/dist/greenpan-DrORpYms.cjs +398 -0
  137. package/dist/grooveLife-BJqsfH2H.cjs +343 -0
  138. package/dist/grooveLife-xIUmDM8s.js +343 -0
  139. package/dist/homegrownCannabis-8TZ21u6L.cjs +411 -0
  140. package/dist/homegrownCannabis-BtMuEvbZ.js +411 -0
  141. package/dist/hooks/index.cjs +36 -38
  142. package/dist/hooks/index.d.cts +36 -82
  143. package/dist/hooks/index.d.ts +38 -84
  144. package/dist/hooks/index.js +11 -17
  145. package/dist/index-BTK5uzs6.d.cts +98 -0
  146. package/dist/index-BdNKc2ix.d.cts +2 -1
  147. package/dist/index-BrXuc_Ck.d.cts +2 -1
  148. package/dist/index-BzgkfbNO.d.cts +228 -0
  149. package/dist/index-CKKkTsms.d.ts +39 -0
  150. package/dist/index-CKUpnyJQ.d.ts +72 -0
  151. package/dist/index-CSIOQD-A.d.ts +25 -0
  152. package/dist/index-CbJZOEU4.d.ts +203 -0
  153. package/dist/index-ClJ0nMsR.d.cts +184 -0
  154. package/dist/index-Cr2y08f1.d.ts +9 -0
  155. package/dist/index-Cx9e-fRi.d.ts +184 -0
  156. package/dist/index-D2VaMPA3.d.ts +98 -0
  157. package/dist/index-D46Rd0io.d.cts +39 -0
  158. package/dist/index-DFL1dIT_.d.ts +7 -0
  159. package/dist/index-DXpgMVpp.d.ts +749 -0
  160. package/dist/index-Dxpscrvz.d.ts +228 -0
  161. package/dist/index-K2kNsOTw.d.cts +203 -0
  162. package/dist/index-MFbPQ8Ji.d.ts +95 -0
  163. package/dist/index-VHFMGkO-.d.cts +72 -0
  164. package/dist/index-VSFakgAI.d.cts +95 -0
  165. package/dist/index-aNW5V9fh.d.cts +749 -0
  166. package/dist/index-zZjcds15.d.cts +7 -0
  167. package/dist/interceptors/index.cjs +12 -13
  168. package/dist/interceptors/index.d.cts +10 -10
  169. package/dist/interceptors/index.d.ts +10 -10
  170. package/dist/interceptors/index.js +10 -11
  171. package/dist/jackArcher-WtkbLBZj.cjs +728 -0
  172. package/dist/jackArcher-sO9EbgrZ.js +728 -0
  173. package/dist/jordanCraig-471FcgqF.cjs +1787 -0
  174. package/dist/jordanCraig-DNOncplU.js +1787 -0
  175. package/dist/kindredBravely-BlLyHGMX.cjs +491 -0
  176. package/dist/kindredBravely-cqZ4OvXp.js +491 -0
  177. package/dist/kutFromTheKloth-3mOIryvt.cjs +370 -0
  178. package/dist/kutFromTheKloth-DtVNCMKa.js +370 -0
  179. package/dist/larryAndSerges-88Bvq-Us.cjs +262 -0
  180. package/dist/larryAndSerges-cvak6May.js +262 -0
  181. package/dist/leapsAndRebounds-Dmf8eUPq.js +361 -0
  182. package/dist/leapsAndRebounds-iWKc923H.cjs +361 -0
  183. package/dist/logger-Dln20ans.cjs +26 -0
  184. package/dist/logger-pdEEY8T2.js +20 -0
  185. package/dist/longevityrx-BTMI9vn-.js +321 -0
  186. package/dist/longevityrx-CobPyigd.cjs +321 -0
  187. package/dist/lookOptic-C4H_c0JZ.cjs +283 -0
  188. package/dist/lookOptic-Jwf7EAU8.js +283 -0
  189. package/dist/mantraBrand-CySGqbn6.cjs +751 -0
  190. package/dist/mantraBrand-DoaVj837.js +751 -0
  191. package/dist/medterra-BnZ5p27n.cjs +584 -0
  192. package/dist/medterra-DaICcPPp.js +584 -0
  193. package/dist/modells-CZ1L6dD_.js +485 -0
  194. package/dist/modells-DF0SndHr.cjs +485 -0
  195. package/dist/nodeSelector-DybpVr-i.d.ts +31 -0
  196. package/dist/nodeSelector-vKB44CDB.d.cts +2 -1
  197. package/dist/orgConfigResults--dAwtw3W.d.ts +881 -0
  198. package/dist/orgConfigResults-BL0XBA6x.d.cts +881 -0
  199. package/dist/pressedFloral-B3t2cYzs.cjs +662 -0
  200. package/dist/pressedFloral-Dsws2Kfb.js +662 -0
  201. package/dist/search-filter-types-9rTb3jMj.d.cts +102 -0
  202. package/dist/search-filter-types-C-zZSpGo.d.ts +102 -0
  203. package/dist/skinPerfection-CILQM2bR.cjs +335 -0
  204. package/dist/skinPerfection-DmQCntRf.js +335 -0
  205. package/dist/snapSupplements--X_v0KRM.js +286 -0
  206. package/dist/snapSupplements-Djuzl0Ed.cjs +286 -0
  207. package/dist/socialProofClasses-DdzG1tZy.js +10 -0
  208. package/dist/socialProofClasses-ky69yppk.cjs +40 -0
  209. package/dist/spanx-Bo81yXSF.cjs +664 -0
  210. package/dist/spanx-DauxB8KE.js +662 -0
  211. package/dist/spanxStaging-BucYQvR1.cjs +849 -0
  212. package/dist/spanxStaging-CfXUukdP.js +846 -0
  213. package/dist/{suggestionBarV2-types-DG3Ekk44.cjs → suggestionBarV2-types-B3lwrENK.cjs} +2 -1
  214. package/dist/suggestionBarV2-types-Penx3Y67.js +10 -0
  215. package/dist/supergoop-8qa_NV3F.cjs +338 -0
  216. package/dist/supergoop-DOaui-A6.js +336 -0
  217. package/dist/test-types-CXVJxTeu.d.ts +40 -0
  218. package/dist/test-types-CuOq25VT.d.cts +40 -0
  219. package/dist/types/index.cjs +2 -2
  220. package/dist/types/index.d.cts +2 -2
  221. package/dist/types/index.d.ts +2 -2
  222. package/dist/types/index.js +2 -2
  223. package/dist/types-CD4LFta-.d.cts +33 -0
  224. package/dist/types-CGC6Oozp.cjs +231 -0
  225. package/dist/types-CnTCkyvK.js +177 -0
  226. package/dist/types-DBdI0j89.d.ts +33 -0
  227. package/dist/uniqueVintage-BWkDgt1z.js +1212 -0
  228. package/dist/uniqueVintage-DAne8XcL.cjs +1214 -0
  229. package/dist/variant-CC1nrywd.d.ts +13 -0
  230. package/dist/variant-CQTuQQSq.d.cts +13 -0
  231. package/dist/venaCbd-B1HO_Pkr.cjs +366 -0
  232. package/dist/venaCbd-CnByO-5R.js +366 -0
  233. package/dist/westonJonBoucher-BAGXegsX.js +423 -0
  234. package/dist/westonJonBoucher-BRfHWMbs.cjs +423 -0
  235. package/dist/wineEnthusiast-DW8JVwV8.cjs +941 -0
  236. package/dist/wineEnthusiast-EJbhMeKQ.js +941 -0
  237. package/dist/wolfMattress-B6INZNRJ.cjs +373 -0
  238. package/dist/wolfMattress-D9P7ErH_.js +373 -0
  239. package/dist/wolfTactical-C5Pupi3J.js +350 -0
  240. package/dist/wolfTactical-TMthZM93.cjs +350 -0
  241. package/package.json +2 -1
  242. package/src/adapters/amplitude/amplitudeAdapter.ts +32 -9
  243. package/src/adapters/spiffy/commerce/api.ts +17 -8
  244. package/src/adapters/spiffy/commerce/graphql.ts +16 -5
  245. package/src/application/config/generalStaticConfig.ts +5 -2
  246. package/src/application/models/api/orgConfigResults.ts +6 -2
  247. package/src/application/models/supportedOrgs.ts +1 -1
  248. package/src/application/models/validators/validateGraphQLColorsConfig.ts +23 -21
  249. package/src/application/service/cdnService.ts +4 -2
  250. package/src/application/service/graphqlConfigService.ts +59 -0
  251. package/src/application/service/index.ts +1 -1
  252. package/src/application/service/pageVariantService.ts +5 -5
  253. package/src/application/service/searchService.ts +9 -2
  254. package/src/application/service/windowChatToggleService.ts +28 -19
  255. package/src/application/service/windowFrontendConfigService.ts +7 -4
  256. package/src/atoms/app/index.ts +26 -17
  257. package/src/atoms/app/variant.ts +1 -0
  258. package/src/atoms/chat/messageQueue.ts +1 -1
  259. package/src/atoms/envive/enviveConfig.ts +81 -0
  260. package/src/atoms/org/graphqlConfig.ts +40 -11
  261. package/src/atoms/org/index.ts +7 -7
  262. package/src/atoms/org/merchantCss.ts +119 -2
  263. package/src/atoms/org/org.ts +67 -70
  264. package/src/atoms/org/orgPageConfig.ts +9 -6
  265. package/src/atoms/org/orgUIConfig.ts +22 -9
  266. package/src/atoms/search/chatSearch.ts +85 -67
  267. package/src/atoms/search/searchAPI.ts +52 -42
  268. package/src/contexts/chatContext.tsx +4 -1
  269. package/src/contexts/enviveConfigContext.tsx +37 -26
  270. package/src/contexts/enviveCssContext.tsx +20 -0
  271. package/src/contexts/index.ts +2 -0
  272. package/src/contexts/orgConfigContext.tsx +106 -0
  273. package/src/contexts/systemSettingsContext.tsx +2 -2
  274. package/src/contexts/types.ts +12 -9
  275. package/src/hooks/index.ts +2 -3
  276. package/src/hooks/useDynamicVariants.ts +48 -32
  277. package/src/hooks/useFileUpload.ts +1 -1
  278. package/src/hooks/useHideElements.ts +21 -18
  279. package/src/hooks/useImageResolver.ts +16 -8
  280. package/src/hooks/useNewOrgConfig.ts +80 -0
  281. package/src/hooks/useSearch.tsx +10 -6
  282. package/src/hooks/utils.ts +1 -1
  283. package/src/interceptors/useFormEscalation.ts +26 -9
  284. package/src/types.ts +0 -2
  285. package/dist/api-BtzLHcfU.cjs +0 -268
  286. package/dist/api-kpPTZhV9.js +0 -189
  287. package/dist/atomStore-BNQyGmU_.cjs +0 -57
  288. package/dist/atomStore-TnLPtYns.js +0 -31
  289. package/dist/bandolier-CQrxBHsk.cjs +0 -1230
  290. package/dist/bandolier-Di9DpZ8e.js +0 -1230
  291. package/dist/carpe-3NJOR-Rj.cjs +0 -608
  292. package/dist/carpe-DmWKaIQq.js +0 -606
  293. package/dist/cdnService-BNreZjqy.js +0 -18
  294. package/dist/cdnService-vLxePdrU.cjs +0 -23
  295. package/dist/chat-CCQMmhc1.cjs +0 -5057
  296. package/dist/chat-Dk6KPb1K.js +0 -25
  297. package/dist/chat-H6YcCS4I.js +0 -4113
  298. package/dist/components-DAQxVIn9.js +0 -10
  299. package/dist/coterie-D0UFsFC5.cjs +0 -240
  300. package/dist/coterie-JblRmIZL.js +0 -240
  301. package/dist/customerService-C4wc0glQ.js +0 -22
  302. package/dist/customerService-zsDlp7g2.cjs +0 -35
  303. package/dist/custservice-types-D8Npo-5Z.js +0 -22
  304. package/dist/custservice-types-E9_OSaZ7.cjs +0 -34
  305. package/dist/default-C5ZTV8HA.cjs +0 -4
  306. package/dist/default-DPv8m-eQ.js +0 -175
  307. package/dist/default-DRKBosow.cjs +0 -198
  308. package/dist/default-ao0vRl0W.js +0 -4
  309. package/dist/divIds-BWvq-i6I.js +0 -22
  310. package/dist/dreamlandBaby-CyS8oW8X.js +0 -347
  311. package/dist/dreamlandBaby-y7kSvwH2.cjs +0 -347
  312. package/dist/embedded-C1jvFj3v.js +0 -22
  313. package/dist/entrypoints-CmmOszXO.js +0 -6
  314. package/dist/entrypoints-fowCLUT2.cjs +0 -18
  315. package/dist/enviveConfigContext-Bs8kepnO.cjs +0 -48
  316. package/dist/enviveConfigContext-CWVdVWKW.js +0 -34
  317. package/dist/events-DgFzlVJR.js +0 -77
  318. package/dist/events-bH-24eRW.cjs +0 -89
  319. package/dist/featureFlagService-CroFRxvD.d.cts +0 -17
  320. package/dist/featureFlagService-NkJ2fuEj.d.ts +0 -17
  321. package/dist/featureGates-BMWXU0dS.d.ts +0 -90
  322. package/dist/featureGates-N_gyHCTn.d.cts +0 -90
  323. package/dist/fiveCbd-CXVuIBiZ.cjs +0 -614
  324. package/dist/fiveCbd-Cyc3-Ab9.js +0 -614
  325. package/dist/forLoveAndLemons-CxQS0USq.cjs +0 -668
  326. package/dist/forLoveAndLemons-D8mcgmdk.js +0 -666
  327. package/dist/frontendConfig-KeNqU1wa.d.cts +0 -790
  328. package/dist/frontendConfig-cPvCTWm6.d.ts +0 -790
  329. package/dist/globalSearch-BC0rOX3E.js +0 -13
  330. package/dist/greenpan-JM6SHcqO.js +0 -398
  331. package/dist/greenpan-eIzyxVsn.cjs +0 -398
  332. package/dist/grooveLife-BmsUc2cD.js +0 -343
  333. package/dist/grooveLife-KdTizVUn.cjs +0 -343
  334. package/dist/homegrownCannabis-C0GDai4r.cjs +0 -411
  335. package/dist/homegrownCannabis-a9udocBT.js +0 -411
  336. package/dist/hooks-DjOa7ihH.cjs +0 -7331
  337. package/dist/hooks-fneW8SWw.js +0 -7152
  338. package/dist/index-BQErGgfM.d.cts +0 -202
  339. package/dist/index-C4zjAR1c.d.cts +0 -227
  340. package/dist/index-CGB6CAmr.d.ts +0 -6
  341. package/dist/index-CIco0cCQ.d.ts +0 -183
  342. package/dist/index-COG1kOZG.d.ts +0 -749
  343. package/dist/index-CVxe7FpL.d.cts +0 -6
  344. package/dist/index-Cn1SeI5y.d.cts +0 -183
  345. package/dist/index-CnqHN_jz.d.ts +0 -202
  346. package/dist/index-Cqg6ltII.d.ts +0 -38
  347. package/dist/index-DE_7Q8qK.d.ts +0 -94
  348. package/dist/index-Da0UzyI9.d.ts +0 -24
  349. package/dist/index-DbWWcYax.d.cts +0 -749
  350. package/dist/index-DtoVXd6O.d.cts +0 -97
  351. package/dist/index-JClBRnSX.d.cts +0 -94
  352. package/dist/index-ghzD_356.d.ts +0 -8
  353. package/dist/index-hdbCEjYy.d.cts +0 -38
  354. package/dist/index-luJrHgPN.d.ts +0 -97
  355. package/dist/index-tfRj22E1.d.ts +0 -227
  356. package/dist/jackArcher-B6OJ0N3a.cjs +0 -728
  357. package/dist/jackArcher-B9fe4Hv8.js +0 -728
  358. package/dist/jordanCraig-0CB_m_ts.cjs +0 -1787
  359. package/dist/jordanCraig-DNm1iw1L.js +0 -1787
  360. package/dist/kindredBravely-CZgt7DJA.js +0 -491
  361. package/dist/kindredBravely-KvYPbckZ.cjs +0 -491
  362. package/dist/kutFromTheKloth-BxgtWZs9.cjs +0 -370
  363. package/dist/kutFromTheKloth-SmteSZjk.js +0 -370
  364. package/dist/larryAndSerges-6O_u3L90.cjs +0 -261
  365. package/dist/larryAndSerges-DO-zG8ES.js +0 -261
  366. package/dist/leapsAndRebounds-BK62AmXw.js +0 -361
  367. package/dist/leapsAndRebounds-gPsWVUmQ.cjs +0 -361
  368. package/dist/logger-Be0NyKaY.cjs +0 -25
  369. package/dist/logger-BexDfK3W.js +0 -19
  370. package/dist/longevityrx-DjKbwJo3.cjs +0 -321
  371. package/dist/longevityrx-eq5TeUcy.js +0 -321
  372. package/dist/lookOptic-BPPqms_j.cjs +0 -283
  373. package/dist/lookOptic-jRpBXQCN.js +0 -283
  374. package/dist/mantraBrand-BZOZfkUK.js +0 -751
  375. package/dist/mantraBrand-Cp8zptkj.cjs +0 -751
  376. package/dist/medterra-BHYCBgvQ.cjs +0 -584
  377. package/dist/medterra-CShe6CLY.js +0 -584
  378. package/dist/modells-DE7-gmjK.cjs +0 -485
  379. package/dist/modells-DFyJxNwT.js +0 -485
  380. package/dist/nodeSelector-DpKXszfU.d.ts +0 -30
  381. package/dist/org-Bkn6fl6I.cjs +0 -106
  382. package/dist/org-CX8HFbc9.js +0 -63
  383. package/dist/pressedFloral-BMkCVs8c.cjs +0 -662
  384. package/dist/pressedFloral-aK9br-LF.js +0 -662
  385. package/dist/search-DtIFZeMA.cjs +0 -743
  386. package/dist/search-eWwg8pNn.js +0 -542
  387. package/dist/search-filter-types-ByJnFPc4.d.cts +0 -101
  388. package/dist/search-filter-types-DPgeG8FS.d.ts +0 -101
  389. package/dist/skinPerfection-B9G6yLM2.js +0 -335
  390. package/dist/skinPerfection-BBC1q65Z.cjs +0 -335
  391. package/dist/snapSupplements-D7hx6Kgj.cjs +0 -286
  392. package/dist/snapSupplements-DKvJl__T.js +0 -286
  393. package/dist/socialProofClasses-BYLiEXpU.cjs +0 -39
  394. package/dist/socialProofClasses-CkJufEGb.js +0 -9
  395. package/dist/spanx-D-ZKkxjM.cjs +0 -664
  396. package/dist/spanx-yl7YfVrf.js +0 -662
  397. package/dist/spanxStaging-CXeIg6zI.cjs +0 -849
  398. package/dist/spanxStaging-DzGXL9wD.js +0 -846
  399. package/dist/suggestionBarV2-types-B0RbMStE.js +0 -9
  400. package/dist/supergoop-CSpDPOpl.cjs +0 -337
  401. package/dist/supergoop-D0UkuRiA.js +0 -335
  402. package/dist/test-types-C9b_OdfO.d.ts +0 -39
  403. package/dist/test-types-CpKCxk8U.d.cts +0 -39
  404. package/dist/types-BE4faOO_.d.cts +0 -32
  405. package/dist/types-C3S1H4hl.js +0 -176
  406. package/dist/types-TD8g7LnH.d.ts +0 -32
  407. package/dist/types-lcjuhDBt.cjs +0 -230
  408. package/dist/uniqueVintage-DygVpCqU.cjs +0 -1214
  409. package/dist/uniqueVintage-_n0FZFVj.js +0 -1212
  410. package/dist/useMessageInterceptor-BP6gzo8a.js +0 -57
  411. package/dist/useMessageInterceptor-BnUG2Pzt.cjs +0 -72
  412. package/dist/variant-DH4zusMi.d.cts +0 -12
  413. package/dist/variant-DTEqSBHd.d.ts +0 -12
  414. package/dist/variantInfo-BTvC6CQh.js +0 -1
  415. package/dist/variantInfo-Cz2YXraO.cjs +0 -0
  416. package/dist/venaCbd-BS0dvdBm.js +0 -366
  417. package/dist/venaCbd-Pqg0bj-P.cjs +0 -366
  418. package/dist/westonJonBoucher-CLw8Hy6u.js +0 -423
  419. package/dist/westonJonBoucher-CeA0jwxe.cjs +0 -423
  420. package/dist/wineEnthusiast-M9P18d1w.js +0 -941
  421. package/dist/wineEnthusiast-gHBaQMbe.cjs +0 -941
  422. package/dist/wolfMattress-BQHjoQYu.js +0 -373
  423. package/dist/wolfMattress-CdmN-Evm.cjs +0 -373
  424. package/dist/wolfTactical-Cc2ZLBRh.js +0 -350
  425. package/dist/wolfTactical-dObnPgAG.cjs +0 -350
  426. package/src/application/service/environmentService.ts +0 -51
  427. package/src/extension.ts +0 -63
  428. package/src/hooks/useHorizontalScrollAnimation.ts +0 -115
  429. package/src/hooks/useReducedMotionWithOverride.ts +0 -15
  430. package/src/hooks/useSnapControl.ts +0 -155
  431. package/src/initialize.ts +0 -163
  432. package/src/main.tsx +0 -108
  433. package/src/merchants/uniqueVintage/views/useUniqueVintageChatSearch.ts +0 -147
  434. /package/dist/{atomStore-B3tsg6mF.cjs → locators-CugndTUM.cjs} +0 -0
  435. /package/dist/{atomStore-FSZd_20F.js → locators-DnKpajbY.js} +0 -0
  436. /package/dist/{locators-C2DX_nX6.js → utilityTypes-BVikejDo.js} +0 -0
  437. /package/dist/{locators-CUpyd9Wt.cjs → utilityTypes-C4h2wgAK.cjs} +0 -0
  438. /package/dist/{utilityTypes-DMdsI0DG.cjs → variantInfo-CNRTY0gH.cjs} +0 -0
  439. /package/dist/{utilityTypes-UWdNHElu.js → variantInfo-CzhR5W6h.js} +0 -0
@@ -0,0 +1,228 @@
1
+ //#region src/application/models/utilityTypes/primitive.d.ts
2
+ /**
3
+ * Matches any [primitive value](https://developer.mozilla.org/en-US/docs/Glossary/Primitive).
4
+ *
5
+ * @category Type
6
+ */
7
+ type Primitive = null | undefined | string | number | boolean | symbol | bigint;
8
+ //#endregion
9
+ //#region src/application/models/utilityTypes/trim.d.ts
10
+ /**
11
+ * Remove spaces from the left side.
12
+ */
13
+ type TrimLeft<V extends string> = V extends `${Whitespace}${infer R}` ? TrimLeft<R> : V;
14
+ /**
15
+ * Remove spaces from the right side.
16
+ */
17
+ type TrimRight<V extends string> = V extends `${infer R}${Whitespace}` ? TrimRight<R> : V;
18
+ /**
19
+ * Remove leading and trailing spaces from a string.
20
+ * @example
21
+ * ```
22
+ * import type {Trim} from 'type-fest';
23
+ *
24
+ * Trim<' foo '>
25
+ * //=> 'foo'
26
+ * ```
27
+ *
28
+ * @category String
29
+ * @category Template literal
30
+ */
31
+ type Trim<V extends string> = TrimLeft<TrimRight<V>>;
32
+ //#endregion
33
+ //#region src/application/models/utilityTypes/internal.d.ts
34
+ /**
35
+ * Matches any primitive, `void`, `Date`, or `RegExp` value.
36
+ */
37
+ type BuiltIns = Primitive | void | Date | RegExp;
38
+ /**
39
+ * Matches non-recursive types.
40
+ */
41
+ type NonRecursiveType = BuiltIns | Function | (new (...arguments_: any[]) => unknown);
42
+ /**
43
+ * Returns a boolean for whether the string is numeric.
44
+ *
45
+ * This type is a workaround for [Microsoft/TypeScript#46109](https://github.com/microsoft/TypeScript/issues/46109#issuecomment-930307987).
46
+ */
47
+ type IsNumeric<T extends string> = T extends `${number}` ? Trim<T> extends T ? true : false : false;
48
+ /**
49
+ * Returns a boolean for whether the string is lowercased.
50
+ */
51
+ type IsLowerCase<T extends string> = T extends Lowercase<T> ? true : false;
52
+ /**
53
+ * Returns a boolean for whether the string is upper-cased.
54
+ */
55
+ type IsUpperCase<T extends string> = T extends Uppercase<T> ? true : false;
56
+ type WordSeparators = '-' | '_' | Whitespace;
57
+ type Whitespace = '\u{9}' | '\u{A}' | '\u{B}' | '\u{C}' | '\u{D}' | '\u{20}' | '\u{85}' | '\u{A0}' | '\u{1680}' | '\u{2000}' | '\u{2001}' | '\u{2002}' | '\u{2003}' | '\u{2004}' | '\u{2005}' | '\u{2006}' | '\u{2007}' | '\u{2008}' | '\u{2009}' | '\u{200A}' | '\u{2028}' | '\u{2029}' | '\u{202F}' | '\u{205F}' | '\u{3000}' | '\u{FEFF}';
58
+ type UpperCaseCharacters = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z';
59
+ //#endregion
60
+ //#region src/application/models/utilityTypes/splitWords.d.ts
61
+ type SkipEmptyWord<Word extends string> = Word extends '' ? [] : [Word];
62
+ type RemoveLastCharacter<Sentence extends string, Character extends string> = Sentence extends `${infer LeftSide}${Character}` ? SkipEmptyWord<LeftSide> : never;
63
+ /**
64
+ * Split a string (almost) like Lodash's `_.words()` function.
65
+ *
66
+ * - Split on each word that begins with a capital letter.
67
+ * - Split on each {@link WordSeparators}.
68
+ * - Split on numeric sequence.
69
+ *
70
+ * @example
71
+ * ```
72
+ * type Words0 = SplitWords<'helloWorld'>; // ['hello', 'World']
73
+ * type Words1 = SplitWords<'helloWORLD'>; // ['hello', 'WORLD']
74
+ * type Words2 = SplitWords<'hello-world'>; // ['hello', 'world']
75
+ * type Words3 = SplitWords<'--hello the_world'>; // ['hello', 'the', 'world']
76
+ * type Words4 = SplitWords<'lifeIs42'>; // ['life', 'Is', '42']
77
+ * ```
78
+ *
79
+ * @internal
80
+ * @category Change case
81
+ * @category Template literal
82
+ */
83
+ type SplitWords<Sentence extends string, LastCharacter extends string = '', CurrentWord extends string = ''> = Sentence extends `${infer FirstCharacter}${infer RemainingCharacters}` ? FirstCharacter extends WordSeparators ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters>] : LastCharacter extends '' ? SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter> : [false, true] extends [IsNumeric<LastCharacter>, IsNumeric<FirstCharacter>] ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter>] : [true, false] extends [IsNumeric<LastCharacter>, IsNumeric<FirstCharacter>] ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter>] : [true, true] extends [IsNumeric<LastCharacter>, IsNumeric<FirstCharacter>] ? SplitWords<RemainingCharacters, FirstCharacter, `${CurrentWord}${FirstCharacter}`> : [true, true] extends [IsLowerCase<LastCharacter>, IsUpperCase<FirstCharacter>] ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter>] : [true, true] extends [IsUpperCase<LastCharacter>, IsLowerCase<FirstCharacter>] ? [...RemoveLastCharacter<CurrentWord, LastCharacter>, ...SplitWords<RemainingCharacters, FirstCharacter, `${LastCharacter}${FirstCharacter}`>] : SplitWords<RemainingCharacters, FirstCharacter, `${CurrentWord}${FirstCharacter}`> : [...SkipEmptyWord<CurrentWord>];
84
+ //#endregion
85
+ //#region src/application/models/utilityTypes/camelCase.d.ts
86
+ /**
87
+ * CamelCase options.
88
+ *
89
+ * @see {@link CamelCase}
90
+ */
91
+ type CamelCaseOptions = {
92
+ /**
93
+ * Whether to preserved consecutive uppercase letter.
94
+ *
95
+ * @default true
96
+ */
97
+ preserveConsecutiveUppercase?: boolean;
98
+ };
99
+ /**
100
+ * Convert an array of words to camel-case.
101
+ */
102
+ type CamelCaseFromArray<Words extends string[], Options extends CamelCaseOptions, OutputString extends string = ''> = Words extends [infer FirstWord extends string, ...infer RemainingWords extends string[]] ? Options['preserveConsecutiveUppercase'] extends true ? `${Capitalize<FirstWord>}${CamelCaseFromArray<RemainingWords, Options>}` : `${Capitalize<Lowercase<FirstWord>>}${CamelCaseFromArray<RemainingWords, Options>}` : OutputString;
103
+ /**
104
+ * Convert a string literal to camel-case.
105
+ *
106
+ * This can be useful when, for example, converting some kebab-cased command-line flags or a snake-cased database result.
107
+ *
108
+ * By default, consecutive uppercase letter are preserved. See {@link CamelCaseOptions.preserveConsecutiveUppercase preserveConsecutiveUppercase} option to change this behaviour.
109
+ *
110
+ * @example
111
+ * ```
112
+ * import type {CamelCase} from 'type-fest';
113
+ *
114
+ * // Simple
115
+ *
116
+ * const someVariable: CamelCase<'foo-bar'> = 'fooBar';
117
+ *
118
+ * // Advanced
119
+ *
120
+ * type CamelCasedProperties<T> = {
121
+ * [K in keyof T as CamelCase<K>]: T[K]
122
+ * };
123
+ *
124
+ * interface RawOptions {
125
+ * 'dry-run': boolean;
126
+ * 'full_family_name': string;
127
+ * foo: number;
128
+ * BAR: string;
129
+ * QUZ_QUX: number;
130
+ * 'OTHER-FIELD': boolean;
131
+ * }
132
+ *
133
+ * const dbResult: CamelCasedProperties<RawOptions> = {
134
+ * dryRun: true,
135
+ * fullFamilyName: 'bar.js',
136
+ * foo: 123,
137
+ * bar: 'foo',
138
+ * quzQux: 6,
139
+ * otherField: false
140
+ * };
141
+ * ```
142
+ *
143
+ * @category Change case
144
+ * @category Template literal
145
+ */
146
+ type CamelCase<Type, Options extends CamelCaseOptions = {
147
+ preserveConsecutiveUppercase: true;
148
+ }> = Type extends string ? string extends Type ? Type : Uncapitalize<CamelCaseFromArray<SplitWords<Type extends Uppercase<Type> ? Lowercase<Type> : Type>, Options>> : Type;
149
+ //#endregion
150
+ //#region src/application/models/utilityTypes/unknownArray.d.ts
151
+ /**
152
+ * Represents an array with `unknown` value.
153
+ *
154
+ * Use case: You want a type that all arrays can be assigned to, but you don't care about the value.
155
+ *
156
+ * @example
157
+ * ```
158
+ * import type {UnknownArray} from 'type-fest';
159
+ *
160
+ * type IsArray<T> = T extends UnknownArray ? true : false;
161
+ *
162
+ * type A = IsArray<['foo']>;
163
+ * //=> true
164
+ *
165
+ * type B = IsArray<readonly number[]>;
166
+ * //=> true
167
+ *
168
+ * type C = IsArray<string>;
169
+ * //=> false
170
+ * ```
171
+ *
172
+ * @category Type
173
+ * @category Array
174
+ */
175
+ type UnknownArray = readonly unknown[];
176
+ //#endregion
177
+ //#region src/application/models/utilityTypes/camelCasedPropertiesDeep.d.ts
178
+ /**
179
+ * Convert object properties to camel case recursively.
180
+ *
181
+ * This can be useful when, for example, converting some API types from a different style.
182
+ *
183
+ * @see CamelCasedProperties
184
+ * @see CamelCase
185
+ *
186
+ * @example
187
+ * ```
188
+ * import type {CamelCasedPropertiesDeep} from 'type-fest';
189
+ *
190
+ * interface User {
191
+ * UserId: number;
192
+ * UserName: string;
193
+ * }
194
+ *
195
+ * interface UserWithFriends {
196
+ * UserInfo: User;
197
+ * UserFriends: User[];
198
+ * }
199
+ *
200
+ * const result: CamelCasedPropertiesDeep<UserWithFriends> = {
201
+ * userInfo: {
202
+ * userId: 1,
203
+ * userName: 'Tom',
204
+ * },
205
+ * userFriends: [
206
+ * {
207
+ * userId: 2,
208
+ * userName: 'Jerry',
209
+ * },
210
+ * {
211
+ * userId: 3,
212
+ * userName: 'Spike',
213
+ * },
214
+ * ],
215
+ * };
216
+ * ```
217
+ *
218
+ * @category Change case
219
+ * @category Template literal
220
+ * @category Object
221
+ */
222
+ type CamelCasedPropertiesDeep<Value, Options extends CamelCaseOptions = {
223
+ preserveConsecutiveUppercase: true;
224
+ }> = Value extends Function ? Value : Value extends UnknownArray ? CamelCasedPropertiesArrayDeep<Value> : Value extends Set<infer U> ? Set<CamelCasedPropertiesDeep<U, Options>> : { [K in keyof Value as CamelCase<K, Options>]: CamelCasedPropertiesDeep<Value[K], Options> };
225
+ type CamelCasedPropertiesArrayDeep<Value extends UnknownArray> = Value extends [] ? [] : Value extends [infer U, ...infer V] ? [CamelCasedPropertiesDeep<U>, ...CamelCasedPropertiesDeep<V>] : Value extends readonly [infer U, ...infer V] ? readonly [CamelCasedPropertiesDeep<U>, ...CamelCasedPropertiesDeep<V>] : Value extends readonly [...infer U, infer V] ? [...CamelCasedPropertiesDeep<U>, CamelCasedPropertiesDeep<V>] : Value extends readonly [...infer U, infer V] ? readonly [...CamelCasedPropertiesDeep<U>, CamelCasedPropertiesDeep<V>] : Value extends Array<infer U> ? Array<CamelCasedPropertiesDeep<U>> : Value extends ReadonlyArray<infer U> ? ReadonlyArray<CamelCasedPropertiesDeep<U>> : never;
226
+ //#endregion
227
+ export { BuiltIns, CamelCase, CamelCaseOptions, CamelCasedPropertiesDeep, IsLowerCase, IsNumeric, IsUpperCase, NonRecursiveType, Primitive, SplitWords, Trim, UnknownArray, UpperCaseCharacters, Whitespace, WordSeparators };
228
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtQnpna2ZiTk8uZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlsaXR5VHlwZXMvcHJpbWl0aXZlLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcy90cmltLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcy9pbnRlcm5hbC5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlsaXR5VHlwZXMvc3BsaXRXb3Jkcy5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlsaXR5VHlwZXMvY2FtZWxDYXNlLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcy91bmtub3duQXJyYXkuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzL2NhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTWF0Y2hlcyBhbnkgW3ByaW1pdGl2ZSB2YWx1ZV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9HbG9zc2FyeS9QcmltaXRpdmUpLlxuICpcbiAqIEBjYXRlZ29yeSBUeXBlXG4gKi9cbmV4cG9ydCB0eXBlIFByaW1pdGl2ZSA9IG51bGwgfCB1bmRlZmluZWQgfCBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuIHwgc3ltYm9sIHwgYmlnaW50O1xuIiwiaW1wb3J0IHR5cGUgeyBXaGl0ZXNwYWNlIH0gZnJvbSAnLi9pbnRlcm5hbCc7XG4vKipcbiAqIFJlbW92ZSBzcGFjZXMgZnJvbSB0aGUgbGVmdCBzaWRlLlxuICovXG50eXBlIFRyaW1MZWZ0PFYgZXh0ZW5kcyBzdHJpbmc+ID0gViBleHRlbmRzIGAke1doaXRlc3BhY2V9JHtpbmZlciBSfWAgPyBUcmltTGVmdDxSPiA6IFY7XG4vKipcbiAqIFJlbW92ZSBzcGFjZXMgZnJvbSB0aGUgcmlnaHQgc2lkZS5cbiAqL1xudHlwZSBUcmltUmlnaHQ8ViBleHRlbmRzIHN0cmluZz4gPSBWIGV4dGVuZHMgYCR7aW5mZXIgUn0ke1doaXRlc3BhY2V9YCA/IFRyaW1SaWdodDxSPiA6IFY7XG4vKipcbiAqIFJlbW92ZSBsZWFkaW5nIGFuZCB0cmFpbGluZyBzcGFjZXMgZnJvbSBhIHN0cmluZy5cbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIGltcG9ydCB0eXBlIHtUcmltfSBmcm9tICd0eXBlLWZlc3QnO1xuICpcbiAqIFRyaW08JyBmb28gJz5cbiAqIC8vPT4gJ2ZvbydcbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBTdHJpbmdcbiAqIEBjYXRlZ29yeSBUZW1wbGF0ZSBsaXRlcmFsXG4gKi9cbmV4cG9ydCB0eXBlIFRyaW08ViBleHRlbmRzIHN0cmluZz4gPSBUcmltTGVmdDxUcmltUmlnaHQ8Vj4+O1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHsgUHJpbWl0aXZlIH0gZnJvbSAnLi9wcmltaXRpdmUnO1xuaW1wb3J0IHsgVHJpbSB9IGZyb20gJy4vdHJpbSc7XG4vKipcbiAqIE1hdGNoZXMgYW55IHByaW1pdGl2ZSwgYHZvaWRgLCBgRGF0ZWAsIG9yIGBSZWdFeHBgIHZhbHVlLlxuICovXG5leHBvcnQgdHlwZSBCdWlsdElucyA9IFByaW1pdGl2ZSB8IHZvaWQgfCBEYXRlIHwgUmVnRXhwO1xuLyoqXG4gKiBNYXRjaGVzIG5vbi1yZWN1cnNpdmUgdHlwZXMuXG4gKi9cbmV4cG9ydCB0eXBlIE5vblJlY3Vyc2l2ZVR5cGUgPSBCdWlsdElucyB8IEZ1bmN0aW9uIHwgKG5ldyAoLi4uYXJndW1lbnRzXzogYW55W10pID0+IHVua25vd24pO1xuLyoqXG4gKiBSZXR1cm5zIGEgYm9vbGVhbiBmb3Igd2hldGhlciB0aGUgc3RyaW5nIGlzIG51bWVyaWMuXG4gKlxuICogVGhpcyB0eXBlIGlzIGEgd29ya2Fyb3VuZCBmb3IgW01pY3Jvc29mdC9UeXBlU2NyaXB0IzQ2MTA5XShodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzQ2MTA5I2lzc3VlY29tbWVudC05MzAzMDc5ODcpLlxuICovXG5leHBvcnQgdHlwZSBJc051bWVyaWM8VCBleHRlbmRzIHN0cmluZz4gPSBUIGV4dGVuZHMgYCR7bnVtYmVyfWAgPyBUcmltPFQ+IGV4dGVuZHMgVCA/IHRydWUgOiBmYWxzZSA6IGZhbHNlO1xuLyoqXG4gKiBSZXR1cm5zIGEgYm9vbGVhbiBmb3Igd2hldGhlciB0aGUgc3RyaW5nIGlzIGxvd2VyY2FzZWQuXG4gKi9cbmV4cG9ydCB0eXBlIElzTG93ZXJDYXNlPFQgZXh0ZW5kcyBzdHJpbmc+ID0gVCBleHRlbmRzIExvd2VyY2FzZTxUPiA/IHRydWUgOiBmYWxzZTtcbi8qKlxuICogUmV0dXJucyBhIGJvb2xlYW4gZm9yIHdoZXRoZXIgdGhlIHN0cmluZyBpcyB1cHBlci1jYXNlZC5cbiAqL1xuZXhwb3J0IHR5cGUgSXNVcHBlckNhc2U8VCBleHRlbmRzIHN0cmluZz4gPSBUIGV4dGVuZHMgVXBwZXJjYXNlPFQ+ID8gdHJ1ZSA6IGZhbHNlO1xuZXhwb3J0IHR5cGUgV29yZFNlcGFyYXRvcnMgPSAnLScgfCAnXycgfCBXaGl0ZXNwYWNlO1xuZXhwb3J0IHR5cGUgV2hpdGVzcGFjZSA9ICdcXHV7OX0nIHwgJ1xcdXtBfScgfCAnXFx1e0J9JyB8ICdcXHV7Q30nIHwgJ1xcdXtEfScgfCAnXFx1ezIwfScgfCAnXFx1ezg1fScgfCAnXFx1e0EwfScgfCAnXFx1ezE2ODB9JyB8ICdcXHV7MjAwMH0nIHwgJ1xcdXsyMDAxfScgfCAnXFx1ezIwMDJ9JyB8ICdcXHV7MjAwM30nIHwgJ1xcdXsyMDA0fScgfCAnXFx1ezIwMDV9JyB8ICdcXHV7MjAwNn0nIHwgJ1xcdXsyMDA3fScgfCAnXFx1ezIwMDh9JyB8ICdcXHV7MjAwOX0nIHwgJ1xcdXsyMDBBfScgfCAnXFx1ezIwMjh9JyB8ICdcXHV7MjAyOX0nIHwgJ1xcdXsyMDJGfScgfCAnXFx1ezIwNUZ9JyB8ICdcXHV7MzAwMH0nIHwgJ1xcdXtGRUZGfSc7XG5leHBvcnQgdHlwZSBVcHBlckNhc2VDaGFyYWN0ZXJzID0gJ0EnIHwgJ0InIHwgJ0MnIHwgJ0QnIHwgJ0UnIHwgJ0YnIHwgJ0cnIHwgJ0gnIHwgJ0knIHwgJ0onIHwgJ0snIHwgJ0wnIHwgJ00nIHwgJ04nIHwgJ08nIHwgJ1AnIHwgJ1EnIHwgJ1InIHwgJ1MnIHwgJ1QnIHwgJ1UnIHwgJ1YnIHwgJ1cnIHwgJ1gnIHwgJ1knIHwgJ1onO1xuIiwiaW1wb3J0IHR5cGUgeyBJc0xvd2VyQ2FzZSwgSXNOdW1lcmljLCBJc1VwcGVyQ2FzZSwgV29yZFNlcGFyYXRvcnMgfSBmcm9tICcuL2ludGVybmFsJztcbnR5cGUgU2tpcEVtcHR5V29yZDxXb3JkIGV4dGVuZHMgc3RyaW5nPiA9IFdvcmQgZXh0ZW5kcyAnJyA/IFtdIDogW1dvcmRdO1xudHlwZSBSZW1vdmVMYXN0Q2hhcmFjdGVyPFNlbnRlbmNlIGV4dGVuZHMgc3RyaW5nLCBDaGFyYWN0ZXIgZXh0ZW5kcyBzdHJpbmc+ID0gU2VudGVuY2UgZXh0ZW5kcyBgJHtpbmZlciBMZWZ0U2lkZX0ke0NoYXJhY3Rlcn1gID8gU2tpcEVtcHR5V29yZDxMZWZ0U2lkZT4gOiBuZXZlcjtcbi8qKlxuICogU3BsaXQgYSBzdHJpbmcgKGFsbW9zdCkgbGlrZSBMb2Rhc2gncyBgXy53b3JkcygpYCBmdW5jdGlvbi5cbiAqXG4gKiAtIFNwbGl0IG9uIGVhY2ggd29yZCB0aGF0IGJlZ2lucyB3aXRoIGEgY2FwaXRhbCBsZXR0ZXIuXG4gKiAtIFNwbGl0IG9uIGVhY2gge0BsaW5rIFdvcmRTZXBhcmF0b3JzfS5cbiAqIC0gU3BsaXQgb24gbnVtZXJpYyBzZXF1ZW5jZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gKiB0eXBlIFdvcmRzMCA9IFNwbGl0V29yZHM8J2hlbGxvV29ybGQnPjsgLy8gWydoZWxsbycsICdXb3JsZCddXG4gKiB0eXBlIFdvcmRzMSA9IFNwbGl0V29yZHM8J2hlbGxvV09STEQnPjsgLy8gWydoZWxsbycsICdXT1JMRCddXG4gKiB0eXBlIFdvcmRzMiA9IFNwbGl0V29yZHM8J2hlbGxvLXdvcmxkJz47IC8vIFsnaGVsbG8nLCAnd29ybGQnXVxuICogdHlwZSBXb3JkczMgPSBTcGxpdFdvcmRzPCctLWhlbGxvIHRoZV93b3JsZCc+OyAvLyBbJ2hlbGxvJywgJ3RoZScsICd3b3JsZCddXG4gKiB0eXBlIFdvcmRzNCA9IFNwbGl0V29yZHM8J2xpZmVJczQyJz47IC8vIFsnbGlmZScsICdJcycsICc0MiddXG4gKiBgYGBcbiAqXG4gKiBAaW50ZXJuYWxcbiAqIEBjYXRlZ29yeSBDaGFuZ2UgY2FzZVxuICogQGNhdGVnb3J5IFRlbXBsYXRlIGxpdGVyYWxcbiAqL1xuZXhwb3J0IHR5cGUgU3BsaXRXb3JkczxTZW50ZW5jZSBleHRlbmRzIHN0cmluZywgTGFzdENoYXJhY3RlciBleHRlbmRzIHN0cmluZyA9ICcnLCBDdXJyZW50V29yZCBleHRlbmRzIHN0cmluZyA9ICcnPiA9IFNlbnRlbmNlIGV4dGVuZHMgYCR7aW5mZXIgRmlyc3RDaGFyYWN0ZXJ9JHtpbmZlciBSZW1haW5pbmdDaGFyYWN0ZXJzfWAgPyBGaXJzdENoYXJhY3RlciBleHRlbmRzIFdvcmRTZXBhcmF0b3JzID8gW1xuICAgIC4uLlNraXBFbXB0eVdvcmQ8Q3VycmVudFdvcmQ+LFxuICAgIC4uLlNwbGl0V29yZHM8UmVtYWluaW5nQ2hhcmFjdGVycz5cbl0gOiBMYXN0Q2hhcmFjdGVyIGV4dGVuZHMgJycgPyBTcGxpdFdvcmRzPFJlbWFpbmluZ0NoYXJhY3RlcnMsIEZpcnN0Q2hhcmFjdGVyLCBGaXJzdENoYXJhY3Rlcj4gOiBbXG4gICAgZmFsc2UsXG4gICAgdHJ1ZVxuXSBleHRlbmRzIFtJc051bWVyaWM8TGFzdENoYXJhY3Rlcj4sIElzTnVtZXJpYzxGaXJzdENoYXJhY3Rlcj5dID8gW1xuICAgIC4uLlNraXBFbXB0eVdvcmQ8Q3VycmVudFdvcmQ+LFxuICAgIC4uLlNwbGl0V29yZHM8UmVtYWluaW5nQ2hhcmFjdGVycywgRmlyc3RDaGFyYWN0ZXIsIEZpcnN0Q2hhcmFjdGVyPlxuXSA6IFtcbiAgICB0cnVlLFxuICAgIGZhbHNlXG5dIGV4dGVuZHMgW0lzTnVtZXJpYzxMYXN0Q2hhcmFjdGVyPiwgSXNOdW1lcmljPEZpcnN0Q2hhcmFjdGVyPl0gPyBbXG4gICAgLi4uU2tpcEVtcHR5V29yZDxDdXJyZW50V29yZD4sXG4gICAgLi4uU3BsaXRXb3JkczxSZW1haW5pbmdDaGFyYWN0ZXJzLCBGaXJzdENoYXJhY3RlciwgRmlyc3RDaGFyYWN0ZXI+XG5dIDogW1xuICAgIHRydWUsXG4gICAgdHJ1ZVxuXSBleHRlbmRzIFtJc051bWVyaWM8TGFzdENoYXJhY3Rlcj4sIElzTnVtZXJpYzxGaXJzdENoYXJhY3Rlcj5dID8gU3BsaXRXb3JkczxSZW1haW5pbmdDaGFyYWN0ZXJzLCBGaXJzdENoYXJhY3RlciwgYCR7Q3VycmVudFdvcmR9JHtGaXJzdENoYXJhY3Rlcn1gPiA6IFtcbiAgICB0cnVlLFxuICAgIHRydWVcbl0gZXh0ZW5kcyBbSXNMb3dlckNhc2U8TGFzdENoYXJhY3Rlcj4sIElzVXBwZXJDYXNlPEZpcnN0Q2hhcmFjdGVyPl0gPyBbXG4gICAgLi4uU2tpcEVtcHR5V29yZDxDdXJyZW50V29yZD4sXG4gICAgLi4uU3BsaXRXb3JkczxSZW1haW5pbmdDaGFyYWN0ZXJzLCBGaXJzdENoYXJhY3RlciwgRmlyc3RDaGFyYWN0ZXI+XG5dIDogW1xuICAgIHRydWUsXG4gICAgdHJ1ZVxuXSBleHRlbmRzIFtJc1VwcGVyQ2FzZTxMYXN0Q2hhcmFjdGVyPiwgSXNMb3dlckNhc2U8Rmlyc3RDaGFyYWN0ZXI+XSA/IFtcbiAgICAuLi5SZW1vdmVMYXN0Q2hhcmFjdGVyPEN1cnJlbnRXb3JkLCBMYXN0Q2hhcmFjdGVyPixcbiAgICAuLi5TcGxpdFdvcmRzPFJlbWFpbmluZ0NoYXJhY3RlcnMsIEZpcnN0Q2hhcmFjdGVyLCBgJHtMYXN0Q2hhcmFjdGVyfSR7Rmlyc3RDaGFyYWN0ZXJ9YD5cbl0gOiBTcGxpdFdvcmRzPFJlbWFpbmluZ0NoYXJhY3RlcnMsIEZpcnN0Q2hhcmFjdGVyLCBgJHtDdXJyZW50V29yZH0ke0ZpcnN0Q2hhcmFjdGVyfWA+IDogWy4uLlNraXBFbXB0eVdvcmQ8Q3VycmVudFdvcmQ+XTtcbmV4cG9ydCB7fTtcbiIsImltcG9ydCB7IFNwbGl0V29yZHMgfSBmcm9tICcuL3NwbGl0V29yZHMnO1xuLyoqXG4gKiBDYW1lbENhc2Ugb3B0aW9ucy5cbiAqXG4gKiBAc2VlIHtAbGluayBDYW1lbENhc2V9XG4gKi9cbmV4cG9ydCB0eXBlIENhbWVsQ2FzZU9wdGlvbnMgPSB7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBwcmVzZXJ2ZWQgY29uc2VjdXRpdmUgdXBwZXJjYXNlIGxldHRlci5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBwcmVzZXJ2ZUNvbnNlY3V0aXZlVXBwZXJjYXNlPzogYm9vbGVhbjtcbn07XG4vKipcbiAqIENvbnZlcnQgYW4gYXJyYXkgb2Ygd29yZHMgdG8gY2FtZWwtY2FzZS5cbiAqL1xudHlwZSBDYW1lbENhc2VGcm9tQXJyYXk8V29yZHMgZXh0ZW5kcyBzdHJpbmdbXSwgT3B0aW9ucyBleHRlbmRzIENhbWVsQ2FzZU9wdGlvbnMsIE91dHB1dFN0cmluZyBleHRlbmRzIHN0cmluZyA9ICcnPiA9IFdvcmRzIGV4dGVuZHMgW2luZmVyIEZpcnN0V29yZCBleHRlbmRzIHN0cmluZywgLi4uaW5mZXIgUmVtYWluaW5nV29yZHMgZXh0ZW5kcyBzdHJpbmdbXV0gPyBPcHRpb25zWydwcmVzZXJ2ZUNvbnNlY3V0aXZlVXBwZXJjYXNlJ10gZXh0ZW5kcyB0cnVlID8gYCR7Q2FwaXRhbGl6ZTxGaXJzdFdvcmQ+fSR7Q2FtZWxDYXNlRnJvbUFycmF5PFJlbWFpbmluZ1dvcmRzLCBPcHRpb25zPn1gIDogYCR7Q2FwaXRhbGl6ZTxMb3dlcmNhc2U8Rmlyc3RXb3JkPj59JHtDYW1lbENhc2VGcm9tQXJyYXk8UmVtYWluaW5nV29yZHMsIE9wdGlvbnM+fWAgOiBPdXRwdXRTdHJpbmc7XG4vKipcbiAqIENvbnZlcnQgYSBzdHJpbmcgbGl0ZXJhbCB0byBjYW1lbC1jYXNlLlxuICpcbiAqIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuLCBmb3IgZXhhbXBsZSwgY29udmVydGluZyBzb21lIGtlYmFiLWNhc2VkIGNvbW1hbmQtbGluZSBmbGFncyBvciBhIHNuYWtlLWNhc2VkIGRhdGFiYXNlIHJlc3VsdC5cbiAqXG4gKiBCeSBkZWZhdWx0LCBjb25zZWN1dGl2ZSB1cHBlcmNhc2UgbGV0dGVyIGFyZSBwcmVzZXJ2ZWQuIFNlZSB7QGxpbmsgQ2FtZWxDYXNlT3B0aW9ucy5wcmVzZXJ2ZUNvbnNlY3V0aXZlVXBwZXJjYXNlIHByZXNlcnZlQ29uc2VjdXRpdmVVcHBlcmNhc2V9IG9wdGlvbiB0byBjaGFuZ2UgdGhpcyBiZWhhdmlvdXIuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYFxuICogaW1wb3J0IHR5cGUge0NhbWVsQ2FzZX0gZnJvbSAndHlwZS1mZXN0JztcbiAqXG4gKiAvLyBTaW1wbGVcbiAqXG4gKiBjb25zdCBzb21lVmFyaWFibGU6IENhbWVsQ2FzZTwnZm9vLWJhcic+ID0gJ2Zvb0Jhcic7XG4gKlxuICogLy8gQWR2YW5jZWRcbiAqXG4gKiB0eXBlIENhbWVsQ2FzZWRQcm9wZXJ0aWVzPFQ+ID0ge1xuICogXHRbSyBpbiBrZXlvZiBUIGFzIENhbWVsQ2FzZTxLPl06IFRbS11cbiAqIH07XG4gKlxuICogaW50ZXJmYWNlIFJhd09wdGlvbnMge1xuICogXHQnZHJ5LXJ1bic6IGJvb2xlYW47XG4gKiBcdCdmdWxsX2ZhbWlseV9uYW1lJzogc3RyaW5nO1xuICogXHRmb286IG51bWJlcjtcbiAqIFx0QkFSOiBzdHJpbmc7XG4gKiBcdFFVWl9RVVg6IG51bWJlcjtcbiAqIFx0J09USEVSLUZJRUxEJzogYm9vbGVhbjtcbiAqIH1cbiAqXG4gKiBjb25zdCBkYlJlc3VsdDogQ2FtZWxDYXNlZFByb3BlcnRpZXM8UmF3T3B0aW9ucz4gPSB7XG4gKiBcdGRyeVJ1bjogdHJ1ZSxcbiAqIFx0ZnVsbEZhbWlseU5hbWU6ICdiYXIuanMnLFxuICogXHRmb286IDEyMyxcbiAqIFx0YmFyOiAnZm9vJyxcbiAqIFx0cXV6UXV4OiA2LFxuICogXHRvdGhlckZpZWxkOiBmYWxzZVxuICogfTtcbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBDaGFuZ2UgY2FzZVxuICogQGNhdGVnb3J5IFRlbXBsYXRlIGxpdGVyYWxcbiAqL1xuZXhwb3J0IHR5cGUgQ2FtZWxDYXNlPFR5cGUsIE9wdGlvbnMgZXh0ZW5kcyBDYW1lbENhc2VPcHRpb25zID0ge1xuICAgIHByZXNlcnZlQ29uc2VjdXRpdmVVcHBlcmNhc2U6IHRydWU7XG59PiA9IFR5cGUgZXh0ZW5kcyBzdHJpbmcgPyBzdHJpbmcgZXh0ZW5kcyBUeXBlID8gVHlwZSA6IFVuY2FwaXRhbGl6ZTxDYW1lbENhc2VGcm9tQXJyYXk8U3BsaXRXb3JkczxUeXBlIGV4dGVuZHMgVXBwZXJjYXNlPFR5cGU+ID8gTG93ZXJjYXNlPFR5cGU+IDogVHlwZT4sIE9wdGlvbnM+PiA6IFR5cGU7XG5leHBvcnQge307XG4iLCIvKipcbiAqIFJlcHJlc2VudHMgYW4gYXJyYXkgd2l0aCBgdW5rbm93bmAgdmFsdWUuXG4gKlxuICogVXNlIGNhc2U6IFlvdSB3YW50IGEgdHlwZSB0aGF0IGFsbCBhcnJheXMgY2FuIGJlIGFzc2lnbmVkIHRvLCBidXQgeW91IGRvbid0IGNhcmUgYWJvdXQgdGhlIHZhbHVlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIGltcG9ydCB0eXBlIHtVbmtub3duQXJyYXl9IGZyb20gJ3R5cGUtZmVzdCc7XG4gKlxuICogdHlwZSBJc0FycmF5PFQ+ID0gVCBleHRlbmRzIFVua25vd25BcnJheSA/IHRydWUgOiBmYWxzZTtcbiAqXG4gKiB0eXBlIEEgPSBJc0FycmF5PFsnZm9vJ10+O1xuICogLy89PiB0cnVlXG4gKlxuICogdHlwZSBCID0gSXNBcnJheTxyZWFkb25seSBudW1iZXJbXT47XG4gKiAvLz0+IHRydWVcbiAqXG4gKiB0eXBlIEMgPSBJc0FycmF5PHN0cmluZz47XG4gKiAvLz0+IGZhbHNlXG4gKiBgYGBcbiAqXG4gKiBAY2F0ZWdvcnkgVHlwZVxuICogQGNhdGVnb3J5IEFycmF5XG4gKi9cbmV4cG9ydCB0eXBlIFVua25vd25BcnJheSA9IHJlYWRvbmx5IHVua25vd25bXTtcbiIsImltcG9ydCB7IENhbWVsQ2FzZSwgQ2FtZWxDYXNlT3B0aW9ucyB9IGZyb20gJy4vY2FtZWxDYXNlJztcbmltcG9ydCB7IFVua25vd25BcnJheSB9IGZyb20gJy4vdW5rbm93bkFycmF5Jztcbi8qKlxuICogQ29udmVydCBvYmplY3QgcHJvcGVydGllcyB0byBjYW1lbCBjYXNlIHJlY3Vyc2l2ZWx5LlxuICpcbiAqIFRoaXMgY2FuIGJlIHVzZWZ1bCB3aGVuLCBmb3IgZXhhbXBsZSwgY29udmVydGluZyBzb21lIEFQSSB0eXBlcyBmcm9tIGEgZGlmZmVyZW50IHN0eWxlLlxuICpcbiAqIEBzZWUgQ2FtZWxDYXNlZFByb3BlcnRpZXNcbiAqIEBzZWUgQ2FtZWxDYXNlXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYFxuICogaW1wb3J0IHR5cGUge0NhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcH0gZnJvbSAndHlwZS1mZXN0JztcbiAqXG4gKiBpbnRlcmZhY2UgVXNlciB7XG4gKiBcdFVzZXJJZDogbnVtYmVyO1xuICogXHRVc2VyTmFtZTogc3RyaW5nO1xuICogfVxuICpcbiAqIGludGVyZmFjZSBVc2VyV2l0aEZyaWVuZHMge1xuICogXHRVc2VySW5mbzogVXNlcjtcbiAqIFx0VXNlckZyaWVuZHM6IFVzZXJbXTtcbiAqIH1cbiAqXG4gKiBjb25zdCByZXN1bHQ6IENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVc2VyV2l0aEZyaWVuZHM+ID0ge1xuICogXHR1c2VySW5mbzoge1xuICogXHRcdHVzZXJJZDogMSxcbiAqIFx0XHR1c2VyTmFtZTogJ1RvbScsXG4gKiBcdH0sXG4gKiBcdHVzZXJGcmllbmRzOiBbXG4gKiBcdFx0e1xuICogXHRcdFx0dXNlcklkOiAyLFxuICogXHRcdFx0dXNlck5hbWU6ICdKZXJyeScsXG4gKiBcdFx0fSxcbiAqIFx0XHR7XG4gKiBcdFx0XHR1c2VySWQ6IDMsXG4gKiBcdFx0XHR1c2VyTmFtZTogJ1NwaWtlJyxcbiAqIFx0XHR9LFxuICogXHRdLFxuICogfTtcbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBDaGFuZ2UgY2FzZVxuICogQGNhdGVnb3J5IFRlbXBsYXRlIGxpdGVyYWxcbiAqIEBjYXRlZ29yeSBPYmplY3RcbiAqL1xuZXhwb3J0IHR5cGUgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFZhbHVlLCBPcHRpb25zIGV4dGVuZHMgQ2FtZWxDYXNlT3B0aW9ucyA9IHtcbiAgICBwcmVzZXJ2ZUNvbnNlY3V0aXZlVXBwZXJjYXNlOiB0cnVlO1xufT4gPSBWYWx1ZSBleHRlbmRzIEZ1bmN0aW9uID8gVmFsdWUgOiBWYWx1ZSBleHRlbmRzIFVua25vd25BcnJheSA/IENhbWVsQ2FzZWRQcm9wZXJ0aWVzQXJyYXlEZWVwPFZhbHVlPiA6IFZhbHVlIGV4dGVuZHMgU2V0PGluZmVyIFU+ID8gU2V0PENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVLCBPcHRpb25zPj4gOiB7XG4gICAgW0sgaW4ga2V5b2YgVmFsdWUgYXMgQ2FtZWxDYXNlPEssIE9wdGlvbnM+XTogQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFZhbHVlW0tdLCBPcHRpb25zPjtcbn07XG50eXBlIENhbWVsQ2FzZWRQcm9wZXJ0aWVzQXJyYXlEZWVwPFZhbHVlIGV4dGVuZHMgVW5rbm93bkFycmF5PiA9IFZhbHVlIGV4dGVuZHMgW10gPyBbXSA6IFZhbHVlIGV4dGVuZHMgW2luZmVyIFUsIC4uLmluZmVyIFZdID8gW0NhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVPiwgLi4uQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFY+XSA6IFZhbHVlIGV4dGVuZHMgcmVhZG9ubHkgW2luZmVyIFUsIC4uLmluZmVyIFZdID8gcmVhZG9ubHkgW0NhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVPiwgLi4uQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFY+XSA6IFZhbHVlIGV4dGVuZHMgcmVhZG9ubHkgWy4uLmluZmVyIFUsIGluZmVyIFZdID8gWy4uLkNhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVPiwgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFY+XSA6IFZhbHVlIGV4dGVuZHMgcmVhZG9ubHkgWy4uLmluZmVyIFUsIGluZmVyIFZdID8gcmVhZG9ubHkgWy4uLkNhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVPiwgQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFY+XSA6IFZhbHVlIGV4dGVuZHMgQXJyYXk8aW5mZXIgVT4gPyBBcnJheTxDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8VT4+IDogVmFsdWUgZXh0ZW5kcyBSZWFkb25seUFycmF5PGluZmVyIFU+ID8gUmVhZG9ubHlBcnJheTxDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8VT4+IDogbmV2ZXI7XG5leHBvcnQge307XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFFLFlBQUEsQ0FBQSxJQUFBOzs7O0FDQ0YsSUFBRSxXQUFBO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDRixJQUFJLFlBQVk7Q0FBQztPQUFXO09BQU87T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNuQyxJQUFFLE9BQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBOzs7O0FDREYsSUFBRSxXQUFBO0NBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNGLElBQVcsbUJBQW1CO0NBQUM7T0FBVztPQUFnQjtDQUFDO0FBQzNELElBQUUsWUFBQTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNGLElBQVcsY0FBYztDQUFDO09BQVc7T0FBUztPQUFTO0NBQUE7QUFDdkQsSUFBRSxjQUFBO0NBQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNGLElBQVcsaUJBQWlCLENBQUMsV0FBQyxXQUFBO0FBQzlCLElBQUUsYUFBQSxDQUFBLElBQUE7QUFDRixJQUFXLHNCQUFzQixDQUFDLElBQUk7Ozs7QUNSdEMsSUFBSSxnQkFBZ0I7Q0FBQztPQUFXO09BQVk7Q0FBSztBQUNqRCxJQUFJLHNCQUFzQjtDQUFDO09BQVc7T0FBZ0I7T0FBaUI7T0FBZ0I7Q0FBYztBQUNyRyxJQUFFLGFBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7Ozs7QUNGRixJQUFFLG1CQUFBLENBQUEsSUFBQTtBQUNGLElBQUkscUJBQWdCO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNwQixJQUFDLFlBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBOzs7O0FDSEQsSUFBRSxlQUFBLENBQUEsSUFBQTs7OztBQ0VGLElBQUUsMkJBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7QUFDRixJQUFJLGdDQUFnQztDQUFDO09BQVc7T0FBTTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBIn0=
@@ -0,0 +1,39 @@
1
+ import { PageVisitCategory } from "@spiffy-ai/commerce-api-client";
2
+
3
+ //#region src/application/models/variantInfo/plpInfo.d.ts
4
+ interface PLPInfo {
5
+ plpId: string;
6
+ }
7
+ //#endregion
8
+ //#region src/application/models/variantInfo/pageVisitInfo.d.ts
9
+ interface PageVisitInfo {
10
+ url: string;
11
+ pageVisitCategory: PageVisitCategory;
12
+ }
13
+ //#endregion
14
+ //#region src/application/models/variantInfo/productInfo.d.ts
15
+ interface ProductInfo {
16
+ productId: string;
17
+ parentProductId?: string;
18
+ url?: string;
19
+ }
20
+ //#endregion
21
+ //#region src/application/models/variantInfo/variantInfo.d.ts
22
+ type VariantType = 'pdp' | 'plp' | 'page_visit';
23
+ type VariantInfo = PDPVariantInfo | PLPVariantInfo | PageVisitVariantInfo;
24
+ type PDPVariantInfo = {
25
+ variantId: string;
26
+ variant: 'pdp';
27
+ } & ProductInfo;
28
+ type PLPVariantInfo = {
29
+ variantId: string;
30
+ variant: 'plp';
31
+ url?: string;
32
+ } & PLPInfo;
33
+ type PageVisitVariantInfo = {
34
+ variantId: string;
35
+ variant: 'page_visit';
36
+ } & PageVisitInfo;
37
+ //#endregion
38
+ export { PDPVariantInfo, PLPInfo, PLPVariantInfo, PageVisitInfo, PageVisitVariantInfo, ProductInfo, VariantInfo, VariantType };
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtQ0tLa1RzbXMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3ZhcmlhbnRJbmZvL3BscEluZm8uZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdmFyaWFudEluZm8vcGFnZVZpc2l0SW5mby5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YXJpYW50SW5mby9wcm9kdWN0SW5mby5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy92YXJpYW50SW5mby92YXJpYW50SW5mby5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgUExQSW5mbyB7XG4gICAgcGxwSWQ6IHN0cmluZztcbn1cbiIsImltcG9ydCB7IFBhZ2VWaXNpdENhdGVnb3J5IH0gZnJvbSAnQHNwaWZmeS1haS9jb21tZXJjZS1hcGktY2xpZW50JztcbmV4cG9ydCBpbnRlcmZhY2UgUGFnZVZpc2l0SW5mbyB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgcGFnZVZpc2l0Q2F0ZWdvcnk6IFBhZ2VWaXNpdENhdGVnb3J5O1xufVxuIiwiZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0SW5mbyB7XG4gICAgcHJvZHVjdElkOiBzdHJpbmc7XG4gICAgcGFyZW50UHJvZHVjdElkPzogc3RyaW5nO1xuICAgIHVybD86IHN0cmluZztcbn1cbiIsImltcG9ydCB7IFBMUEluZm8gfSBmcm9tICcuL3BscEluZm8nO1xuaW1wb3J0IHsgUGFnZVZpc2l0SW5mbyB9IGZyb20gJy4vcGFnZVZpc2l0SW5mbyc7XG5pbXBvcnQgeyBQcm9kdWN0SW5mbyB9IGZyb20gJy4vcHJvZHVjdEluZm8nO1xuZXhwb3J0IHR5cGUgVmFyaWFudFR5cGUgPSAncGRwJyB8ICdwbHAnIHwgJ3BhZ2VfdmlzaXQnO1xuZXhwb3J0IHR5cGUgVmFyaWFudEluZm8gPSBQRFBWYXJpYW50SW5mbyB8IFBMUFZhcmlhbnRJbmZvIHwgUGFnZVZpc2l0VmFyaWFudEluZm87XG5leHBvcnQgdHlwZSBQRFBWYXJpYW50SW5mbyA9IHtcbiAgICB2YXJpYW50SWQ6IHN0cmluZztcbiAgICB2YXJpYW50OiAncGRwJztcbn0gJiBQcm9kdWN0SW5mbztcbmV4cG9ydCB0eXBlIFBMUFZhcmlhbnRJbmZvID0ge1xuICAgIHZhcmlhbnRJZDogc3RyaW5nO1xuICAgIHZhcmlhbnQ6ICdwbHAnO1xuICAgIHVybD86IHN0cmluZztcbn0gJiBQTFBJbmZvO1xuZXhwb3J0IHR5cGUgUGFnZVZpc2l0VmFyaWFudEluZm8gPSB7XG4gICAgdmFyaWFudElkOiBzdHJpbmc7XG4gICAgdmFyaWFudDogJ3BhZ2VfdmlzaXQnO1xufSAmIFBhZ2VWaXNpdEluZm87XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVcsVUFBVSxDQUFDLElBQUc7Ozs7QUNDekIsSUFBVyxnQkFBZ0IsQ0FBQyxXQUFHLGtCQUFBOzs7O0FDRC9CLElBQVcsY0FBYyxDQUFDLElBQUc7Ozs7QUNHN0IsSUFBVyxjQUFjLENBQUMsR0FBRztBQUM3QixJQUFXLGNBQWM7Q0FBQztPQUFVO09BQXNCO09BQXNCO0NBQUE7QUFDaEYsSUFBVyxpQkFBaUIsQ0FBQyxVQUFBLFlBQUE7QUFDN0IsSUFBVyxpQkFBVSxDQUFBLFVBQUEsUUFBQTtBQUNyQixJQUFXLHVCQUFPLENBQUEsVUFBQSxjQUFBIn0=
@@ -0,0 +1,72 @@
1
+ import { EnviveConfig, OrgConfig } from "./orgConfigResults--dAwtw3W.js";
2
+ import { GenerationParams } from "./index-DXpgMVpp.js";
3
+ import * as react0 from "react";
4
+ import React, { Dispatch, ReactNode, SetStateAction } from "react";
5
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
6
+
7
+ //#region src/contexts/chatContext.d.ts
8
+ interface ChatContextParams {}
9
+ declare const ChatContext: react0.Context<ChatContextParams | undefined>;
10
+ declare const ChatContextProvider: ({
11
+ children
12
+ }: {
13
+ children: ReactNode;
14
+ }) => react_jsx_runtime0.JSX.Element;
15
+ //#endregion
16
+ //#region src/contexts/systemSettingsContext.d.ts
17
+ declare const defaultGenerationParams: GenerationParams;
18
+ interface SystemSettingsContextParams {
19
+ generationParams?: GenerationParams;
20
+ showDebugBar?: boolean;
21
+ endpointURL?: string;
22
+ setGenerationParams: Dispatch<SetStateAction<GenerationParams | undefined>>;
23
+ }
24
+ interface SystemSettingsContextProviderProps {
25
+ children: ReactNode;
26
+ generationParams?: GenerationParams;
27
+ showDebugBar?: boolean;
28
+ }
29
+ declare const SystemSettingsContext: react0.Context<SystemSettingsContextParams | undefined>;
30
+ declare const SystemSettingsContextProvider: ({
31
+ children,
32
+ generationParams,
33
+ showDebugBar
34
+ }: SystemSettingsContextProviderProps) => react_jsx_runtime0.JSX.Element;
35
+ //#endregion
36
+ //#region src/contexts/enviveConfigContext.d.ts
37
+ interface EnviveConfigProviderProps {
38
+ children: ReactNode;
39
+ amplitudeApiKey?: string;
40
+ dataResidency?: string;
41
+ env?: string;
42
+ baseUrl?: string;
43
+ reactAppName?: string;
44
+ cdnUrl?: string;
45
+ contextSource?: string;
46
+ orgLevelApiKey?: string;
47
+ orgShortName?: string;
48
+ identifyingPrefix: string;
49
+ }
50
+ declare const EnviveConfigProvider: React.FC<EnviveConfigProviderProps>;
51
+ declare const useEnviveConfig: () => EnviveConfig;
52
+ //#endregion
53
+ //#region src/contexts/orgConfigContext.d.ts
54
+ interface OrgConfigContextType {
55
+ orgConfig: OrgConfig | undefined;
56
+ loading: boolean;
57
+ error: Error | undefined;
58
+ }
59
+ interface OrgConfigProviderProps {
60
+ children: ReactNode;
61
+ }
62
+ declare const OrgConfigProvider: React.FC<OrgConfigProviderProps>;
63
+ declare const useOrgConfig: () => OrgConfigContextType;
64
+ //#endregion
65
+ //#region src/contexts/enviveCssContext.d.ts
66
+ interface EnviveCssProviderProps {
67
+ children: ReactNode;
68
+ }
69
+ declare const EnviveCssProvider: React.FC<EnviveCssProviderProps>;
70
+ //#endregion
71
+ export { ChatContext, type ChatContextParams, ChatContextProvider, EnviveConfigProvider, EnviveCssProvider, OrgConfigProvider, SystemSettingsContext, SystemSettingsContextProvider, defaultGenerationParams, useEnviveConfig, useOrgConfig };
72
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtQ0tVcG55SlEuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvY29udGV4dHMvY2hhdENvbnRleHQuZC50cyIsIi4uL3NyYy9jb250ZXh0cy9zeXN0ZW1TZXR0aW5nc0NvbnRleHQuZC50cyIsIi4uL3NyYy9jb250ZXh0cy9lbnZpdmVDb25maWdDb250ZXh0LmQudHMiLCIuLi9zcmMvY29udGV4dHMvb3JnQ29uZmlnQ29udGV4dC5kLnRzIiwiLi4vc3JjL2NvbnRleHRzL2Vudml2ZUNzc0NvbnRleHQuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmludGVyZmFjZSBDaGF0Q29udGV4dFBhcmFtcyB7XG59XG5kZWNsYXJlIGNvbnN0IENoYXRDb250ZXh0OiBpbXBvcnQoXCJyZWFjdFwiKS5Db250ZXh0PENoYXRDb250ZXh0UGFyYW1zIHwgdW5kZWZpbmVkPjtcbmRlY2xhcmUgY29uc3QgQ2hhdENvbnRleHRQcm92aWRlcjogKHsgY2hpbGRyZW4gfToge1xuICAgIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59KSA9PiBpbXBvcnQoXCJyZWFjdC9qc3gtcnVudGltZVwiKS5KU1guRWxlbWVudDtcbmV4cG9ydCB7IENoYXRDb250ZXh0LCBDaGF0Q29udGV4dFByb3ZpZGVyIH07XG5leHBvcnQgdHlwZSB7IENoYXRDb250ZXh0UGFyYW1zIH07XG4iLCJpbXBvcnQgeyBEaXNwYXRjaCwgUmVhY3ROb2RlLCBTZXRTdGF0ZUFjdGlvbiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgR2VuZXJhdGlvblBhcmFtcyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzXCI7XG5kZWNsYXJlIGNvbnN0IGRlZmF1bHRHZW5lcmF0aW9uUGFyYW1zOiBHZW5lcmF0aW9uUGFyYW1zO1xuaW50ZXJmYWNlIFN5c3RlbVNldHRpbmdzQ29udGV4dFBhcmFtcyB7XG4gICAgZ2VuZXJhdGlvblBhcmFtcz86IEdlbmVyYXRpb25QYXJhbXM7XG4gICAgc2hvd0RlYnVnQmFyPzogYm9vbGVhbjtcbiAgICBlbmRwb2ludFVSTD86IHN0cmluZztcbiAgICBzZXRHZW5lcmF0aW9uUGFyYW1zOiBEaXNwYXRjaDxTZXRTdGF0ZUFjdGlvbjxHZW5lcmF0aW9uUGFyYW1zIHwgdW5kZWZpbmVkPj47XG59XG5pbnRlcmZhY2UgU3lzdGVtU2V0dGluZ3NDb250ZXh0UHJvdmlkZXJQcm9wcyB7XG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgICBnZW5lcmF0aW9uUGFyYW1zPzogR2VuZXJhdGlvblBhcmFtcztcbiAgICBzaG93RGVidWdCYXI/OiBib29sZWFuO1xufVxuZGVjbGFyZSBjb25zdCBTeXN0ZW1TZXR0aW5nc0NvbnRleHQ6IGltcG9ydChcInJlYWN0XCIpLkNvbnRleHQ8U3lzdGVtU2V0dGluZ3NDb250ZXh0UGFyYW1zIHwgdW5kZWZpbmVkPjtcbmRlY2xhcmUgY29uc3QgU3lzdGVtU2V0dGluZ3NDb250ZXh0UHJvdmlkZXI6ICh7IGNoaWxkcmVuLCBnZW5lcmF0aW9uUGFyYW1zLCBzaG93RGVidWdCYXIsIH06IFN5c3RlbVNldHRpbmdzQ29udGV4dFByb3ZpZGVyUHJvcHMpID0+IGltcG9ydChcInJlYWN0L2pzeC1ydW50aW1lXCIpLkpTWC5FbGVtZW50O1xuZXhwb3J0IHsgU3lzdGVtU2V0dGluZ3NDb250ZXh0UHJvdmlkZXIsIFN5c3RlbVNldHRpbmdzQ29udGV4dCwgZGVmYXVsdEdlbmVyYXRpb25QYXJhbXMsIH07XG4iLCJpbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IEVudml2ZUNvbmZpZyB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbnRlcmZhY2UgRW52aXZlQ29uZmlnUHJvdmlkZXJQcm9wcyB7XG4gICAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgICBhbXBsaXR1ZGVBcGlLZXk/OiBzdHJpbmc7XG4gICAgZGF0YVJlc2lkZW5jeT86IHN0cmluZztcbiAgICBlbnY/OiBzdHJpbmc7XG4gICAgYmFzZVVybD86IHN0cmluZztcbiAgICByZWFjdEFwcE5hbWU/OiBzdHJpbmc7XG4gICAgY2RuVXJsPzogc3RyaW5nO1xuICAgIGNvbnRleHRTb3VyY2U/OiBzdHJpbmc7XG4gICAgb3JnTGV2ZWxBcGlLZXk/OiBzdHJpbmc7XG4gICAgb3JnU2hvcnROYW1lPzogc3RyaW5nO1xuICAgIGlkZW50aWZ5aW5nUHJlZml4OiBzdHJpbmc7XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBFbnZpdmVDb25maWdQcm92aWRlcjogUmVhY3QuRkM8RW52aXZlQ29uZmlnUHJvdmlkZXJQcm9wcz47XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VFbnZpdmVDb25maWc6ICgpID0+IEVudml2ZUNvbmZpZztcbmV4cG9ydCB7fTtcbiIsImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IE9yZ0NvbmZpZyBhcyBPcmdDb25maWdUeXBlIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL29yZ0NvbmZpZ1Jlc3VsdHNcIjtcbmludGVyZmFjZSBPcmdDb25maWdDb250ZXh0VHlwZSB7XG4gICAgb3JnQ29uZmlnOiBPcmdDb25maWdUeXBlIHwgdW5kZWZpbmVkO1xuICAgIGxvYWRpbmc6IGJvb2xlYW47XG4gICAgZXJyb3I6IEVycm9yIHwgdW5kZWZpbmVkO1xufVxuaW50ZXJmYWNlIE9yZ0NvbmZpZ1Byb3ZpZGVyUHJvcHMge1xuICAgIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBPcmdDb25maWdQcm92aWRlcjogUmVhY3QuRkM8T3JnQ29uZmlnUHJvdmlkZXJQcm9wcz47XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VPcmdDb25maWc6ICgpID0+IE9yZ0NvbmZpZ0NvbnRleHRUeXBlO1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IFJlYWN0LCB7IFJlYWN0Tm9kZSB9IGZyb20gXCJyZWFjdFwiO1xuaW50ZXJmYWNlIEVudml2ZUNzc1Byb3ZpZGVyUHJvcHMge1xuICAgIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG59XG5leHBvcnQgZGVjbGFyZSBjb25zdCBFbnZpdmVDc3NQcm92aWRlcjogUmVhY3QuRkM8RW52aXZlQ3NzUHJvdmlkZXJQcm9wcz47XG5leHBvcnQge307XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQSxJQUFJLG9CQUFvQixDQUFDLElBQUk7QUFDN0IsSUFBSSxjQUFjO0NBQUM7T0FBVztPQUFvQixPQUFBO0NBQUE7QUFDbEQsSUFBSSxzQkFBbUI7Q0FBQTtPQUFBO09BQUE7T0FBQSxtQkFBQSxJQUFBO0NBQUE7Ozs7QUNEdkIsSUFBSSwwQkFBMEIsQ0FBQyxXQUFRLGlCQUFBO0FBQ3ZDLElBQUksOEJBQXNCO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQzFCLElBQUkscUNBQW9CO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDeEIsSUFBSSx3QkFBd0I7Q0FBQztPQUFXO09BQW1DLE9BQUk7Q0FBQTtBQUMvRSxJQUFBLGdDQUFBO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBLG1CQUFBLElBQUE7Q0FBQTs7OztBQ05BLElBQUksNEJBQTRCLENBQUMsV0FBRyxVQUFBO0FBQ3BDLElBQVcsdUJBQVk7Q0FBQTtPQUFBO09BQUEsTUFBQTtDQUFBO0FBQ3ZCLElBQVcsa0JBQWlCLENBQUEsV0FBQSxhQUFBOzs7O0FDRjVCLElBQUksdUJBQXVCO0NBQUM7T0FBRztPQUFBO0NBQUE7QUFDL0IsSUFBSSx5QkFBeUIsQ0FBQyxXQUFVLFVBQUE7QUFDeEMsSUFBVyxvQkFBUztDQUFBO09BQUE7T0FBQSxNQUFBO0NBQUE7QUFDcEIsSUFBVyxlQUFlLENBQUMsV0FBQyxxQkFBQTs7OztBQ0o1QixJQUFJLHlCQUF5QixDQUFDLFdBQUcsVUFBQTtBQUNqQyxJQUFXLG9CQUFZO0NBQUE7T0FBQTtPQUFBLE1BQUE7Q0FBQSJ9
@@ -0,0 +1,25 @@
1
+ //#region src/config/locators/components/chat/index.d.ts
2
+ declare const CHAT_CONTAINER_ID = "#spiffy-modal-container";
3
+ declare const CHAT_HEADER_CONTAINER_TESTID = "spiffy-chat-header-container";
4
+ declare const CHAT_HEADER_CLOSE_BUTTON_TESTID = "spiffy-chat-header-close-button";
5
+ declare const CHAT_MESSAGE_CONTAINER_TESTID = "spiffy-chat-message-container";
6
+ declare const CHAT_MESSAGE_DIVIDER_TESTID = "spiffy-chat-message-divider";
7
+ declare const CHAT_MODAL_TESTID = "spiffy-modal-shadow-dom-container";
8
+ declare const CHAT_REPLY_INPUT_TESTID = "spiffy-chat-reply-input";
9
+ declare const CHAT_REPLY_INPUT_SEND_BUTTON_TESTID = "spiffy-chat-reply-input-send-button";
10
+ declare const CHAT_VIEW_PREVIOUS_MESSAGES_TESTID = "spiffy-chat-view-previous-messages";
11
+ declare const DYNAMIC_CAROUSEL_TESTID = "dynamic-carousel";
12
+ declare const IMAGE_STACK_TESTID = "spiffy-product-comparison-image-stack";
13
+ declare const IMAGE_STACK_FIRST_IMAGE_TESTID = "spiffy-product-comparison-image-stack-first-image";
14
+ declare const IMAGE_STACK_SECOND_IMAGE_TESTID = "spiffy-product-comparison-image-stack-second-image";
15
+ declare const LOADING_MESSAGE_CONTAINER_TESTID = "spiffy-messages-loading-container";
16
+ declare const MOBILE_CHAT_HEADER_TESTID = "spiffy-mobile-chat-header";
17
+ declare const SCROLLABLE_SUGGESTIONS_TESTID = "spiffy-scrollable-suggestions";
18
+ declare const SUGGESTION_BAR_TESTID = "spiffy-suggestion-bar";
19
+ declare const SUGGESTION_BAR_BUTTON_TESTID = "spiffy-suggestion-bar-button";
20
+ declare const SUGGESTION_BUTTON_TESTID = "spiffy-suggestion-button";
21
+ declare const TAG_TESTID = "spiffy-tag";
22
+ declare const ANIMATED_MESSAGES_TESTID = "spiffy-animated-messages";
23
+ //#endregion
24
+ export { ANIMATED_MESSAGES_TESTID, CHAT_CONTAINER_ID, CHAT_HEADER_CLOSE_BUTTON_TESTID, CHAT_HEADER_CONTAINER_TESTID, CHAT_MESSAGE_CONTAINER_TESTID, CHAT_MESSAGE_DIVIDER_TESTID, CHAT_MODAL_TESTID, CHAT_REPLY_INPUT_SEND_BUTTON_TESTID, CHAT_REPLY_INPUT_TESTID, CHAT_VIEW_PREVIOUS_MESSAGES_TESTID, DYNAMIC_CAROUSEL_TESTID, IMAGE_STACK_FIRST_IMAGE_TESTID, IMAGE_STACK_SECOND_IMAGE_TESTID, IMAGE_STACK_TESTID, LOADING_MESSAGE_CONTAINER_TESTID, MOBILE_CHAT_HEADER_TESTID, SCROLLABLE_SUGGESTIONS_TESTID, SUGGESTION_BAR_BUTTON_TESTID, SUGGESTION_BAR_TESTID, SUGGESTION_BUTTON_TESTID, TAG_TESTID };
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtQ1NJT1FELUEuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnL2xvY2F0b3JzL2NvbXBvbmVudHMvY2hhdC9pbmRleC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWNsYXJlIGNvbnN0IENIQVRfQ09OVEFJTkVSX0lEID0gXCIjc3BpZmZ5LW1vZGFsLWNvbnRhaW5lclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgQ0hBVF9IRUFERVJfQ09OVEFJTkVSX1RFU1RJRCA9IFwic3BpZmZ5LWNoYXQtaGVhZGVyLWNvbnRhaW5lclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgQ0hBVF9IRUFERVJfQ0xPU0VfQlVUVE9OX1RFU1RJRCA9IFwic3BpZmZ5LWNoYXQtaGVhZGVyLWNsb3NlLWJ1dHRvblwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgQ0hBVF9NRVNTQUdFX0NPTlRBSU5FUl9URVNUSUQgPSBcInNwaWZmeS1jaGF0LW1lc3NhZ2UtY29udGFpbmVyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBDSEFUX01FU1NBR0VfRElWSURFUl9URVNUSUQgPSBcInNwaWZmeS1jaGF0LW1lc3NhZ2UtZGl2aWRlclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgQ0hBVF9NT0RBTF9URVNUSUQgPSBcInNwaWZmeS1tb2RhbC1zaGFkb3ctZG9tLWNvbnRhaW5lclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgQ0hBVF9SRVBMWV9JTlBVVF9URVNUSUQgPSBcInNwaWZmeS1jaGF0LXJlcGx5LWlucHV0XCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBDSEFUX1JFUExZX0lOUFVUX1NFTkRfQlVUVE9OX1RFU1RJRCA9IFwic3BpZmZ5LWNoYXQtcmVwbHktaW5wdXQtc2VuZC1idXR0b25cIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IENIQVRfVklFV19QUkVWSU9VU19NRVNTQUdFU19URVNUSUQgPSBcInNwaWZmeS1jaGF0LXZpZXctcHJldmlvdXMtbWVzc2FnZXNcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IERZTkFNSUNfQ0FST1VTRUxfVEVTVElEID0gXCJkeW5hbWljLWNhcm91c2VsXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBJTUFHRV9TVEFDS19URVNUSUQgPSBcInNwaWZmeS1wcm9kdWN0LWNvbXBhcmlzb24taW1hZ2Utc3RhY2tcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IElNQUdFX1NUQUNLX0ZJUlNUX0lNQUdFX1RFU1RJRCA9IFwic3BpZmZ5LXByb2R1Y3QtY29tcGFyaXNvbi1pbWFnZS1zdGFjay1maXJzdC1pbWFnZVwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgSU1BR0VfU1RBQ0tfU0VDT05EX0lNQUdFX1RFU1RJRCA9IFwic3BpZmZ5LXByb2R1Y3QtY29tcGFyaXNvbi1pbWFnZS1zdGFjay1zZWNvbmQtaW1hZ2VcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IExPQURJTkdfTUVTU0FHRV9DT05UQUlORVJfVEVTVElEID0gXCJzcGlmZnktbWVzc2FnZXMtbG9hZGluZy1jb250YWluZXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IE1PQklMRV9DSEFUX0hFQURFUl9URVNUSUQgPSBcInNwaWZmeS1tb2JpbGUtY2hhdC1oZWFkZXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFNDUk9MTEFCTEVfU1VHR0VTVElPTlNfVEVTVElEID0gXCJzcGlmZnktc2Nyb2xsYWJsZS1zdWdnZXN0aW9uc1wiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgU1VHR0VTVElPTl9CQVJfVEVTVElEID0gXCJzcGlmZnktc3VnZ2VzdGlvbi1iYXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFNVR0dFU1RJT05fQkFSX0JVVFRPTl9URVNUSUQgPSBcInNwaWZmeS1zdWdnZXN0aW9uLWJhci1idXR0b25cIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFNVR0dFU1RJT05fQlVUVE9OX1RFU1RJRCA9IFwic3BpZmZ5LXN1Z2dlc3Rpb24tYnV0dG9uXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBUQUdfVEVTVElEID0gXCJzcGlmZnktdGFnXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBBTklNQVRFRF9NRVNTQUdFU19URVNUSUQgPSBcInNwaWZmeS1hbmltYXRlZC1tZXNzYWdlc1wiO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBVyxvQkFBb0IsQ0FBQyxHQUFHO0FBQ25DLElBQVcsK0JBQStCLENBQUMsR0FBRztBQUM5QyxJQUFXLGtDQUFrQyxDQUFDLEdBQUc7QUFDakQsSUFBVyxnQ0FBZ0MsQ0FBQyxHQUFHO0FBQy9DLElBQVcsOEJBQThCLENBQUMsR0FBRztBQUM3QyxJQUFXLG9CQUFvQixDQUFDLEdBQUc7QUFDbkMsSUFBVywwQkFBMEIsQ0FBQyxHQUFHO0FBQ3pDLElBQVcsc0NBQXNDLENBQUMsR0FBRztBQUNyRCxJQUFXLHFDQUFxQyxDQUFDLEdBQUc7QUFDcEQsSUFBVywwQkFBMEIsQ0FBQyxHQUFHO0FBQ3pDLElBQVcscUJBQXFCLENBQUMsR0FBRztBQUNwQyxJQUFXLGlDQUFpQyxDQUFDLEdBQUc7QUFDaEQsSUFBVyxrQ0FBa0MsQ0FBQyxHQUFHO0FBQ2pELElBQVcsbUNBQW1DLENBQUMsR0FBRztBQUNsRCxJQUFXLDRCQUE0QixDQUFDLEdBQUc7QUFDM0MsSUFBVyxnQ0FBZ0MsQ0FBQyxHQUFHO0FBQy9DLElBQVcsd0JBQXdCLENBQUMsR0FBRztBQUN2QyxJQUFXLCtCQUErQixDQUFDLEdBQUc7QUFDOUMsSUFBVywyQkFBMkIsQ0FBQyxHQUFHO0FBQzFDLElBQVcsYUFBYSxDQUFDLEdBQUc7QUFDNUIsSUFBVywyQkFBMkIsQ0FBQyxHQUFHIn0=
@@ -0,0 +1,203 @@
1
+ import { ProductResponseAttributes } from "./index-Cx9e-fRi.js";
2
+ import { Message, SearchParams, SearchResult } from "./index-DXpgMVpp.js";
3
+ import * as jotai21 from "jotai";
4
+
5
+ //#region src/atoms/search/types.d.ts
6
+ declare enum ProductSorting {
7
+ FEATURED = "featured",
8
+ PRICE_ASC = "price_asc",
9
+ PRICE_DESC = "price_desc",
10
+ }
11
+ type ChatSearchStateType = 'entrypoint' | 'initializing-search' | 'product-page';
12
+ type ChatSearchFilter = {
13
+ filterId: string;
14
+ displayName: string;
15
+ items: ChatSearchFilterItem[];
16
+ };
17
+ type ChatSearchFilterItem = {
18
+ filterItemId: string;
19
+ displayName: string;
20
+ productCount: number;
21
+ isSelected: boolean;
22
+ };
23
+ //#endregion
24
+ //#region src/atoms/search/chatSearch.d.ts
25
+ declare const chatSearchStateAtom: jotai21.PrimitiveAtom<ChatSearchStateType> & {
26
+ init: ChatSearchStateType;
27
+ };
28
+ declare const chatSearchHasProductsAtom: jotai21.PrimitiveAtom<boolean> & {
29
+ init: boolean;
30
+ };
31
+ declare const chatSearchProductSortingAtom: jotai21.PrimitiveAtom<ProductSorting> & {
32
+ init: ProductSorting;
33
+ };
34
+ type ChatSearchTurn = {
35
+ id: string;
36
+ generatedQuery?: string;
37
+ productCount: number;
38
+ productList: ProductResponseAttributes["attributes"][];
39
+ filterList: string[];
40
+ messages: Message[];
41
+ };
42
+ declare const chatSearchIsLoadingAtom: jotai21.PrimitiveAtom<boolean> & {
43
+ init: boolean;
44
+ };
45
+ type SelectedChatSearchFilterOption = {
46
+ id: string;
47
+ displayName: string;
48
+ filterId: string;
49
+ filterItemId: string;
50
+ };
51
+ declare const selectedFilterOptionsAtom: jotai21.PrimitiveAtom<SelectedChatSearchFilterOption[]> & {
52
+ init: SelectedChatSearchFilterOption[];
53
+ };
54
+ declare const additiveDynamicFiltersAtom: jotai21.Atom<boolean>;
55
+ declare const createChatSearchFilterOption: (filterId: string, filterItemId: string, displayName: string) => SelectedChatSearchFilterOption;
56
+ declare const chatSearchParamsAtom: jotai21.WritableAtom<{
57
+ id: string | null;
58
+ query: string | null;
59
+ }, [value: {
60
+ id: string | null;
61
+ query: string | null;
62
+ }], void>;
63
+ declare const chatSearchQueryAtom: jotai21.WritableAtom<string | null, [value: string | null], void>;
64
+ declare const chatSearchIdAtom: jotai21.WritableAtom<string | null, [value: string | null], void>;
65
+ declare const ChatSearchTurnAtom: jotai21.Atom<{
66
+ productList: {
67
+ averageRating?: number | undefined;
68
+ colors?: string[] | undefined;
69
+ description?: string | undefined;
70
+ filters?: {
71
+ [x: string]: string[];
72
+ } | undefined;
73
+ id: string;
74
+ imageUrl?: string | undefined;
75
+ imageUrls?: string[] | undefined;
76
+ isForGrid?: boolean | undefined;
77
+ metadata?: {
78
+ label: string;
79
+ value: string;
80
+ }[] | undefined;
81
+ numberReviews?: number | undefined;
82
+ originalPrice?: number | undefined;
83
+ salePrice?: number | undefined;
84
+ sizes?: string[] | undefined;
85
+ title: string;
86
+ url: string;
87
+ }[];
88
+ productCount: number;
89
+ id: string;
90
+ generatedQuery?: string;
91
+ filterList: string[];
92
+ messages: Message[];
93
+ } | null>;
94
+ declare const chatSearchProducts: jotai21.Atom<{
95
+ averageRating?: number | undefined;
96
+ colors?: string[] | undefined;
97
+ description?: string | undefined;
98
+ filters?: {
99
+ [x: string]: string[];
100
+ } | undefined;
101
+ id: string;
102
+ imageUrl?: string | undefined;
103
+ imageUrls?: string[] | undefined;
104
+ isForGrid?: boolean | undefined;
105
+ metadata?: {
106
+ label: string;
107
+ value: string;
108
+ }[] | undefined;
109
+ numberReviews?: number | undefined;
110
+ originalPrice?: number | undefined;
111
+ salePrice?: number | undefined;
112
+ sizes?: string[] | undefined;
113
+ title: string;
114
+ url: string;
115
+ }[]>;
116
+ declare const chatSearchFiltersAtom: jotai21.Atom<ChatSearchFilter[]>;
117
+ declare const setSearchParams: (query: string) => void;
118
+ declare const getSearchParamsAtom: jotai21.Atom<{
119
+ es: string | null;
120
+ esq: string | null;
121
+ }>;
122
+ declare const initiateChatSearchAtom: jotai21.WritableAtom<null, [query: string], void> & {
123
+ init: null;
124
+ };
125
+ declare const handleSearchResultsAtom: jotai21.WritableAtom<null, [message: Message | undefined], void> & {
126
+ init: null;
127
+ };
128
+ declare const setChatSearchParamsAtom: jotai21.WritableAtom<null, [query: string], void> & {
129
+ init: null;
130
+ };
131
+ //#endregion
132
+ //#region src/atoms/search/searchAPI.d.ts
133
+ type SelectedFilterOption = {
134
+ id: string;
135
+ displayName: string;
136
+ filterId: string;
137
+ filterItemId: string;
138
+ };
139
+ interface SearchState {
140
+ data: SearchResult | null;
141
+ loading: boolean;
142
+ error: string | null;
143
+ lastQuery: string | null;
144
+ }
145
+ declare const searchAtom: jotai21.PrimitiveAtom<SearchState> & {
146
+ init: SearchState;
147
+ };
148
+ declare const searchProductSortingAtom: jotai21.PrimitiveAtom<ProductSorting> & {
149
+ init: ProductSorting;
150
+ };
151
+ declare const searchSelectedFiltersAtom: jotai21.PrimitiveAtom<SelectedFilterOption[]> & {
152
+ init: SelectedFilterOption[];
153
+ };
154
+ declare const createFilterOption: (filterId: string, filterItemId: string, displayName: string) => SelectedFilterOption;
155
+ declare const searchParamsAtom: jotai21.WritableAtom<{
156
+ id: string | null;
157
+ query: string | null;
158
+ }, [value: {
159
+ id: string | null;
160
+ query: string | null;
161
+ }], void>;
162
+ declare const internalSearchSystemStateAtom: jotai21.PrimitiveAtom<boolean> & {
163
+ init: boolean;
164
+ };
165
+ declare const searchSystemAtom: jotai21.WritableAtom<boolean, [value: boolean], void>;
166
+ declare const filteredSearchProductsAtom: jotai21.Atom<{
167
+ averageRating?: number | undefined;
168
+ colors?: string[] | undefined;
169
+ description?: string | undefined;
170
+ filters?: {
171
+ [x: string]: string[];
172
+ } | undefined;
173
+ id: string;
174
+ imageUrl?: string | undefined;
175
+ imageUrls?: string[] | undefined;
176
+ isForGrid?: boolean | undefined;
177
+ metadata?: {
178
+ label: string;
179
+ value: string;
180
+ }[] | undefined;
181
+ numberReviews?: number | undefined;
182
+ originalPrice?: number | undefined;
183
+ salePrice?: number | undefined;
184
+ sizes?: string[] | undefined;
185
+ title: string;
186
+ url: string;
187
+ }[]>;
188
+ declare const searchFiltersAtom: jotai21.Atom<ChatSearchFilter[]>;
189
+ declare const addSearchFilterAtom: jotai21.WritableAtom<null, [filter: SelectedFilterOption], void> & {
190
+ init: null;
191
+ };
192
+ declare const removeSearchFilterAtom: jotai21.WritableAtom<null, [filterId: string], void> & {
193
+ init: null;
194
+ };
195
+ declare const clearSearchFiltersAtom: jotai21.WritableAtom<null, [], void> & {
196
+ init: null;
197
+ };
198
+ declare const performSearchAtom: jotai21.WritableAtom<null, [params: SearchParams, allowRedirect?: unknown], Promise<void>> & {
199
+ init: null;
200
+ };
201
+ //#endregion
202
+ export { ChatSearchTurn, ChatSearchTurnAtom, SelectedChatSearchFilterOption, SelectedFilterOption, addSearchFilterAtom, additiveDynamicFiltersAtom, chatSearchFiltersAtom, chatSearchHasProductsAtom, chatSearchIdAtom, chatSearchIsLoadingAtom, chatSearchParamsAtom, chatSearchProductSortingAtom, chatSearchProducts, chatSearchQueryAtom, chatSearchStateAtom, clearSearchFiltersAtom, createChatSearchFilterOption, createFilterOption, filteredSearchProductsAtom, getSearchParamsAtom, handleSearchResultsAtom, initiateChatSearchAtom, internalSearchSystemStateAtom, performSearchAtom, removeSearchFilterAtom, searchAtom, searchFiltersAtom, searchParamsAtom, searchProductSortingAtom, searchSelectedFiltersAtom, searchSystemAtom, selectedFilterOptionsAtom, setChatSearchParamsAtom, setSearchParams };
203
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtQ2JKWk9FVTQuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvYXRvbXMvc2VhcmNoL3R5cGVzLmQudHMiLCIuLi9zcmMvYXRvbXMvc2VhcmNoL2NoYXRTZWFyY2guZC50cyIsIi4uL3NyYy9hdG9tcy9zZWFyY2gvc2VhcmNoQVBJLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlY2xhcmUgZW51bSBQcm9kdWN0U29ydGluZyB7XG4gICAgRkVBVFVSRUQgPSBcImZlYXR1cmVkXCIsXG4gICAgUFJJQ0VfQVNDID0gXCJwcmljZV9hc2NcIixcbiAgICBQUklDRV9ERVNDID0gXCJwcmljZV9kZXNjXCJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFByb2R1Y3RTb3J0aW5nTmFtZXM6IHtcbiAgICBmZWF0dXJlZDogc3RyaW5nO1xuICAgIHByaWNlX2FzYzogc3RyaW5nO1xuICAgIHByaWNlX2Rlc2M6IHN0cmluZztcbn07XG5leHBvcnQgdHlwZSBDaGF0U2VhcmNoU3RhdGVUeXBlID0gJ2VudHJ5cG9pbnQnIHwgJ2luaXRpYWxpemluZy1zZWFyY2gnIHwgJ3Byb2R1Y3QtcGFnZSc7XG5leHBvcnQgdHlwZSBDaGF0U2VhcmNoRmlsdGVyID0ge1xuICAgIGZpbHRlcklkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU6IHN0cmluZztcbiAgICBpdGVtczogQ2hhdFNlYXJjaEZpbHRlckl0ZW1bXTtcbn07XG5leHBvcnQgdHlwZSBDaGF0U2VhcmNoRmlsdGVySXRlbSA9IHtcbiAgICBmaWx0ZXJJdGVtSWQ6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIHByb2R1Y3RDb3VudDogbnVtYmVyO1xuICAgIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG59O1xuZXhwb3J0IGludGVyZmFjZSBDaGF0U2VhcmNoU29ydFByb3BzIHtcbiAgICBvcHRpb25zOiBQcm9kdWN0U29ydGluZ1tdO1xufVxuZXhwb3J0IGludGVyZmFjZSBDaGF0U2VhcmNoU29ydE1vZGFsUHJvcHMgZXh0ZW5kcyBDaGF0U2VhcmNoU29ydFByb3BzIHtcbiAgICBvcGVuOiBib29sZWFuO1xuICAgIGhhbmRsZVBvcHVwU3RhdGU6IChzdGF0ZTogYm9vbGVhbikgPT4gdm9pZDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU29ydE9wdGlvbiB7XG4gICAgdmFsdWU6IFByb2R1Y3RTb3J0aW5nO1xuICAgIGlzU2VsZWN0ZWQ6IGJvb2xlYW47XG4gICAgb25TZWxlY3Q6IChvcHRpb246IFByb2R1Y3RTb3J0aW5nKSA9PiB2b2lkO1xufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBDaGF0U2VhcmNoU29ydE92ZXJyaWRlcyB7XG4gICAgREVTS1RPUF9GSUxURVJfQ09OVEFJTkVSID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLWNvbnRhaW5lclwiLFxuICAgIERFU0tUT1BfRklMVEVSX1NFTEVDVF9DT01QT05FTlQgPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItc2VsZWN0LWNvbXBvbmVudFwiLFxuICAgIERFU0tUT1BfRklMVEVSX1NFTEVDVF9JQ09OID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLXNlbGVjdC1pY29uXCIsXG4gICAgTU9CSUxFX0ZJTFRFUl9CVVRUT04gPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItYnV0dG9uXCIsXG4gICAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9DT05UQUlORVIgPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtY29udGFpbmVyXCIsXG4gICAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9IRUFERVIgPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtaGVhZGVyXCIsXG4gICAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9TRUxFQ1RJT04gPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtc2VsZWN0aW9uXCIsXG4gICAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9PUFRJT04gPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtb3B0aW9uXCIsXG4gICAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9PUFRJT05fUElMTCA9IFwic3BpZmZ5LWNoYXQtc2VhcmNoLWZpbHRlci1tb2RhbC1vcHRpb24tcGlsbFwiLFxuICAgIE1PQklMRV9GSUxURVJfTU9EQUxfT1BUSU9OX0RFU0NSSVBUSU9OID0gXCJzcGlmZnktY2hhdC1zZWFyY2gtZmlsdGVyLW1vZGFsLW9wdGlvbi1kZXNjXCIsXG4gICAgTU9CSUxFX0ZJTFRFUl9NT0RBTF9BUFBMWV9CVVRUT04gPSBcInNwaWZmeS1jaGF0LXNlYXJjaC1maWx0ZXItbW9kYWwtYXBwbHktYnV0dG9uXCJcbn1cbiIsImltcG9ydCB7IE1lc3NhZ2UsIFByb2R1Y3RSZXNwb25zZUF0dHJpYnV0ZXMgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuaW1wb3J0IHsgQ2hhdFNlYXJjaFN0YXRlVHlwZSwgUHJvZHVjdFNvcnRpbmcgfSBmcm9tIFwiLi90eXBlc1wiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY2hhdFNlYXJjaFN0YXRlQXRvbTogaW1wb3J0KFwiam90YWlcIikuUHJpbWl0aXZlQXRvbTxDaGF0U2VhcmNoU3RhdGVUeXBlPiAmIHtcbiAgICBpbml0OiBDaGF0U2VhcmNoU3RhdGVUeXBlO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNoYXRTZWFyY2hIYXNQcm9kdWN0c0F0b206IGltcG9ydChcImpvdGFpXCIpLlByaW1pdGl2ZUF0b208Ym9vbGVhbj4gJiB7XG4gICAgaW5pdDogYm9vbGVhbjtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjaGF0U2VhcmNoUHJvZHVjdFNvcnRpbmdBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5QcmltaXRpdmVBdG9tPFByb2R1Y3RTb3J0aW5nPiAmIHtcbiAgICBpbml0OiBQcm9kdWN0U29ydGluZztcbn07XG5leHBvcnQgdHlwZSBDaGF0U2VhcmNoVHVybiA9IHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGdlbmVyYXRlZFF1ZXJ5Pzogc3RyaW5nO1xuICAgIHByb2R1Y3RDb3VudDogbnVtYmVyO1xuICAgIHByb2R1Y3RMaXN0OiBQcm9kdWN0UmVzcG9uc2VBdHRyaWJ1dGVzW1wiYXR0cmlidXRlc1wiXVtdO1xuICAgIGZpbHRlckxpc3Q6IHN0cmluZ1tdO1xuICAgIG1lc3NhZ2VzOiBNZXNzYWdlW107XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY2hhdFNlYXJjaElzTG9hZGluZ0F0b206IGltcG9ydChcImpvdGFpXCIpLlByaW1pdGl2ZUF0b208Ym9vbGVhbj4gJiB7XG4gICAgaW5pdDogYm9vbGVhbjtcbn07XG5leHBvcnQgdHlwZSBTZWxlY3RlZENoYXRTZWFyY2hGaWx0ZXJPcHRpb24gPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIGZpbHRlcklkOiBzdHJpbmc7XG4gICAgZmlsdGVySXRlbUlkOiBzdHJpbmc7XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgc2VsZWN0ZWRGaWx0ZXJPcHRpb25zQXRvbTogaW1wb3J0KFwiam90YWlcIikuUHJpbWl0aXZlQXRvbTxTZWxlY3RlZENoYXRTZWFyY2hGaWx0ZXJPcHRpb25bXT4gJiB7XG4gICAgaW5pdDogU2VsZWN0ZWRDaGF0U2VhcmNoRmlsdGVyT3B0aW9uW107XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgYWRkaXRpdmVEeW5hbWljRmlsdGVyc0F0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208Ym9vbGVhbj47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjcmVhdGVDaGF0U2VhcmNoRmlsdGVyT3B0aW9uOiAoZmlsdGVySWQ6IHN0cmluZywgZmlsdGVySXRlbUlkOiBzdHJpbmcsIGRpc3BsYXlOYW1lOiBzdHJpbmcpID0+IFNlbGVjdGVkQ2hhdFNlYXJjaEZpbHRlck9wdGlvbjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNoYXRTZWFyY2hQYXJhbXNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208e1xuICAgIGlkOiBzdHJpbmcgfCBudWxsO1xuICAgIHF1ZXJ5OiBzdHJpbmcgfCBudWxsO1xufSwgW3ZhbHVlOiB7XG4gICAgaWQ6IHN0cmluZyB8IG51bGw7XG4gICAgcXVlcnk6IHN0cmluZyB8IG51bGw7XG59XSwgdm9pZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjaGF0U2VhcmNoUXVlcnlBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208c3RyaW5nIHwgbnVsbCwgW3ZhbHVlOiBzdHJpbmcgfCBudWxsXSwgdm9pZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjaGF0U2VhcmNoSWRBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208c3RyaW5nIHwgbnVsbCwgW3ZhbHVlOiBzdHJpbmcgfCBudWxsXSwgdm9pZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBDaGF0U2VhcmNoVHVybkF0b206IGltcG9ydChcImpvdGFpXCIpLkF0b208e1xuICAgIHByb2R1Y3RMaXN0OiB7XG4gICAgICAgIGF2ZXJhZ2VSYXRpbmc/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgICAgIGNvbG9ycz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgICAgICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgICAgZmlsdGVycz86IHtcbiAgICAgICAgICAgIFt4OiBzdHJpbmddOiBzdHJpbmdbXTtcbiAgICAgICAgfSB8IHVuZGVmaW5lZDtcbiAgICAgICAgaWQ6IHN0cmluZztcbiAgICAgICAgaW1hZ2VVcmw/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICAgIGltYWdlVXJscz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgICAgICBpc0ZvckdyaWQ/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgICAgICBtZXRhZGF0YT86IHtcbiAgICAgICAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAgICAgICB2YWx1ZTogc3RyaW5nO1xuICAgICAgICB9W10gfCB1bmRlZmluZWQ7XG4gICAgICAgIG51bWJlclJldmlld3M/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgICAgIG9yaWdpbmFsUHJpY2U/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgICAgIHNhbGVQcmljZT86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICAgICAgc2l6ZXM/OiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICAgICAgdGl0bGU6IHN0cmluZztcbiAgICAgICAgdXJsOiBzdHJpbmc7XG4gICAgfVtdO1xuICAgIHByb2R1Y3RDb3VudDogbnVtYmVyO1xuICAgIGlkOiBzdHJpbmc7XG4gICAgZ2VuZXJhdGVkUXVlcnk/OiBzdHJpbmc7XG4gICAgZmlsdGVyTGlzdDogc3RyaW5nW107XG4gICAgbWVzc2FnZXM6IE1lc3NhZ2VbXTtcbn0gfCBudWxsPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNoYXRTZWFyY2hQcm9kdWN0czogaW1wb3J0KFwiam90YWlcIikuQXRvbTx7XG4gICAgYXZlcmFnZVJhdGluZz86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBjb2xvcnM/OiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBmaWx0ZXJzPzoge1xuICAgICAgICBbeDogc3RyaW5nXTogc3RyaW5nW107XG4gICAgfSB8IHVuZGVmaW5lZDtcbiAgICBpZDogc3RyaW5nO1xuICAgIGltYWdlVXJsPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGltYWdlVXJscz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgIGlzRm9yR3JpZD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgbWV0YWRhdGE/OiB7XG4gICAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgfVtdIHwgdW5kZWZpbmVkO1xuICAgIG51bWJlclJldmlld3M/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgb3JpZ2luYWxQcmljZT86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBzYWxlUHJpY2U/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgc2l6ZXM/OiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xufVtdPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNoYXRTZWFyY2hGaWx0ZXJzQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTxpbXBvcnQoXCIuL3R5cGVzXCIpLkNoYXRTZWFyY2hGaWx0ZXJbXT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBzZXRTZWFyY2hQYXJhbXM6IChxdWVyeTogc3RyaW5nKSA9PiB2b2lkO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgZ2V0U2VhcmNoUGFyYW1zQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTx7XG4gICAgZXM6IHN0cmluZyB8IG51bGw7XG4gICAgZXNxOiBzdHJpbmcgfCBudWxsO1xufT47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpbml0aWF0ZUNoYXRTZWFyY2hBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208bnVsbCwgW3F1ZXJ5OiBzdHJpbmddLCB2b2lkPiAmIHtcbiAgICBpbml0OiBudWxsO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGhhbmRsZVNlYXJjaFJlc3VsdHNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208bnVsbCwgW21lc3NhZ2U6IE1lc3NhZ2UgfCB1bmRlZmluZWRdLCB2b2lkPiAmIHtcbiAgICBpbml0OiBudWxsO1xufTtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHNldENoYXRTZWFyY2hQYXJhbXNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208bnVsbCwgW3F1ZXJ5OiBzdHJpbmddLCB2b2lkPiAmIHtcbiAgICBpbml0OiBudWxsO1xufTtcbiIsImltcG9ydCB7IFNlYXJjaFJlc3VsdCwgU2VhcmNoUGFyYW1zIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvYXBpL3NlYXJjaFwiO1xuaW1wb3J0IHsgUHJvZHVjdFNvcnRpbmcgfSBmcm9tIFwiLi90eXBlc1wiO1xuZXhwb3J0IHR5cGUgU2VsZWN0ZWRGaWx0ZXJPcHRpb24gPSB7XG4gICAgaWQ6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICAgIGZpbHRlcklkOiBzdHJpbmc7XG4gICAgZmlsdGVySXRlbUlkOiBzdHJpbmc7XG59O1xuaW50ZXJmYWNlIFNlYXJjaFN0YXRlIHtcbiAgICBkYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsO1xuICAgIGxvYWRpbmc6IGJvb2xlYW47XG4gICAgZXJyb3I6IHN0cmluZyB8IG51bGw7XG4gICAgbGFzdFF1ZXJ5OiBzdHJpbmcgfCBudWxsO1xufVxuZXhwb3J0IGRlY2xhcmUgY29uc3Qgc2VhcmNoQXRvbTogaW1wb3J0KFwiam90YWlcIikuUHJpbWl0aXZlQXRvbTxTZWFyY2hTdGF0ZT4gJiB7XG4gICAgaW5pdDogU2VhcmNoU3RhdGU7XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgc2VhcmNoUHJvZHVjdFNvcnRpbmdBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5QcmltaXRpdmVBdG9tPFByb2R1Y3RTb3J0aW5nPiAmIHtcbiAgICBpbml0OiBQcm9kdWN0U29ydGluZztcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBzZWFyY2hTZWxlY3RlZEZpbHRlcnNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5QcmltaXRpdmVBdG9tPFNlbGVjdGVkRmlsdGVyT3B0aW9uW10+ICYge1xuICAgIGluaXQ6IFNlbGVjdGVkRmlsdGVyT3B0aW9uW107XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY3JlYXRlRmlsdGVyT3B0aW9uOiAoZmlsdGVySWQ6IHN0cmluZywgZmlsdGVySXRlbUlkOiBzdHJpbmcsIGRpc3BsYXlOYW1lOiBzdHJpbmcpID0+IFNlbGVjdGVkRmlsdGVyT3B0aW9uO1xuZXhwb3J0IGRlY2xhcmUgY29uc3Qgc2VhcmNoUGFyYW1zQXRvbTogaW1wb3J0KFwiam90YWlcIikuV3JpdGFibGVBdG9tPHtcbiAgICBpZDogc3RyaW5nIHwgbnVsbDtcbiAgICBxdWVyeTogc3RyaW5nIHwgbnVsbDtcbn0sIFt2YWx1ZToge1xuICAgIGlkOiBzdHJpbmcgfCBudWxsO1xuICAgIHF1ZXJ5OiBzdHJpbmcgfCBudWxsO1xufV0sIHZvaWQ+O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaW50ZXJuYWxTZWFyY2hTeXN0ZW1TdGF0ZUF0b206IGltcG9ydChcImpvdGFpXCIpLlByaW1pdGl2ZUF0b208Ym9vbGVhbj4gJiB7XG4gICAgaW5pdDogYm9vbGVhbjtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBzZWFyY2hTeXN0ZW1BdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208Ym9vbGVhbiwgW3ZhbHVlOiBib29sZWFuXSwgdm9pZD47XG5leHBvcnQgZGVjbGFyZSBjb25zdCBmaWx0ZXJlZFNlYXJjaFByb2R1Y3RzQXRvbTogaW1wb3J0KFwiam90YWlcIikuQXRvbTx7XG4gICAgYXZlcmFnZVJhdGluZz86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBjb2xvcnM/OiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBmaWx0ZXJzPzoge1xuICAgICAgICBbeDogc3RyaW5nXTogc3RyaW5nW107XG4gICAgfSB8IHVuZGVmaW5lZDtcbiAgICBpZDogc3RyaW5nO1xuICAgIGltYWdlVXJsPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGltYWdlVXJscz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuICAgIGlzRm9yR3JpZD86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgbWV0YWRhdGE/OiB7XG4gICAgICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgICAgIHZhbHVlOiBzdHJpbmc7XG4gICAgfVtdIHwgdW5kZWZpbmVkO1xuICAgIG51bWJlclJldmlld3M/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgb3JpZ2luYWxQcmljZT86IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBzYWxlUHJpY2U/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgc2l6ZXM/OiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHVybDogc3RyaW5nO1xufVtdPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHNlYXJjaEZpbHRlcnNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5BdG9tPGltcG9ydChcIi4vdHlwZXNcIikuQ2hhdFNlYXJjaEZpbHRlcltdPjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGFkZFNlYXJjaEZpbHRlckF0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxudWxsLCBbZmlsdGVyOiBTZWxlY3RlZEZpbHRlck9wdGlvbl0sIHZvaWQ+ICYge1xuICAgIGluaXQ6IG51bGw7XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgcmVtb3ZlU2VhcmNoRmlsdGVyQXRvbTogaW1wb3J0KFwiam90YWlcIikuV3JpdGFibGVBdG9tPG51bGwsIFtmaWx0ZXJJZDogc3RyaW5nXSwgdm9pZD4gJiB7XG4gICAgaW5pdDogbnVsbDtcbn07XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjbGVhclNlYXJjaEZpbHRlcnNBdG9tOiBpbXBvcnQoXCJqb3RhaVwiKS5Xcml0YWJsZUF0b208bnVsbCwgW10sIHZvaWQ+ICYge1xuICAgIGluaXQ6IG51bGw7XG59O1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgcGVyZm9ybVNlYXJjaEF0b206IGltcG9ydChcImpvdGFpXCIpLldyaXRhYmxlQXRvbTxudWxsLCBbcGFyYW1zOiBTZWFyY2hQYXJhbXMsIGFsbG93UmVkaXJlY3Q/OiB1bmtub3duXSwgUHJvbWlzZTx2b2lkPj4gJiB7XG4gICAgaW5pdDogbnVsbDtcbn07XG5leHBvcnQge307XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsSUFBVyxpQkFBaUIsQ0FBQyxJQUFJO0FBRWpDLElBQVcsc0JBQWdCLENBQUEsSUFBQTtBQUMzQixJQUFXLG1CQUFpQixDQUFBLFdBQUEscUJBQUE7QUFDNUIsSUFBQSx1QkFBQSxDQUFBLElBQUE7Ozs7QUNBQSxJQUFDLHNCQUFBO0NBQUE7T0FBQTtPQUFBLFFBQUE7T0FBQTtDQUFBO0FBQ0QsSUFBVyw0QkFBNEIsQ0FBQyxXQUFXLFFBQVEsY0FBYztBQUN6RSxJQUFXLCtCQUFNO0NBQUE7T0FBQTtPQUFBLFFBQUE7T0FBQTtDQUFBO0FBQ2pCLElBQUMsaUJBQUE7Q0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNELElBQVcsMEJBQTBCLENBQUMsV0FBVyxRQUFRLGNBQWM7QUFDdkUsSUFBVyxpQ0FBYSxDQUFBLElBQUE7QUFDeEIsSUFBQyw0QkFBQTtDQUFBO09BQUE7T0FBQSxRQUFBO09BQUE7Q0FBQTtBQUNELElBQVcsNkJBQWtCLENBQUEsV0FBQSxRQUFBLEtBQUE7QUFDN0IsSUFBVywrQkFBRyxDQUFBLFdBQUEsK0JBQUE7QUFDZCxJQUFXLHVCQUFnQixDQUFBLFdBQUEsUUFBQSxhQUFBO0FBQzNCLElBQVcsc0JBQWEsQ0FBQSxXQUFBLFFBQUEsYUFBQTtBQUN4QixJQUFXLG1CQUFtQixDQUFDLFdBQVcsUUFBUSxhQUFRO0FBQzFELElBQVcscUJBQWE7Q0FBQTtPQUFBO09BQUEsUUFBQTtDQUFBO0FBQ3hCLElBQVcscUJBQVksQ0FBQSxXQUFBLFFBQUEsS0FBQTtBQUN2QixJQUFDLHdCQUFBO0NBQUE7T0FBQTtPQUFBLFFBQUE7Q0FBQTtBQUNELElBQVcsa0JBQWtCLENBQUMsSUFBSTtBQUNsQyxJQUFXLHNCQUFNLENBQUEsV0FBQSxRQUFBLEtBQUE7QUFDakIsSUFBQyx5QkFBQSxDQUFBLFdBQUEsUUFBQSxhQUFBO0FBQ0QsSUFBVywwQkFBMEI7Q0FBQztPQUFPO09BQUEsUUFBQTtDQUFBO0FBQzdDLElBQVcsMEJBQUcsQ0FBQSxXQUFBLFFBQUEsYUFBQTs7OztBQ25CZCxJQUFXLHVCQUFZLENBQUEsSUFBQTtBQUN2QixJQUFJLGNBQWMsQ0FBQyxXQUFDLGFBQUE7QUFDcEIsSUFBVyxhQUFhO0NBQUE7T0FBQTtPQUFBLFFBQUE7T0FBQTtDQUFBO0FBQ3hCLElBQUMsMkJBQUE7Q0FBQTtPQUFBO09BQUEsUUFBQTtPQUFBO0NBQUE7QUFDRCxJQUFXLDRCQUFXO0NBQUE7T0FBQTtPQUFBLFFBQUE7T0FBQTtDQUFBO0FBQ3RCLElBQVcscUJBQWtCLENBQUEsV0FBQSxxQkFBQTtBQUM3QixJQUFXLG1CQUFTLENBQUEsV0FBQSxRQUFBLGFBQUE7QUFDcEIsSUFBVyxnQ0FBYSxDQUFBLFdBQUEsUUFBQSxjQUFBO0FBQ3hCLElBQVcsbUJBQWlCLENBQUEsV0FBQSxRQUFBLGFBQUE7QUFDNUIsSUFBQSw2QkFBQSxDQUFBLFdBQUEsUUFBQSxLQUFBO0FBQ0EsSUFBVyxvQkFBb0I7Q0FBQztPQUFXO09BQWlDLFFBQUU7Q0FBQTtBQUM5RSxJQUFXLHNCQUFVO0NBQUE7T0FBQTtPQUFBLFFBQUE7Q0FBQTtBQUNyQixJQUFDLHlCQUFBLENBQUEsV0FBQSxRQUFBLGFBQUE7QUFDRCxJQUFXLHlCQUF5QixDQUFDLFdBQVcsUUFBUSxhQUFhO0FBQ3JFLElBQVcsb0JBQWE7Q0FBQTtPQUFBO09BQUE7T0FBQSxRQUFBO0NBQUEifQ==