@envive-ai/react-hooks 0.1.6 → 0.1.8

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 (686) hide show
  1. package/dist/NewOrgConfig-BU6uJT74.js +15 -0
  2. package/dist/NewOrgConfig-DmidHiyj.cjs +20 -0
  3. package/dist/SystemSettingsContext-BbobkM82.cjs +20 -0
  4. package/dist/SystemSettingsContext-gtrccL_q.js +13 -0
  5. package/dist/TrackComponentVisibleEvent-CqjMiZCS.cjs +59 -0
  6. package/dist/TrackComponentVisibleEvent-D9kpqKM4.js +52 -0
  7. package/dist/amplitudeContext-B73xamNe.d.cts +52 -0
  8. package/dist/amplitudeContext-BhhYPJSL.d.ts +52 -0
  9. package/dist/amplitudeContext-Dr1jHI13.cjs +309 -0
  10. package/dist/amplitudeContext-YRS1QOO3.js +287 -0
  11. package/dist/api-DYjHj_hR.cjs +239 -0
  12. package/dist/api-d5uWvb3-.js +166 -0
  13. package/dist/{app-CjsQ2_n-.js → app-B9r0MF9n.js} +7 -7
  14. package/dist/{app-CnKRZ9RW.cjs → app-Bgr-mAvr.cjs} +10 -10
  15. package/dist/application/models/graphql/index.cjs +2 -1
  16. package/dist/application/models/graphql/index.d.ts +1 -1
  17. package/dist/application/models/graphql/index.js +2 -1
  18. package/dist/application/models/guards/api/index.cjs +3 -1
  19. package/dist/application/models/guards/api/index.d.ts +2 -2
  20. package/dist/application/models/guards/api/index.js +3 -1
  21. package/dist/application/models/guards/utils.cjs +3 -0
  22. package/dist/application/models/guards/utils.d.cts +2 -0
  23. package/dist/application/models/guards/utils.d.ts +2 -0
  24. package/dist/application/models/guards/utils.js +3 -0
  25. package/dist/application/models/index.cjs +13 -10
  26. package/dist/application/models/index.d.cts +9 -4
  27. package/dist/application/models/index.d.ts +12 -7
  28. package/dist/application/models/index.js +11 -7
  29. package/dist/application/models/utilityTypes/index.cjs +1 -1
  30. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  31. package/dist/application/models/utilityTypes/index.js +1 -1
  32. package/dist/application/models/variantInfo/index.cjs +1 -1
  33. package/dist/application/models/variantInfo/index.d.cts +1 -1
  34. package/dist/application/models/variantInfo/index.d.ts +1 -1
  35. package/dist/application/models/variantInfo/index.js +1 -1
  36. package/dist/application/utils/index.cjs +47 -40
  37. package/dist/application/utils/index.d.cts +13 -8
  38. package/dist/application/utils/index.d.ts +15 -10
  39. package/dist/application/utils/index.js +20 -13
  40. package/dist/{atomStore-D8pjE1vL.js → atomStore-BuopbV9k.js} +1 -1
  41. package/dist/{atomStore-B4jIaDPd.cjs → atomStore-CZKe3itM.cjs} +1 -1
  42. package/dist/atoms/app/index.cjs +14 -9
  43. package/dist/atoms/app/index.d.cts +16 -11
  44. package/dist/atoms/app/index.d.ts +19 -14
  45. package/dist/atoms/app/index.js +14 -9
  46. package/dist/atoms/atomStore/index.cjs +2 -2
  47. package/dist/atoms/atomStore/index.d.cts +1 -1
  48. package/dist/atoms/atomStore/index.js +2 -2
  49. package/dist/atoms/chat/index.cjs +35 -28
  50. package/dist/atoms/chat/index.d.cts +36 -31
  51. package/dist/atoms/chat/index.d.ts +39 -34
  52. package/dist/atoms/chat/index.js +21 -14
  53. package/dist/atoms/globalSearch/index.cjs +1 -1
  54. package/dist/atoms/globalSearch/index.d.cts +5 -5
  55. package/dist/atoms/globalSearch/index.d.ts +6 -6
  56. package/dist/atoms/globalSearch/index.js +1 -1
  57. package/dist/atoms/org/index.cjs +6 -14
  58. package/dist/atoms/org/index.d.cts +28 -32
  59. package/dist/atoms/org/index.d.ts +31 -35
  60. package/dist/atoms/org/index.js +5 -11
  61. package/dist/atoms/search/index.cjs +46 -34
  62. package/dist/atoms/search/index.d.cts +10 -4
  63. package/dist/atoms/search/index.d.ts +13 -7
  64. package/dist/atoms/search/index.js +28 -16
  65. package/dist/atoms/search/types.cjs +5 -0
  66. package/dist/atoms/search/types.d.cts +2 -0
  67. package/dist/atoms/search/types.d.ts +2 -0
  68. package/dist/atoms/search/types.js +3 -0
  69. package/dist/atoms/search/utils.cjs +3 -0
  70. package/dist/atoms/search/utils.d.cts +5 -0
  71. package/dist/atoms/search/utils.d.ts +5 -0
  72. package/dist/atoms/search/utils.js +3 -0
  73. package/dist/cdnContext-CVgXkdV2.cjs +53 -0
  74. package/dist/cdnContext-DdE6VPIF.js +38 -0
  75. package/dist/chat-BNDYKsqF.js +258 -0
  76. package/dist/{chat-BubCW1as.cjs → chat-BkjIKhc5.cjs} +1 -1
  77. package/dist/chat-Br5FhtRs.cjs +394 -0
  78. package/dist/{chat-CV6MXeID.js → chat-CgLypC3w.js} +1 -1
  79. package/dist/chatElementDisplayLocation-BwiXrkN7.d.ts +25 -0
  80. package/dist/chatElementDisplayLocation-DWmfNX_u.d.cts +25 -0
  81. package/dist/chatSearch-BiF2__V0.js +295 -0
  82. package/dist/chatSearch-BrzfJOto.cjs +418 -0
  83. package/dist/chatState-BDsqKE-B.cjs +120 -0
  84. package/dist/chatState-ie771Hwy.js +34 -0
  85. package/dist/commerce-api-Dz1jxPOJ.js +311 -0
  86. package/dist/commerce-api-KoiUki51.cjs +318 -0
  87. package/dist/{components-Cw9WjA6g.cjs → components-Cby-Cma3.cjs} +1 -1
  88. package/dist/{components-B4T3Uzth.js → components-D1mg1-Br.js} +1 -1
  89. package/dist/config/locators/components/chat/index.cjs +1 -1
  90. package/dist/config/locators/components/chat/index.d.cts +1 -1
  91. package/dist/config/locators/components/chat/index.d.ts +1 -1
  92. package/dist/config/locators/components/chat/index.js +1 -1
  93. package/dist/config/locators/components/chat/variants/index.d.cts +1 -1
  94. package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
  95. package/dist/config/locators/components/index.cjs +1 -1
  96. package/dist/config/locators/components/index.d.cts +1 -1
  97. package/dist/config/locators/components/index.d.ts +1 -1
  98. package/dist/config/locators/components/index.js +1 -1
  99. package/dist/config/locators/components/search/index.d.cts +1 -1
  100. package/dist/config/locators/index.cjs +42 -22
  101. package/dist/config/locators/index.d.cts +2 -2
  102. package/dist/config/locators/index.d.ts +3 -3
  103. package/dist/config/locators/index.js +25 -5
  104. package/dist/contexts/amplitudeContext/index.cjs +22 -0
  105. package/dist/contexts/amplitudeContext/index.d.cts +2 -0
  106. package/dist/contexts/amplitudeContext/index.d.ts +2 -0
  107. package/dist/contexts/amplitudeContext/index.js +20 -0
  108. package/dist/contexts/cdnContext/index.cjs +7 -0
  109. package/dist/contexts/cdnContext/index.d.cts +15 -0
  110. package/dist/contexts/cdnContext/index.d.ts +15 -0
  111. package/dist/contexts/cdnContext/index.js +6 -0
  112. package/dist/contexts/chatContext/index.cjs +331 -0
  113. package/dist/contexts/chatContext/index.d.cts +15 -0
  114. package/dist/contexts/chatContext/index.d.ts +15 -0
  115. package/dist/contexts/chatContext/index.js +324 -0
  116. package/dist/contexts/enviveConfigContext/index.cjs +7 -0
  117. package/dist/contexts/enviveConfigContext/index.d.cts +30 -0
  118. package/dist/contexts/enviveConfigContext/index.d.ts +30 -0
  119. package/dist/contexts/enviveConfigContext/index.js +6 -0
  120. package/dist/contexts/enviveCssContext/index.cjs +66 -0
  121. package/dist/contexts/enviveCssContext/index.d.cts +10 -0
  122. package/dist/contexts/enviveCssContext/index.d.ts +10 -0
  123. package/dist/contexts/enviveCssContext/index.js +63 -0
  124. package/dist/contexts/featureFlagContext/index.cjs +107 -0
  125. package/dist/contexts/featureFlagContext/index.d.cts +20 -0
  126. package/dist/contexts/featureFlagContext/index.d.ts +20 -0
  127. package/dist/contexts/featureFlagContext/index.js +103 -0
  128. package/dist/contexts/featureFlagServiceContext/index.cjs +6 -0
  129. package/dist/contexts/featureFlagServiceContext/index.d.cts +5 -0
  130. package/dist/contexts/featureFlagServiceContext/index.d.ts +5 -0
  131. package/dist/contexts/featureFlagServiceContext/index.js +5 -0
  132. package/dist/contexts/graphqlContext/index.cjs +16 -0
  133. package/dist/contexts/graphqlContext/index.d.cts +13 -0
  134. package/dist/contexts/graphqlContext/index.d.ts +13 -0
  135. package/dist/contexts/graphqlContext/index.js +15 -0
  136. package/dist/contexts/localStorageContext/index.cjs +6 -0
  137. package/dist/contexts/localStorageContext/index.d.cts +30 -0
  138. package/dist/contexts/localStorageContext/index.d.ts +30 -0
  139. package/dist/contexts/localStorageContext/index.js +4 -0
  140. package/dist/contexts/newOrgConfigContext/index.cjs +20 -0
  141. package/dist/contexts/newOrgConfigContext/index.d.cts +31 -0
  142. package/dist/contexts/newOrgConfigContext/index.d.ts +31 -0
  143. package/dist/contexts/newOrgConfigContext/index.js +19 -0
  144. package/dist/contexts/searchContext/index.cjs +24 -0
  145. package/dist/contexts/searchContext/index.d.cts +16 -0
  146. package/dist/contexts/searchContext/index.d.ts +16 -0
  147. package/dist/contexts/searchContext/index.js +23 -0
  148. package/dist/contexts/sessionStorageContext/index.cjs +5 -0
  149. package/dist/contexts/sessionStorageContext/index.d.cts +15 -0
  150. package/dist/contexts/sessionStorageContext/index.d.ts +15 -0
  151. package/dist/contexts/sessionStorageContext/index.js +4 -0
  152. package/dist/contexts/shopifyUrlContext/index.cjs +5 -0
  153. package/dist/contexts/shopifyUrlContext/index.d.cts +20 -0
  154. package/dist/contexts/shopifyUrlContext/index.d.ts +20 -0
  155. package/dist/contexts/shopifyUrlContext/index.js +4 -0
  156. package/dist/contexts/systemSettingsContext/index.cjs +8 -0
  157. package/dist/contexts/systemSettingsContext/index.d.cts +37 -0
  158. package/dist/contexts/systemSettingsContext/index.d.ts +37 -0
  159. package/dist/contexts/systemSettingsContext/index.js +6 -0
  160. package/dist/contexts/types.cjs +7 -0
  161. package/dist/contexts/types.d.cts +4 -0
  162. package/dist/contexts/types.d.ts +4 -0
  163. package/dist/contexts/types.js +3 -0
  164. package/dist/contexts/userIdentityContext/index.cjs +27 -0
  165. package/dist/contexts/userIdentityContext/index.d.cts +2 -0
  166. package/dist/contexts/userIdentityContext/index.d.ts +2 -0
  167. package/dist/contexts/userIdentityContext/index.js +26 -0
  168. package/dist/domObserver-B19-69gW.js +285 -0
  169. package/dist/domObserver-CwieVNgj.cjs +304 -0
  170. package/dist/enviveConfig-BQB14yuH.js +62 -0
  171. package/dist/enviveConfig-DAA9sozZ.cjs +130 -0
  172. package/dist/enviveConfigContext-BCpBKqsz.js +45 -0
  173. package/dist/enviveConfigContext-Btg5JUMG.cjs +60 -0
  174. package/dist/events/index.cjs +1 -1
  175. package/dist/events/index.d.ts +1 -1
  176. package/dist/events/index.js +1 -1
  177. package/dist/{events-BrLpaNxh.js → events-BHJJjPDN.js} +1 -1
  178. package/dist/{events-DwT6cEwI.cjs → events-B_fJZf9E.cjs} +1 -1
  179. package/dist/featureFlagServiceContext-Bcx5yh4S.cjs +56 -0
  180. package/dist/featureFlagServiceContext-Cpw8omUr.d.ts +23 -0
  181. package/dist/featureFlagServiceContext-Cvn6fcdB.d.cts +23 -0
  182. package/dist/featureFlagServiceContext-_tXX5iro.js +42 -0
  183. package/dist/featureGates-2Zea2D2S.js +27 -0
  184. package/dist/featureGates-BY2Zy7x_.cjs +33 -0
  185. package/dist/frontendConfig-DnMZfvcA.d.cts +857 -0
  186. package/dist/frontendConfig-Dqxbqo8G.d.ts +857 -0
  187. package/dist/{globalSearch-BFvEg53C.cjs → globalSearch-C94-vEVh.cjs} +1 -1
  188. package/dist/{globalSearch-B6THR7Jx.js → globalSearch-Dlbnfasm.js} +1 -1
  189. package/dist/graphql-DRLWdYEk.js +36 -0
  190. package/dist/graphql-xPDT7ZkK.cjs +53 -0
  191. package/dist/graphqlConfig-B4ddz1vH.cjs +39 -0
  192. package/dist/graphqlConfig-BnjOdeX7.js +14 -0
  193. package/dist/graphqlContext-B-9g2vOb.js +96 -0
  194. package/dist/graphqlContext-B7PEKDJs.cjs +111 -0
  195. package/dist/hooks/AmplitudeOperations/index.cjs +22 -0
  196. package/dist/hooks/AmplitudeOperations/index.d.cts +12 -0
  197. package/dist/hooks/AmplitudeOperations/index.d.ts +12 -0
  198. package/dist/hooks/AmplitudeOperations/index.js +22 -0
  199. package/dist/hooks/AppDetails/index.cjs +19 -0
  200. package/dist/hooks/AppDetails/index.d.cts +27 -0
  201. package/dist/hooks/AppDetails/index.d.ts +27 -0
  202. package/dist/hooks/AppDetails/index.js +19 -0
  203. package/dist/hooks/BlockBackButton/index.cjs +29 -0
  204. package/dist/hooks/BlockBackButton/index.d.cts +5 -0
  205. package/dist/hooks/BlockBackButton/index.d.ts +5 -0
  206. package/dist/hooks/BlockBackButton/index.js +27 -0
  207. package/dist/hooks/CdnOperations/index.cjs +24 -0
  208. package/dist/hooks/CdnOperations/index.d.cts +7 -0
  209. package/dist/hooks/CdnOperations/index.d.ts +7 -0
  210. package/dist/hooks/CdnOperations/index.js +22 -0
  211. package/dist/hooks/ChatToggle/index.cjs +64 -0
  212. package/dist/hooks/ChatToggle/index.d.cts +12 -0
  213. package/dist/hooks/ChatToggle/index.d.ts +12 -0
  214. package/dist/hooks/ChatToggle/index.js +62 -0
  215. package/dist/hooks/ChatToggleAnalytics/index.cjs +38 -0
  216. package/dist/hooks/ChatToggleAnalytics/index.d.cts +9 -0
  217. package/dist/hooks/ChatToggleAnalytics/index.d.ts +9 -0
  218. package/dist/hooks/ChatToggleAnalytics/index.js +36 -0
  219. package/dist/hooks/CustomerSupportHandoff/index.cjs +36 -0
  220. package/dist/hooks/CustomerSupportHandoff/index.d.cts +16 -0
  221. package/dist/hooks/CustomerSupportHandoff/index.d.ts +16 -0
  222. package/dist/hooks/CustomerSupportHandoff/index.js +34 -0
  223. package/dist/hooks/Debounce/index.cjs +3 -0
  224. package/dist/hooks/Debounce/index.d.cts +5 -0
  225. package/dist/hooks/Debounce/index.d.ts +5 -0
  226. package/dist/hooks/Debounce/index.js +3 -0
  227. package/dist/hooks/ElementObserver/index.cjs +179 -0
  228. package/dist/hooks/ElementObserver/index.d.cts +29 -0
  229. package/dist/hooks/ElementObserver/index.d.ts +29 -0
  230. package/dist/hooks/ElementObserver/index.js +177 -0
  231. package/dist/hooks/GrabAndScroll/index.cjs +99 -0
  232. package/dist/hooks/GrabAndScroll/index.d.cts +14 -0
  233. package/dist/hooks/GrabAndScroll/index.d.ts +14 -0
  234. package/dist/hooks/GrabAndScroll/index.js +97 -0
  235. package/dist/hooks/GraphQLConfig/index.cjs +17 -0
  236. package/dist/hooks/GraphQLConfig/index.d.cts +15 -0
  237. package/dist/hooks/GraphQLConfig/index.d.ts +15 -0
  238. package/dist/hooks/GraphQLConfig/index.js +16 -0
  239. package/dist/hooks/IdentifyUser/index.cjs +60 -0
  240. package/dist/hooks/IdentifyUser/index.d.cts +10 -0
  241. package/dist/hooks/IdentifyUser/index.d.ts +10 -0
  242. package/dist/hooks/IdentifyUser/index.js +58 -0
  243. package/dist/hooks/ImageResolver/index.cjs +55 -0
  244. package/dist/hooks/ImageResolver/index.d.cts +7 -0
  245. package/dist/hooks/ImageResolver/index.d.ts +7 -0
  246. package/dist/hooks/ImageResolver/index.js +53 -0
  247. package/dist/hooks/Intersection/index.cjs +3 -0
  248. package/dist/hooks/Intersection/index.d.cts +7 -0
  249. package/dist/hooks/Intersection/index.d.ts +7 -0
  250. package/dist/hooks/Intersection/index.js +3 -0
  251. package/dist/hooks/IsSmallScreen/index.cjs +22 -0
  252. package/dist/hooks/IsSmallScreen/index.d.cts +5 -0
  253. package/dist/hooks/IsSmallScreen/index.d.ts +5 -0
  254. package/dist/hooks/IsSmallScreen/index.js +20 -0
  255. package/dist/hooks/LocalStorageOperations/index.cjs +79 -0
  256. package/dist/hooks/LocalStorageOperations/index.d.cts +17 -0
  257. package/dist/hooks/LocalStorageOperations/index.d.ts +17 -0
  258. package/dist/hooks/LocalStorageOperations/index.js +74 -0
  259. package/dist/hooks/MessageFilter/index.cjs +54 -0
  260. package/dist/hooks/MessageFilter/index.d.cts +30 -0
  261. package/dist/hooks/MessageFilter/index.d.ts +30 -0
  262. package/dist/hooks/MessageFilter/index.js +54 -0
  263. package/dist/hooks/MessageScrollObserver/index.cjs +36 -0
  264. package/dist/hooks/MessageScrollObserver/index.d.cts +5 -0
  265. package/dist/hooks/MessageScrollObserver/index.d.ts +5 -0
  266. package/dist/hooks/MessageScrollObserver/index.js +34 -0
  267. package/dist/hooks/NewOrgConfig/index.cjs +20 -0
  268. package/dist/hooks/NewOrgConfig/index.d.cts +23 -0
  269. package/dist/hooks/NewOrgConfig/index.d.ts +23 -0
  270. package/dist/hooks/NewOrgConfig/index.js +20 -0
  271. package/dist/hooks/Search/index.cjs +326 -0
  272. package/dist/hooks/Search/index.d.cts +61 -0
  273. package/dist/hooks/Search/index.d.ts +61 -0
  274. package/dist/hooks/Search/index.js +323 -0
  275. package/dist/hooks/SearchOperations/index.cjs +102 -0
  276. package/dist/hooks/SearchOperations/index.d.cts +22 -0
  277. package/dist/hooks/SearchOperations/index.d.ts +22 -0
  278. package/dist/hooks/SearchOperations/index.js +99 -0
  279. package/dist/hooks/SessionStorageOperations/index.cjs +30 -0
  280. package/dist/hooks/SessionStorageOperations/index.d.cts +8 -0
  281. package/dist/hooks/SessionStorageOperations/index.d.ts +8 -0
  282. package/dist/hooks/SessionStorageOperations/index.js +28 -0
  283. package/dist/hooks/ShopifyUrlOperations/index.cjs +53 -0
  284. package/dist/hooks/ShopifyUrlOperations/index.d.cts +23 -0
  285. package/dist/hooks/ShopifyUrlOperations/index.d.ts +23 -0
  286. package/dist/hooks/ShopifyUrlOperations/index.js +49 -0
  287. package/dist/hooks/SnapCalculator/index.cjs +29 -0
  288. package/dist/hooks/SnapCalculator/index.d.cts +12 -0
  289. package/dist/hooks/SnapCalculator/index.d.ts +12 -0
  290. package/dist/hooks/SnapCalculator/index.js +27 -0
  291. package/dist/hooks/SystemSettingsContext/index.cjs +7 -0
  292. package/dist/hooks/SystemSettingsContext/index.d.cts +23 -0
  293. package/dist/hooks/SystemSettingsContext/index.d.ts +23 -0
  294. package/dist/hooks/SystemSettingsContext/index.js +7 -0
  295. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +22 -0
  296. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +18 -0
  297. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +18 -0
  298. package/dist/hooks/TrackComponentVisibleEvent/index.js +22 -0
  299. package/dist/hooks/UpdateAnalyticsProps/index.cjs +62 -0
  300. package/dist/hooks/UpdateAnalyticsProps/index.d.cts +9 -0
  301. package/dist/hooks/UpdateAnalyticsProps/index.d.ts +9 -0
  302. package/dist/hooks/UpdateAnalyticsProps/index.js +59 -0
  303. package/dist/hooks/utils.cjs +8 -0
  304. package/dist/hooks/utils.d.cts +13 -0
  305. package/dist/hooks/utils.d.ts +13 -0
  306. package/dist/hooks/utils.js +3 -0
  307. package/dist/index-B9HUPS_i.d.cts +186 -0
  308. package/dist/{index-CcIG01PJ.d.ts → index-BN-3ctk_.d.ts} +2 -2
  309. package/dist/index-BNiYL8h0.d.cts +28 -0
  310. package/dist/{index-BDPWBU3h.d.cts → index-BW6pHibZ.d.cts} +1 -1
  311. package/dist/index-BirtCYN3.d.ts +186 -0
  312. package/dist/index-Bmub8e38.d.cts +1 -1
  313. package/dist/{index-Cqg6ltII.d.ts → index-BoYC9XLW.d.ts} +1 -1
  314. package/dist/index-C9zXP5bg.d.ts +28 -0
  315. package/dist/index-CESxqFso.d.cts +1 -1
  316. package/dist/index-CK_J3QMY.d.ts +676 -0
  317. package/dist/index-C_MIfxF0.d.cts +676 -0
  318. package/dist/index-CiWEYzXl.d.cts +1 -1
  319. package/dist/{index-C6KdON7d.d.ts → index-Da0UzyI9.d.ts} +1 -1
  320. package/dist/{index-ylUiJvnr.d.ts → index-Dr_c2DDq.d.ts} +1 -1
  321. package/dist/{index-PGF8BvxQ.d.ts → index-DsiilEj-.d.ts} +1 -1
  322. package/dist/{index-Byb45OPg.d.cts → index-MOOZ2oxZ.d.cts} +1 -1
  323. package/dist/{index-DOii3C6b.d.ts → index-ghzD_356.d.ts} +1 -1
  324. package/dist/{index-B0NW9KTj.d.cts → index-hdbCEjYy.d.cts} +1 -1
  325. package/dist/interceptors/index.cjs +2 -1
  326. package/dist/interceptors/index.d.cts +10 -10
  327. package/dist/interceptors/index.d.ts +13 -13
  328. package/dist/interceptors/index.js +2 -1
  329. package/dist/interceptors/types.cjs +1 -0
  330. package/dist/interceptors/types.d.cts +13 -0
  331. package/dist/interceptors/types.d.ts +13 -0
  332. package/dist/interceptors/types.js +3 -0
  333. package/dist/localStorageContext-DiTziaPa.js +95 -0
  334. package/dist/localStorageContext-S38L0OSP.cjs +115 -0
  335. package/dist/logger-CkhQayOW.js +20 -0
  336. package/dist/logger-DQ0WfCcD.cjs +26 -0
  337. package/dist/{models-BkXg5eIP.cjs → models-C48U9q70.js} +220 -458
  338. package/dist/models-Ctn-pmug.cjs +1537 -0
  339. package/dist/newOrgConfigAtom-D6R-7HCk.cjs +15 -0
  340. package/dist/newOrgConfigAtom-bn1lnljf.js +8 -0
  341. package/dist/newOrgConfigContext-D3WoaBVU.cjs +68 -0
  342. package/dist/newOrgConfigContext-rWOYz0E8.js +53 -0
  343. package/dist/{nodeSelector-Dm4S-10n.d.cts → nodeSelector-B3bPtEjX.d.cts} +1 -1
  344. package/dist/{nodeSelector-BxrS2S_k.d.ts → nodeSelector-D5gjDWZ3.d.ts} +1 -1
  345. package/dist/org-CIhjzxWr.cjs +43 -0
  346. package/dist/org-CeWXnpwF.js +12 -0
  347. package/dist/{orgAnalyticsConfig-ClrFy2qH.js → orgAnalyticsConfig-BC4_sEmn.js} +1 -1
  348. package/dist/{orgAnalyticsConfig-BJ2A1RZ-.cjs → orgAnalyticsConfig-DsGbyFhO.cjs} +1 -1
  349. package/dist/search--NZPZkK3.cjs +205 -0
  350. package/dist/search-BLShhjvR.d.ts +20 -0
  351. package/dist/search-CxZl7iQF.js +126 -0
  352. package/dist/{search-filter-types-fZf91Pdw.d.ts → search-filter-types-DPgeG8FS.d.ts} +1 -1
  353. package/dist/{search-filter-types-DosbseF3.d.cts → search-filter-types-_mprCnBi.d.cts} +1 -1
  354. package/dist/search-y-ioX5Mz.d.cts +20 -0
  355. package/dist/searchContext-C4Glr8Nv.cjs +145 -0
  356. package/dist/searchContext-VnjhV7Lk.js +129 -0
  357. package/dist/searchServiceAdapter-DEv1tTn0.cjs +34 -0
  358. package/dist/searchServiceAdapter-WyCU55NV.js +16 -0
  359. package/dist/sessionStorageContext-BJ05_j7l.cjs +66 -0
  360. package/dist/sessionStorageContext-Dp_bhXQP.js +52 -0
  361. package/dist/shopifyUrlContext-CGqpJl1o.js +61 -0
  362. package/dist/shopifyUrlContext-Cob4L7Dt.cjs +75 -0
  363. package/dist/spiffyWidgets-BuS00VaQ.d.cts +20 -0
  364. package/dist/spiffyWidgets-GILaqHv6.d.ts +20 -0
  365. package/dist/systemSettingsContext-BDKWrrco.cjs +60 -0
  366. package/dist/systemSettingsContext-Dqng3YSZ.js +39 -0
  367. package/dist/{test-types-C9b_OdfO.d.ts → test-types-EzMFw_U3.d.ts} +1 -1
  368. package/dist/{test-types-CgVJtwUr.d.cts → test-types-ThQiO_cc.d.cts} +1 -1
  369. package/dist/types/index.cjs +33 -5
  370. package/dist/types/index.d.cts +2 -2
  371. package/dist/types/index.d.ts +2 -2
  372. package/dist/types/index.js +30 -3
  373. package/dist/types-BUeRbZUk.d.cts +10 -0
  374. package/dist/types-BwNrLPSZ.cjs +106 -0
  375. package/dist/types-CMuTSKrW.d.ts +10 -0
  376. package/dist/types-CS0Hrzja.js +30 -0
  377. package/dist/types-CxObxLKs.cjs +48 -0
  378. package/dist/types-D3uOF0Oy.js +76 -0
  379. package/dist/types-fsXBIQwO.d.ts +51 -0
  380. package/dist/types-zuWLkBJ3.d.cts +51 -0
  381. package/dist/types.d.cts +15 -0
  382. package/dist/types.d.ts +15 -0
  383. package/dist/unsupportedProductExceptions-CKiri_vO.cjs +32 -0
  384. package/dist/unsupportedProductExceptions-ClxlJ6cU.js +20 -0
  385. package/dist/urlsParser-D1nsJgQG.cjs +78 -0
  386. package/dist/urlsParser-DzEetiey.js +42 -0
  387. package/dist/useAmplitudeOperations-BSsyvkQ2.cjs +41 -0
  388. package/dist/useAmplitudeOperations-BottjwT9.js +34 -0
  389. package/dist/useAppDetails-BpiBxS_5.cjs +38 -0
  390. package/dist/useAppDetails-DDNIsM46.js +30 -0
  391. package/dist/useDebounce-BaIp-A1W.cjs +26 -0
  392. package/dist/useDebounce-CxPj9WmE.js +19 -0
  393. package/dist/useGraphQLConfig-DZ0ZannB.js +63 -0
  394. package/dist/useGraphQLConfig-Dw8dDh3T.cjs +76 -0
  395. package/dist/useIntersection-B4J9UhaG.js +21 -0
  396. package/dist/useIntersection-DKWc5MY6.cjs +28 -0
  397. package/dist/{useMessageInterceptor-B87e3yu3.cjs → useMessageInterceptor-CstX10ih.cjs} +3 -3
  398. package/dist/{useMessageInterceptor-Bb7YRaWk.js → useMessageInterceptor-D5oAekXn.js} +2 -2
  399. package/dist/userIdentityContext-D2oFVFzo.d.cts +20 -0
  400. package/dist/userIdentityContext-DPFkCSCu.cjs +125 -0
  401. package/dist/userIdentityContext-Z65zM-Ae.js +109 -0
  402. package/dist/userIdentityContext-wYRpgkaJ.d.ts +20 -0
  403. package/dist/utilityTypes-DynzxjK3.js +1 -0
  404. package/dist/utilityTypes-xb8SjKSV.cjs +0 -0
  405. package/dist/utils-2SWrJ12w.cjs +29 -0
  406. package/dist/utils-B1xLx9S8.d.ts +15 -0
  407. package/dist/utils-B3x_9JTY.d.cts +15 -0
  408. package/dist/utils-BZtSmwgh.d.cts +22 -0
  409. package/dist/utils-Bcz5kAgP.js +92 -0
  410. package/dist/utils-CEKzBcN2.js +27 -0
  411. package/dist/utils-CMqFfqZx.cjs +130 -0
  412. package/dist/utils-CVovRwlw.js +606 -0
  413. package/dist/utils-CqBxIpEV.js +23 -0
  414. package/dist/utils-CsMbZmRw.cjs +33 -0
  415. package/dist/utils-DzPSXtmD.cjs +715 -0
  416. package/dist/utils-bxOCg2i9.d.ts +22 -0
  417. package/dist/variantInfo-B7IwRpCg.cjs +0 -0
  418. package/dist/variantInfo-BtOYUGWa.js +1 -0
  419. package/package.json +191 -7
  420. package/src/application/models/index.ts +0 -1
  421. package/src/application/utils/analyticsUtils.ts +1 -1
  422. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -1
  423. package/src/atoms/app/index.ts +1 -1
  424. package/src/atoms/chat/chatState.ts +1 -1
  425. package/src/atoms/chat/replies.ts +1 -1
  426. package/src/atoms/org/graphqlConfig.ts +1 -39
  427. package/src/atoms/org/index.ts +0 -1
  428. package/src/atoms/org/newOrgConfigAtom.ts +2 -6
  429. package/src/contexts/{amplitudeContext.tsx → amplitudeContext/amplitudeContext.tsx} +1 -2
  430. package/src/contexts/amplitudeContext/index.ts +1 -0
  431. package/src/contexts/{cdnContext.tsx → cdnContext/cdnContext.tsx} +1 -1
  432. package/src/contexts/cdnContext/index.ts +1 -0
  433. package/src/contexts/{chatContext.tsx → chatContext/chatContext.tsx} +3 -3
  434. package/src/contexts/chatContext/index.ts +1 -0
  435. package/src/contexts/{enviveConfigContext.tsx → enviveConfigContext/enviveConfigContext.tsx} +1 -1
  436. package/src/contexts/enviveConfigContext/index.ts +1 -0
  437. package/src/contexts/{enviveCssContext.tsx → enviveCssContext/enviveCssContext.tsx} +1 -1
  438. package/src/contexts/enviveCssContext/index.ts +1 -0
  439. package/src/contexts/{featureFlagContext.tsx → featureFlagContext/featureFlagContext.tsx} +1 -1
  440. package/src/contexts/featureFlagContext/index.ts +1 -0
  441. package/src/contexts/featureFlagServiceContext/index.ts +1 -0
  442. package/src/contexts/graphqlContext/index.ts +1 -0
  443. package/src/contexts/localStorageContext/index.ts +1 -0
  444. package/src/contexts/{localStorageContext.tsx → localStorageContext/localStorageContext.tsx} +2 -2
  445. package/src/contexts/newOrgConfigContext/index.ts +1 -0
  446. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +70 -0
  447. package/src/contexts/searchContext/index.ts +1 -0
  448. package/src/contexts/{searchContext.tsx → searchContext/searchContext.tsx} +5 -5
  449. package/src/contexts/sessionStorageContext/index.ts +1 -0
  450. package/src/contexts/{sessionStorageContext.tsx → sessionStorageContext/sessionStorageContext.tsx} +1 -1
  451. package/src/contexts/shopifyUrlContext/index.ts +1 -0
  452. package/src/contexts/systemSettingsContext/index.ts +1 -0
  453. package/src/contexts/userIdentityContext/index.ts +1 -0
  454. package/src/events/registerAnalyticsListeners.ts +2 -2
  455. package/src/favicon.ico +0 -0
  456. package/src/hooks/AmplitudeOperations/index.ts +1 -0
  457. package/src/hooks/{useAmplitudeOperations.ts → AmplitudeOperations/useAmplitudeOperations.ts} +1 -1
  458. package/src/hooks/AppDetails/index.ts +1 -0
  459. package/src/hooks/{useAppDetails.ts → AppDetails/useAppDetails.ts} +1 -3
  460. package/src/hooks/BlockBackButton/index.ts +1 -0
  461. package/src/hooks/CdnOperations/index.ts +1 -0
  462. package/src/hooks/{useCdnOperations.ts → CdnOperations/useCdnOperations.ts} +1 -1
  463. package/src/hooks/ChatToggle/index.ts +1 -0
  464. package/src/hooks/{useChatToggle.ts → ChatToggle/useChatToggle.ts} +1 -1
  465. package/src/hooks/ChatToggleAnalytics/index.ts +1 -0
  466. package/src/hooks/{useChatToggleAnalytics.ts → ChatToggleAnalytics/useChatToggleAnalytics.ts} +1 -1
  467. package/src/hooks/CustomerSupportHandoff/index.ts +1 -0
  468. package/src/hooks/Debounce/index.ts +1 -0
  469. package/src/hooks/ElementObserver/index.ts +1 -0
  470. package/src/hooks/GrabAndScroll/index.ts +1 -0
  471. package/src/hooks/GraphQLConfig/index.ts +1 -0
  472. package/src/hooks/{useGraphQLConfig.ts → GraphQLConfig/useGraphQLConfig.ts} +1 -1
  473. package/src/hooks/IdentifyUser/index.ts +1 -0
  474. package/src/hooks/{useIdentifyUser.ts → IdentifyUser/useIdentifyUser.ts} +1 -1
  475. package/src/hooks/ImageResolver/index.ts +1 -0
  476. package/src/hooks/Intersection/index.ts +1 -0
  477. package/src/hooks/IsSmallScreen/index.ts +1 -0
  478. package/src/hooks/LocalStorageOperations/index.ts +1 -0
  479. package/src/hooks/{useLocalStorageOperations.ts → LocalStorageOperations/useLocalStorageOperations.ts} +2 -2
  480. package/src/hooks/MessageFilter/index.ts +1 -0
  481. package/src/hooks/MessageScrollObserver/index.ts +1 -0
  482. package/src/hooks/NewOrgConfig/index.ts +1 -0
  483. package/src/hooks/{useNewOrgConfig.ts → NewOrgConfig/useNewOrgConfig.ts} +1 -1
  484. package/src/hooks/Search/index.ts +1 -0
  485. package/src/hooks/{useSearch.tsx → Search/useSearch.tsx} +5 -4
  486. package/src/hooks/SearchOperations/index.ts +1 -0
  487. package/src/hooks/SessionStorageOperations/index.ts +1 -0
  488. package/src/hooks/{useSessionStorageOperations.ts → SessionStorageOperations/useSessionStorageOperations.ts} +1 -1
  489. package/src/hooks/ShopifyUrlOperations/index.ts +1 -0
  490. package/src/hooks/{useShopifyUrlOperations.ts → ShopifyUrlOperations/useShopifyUrlOperations.ts} +1 -1
  491. package/src/hooks/SnapCalculator/index.ts +1 -0
  492. package/src/hooks/SystemSettingsContext/index.ts +1 -0
  493. package/src/hooks/SystemSettingsContext/useSystemSettingsContext.ts +14 -0
  494. package/src/hooks/TrackComponentVisibleEvent/index.ts +1 -0
  495. package/src/hooks/{useTrackComponentVisibleEvent.ts → TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts} +2 -2
  496. package/src/hooks/UpdateAnalyticsProps/index.ts +1 -0
  497. package/src/hooks/{useUpdateAnalyticsProps.ts → UpdateAnalyticsProps/useUpdateAnalyticsProps.ts} +1 -1
  498. package/dist/amplitudeContext-CHzas7Cf.d.cts +0 -52
  499. package/dist/amplitudeContext-D-7fmVh1.cjs +0 -356
  500. package/dist/amplitudeContext-hY3caPC6.js +0 -322
  501. package/dist/amplitudeContext-tJ4y-SzX.d.ts +0 -52
  502. package/dist/api-DjeZXxl_.js +0 -207
  503. package/dist/api-_JaUnIUj.cjs +0 -292
  504. package/dist/bandolier-DYEz4-8C.js +0 -1229
  505. package/dist/bandolier-o_-xrbOV.cjs +0 -1229
  506. package/dist/carpe-CsG5jCcl.cjs +0 -607
  507. package/dist/carpe-DONk00bZ.js +0 -605
  508. package/dist/cdnUtils-32v8bDX9.cjs +0 -16
  509. package/dist/cdnUtils-E4tLBt2g.js +0 -11
  510. package/dist/chat-CO7cRkaq.cjs +0 -506
  511. package/dist/chat-hcRc4RRd.js +0 -285
  512. package/dist/contexts/index.cjs +0 -57
  513. package/dist/contexts/index.d.cts +0 -10
  514. package/dist/contexts/index.d.ts +0 -10
  515. package/dist/contexts/index.js +0 -23
  516. package/dist/contexts-B4ihTBsV.cjs +0 -2980
  517. package/dist/contexts-DGlr7M1o.js +0 -2596
  518. package/dist/coterie-CKB93qfz.cjs +0 -239
  519. package/dist/coterie-DHcj2fRE.js +0 -239
  520. package/dist/custservice-types-Dy0kc9TW.cjs +0 -35
  521. package/dist/custservice-types-mnIunabv.js +0 -23
  522. package/dist/default-BnB4p0Se.cjs +0 -234
  523. package/dist/default-D6f5Dyt7.js +0 -199
  524. package/dist/default-ZKkE5zT4.cjs +0 -4
  525. package/dist/default-legGZJwI.js +0 -4
  526. package/dist/divIds-2dJlU3z8.cjs +0 -117
  527. package/dist/divIds-BUrN2vY-.js +0 -21
  528. package/dist/dreamlandBaby-BiRYYFav.js +0 -346
  529. package/dist/dreamlandBaby-zuvmfzfD.cjs +0 -346
  530. package/dist/embedded-BJLWIriJ.js +0 -23
  531. package/dist/embedded-Dl79TJLC.cjs +0 -131
  532. package/dist/entrypoints-Bs3pn6EV.js +0 -7
  533. package/dist/entrypoints-Dqi5pzWH.cjs +0 -19
  534. package/dist/enviveConfig-BccuzS2a.cjs +0 -240
  535. package/dist/enviveConfig-CzhTz8Aa.js +0 -152
  536. package/dist/fiveCbd-DwTTwC2j.cjs +0 -613
  537. package/dist/fiveCbd-Dz2NouOF.js +0 -613
  538. package/dist/forLoveAndLemons-DqSdyD6S.js +0 -665
  539. package/dist/forLoveAndLemons-Ud6mPrV3.cjs +0 -667
  540. package/dist/graphql-BNW60InJ.cjs +0 -128
  541. package/dist/graphql-CjB8wHzm.js +0 -74
  542. package/dist/graphqlConfig-CYt6tWII.js +0 -30
  543. package/dist/graphqlConfig-DicykC-o.cjs +0 -61
  544. package/dist/greenpan-B_EbPkSP.js +0 -397
  545. package/dist/greenpan-kPE4fJgd.cjs +0 -397
  546. package/dist/grooveLife-Ckuir319.js +0 -342
  547. package/dist/grooveLife-DKSEQp1F.cjs +0 -342
  548. package/dist/homegrownCannabis-BVPa2pqe.js +0 -410
  549. package/dist/homegrownCannabis-BwIAkxuA.cjs +0 -410
  550. package/dist/hooks/index.cjs +0 -63
  551. package/dist/hooks/index.d.cts +0 -314
  552. package/dist/hooks/index.d.ts +0 -314
  553. package/dist/hooks/index.js +0 -23
  554. package/dist/index-BMPtlgac.d.ts +0 -191
  555. package/dist/index-C7pGDl1A.d.ts +0 -1609
  556. package/dist/index-C9lgsCWp.d.cts +0 -203
  557. package/dist/index-Cc-wBCn6.d.ts +0 -203
  558. package/dist/index-DTu2X-YS.d.cts +0 -1609
  559. package/dist/index-OEifcBsm.d.cts +0 -191
  560. package/dist/jackArcher-B39OEIj6.cjs +0 -727
  561. package/dist/jackArcher-BwkWGybC.js +0 -727
  562. package/dist/jordanCraig-CxRH_jLi.js +0 -1786
  563. package/dist/jordanCraig-RwmWw-jM.cjs +0 -1786
  564. package/dist/kindredBravely-D78VwL20.cjs +0 -490
  565. package/dist/kindredBravely-DQDpAzdl.js +0 -490
  566. package/dist/kutFromTheKloth-TcXQkIti.js +0 -369
  567. package/dist/kutFromTheKloth-dXRrNti0.cjs +0 -369
  568. package/dist/larryAndSerges-Bh5XEXsZ.js +0 -262
  569. package/dist/larryAndSerges-COdBzOzu.cjs +0 -262
  570. package/dist/leapsAndRebounds-BbXnqkl5.cjs +0 -360
  571. package/dist/leapsAndRebounds-mjCaH1k-.js +0 -360
  572. package/dist/longevityrx-DdV3v26F.cjs +0 -320
  573. package/dist/longevityrx-DfPDfvAt.js +0 -320
  574. package/dist/lookOptic-DgXFGBPP.cjs +0 -282
  575. package/dist/lookOptic-FgVW1afF.js +0 -282
  576. package/dist/mantraBrand-C5gVm3rk.cjs +0 -750
  577. package/dist/mantraBrand-uV8HCDR8.js +0 -750
  578. package/dist/medterra-BtDpr1Hw.cjs +0 -583
  579. package/dist/medterra-DgzE7-mj.js +0 -583
  580. package/dist/modells-CJjsxOIR.js +0 -484
  581. package/dist/modells-Ck5KbRFj.cjs +0 -484
  582. package/dist/models-UZ6HszfZ.js +0 -1281
  583. package/dist/org-C2RrBVQR.cjs +0 -81
  584. package/dist/org-xMytX--e.js +0 -38
  585. package/dist/pressedFloral-Bteoboms.js +0 -661
  586. package/dist/pressedFloral-CexgV-xy.cjs +0 -661
  587. package/dist/search-BMOAmrmY.js +0 -459
  588. package/dist/search-Df0Ifneg.cjs +0 -672
  589. package/dist/skinPerfection-BGzq9lq-.cjs +0 -334
  590. package/dist/skinPerfection-BlvcEcUE.js +0 -334
  591. package/dist/snapSupplements-CbbGzAgO.cjs +0 -285
  592. package/dist/snapSupplements-kcsPAOm9.js +0 -285
  593. package/dist/socialProofClasses-Db8gzsfi.cjs +0 -40
  594. package/dist/socialProofClasses-kwDvwLOZ.js +0 -10
  595. package/dist/spanx-B4WFA_rI.js +0 -661
  596. package/dist/spanx-BWoE4F8b.cjs +0 -663
  597. package/dist/spanxStaging-BOrOjhXn.js +0 -845
  598. package/dist/spanxStaging-BfdfIug4.cjs +0 -848
  599. package/dist/suggestionBarV2-types-IMMOmCir.js +0 -10
  600. package/dist/suggestionBarV2-types-nnGNgFvR.cjs +0 -16
  601. package/dist/supergoop-22dd5_BS.js +0 -323
  602. package/dist/supergoop-B-a4cku2.cjs +0 -323
  603. package/dist/types--pr1GQQx.js +0 -154
  604. package/dist/types-BVSyY3Hk.cjs +0 -196
  605. package/dist/uniqueVintage-CJXiNNe7.js +0 -1211
  606. package/dist/uniqueVintage-D0jzJWlo.cjs +0 -1213
  607. package/dist/userIdentityContext-BPqvVIg0.d.cts +0 -20
  608. package/dist/userIdentityContext-wbCRmlzp.d.ts +0 -20
  609. package/dist/utils-C9ZSCx12.js +0 -888
  610. package/dist/utils-D5HO61hG.cjs +0 -1016
  611. package/dist/venaCbd-Bhhu_qUf.cjs +0 -365
  612. package/dist/venaCbd-CanovPS_.js +0 -365
  613. package/dist/westonJonBoucher-BC0x1ktI.cjs +0 -422
  614. package/dist/westonJonBoucher-BUu1_wP1.js +0 -422
  615. package/dist/wineEnthusiast-BlCryfil.cjs +0 -940
  616. package/dist/wineEnthusiast-Ck1x5iJq.js +0 -940
  617. package/dist/wolfMattress-D9Mjq-HP.js +0 -372
  618. package/dist/wolfMattress-JssghhC-.cjs +0 -372
  619. package/dist/wolfTactical-C6exYhL7.cjs +0 -349
  620. package/dist/wolfTactical-CnV3KQdI.js +0 -349
  621. package/src/application/models/supportedOrgs.ts +0 -161
  622. package/src/atoms/org/orgPageConfig.ts +0 -42
  623. package/src/contexts/index.ts +0 -16
  624. package/src/contexts/newOrgConfigContext.tsx +0 -104
  625. package/src/contexts/orgConfigContext.tsx +0 -106
  626. package/src/hooks/index.ts +0 -27
  627. package/src/hooks/useSystemSettingsContext.ts +0 -12
  628. package/src/merchants/bandolier/bandolier.ts +0 -1371
  629. package/src/merchants/carpe/carpe.ts +0 -653
  630. package/src/merchants/coterie/coterie.ts +0 -277
  631. package/src/merchants/default.ts +0 -196
  632. package/src/merchants/dreamlandBaby/dreamlandBaby.ts +0 -381
  633. package/src/merchants/fiveCbd/fiveCbd.ts +0 -691
  634. package/src/merchants/forLoveAndLemons/forLoveAndLemons.ts +0 -751
  635. package/src/merchants/greenpan/greenpan.ts +0 -434
  636. package/src/merchants/grooveLife/grooveLife.ts +0 -392
  637. package/src/merchants/homegrownCannabis/homegrownCannabis.ts +0 -474
  638. package/src/merchants/init-merchant.sh +0 -53
  639. package/src/merchants/jackArcher/jackArcher.ts +0 -989
  640. package/src/merchants/jordanCraig/jordanCraig.ts +0 -1927
  641. package/src/merchants/kindredBravely/kindredBravely.ts +0 -538
  642. package/src/merchants/kutFromTheKloth/kutFromTheKloth.ts +0 -421
  643. package/src/merchants/larryAndSerges/larryAndSerges.ts +0 -318
  644. package/src/merchants/leapsAndRebounds/leapsAndRebounds.ts +0 -424
  645. package/src/merchants/longevityrx/longevityrx.ts +0 -374
  646. package/src/merchants/lookOptic/lookOptic.ts +0 -323
  647. package/src/merchants/mantraBrand/mantraBrand.ts +0 -844
  648. package/src/merchants/medterra/medterra.ts +0 -673
  649. package/src/merchants/modells/modells.ts +0 -543
  650. package/src/merchants/pressedFloral/pressedFloral.ts +0 -728
  651. package/src/merchants/skinPerfection/skinPerfection.ts +0 -385
  652. package/src/merchants/snapSupplements/snapSupplements.ts +0 -328
  653. package/src/merchants/spanx/spanx.ts +0 -810
  654. package/src/merchants/spanx/spanxStaging.ts +0 -936
  655. package/src/merchants/supergoop/supergoop.ts +0 -375
  656. package/src/merchants/uniqueVintage/uniqueVintage.ts +0 -1314
  657. package/src/merchants/venaCbd/venaCbd.ts +0 -407
  658. package/src/merchants/westonJonBoucher/westonJonBoucher.ts +0 -473
  659. package/src/merchants/wineEnthusiast/wineEnthusiast.ts +0 -990
  660. package/src/merchants/wolfMattress/wolfMattress.ts +0 -411
  661. package/src/merchants/wolfTactical/wolfTactical.ts +0 -383
  662. /package/dist/{atomStore-KSoFS3Jj.cjs → AmplitudeOperations-CNyxbBY6.cjs} +0 -0
  663. /package/dist/{atomStore-CZnUUsrr.js → AmplitudeOperations-Oa2efWtF.js} +0 -0
  664. /package/dist/{locators-fBXS_pxP.js → atomStore-BS6qtYZF.js} +0 -0
  665. /package/dist/{locators-0YYZu9n4.cjs → atomStore-BjRyLFEx.cjs} +0 -0
  666. /package/dist/{utilityTypes-8sETsYPk.js → types-DtTnp0o0.js} +0 -0
  667. /package/dist/{utilityTypes-COShxVir.cjs → types-a8gm_IaQ.cjs} +0 -0
  668. /package/dist/{variantInfo-orXoPBCU.cjs → types.cjs} +0 -0
  669. /package/dist/{variantInfo-DbVxA1yE.js → types.js} +0 -0
  670. /package/src/contexts/{featureFlagServiceContext.tsx → featureFlagServiceContext/featureFlagServiceContext.tsx} +0 -0
  671. /package/src/contexts/{graphqlContext.tsx → graphqlContext/graphqlContext.tsx} +0 -0
  672. /package/src/contexts/{shopifyUrlContext.tsx → shopifyUrlContext/shopifyUrlContext.tsx} +0 -0
  673. /package/src/contexts/{systemSettingsContext.tsx → systemSettingsContext/systemSettingsContext.tsx} +0 -0
  674. /package/src/contexts/{userIdentityContext.tsx → userIdentityContext/userIdentityContext.tsx} +0 -0
  675. /package/src/hooks/{useBlockBackButton.ts → BlockBackButton/useBlockBackButton.ts} +0 -0
  676. /package/src/hooks/{useCustomerSupportHandoff.ts → CustomerSupportHandoff/useCustomerSupportHandoff.ts} +0 -0
  677. /package/src/hooks/{useDebounce.ts → Debounce/useDebounce.ts} +0 -0
  678. /package/src/hooks/{useElementObserver.ts → ElementObserver/useElementObserver.ts} +0 -0
  679. /package/src/hooks/{useGrabAndScroll.ts → GrabAndScroll/useGrabAndScroll.ts} +0 -0
  680. /package/src/hooks/{useImageResolver.ts → ImageResolver/useImageResolver.ts} +0 -0
  681. /package/src/hooks/{useIntersection.ts → Intersection/useIntersection.ts} +0 -0
  682. /package/src/hooks/{useIsSmallScreen.ts → IsSmallScreen/useIsSmallScreen.ts} +0 -0
  683. /package/src/hooks/{useMessageFilter.ts → MessageFilter/useMessageFilter.ts} +0 -0
  684. /package/src/hooks/{useMessageScrollObserver.ts → MessageScrollObserver/useMessageScrollObserver.ts} +0 -0
  685. /package/src/hooks/{useSearchOperations.ts → SearchOperations/useSearchOperations.ts} +0 -0
  686. /package/src/hooks/{useSnapCalculator.ts → SnapCalculator/useSnapCalculator.ts} +0 -0
@@ -1,1213 +0,0 @@
1
- const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- const require_models = require('./models-BkXg5eIP.cjs');
3
- const require_types = require('./types-BVSyY3Hk.cjs');
4
- require('./graphql-BNW60InJ.cjs');
5
- require('./api-_JaUnIUj.cjs');
6
- require('./utilityTypes-COShxVir.cjs');
7
- require('./variantInfo-orXoPBCU.cjs');
8
- require('./enviveConfig-BccuzS2a.cjs');
9
- require('./atomStore-B4jIaDPd.cjs');
10
- const require_suggestionBarV2_types = require('./suggestionBarV2-types-nnGNgFvR.cjs');
11
- require('./chat-BubCW1as.cjs');
12
- require('./components-Cw9WjA6g.cjs');
13
- const require_embedded = require('./embedded-Dl79TJLC.cjs');
14
- require('./locators-0YYZu9n4.cjs');
15
- const require_cdnUtils = require('./cdnUtils-32v8bDX9.cjs');
16
- const require_default = require('./default-BnB4p0Se.cjs');
17
- const require_divIds = require('./divIds-2dJlU3z8.cjs');
18
- let __spiffy_ai_commerce_api_client = require("@spiffy-ai/commerce-api-client");
19
- __spiffy_ai_commerce_api_client = require_chunk.__toESM(__spiffy_ai_commerce_api_client);
20
-
21
- //#region src/merchants/uniqueVintage/uniqueVintage.ts
22
- const uniqueVintageColors = {
23
- [require_types.ColorNames.TextPrimary]: "#000000",
24
- [require_types.ColorNames.TextSecondary]: "#595959",
25
- [require_types.ColorNames.TextAccent]: "#1D4A4F",
26
- [require_types.ColorNames.TextLink]: "#222222",
27
- [require_types.ColorNames.TextLight]: "#FFFFFF",
28
- [require_types.ColorNames.BackgroundPrimary]: "#FADDD5",
29
- [require_types.ColorNames.BackgroundSecondary]: "#FFFDF3",
30
- [require_types.ColorNames.BackgroundSecondaryDark]: "#EBE9E0",
31
- [require_types.ColorNames.BackgroundTertiary]: "#1D4A4F",
32
- [require_types.ColorNames.BackgroundDark]: "#222222",
33
- [require_types.ColorNames.BackgroundLight]: "#FFFFFF",
34
- [require_types.ColorNames.BackgroundSaturated]: "#FADDD5",
35
- [require_types.ColorNames.BorderLight]: "#E7E7E7",
36
- [require_types.ColorNames.BorderMedium]: "#C2C4C8",
37
- [require_types.ColorNames.BorderDark]: "#595959",
38
- [require_types.ColorNames.BorderOutline]: "#222222",
39
- [require_types.ColorNames.AccentPrimary]: "#FADDD5",
40
- [require_types.ColorNames.AccentSecondary]: "#C0E7D6"
41
- };
42
- const uniqueVintageOrgUIConfig = () => {
43
- const defaultUniqueVintageOrgConfig = require_default.defaultOrgUIConfig(require_types.OrgShortName.UniqueVintage);
44
- return {
45
- ...defaultUniqueVintageOrgConfig,
46
- chatMessageConfig: {
47
- ...defaultUniqueVintageOrgConfig.chatMessageConfig,
48
- assistantChatTitle: "Unique Vintage AI",
49
- variant: "standard"
50
- },
51
- chatHeader: {
52
- ...defaultUniqueVintageOrgConfig.chatHeader,
53
- chevronColor: require_types.colorVar(require_types.ColorNames.BackgroundDark),
54
- expandedColor: require_types.colorVar(require_types.ColorNames.BackgroundPrimary),
55
- imageSrc: require_cdnUtils.getCdnAssetURL("unique-vintage-long-logo.png", require_types.OrgShortName.UniqueVintage)
56
- },
57
- chatPreviewConfig: {
58
- ...defaultUniqueVintageOrgConfig.chatPreviewConfig,
59
- variant: "filled",
60
- filledBackgroundColor: require_types.colorVar(require_types.ColorNames.AccentSecondary),
61
- iconFillColor: require_types.colorVar(require_types.ColorNames.AccentPrimary),
62
- buttonTextColor: require_types.colorVar(require_types.ColorNames.TextLight),
63
- buttonBackgroundColor: require_types.colorVar(require_types.ColorNames.BackgroundDark),
64
- buttonTextHoverColor: require_types.colorVar(require_types.ColorNames.TextPrimary),
65
- buttonBackgroundHoverColor: require_types.colorVar(require_types.ColorNames.BackgroundSecondaryDark),
66
- topMargin: 10,
67
- copies: {
68
- plp: [
69
- "a classic swimsuit that's perfect for poolside glamour?",
70
- "a skirt that twirls like it's straight out of the '50s?",
71
- "a handbag inspired by iconic eras?",
72
- "a dress that turns every head in the room?"
73
- ],
74
- pdp: [
75
- "the vintage-inspired details that make this piece timeless?",
76
- "what makes this style a true throwback treasure?",
77
- "what luxe materials will elevate your look?",
78
- "the size that's right for you?"
79
- ]
80
- },
81
- staticSuggestionCopies: {
82
- plp: [
83
- "What casual vintage pieces work for everyday wear?",
84
- "What pieces can I mix and match for a vintage-inspired wardrobe?",
85
- "What shoes are perfect for date nights and special occasions?",
86
- "What accessories can I add to elevate my vintage look?"
87
- ],
88
- pdp: [
89
- "What size will give me the right fit?",
90
- "How do I keep this piece in perfect condition for years to come?",
91
- "What features makes this piece the ideal statement for a vintage lover?",
92
- "How does this piece embody the spirit of past eras with modern style?"
93
- ]
94
- },
95
- headerConfig: {
96
- title: "Shopping Assistant",
97
- sparklesColor: void 0,
98
- imageHeight: 24,
99
- imageSrc: require_cdnUtils.getCdnAssetURL("unique-vintage-long-logo.png", require_types.OrgShortName.UniqueVintage)
100
- },
101
- footerConfig: {
102
- ...defaultUniqueVintageOrgConfig.chatPreviewConfig.footerConfig,
103
- replyButtonText: "What can I help you find?",
104
- replyButtonIcon: "magnifyingGlass",
105
- hasFade: false
106
- }
107
- },
108
- floatingEntrypointConfig: {
109
- ...defaultUniqueVintageOrgConfig.floatingEntrypointConfig,
110
- showOption: "always",
111
- expandedColor: require_types.colorVar(require_types.ColorNames.BorderOutline),
112
- iconStrokeColor: require_types.colorVar(require_types.ColorNames.BackgroundDark),
113
- iconFillColor: require_types.colorVar(require_types.ColorNames.BackgroundDark),
114
- expansionText: {
115
- pdp: "Will this complete your retro wardrobe?",
116
- plp: "What vintage treasure will you find today?"
117
- }
118
- },
119
- productCardConfig: { ...defaultUniqueVintageOrgConfig.productCardConfig },
120
- productReviewConfig: {
121
- ...defaultUniqueVintageOrgConfig.productReviewConfig,
122
- colorVariant: "brand",
123
- incentivizedReviewFlag: false
124
- },
125
- welcomeSectionConfig: {
126
- ...defaultUniqueVintageOrgConfig.welcomeSectionConfig,
127
- title: "Welcome to Unique Vintage AI!",
128
- colorVariant: "brand",
129
- subtitle: "Hello, darling! I'm here to help you find everything you need to channel your unique, vintage-inspired style. Whether you're searching for the perfect outfit, need sizing advice, or just want to explore fabulous accessories, let's make your shopping experience as glamorous as you are!"
130
- },
131
- customerServiceIntegration: {
132
- integrationMode: require_default.CustomerServiceIntegrationMode.simple,
133
- provider: require_default.CustomerServiceType.zowie
134
- },
135
- conversationalSearch: {
136
- enabled: true,
137
- replyInput: {
138
- sendIcon: "search",
139
- placeholder: "What can I help you find?"
140
- },
141
- entrypointContainer: "id|chat-search-entrypoint",
142
- productGridContainer: "id|chat-search-product-page",
143
- searchContent: "query|.ss__autocomplete--target",
144
- pageContent: "id|MainContent",
145
- generalSearchBtn: "query|button.modal__close-button"
146
- },
147
- searchConfig: {
148
- enableGlobalSearch: true,
149
- searchFilterConfig: [
150
- {
151
- filterId: "color",
152
- displayName: "Color",
153
- attribute: "colors",
154
- type: "dynamic",
155
- sorting: { type: "alphabetic" }
156
- },
157
- {
158
- filterId: "size",
159
- displayName: "Size",
160
- type: "dynamic",
161
- attribute: "sizes",
162
- sorting: {
163
- type: "custom",
164
- map: {
165
- "One Size": 10,
166
- "XXS / 0": 20,
167
- "XS / 2": 30,
168
- "S / 4": 40,
169
- "M / 6 - 8": 50,
170
- "L / 10 - 12": 60,
171
- "XL / 14": 70,
172
- "1X / 16": 80,
173
- "2X / 18": 90,
174
- "3X / 20": 100,
175
- "4X / 22 - 24": 110,
176
- "5X / 26": 120,
177
- "6X": 130
178
- }
179
- }
180
- },
181
- {
182
- filterId: "price",
183
- displayName: "Price",
184
- type: "price",
185
- bucketSize: 50
186
- }
187
- ]
188
- },
189
- merchantOverrideCss: `
190
- #spiffy-modal-container {
191
- z-index: 2147483001 !important;
192
- }
193
- .spiffy-star-rating-star {
194
- fill: var(--spiffy-colors-text-accent) !important;
195
- }
196
- .spiffy-product-review-header-reviewer {
197
- color: var(--spiffy-colors-text-primary) !important;
198
- }
199
-
200
- /* WelcomeSection light text override */
201
- .spiffy-welcome-section-message-title {
202
- color: var(--spiffy-colors-text-light) !important;
203
- }
204
- .spiffy-welcome-section-message-subtitle {
205
- color: var(--spiffy-colors-text-light) !important;
206
- }
207
-
208
- #spiffy-ai-chat-preview {
209
- display: block;
210
- }
211
- #chat-search-product-page {
212
- display: block;
213
- }
214
- #chat-search-nav-entrypoint {
215
- display: flex;
216
- }
217
- #spiffy-ai-chat-preview.is-pdp {
218
- padding-top: 8px;
219
- border-top: solid 1px var(--spiffy-colors-border-light);
220
- }
221
- #spiffy-top-suggestion-bar-id {
222
- display: block;
223
- }
224
- #spiffy-ai-chat-preview {
225
- display: block;
226
- }
227
- #spiffy-bottom-reviews-bar-id {
228
- display: block;
229
- }
230
- .spiffy-chat-search-entrypoint-container {
231
- background: var(--spiffy-colors-background-primary) !important;
232
- border-color: var(--spiffy-colors-background-dark) !important;
233
- }
234
- .spiffy-chat-search-entrypoint-container .spiffy-button-base-button {
235
- color: var(--spiffy-colors-text-primary) !important;
236
- border: none;
237
- }
238
- .spiffy-chat-search-entrypoint-text p {
239
- font-family: 'Bookmania-SemiBold' !important;
240
- font-size: 16px !important;
241
- }
242
- #spiffy-ai-chat-preview-contents h1, h2, h3, h4, h5, h6 {
243
- --chakra-fonts-heading: 'Bookmania-Regular', 'Poppins', sans-serif;
244
- }
245
- .spiffy-headline {
246
- font-family: 'Bookmania-Regular', 'Poppins', sans-serif;
247
- }
248
- #spiffy-model-container h1, h2, h3, h4, h5, h6 {
249
- font-family: var(--chakra-fonts-heading);
250
- }
251
- #spiffy-model-container h1, h2, h3, h4, h5, h6 {
252
- --chakra-fonts-heading: 'Bookmania-Regular', 'Poppins', sans-serif;
253
- }
254
- .spiffy-suggestion-button-question-class {
255
- border: 1px solid var(--spiffy-colors-border-light);
256
- }
257
- .spiffy-tag-pill-text {
258
- color: var(--spiffy-colors-text-light) !important;
259
- }
260
- #return-to-results-button {
261
- display: block;
262
- }
263
- .spiffy-back-to-results-button {
264
- margin-left: 30px;
265
- margin-top: 30px;
266
- @media (max-width: 768px) {
267
- margin-left: 20px;
268
- margin-top: 20px;
269
- }
270
- }
271
- @media (max-width: 992px) {
272
- #chat-search-entrypoint {
273
- display: none;
274
- }
275
- }
276
- #chat-search-entrypoint-mobile {
277
- display: none;
278
- }
279
- .ss__autocomplete--active #chat-search-entrypoint-mobile {
280
- display: flex;
281
- }
282
- .spiffy-product-card-title {
283
- font-family: var(--chakra-fonts-heading);
284
- color: var(--spiffy-colors-text-link);
285
- }
286
- .spiffy-product-card-text-color {
287
- color: var(--spiffy-colors-text-secondary);
288
- }
289
-
290
- .spiffy-chat-header-close-button {
291
- color: var(--spiffy-colors-background-primary);
292
- background-color: var(--spiffy-colors-background-tertiary);
293
- }
294
-
295
- #spiffy-top-suggestion-bar-contents .spiffy-suggestion-button-question-class span {
296
- color: var(--spiffy-colors-text-accent) !important;
297
- }
298
-
299
- #spiffy-top-suggestion-bar-contents .spiffy-suggestion-button-question-class svg {
300
- fill: var(--spiffy-colors-text-accent) !important;
301
- stroke: var(--spiffy-colors-text-accent) !important;
302
- }
303
-
304
- #spiffy-bottom-suggestion-bar-contents .spiffy-suggestion-button-question-class svg {
305
- fill: var(--spiffy-colors-accent-primary) !important;
306
- stroke: var(--spiffy-colors-accent-primary) !important;
307
- }
308
-
309
- #spiffy-bottom-suggestion-bar-contents .spiffy-suggestion-button-question-class:hover svg {
310
- fill: var(--spiffy-colors-text-link) !important;
311
- stroke: var(--spiffy-colors-text-link) !important;
312
- }
313
-
314
- #spiffy-ai-global-search-entrypoint.global-entry-desktop {
315
- display: block;
316
- }
317
- #spiffy-ai-global-search-entrypoint-mobile.global-entry-mobile {
318
- display: none;
319
- }
320
-
321
- @media (max-width: 992px) {
322
- #spiffy-ai-global-search-entrypoint.global-entry-desktop {
323
- display: none;
324
- }
325
- #spiffy-ai-global-search-entrypoint-mobile.global-entry-mobile {
326
- display: block;
327
- }
328
- }
329
-
330
- #spiffy-ai-global-search-entrypoint.global-entry-desktop .spiffy-global-search-input-container {
331
- height: 80px;
332
- }
333
-
334
- .spiffy-global-search-input-container .spiffy-global-search-text {
335
- font-family: "Poly", serif;
336
- color: var(--spiffy-colors-text-link) !important;
337
- font-weight: 500;
338
- line-height: 80px;
339
- padding-top: 6px;
340
- }
341
-
342
- .spiffy-search-overlay-content .spiffy-headline {
343
- font-family: "Poly", serif;
344
- @media (min-width: 480px) {
345
- font-size: 32px;
346
- }
347
- }
348
-
349
- .spiffy-search-overlay-content .spiffy-body-text {
350
- font-family: "Poly", serif;
351
- }
352
-
353
- .spiffy-global-search-input-container svg {
354
- width: 26px;
355
- }
356
- `
357
- };
358
- };
359
- const uniqueVintagePageConfig = () => ({
360
- pageVariants: [
361
- {
362
- variantId: "search-results",
363
- variantType: "page_visit",
364
- variantTests: [
365
- { testType: require_types.PageVariantTestType.ShopifyPLP },
366
- {
367
- testType: require_types.PageVariantTestType.QueryParam,
368
- queryParam: "q"
369
- },
370
- {
371
- testType: require_types.PageVariantTestType.PageCategory,
372
- extractor: {
373
- type: require_types.CategoryExtractorType.VisitCategoryDefault,
374
- value: __spiffy_ai_commerce_api_client.PageVisitCategory.Other
375
- }
376
- }
377
- ],
378
- widgetMounting: []
379
- },
380
- {
381
- variantId: "plp-global-search",
382
- variantType: "plp",
383
- variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPLP }, {
384
- testType: require_types.PageVariantTestType.FeatureGate,
385
- featureGate: require_models.FeatureGates.IsGlobalSearchEnabled
386
- }],
387
- plpIdExtractor: "shopify-collection-id",
388
- widgetMounting: [
389
- {
390
- mountingConfigId: "globalSearchEntryPoint",
391
- widgetConfigId: "globalSearchEntryPoint"
392
- },
393
- {
394
- mountingConfigId: "globalSearchEntryPointMobile",
395
- widgetConfigId: "globalSearchEntryPointMobile"
396
- },
397
- {
398
- mountingConfigId: "chatPreviewPLP",
399
- widgetConfigId: "chatPreviewPLP"
400
- }
401
- ]
402
- },
403
- {
404
- variantId: "plp-search",
405
- variantType: "plp",
406
- variantTests: [{
407
- testType: require_types.PageVariantTestType.FeatureGate,
408
- featureGate: require_models.FeatureGates.IsNewFeatureEnabled
409
- }, { testType: require_types.PageVariantTestType.ShopifyPLP }],
410
- plpIdExtractor: "shopify-collection-id",
411
- widgetMounting: [{
412
- mountingConfigId: "chatPreviewPLP",
413
- widgetConfigId: "searchPromptPLP"
414
- }]
415
- },
416
- {
417
- variantId: "plp",
418
- variantType: "plp",
419
- variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPLP }],
420
- plpIdExtractor: "shopify-collection-id",
421
- widgetMounting: [{
422
- mountingConfigId: "chatPreviewPLP",
423
- widgetConfigId: "chatPreviewPLP"
424
- }]
425
- },
426
- {
427
- variantId: "pdpDressesHasReviewsGlobalSearch",
428
- variantType: "pdp",
429
- variantTests: [
430
- { testType: require_types.PageVariantTestType.ShopifyPDP },
431
- {
432
- testType: require_types.PageVariantTestType.InCollection,
433
- collections: ["dresses"]
434
- },
435
- {
436
- testType: require_types.PageVariantTestType.HasReviews,
437
- reviewMinimum: 4
438
- },
439
- {
440
- testType: require_types.PageVariantTestType.FeatureGate,
441
- featureGate: require_models.FeatureGates.IsGlobalSearchEnabled
442
- }
443
- ],
444
- productIdExtractor: "shopify-product-id",
445
- widgetMounting: [
446
- {
447
- mountingConfigId: "globalSearchEntryPoint",
448
- widgetConfigId: "globalSearchEntryPoint"
449
- },
450
- {
451
- mountingConfigId: "globalSearchEntryPointMobile",
452
- widgetConfigId: "globalSearchEntryPointMobile"
453
- },
454
- {
455
- mountingConfigId: "topSuggestionBarPDP",
456
- widgetConfigId: "topSuggestionsBarDressesHasReviews"
457
- },
458
- {
459
- mountingConfigId: "chatPreviewPDP",
460
- widgetConfigId: "chatPreviewPDP"
461
- },
462
- {
463
- mountingConfigId: "bottomSuggestionBarPDP",
464
- widgetConfigId: "bottomSuggestionsBar"
465
- }
466
- ]
467
- },
468
- {
469
- variantId: "pdpDressesNoReviewsGlobalSearch",
470
- variantType: "pdp",
471
- variantTests: [
472
- { testType: require_types.PageVariantTestType.ShopifyPDP },
473
- {
474
- testType: require_types.PageVariantTestType.InCollection,
475
- collections: ["dresses"]
476
- },
477
- {
478
- testType: require_types.PageVariantTestType.FeatureGate,
479
- featureGate: require_models.FeatureGates.IsGlobalSearchEnabled
480
- }
481
- ],
482
- productIdExtractor: "shopify-product-id",
483
- widgetMounting: [
484
- {
485
- mountingConfigId: "globalSearchEntryPoint",
486
- widgetConfigId: "globalSearchEntryPoint"
487
- },
488
- {
489
- mountingConfigId: "globalSearchEntryPointMobile",
490
- widgetConfigId: "globalSearchEntryPointMobile"
491
- },
492
- {
493
- mountingConfigId: "topSuggestionBarPDP",
494
- widgetConfigId: "topSuggestionsBarDressesNoReviews"
495
- },
496
- {
497
- mountingConfigId: "chatPreviewPDP",
498
- widgetConfigId: "chatPreviewPDP"
499
- },
500
- {
501
- mountingConfigId: "bottomSuggestionBarPDP",
502
- widgetConfigId: "bottomSuggestionsBar"
503
- }
504
- ]
505
- },
506
- {
507
- variantId: "pdpSwimwearHasReviewsGlobalSearch",
508
- variantType: "pdp",
509
- variantTests: [
510
- { testType: require_types.PageVariantTestType.ShopifyPDP },
511
- {
512
- testType: require_types.PageVariantTestType.InCollection,
513
- collections: ["swim-html"]
514
- },
515
- {
516
- testType: require_types.PageVariantTestType.HasReviews,
517
- reviewMinimum: 4
518
- },
519
- {
520
- testType: require_types.PageVariantTestType.FeatureGate,
521
- featureGate: require_models.FeatureGates.IsGlobalSearchEnabled
522
- }
523
- ],
524
- productIdExtractor: "shopify-product-id",
525
- widgetMounting: [
526
- {
527
- mountingConfigId: "globalSearchEntryPoint",
528
- widgetConfigId: "globalSearchEntryPoint"
529
- },
530
- {
531
- mountingConfigId: "globalSearchEntryPointMobile",
532
- widgetConfigId: "globalSearchEntryPointMobile"
533
- },
534
- {
535
- mountingConfigId: "topSuggestionBarPDP",
536
- widgetConfigId: "topSuggestionsBarSwimwearHasReviews"
537
- },
538
- {
539
- mountingConfigId: "chatPreviewPDP",
540
- widgetConfigId: "chatPreviewPDP"
541
- },
542
- {
543
- mountingConfigId: "bottomSuggestionBarPDP",
544
- widgetConfigId: "bottomSuggestionsBar"
545
- }
546
- ]
547
- },
548
- {
549
- variantId: "pdpSwimwearNoReviewsGlobalSearch",
550
- variantType: "pdp",
551
- variantTests: [
552
- { testType: require_types.PageVariantTestType.ShopifyPDP },
553
- {
554
- testType: require_types.PageVariantTestType.InCollection,
555
- collections: ["swim-html"]
556
- },
557
- {
558
- testType: require_types.PageVariantTestType.FeatureGate,
559
- featureGate: require_models.FeatureGates.IsGlobalSearchEnabled
560
- }
561
- ],
562
- productIdExtractor: "shopify-product-id",
563
- widgetMounting: [
564
- {
565
- mountingConfigId: "globalSearchEntryPoint",
566
- widgetConfigId: "globalSearchEntryPoint"
567
- },
568
- {
569
- mountingConfigId: "globalSearchEntryPointMobile",
570
- widgetConfigId: "globalSearchEntryPointMobile"
571
- },
572
- {
573
- mountingConfigId: "topSuggestionBarPDP",
574
- widgetConfigId: "topSuggestionsBarSwimwearNoReviews"
575
- },
576
- {
577
- mountingConfigId: "chatPreviewPDP",
578
- widgetConfigId: "chatPreviewPDP"
579
- },
580
- {
581
- mountingConfigId: "bottomSuggestionBarPDP",
582
- widgetConfigId: "bottomSuggestionsBar"
583
- }
584
- ]
585
- },
586
- {
587
- variantId: "pdpShoesHasReviewsGlobalSearch",
588
- variantType: "pdp",
589
- variantTests: [
590
- { testType: require_types.PageVariantTestType.ShopifyPDP },
591
- {
592
- testType: require_types.PageVariantTestType.InCollection,
593
- collections: ["shoes"]
594
- },
595
- {
596
- testType: require_types.PageVariantTestType.HasReviews,
597
- reviewMinimum: 4
598
- },
599
- {
600
- testType: require_types.PageVariantTestType.FeatureGate,
601
- featureGate: require_models.FeatureGates.IsGlobalSearchEnabled
602
- }
603
- ],
604
- productIdExtractor: "shopify-product-id",
605
- widgetMounting: [
606
- {
607
- mountingConfigId: "globalSearchEntryPoint",
608
- widgetConfigId: "globalSearchEntryPoint"
609
- },
610
- {
611
- mountingConfigId: "globalSearchEntryPointMobile",
612
- widgetConfigId: "globalSearchEntryPointMobile"
613
- },
614
- {
615
- mountingConfigId: "topSuggestionBarPDP",
616
- widgetConfigId: "topSuggestionsBarShoesHasReviews"
617
- },
618
- {
619
- mountingConfigId: "chatPreviewPDP",
620
- widgetConfigId: "chatPreviewPDP"
621
- },
622
- {
623
- mountingConfigId: "bottomSuggestionBarPDP",
624
- widgetConfigId: "bottomSuggestionsBar"
625
- }
626
- ]
627
- },
628
- {
629
- variantId: "pdpShoesNoReviewsGlobalSearch",
630
- variantType: "pdp",
631
- variantTests: [
632
- { testType: require_types.PageVariantTestType.ShopifyPDP },
633
- {
634
- testType: require_types.PageVariantTestType.InCollection,
635
- collections: ["shoes"]
636
- },
637
- {
638
- testType: require_types.PageVariantTestType.FeatureGate,
639
- featureGate: require_models.FeatureGates.IsGlobalSearchEnabled
640
- }
641
- ],
642
- productIdExtractor: "shopify-product-id",
643
- widgetMounting: [
644
- {
645
- mountingConfigId: "globalSearchEntryPoint",
646
- widgetConfigId: "globalSearchEntryPoint"
647
- },
648
- {
649
- mountingConfigId: "globalSearchEntryPointMobile",
650
- widgetConfigId: "globalSearchEntryPointMobile"
651
- },
652
- {
653
- mountingConfigId: "topSuggestionBarPDP",
654
- widgetConfigId: "topSuggestionsBarShoesNoReviews"
655
- },
656
- {
657
- mountingConfigId: "chatPreviewPDP",
658
- widgetConfigId: "chatPreviewPDP"
659
- },
660
- {
661
- mountingConfigId: "bottomSuggestionBarPDP",
662
- widgetConfigId: "bottomSuggestionsBar"
663
- }
664
- ]
665
- },
666
- {
667
- variantId: "pdpGlobalSearch",
668
- variantType: "pdp",
669
- variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPDP }, {
670
- testType: require_types.PageVariantTestType.FeatureGate,
671
- featureGate: require_models.FeatureGates.IsGlobalSearchEnabled
672
- }],
673
- productIdExtractor: "shopify-product-id",
674
- widgetMounting: [
675
- {
676
- mountingConfigId: "globalSearchEntryPoint",
677
- widgetConfigId: "globalSearchEntryPoint"
678
- },
679
- {
680
- mountingConfigId: "globalSearchEntryPointMobile",
681
- widgetConfigId: "globalSearchEntryPointMobile"
682
- },
683
- {
684
- mountingConfigId: "topSuggestionBarPDP",
685
- widgetConfigId: "topSuggestionsBar"
686
- },
687
- {
688
- mountingConfigId: "chatPreviewPDP",
689
- widgetConfigId: "chatPreviewPDP"
690
- },
691
- {
692
- mountingConfigId: "bottomSuggestionBarPDP",
693
- widgetConfigId: "bottomSuggestionsBar"
694
- }
695
- ]
696
- },
697
- {
698
- variantId: "pdpDressesHasReviews",
699
- variantType: "pdp",
700
- variantTests: [
701
- { testType: require_types.PageVariantTestType.ShopifyPDP },
702
- {
703
- testType: require_types.PageVariantTestType.InCollection,
704
- collections: ["dresses"]
705
- },
706
- {
707
- testType: require_types.PageVariantTestType.HasReviews,
708
- reviewMinimum: 4
709
- }
710
- ],
711
- productIdExtractor: "shopify-product-id",
712
- widgetMounting: [
713
- {
714
- mountingConfigId: "topSuggestionBarPDP",
715
- widgetConfigId: "topSuggestionsBarDressesHasReviews"
716
- },
717
- {
718
- mountingConfigId: "chatPreviewPDP",
719
- widgetConfigId: "chatPreviewPDP"
720
- },
721
- {
722
- mountingConfigId: "bottomSuggestionBarPDP",
723
- widgetConfigId: "bottomSuggestionsBar"
724
- }
725
- ]
726
- },
727
- {
728
- variantId: "pdpDressesNoReviews",
729
- variantType: "pdp",
730
- variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPDP }, {
731
- testType: require_types.PageVariantTestType.InCollection,
732
- collections: ["dresses"]
733
- }],
734
- productIdExtractor: "shopify-product-id",
735
- widgetMounting: [
736
- {
737
- mountingConfigId: "topSuggestionBarPDP",
738
- widgetConfigId: "topSuggestionsBarDressesNoReviews"
739
- },
740
- {
741
- mountingConfigId: "chatPreviewPDP",
742
- widgetConfigId: "chatPreviewPDP"
743
- },
744
- {
745
- mountingConfigId: "bottomSuggestionBarPDP",
746
- widgetConfigId: "bottomSuggestionsBar"
747
- }
748
- ]
749
- },
750
- {
751
- variantId: "pdpSwimwearHasReviews",
752
- variantType: "pdp",
753
- variantTests: [
754
- { testType: require_types.PageVariantTestType.ShopifyPDP },
755
- {
756
- testType: require_types.PageVariantTestType.InCollection,
757
- collections: ["swim-html"]
758
- },
759
- {
760
- testType: require_types.PageVariantTestType.HasReviews,
761
- reviewMinimum: 4
762
- }
763
- ],
764
- productIdExtractor: "shopify-product-id",
765
- widgetMounting: [
766
- {
767
- mountingConfigId: "topSuggestionBarPDP",
768
- widgetConfigId: "topSuggestionsBarSwimwearHasReviews"
769
- },
770
- {
771
- mountingConfigId: "chatPreviewPDP",
772
- widgetConfigId: "chatPreviewPDP"
773
- },
774
- {
775
- mountingConfigId: "bottomSuggestionBarPDP",
776
- widgetConfigId: "bottomSuggestionsBar"
777
- }
778
- ]
779
- },
780
- {
781
- variantId: "pdpSwimwearNoReviews",
782
- variantType: "pdp",
783
- variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPDP }, {
784
- testType: require_types.PageVariantTestType.InCollection,
785
- collections: ["swim-html"]
786
- }],
787
- productIdExtractor: "shopify-product-id",
788
- widgetMounting: [
789
- {
790
- mountingConfigId: "topSuggestionBarPDP",
791
- widgetConfigId: "topSuggestionsBarSwimwearNoReviews"
792
- },
793
- {
794
- mountingConfigId: "chatPreviewPDP",
795
- widgetConfigId: "chatPreviewPDP"
796
- },
797
- {
798
- mountingConfigId: "bottomSuggestionBarPDP",
799
- widgetConfigId: "bottomSuggestionsBar"
800
- }
801
- ]
802
- },
803
- {
804
- variantId: "pdpShoesHasReviews",
805
- variantType: "pdp",
806
- variantTests: [
807
- { testType: require_types.PageVariantTestType.ShopifyPDP },
808
- {
809
- testType: require_types.PageVariantTestType.InCollection,
810
- collections: ["shoes"]
811
- },
812
- {
813
- testType: require_types.PageVariantTestType.HasReviews,
814
- reviewMinimum: 4
815
- }
816
- ],
817
- productIdExtractor: "shopify-product-id",
818
- widgetMounting: [
819
- {
820
- mountingConfigId: "topSuggestionBarPDP",
821
- widgetConfigId: "topSuggestionsBarShoesHasReviews"
822
- },
823
- {
824
- mountingConfigId: "chatPreviewPDP",
825
- widgetConfigId: "chatPreviewPDP"
826
- },
827
- {
828
- mountingConfigId: "bottomSuggestionBarPDP",
829
- widgetConfigId: "bottomSuggestionsBar"
830
- }
831
- ]
832
- },
833
- {
834
- variantId: "pdpShoesNoReviews",
835
- variantType: "pdp",
836
- variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPDP }, {
837
- testType: require_types.PageVariantTestType.InCollection,
838
- collections: ["shoes"]
839
- }],
840
- productIdExtractor: "shopify-product-id",
841
- widgetMounting: [
842
- {
843
- mountingConfigId: "topSuggestionBarPDP",
844
- widgetConfigId: "topSuggestionsBarShoesNoReviews"
845
- },
846
- {
847
- mountingConfigId: "chatPreviewPDP",
848
- widgetConfigId: "chatPreviewPDP"
849
- },
850
- {
851
- mountingConfigId: "bottomSuggestionBarPDP",
852
- widgetConfigId: "bottomSuggestionsBar"
853
- }
854
- ]
855
- },
856
- {
857
- variantId: "pdp",
858
- variantType: "pdp",
859
- variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPDP }],
860
- productIdExtractor: "shopify-product-id",
861
- widgetMounting: [
862
- {
863
- mountingConfigId: "topSuggestionBarPDP",
864
- widgetConfigId: "topSuggestionsBar"
865
- },
866
- {
867
- mountingConfigId: "chatPreviewPDP",
868
- widgetConfigId: "chatPreviewPDP"
869
- },
870
- {
871
- mountingConfigId: "bottomSuggestionBarPDP",
872
- widgetConfigId: "bottomSuggestionsBar"
873
- }
874
- ]
875
- }
876
- ],
877
- widgetConfigs: {
878
- globalSearchEntryPoint: {
879
- widgetConfigId: "globalSearchEntryPoint",
880
- type: require_types.WidgetType.SearchZeroStateEntryPoint,
881
- searchZeroStateVariant: "backgroundTertiary",
882
- searchInputVariant: "standard",
883
- suggestionButtonConfig: {
884
- variant: "darkAccent",
885
- hoverVariant: "secondaryAccent"
886
- },
887
- layout: "icon",
888
- compactLabel: "Search",
889
- searchBoxPlaceholder: "Try \"Colorful maxi for a summer wedding\"",
890
- initialSuggestions: [
891
- "Vintage dresses",
892
- "Maxi dresses",
893
- "Disney outfit",
894
- "Barbie collection",
895
- "1970s jumpsuit",
896
- "One-piece swimsuit",
897
- "Cinderella divine dresses"
898
- ]
899
- },
900
- globalSearchEntryPointMobile: {
901
- widgetConfigId: "globalSearchEntryPointMobile",
902
- type: require_types.WidgetType.SearchZeroStateEntryPoint,
903
- searchZeroStateVariant: "backgroundTertiary",
904
- searchInputVariant: "standard",
905
- suggestionButtonConfig: {
906
- variant: "darkAccent",
907
- hoverVariant: "secondaryAccent"
908
- },
909
- layout: "icon",
910
- searchBoxPlaceholder: "Try \"Colorful maxi for a summer wedding\"",
911
- initialSuggestions: [
912
- "Vintage dresses",
913
- "Maxi dresses",
914
- "Disney outfit",
915
- "Barbie collection",
916
- "1970s jumpsuit",
917
- "One-piece swimsuit",
918
- "Cinderella divine dresses"
919
- ]
920
- },
921
- topSuggestionsBar: {
922
- widgetConfigId: "topSuggestionsBar",
923
- contentId: "spiffy-top-suggestion-bar-contents",
924
- type: require_types.WidgetType.SuggestionBarV2,
925
- metricDisplayLocation: require_models.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
926
- location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
927
- variant: "primary",
928
- hoverVariant: "secondaryDark",
929
- buttonTexts: { default: [
930
- "Summarize the reviews",
931
- "What retro charm will this piece bring to my wardrobe?",
932
- "What occasions is this piece perfect for?",
933
- "How do others describe the fit and feel?",
934
- "What makes this piece stand out for others?"
935
- ] },
936
- boldFirstButton: true,
937
- twoRowsOnMobile: false,
938
- buttonBorderRadius: "md"
939
- },
940
- topSuggestionsBarDressesHasReviews: {
941
- widgetConfigId: "topSuggestionsBarDressesHasReviews",
942
- contentId: "spiffy-top-suggestion-bar-contents",
943
- type: require_types.WidgetType.SuggestionBarV2,
944
- metricDisplayLocation: require_models.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
945
- location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
946
- variant: "primary",
947
- hoverVariant: "secondaryDark",
948
- buttonTexts: { default: [
949
- "Summarize the reviews",
950
- "Which unique accessories pair with this?",
951
- "Is the fit flowy or figure-enhancing?",
952
- "Is it true to size?"
953
- ] },
954
- boldFirstButton: true,
955
- twoRowsOnMobile: false,
956
- buttonBorderRadius: "md"
957
- },
958
- topSuggestionsBarDressesNoReviews: {
959
- widgetConfigId: "topSuggestionsBarDressesNoReviews",
960
- contentId: "spiffy-top-suggestion-bar-contents",
961
- type: require_types.WidgetType.SuggestionBarV2,
962
- metricDisplayLocation: require_models.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
963
- location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
964
- variant: "primary",
965
- hoverVariant: "secondaryDark",
966
- buttonTexts: { default: [
967
- "What occasion is this dress for?",
968
- "Which unique accessories pair with this?",
969
- "Is the fit flowy or figure-enhancing?",
970
- "Is it true to size?"
971
- ] },
972
- boldFirstButton: true,
973
- twoRowsOnMobile: false,
974
- buttonBorderRadius: "md"
975
- },
976
- topSuggestionsBarSwimwearHasReviews: {
977
- widgetConfigId: "topSuggestionsBarSwimwearHasReviews",
978
- contentId: "spiffy-top-suggestion-bar-contents",
979
- type: require_types.WidgetType.SuggestionBarV2,
980
- metricDisplayLocation: require_models.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
981
- location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
982
- variant: "primary",
983
- hoverVariant: "secondaryDark",
984
- buttonTexts: { default: [
985
- "Summarize the reviews",
986
- "Which accessories pair well?",
987
- "Does the top have padding?",
988
- "Does it run true to size?"
989
- ] },
990
- boldFirstButton: true,
991
- twoRowsOnMobile: false,
992
- buttonBorderRadius: "md"
993
- },
994
- topSuggestionsBarSwimwearNoReviews: {
995
- widgetConfigId: "topSuggestionsBarSwimwearNoReviews",
996
- contentId: "spiffy-top-suggestion-bar-contents",
997
- type: require_types.WidgetType.SuggestionBarV2,
998
- metricDisplayLocation: require_models.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
999
- location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1000
- variant: "primary",
1001
- hoverVariant: "secondaryDark",
1002
- buttonTexts: { default: [
1003
- "Does it run true to size?",
1004
- "Which accessories pair well?",
1005
- "Does the top have padding?",
1006
- "Does it run true to size?"
1007
- ] },
1008
- boldFirstButton: true,
1009
- twoRowsOnMobile: false,
1010
- buttonBorderRadius: "md"
1011
- },
1012
- topSuggestionsBarShoesHasReviews: {
1013
- widgetConfigId: "topSuggestionsBarShoesHasReviews",
1014
- contentId: "spiffy-top-suggestion-bar-contents",
1015
- type: require_types.WidgetType.SuggestionBarV2,
1016
- metricDisplayLocation: require_models.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1017
- location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1018
- variant: "primary",
1019
- hoverVariant: "secondaryDark",
1020
- buttonTexts: { default: [
1021
- "Summarize the reviews",
1022
- "Is this good for a night out?",
1023
- "Are these true to size?",
1024
- "Are these good for casual wear?"
1025
- ] },
1026
- boldFirstButton: true,
1027
- twoRowsOnMobile: false,
1028
- buttonBorderRadius: "md"
1029
- },
1030
- topSuggestionsBarShoesNoReviews: {
1031
- widgetConfigId: "topSuggestionsBarShoesNoReviews",
1032
- contentId: "spiffy-top-suggestion-bar-contents",
1033
- type: require_types.WidgetType.SuggestionBarV2,
1034
- metricDisplayLocation: require_models.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1035
- location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1036
- variant: "primary",
1037
- hoverVariant: "secondaryDark",
1038
- buttonTexts: { default: [
1039
- "What era inspired these shoes?",
1040
- "Is this good for a night out?",
1041
- "Are these true to size?",
1042
- "Are these good for casual wear?"
1043
- ] },
1044
- boldFirstButton: true,
1045
- twoRowsOnMobile: false,
1046
- buttonBorderRadius: "md"
1047
- },
1048
- searchPromptPLP: {
1049
- widgetConfigId: "searchPromptPLP",
1050
- type: require_types.WidgetType.SearchPrompt,
1051
- variant: "primary",
1052
- title: "Find exactly what you're looking for...",
1053
- headerConfig: {
1054
- title: "Search Assistant",
1055
- logo: "search-logo.svg",
1056
- logoHeight: 25,
1057
- orgShortName: "unique-vintage"
1058
- },
1059
- suggestionButtons: {
1060
- variant: "darkPrimary",
1061
- hoverVariant: "secondary",
1062
- buttonTexts: [
1063
- "Vintage dresses",
1064
- "Maxi dresses",
1065
- "Disney outfit",
1066
- "Barbie collection",
1067
- "1970s jumpsuit",
1068
- "One-piece swimsuit",
1069
- "Cinderella divine dresses"
1070
- ]
1071
- },
1072
- footerConfig: {
1073
- replyButtonText: "Be as specific as you like...",
1074
- replyButtonIcon: "ai-search"
1075
- }
1076
- },
1077
- chatPreviewPLP: {
1078
- widgetConfigId: "chatPreview",
1079
- type: require_types.WidgetType.ChatPreview,
1080
- variant: "filled",
1081
- addSeparators: true,
1082
- footerConfig: {
1083
- replyButtonText: "What can I help you find?",
1084
- replyButtonIcon: "magnifyingGlass"
1085
- }
1086
- },
1087
- chatPreviewPDP: {
1088
- widgetConfigId: "chatPreviewPDP",
1089
- type: require_types.WidgetType.ChatPreview,
1090
- variant: "filled",
1091
- addSeparators: true
1092
- },
1093
- bottomSuggestionsBar: {
1094
- widgetConfigId: "bottomSuggestionsBar",
1095
- contentId: "spiffy-bottom-suggestion-bar-contents",
1096
- type: require_types.WidgetType.SuggestionBarV2,
1097
- metricDisplayLocation: require_models.ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
1098
- location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
1099
- variant: "dark",
1100
- hoverVariant: "secondaryDark",
1101
- buttonTexts: { default: [
1102
- "Summarize the reviews",
1103
- "What retro charm will this piece bring to my wardrobe?",
1104
- "What occasions is this piece perfect for?",
1105
- "How do others describe the fit and feel?",
1106
- "What makes this piece stand out for others?"
1107
- ] },
1108
- boldFirstButton: true,
1109
- twoRowsOnMobile: true,
1110
- animationSpeed: "none",
1111
- buttonBorderRadius: "md"
1112
- }
1113
- },
1114
- mountingConfigs: {
1115
- globalSearchEntryPoint: {
1116
- mountingConfigId: "globalSearchEntryPoint",
1117
- containerId: require_divIds.GLOBAL_SEARCH_ENTRYPOINT_ID,
1118
- testId: require_embedded.GLOBAL_SEARCH_ENTRYPOINT_TESTID,
1119
- insertionPoint: {
1120
- selector: ".header__search.header__search--desktop",
1121
- insertionType: require_models.DOMInsertionType.AFTER
1122
- },
1123
- suppressionSelector: ".search-modal__content.search-modal__content-bottom",
1124
- className: "global-entry-desktop",
1125
- style: {
1126
- zIndex: "2147483647",
1127
- marginRight: "32px",
1128
- height: "80px"
1129
- }
1130
- },
1131
- globalSearchEntryPointMobile: {
1132
- mountingConfigId: "globalSearchEntryPoint",
1133
- containerId: require_divIds.MOBILE_GLOBAL_SEARCH_ENTRYPOINT_ID,
1134
- testId: require_embedded.GLOBAL_SEARCH_ENTRYPOINT_TESTID,
1135
- insertionPoint: {
1136
- selector: "sticky-header.header-wrapper:has(.mobile-search)",
1137
- insertionType: require_models.DOMInsertionType.AFTER
1138
- },
1139
- suppressionSelector: ".mobile-search .search-modal__form",
1140
- className: "global-entry-mobile",
1141
- style: {
1142
- zIndex: "2147483647",
1143
- marginTop: "8px",
1144
- marginLeft: "15px",
1145
- marginRight: "15px"
1146
- }
1147
- },
1148
- chatPreviewPLP: {
1149
- mountingConfigId: "chatPreviewPLP",
1150
- containerId: require_divIds.CHAT_PREVIEW_CONTAINER_ID,
1151
- testId: require_embedded.CHAT_PREVIEW_TESTID,
1152
- insertionPoint: {
1153
- selector: ".collection .product-grid",
1154
- insertionType: require_models.DOMInsertionType.AFTER
1155
- },
1156
- gridInsertionType: require_models.GridInsertionType.ROW_2
1157
- },
1158
- chatPreviewPDP: {
1159
- mountingConfigId: "chatPreviewPDP",
1160
- containerId: require_divIds.CHAT_PREVIEW_CONTAINER_ID,
1161
- testId: require_embedded.CHAT_PREVIEW_TESTID,
1162
- insertionPoint: {
1163
- selector: ".product__accordion",
1164
- insertionType: require_models.DOMInsertionType.BEFORE
1165
- },
1166
- style: {
1167
- marginTop: "16px",
1168
- marginBottom: "8px"
1169
- }
1170
- },
1171
- topSuggestionBarPDP: {
1172
- mountingConfigId: "topSuggestionBarPDP",
1173
- containerId: require_divIds.TOP_SUGGESTION_BAR_PDP_ID,
1174
- testId: require_embedded.TOP_SUGGESTION_BAR_TESTID,
1175
- insertionPoint: {
1176
- selector: "div:has(> .main_price)",
1177
- insertionType: require_models.DOMInsertionType.AFTER
1178
- },
1179
- style: {
1180
- marginTop: "16px",
1181
- marginBottom: "16px"
1182
- }
1183
- },
1184
- bottomSuggestionBarPDP: {
1185
- mountingConfigId: "bottomSuggestionBarPDP",
1186
- containerId: require_divIds.BOTTOM_REVIEWS_BAR_ID,
1187
- testId: require_embedded.BOTTOM_SUGGESTION_BAR_TESTID,
1188
- insertionPoint: {
1189
- selector: ".junip-product-review-summary-wrapper + div.junip-separator",
1190
- insertionType: require_models.DOMInsertionType.ADJACENT_AFTER_END,
1191
- selectionIndex: 0
1192
- },
1193
- style: {
1194
- marginTop: "16px",
1195
- marginBottom: "16px"
1196
- }
1197
- }
1198
- }
1199
- });
1200
- const uniqueVintageOrgInfo = {
1201
- shortName: require_types.OrgShortName.UniqueVintage,
1202
- name: "Unique Vintage",
1203
- domain: "unique-vintage.com",
1204
- defaultProductId: "red-cowgirl-print-swing-shirt-dress",
1205
- alwaysEnabledMerchants: true,
1206
- orgUIConfig: uniqueVintageOrgUIConfig,
1207
- orgColors: () => uniqueVintageColors,
1208
- orgPageConfig: uniqueVintagePageConfig
1209
- };
1210
-
1211
- //#endregion
1212
- exports.uniqueVintageOrgInfo = uniqueVintageOrgInfo;
1213
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pcXVlVmludGFnZS1EMGp6Sldsby5janMiLCJuYW1lcyI6WyJ1bmlxdWVWaW50YWdlQ29sb3JzOiBDb2xvck1hcHBpbmciLCJDb2xvck5hbWVzIiwiZGVmYXVsdE9yZ1VJQ29uZmlnIiwiT3JnU2hvcnROYW1lIiwiY29sb3JWYXIiLCJnZXRDZG5Bc3NldFVSTCIsIkN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZSIsIkN1c3RvbWVyU2VydmljZVR5cGUiLCJQYWdlVmFyaWFudFRlc3RUeXBlIiwiQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlIiwiUGFnZVZpc2l0Q2F0ZWdvcnkiLCJGZWF0dXJlR2F0ZXMiLCJXaWRnZXRUeXBlIiwiQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24iLCJTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzIiwiR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lEIiwiR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX1RFU1RJRCIsIkRPTUluc2VydGlvblR5cGUiLCJNT0JJTEVfR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lEIiwiQ0hBVF9QUkVWSUVXX0NPTlRBSU5FUl9JRCIsIkNIQVRfUFJFVklFV19URVNUSUQiLCJHcmlkSW5zZXJ0aW9uVHlwZSIsIlRPUF9TVUdHRVNUSU9OX0JBUl9QRFBfSUQiLCJUT1BfU1VHR0VTVElPTl9CQVJfVEVTVElEIiwiQk9UVE9NX1JFVklFV1NfQkFSX0lEIiwiQk9UVE9NX1NVR0dFU1RJT05fQkFSX1RFU1RJRCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXJjaGFudHMvdW5pcXVlVmludGFnZS91bmlxdWVWaW50YWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldENkbkFzc2V0VVJMIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi91dGlscy9jZG5VdGlsc1wiO1xuaW1wb3J0IHsgR3JpZEluc2VydGlvblR5cGUgfSBmcm9tIFwic3JjL21lcmNoYW50cy9ncmlkSW5zZXJ0aW9uXCI7XG5pbXBvcnQgeyBET01JbnNlcnRpb25UeXBlIH0gZnJvbSBcInNyYy9tZXJjaGFudHMvZG9tSW5zZXJ0aW9uXCI7XG5pbXBvcnQgeyBkZWZhdWx0T3JnVUlDb25maWcgfSBmcm9tIFwic3JjL21lcmNoYW50cy9kZWZhdWx0XCI7XG5pbXBvcnQge1xuICBDYXRlZ29yeUV4dHJhY3RvclR5cGUsXG4gIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICBDb2xvck1hcHBpbmcsXG4gIENvbG9yTmFtZXMsXG4gIGNvbG9yVmFyLFxuICBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICBPcmdQYWdlQ29uZmlnLFxuICBPcmdVSUNvbmZpZyxcbiAgUGFnZVZhcmlhbnRUZXN0VHlwZSxcbiAgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gIFdpZGdldFR5cGUsXG59IGZyb20gXCJzcmMvY29udGV4dHMvdHlwZXNcIjtcbmltcG9ydCB7XG4gIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZSxcbiAgQ3VzdG9tZXJTZXJ2aWNlVHlwZSxcbn0gZnJvbSBcInNyYy90eXBlcy9jdXN0b21lclNlcnZpY2VcIjtcbmltcG9ydCB7XG4gIENIQVRfUFJFVklFV19URVNUSUQsXG4gIFRPUF9TVUdHRVNUSU9OX0JBUl9URVNUSUQsXG4gIEJPVFRPTV9TVUdHRVNUSU9OX0JBUl9URVNUSUQsXG4gIEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9URVNUSUQsXG59IGZyb20gXCJzcmMvY29uZmlnL2xvY2F0b3JzXCI7XG5pbXBvcnQgeyBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbiB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uXCI7XG5pbXBvcnQge1xuICBDSEFUX1BSRVZJRVdfQ09OVEFJTkVSX0lELFxuICBUT1BfU1VHR0VTVElPTl9CQVJfUERQX0lELFxuICBCT1RUT01fUkVWSUVXU19CQVJfSUQsXG4gIEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgTU9CSUxFX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbn0gZnJvbSBcInNyYy9jb25maWcvZGl2SWRzXCI7XG5pbXBvcnQgeyBQYWdlVmlzaXRDYXRlZ29yeSB9IGZyb20gXCJAc3BpZmZ5LWFpL2NvbW1lcmNlLWFwaS1jbGllbnRcIjtcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlc1wiO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcyB9IGZyb20gXCJzcmMvdHlwZXMvc3VnZ2VzdGlvbkJhclYyLXR5cGVzXCI7XG5pbXBvcnQgeyBCYXNpY09yZ0luZm9UeXBlLCBPcmdTaG9ydE5hbWUgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuXG5jb25zdCB1bmlxdWVWaW50YWdlQ29sb3JzOiBDb2xvck1hcHBpbmcgPSB7XG4gIFtDb2xvck5hbWVzLlRleHRQcmltYXJ5XTogXCIjMDAwMDAwXCIsXG4gIFtDb2xvck5hbWVzLlRleHRTZWNvbmRhcnldOiBcIiM1OTU5NTlcIixcbiAgW0NvbG9yTmFtZXMuVGV4dEFjY2VudF06IFwiIzFENEE0RlwiLFxuICBbQ29sb3JOYW1lcy5UZXh0TGlua106IFwiIzIyMjIyMlwiLFxuICBbQ29sb3JOYW1lcy5UZXh0TGlnaHRdOiBcIiNGRkZGRkZcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFByaW1hcnldOiBcIiNGQURERDVcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFNlY29uZGFyeV06IFwiI0ZGRkRGM1wiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5RGFya106IFwiI0VCRTlFMFwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kVGVydGlhcnldOiBcIiMxRDRBNEZcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZERhcmtdOiBcIiMyMjIyMjJcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZExpZ2h0XTogXCIjRkZGRkZGXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRTYXR1cmF0ZWRdOiBcIiNGQURERDVcIixcbiAgW0NvbG9yTmFtZXMuQm9yZGVyTGlnaHRdOiBcIiNFN0U3RTdcIixcbiAgW0NvbG9yTmFtZXMuQm9yZGVyTWVkaXVtXTogXCIjQzJDNEM4XCIsXG4gIFtDb2xvck5hbWVzLkJvcmRlckRhcmtdOiBcIiM1OTU5NTlcIixcbiAgW0NvbG9yTmFtZXMuQm9yZGVyT3V0bGluZV06IFwiIzIyMjIyMlwiLFxuICBbQ29sb3JOYW1lcy5BY2NlbnRQcmltYXJ5XTogXCIjRkFEREQ1XCIsXG4gIFtDb2xvck5hbWVzLkFjY2VudFNlY29uZGFyeV06IFwiI0MwRTdENlwiLFxufTtcblxuY29uc3QgdW5pcXVlVmludGFnZU9yZ1VJQ29uZmlnID0gKCk6IE9yZ1VJQ29uZmlnID0+IHtcbiAgY29uc3QgZGVmYXVsdFVuaXF1ZVZpbnRhZ2VPcmdDb25maWcgPSBkZWZhdWx0T3JnVUlDb25maWcoXG4gICAgT3JnU2hvcnROYW1lLlVuaXF1ZVZpbnRhZ2VcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIC4uLmRlZmF1bHRVbmlxdWVWaW50YWdlT3JnQ29uZmlnLFxuICAgIGNoYXRNZXNzYWdlQ29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0VW5pcXVlVmludGFnZU9yZ0NvbmZpZy5jaGF0TWVzc2FnZUNvbmZpZyEsXG4gICAgICBhc3Npc3RhbnRDaGF0VGl0bGU6IFwiVW5pcXVlIFZpbnRhZ2UgQUlcIixcbiAgICAgIHZhcmlhbnQ6IFwic3RhbmRhcmRcIixcbiAgICB9LFxuICAgIGNoYXRIZWFkZXI6IHtcbiAgICAgIC4uLmRlZmF1bHRVbmlxdWVWaW50YWdlT3JnQ29uZmlnLmNoYXRIZWFkZXIsXG4gICAgICBjaGV2cm9uQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQmFja2dyb3VuZERhcmspLFxuICAgICAgZXhwYW5kZWRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kUHJpbWFyeSksXG4gICAgICBpbWFnZVNyYzogZ2V0Q2RuQXNzZXRVUkwoXG4gICAgICAgIFwidW5pcXVlLXZpbnRhZ2UtbG9uZy1sb2dvLnBuZ1wiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuVW5pcXVlVmludGFnZVxuICAgICAgKSxcbiAgICAgIC8vIGljb246IHVuaXF1ZVZpbnRhZ2VMb2dvLFxuICAgIH0sXG4gICAgY2hhdFByZXZpZXdDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRVbmlxdWVWaW50YWdlT3JnQ29uZmlnLmNoYXRQcmV2aWV3Q29uZmlnISxcbiAgICAgIHZhcmlhbnQ6IFwiZmlsbGVkXCIsXG4gICAgICBmaWxsZWRCYWNrZ3JvdW5kQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQWNjZW50U2Vjb25kYXJ5KSxcbiAgICAgIGljb25GaWxsQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQWNjZW50UHJpbWFyeSksXG4gICAgICBidXR0b25UZXh0Q29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuVGV4dExpZ2h0KSxcbiAgICAgIGJ1dHRvbkJhY2tncm91bmRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kRGFyayksXG4gICAgICBidXR0b25UZXh0SG92ZXJDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5UZXh0UHJpbWFyeSksXG4gICAgICBidXR0b25CYWNrZ3JvdW5kSG92ZXJDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5RGFyayksXG4gICAgICB0b3BNYXJnaW46IDEwLFxuICAgICAgY29waWVzOiB7XG4gICAgICAgIHBscDogW1xuICAgICAgICAgIFwiYSBjbGFzc2ljIHN3aW1zdWl0IHRoYXQncyBwZXJmZWN0IGZvciBwb29sc2lkZSBnbGFtb3VyP1wiLFxuICAgICAgICAgIFwiYSBza2lydCB0aGF0IHR3aXJscyBsaWtlIGl0J3Mgc3RyYWlnaHQgb3V0IG9mIHRoZSAnNTBzP1wiLFxuICAgICAgICAgIFwiYSBoYW5kYmFnIGluc3BpcmVkIGJ5IGljb25pYyBlcmFzP1wiLFxuICAgICAgICAgIFwiYSBkcmVzcyB0aGF0IHR1cm5zIGV2ZXJ5IGhlYWQgaW4gdGhlIHJvb20/XCIsXG4gICAgICAgIF0sXG4gICAgICAgIHBkcDogW1xuICAgICAgICAgIFwidGhlIHZpbnRhZ2UtaW5zcGlyZWQgZGV0YWlscyB0aGF0IG1ha2UgdGhpcyBwaWVjZSB0aW1lbGVzcz9cIixcbiAgICAgICAgICBcIndoYXQgbWFrZXMgdGhpcyBzdHlsZSBhIHRydWUgdGhyb3diYWNrIHRyZWFzdXJlP1wiLFxuICAgICAgICAgIFwid2hhdCBsdXhlIG1hdGVyaWFscyB3aWxsIGVsZXZhdGUgeW91ciBsb29rP1wiLFxuICAgICAgICAgIFwidGhlIHNpemUgdGhhdCdzIHJpZ2h0IGZvciB5b3U/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczoge1xuICAgICAgICBwbHA6IFtcbiAgICAgICAgICBcIldoYXQgY2FzdWFsIHZpbnRhZ2UgcGllY2VzIHdvcmsgZm9yIGV2ZXJ5ZGF5IHdlYXI/XCIsXG4gICAgICAgICAgXCJXaGF0IHBpZWNlcyBjYW4gSSBtaXggYW5kIG1hdGNoIGZvciBhIHZpbnRhZ2UtaW5zcGlyZWQgd2FyZHJvYmU/XCIsXG4gICAgICAgICAgXCJXaGF0IHNob2VzIGFyZSBwZXJmZWN0IGZvciBkYXRlIG5pZ2h0cyBhbmQgc3BlY2lhbCBvY2Nhc2lvbnM/XCIsXG4gICAgICAgICAgXCJXaGF0IGFjY2Vzc29yaWVzIGNhbiBJIGFkZCB0byBlbGV2YXRlIG15IHZpbnRhZ2UgbG9vaz9cIixcbiAgICAgICAgXSxcbiAgICAgICAgcGRwOiBbXG4gICAgICAgICAgXCJXaGF0IHNpemUgd2lsbCBnaXZlIG1lIHRoZSByaWdodCBmaXQ/XCIsXG4gICAgICAgICAgXCJIb3cgZG8gSSBrZWVwIHRoaXMgcGllY2UgaW4gcGVyZmVjdCBjb25kaXRpb24gZm9yIHllYXJzIHRvIGNvbWU/XCIsXG4gICAgICAgICAgXCJXaGF0IGZlYXR1cmVzIG1ha2VzIHRoaXMgcGllY2UgdGhlIGlkZWFsIHN0YXRlbWVudCBmb3IgYSB2aW50YWdlIGxvdmVyP1wiLFxuICAgICAgICAgIFwiSG93IGRvZXMgdGhpcyBwaWVjZSBlbWJvZHkgdGhlIHNwaXJpdCBvZiBwYXN0IGVyYXMgd2l0aCBtb2Rlcm4gc3R5bGU/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgaGVhZGVyQ29uZmlnOiB7XG4gICAgICAgIHRpdGxlOiBcIlNob3BwaW5nIEFzc2lzdGFudFwiLFxuICAgICAgICBzcGFya2xlc0NvbG9yOiB1bmRlZmluZWQsXG4gICAgICAgIGltYWdlSGVpZ2h0OiAyNCxcbiAgICAgICAgaW1hZ2VTcmM6IGdldENkbkFzc2V0VVJMKFxuICAgICAgICAgIFwidW5pcXVlLXZpbnRhZ2UtbG9uZy1sb2dvLnBuZ1wiLFxuICAgICAgICAgIE9yZ1Nob3J0TmFtZS5VbmlxdWVWaW50YWdlXG4gICAgICAgICksXG4gICAgICB9LFxuICAgICAgZm9vdGVyQ29uZmlnOiB7XG4gICAgICAgIC4uLmRlZmF1bHRVbmlxdWVWaW50YWdlT3JnQ29uZmlnLmNoYXRQcmV2aWV3Q29uZmlnIS5mb290ZXJDb25maWcsXG4gICAgICAgIHJlcGx5QnV0dG9uVGV4dDogXCJXaGF0IGNhbiBJIGhlbHAgeW91IGZpbmQ/XCIsXG4gICAgICAgIHJlcGx5QnV0dG9uSWNvbjogXCJtYWduaWZ5aW5nR2xhc3NcIixcbiAgICAgICAgaGFzRmFkZTogZmFsc2UsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0VW5pcXVlVmludGFnZU9yZ0NvbmZpZy5mbG9hdGluZ0VudHJ5cG9pbnRDb25maWchLFxuICAgICAgc2hvd09wdGlvbjogXCJhbHdheXNcIixcbiAgICAgIGV4cGFuZGVkQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQm9yZGVyT3V0bGluZSksXG4gICAgICBpY29uU3Ryb2tlQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQmFja2dyb3VuZERhcmspLFxuICAgICAgaWNvbkZpbGxDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kRGFyayksXG4gICAgICBleHBhbnNpb25UZXh0OiB7XG4gICAgICAgIHBkcDogXCJXaWxsIHRoaXMgY29tcGxldGUgeW91ciByZXRybyB3YXJkcm9iZT9cIixcbiAgICAgICAgcGxwOiBcIldoYXQgdmludGFnZSB0cmVhc3VyZSB3aWxsIHlvdSBmaW5kIHRvZGF5P1wiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHByb2R1Y3RDYXJkQ29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0VW5pcXVlVmludGFnZU9yZ0NvbmZpZy5wcm9kdWN0Q2FyZENvbmZpZyEsXG4gICAgfSxcbiAgICBwcm9kdWN0UmV2aWV3Q29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0VW5pcXVlVmludGFnZU9yZ0NvbmZpZy5wcm9kdWN0UmV2aWV3Q29uZmlnISxcbiAgICAgIGNvbG9yVmFyaWFudDogXCJicmFuZFwiLFxuICAgICAgaW5jZW50aXZpemVkUmV2aWV3RmxhZzogZmFsc2UsXG4gICAgfSxcbiAgICB3ZWxjb21lU2VjdGlvbkNvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdFVuaXF1ZVZpbnRhZ2VPcmdDb25maWcud2VsY29tZVNlY3Rpb25Db25maWchLFxuICAgICAgdGl0bGU6IFwiV2VsY29tZSB0byBVbmlxdWUgVmludGFnZSBBSSFcIixcbiAgICAgIGNvbG9yVmFyaWFudDogXCJicmFuZFwiLFxuICAgICAgc3VidGl0bGU6XG4gICAgICAgIFwiSGVsbG8sIGRhcmxpbmchIEknbSBoZXJlIHRvIGhlbHAgeW91IGZpbmQgZXZlcnl0aGluZyB5b3UgbmVlZCB0byBjaGFubmVsIHlvdXIgdW5pcXVlLCB2aW50YWdlLWluc3BpcmVkIHN0eWxlLiBXaGV0aGVyIHlvdSdyZSBzZWFyY2hpbmcgZm9yIHRoZSBwZXJmZWN0IG91dGZpdCwgbmVlZCBzaXppbmcgYWR2aWNlLCBvciBqdXN0IHdhbnQgdG8gZXhwbG9yZSBmYWJ1bG91cyBhY2Nlc3NvcmllcywgbGV0J3MgbWFrZSB5b3VyIHNob3BwaW5nIGV4cGVyaWVuY2UgYXMgZ2xhbW9yb3VzIGFzIHlvdSBhcmUhXCIsXG4gICAgfSxcbiAgICBjdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjoge1xuICAgICAgaW50ZWdyYXRpb25Nb2RlOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUuc2ltcGxlLFxuICAgICAgcHJvdmlkZXI6IEN1c3RvbWVyU2VydmljZVR5cGUuem93aWUsXG4gICAgfSxcbiAgICBjb252ZXJzYXRpb25hbFNlYXJjaDoge1xuICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgIHJlcGx5SW5wdXQ6IHtcbiAgICAgICAgc2VuZEljb246IFwic2VhcmNoXCIsXG4gICAgICAgIHBsYWNlaG9sZGVyOiBcIldoYXQgY2FuIEkgaGVscCB5b3UgZmluZD9cIixcbiAgICAgIH0sXG4gICAgICAvLyBUT0RPOiBNaWdyYXRlIGl0IHRvIHRoZSBuZXcgbW91bnQgcG9pbnQgc3RydWN0dXJlLlxuICAgICAgZW50cnlwb2ludENvbnRhaW5lcjogXCJpZHxjaGF0LXNlYXJjaC1lbnRyeXBvaW50XCIsXG4gICAgICBwcm9kdWN0R3JpZENvbnRhaW5lcjogXCJpZHxjaGF0LXNlYXJjaC1wcm9kdWN0LXBhZ2VcIixcbiAgICAgIHNlYXJjaENvbnRlbnQ6IFwicXVlcnl8LnNzX19hdXRvY29tcGxldGUtLXRhcmdldFwiLFxuICAgICAgcGFnZUNvbnRlbnQ6IFwiaWR8TWFpbkNvbnRlbnRcIixcbiAgICAgIGdlbmVyYWxTZWFyY2hCdG46IFwicXVlcnl8YnV0dG9uLm1vZGFsX19jbG9zZS1idXR0b25cIixcbiAgICB9LFxuICAgIHNlYXJjaENvbmZpZzoge1xuICAgICAgZW5hYmxlR2xvYmFsU2VhcmNoOiB0cnVlLFxuICAgICAgc2VhcmNoRmlsdGVyQ29uZmlnOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWx0ZXJJZDogXCJjb2xvclwiLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBcIkNvbG9yXCIsXG4gICAgICAgICAgYXR0cmlidXRlOiBcImNvbG9yc1wiLFxuICAgICAgICAgIHR5cGU6IFwiZHluYW1pY1wiLFxuICAgICAgICAgIHNvcnRpbmc6IHtcbiAgICAgICAgICAgIHR5cGU6IFwiYWxwaGFiZXRpY1wiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBmaWx0ZXJJZDogXCJzaXplXCIsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IFwiU2l6ZVwiLFxuICAgICAgICAgIHR5cGU6IFwiZHluYW1pY1wiLFxuICAgICAgICAgIGF0dHJpYnV0ZTogXCJzaXplc1wiLFxuICAgICAgICAgIHNvcnRpbmc6IHtcbiAgICAgICAgICAgIHR5cGU6IFwiY3VzdG9tXCIsXG4gICAgICAgICAgICBtYXA6IHtcbiAgICAgICAgICAgICAgXCJPbmUgU2l6ZVwiOiAxMCxcbiAgICAgICAgICAgICAgXCJYWFMgLyAwXCI6IDIwLFxuICAgICAgICAgICAgICBcIlhTIC8gMlwiOiAzMCxcbiAgICAgICAgICAgICAgXCJTIC8gNFwiOiA0MCxcbiAgICAgICAgICAgICAgXCJNIC8gNiAtIDhcIjogNTAsXG4gICAgICAgICAgICAgIFwiTCAvIDEwIC0gMTJcIjogNjAsXG4gICAgICAgICAgICAgIFwiWEwgLyAxNFwiOiA3MCxcbiAgICAgICAgICAgICAgXCIxWCAvIDE2XCI6IDgwLFxuICAgICAgICAgICAgICBcIjJYIC8gMThcIjogOTAsXG4gICAgICAgICAgICAgIFwiM1ggLyAyMFwiOiAxMDAsXG4gICAgICAgICAgICAgIFwiNFggLyAyMiAtIDI0XCI6IDExMCxcbiAgICAgICAgICAgICAgXCI1WCAvIDI2XCI6IDEyMCxcbiAgICAgICAgICAgICAgXCI2WFwiOiAxMzAsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBmaWx0ZXJJZDogXCJwcmljZVwiLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBcIlByaWNlXCIsXG4gICAgICAgICAgdHlwZTogXCJwcmljZVwiLFxuICAgICAgICAgIGJ1Y2tldFNpemU6IDUwLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuXG4gICAgbWVyY2hhbnRPdmVycmlkZUNzczogYFxuICAgICAgI3NwaWZmeS1tb2RhbC1jb250YWluZXIge1xuICAgICAgICB6LWluZGV4OiAyMTQ3NDgzMDAxICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LXN0YXItcmF0aW5nLXN0YXIge1xuICAgICAgICBmaWxsOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtYWNjZW50KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1wcm9kdWN0LXJldmlldy1oZWFkZXItcmV2aWV3ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8qIFdlbGNvbWVTZWN0aW9uIGxpZ2h0IHRleHQgb3ZlcnJpZGUgKi9cbiAgICAgIC5zcGlmZnktd2VsY29tZS1zZWN0aW9uLW1lc3NhZ2UtdGl0bGUge1xuICAgICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LWxpZ2h0KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS13ZWxjb21lLXNlY3Rpb24tbWVzc2FnZS1zdWJ0aXRsZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtbGlnaHQpICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICNzcGlmZnktYWktY2hhdC1wcmV2aWV3IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAjY2hhdC1zZWFyY2gtcHJvZHVjdC1wYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAjY2hhdC1zZWFyY2gtbmF2LWVudHJ5cG9pbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgICAjc3BpZmZ5LWFpLWNoYXQtcHJldmlldy5pcy1wZHAge1xuICAgICAgICBwYWRkaW5nLXRvcDogOHB4O1xuICAgICAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggdmFyKC0tc3BpZmZ5LWNvbG9ycy1ib3JkZXItbGlnaHQpO1xuICAgICAgfVxuICAgICAgI3NwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItaWQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICNzcGlmZnktYWktY2hhdC1wcmV2aWV3IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAjc3BpZmZ5LWJvdHRvbS1yZXZpZXdzLWJhci1pZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1jaGF0LXNlYXJjaC1lbnRyeXBvaW50LWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1kYXJrKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1jaGF0LXNlYXJjaC1lbnRyeXBvaW50LWNvbnRhaW5lciAuc3BpZmZ5LWJ1dHRvbi1iYXNlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1jaGF0LXNlYXJjaC1lbnRyeXBvaW50LXRleHQgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnQm9va21hbmlhLVNlbWlCb2xkJyAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgICNzcGlmZnktYWktY2hhdC1wcmV2aWV3LWNvbnRlbnRzIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICAtLWNoYWtyYS1mb250cy1oZWFkaW5nOiAnQm9va21hbmlhLVJlZ3VsYXInLCAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LWhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdCb29rbWFuaWEtUmVndWxhcicsICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICAgIH1cbiAgICAgICNzcGlmZnktbW9kZWwtY29udGFpbmVyIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tY2hha3JhLWZvbnRzLWhlYWRpbmcpO1xuICAgICAgfVxuICAgICAgI3NwaWZmeS1tb2RlbC1jb250YWluZXIgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgIC0tY2hha3JhLWZvbnRzLWhlYWRpbmc6ICdCb29rbWFuaWEtUmVndWxhcicsICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktc3VnZ2VzdGlvbi1idXR0b24tcXVlc3Rpb24tY2xhc3Mge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zcGlmZnktY29sb3JzLWJvcmRlci1saWdodCk7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LXRhZy1waWxsLXRleHQge1xuICAgICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LWxpZ2h0KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgI3JldHVybi10by1yZXN1bHRzLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1iYWNrLXRvLXJlc3VsdHMtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkge1xuICAgICAgICAjY2hhdC1zZWFyY2gtZW50cnlwb2ludCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgI2NoYXQtc2VhcmNoLWVudHJ5cG9pbnQtbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIC5zc19fYXV0b2NvbXBsZXRlLS1hY3RpdmUgI2NoYXQtc2VhcmNoLWVudHJ5cG9pbnQtbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktcHJvZHVjdC1jYXJkLXRpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWNoYWtyYS1mb250cy1oZWFkaW5nKTtcbiAgICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1saW5rKTtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktcHJvZHVjdC1jYXJkLXRleHQtY29sb3Ige1xuICAgICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LXNlY29uZGFyeSk7XG4gICAgICB9XG5cbiAgICAgIC5zcGlmZnktY2hhdC1oZWFkZXItY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1wcmltYXJ5KTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXRlcnRpYXJ5KTtcbiAgICAgIH1cblxuICAgICAgI3NwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHMgLnNwaWZmeS1zdWdnZXN0aW9uLWJ1dHRvbi1xdWVzdGlvbi1jbGFzcyBzcGFuIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1hY2NlbnQpICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICNzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzIC5zcGlmZnktc3VnZ2VzdGlvbi1idXR0b24tcXVlc3Rpb24tY2xhc3Mgc3ZnIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LWFjY2VudCkgIWltcG9ydGFudDtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtYWNjZW50KSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAjc3BpZmZ5LWJvdHRvbS1zdWdnZXN0aW9uLWJhci1jb250ZW50cyAuc3BpZmZ5LXN1Z2dlc3Rpb24tYnV0dG9uLXF1ZXN0aW9uLWNsYXNzIHN2ZyB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtYWNjZW50LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgIHN0cm9rZTogdmFyKC0tc3BpZmZ5LWNvbG9ycy1hY2NlbnQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgI3NwaWZmeS1ib3R0b20tc3VnZ2VzdGlvbi1iYXItY29udGVudHMgLnNwaWZmeS1zdWdnZXN0aW9uLWJ1dHRvbi1xdWVzdGlvbi1jbGFzczpob3ZlciBzdmcge1xuICAgICAgICBmaWxsOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtbGluaykgIWltcG9ydGFudDtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtbGluaykgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgI3NwaWZmeS1haS1nbG9iYWwtc2VhcmNoLWVudHJ5cG9pbnQuZ2xvYmFsLWVudHJ5LWRlc2t0b3Age1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICNzcGlmZnktYWktZ2xvYmFsLXNlYXJjaC1lbnRyeXBvaW50LW1vYmlsZS5nbG9iYWwtZW50cnktbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gICAgICAgICNzcGlmZnktYWktZ2xvYmFsLXNlYXJjaC1lbnRyeXBvaW50Lmdsb2JhbC1lbnRyeS1kZXNrdG9wIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICNzcGlmZnktYWktZ2xvYmFsLXNlYXJjaC1lbnRyeXBvaW50LW1vYmlsZS5nbG9iYWwtZW50cnktbW9iaWxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfSBcblxuICAgICAgI3NwaWZmeS1haS1nbG9iYWwtc2VhcmNoLWVudHJ5cG9pbnQuZ2xvYmFsLWVudHJ5LWRlc2t0b3AgLnNwaWZmeS1nbG9iYWwtc2VhcmNoLWlucHV0LWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgIH1cblxuICAgICAgLnNwaWZmeS1nbG9iYWwtc2VhcmNoLWlucHV0LWNvbnRhaW5lciAuc3BpZmZ5LWdsb2JhbC1zZWFyY2gtdGV4dCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlBvbHlcIiwgc2VyaWY7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtbGluaykgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDgwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICB9XG5cbiAgICAgIC5zcGlmZnktc2VhcmNoLW92ZXJsYXktY29udGVudCAuc3BpZmZ5LWhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiUG9seVwiLCBzZXJpZjtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zcGlmZnktc2VhcmNoLW92ZXJsYXktY29udGVudCAuc3BpZmZ5LWJvZHktdGV4dCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIlBvbHlcIiwgc2VyaWY7XG4gICAgICB9XG5cbiAgICAgIC5zcGlmZnktZ2xvYmFsLXNlYXJjaC1pbnB1dC1jb250YWluZXIgc3ZnIHtcbiAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICB9XG4gICAgYCxcbiAgfTtcbn07XG5cbmNvbnN0IHVuaXF1ZVZpbnRhZ2VQYWdlQ29uZmlnID0gKCk6IE9yZ1BhZ2VDb25maWcgPT4gKHtcbiAgcGFnZVZhcmlhbnRzOiBbXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInNlYXJjaC1yZXN1bHRzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwYWdlX3Zpc2l0XCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UExQIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5RdWVyeVBhcmFtLFxuICAgICAgICAgIHF1ZXJ5UGFyYW06IFwicVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuUGFnZUNhdGVnb3J5LFxuICAgICAgICAgIGV4dHJhY3Rvcjoge1xuICAgICAgICAgICAgdHlwZTogQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlLlZpc2l0Q2F0ZWdvcnlEZWZhdWx0LFxuICAgICAgICAgICAgdmFsdWU6IFBhZ2VWaXNpdENhdGVnb3J5Lk90aGVyLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBscC1nbG9iYWwtc2VhcmNoXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQTFAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlLFxuICAgICAgICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMuSXNHbG9iYWxTZWFyY2hFbmFibGVkLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwbHAtc2VhcmNoXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGUsXG4gICAgICAgICAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcy5Jc05ld0ZlYXR1cmVFbmFibGVkLFxuICAgICAgICB9LFxuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQTFAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoUHJvbXB0UExQXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBscFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFt7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQTFAgfV0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwRHJlc3Nlc0hhc1Jldmlld3NHbG9iYWxTZWFyY2hcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UERQLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJkcmVzc2VzXCJdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzUmV2aWV3cyxcbiAgICAgICAgICByZXZpZXdNaW5pbXVtOiA0LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGUsXG4gICAgICAgICAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcy5Jc0dsb2JhbFNlYXJjaEVuYWJsZWQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInNob3BpZnktcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyRHJlc3Nlc0hhc1Jldmlld3NcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwRHJlc3Nlc05vUmV2aWV3c0dsb2JhbFNlYXJjaFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFAsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IFtcImRyZXNzZXNcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZSxcbiAgICAgICAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzLklzR2xvYmFsU2VhcmNoRW5hYmxlZCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJEcmVzc2VzTm9SZXZpZXdzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcFN3aW13ZWFySGFzUmV2aWV3c0dsb2JhbFNlYXJjaFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFAsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IFtcInN3aW0taHRtbFwiXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkhhc1Jldmlld3MsXG4gICAgICAgICAgcmV2aWV3TWluaW11bTogNCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlLFxuICAgICAgICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMuSXNHbG9iYWxTZWFyY2hFbmFibGVkLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJzaG9waWZ5LXByb2R1Y3QtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50XCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclN3aW13ZWFySGFzUmV2aWV3c1wiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwZHBTd2ltd2Vhck5vUmV2aWV3c0dsb2JhbFNlYXJjaFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFAsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IFtcInN3aW0taHRtbFwiXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlLFxuICAgICAgICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMuSXNHbG9iYWxTZWFyY2hFbmFibGVkLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJzaG9waWZ5LXByb2R1Y3QtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50XCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclN3aW13ZWFyTm9SZXZpZXdzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcFNob2VzSGFzUmV2aWV3c0dsb2JhbFNlYXJjaFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFAsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IFtcInNob2VzXCJdLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzUmV2aWV3cyxcbiAgICAgICAgICByZXZpZXdNaW5pbXVtOiA0LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGUsXG4gICAgICAgICAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcy5Jc0dsb2JhbFNlYXJjaEVuYWJsZWQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInNob3BpZnktcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyU2hvZXNIYXNSZXZpZXdzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcFNob2VzTm9SZXZpZXdzR2xvYmFsU2VhcmNoXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wic2hvZXNcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZSxcbiAgICAgICAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzLklzR2xvYmFsU2VhcmNoRW5hYmxlZCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJTaG9lc05vUmV2aWV3c1wiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwZHBHbG9iYWxTZWFyY2hcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUCB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGUsXG4gICAgICAgICAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcy5Jc0dsb2JhbFNlYXJjaEVuYWJsZWQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInNob3BpZnktcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcERyZXNzZXNIYXNSZXZpZXdzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wiZHJlc3Nlc1wiXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkhhc1Jldmlld3MsXG4gICAgICAgICAgcmV2aWV3TWluaW11bTogNCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJEcmVzc2VzSGFzUmV2aWV3c1wiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwZHBEcmVzc2VzTm9SZXZpZXdzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wiZHJlc3Nlc1wiXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJEcmVzc2VzTm9SZXZpZXdzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcFN3aW13ZWFySGFzUmV2aWV3c1wiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFAsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IFtcInN3aW0taHRtbFwiXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkhhc1Jldmlld3MsXG4gICAgICAgICAgcmV2aWV3TWluaW11bTogNCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJTd2ltd2Vhckhhc1Jldmlld3NcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwU3dpbXdlYXJOb1Jldmlld3NcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UERQLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJzd2ltLWh0bWxcIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInNob3BpZnktcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyU3dpbXdlYXJOb1Jldmlld3NcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwU2hvZXNIYXNSZXZpZXdzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wic2hvZXNcIl0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzLFxuICAgICAgICAgIHJldmlld01pbmltdW06IDQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInNob3BpZnktcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyU2hvZXNIYXNSZXZpZXdzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcFNob2VzTm9SZXZpZXdzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wic2hvZXNcIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInNob3BpZnktcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyU2hvZXNOb1Jldmlld3NcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW3sgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUCB9XSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJzaG9waWZ5LXByb2R1Y3QtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxuICB3aWRnZXRDb25maWdzOiB7XG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50LFxuICAgICAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogXCJiYWNrZ3JvdW5kVGVydGlhcnlcIixcbiAgICAgIHNlYXJjaElucHV0VmFyaWFudDogXCJzdGFuZGFyZFwiLFxuICAgICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcImRhcmtBY2NlbnRcIixcbiAgICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeUFjY2VudFwiLFxuICAgICAgfSxcbiAgICAgIGxheW91dDogXCJpY29uXCIsXG4gICAgICBjb21wYWN0TGFiZWw6IFwiU2VhcmNoXCIsXG4gICAgICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogJ1RyeSBcIkNvbG9yZnVsIG1heGkgZm9yIGEgc3VtbWVyIHdlZGRpbmdcIicsXG4gICAgICBpbml0aWFsU3VnZ2VzdGlvbnM6IFtcbiAgICAgICAgXCJWaW50YWdlIGRyZXNzZXNcIixcbiAgICAgICAgXCJNYXhpIGRyZXNzZXNcIixcbiAgICAgICAgXCJEaXNuZXkgb3V0Zml0XCIsXG4gICAgICAgIFwiQmFyYmllIGNvbGxlY3Rpb25cIixcbiAgICAgICAgXCIxOTcwcyBqdW1wc3VpdFwiLFxuICAgICAgICBcIk9uZS1waWVjZSBzd2ltc3VpdFwiLFxuICAgICAgICBcIkNpbmRlcmVsbGEgZGl2aW5lIGRyZXNzZXNcIixcbiAgICAgIF0sXG4gICAgfSBzYXRpc2ZpZXMgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgICBnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQsXG4gICAgICBzZWFyY2haZXJvU3RhdGVWYXJpYW50OiBcImJhY2tncm91bmRUZXJ0aWFyeVwiLFxuICAgICAgc2VhcmNoSW5wdXRWYXJpYW50OiBcInN0YW5kYXJkXCIsXG4gICAgICBzdWdnZXN0aW9uQnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwiZGFya0FjY2VudFwiLFxuICAgICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5QWNjZW50XCIsXG4gICAgICB9LFxuICAgICAgbGF5b3V0OiBcImljb25cIixcbiAgICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiAnVHJ5IFwiQ29sb3JmdWwgbWF4aSBmb3IgYSBzdW1tZXIgd2VkZGluZ1wiJyxcbiAgICAgIGluaXRpYWxTdWdnZXN0aW9uczogW1xuICAgICAgICBcIlZpbnRhZ2UgZHJlc3Nlc1wiLFxuICAgICAgICBcIk1heGkgZHJlc3Nlc1wiLFxuICAgICAgICBcIkRpc25leSBvdXRmaXRcIixcbiAgICAgICAgXCJCYXJiaWUgY29sbGVjdGlvblwiLFxuICAgICAgICBcIjE5NzBzIGp1bXBzdWl0XCIsXG4gICAgICAgIFwiT25lLXBpZWNlIHN3aW1zdWl0XCIsXG4gICAgICAgIFwiQ2luZGVyZWxsYSBkaXZpbmUgZHJlc3Nlc1wiLFxuICAgICAgXSxcbiAgICB9IHNhdGlzZmllcyBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICAgIHRvcFN1Z2dlc3Rpb25zQmFyOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclwiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5UT1BfUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfVE9QLFxuICAgICAgdmFyaWFudDogXCJwcmltYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5RGFya1wiLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiU3VtbWFyaXplIHRoZSByZXZpZXdzXCIsXG4gICAgICAgICAgXCJXaGF0IHJldHJvIGNoYXJtIHdpbGwgdGhpcyBwaWVjZSBicmluZyB0byBteSB3YXJkcm9iZT9cIixcbiAgICAgICAgICBcIldoYXQgb2NjYXNpb25zIGlzIHRoaXMgcGllY2UgcGVyZmVjdCBmb3I/XCIsXG4gICAgICAgICAgXCJIb3cgZG8gb3RoZXJzIGRlc2NyaWJlIHRoZSBmaXQgYW5kIGZlZWw/XCIsXG4gICAgICAgICAgXCJXaGF0IG1ha2VzIHRoaXMgcGllY2Ugc3RhbmQgb3V0IGZvciBvdGhlcnM/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgdHdvUm93c09uTW9iaWxlOiBmYWxzZSxcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICB0b3BTdWdnZXN0aW9uc0JhckRyZXNzZXNIYXNSZXZpZXdzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhckRyZXNzZXNIYXNSZXZpZXdzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB2YXJpYW50OiBcInByaW1hcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3NcIixcbiAgICAgICAgICBcIldoaWNoIHVuaXF1ZSBhY2Nlc3NvcmllcyBwYWlyIHdpdGggdGhpcz9cIixcbiAgICAgICAgICBcIklzIHRoZSBmaXQgZmxvd3kgb3IgZmlndXJlLWVuaGFuY2luZz9cIixcbiAgICAgICAgICBcIklzIGl0IHRydWUgdG8gc2l6ZT9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICB0d29Sb3dzT25Nb2JpbGU6IGZhbHNlLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIHRvcFN1Z2dlc3Rpb25zQmFyRHJlc3Nlc05vUmV2aWV3czoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJEcmVzc2VzTm9SZXZpZXdzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB2YXJpYW50OiBcInByaW1hcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJXaGF0IG9jY2FzaW9uIGlzIHRoaXMgZHJlc3MgZm9yP1wiLFxuICAgICAgICAgIFwiV2hpY2ggdW5pcXVlIGFjY2Vzc29yaWVzIHBhaXIgd2l0aCB0aGlzP1wiLFxuICAgICAgICAgIFwiSXMgdGhlIGZpdCBmbG93eSBvciBmaWd1cmUtZW5oYW5jaW5nP1wiLFxuICAgICAgICAgIFwiSXMgaXQgdHJ1ZSB0byBzaXplP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIHR3b1Jvd3NPbk1vYmlsZTogZmFsc2UsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgdG9wU3VnZ2VzdGlvbnNCYXJTd2ltd2Vhckhhc1Jldmlld3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyU3dpbXdlYXJIYXNSZXZpZXdzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB2YXJpYW50OiBcInByaW1hcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3NcIixcbiAgICAgICAgICBcIldoaWNoIGFjY2Vzc29yaWVzIHBhaXIgd2VsbD9cIixcbiAgICAgICAgICBcIkRvZXMgdGhlIHRvcCBoYXZlIHBhZGRpbmc/XCIsXG4gICAgICAgICAgXCJEb2VzIGl0IHJ1biB0cnVlIHRvIHNpemU/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgdHdvUm93c09uTW9iaWxlOiBmYWxzZSxcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICB0b3BTdWdnZXN0aW9uc0JhclN3aW13ZWFyTm9SZXZpZXdzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclN3aW13ZWFyTm9SZXZpZXdzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB2YXJpYW50OiBcInByaW1hcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJEb2VzIGl0IHJ1biB0cnVlIHRvIHNpemU/XCIsXG4gICAgICAgICAgXCJXaGljaCBhY2Nlc3NvcmllcyBwYWlyIHdlbGw/XCIsXG4gICAgICAgICAgXCJEb2VzIHRoZSB0b3AgaGF2ZSBwYWRkaW5nP1wiLFxuICAgICAgICAgIFwiRG9lcyBpdCBydW4gdHJ1ZSB0byBzaXplP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIHR3b1Jvd3NPbk1vYmlsZTogZmFsc2UsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgdG9wU3VnZ2VzdGlvbnNCYXJTaG9lc0hhc1Jldmlld3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyU2hvZXNIYXNSZXZpZXdzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB2YXJpYW50OiBcInByaW1hcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3NcIixcbiAgICAgICAgICBcIklzIHRoaXMgZ29vZCBmb3IgYSBuaWdodCBvdXQ/XCIsXG4gICAgICAgICAgXCJBcmUgdGhlc2UgdHJ1ZSB0byBzaXplP1wiLFxuICAgICAgICAgIFwiQXJlIHRoZXNlIGdvb2QgZm9yIGNhc3VhbCB3ZWFyP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIHR3b1Jvd3NPbk1vYmlsZTogZmFsc2UsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgdG9wU3VnZ2VzdGlvbnNCYXJTaG9lc05vUmV2aWV3czoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJTaG9lc05vUmV2aWV3c1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5UT1BfUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfVE9QLFxuICAgICAgdmFyaWFudDogXCJwcmltYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5RGFya1wiLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiV2hhdCBlcmEgaW5zcGlyZWQgdGhlc2Ugc2hvZXM/XCIsXG4gICAgICAgICAgXCJJcyB0aGlzIGdvb2QgZm9yIGEgbmlnaHQgb3V0P1wiLFxuICAgICAgICAgIFwiQXJlIHRoZXNlIHRydWUgdG8gc2l6ZT9cIixcbiAgICAgICAgICBcIkFyZSB0aGVzZSBnb29kIGZvciBjYXN1YWwgd2Vhcj9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICB0d29Sb3dzT25Nb2JpbGU6IGZhbHNlLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIHNlYXJjaFByb21wdFBMUDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoUHJvbXB0UExQXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlNlYXJjaFByb21wdCxcbiAgICAgIHZhcmlhbnQ6IFwicHJpbWFyeVwiLFxuICAgICAgdGl0bGU6IFwiRmluZCBleGFjdGx5IHdoYXQgeW91J3JlIGxvb2tpbmcgZm9yLi4uXCIsXG4gICAgICBoZWFkZXJDb25maWc6IHtcbiAgICAgICAgdGl0bGU6IFwiU2VhcmNoIEFzc2lzdGFudFwiLFxuICAgICAgICBsb2dvOiBcInNlYXJjaC1sb2dvLnN2Z1wiLFxuICAgICAgICBsb2dvSGVpZ2h0OiAyNSxcbiAgICAgICAgb3JnU2hvcnROYW1lOiBcInVuaXF1ZS12aW50YWdlXCIsXG4gICAgICB9LFxuICAgICAgc3VnZ2VzdGlvbkJ1dHRvbnM6IHtcbiAgICAgICAgdmFyaWFudDogXCJkYXJrUHJpbWFyeVwiLFxuICAgICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICAgIGJ1dHRvblRleHRzOiBbXG4gICAgICAgICAgXCJWaW50YWdlIGRyZXNzZXNcIixcbiAgICAgICAgICBcIk1heGkgZHJlc3Nlc1wiLFxuICAgICAgICAgIFwiRGlzbmV5IG91dGZpdFwiLFxuICAgICAgICAgIFwiQmFyYmllIGNvbGxlY3Rpb25cIixcbiAgICAgICAgICBcIjE5NzBzIGp1bXBzdWl0XCIsXG4gICAgICAgICAgXCJPbmUtcGllY2Ugc3dpbXN1aXRcIixcbiAgICAgICAgICBcIkNpbmRlcmVsbGEgZGl2aW5lIGRyZXNzZXNcIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBmb290ZXJDb25maWc6IHtcbiAgICAgICAgcmVwbHlCdXR0b25UZXh0OiBcIkJlIGFzIHNwZWNpZmljIGFzIHlvdSBsaWtlLi4uXCIsXG4gICAgICAgIHJlcGx5QnV0dG9uSWNvbjogXCJhaS1zZWFyY2hcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICAgIGNoYXRQcmV2aWV3UExQOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5DaGF0UHJldmlldyxcbiAgICAgIHZhcmlhbnQ6IFwiZmlsbGVkXCIsXG4gICAgICBhZGRTZXBhcmF0b3JzOiB0cnVlLFxuICAgICAgZm9vdGVyQ29uZmlnOiB7XG4gICAgICAgIHJlcGx5QnV0dG9uVGV4dDogXCJXaGF0IGNhbiBJIGhlbHAgeW91IGZpbmQ/XCIsXG4gICAgICAgIHJlcGx5QnV0dG9uSWNvbjogXCJtYWduaWZ5aW5nR2xhc3NcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gICAgY2hhdFByZXZpZXdQRFA6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkNoYXRQcmV2aWV3LFxuICAgICAgdmFyaWFudDogXCJmaWxsZWRcIixcbiAgICAgIGFkZFNlcGFyYXRvcnM6IHRydWUsXG4gICAgfSBzYXRpc2ZpZXMgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gICAgYm90dG9tU3VnZ2VzdGlvbnNCYXI6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LWJvdHRvbS1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLkJPVFRPTV9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9CT1RUT00sXG4gICAgICB2YXJpYW50OiBcImRhcmtcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3NcIixcbiAgICAgICAgICBcIldoYXQgcmV0cm8gY2hhcm0gd2lsbCB0aGlzIHBpZWNlIGJyaW5nIHRvIG15IHdhcmRyb2JlP1wiLFxuICAgICAgICAgIFwiV2hhdCBvY2Nhc2lvbnMgaXMgdGhpcyBwaWVjZSBwZXJmZWN0IGZvcj9cIixcbiAgICAgICAgICBcIkhvdyBkbyBvdGhlcnMgZGVzY3JpYmUgdGhlIGZpdCBhbmQgZmVlbD9cIixcbiAgICAgICAgICBcIldoYXQgbWFrZXMgdGhpcyBwaWVjZSBzdGFuZCBvdXQgZm9yIG90aGVycz9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICB0d29Sb3dzT25Nb2JpbGU6IHRydWUsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gIH0sXG4gIG1vdW50aW5nQ29uZmlnczoge1xuICAgIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnQ6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFwiLFxuICAgICAgY29udGFpbmVySWQ6IEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgICAgIHRlc3RJZDogR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIi5oZWFkZXJfX3NlYXJjaC5oZWFkZXJfX3NlYXJjaC0tZGVza3RvcFwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFGVEVSLFxuICAgICAgfSxcbiAgICAgIHN1cHByZXNzaW9uU2VsZWN0b3I6XG4gICAgICAgIFwiLnNlYXJjaC1tb2RhbF9fY29udGVudC5zZWFyY2gtbW9kYWxfX2NvbnRlbnQtYm90dG9tXCIsXG4gICAgICBjbGFzc05hbWU6IFwiZ2xvYmFsLWVudHJ5LWRlc2t0b3BcIixcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIHpJbmRleDogXCIyMTQ3NDgzNjQ3XCIsXG4gICAgICAgIG1hcmdpblJpZ2h0OiBcIjMycHhcIixcbiAgICAgICAgaGVpZ2h0OiBcIjgwcHhcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRcIixcbiAgICAgIGNvbnRhaW5lcklkOiBNT0JJTEVfR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lELFxuICAgICAgdGVzdElkOiBHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwic3RpY2t5LWhlYWRlci5oZWFkZXItd3JhcHBlcjpoYXMoLm1vYmlsZS1zZWFyY2gpXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQUZURVIsXG4gICAgICB9LFxuICAgICAgc3VwcHJlc3Npb25TZWxlY3RvcjogXCIubW9iaWxlLXNlYXJjaCAuc2VhcmNoLW1vZGFsX19mb3JtXCIsXG4gICAgICBjbGFzc05hbWU6IFwiZ2xvYmFsLWVudHJ5LW1vYmlsZVwiLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgekluZGV4OiBcIjIxNDc0ODM2NDdcIixcbiAgICAgICAgbWFyZ2luVG9wOiBcIjhweFwiLFxuICAgICAgICBtYXJnaW5MZWZ0OiBcIjE1cHhcIixcbiAgICAgICAgbWFyZ2luUmlnaHQ6IFwiMTVweFwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNoYXRQcmV2aWV3UExQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICBjb250YWluZXJJZDogQ0hBVF9QUkVWSUVXX0NPTlRBSU5FUl9JRCxcbiAgICAgIHRlc3RJZDogQ0hBVF9QUkVWSUVXX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIi5jb2xsZWN0aW9uIC5wcm9kdWN0LWdyaWRcIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5BRlRFUixcbiAgICAgIH0sXG4gICAgICBncmlkSW5zZXJ0aW9uVHlwZTogR3JpZEluc2VydGlvblR5cGUuUk9XXzIsXG4gICAgfSxcbiAgICBjaGF0UHJldmlld1BEUDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgY29udGFpbmVySWQ6IENIQVRfUFJFVklFV19DT05UQUlORVJfSUQsXG4gICAgICB0ZXN0SWQ6IENIQVRfUFJFVklFV19URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCIucHJvZHVjdF9fYWNjb3JkaW9uXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQkVGT1JFLFxuICAgICAgfSxcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIG1hcmdpblRvcDogXCIxNnB4XCIsXG4gICAgICAgIG1hcmdpbkJvdHRvbTogXCI4cHhcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICB0b3BTdWdnZXN0aW9uQmFyUERQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBUT1BfU1VHR0VTVElPTl9CQVJfUERQX0lELFxuICAgICAgdGVzdElkOiBUT1BfU1VHR0VTVElPTl9CQVJfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiZGl2Omhhcyg+IC5tYWluX3ByaWNlKVwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFGVEVSLFxuICAgICAgfSxcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIG1hcmdpblRvcDogXCIxNnB4XCIsXG4gICAgICAgIG1hcmdpbkJvdHRvbTogXCIxNnB4XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgYm90dG9tU3VnZ2VzdGlvbkJhclBEUDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICBjb250YWluZXJJZDogQk9UVE9NX1JFVklFV1NfQkFSX0lELFxuICAgICAgdGVzdElkOiBCT1RUT01fU1VHR0VTVElPTl9CQVJfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiLmp1bmlwLXByb2R1Y3QtcmV2aWV3LXN1bW1hcnktd3JhcHBlciArIGRpdi5qdW5pcC1zZXBhcmF0b3JcIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5BREpBQ0VOVF9BRlRFUl9FTkQsXG4gICAgICAgIHNlbGVjdGlvbkluZGV4OiAwLFxuICAgICAgfSxcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIG1hcmdpblRvcDogXCIxNnB4XCIsXG4gICAgICAgIG1hcmdpbkJvdHRvbTogXCIxNnB4XCIsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG59KTtcblxuY29uc3QgdW5pcXVlVmludGFnZU9yZ0luZm8gPSB7XG4gIHNob3J0TmFtZTogT3JnU2hvcnROYW1lLlVuaXF1ZVZpbnRhZ2UsXG4gIG5hbWU6IFwiVW5pcXVlIFZpbnRhZ2VcIixcbiAgZG9tYWluOiBcInVuaXF1ZS12aW50YWdlLmNvbVwiLFxuICBkZWZhdWx0UHJvZHVjdElkOiBcInJlZC1jb3dnaXJsLXByaW50LXN3aW5nLXNoaXJ0LWRyZXNzXCIsXG4gIGFsd2F5c0VuYWJsZWRNZXJjaGFudHM6IHRydWUsXG4gIG9yZ1VJQ29uZmlnOiB1bmlxdWVWaW50YWdlT3JnVUlDb25maWcsXG4gIG9yZ0NvbG9yczogKCkgPT4gdW5pcXVlVmludGFnZUNvbG9ycyxcbiAgb3JnUGFnZUNvbmZpZzogdW5pcXVlVmludGFnZVBhZ2VDb25maWcsXG59IHNhdGlzZmllcyBCYXNpY09yZ0luZm9UeXBlO1xuXG5leHBvcnQgeyB1bmlxdWVWaW50YWdlT3JnSW5mbyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5Q0EsTUFBTUEsc0JBQW9DO0VBQ3ZDQyx5QkFBVyxjQUFjO0VBQ3pCQSx5QkFBVyxnQkFBZ0I7RUFDM0JBLHlCQUFXLGFBQWE7RUFDeEJBLHlCQUFXLFdBQVc7RUFDdEJBLHlCQUFXLFlBQVk7RUFDdkJBLHlCQUFXLG9CQUFvQjtFQUMvQkEseUJBQVcsc0JBQXNCO0VBQ2pDQSx5QkFBVywwQkFBMEI7RUFDckNBLHlCQUFXLHFCQUFxQjtFQUNoQ0EseUJBQVcsaUJBQWlCO0VBQzVCQSx5QkFBVyxrQkFBa0I7RUFDN0JBLHlCQUFXLHNCQUFzQjtFQUNqQ0EseUJBQVcsY0FBYztFQUN6QkEseUJBQVcsZUFBZTtFQUMxQkEseUJBQVcsYUFBYTtFQUN4QkEseUJBQVcsZ0JBQWdCO0VBQzNCQSx5QkFBVyxnQkFBZ0I7RUFDM0JBLHlCQUFXLGtCQUFrQjtDQUMvQjtBQUVELE1BQU0saUNBQThDO0NBQ2xELE1BQU0sZ0NBQWdDQyxtQ0FDcENDLDJCQUFhLGNBQ2Q7QUFFRCxRQUFPO0VBQ0wsR0FBRztFQUNILG1CQUFtQjtHQUNqQixHQUFHLDhCQUE4QjtHQUNqQyxvQkFBb0I7R0FDcEIsU0FBUztHQUNWO0VBQ0QsWUFBWTtHQUNWLEdBQUcsOEJBQThCO0dBQ2pDLGNBQWNDLHVCQUFTSCx5QkFBVyxlQUFlO0dBQ2pELGVBQWVHLHVCQUFTSCx5QkFBVyxrQkFBa0I7R0FDckQsVUFBVUksZ0NBQ1IsZ0NBQ0FGLDJC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