@envive-ai/react-hooks 0.1.3 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (439) hide show
  1. package/dist/adapters/amplitude/index.cjs +13 -13
  2. package/dist/adapters/amplitude/index.d.cts +5 -3
  3. package/dist/adapters/amplitude/index.d.ts +5 -3
  4. package/dist/adapters/amplitude/index.js +10 -10
  5. package/dist/api-B2euFL-5.cjs +269 -0
  6. package/dist/api-XRr_lAG6.js +190 -0
  7. package/dist/application/config/index.cjs +14 -5
  8. package/dist/application/config/index.d.cts +2 -1
  9. package/dist/application/config/index.d.ts +2 -1
  10. package/dist/application/config/index.js +14 -5
  11. package/dist/application/models/graphql/index.cjs +12 -12
  12. package/dist/application/models/graphql/index.d.cts +1 -1
  13. package/dist/application/models/graphql/index.d.ts +1 -1
  14. package/dist/application/models/graphql/index.js +10 -10
  15. package/dist/application/models/guards/api/index.cjs +2 -2
  16. package/dist/application/models/guards/api/index.d.cts +2 -2
  17. package/dist/application/models/guards/api/index.d.ts +2 -2
  18. package/dist/application/models/guards/api/index.js +2 -2
  19. package/dist/application/models/index.cjs +54 -54
  20. package/dist/application/models/index.d.cts +8 -9
  21. package/dist/application/models/index.d.ts +8 -9
  22. package/dist/application/models/index.js +10 -10
  23. package/dist/application/models/utilityTypes/index.cjs +1 -1
  24. package/dist/application/models/utilityTypes/index.d.cts +1 -1
  25. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  26. package/dist/application/models/utilityTypes/index.js +1 -1
  27. package/dist/application/models/variantInfo/index.cjs +1 -1
  28. package/dist/application/models/variantInfo/index.d.cts +1 -1
  29. package/dist/application/models/variantInfo/index.d.ts +1 -1
  30. package/dist/application/models/variantInfo/index.js +1 -1
  31. package/dist/application/service/customerService/index.cjs +2 -2
  32. package/dist/application/service/customerService/index.d.cts +2 -2
  33. package/dist/application/service/customerService/index.d.ts +2 -2
  34. package/dist/application/service/customerService/index.js +2 -2
  35. package/dist/application/service/index.cjs +38 -757
  36. package/dist/application/service/index.d.cts +26 -20
  37. package/dist/application/service/index.d.ts +26 -20
  38. package/dist/application/service/index.js +12 -727
  39. package/dist/application/utils/index.cjs +37 -37
  40. package/dist/application/utils/index.d.cts +12 -12
  41. package/dist/application/utils/index.d.ts +14 -14
  42. package/dist/application/utils/index.js +10 -10
  43. package/dist/atomStore-B1cgmbP0.js +32 -0
  44. package/dist/atomStore-JwGb7pcy.cjs +58 -0
  45. package/dist/atomStore-ONYy0XuA.d.cts +24 -0
  46. package/dist/atomStore-kOKiEcNl.d.ts +24 -0
  47. package/dist/atoms/app/index.cjs +16 -16
  48. package/dist/atoms/app/index.d.cts +11 -11
  49. package/dist/atoms/app/index.d.ts +12 -12
  50. package/dist/atoms/app/index.js +10 -10
  51. package/dist/atoms/atomStore/index.cjs +1 -2
  52. package/dist/atoms/atomStore/index.d.cts +1 -22
  53. package/dist/atoms/atomStore/index.d.ts +1 -22
  54. package/dist/atoms/atomStore/index.js +1 -2
  55. package/dist/atoms/chat/index.cjs +40 -40
  56. package/dist/atoms/chat/index.d.cts +37 -37
  57. package/dist/atoms/chat/index.d.ts +38 -38
  58. package/dist/atoms/chat/index.js +10 -10
  59. package/dist/atoms/globalSearch/index.cjs +1 -1
  60. package/dist/atoms/globalSearch/index.d.cts +7 -6
  61. package/dist/atoms/globalSearch/index.d.ts +2 -1
  62. package/dist/atoms/globalSearch/index.js +1 -1
  63. package/dist/atoms/org/index.cjs +38 -40
  64. package/dist/atoms/org/index.d.cts +35 -53
  65. package/dist/atoms/org/index.d.ts +34 -52
  66. package/dist/atoms/org/index.js +11 -12
  67. package/dist/atoms/search/index.cjs +41 -43
  68. package/dist/atoms/search/index.d.cts +9 -10
  69. package/dist/atoms/search/index.d.ts +9 -10
  70. package/dist/atoms/search/index.js +10 -12
  71. package/dist/bandolier-Da4wt6sm.cjs +1230 -0
  72. package/dist/bandolier-DzEmYWcz.js +1230 -0
  73. package/dist/carpe-AXipz0Xl.cjs +608 -0
  74. package/dist/carpe-CaUKwcEa.js +606 -0
  75. package/dist/chat-CHmD79E1.js +26 -0
  76. package/dist/{chat-CCgyDehy.cjs → chat-_NzpO_Hn.cjs} +2 -1
  77. package/dist/{components-CScS7Ii-.cjs → components-D0XDRcaN.cjs} +2 -1
  78. package/dist/components-Dl-TMD9k.js +11 -0
  79. package/dist/config/locators/components/chat/index.cjs +1 -1
  80. package/dist/config/locators/components/chat/index.d.ts +1 -1
  81. package/dist/config/locators/components/chat/index.js +1 -1
  82. package/dist/config/locators/components/chat/variants/index.cjs +2 -1
  83. package/dist/config/locators/components/chat/variants/index.d.cts +2 -1
  84. package/dist/config/locators/components/chat/variants/index.d.ts +2 -1
  85. package/dist/config/locators/components/chat/variants/index.js +2 -1
  86. package/dist/config/locators/components/index.cjs +1 -1
  87. package/dist/config/locators/components/index.d.ts +1 -1
  88. package/dist/config/locators/components/index.js +1 -1
  89. package/dist/config/locators/components/search/index.cjs +2 -1
  90. package/dist/config/locators/components/search/index.d.cts +2 -1
  91. package/dist/config/locators/components/search/index.d.ts +2 -1
  92. package/dist/config/locators/components/search/index.js +2 -1
  93. package/dist/config/locators/index.cjs +4 -4
  94. package/dist/config/locators/index.d.cts +2 -1
  95. package/dist/config/locators/index.d.ts +4 -3
  96. package/dist/config/locators/index.js +4 -4
  97. package/dist/contexts/index.cjs +20 -23
  98. package/dist/contexts/index.d.cts +10 -59
  99. package/dist/contexts/index.d.ts +10 -59
  100. package/dist/contexts/index.js +11 -17
  101. package/dist/contexts-CtRlNXaS.js +7674 -0
  102. package/dist/contexts-CtgmnYNn.cjs +9088 -0
  103. package/dist/coterie--MGvWeVh.cjs +240 -0
  104. package/dist/coterie-oKHAT0lx.js +240 -0
  105. package/dist/customerService-BG1uNZZ1.cjs +36 -0
  106. package/dist/customerService-BHQRnLhC.js +23 -0
  107. package/dist/custservice-types-C8-9vKWb.cjs +35 -0
  108. package/dist/custservice-types-CamCiXjq.js +23 -0
  109. package/dist/default-B4fINY5_.cjs +4 -0
  110. package/dist/default-BrTQxA0c.js +4 -0
  111. package/dist/default-C3LrcbZB.cjs +199 -0
  112. package/dist/default-CXkYrLEr.js +176 -0
  113. package/dist/divIds-0Vj9g-fM.js +23 -0
  114. package/dist/{divIds-CFyAjjp3.cjs → divIds-CjceLRD9.cjs} +2 -1
  115. package/dist/dreamlandBaby-BEqt0eKF.js +347 -0
  116. package/dist/dreamlandBaby-DBDjEJCc.cjs +347 -0
  117. package/dist/{embedded-BlXJUbik.cjs → embedded-B5Wi9g0T.cjs} +2 -1
  118. package/dist/embedded-_cLpd6FK.js +23 -0
  119. package/dist/entrypoints-CNUvSgnk.js +7 -0
  120. package/dist/entrypoints-DM9Sm18O.cjs +19 -0
  121. package/dist/events/index.cjs +1 -1
  122. package/dist/events/index.d.cts +2 -1
  123. package/dist/events/index.d.ts +2 -1
  124. package/dist/events/index.js +1 -1
  125. package/dist/events-ClCDFK7t.js +78 -0
  126. package/dist/events-Da7gpmGv.cjs +90 -0
  127. package/dist/featureFlagService-5wdmW02z.d.ts +18 -0
  128. package/dist/featureFlagService-DaelrXEk.d.cts +18 -0
  129. package/dist/fiveCbd-CdqNt16h.cjs +614 -0
  130. package/dist/fiveCbd-D6B-sgnX.js +614 -0
  131. package/dist/forLoveAndLemons-C7GsJG7f.cjs +668 -0
  132. package/dist/forLoveAndLemons-gNDlMtPR.js +666 -0
  133. package/dist/{globalSearch-hxbXekus.cjs → globalSearch-BTeZxvk1.cjs} +2 -1
  134. package/dist/globalSearch-b0wC7ZEO.js +14 -0
  135. package/dist/greenpan-B5AaW4M_.js +398 -0
  136. package/dist/greenpan-DrORpYms.cjs +398 -0
  137. package/dist/grooveLife-BJqsfH2H.cjs +343 -0
  138. package/dist/grooveLife-xIUmDM8s.js +343 -0
  139. package/dist/homegrownCannabis-8TZ21u6L.cjs +411 -0
  140. package/dist/homegrownCannabis-BtMuEvbZ.js +411 -0
  141. package/dist/hooks/index.cjs +36 -38
  142. package/dist/hooks/index.d.cts +36 -82
  143. package/dist/hooks/index.d.ts +38 -84
  144. package/dist/hooks/index.js +11 -17
  145. package/dist/index-BTK5uzs6.d.cts +98 -0
  146. package/dist/index-BdNKc2ix.d.cts +2 -1
  147. package/dist/index-BrXuc_Ck.d.cts +2 -1
  148. package/dist/index-BzgkfbNO.d.cts +228 -0
  149. package/dist/index-CKKkTsms.d.ts +39 -0
  150. package/dist/index-CKUpnyJQ.d.ts +72 -0
  151. package/dist/index-CSIOQD-A.d.ts +25 -0
  152. package/dist/index-CbJZOEU4.d.ts +203 -0
  153. package/dist/index-ClJ0nMsR.d.cts +184 -0
  154. package/dist/index-Cr2y08f1.d.ts +9 -0
  155. package/dist/index-Cx9e-fRi.d.ts +184 -0
  156. package/dist/index-D2VaMPA3.d.ts +98 -0
  157. package/dist/index-D46Rd0io.d.cts +39 -0
  158. package/dist/index-DFL1dIT_.d.ts +7 -0
  159. package/dist/index-DXpgMVpp.d.ts +749 -0
  160. package/dist/index-Dxpscrvz.d.ts +228 -0
  161. package/dist/index-K2kNsOTw.d.cts +203 -0
  162. package/dist/index-MFbPQ8Ji.d.ts +95 -0
  163. package/dist/index-VHFMGkO-.d.cts +72 -0
  164. package/dist/index-VSFakgAI.d.cts +95 -0
  165. package/dist/index-aNW5V9fh.d.cts +749 -0
  166. package/dist/index-zZjcds15.d.cts +7 -0
  167. package/dist/interceptors/index.cjs +12 -13
  168. package/dist/interceptors/index.d.cts +10 -10
  169. package/dist/interceptors/index.d.ts +10 -10
  170. package/dist/interceptors/index.js +10 -11
  171. package/dist/jackArcher-WtkbLBZj.cjs +728 -0
  172. package/dist/jackArcher-sO9EbgrZ.js +728 -0
  173. package/dist/jordanCraig-471FcgqF.cjs +1787 -0
  174. package/dist/jordanCraig-DNOncplU.js +1787 -0
  175. package/dist/kindredBravely-BlLyHGMX.cjs +491 -0
  176. package/dist/kindredBravely-cqZ4OvXp.js +491 -0
  177. package/dist/kutFromTheKloth-3mOIryvt.cjs +370 -0
  178. package/dist/kutFromTheKloth-DtVNCMKa.js +370 -0
  179. package/dist/larryAndSerges-88Bvq-Us.cjs +262 -0
  180. package/dist/larryAndSerges-cvak6May.js +262 -0
  181. package/dist/leapsAndRebounds-Dmf8eUPq.js +361 -0
  182. package/dist/leapsAndRebounds-iWKc923H.cjs +361 -0
  183. package/dist/logger-Dln20ans.cjs +26 -0
  184. package/dist/logger-pdEEY8T2.js +20 -0
  185. package/dist/longevityrx-BTMI9vn-.js +321 -0
  186. package/dist/longevityrx-CobPyigd.cjs +321 -0
  187. package/dist/lookOptic-C4H_c0JZ.cjs +283 -0
  188. package/dist/lookOptic-Jwf7EAU8.js +283 -0
  189. package/dist/mantraBrand-CySGqbn6.cjs +751 -0
  190. package/dist/mantraBrand-DoaVj837.js +751 -0
  191. package/dist/medterra-BnZ5p27n.cjs +584 -0
  192. package/dist/medterra-DaICcPPp.js +584 -0
  193. package/dist/modells-CZ1L6dD_.js +485 -0
  194. package/dist/modells-DF0SndHr.cjs +485 -0
  195. package/dist/nodeSelector-DybpVr-i.d.ts +31 -0
  196. package/dist/nodeSelector-vKB44CDB.d.cts +2 -1
  197. package/dist/orgConfigResults--dAwtw3W.d.ts +881 -0
  198. package/dist/orgConfigResults-BL0XBA6x.d.cts +881 -0
  199. package/dist/pressedFloral-B3t2cYzs.cjs +662 -0
  200. package/dist/pressedFloral-Dsws2Kfb.js +662 -0
  201. package/dist/search-filter-types-9rTb3jMj.d.cts +102 -0
  202. package/dist/search-filter-types-C-zZSpGo.d.ts +102 -0
  203. package/dist/skinPerfection-CILQM2bR.cjs +335 -0
  204. package/dist/skinPerfection-DmQCntRf.js +335 -0
  205. package/dist/snapSupplements--X_v0KRM.js +286 -0
  206. package/dist/snapSupplements-Djuzl0Ed.cjs +286 -0
  207. package/dist/socialProofClasses-DdzG1tZy.js +10 -0
  208. package/dist/socialProofClasses-ky69yppk.cjs +40 -0
  209. package/dist/spanx-Bo81yXSF.cjs +664 -0
  210. package/dist/spanx-DauxB8KE.js +662 -0
  211. package/dist/spanxStaging-BucYQvR1.cjs +849 -0
  212. package/dist/spanxStaging-CfXUukdP.js +846 -0
  213. package/dist/{suggestionBarV2-types-DG3Ekk44.cjs → suggestionBarV2-types-B3lwrENK.cjs} +2 -1
  214. package/dist/suggestionBarV2-types-Penx3Y67.js +10 -0
  215. package/dist/supergoop-8qa_NV3F.cjs +338 -0
  216. package/dist/supergoop-DOaui-A6.js +336 -0
  217. package/dist/test-types-CXVJxTeu.d.ts +40 -0
  218. package/dist/test-types-CuOq25VT.d.cts +40 -0
  219. package/dist/types/index.cjs +2 -2
  220. package/dist/types/index.d.cts +2 -2
  221. package/dist/types/index.d.ts +2 -2
  222. package/dist/types/index.js +2 -2
  223. package/dist/types-CD4LFta-.d.cts +33 -0
  224. package/dist/types-CGC6Oozp.cjs +231 -0
  225. package/dist/types-CnTCkyvK.js +177 -0
  226. package/dist/types-DBdI0j89.d.ts +33 -0
  227. package/dist/uniqueVintage-BWkDgt1z.js +1212 -0
  228. package/dist/uniqueVintage-DAne8XcL.cjs +1214 -0
  229. package/dist/variant-CC1nrywd.d.ts +13 -0
  230. package/dist/variant-CQTuQQSq.d.cts +13 -0
  231. package/dist/venaCbd-B1HO_Pkr.cjs +366 -0
  232. package/dist/venaCbd-CnByO-5R.js +366 -0
  233. package/dist/westonJonBoucher-BAGXegsX.js +423 -0
  234. package/dist/westonJonBoucher-BRfHWMbs.cjs +423 -0
  235. package/dist/wineEnthusiast-DW8JVwV8.cjs +941 -0
  236. package/dist/wineEnthusiast-EJbhMeKQ.js +941 -0
  237. package/dist/wolfMattress-B6INZNRJ.cjs +373 -0
  238. package/dist/wolfMattress-D9P7ErH_.js +373 -0
  239. package/dist/wolfTactical-C5Pupi3J.js +350 -0
  240. package/dist/wolfTactical-TMthZM93.cjs +350 -0
  241. package/package.json +2 -1
  242. package/src/adapters/amplitude/amplitudeAdapter.ts +32 -9
  243. package/src/adapters/spiffy/commerce/api.ts +17 -8
  244. package/src/adapters/spiffy/commerce/graphql.ts +16 -5
  245. package/src/application/config/generalStaticConfig.ts +5 -2
  246. package/src/application/models/api/orgConfigResults.ts +6 -2
  247. package/src/application/models/supportedOrgs.ts +1 -1
  248. package/src/application/models/validators/validateGraphQLColorsConfig.ts +23 -21
  249. package/src/application/service/cdnService.ts +4 -2
  250. package/src/application/service/graphqlConfigService.ts +59 -0
  251. package/src/application/service/index.ts +1 -1
  252. package/src/application/service/pageVariantService.ts +5 -5
  253. package/src/application/service/searchService.ts +9 -2
  254. package/src/application/service/windowChatToggleService.ts +28 -19
  255. package/src/application/service/windowFrontendConfigService.ts +7 -4
  256. package/src/atoms/app/index.ts +26 -17
  257. package/src/atoms/app/variant.ts +1 -0
  258. package/src/atoms/chat/messageQueue.ts +1 -1
  259. package/src/atoms/envive/enviveConfig.ts +81 -0
  260. package/src/atoms/org/graphqlConfig.ts +40 -11
  261. package/src/atoms/org/index.ts +7 -7
  262. package/src/atoms/org/merchantCss.ts +119 -2
  263. package/src/atoms/org/org.ts +67 -70
  264. package/src/atoms/org/orgPageConfig.ts +9 -6
  265. package/src/atoms/org/orgUIConfig.ts +22 -9
  266. package/src/atoms/search/chatSearch.ts +85 -67
  267. package/src/atoms/search/searchAPI.ts +52 -42
  268. package/src/contexts/chatContext.tsx +4 -1
  269. package/src/contexts/enviveConfigContext.tsx +37 -26
  270. package/src/contexts/enviveCssContext.tsx +20 -0
  271. package/src/contexts/index.ts +2 -0
  272. package/src/contexts/orgConfigContext.tsx +106 -0
  273. package/src/contexts/systemSettingsContext.tsx +2 -2
  274. package/src/contexts/types.ts +12 -9
  275. package/src/hooks/index.ts +2 -3
  276. package/src/hooks/useDynamicVariants.ts +48 -32
  277. package/src/hooks/useFileUpload.ts +1 -1
  278. package/src/hooks/useHideElements.ts +21 -18
  279. package/src/hooks/useImageResolver.ts +16 -8
  280. package/src/hooks/useNewOrgConfig.ts +80 -0
  281. package/src/hooks/useSearch.tsx +10 -6
  282. package/src/hooks/utils.ts +1 -1
  283. package/src/interceptors/useFormEscalation.ts +26 -9
  284. package/src/types.ts +0 -2
  285. package/dist/api-BtzLHcfU.cjs +0 -268
  286. package/dist/api-kpPTZhV9.js +0 -189
  287. package/dist/atomStore-BNQyGmU_.cjs +0 -57
  288. package/dist/atomStore-TnLPtYns.js +0 -31
  289. package/dist/bandolier-CQrxBHsk.cjs +0 -1230
  290. package/dist/bandolier-Di9DpZ8e.js +0 -1230
  291. package/dist/carpe-3NJOR-Rj.cjs +0 -608
  292. package/dist/carpe-DmWKaIQq.js +0 -606
  293. package/dist/cdnService-BNreZjqy.js +0 -18
  294. package/dist/cdnService-vLxePdrU.cjs +0 -23
  295. package/dist/chat-CCQMmhc1.cjs +0 -5057
  296. package/dist/chat-Dk6KPb1K.js +0 -25
  297. package/dist/chat-H6YcCS4I.js +0 -4113
  298. package/dist/components-DAQxVIn9.js +0 -10
  299. package/dist/coterie-D0UFsFC5.cjs +0 -240
  300. package/dist/coterie-JblRmIZL.js +0 -240
  301. package/dist/customerService-C4wc0glQ.js +0 -22
  302. package/dist/customerService-zsDlp7g2.cjs +0 -35
  303. package/dist/custservice-types-D8Npo-5Z.js +0 -22
  304. package/dist/custservice-types-E9_OSaZ7.cjs +0 -34
  305. package/dist/default-C5ZTV8HA.cjs +0 -4
  306. package/dist/default-DPv8m-eQ.js +0 -175
  307. package/dist/default-DRKBosow.cjs +0 -198
  308. package/dist/default-ao0vRl0W.js +0 -4
  309. package/dist/divIds-BWvq-i6I.js +0 -22
  310. package/dist/dreamlandBaby-CyS8oW8X.js +0 -347
  311. package/dist/dreamlandBaby-y7kSvwH2.cjs +0 -347
  312. package/dist/embedded-C1jvFj3v.js +0 -22
  313. package/dist/entrypoints-CmmOszXO.js +0 -6
  314. package/dist/entrypoints-fowCLUT2.cjs +0 -18
  315. package/dist/enviveConfigContext-Bs8kepnO.cjs +0 -48
  316. package/dist/enviveConfigContext-CWVdVWKW.js +0 -34
  317. package/dist/events-DgFzlVJR.js +0 -77
  318. package/dist/events-bH-24eRW.cjs +0 -89
  319. package/dist/featureFlagService-CroFRxvD.d.cts +0 -17
  320. package/dist/featureFlagService-NkJ2fuEj.d.ts +0 -17
  321. package/dist/featureGates-BMWXU0dS.d.ts +0 -90
  322. package/dist/featureGates-N_gyHCTn.d.cts +0 -90
  323. package/dist/fiveCbd-CXVuIBiZ.cjs +0 -614
  324. package/dist/fiveCbd-Cyc3-Ab9.js +0 -614
  325. package/dist/forLoveAndLemons-CxQS0USq.cjs +0 -668
  326. package/dist/forLoveAndLemons-D8mcgmdk.js +0 -666
  327. package/dist/frontendConfig-KeNqU1wa.d.cts +0 -790
  328. package/dist/frontendConfig-cPvCTWm6.d.ts +0 -790
  329. package/dist/globalSearch-BC0rOX3E.js +0 -13
  330. package/dist/greenpan-JM6SHcqO.js +0 -398
  331. package/dist/greenpan-eIzyxVsn.cjs +0 -398
  332. package/dist/grooveLife-BmsUc2cD.js +0 -343
  333. package/dist/grooveLife-KdTizVUn.cjs +0 -343
  334. package/dist/homegrownCannabis-C0GDai4r.cjs +0 -411
  335. package/dist/homegrownCannabis-a9udocBT.js +0 -411
  336. package/dist/hooks-DjOa7ihH.cjs +0 -7331
  337. package/dist/hooks-fneW8SWw.js +0 -7152
  338. package/dist/index-BQErGgfM.d.cts +0 -202
  339. package/dist/index-C4zjAR1c.d.cts +0 -227
  340. package/dist/index-CGB6CAmr.d.ts +0 -6
  341. package/dist/index-CIco0cCQ.d.ts +0 -183
  342. package/dist/index-COG1kOZG.d.ts +0 -749
  343. package/dist/index-CVxe7FpL.d.cts +0 -6
  344. package/dist/index-Cn1SeI5y.d.cts +0 -183
  345. package/dist/index-CnqHN_jz.d.ts +0 -202
  346. package/dist/index-Cqg6ltII.d.ts +0 -38
  347. package/dist/index-DE_7Q8qK.d.ts +0 -94
  348. package/dist/index-Da0UzyI9.d.ts +0 -24
  349. package/dist/index-DbWWcYax.d.cts +0 -749
  350. package/dist/index-DtoVXd6O.d.cts +0 -97
  351. package/dist/index-JClBRnSX.d.cts +0 -94
  352. package/dist/index-ghzD_356.d.ts +0 -8
  353. package/dist/index-hdbCEjYy.d.cts +0 -38
  354. package/dist/index-luJrHgPN.d.ts +0 -97
  355. package/dist/index-tfRj22E1.d.ts +0 -227
  356. package/dist/jackArcher-B6OJ0N3a.cjs +0 -728
  357. package/dist/jackArcher-B9fe4Hv8.js +0 -728
  358. package/dist/jordanCraig-0CB_m_ts.cjs +0 -1787
  359. package/dist/jordanCraig-DNm1iw1L.js +0 -1787
  360. package/dist/kindredBravely-CZgt7DJA.js +0 -491
  361. package/dist/kindredBravely-KvYPbckZ.cjs +0 -491
  362. package/dist/kutFromTheKloth-BxgtWZs9.cjs +0 -370
  363. package/dist/kutFromTheKloth-SmteSZjk.js +0 -370
  364. package/dist/larryAndSerges-6O_u3L90.cjs +0 -261
  365. package/dist/larryAndSerges-DO-zG8ES.js +0 -261
  366. package/dist/leapsAndRebounds-BK62AmXw.js +0 -361
  367. package/dist/leapsAndRebounds-gPsWVUmQ.cjs +0 -361
  368. package/dist/logger-Be0NyKaY.cjs +0 -25
  369. package/dist/logger-BexDfK3W.js +0 -19
  370. package/dist/longevityrx-DjKbwJo3.cjs +0 -321
  371. package/dist/longevityrx-eq5TeUcy.js +0 -321
  372. package/dist/lookOptic-BPPqms_j.cjs +0 -283
  373. package/dist/lookOptic-jRpBXQCN.js +0 -283
  374. package/dist/mantraBrand-BZOZfkUK.js +0 -751
  375. package/dist/mantraBrand-Cp8zptkj.cjs +0 -751
  376. package/dist/medterra-BHYCBgvQ.cjs +0 -584
  377. package/dist/medterra-CShe6CLY.js +0 -584
  378. package/dist/modells-DE7-gmjK.cjs +0 -485
  379. package/dist/modells-DFyJxNwT.js +0 -485
  380. package/dist/nodeSelector-DpKXszfU.d.ts +0 -30
  381. package/dist/org-Bkn6fl6I.cjs +0 -106
  382. package/dist/org-CX8HFbc9.js +0 -63
  383. package/dist/pressedFloral-BMkCVs8c.cjs +0 -662
  384. package/dist/pressedFloral-aK9br-LF.js +0 -662
  385. package/dist/search-DtIFZeMA.cjs +0 -743
  386. package/dist/search-eWwg8pNn.js +0 -542
  387. package/dist/search-filter-types-ByJnFPc4.d.cts +0 -101
  388. package/dist/search-filter-types-DPgeG8FS.d.ts +0 -101
  389. package/dist/skinPerfection-B9G6yLM2.js +0 -335
  390. package/dist/skinPerfection-BBC1q65Z.cjs +0 -335
  391. package/dist/snapSupplements-D7hx6Kgj.cjs +0 -286
  392. package/dist/snapSupplements-DKvJl__T.js +0 -286
  393. package/dist/socialProofClasses-BYLiEXpU.cjs +0 -39
  394. package/dist/socialProofClasses-CkJufEGb.js +0 -9
  395. package/dist/spanx-D-ZKkxjM.cjs +0 -664
  396. package/dist/spanx-yl7YfVrf.js +0 -662
  397. package/dist/spanxStaging-CXeIg6zI.cjs +0 -849
  398. package/dist/spanxStaging-DzGXL9wD.js +0 -846
  399. package/dist/suggestionBarV2-types-B0RbMStE.js +0 -9
  400. package/dist/supergoop-CSpDPOpl.cjs +0 -337
  401. package/dist/supergoop-D0UkuRiA.js +0 -335
  402. package/dist/test-types-C9b_OdfO.d.ts +0 -39
  403. package/dist/test-types-CpKCxk8U.d.cts +0 -39
  404. package/dist/types-BE4faOO_.d.cts +0 -32
  405. package/dist/types-C3S1H4hl.js +0 -176
  406. package/dist/types-TD8g7LnH.d.ts +0 -32
  407. package/dist/types-lcjuhDBt.cjs +0 -230
  408. package/dist/uniqueVintage-DygVpCqU.cjs +0 -1214
  409. package/dist/uniqueVintage-_n0FZFVj.js +0 -1212
  410. package/dist/useMessageInterceptor-BP6gzo8a.js +0 -57
  411. package/dist/useMessageInterceptor-BnUG2Pzt.cjs +0 -72
  412. package/dist/variant-DH4zusMi.d.cts +0 -12
  413. package/dist/variant-DTEqSBHd.d.ts +0 -12
  414. package/dist/variantInfo-BTvC6CQh.js +0 -1
  415. package/dist/variantInfo-Cz2YXraO.cjs +0 -0
  416. package/dist/venaCbd-BS0dvdBm.js +0 -366
  417. package/dist/venaCbd-Pqg0bj-P.cjs +0 -366
  418. package/dist/westonJonBoucher-CLw8Hy6u.js +0 -423
  419. package/dist/westonJonBoucher-CeA0jwxe.cjs +0 -423
  420. package/dist/wineEnthusiast-M9P18d1w.js +0 -941
  421. package/dist/wineEnthusiast-gHBaQMbe.cjs +0 -941
  422. package/dist/wolfMattress-BQHjoQYu.js +0 -373
  423. package/dist/wolfMattress-CdmN-Evm.cjs +0 -373
  424. package/dist/wolfTactical-Cc2ZLBRh.js +0 -350
  425. package/dist/wolfTactical-dObnPgAG.cjs +0 -350
  426. package/src/application/service/environmentService.ts +0 -51
  427. package/src/extension.ts +0 -63
  428. package/src/hooks/useHorizontalScrollAnimation.ts +0 -115
  429. package/src/hooks/useReducedMotionWithOverride.ts +0 -15
  430. package/src/hooks/useSnapControl.ts +0 -155
  431. package/src/initialize.ts +0 -163
  432. package/src/main.tsx +0 -108
  433. package/src/merchants/uniqueVintage/views/useUniqueVintageChatSearch.ts +0 -147
  434. /package/dist/{atomStore-B3tsg6mF.cjs → locators-CugndTUM.cjs} +0 -0
  435. /package/dist/{atomStore-FSZd_20F.js → locators-DnKpajbY.js} +0 -0
  436. /package/dist/{locators-C2DX_nX6.js → utilityTypes-BVikejDo.js} +0 -0
  437. /package/dist/{locators-CUpyd9Wt.cjs → utilityTypes-C4h2wgAK.cjs} +0 -0
  438. /package/dist/{utilityTypes-DMdsI0DG.cjs → variantInfo-CNRTY0gH.cjs} +0 -0
  439. /package/dist/{utilityTypes-UWdNHElu.js → variantInfo-CzhR5W6h.js} +0 -0
@@ -0,0 +1,1230 @@
1
+ require('./logger-Dln20ans.cjs');
2
+ require('./api-B2euFL-5.cjs');
3
+ const require_contexts = require('./contexts-CtgmnYNn.cjs');
4
+ const require_types = require('./types-CGC6Oozp.cjs');
5
+ require('./atomStore-JwGb7pcy.cjs');
6
+ require('./customerService-BG1uNZZ1.cjs');
7
+ require('./globalSearch-BTeZxvk1.cjs');
8
+ require('./utilityTypes-C4h2wgAK.cjs');
9
+ require('./variantInfo-CNRTY0gH.cjs');
10
+ require('./events-Da7gpmGv.cjs');
11
+ const require_divIds = require('./divIds-CjceLRD9.cjs');
12
+ require('./chat-_NzpO_Hn.cjs');
13
+ require('./components-D0XDRcaN.cjs');
14
+ const require_embedded = require('./embedded-B5Wi9g0T.cjs');
15
+ require('./locators-CugndTUM.cjs');
16
+ const require_suggestionBarV2_types = require('./suggestionBarV2-types-B3lwrENK.cjs');
17
+ const require_default = require('./default-C3LrcbZB.cjs');
18
+
19
+ //#region src/merchants/bandolier/bandolier.ts
20
+ const bandolierColors = {
21
+ [require_types.ColorNames.TextPrimary]: "#000000",
22
+ [require_types.ColorNames.TextSecondary]: "#6C6C6C",
23
+ [require_types.ColorNames.TextAccent]: "#AF986E",
24
+ [require_types.ColorNames.TextLink]: "#000000",
25
+ [require_types.ColorNames.TextLight]: "#FFFFFF",
26
+ [require_types.ColorNames.BackgroundPrimary]: "#000000",
27
+ [require_types.ColorNames.BackgroundSecondary]: "#ECECEC",
28
+ [require_types.ColorNames.BackgroundSecondaryDark]: "#E2E2E2",
29
+ [require_types.ColorNames.BackgroundTertiary]: "#ECECEC",
30
+ [require_types.ColorNames.BackgroundDark]: "#000000",
31
+ [require_types.ColorNames.BackgroundLight]: "#FFFFFF",
32
+ [require_types.ColorNames.BackgroundSaturated]: "#CCCCCC",
33
+ [require_types.ColorNames.BorderLight]: "#ECECEC",
34
+ [require_types.ColorNames.BorderMedium]: "#EAEAEA",
35
+ [require_types.ColorNames.BorderDark]: "#6C6C6C",
36
+ [require_types.ColorNames.BorderOutline]: "#000000",
37
+ [require_types.ColorNames.AccentPrimary]: "#AF986E",
38
+ [require_types.ColorNames.AccentSecondary]: "#DCB4AE"
39
+ };
40
+ const bandolierOrgUIConfig = () => {
41
+ const defaultBandolierOrgConfig = require_default.defaultOrgUIConfig(require_types.OrgShortName.Bandolier);
42
+ return {
43
+ ...defaultBandolierOrgConfig,
44
+ merchantVariantSettings: { dynamicVariants: {
45
+ enabled: false,
46
+ refreshInterval: 400
47
+ } },
48
+ chatMessageConfig: {
49
+ ...defaultBandolierOrgConfig.chatMessageConfig,
50
+ assistantChatTitle: "Ask Maggie",
51
+ variant: "accent"
52
+ },
53
+ chatHeader: {
54
+ ...defaultBandolierOrgConfig.chatHeader,
55
+ imageSrc: require_contexts.CdnService.getAssetURL("bandolier-logo.svg", require_types.OrgShortName.Bandolier)
56
+ },
57
+ chatPreviewConfig: {
58
+ ...defaultBandolierOrgConfig.chatPreviewConfig,
59
+ buttonTextColor: require_types.colorVar(require_types.ColorNames.TextLink),
60
+ buttonBackgroundColor: require_types.colorVar(require_types.ColorNames.BackgroundSecondary),
61
+ buttonBackgroundHoverColor: require_types.colorVar(require_types.ColorNames.BackgroundSecondaryDark),
62
+ buttonTextHoverColor: require_types.colorVar(require_types.ColorNames.TextLink),
63
+ iconFillColor: require_types.colorVar(require_types.ColorNames.TextAccent),
64
+ copies: {
65
+ pdp: [
66
+ "does this fit my device model?",
67
+ "is this adjustable?",
68
+ "why choose this over a bulky bag?",
69
+ "what do reviewers love most?",
70
+ "can I use this every day?"
71
+ ],
72
+ plp: []
73
+ },
74
+ headerConfig: { ...defaultBandolierOrgConfig.chatPreviewConfig.headerConfig },
75
+ footerConfig: { ...defaultBandolierOrgConfig.chatPreviewConfig.footerConfig }
76
+ },
77
+ floatingEntrypointConfig: {
78
+ ...defaultBandolierOrgConfig.floatingEntrypointConfig,
79
+ showOption: "always",
80
+ expandedColor: require_types.colorVar(require_types.ColorNames.BackgroundDark),
81
+ expansionText: {
82
+ pdp: "Could this be your perfect everyday essential?",
83
+ plp: "What can we help you find today?"
84
+ }
85
+ },
86
+ productCardConfig: { ...defaultBandolierOrgConfig.productCardConfig },
87
+ pageCardConfig: {
88
+ ...defaultBandolierOrgConfig.pageCardConfig,
89
+ variant: "filled",
90
+ hoverVariant: "lift",
91
+ iconVariant: "primary"
92
+ },
93
+ productReviewConfig: { ...defaultBandolierOrgConfig.productReviewConfig },
94
+ welcomeSectionConfig: {
95
+ ...defaultBandolierOrgConfig.welcomeSectionConfig,
96
+ title: "Welcome to Bandolier AI!",
97
+ colorVariant: "accent",
98
+ subtitle: "Hey there. I’m Maggie, your Bandolier shopping assistant. I’m here to help you find your perfect Bandolier—effortlessly stylish, hands-free, and ready for wherever life takes you."
99
+ },
100
+ customerServiceIntegration: {
101
+ integrationMode: require_types.CustomerServiceIntegrationMode.simple,
102
+ provider: require_types.CustomerServiceType.gorgias,
103
+ useUnifiedButton: true
104
+ },
105
+ searchConfig: {
106
+ enableGlobalSearch: true,
107
+ redirectSearchResultsUrl: "https://www.bandolierstyle.com/pages/search-page",
108
+ searchFilterConfig: [
109
+ {
110
+ filterId: "price",
111
+ displayName: "Price",
112
+ type: "price",
113
+ bucketSize: 100
114
+ },
115
+ {
116
+ filterId: "material",
117
+ displayName: "Materials",
118
+ attribute: "materials",
119
+ type: "dynamic",
120
+ sorting: { type: "productCount" }
121
+ },
122
+ {
123
+ filterId: "devices",
124
+ displayName: "Phone size",
125
+ type: "dynamic",
126
+ attribute: "devices",
127
+ sorting: { type: "productCount" }
128
+ },
129
+ {
130
+ filterId: "colors",
131
+ displayName: "Color",
132
+ type: "dynamic",
133
+ attribute: "colors",
134
+ sorting: { type: "productCount" }
135
+ },
136
+ {
137
+ filterId: "dynamic",
138
+ displayName: "",
139
+ type: "dynamic",
140
+ attribute: "dynamic",
141
+ sorting: { type: "productCount" }
142
+ }
143
+ ]
144
+ },
145
+ merchantOverrideCss: `
146
+ .spiffy-headline {
147
+ font-family: 'DM Sans', 'Poppins', sans-serif;
148
+ }
149
+ .spiffy-headline-placeholder::placeholder {
150
+ font-family: 'DM Sans', 'Poppins', sans-serif;
151
+ font-style: italic;
152
+ }
153
+ .spiffy-star-rating-container {
154
+ background: var(--spiffy-colors-background-light) !important;
155
+ }
156
+ .spiffy-star-rating-star {
157
+ fill: var(--spiffy-colors-accent-primary) !important;
158
+ }
159
+ .spiffy-product-card-text-color {
160
+ color: var(--spiffy-colors-text-secondary);
161
+ }
162
+ .spiffy-view-source-icon-wrapper {
163
+ background: var(--spiffy-colors-accent-primary) !important;
164
+ }
165
+ .spiffy-view-source-icon-wrapper svg {
166
+ fill: var(--spiffy-colors-background-light);
167
+ }
168
+ .spiffy-floating-button-position {
169
+ top: 150px !important;
170
+
171
+ @media (max-width: 760px) {
172
+ top: 100px !important;
173
+ }
174
+ }
175
+ [data-testid="floating-chat-shadow-dom-container"] {
176
+ z-index: 2147483647 !important;
177
+ }
178
+ .spiffy-chat-header-close-button {
179
+ color: var(--spiffy-colors-background-primary);
180
+ }
181
+ .spiffy-modal-sheet-footer .spiffy-suggestion-button-question-class svg {
182
+ fill: var(--spiffy-colors-text-link) !important;
183
+ stroke: var(--spiffy-colors-text-link) !important;
184
+ }
185
+ .spiffy-chat-header-container img {
186
+ max-width: 150px;
187
+ }
188
+ .spiffy-image-prompt-card-container .spiffy-suggestion-bar-row button {
189
+ background-color: var(--spiffy-colors-background-secondary) !important;
190
+ color: var(--spiffy-colors-text-link) !important;
191
+ border: none;
192
+ }
193
+ .spiffy-image-prompt-card-container .spiffy-suggestion-bar-row button svg {
194
+ fill: var(--spiffy-colors-accent-primary) !important;
195
+ stroke: var(--spiffy-colors-accent-primary) !important;
196
+ }
197
+ .spiffy-image-prompt-card-container .spiffy-suggestion-bar-row button:hover {
198
+ background-color: var(--spiffy-colors-background-secondary-dark) !important;
199
+ }
200
+ .spiffy-chat-preview-footer-container button {
201
+ background-color: var(--spiffy-colors-background-secondary);
202
+ border-radius: 0 !important;
203
+ }
204
+ .spiffy-chat-preview-footer-container button span {
205
+ color: var(--spiffy-colors-text-link) !important;
206
+ }
207
+ .spiffy-chat-preview-footer-container button:hover span {
208
+ color: var(--spiffy-colors-text-link) !important;
209
+ }
210
+ .spiffy-chat-preview-footer-container button svg {
211
+ fill: var(--spiffy-colors-accent-primary);
212
+ stroke: var(--spiffy-colors-accent-primary);
213
+ }
214
+ .spiffy-chat-preview-footer-container button:hover {
215
+ background-color: var(--spiffy-colors-background-secondary-dark);
216
+ }
217
+ .spiffy-chat-preview-footer-container button:hover svg {
218
+ fill: var(--spiffy-colors-accent-primary) !important;
219
+ stroke: var(--spiffy-colors-accent-primary) !important;
220
+ }
221
+ .spiffy-back-to-results-button {
222
+ color: var(--spiffy-colors-text-light);
223
+ }
224
+ .spiffy-back-to-results-button svg {
225
+ fill: var(--spiffy-colors-accent-primary) !important;
226
+ stroke: var(--spiffy-colors-accent-primary) !important;
227
+ }
228
+ @media (max-width: 479px) {
229
+ #spiffy-ai-prompt-card {
230
+ grid-area: 2 / 1 / 2 / -1 !important;
231
+ min-height: 350px !important;
232
+ }
233
+ .spiffy-image-prompt-card-container {
234
+ background-position-y: 0%, 100% !important;
235
+ }
236
+ }
237
+
238
+ /* ==========================================================================
239
+ Search Layout & Visibility Rules
240
+ ========================================================================== */
241
+
242
+ .search-results-entry-point ~ .section-padding.text-section.text-dark {
243
+ color: red;
244
+ }
245
+
246
+ /* -- Rules to hide original site elements -- */
247
+ .global-entry-desktop + .js-search-trigger.search,
248
+ .global-entry-small-desktop + .js-search-trigger.search,
249
+ .global-entry-desktop + .search-popdown,
250
+ .global-entry-small-desktop + .search-popdown,
251
+ #spiffy-ai-global-search-entrypoint-mobile-icon-only + .search-popdown,
252
+ #spiffy-ai-global-search-entrypoint-mobile-homepage + .search-popdown,
253
+ .global-entry-desktop + .main-content,
254
+ .global-entry-small-desktop + .main-content,
255
+ .search-results-entry-point + .shopify-section {
256
+ display: none !important;
257
+ }
258
+
259
+ // .search-results-no-op ~ * {
260
+ // z-index: 0;
261
+ // }
262
+
263
+ #spiffy-ai-global-search-entrypoint-mobile.global-entry-mobile {
264
+ display: block;
265
+ }
266
+
267
+ @media (min-width: 640px) {
268
+ #spiffy-ai-global-search-entrypoint-mobile.global-entry-mobile {
269
+ display: none;
270
+ }
271
+
272
+ #spiffy-ai-global-search-entrypoint-mobile-icon-only {
273
+ display: block;
274
+ }
275
+ }
276
+
277
+ @media (min-width: 1200px) {
278
+ #spiffy-ai-global-search-entrypoint.global-entry-desktop {
279
+ display: block;
280
+ }
281
+ #spiffy-ai-global-search-entrypoint-tablet.global-entry-small-desktop {
282
+ display: none;
283
+ }
284
+ #spiffy-ai-global-search-entrypoint-mobile.global-entry-mobile {
285
+ display: none;
286
+ }
287
+ }
288
+ `
289
+ };
290
+ };
291
+ const bandolierPageConfig = () => ({
292
+ pageVariants: [
293
+ {
294
+ variantId: "search-results",
295
+ variantType: "search",
296
+ variantTests: [
297
+ { testType: require_types.PageVariantTestType.UrlResolver },
298
+ {
299
+ testType: require_types.PageVariantTestType.FeatureGate,
300
+ featureGate: require_contexts.FeatureGates.IsGlobalSearchEnabled
301
+ },
302
+ {
303
+ testType: require_types.PageVariantTestType.QueryParam,
304
+ queryParam: "esq"
305
+ }
306
+ ],
307
+ widgetMounting: [
308
+ {
309
+ mountingConfigId: "globalSearchEntryPointDesktop",
310
+ widgetConfigId: "globalSearchEntryPointDesktop"
311
+ },
312
+ {
313
+ mountingConfigId: "globalSearchEntryPointSmallDesktop",
314
+ widgetConfigId: "globalSearchEntryPointDesktop"
315
+ },
316
+ {
317
+ mountingConfigId: "chatPreviewPLP",
318
+ widgetConfigId: "chatPreviewPLP"
319
+ },
320
+ {
321
+ mountingConfigId: "searchResultsEntryPointPLP",
322
+ widgetConfigId: "searchResultsEntryPoint"
323
+ },
324
+ {
325
+ mountingConfigId: "globalSearchEntryPointOnlyIconMobile",
326
+ widgetConfigId: "globalSearchEntryPointOnlyIconMobile"
327
+ },
328
+ {
329
+ mountingConfigId: "searchOverlayHost",
330
+ widgetConfigId: "searchOverlayHost"
331
+ }
332
+ ]
333
+ },
334
+ {
335
+ variantId: "plp-with-search",
336
+ variantType: "plp",
337
+ variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }, {
338
+ testType: require_types.PageVariantTestType.FeatureGate,
339
+ featureGate: require_contexts.FeatureGates.IsGlobalSearchEnabled
340
+ }],
341
+ plpIdExtractor: "url-resolver-plp-id",
342
+ widgetMounting: [
343
+ {
344
+ mountingConfigId: "globalSearchEntryPointDesktop",
345
+ widgetConfigId: "globalSearchEntryPointDesktop"
346
+ },
347
+ {
348
+ mountingConfigId: "globalSearchEntryPointSmallDesktop",
349
+ widgetConfigId: "globalSearchEntryPointDesktop"
350
+ },
351
+ {
352
+ mountingConfigId: "globalSearchEntryPointMobile",
353
+ widgetConfigId: "globalSearchEntryPointMobile"
354
+ },
355
+ {
356
+ mountingConfigId: "globalSearchEntryPointMobileSearchIcon",
357
+ widgetConfigId: "globalSearchEntryPointMobileSearchIcon"
358
+ },
359
+ {
360
+ mountingConfigId: "chatPreviewPLP",
361
+ widgetConfigId: "chatPreviewPLP"
362
+ },
363
+ {
364
+ mountingConfigId: "globalSearchEntryPointOnlyIconMobile",
365
+ widgetConfigId: "globalSearchEntryPointOnlyIconMobile"
366
+ },
367
+ {
368
+ mountingConfigId: "searchOverlayHost",
369
+ widgetConfigId: "searchOverlayHost"
370
+ }
371
+ ]
372
+ },
373
+ {
374
+ variantId: "pdp-with-search-bags",
375
+ variantType: "pdp",
376
+ variantTests: [
377
+ { testType: require_types.PageVariantTestType.UrlResolver },
378
+ {
379
+ testType: require_types.PageVariantTestType.FeatureGate,
380
+ featureGate: require_contexts.FeatureGates.IsGlobalSearchEnabled
381
+ },
382
+ {
383
+ testType: require_types.PageVariantTestType.InCollection,
384
+ collections: ["bags"]
385
+ }
386
+ ],
387
+ productIdExtractor: "url-resolver-product-id",
388
+ widgetMounting: [
389
+ {
390
+ mountingConfigId: "globalSearchEntryPointDesktop",
391
+ widgetConfigId: "globalSearchEntryPointDesktop"
392
+ },
393
+ {
394
+ mountingConfigId: "globalSearchEntryPointSmallDesktop",
395
+ widgetConfigId: "globalSearchEntryPointDesktop"
396
+ },
397
+ {
398
+ mountingConfigId: "globalSearchEntryPointMobile",
399
+ widgetConfigId: "globalSearchEntryPointMobile"
400
+ },
401
+ {
402
+ mountingConfigId: "globalSearchEntryPointMobileSearchIcon",
403
+ widgetConfigId: "globalSearchEntryPointMobileSearchIcon"
404
+ },
405
+ {
406
+ mountingConfigId: "topSuggestionBarPDP",
407
+ widgetConfigId: "topSuggestionsBarBags"
408
+ },
409
+ {
410
+ mountingConfigId: "bottomSuggestionBarPDP",
411
+ widgetConfigId: "bottomSuggestionsBar"
412
+ },
413
+ {
414
+ mountingConfigId: "chatPreviewPDP",
415
+ widgetConfigId: "chatPreviewPDP"
416
+ },
417
+ {
418
+ mountingConfigId: "globalSearchEntryPointOnlyIconMobile",
419
+ widgetConfigId: "globalSearchEntryPointOnlyIconMobile"
420
+ },
421
+ {
422
+ mountingConfigId: "searchOverlayHost",
423
+ widgetConfigId: "searchOverlayHost"
424
+ }
425
+ ]
426
+ },
427
+ {
428
+ variantId: "pdp-with-search",
429
+ variantType: "pdp",
430
+ variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }, {
431
+ testType: require_types.PageVariantTestType.FeatureGate,
432
+ featureGate: require_contexts.FeatureGates.IsGlobalSearchEnabled
433
+ }],
434
+ productIdExtractor: "url-resolver-product-id",
435
+ widgetMounting: [
436
+ {
437
+ mountingConfigId: "globalSearchEntryPointDesktop",
438
+ widgetConfigId: "globalSearchEntryPointDesktop"
439
+ },
440
+ {
441
+ mountingConfigId: "globalSearchEntryPointSmallDesktop",
442
+ widgetConfigId: "globalSearchEntryPointDesktop"
443
+ },
444
+ {
445
+ mountingConfigId: "globalSearchEntryPointMobile",
446
+ widgetConfigId: "globalSearchEntryPointMobile"
447
+ },
448
+ {
449
+ mountingConfigId: "globalSearchEntryPointMobileSearchIcon",
450
+ widgetConfigId: "globalSearchEntryPointMobileSearchIcon"
451
+ },
452
+ {
453
+ mountingConfigId: "topSuggestionBarPDP",
454
+ widgetConfigId: "topSuggestionsBar"
455
+ },
456
+ {
457
+ mountingConfigId: "bottomSuggestionBarPDP",
458
+ widgetConfigId: "bottomSuggestionsBar"
459
+ },
460
+ {
461
+ mountingConfigId: "chatPreviewPDP",
462
+ widgetConfigId: "chatPreviewPDP"
463
+ },
464
+ {
465
+ mountingConfigId: "globalSearchEntryPointOnlyIconMobile",
466
+ widgetConfigId: "globalSearchEntryPointOnlyIconMobile"
467
+ },
468
+ {
469
+ mountingConfigId: "searchOverlayHost",
470
+ widgetConfigId: "searchOverlayHost"
471
+ }
472
+ ]
473
+ },
474
+ {
475
+ variantId: "home-with-search",
476
+ variantType: "homepage",
477
+ variantTests: [{ testType: require_types.PageVariantTestType.UrlResolver }, {
478
+ testType: require_types.PageVariantTestType.FeatureGate,
479
+ featureGate: require_contexts.FeatureGates.IsGlobalSearchEnabled
480
+ }],
481
+ widgetMounting: [
482
+ {
483
+ mountingConfigId: "globalSearchEntryPointDesktopHomepage",
484
+ widgetConfigId: "globalSearchEntryPointDesktopHomepage"
485
+ },
486
+ {
487
+ mountingConfigId: "globalSearchEntryPointSmallDesktopHomepage",
488
+ widgetConfigId: "globalSearchEntryPointDesktopHomepage"
489
+ },
490
+ {
491
+ mountingConfigId: "globalSearchEntryPointMobileHomepage",
492
+ widgetConfigId: "globalSearchEntryPointOnlyIconMobile"
493
+ },
494
+ {
495
+ mountingConfigId: "searchOverlayHost",
496
+ widgetConfigId: "searchOverlayHost"
497
+ }
498
+ ]
499
+ },
500
+ {
501
+ variantId: "other-with-search",
502
+ variantType: "other",
503
+ variantTests: [{
504
+ testType: require_types.PageVariantTestType.FeatureGate,
505
+ featureGate: require_contexts.FeatureGates.IsGlobalSearchEnabled
506
+ }, { testType: require_types.PageVariantTestType.UrlResolver }],
507
+ widgetMounting: [
508
+ {
509
+ mountingConfigId: "globalSearchEntryPointDesktop",
510
+ widgetConfigId: "globalSearchEntryPointDesktop"
511
+ },
512
+ {
513
+ mountingConfigId: "globalSearchEntryPointSmallDesktop",
514
+ widgetConfigId: "globalSearchEntryPointDesktop"
515
+ },
516
+ {
517
+ mountingConfigId: "globalSearchEntryPointOnlyIconMobile",
518
+ widgetConfigId: "globalSearchEntryPointOnlyIconMobile"
519
+ },
520
+ {
521
+ mountingConfigId: "searchOverlayHost",
522
+ widgetConfigId: "searchOverlayHost"
523
+ }
524
+ ]
525
+ },
526
+ {
527
+ variantId: "plpPhoneCases",
528
+ variantType: "plp",
529
+ variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPLP }, {
530
+ testType: require_types.PageVariantTestType.PlpId,
531
+ plpIds: [
532
+ "bandolier-crossbody",
533
+ "wristlet-phone-cases",
534
+ "case-only"
535
+ ],
536
+ plpIdExtractor: "shopify-collection-id"
537
+ }],
538
+ plpIdExtractor: "shopify-collection-id",
539
+ widgetMounting: [{
540
+ mountingConfigId: "imagePromptCardPLP",
541
+ widgetConfigId: "imagePromptCardPLPPhoneCases"
542
+ }]
543
+ },
544
+ {
545
+ variantId: "plpAccessories",
546
+ variantType: "plp",
547
+ variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPLP }, {
548
+ testType: require_types.PageVariantTestType.PlpId,
549
+ plpIds: ["shop-all-accessories"],
550
+ plpIdExtractor: "shopify-collection-id"
551
+ }],
552
+ plpIdExtractor: "shopify-collection-id",
553
+ widgetMounting: [{
554
+ mountingConfigId: "imagePromptCardPLP",
555
+ widgetConfigId: "imagePromptCardPLPAccessories"
556
+ }]
557
+ },
558
+ {
559
+ variantId: "plpBags",
560
+ variantType: "plp",
561
+ variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPLP }, {
562
+ testType: require_types.PageVariantTestType.PlpId,
563
+ plpIds: ["bags"],
564
+ plpIdExtractor: "shopify-collection-id"
565
+ }],
566
+ plpIdExtractor: "shopify-collection-id",
567
+ widgetMounting: [{
568
+ mountingConfigId: "imagePromptCardPLP",
569
+ widgetConfigId: "imagePromptCardPLPBags"
570
+ }]
571
+ },
572
+ {
573
+ variantId: "pdpPouches",
574
+ variantType: "pdp",
575
+ variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPDP }, {
576
+ testType: require_types.PageVariantTestType.InCollection,
577
+ collections: ["shop-all-bags-pouches"]
578
+ }],
579
+ productIdExtractor: "shopify-product-variant-id",
580
+ widgetMounting: [
581
+ {
582
+ mountingConfigId: "topSuggestionBarPDP",
583
+ widgetConfigId: "topSuggestionsBarPouches"
584
+ },
585
+ {
586
+ mountingConfigId: "chatPreviewPDP",
587
+ widgetConfigId: "chatPreviewPDP"
588
+ },
589
+ {
590
+ mountingConfigId: "bottomSuggestionBarPDP",
591
+ widgetConfigId: "bottomSuggestionsBar"
592
+ }
593
+ ]
594
+ },
595
+ {
596
+ variantId: "pdpBags",
597
+ variantType: "pdp",
598
+ variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPDP }, {
599
+ testType: require_types.PageVariantTestType.InCollection,
600
+ collections: ["bags"]
601
+ }],
602
+ productIdExtractor: "shopify-product-variant-id",
603
+ widgetMounting: [
604
+ {
605
+ mountingConfigId: "topSuggestionBarPDP",
606
+ widgetConfigId: "topSuggestionsBarBags"
607
+ },
608
+ {
609
+ mountingConfigId: "chatPreviewPDP",
610
+ widgetConfigId: "chatPreviewPDP"
611
+ },
612
+ {
613
+ mountingConfigId: "bottomSuggestionBarPDP",
614
+ widgetConfigId: "bottomSuggestionsBar"
615
+ }
616
+ ]
617
+ },
618
+ {
619
+ variantId: "plpShopAll",
620
+ variantType: "plp",
621
+ variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPLP }, {
622
+ testType: require_types.PageVariantTestType.PlpId,
623
+ plpIds: ["all"],
624
+ plpIdExtractor: "shopify-collection-id"
625
+ }],
626
+ plpIdExtractor: "shopify-collection-id",
627
+ widgetMounting: [{
628
+ mountingConfigId: "imagePromptCardPLP",
629
+ widgetConfigId: "imagePromptCardPLPShopAll"
630
+ }]
631
+ },
632
+ {
633
+ variantId: "plp",
634
+ variantType: "plp",
635
+ variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPLP }],
636
+ plpIdExtractor: "shopify-collection-id",
637
+ widgetMounting: [{
638
+ mountingConfigId: "imagePromptCardPLP",
639
+ widgetConfigId: "imagePromptCardPLP"
640
+ }]
641
+ },
642
+ {
643
+ variantId: "pdp",
644
+ variantType: "pdp",
645
+ variantTests: [{ testType: require_types.PageVariantTestType.ShopifyPDP }],
646
+ productIdExtractor: "shopify-product-variant-id",
647
+ widgetMounting: [
648
+ {
649
+ mountingConfigId: "topSuggestionBarPDP",
650
+ widgetConfigId: "topSuggestionsBar"
651
+ },
652
+ {
653
+ mountingConfigId: "chatPreviewPDP",
654
+ widgetConfigId: "chatPreviewPDP"
655
+ },
656
+ {
657
+ mountingConfigId: "bottomSuggestionBarPDP",
658
+ widgetConfigId: "bottomSuggestionsBar"
659
+ }
660
+ ]
661
+ }
662
+ ],
663
+ mountingConfigs: {
664
+ imagePromptCardPLP: {
665
+ mountingConfigId: "imagePromptCardPLP",
666
+ containerId: require_divIds.PROMPT_CARD_ID,
667
+ testId: require_embedded.PROMPT_CARD_TESTID,
668
+ insertionPoint: {
669
+ selector: "#AjaxinateLoop",
670
+ insertionType: require_contexts.DOMInsertionType.AFTER
671
+ },
672
+ gridInsertionType: require_contexts.GridInsertionType.FIXED_1,
673
+ divCheckSelector: "test",
674
+ style: {
675
+ gridRow: "2 / 2",
676
+ gridColumn: "1 / 1"
677
+ }
678
+ },
679
+ chatPreviewPDP: {
680
+ mountingConfigId: "chatPreviewPDP",
681
+ containerId: require_divIds.CHAT_PREVIEW_CONTAINER_ID,
682
+ testId: require_embedded.CHAT_PREVIEW_TESTID,
683
+ insertionPoint: {
684
+ selector: ".product-single div",
685
+ insertionType: require_contexts.DOMInsertionType.APPEND_CHILD
686
+ }
687
+ },
688
+ topSuggestionBarPDP: {
689
+ mountingConfigId: "topSuggestionBarPDP",
690
+ containerId: require_divIds.TOP_SUGGESTION_BAR_PDP_ID,
691
+ testId: require_embedded.TOP_SUGGESTION_BAR_TESTID,
692
+ insertionPoint: {
693
+ selector: ".product__price-and-rating",
694
+ insertionType: require_contexts.DOMInsertionType.AFTER
695
+ },
696
+ style: { marginBottom: "16px" }
697
+ },
698
+ bottomSuggestionBarPDP: {
699
+ mountingConfigId: "bottomSuggestionBarPDP",
700
+ containerId: require_divIds.BOTTOM_REVIEWS_BAR_ID,
701
+ testId: require_embedded.BOTTOM_SUGGESTION_BAR_TESTID,
702
+ insertionPoint: {
703
+ selector: ".yotpo-smart-topics-panel",
704
+ insertionType: require_contexts.DOMInsertionType.AFTER
705
+ },
706
+ style: { width: "100%" }
707
+ },
708
+ searchOverlayHost: {
709
+ mountingConfigId: "searchOverlayHost",
710
+ containerId: require_divIds.SEARCH_OVERLAY_ENTRYPOINT_ID,
711
+ testId: require_embedded.SEARCH_OVERLAY_HOST_TESTID,
712
+ insertionPoint: {
713
+ selector: "body",
714
+ insertionType: require_contexts.DOMInsertionType.APPEND_CHILD
715
+ },
716
+ className: "spiffy-overlay-host"
717
+ },
718
+ searchResultsEntryPointPLP: {
719
+ mountingConfigId: "searchResultsEntryPointPLP",
720
+ containerId: require_divIds.SEARCH_RESULTS_ENTRYPOINT_ID,
721
+ testId: require_embedded.SEARCH_RESULTS_ENTRYPOINT_TESTID,
722
+ insertionPoint: {
723
+ selector: ".main-content",
724
+ insertionType: require_contexts.DOMInsertionType.BEFORE
725
+ },
726
+ suppressionSelector: "#MainContent",
727
+ className: "search-results-entry-point",
728
+ style: { marginBottom: "60px" }
729
+ },
730
+ searchResultsEntryPointPDP: {
731
+ mountingConfigId: "searchResultsEntryPointPDP",
732
+ containerId: require_divIds.SEARCH_RESULTS_ENTRYPOINT_ID,
733
+ testId: require_embedded.SEARCH_RESULTS_ENTRYPOINT_TESTID,
734
+ insertionPoint: {
735
+ selector: ".main-content",
736
+ insertionType: require_contexts.DOMInsertionType.BEFORE
737
+ },
738
+ suppressionSelector: "#MainContent",
739
+ className: "search-results-entry-point",
740
+ style: { marginBottom: "60px" }
741
+ },
742
+ globalSearchEntryPointDesktopHomepage: {
743
+ mountingConfigId: "globalSearchEntryPointDesktopHomepage",
744
+ containerId: require_divIds.HOMEPAGE_DESKTOP_GLOBAL_SEARCH_ENTRYPOINT_ID,
745
+ testId: require_embedded.GLOBAL_SEARCH_ENTRYPOINT_TESTID,
746
+ insertionPoint: {
747
+ selector: ".menu__item.menu__item--icons .search-popdown.menu__item.menu__item--icon",
748
+ insertionType: require_contexts.DOMInsertionType.BEFORE
749
+ },
750
+ suppressionSelector: ".menu__item.menu__item--icons .search-popdown",
751
+ className: "global-entry-desktop-homepage",
752
+ style: { margin: "0 5px 0 7px" }
753
+ },
754
+ globalSearchEntryPointSmallDesktopHomepage: {
755
+ mountingConfigId: "globalSearchEntryPointSmallDesktopHomepage",
756
+ containerId: require_divIds.HOMEPAGE_TABLET_GLOBAL_SEARCH_ENTRYPOINT_ID,
757
+ testId: require_embedded.GLOBAL_SEARCH_ENTRYPOINT_TESTID,
758
+ insertionPoint: {
759
+ selector: "#NavStandard .menu__item.menu__item--icon.menu__item-wishlist",
760
+ insertionType: require_contexts.DOMInsertionType.ADJACENT_AFTER_END
761
+ },
762
+ suppressionSelector: ".search-popdown",
763
+ className: "global-entry-small-desktop-homepage",
764
+ style: { margin: "0 5px 0 7px" }
765
+ },
766
+ globalSearchEntryPointMobileHomepage: {
767
+ mountingConfigId: "globalSearchEntryPointMobileHomepage",
768
+ containerId: require_divIds.HOMEPAGE_MOBILE_GLOBAL_SEARCH_ENTRYPOINT_ID,
769
+ testId: require_embedded.GLOBAL_SEARCH_ENTRYPOINT_TESTID,
770
+ insertionPoint: {
771
+ selector: ".search-popdown.mobile-menu__button",
772
+ insertionType: require_contexts.DOMInsertionType.BEFORE
773
+ },
774
+ className: "global-entry-mobile-homepage",
775
+ style: { margin: "6px" }
776
+ },
777
+ globalSearchEntryPointDesktop: {
778
+ mountingConfigId: "globalSearchEntryPointDesktop",
779
+ containerId: require_divIds.GLOBAL_SEARCH_ENTRYPOINT_ID,
780
+ testId: require_embedded.GLOBAL_SEARCH_ENTRYPOINT_TESTID,
781
+ insertionPoint: {
782
+ selector: ".menu__item.menu__item--icons .search-popdown.menu__item.menu__item--icon",
783
+ insertionType: require_contexts.DOMInsertionType.BEFORE
784
+ },
785
+ className: "global-entry-desktop",
786
+ style: { margin: "0 5px 0 7px" }
787
+ },
788
+ globalSearchEntryPointSmallDesktop: {
789
+ mountingConfigId: "globalSearchEntryPointSmallDesktop",
790
+ containerId: require_divIds.TABLET_GLOBAL_SEARCH_ENTYPOINT_ID,
791
+ testId: require_embedded.GLOBAL_SEARCH_ENTRYPOINT_TESTID,
792
+ insertionPoint: {
793
+ selector: "#NavStandard .menu__item.menu__item--icon.menu__item-wishlist",
794
+ insertionType: require_contexts.DOMInsertionType.ADJACENT_AFTER_END
795
+ },
796
+ className: "global-entry-small-desktop",
797
+ style: { margin: "0 5px 0 7px" }
798
+ },
799
+ globalSearchEntryPointMobile: {
800
+ mountingConfigId: "globalSearchEntryPointMobile",
801
+ containerId: require_divIds.MOBILE_GLOBAL_SEARCH_ENTRYPOINT_ID,
802
+ testId: require_embedded.GLOBAL_SEARCH_ENTRYPOINT_TESTID,
803
+ insertionPoint: {
804
+ selector: ".main-content",
805
+ insertionType: require_contexts.DOMInsertionType.BEFORE
806
+ },
807
+ className: "global-entry-mobile",
808
+ style: { margin: "8px" }
809
+ },
810
+ globalSearchEntryPointOnlyIconMobile: {
811
+ mountingConfigId: "globalSearchEntryPointOnlyIconMobile",
812
+ containerId: require_divIds.MOBILE_ICON_ONLY_GLOBAL_SEARCH_ENTRYPOINT_ID,
813
+ testId: require_embedded.GLOBAL_SEARCH_ENTRYPOINT_TESTID,
814
+ insertionPoint: {
815
+ selector: ".search-popdown.mobile-menu__button",
816
+ insertionType: require_contexts.DOMInsertionType.ADJACENT_BEFORE_BEGIN
817
+ },
818
+ className: "global-entry-mobile-menu-icon",
819
+ style: { margin: "6px" }
820
+ }
821
+ },
822
+ widgetConfigs: {
823
+ imagePromptCardPLPPhoneCases: {
824
+ widgetConfigId: "imagePromptCard",
825
+ type: require_types.WidgetType.ImagePromptCard,
826
+ url: require_contexts.CdnService.getAssetURL("image-prompt-card-2.png", require_types.OrgShortName.Bandolier),
827
+ lightText: true,
828
+ title: "What can we help you find today?",
829
+ subtitle: [
830
+ "Crossbody vs. wristlet—what’s the difference?",
831
+ "Can I mix and match straps and wristlets?",
832
+ "Does it fit cards or essentials?",
833
+ "How protected will my phone be?",
834
+ "Do you offer bundles or sets?",
835
+ "Can I use this case without a strap?"
836
+ ],
837
+ staticSuggestionCopies: [
838
+ "Will this fit my phone?",
839
+ "Crossbody vs. wristlet—what’s the difference?",
840
+ "Can I mix and match straps and wristlets?",
841
+ "Does it fit cards or essentials?",
842
+ "How protected will my phone be?",
843
+ "Do you offer bundles or sets?",
844
+ "Can I use this case without a strap?"
845
+ ],
846
+ userQueryButtonConfig: {
847
+ variant: "underlineLight",
848
+ placeholderText: "Need something special?",
849
+ icon: "sendArrow"
850
+ }
851
+ },
852
+ imagePromptCardPLPAccessories: {
853
+ widgetConfigId: "imagePromptCard",
854
+ type: require_types.WidgetType.ImagePromptCard,
855
+ url: require_contexts.CdnService.getAssetURL("image-prompt-card-2.png", require_types.OrgShortName.Bandolier),
856
+ lightText: true,
857
+ title: "What can we help you find today?",
858
+ subtitle: [
859
+ "Can I mix and match colors or styles?",
860
+ "How do these attach to cases and bags?",
861
+ "Are accessories customizable?",
862
+ "Can I customize my Bandolier?"
863
+ ],
864
+ staticSuggestionCopies: [
865
+ "Can I mix and match colors or styles?",
866
+ "How do these attach to cases and bags?",
867
+ "Are accessories customizable?",
868
+ "Can I customize my Bandolier?"
869
+ ],
870
+ userQueryButtonConfig: {
871
+ variant: "underlineLight",
872
+ placeholderText: "Need something special?",
873
+ icon: "sendArrow"
874
+ }
875
+ },
876
+ imagePromptCardPLPBags: {
877
+ widgetConfigId: "imagePromptCard",
878
+ type: require_types.WidgetType.ImagePromptCard,
879
+ url: require_contexts.CdnService.getAssetURL("image-prompt-card-2.png", require_types.OrgShortName.Bandolier),
880
+ lightText: true,
881
+ title: "What can we help you find today?",
882
+ subtitle: [
883
+ "Are the bags designed to hold phones?",
884
+ "Can I attach a Bandolier strap to this bag?",
885
+ "Does it have interior pockets?",
886
+ "Is it made of real leather?",
887
+ "Can the strap be removed?"
888
+ ],
889
+ staticSuggestionCopies: [
890
+ "Are the bags designed to hold phones?",
891
+ "Can I attach a Bandolier strap to this bag?",
892
+ "Does it have interior pockets?",
893
+ "Is it made of real leather?",
894
+ "Can the strap be removed?"
895
+ ],
896
+ userQueryButtonConfig: {
897
+ variant: "underlineLight",
898
+ placeholderText: "Need something special?",
899
+ icon: "sendArrow"
900
+ }
901
+ },
902
+ imagePromptCardPLPShopAll: {
903
+ widgetConfigId: "imagePromptCard",
904
+ type: require_types.WidgetType.ImagePromptCard,
905
+ url: require_contexts.CdnService.getAssetURL("image-prompt-card-2.png", require_types.OrgShortName.Bandolier),
906
+ lightText: true,
907
+ title: "What can we help you find today?",
908
+ subtitle: [
909
+ "Will this fit my phone?",
910
+ "How is Bandolier different from other phone cases?",
911
+ "What’s your most popular style?",
912
+ "What's trending right now?"
913
+ ],
914
+ staticSuggestionCopies: [
915
+ "Will this fit my phone?",
916
+ "How is Bandolier different from other phone cases?",
917
+ "What’s your most popular style?",
918
+ "What's trending right now?"
919
+ ],
920
+ userQueryButtonConfig: {
921
+ variant: "underlineLight",
922
+ placeholderText: "Need something special?",
923
+ icon: "sendArrow"
924
+ }
925
+ },
926
+ imagePromptCardPLP: {
927
+ widgetConfigId: "imagePromptCard",
928
+ type: require_types.WidgetType.ImagePromptCard,
929
+ url: require_contexts.CdnService.getAssetURL("image-prompt-card-2.png", require_types.OrgShortName.Bandolier),
930
+ lightText: true,
931
+ title: "What can we help you find today?",
932
+ subtitle: [
933
+ "Which phone case fits your style?",
934
+ "Need a bag for nights out?",
935
+ "What’s a chic gift idea?",
936
+ "Looking for a travel-ready set?"
937
+ ],
938
+ staticSuggestionCopies: [
939
+ "Which phone case fits your style?",
940
+ "Need a bag for nights out?",
941
+ "What’s a chic gift idea?",
942
+ "Looking for a travel-ready set?"
943
+ ],
944
+ userQueryButtonConfig: {
945
+ variant: "underlineLight",
946
+ placeholderText: "Need something special?",
947
+ icon: "sendArrow"
948
+ }
949
+ },
950
+ topSuggestionsBar: {
951
+ widgetConfigId: "topSuggestionsBar",
952
+ contentId: "spiffy-top-suggestion-bar-contents",
953
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
954
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
955
+ type: require_types.WidgetType.SuggestionBarV2,
956
+ variant: "secondary",
957
+ hoverVariant: "secondaryAccent",
958
+ buttonBorderRadius: "sm",
959
+ animationSpeed: "standard",
960
+ buttonTexts: {
961
+ default: [
962
+ "Can I use this case without a strap? ",
963
+ "How many cards fit in the wallet?",
964
+ "Summarize Reviews",
965
+ "What makes this so versatile?",
966
+ "Why are shoppers obsessed with this?"
967
+ ],
968
+ productSpecific: {
969
+ "hailey-side-slot-leather-crossbody-bandolier-black-gold": [
970
+ "Summarize the reviews",
971
+ "Why is this your best seller?",
972
+ "Can you use this case without a strap?",
973
+ "How many cards fit in the wallet?",
974
+ "What makes this so versatile?"
975
+ ],
976
+ "mila-magsafe-charging-crossbody-bandolier-black-gold": [
977
+ "Summarize the reviews",
978
+ "Is this MagSafe Compatible?",
979
+ "Does the wallet come off?",
980
+ "Why is this your best seller?",
981
+ "Can you use this case without a strap?",
982
+ "How many cards fit in the wallet?"
983
+ ],
984
+ "remi-magnet-wallet-crossbody-phone-case-black-gold": [
985
+ "Summarize the reviews",
986
+ "Is this MagSafe Compatible?",
987
+ "Is the wallet removable?",
988
+ "Why is this your best seller?",
989
+ "Can you use this case without a strap?",
990
+ "How many cards fit in the wallet?"
991
+ ],
992
+ "lily-set-bandolier-black-gold": [
993
+ "Summarize the reviews",
994
+ "Why is this your best seller?",
995
+ "Can you use this case without a strap?",
996
+ "How many cards fit in the wallet?"
997
+ ]
998
+ }
999
+ }
1000
+ },
1001
+ topSuggestionsBarPouches: {
1002
+ widgetConfigId: "topSuggestionsBarPouches",
1003
+ contentId: "spiffy-top-suggestion-bar-contents",
1004
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1005
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1006
+ type: require_types.WidgetType.SuggestionBarV2,
1007
+ variant: "secondary",
1008
+ hoverVariant: "secondaryAccent",
1009
+ buttonBorderRadius: "sm",
1010
+ animationSpeed: "standard",
1011
+ buttonTexts: { default: [
1012
+ "How will this work with my bandolier case?",
1013
+ "Can I attach a Bandolier strap to this pouch?",
1014
+ "Does it have interior pockets?",
1015
+ "Is it made of real leather?"
1016
+ ] }
1017
+ },
1018
+ topSuggestionsBarBags: {
1019
+ widgetConfigId: "topSuggestionsBarBags",
1020
+ contentId: "spiffy-top-suggestion-bar-contents",
1021
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1022
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1023
+ type: require_types.WidgetType.SuggestionBarV2,
1024
+ variant: "secondary",
1025
+ hoverVariant: "secondaryAccent",
1026
+ buttonBorderRadius: "sm",
1027
+ animationSpeed: "standard",
1028
+ buttonTexts: { default: [
1029
+ "Are the bags designed to hold phones?",
1030
+ "Can I attach a Bandolier strap to this bag?",
1031
+ "Does it have interior pockets?",
1032
+ "Is it made of real leather?",
1033
+ "Can the strap be removed?"
1034
+ ] }
1035
+ },
1036
+ chatPreviewPDP: {
1037
+ widgetConfigId: "chatPreviewPDP",
1038
+ type: require_types.WidgetType.ChatPreview,
1039
+ variant: "filled",
1040
+ addSeparators: false
1041
+ },
1042
+ bottomSuggestionsBar: {
1043
+ widgetConfigId: "bottomSuggestionsBar",
1044
+ contentId: "spiffy-bottom-suggestion-bar-contents",
1045
+ metricDisplayLocation: require_contexts.ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
1046
+ location: require_suggestionBarV2_types.SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
1047
+ type: require_types.WidgetType.SuggestionBarV2,
1048
+ variant: "darkAccent",
1049
+ hoverVariant: "secondaryAccent",
1050
+ buttonBorderRadius: "sm",
1051
+ animationSpeed: "none",
1052
+ twoRowsOnMobile: true,
1053
+ buttonTexts: { default: [
1054
+ "Does this fit my device model?",
1055
+ "Is this adjustable?",
1056
+ "Why choose this over a bulky bag?",
1057
+ "What do reviewers love most?",
1058
+ "Can I use this every day?"
1059
+ ] }
1060
+ },
1061
+ globalSearchEntryPointMobile: {
1062
+ widgetConfigId: "globalSearchEntryPointMobile",
1063
+ type: require_types.WidgetType.SearchZeroStateEntryPoint,
1064
+ searchZeroStateVariant: "backgroundTertiary",
1065
+ searchInputVariant: "standard",
1066
+ suggestionButtonConfig: {
1067
+ variant: "darkAccent",
1068
+ hoverVariant: "secondaryAccent",
1069
+ borderRadius: "sm"
1070
+ },
1071
+ layout: "input",
1072
+ searchBoxPlaceholder: "What can I help you find?",
1073
+ initialSuggestions: [
1074
+ "MagSafe compatible cases",
1075
+ "Most popular styles",
1076
+ "Remi removable wallet",
1077
+ "Mix and match straps and wristlets",
1078
+ "Add-on pouches",
1079
+ "Best phone cases for travel"
1080
+ ],
1081
+ usingPortal: true
1082
+ },
1083
+ globalSearchEntryPointMobileSearchIcon: {
1084
+ widgetConfigId: "globalSearchEntryPointMobileSearchIcon",
1085
+ type: require_types.WidgetType.SearchZeroStateEntryPoint,
1086
+ searchZeroStateVariant: "backgroundTertiary",
1087
+ searchInputVariant: "standard",
1088
+ suggestionButtonConfig: {
1089
+ variant: "darkAccent",
1090
+ hoverVariant: "secondaryAccent",
1091
+ borderRadius: "sm"
1092
+ },
1093
+ layout: "icon",
1094
+ searchIconVariant: "thin",
1095
+ searchIconSize: 24,
1096
+ searchBoxPlaceholder: "What can I help you find?",
1097
+ initialSuggestions: [
1098
+ "MagSafe compatible cases",
1099
+ "Most popular styles",
1100
+ "Remi removable wallet",
1101
+ "Mix and match straps and wristlets",
1102
+ "Add-on pouches",
1103
+ "Best phone cases for travel"
1104
+ ],
1105
+ usingPortal: true
1106
+ },
1107
+ globalSearchEntryPointDesktop: {
1108
+ widgetConfigId: "globalSearchEntryPointDesktop",
1109
+ type: require_types.WidgetType.SearchZeroStateEntryPoint,
1110
+ searchZeroStateVariant: "backgroundTertiary",
1111
+ searchInputVariant: "standard",
1112
+ suggestionButtonConfig: {
1113
+ variant: "darkAccent",
1114
+ hoverVariant: "secondaryAccent",
1115
+ borderRadius: "sm"
1116
+ },
1117
+ layout: "icon",
1118
+ searchIconVariant: "thin",
1119
+ searchIconSize: 22,
1120
+ searchBoxPlaceholder: "What can I help you find?",
1121
+ initialSuggestions: [
1122
+ "MagSafe compatible cases",
1123
+ "Most popular styles",
1124
+ "Remi removable wallet",
1125
+ "Mix and match straps and wristlets",
1126
+ "Add-on pouches",
1127
+ "Best phone cases for travel"
1128
+ ],
1129
+ usingPortal: true
1130
+ },
1131
+ globalSearchEntryPointDesktopHomepage: {
1132
+ widgetConfigId: "globalSearchEntryPointDesktopHomepage",
1133
+ type: require_types.WidgetType.SearchZeroStateEntryPoint,
1134
+ searchZeroStateVariant: "backgroundTertiary",
1135
+ searchInputVariant: "standard",
1136
+ suggestionButtonConfig: {
1137
+ variant: "darkAccent",
1138
+ hoverVariant: "secondaryAccent",
1139
+ borderRadius: "sm"
1140
+ },
1141
+ layout: "icon",
1142
+ searchIconVariant: "thin",
1143
+ searchIconSize: 22,
1144
+ searchBoxPlaceholder: "What can I help you find?",
1145
+ initialSuggestions: [
1146
+ "MagSafe compatible cases",
1147
+ "Most popular styles",
1148
+ "Remi removable wallet",
1149
+ "Mix and match straps and wristlets",
1150
+ "Add-on pouches",
1151
+ "Best phone cases for travel"
1152
+ ],
1153
+ usingPortal: true
1154
+ },
1155
+ globalSearchEntryPointSmallDesktopHomepage: {
1156
+ widgetConfigId: "globalSearchEntryPointSmallDesktopHomepage",
1157
+ type: require_types.WidgetType.SearchZeroStateEntryPoint,
1158
+ searchZeroStateVariant: "backgroundTertiary",
1159
+ searchInputVariant: "standard",
1160
+ suggestionButtonConfig: {
1161
+ variant: "darkAccent",
1162
+ hoverVariant: "secondaryAccent",
1163
+ borderRadius: "sm"
1164
+ },
1165
+ layout: "icon",
1166
+ searchIconVariant: "thin",
1167
+ searchIconSize: 22,
1168
+ searchBoxPlaceholder: "What can I help you find?",
1169
+ initialSuggestions: [
1170
+ "MagSafe compatible cases",
1171
+ "Most popular styles",
1172
+ "Remi removable wallet",
1173
+ "Mix and match straps and wristlets",
1174
+ "Add-on pouches",
1175
+ "Best phone cases for travel"
1176
+ ],
1177
+ usingPortal: true
1178
+ },
1179
+ globalSearchEntryPointOnlyIconMobile: {
1180
+ widgetConfigId: "globalSearchEntryPointOnlyIconMobile",
1181
+ type: require_types.WidgetType.SearchZeroStateEntryPoint,
1182
+ searchZeroStateVariant: "backgroundTertiary",
1183
+ searchInputVariant: "standard",
1184
+ suggestionButtonConfig: {
1185
+ variant: "darkAccent",
1186
+ hoverVariant: "secondaryAccent",
1187
+ borderRadius: "sm"
1188
+ },
1189
+ layout: "icon",
1190
+ searchIconVariant: "thin",
1191
+ searchIconSize: 26,
1192
+ searchBoxPlaceholder: "What can I help you find?",
1193
+ initialSuggestions: [
1194
+ "MagSafe compatible cases",
1195
+ "Most popular styles",
1196
+ "Remi removable wallet",
1197
+ "Mix and match straps and wristlets",
1198
+ "Add-on pouches",
1199
+ "Best phone cases for travel"
1200
+ ],
1201
+ usingPortal: true
1202
+ },
1203
+ searchResultsEntryPoint: {
1204
+ widgetConfigId: "searchResultsEntryPoint",
1205
+ type: require_types.WidgetType.SearchResultsEntryPoint,
1206
+ searchBoxPlaceholder: "What can I help you find?",
1207
+ searchInputVariant: "standard",
1208
+ searchFilterSidebarVariant: "darkButton",
1209
+ productGridVariant: "square"
1210
+ },
1211
+ searchOverlayHost: {
1212
+ widgetConfigId: "searchOverlayHost",
1213
+ type: require_types.WidgetType.SearchOverlayHost
1214
+ }
1215
+ }
1216
+ });
1217
+ const bandolierOrgInfo = {
1218
+ shortName: require_types.OrgShortName.Bandolier,
1219
+ name: "Bandolier",
1220
+ domain: "bandolierstyle.com",
1221
+ defaultProductId: "lily-side-slot-leather-crossbody-bandolier-ceci-ivory-floral-gold",
1222
+ alwaysEnabledMerchants: true,
1223
+ orgUIConfig: bandolierOrgUIConfig,
1224
+ orgColors: () => bandolierColors,
1225
+ orgPageConfig: bandolierPageConfig
1226
+ };
1227
+
1228
+ //#endregion
1229
+ exports.bandolierOrgInfo = bandolierOrgInfo;
1230
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuZG9saWVyLURhNHd0NnNtLmNqcyIsIm5hbWVzIjpbImJhbmRvbGllckNvbG9yczogQ29sb3JNYXBwaW5nIiwiQ29sb3JOYW1lcyIsImRlZmF1bHRPcmdVSUNvbmZpZyIsIk9yZ1Nob3J0TmFtZSIsIkNkblNlcnZpY2UiLCJjb2xvclZhciIsIkN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZSIsIkN1c3RvbWVyU2VydmljZVR5cGUiLCJQYWdlVmFyaWFudFRlc3RUeXBlIiwiRmVhdHVyZUdhdGVzIiwiUFJPTVBUX0NBUkRfSUQiLCJQUk9NUFRfQ0FSRF9URVNUSUQiLCJET01JbnNlcnRpb25UeXBlIiwiR3JpZEluc2VydGlvblR5cGUiLCJDSEFUX1BSRVZJRVdfQ09OVEFJTkVSX0lEIiwiQ0hBVF9QUkVWSUVXX1RFU1RJRCIsIlRPUF9TVUdHRVNUSU9OX0JBUl9QRFBfSUQiLCJUT1BfU1VHR0VTVElPTl9CQVJfVEVTVElEIiwiQk9UVE9NX1JFVklFV1NfQkFSX0lEIiwiQk9UVE9NX1NVR0dFU1RJT05fQkFSX1RFU1RJRCIsIlNFQVJDSF9PVkVSTEFZX0VOVFJZUE9JTlRfSUQiLCJTRUFSQ0hfT1ZFUkxBWV9IT1NUX1RFU1RJRCIsIlNFQVJDSF9SRVNVTFRTX0VOVFJZUE9JTlRfSUQiLCJTRUFSQ0hfUkVTVUxUU19FTlRSWVBPSU5UX1RFU1RJRCIsIkhPTUVQQUdFX0RFU0tUT1BfR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lEIiwiR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX1RFU1RJRCIsIkhPTUVQQUdFX1RBQkxFVF9HTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQiLCJIT01FUEFHRV9NT0JJTEVfR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lEIiwiR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lEIiwiVEFCTEVUX0dMT0JBTF9TRUFSQ0hfRU5UWVBPSU5UX0lEIiwiTU9CSUxFX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCIsIk1PQklMRV9JQ09OX09OTFlfR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lEIiwiV2lkZ2V0VHlwZSIsIkNoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uIiwiU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXJjaGFudHMvYmFuZG9saWVyL2JhbmRvbGllci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBCT1RUT01fU1VHR0VTVElPTl9CQVJfVEVTVElELFxuICBDSEFUX1BSRVZJRVdfVEVTVElELFxuICBHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfVEVTVElELFxuICBQUk9NUFRfQ0FSRF9URVNUSUQsXG4gIFNFQVJDSF9PVkVSTEFZX0hPU1RfVEVTVElELFxuICBTRUFSQ0hfUkVTVUxUU19FTlRSWVBPSU5UX1RFU1RJRCxcbiAgVE9QX1NVR0dFU1RJT05fQkFSX1RFU1RJRCxcbn0gZnJvbSBcInNyYy9jb25maWcvbG9jYXRvcnNcIjtcbmltcG9ydCB7XG4gIEJhc2ljT3JnSW5mb1R5cGUsXG4gIEZlYXR1cmVHYXRlcyxcbiAgT3JnU2hvcnROYW1lLFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVsc1wiO1xuaW1wb3J0IHsgQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24gfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL21vZGVscy9jaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvblwiO1xuaW1wb3J0IHsgQ2RuU2VydmljZSB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vc2VydmljZS9jZG5TZXJ2aWNlXCI7XG5pbXBvcnQge1xuICBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUsXG4gIEN1c3RvbWVyU2VydmljZVR5cGUsXG59IGZyb20gXCJzcmMvYXBwbGljYXRpb24vc2VydmljZS9jdXN0b21lclNlcnZpY2UvdHlwZXNcIjtcbmltcG9ydCB7IERPTUluc2VydGlvblR5cGUgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvZG9tTXV0YXRpb25zL2RvbUluc2VydGlvblNlcnZpY2VcIjtcbmltcG9ydCB7IEdyaWRJbnNlcnRpb25UeXBlIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9zZXJ2aWNlL2RvbU11dGF0aW9ucy9HcmlkSW5zZXJ0aW9uU2VydmljZVwiO1xuaW1wb3J0IHtcbiAgQk9UVE9NX1JFVklFV1NfQkFSX0lELFxuICBDSEFUX1BSRVZJRVdfQ09OVEFJTkVSX0lELFxuICBHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQsXG4gIEhPTUVQQUdFX0RFU0tUT1BfR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lELFxuICBIT01FUEFHRV9NT0JJTEVfR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lELFxuICBIT01FUEFHRV9UQUJMRVRfR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lELFxuICBNT0JJTEVfR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lELFxuICBNT0JJTEVfSUNPTl9PTkxZX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgUFJPTVBUX0NBUkRfSUQsXG4gIFNFQVJDSF9PVkVSTEFZX0VOVFJZUE9JTlRfSUQsXG4gIFNFQVJDSF9SRVNVTFRTX0VOVFJZUE9JTlRfSUQsXG4gIFRBQkxFVF9HTE9CQUxfU0VBUkNIX0VOVFlQT0lOVF9JRCxcbiAgVE9QX1NVR0dFU1RJT05fQkFSX1BEUF9JRCxcbn0gZnJvbSBcInNyYy9jb25maWcvZGl2SWRzXCI7XG5pbXBvcnQgeyBkZWZhdWx0T3JnVUlDb25maWcgfSBmcm9tIFwic3JjL21lcmNoYW50cy9kZWZhdWx0XCI7XG5pbXBvcnQge1xuICBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgQ29sb3JNYXBwaW5nLFxuICBDb2xvck5hbWVzLFxuICBjb2xvclZhcixcbiAgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gIE9yZ1BhZ2VDb25maWcsXG4gIE9yZ1VJQ29uZmlnLFxuICBQYWdlVmFyaWFudFRlc3RUeXBlLFxuICBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICBXaWRnZXRUeXBlLFxuICBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZyxcbn0gZnJvbSBcInNyYy9jb250ZXh0cy90eXBlc1wiO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcyB9IGZyb20gXCJzcmMvdHlwZXMvc3VnZ2VzdGlvbkJhclYyLXR5cGVzXCI7XG5cbmNvbnN0IGJhbmRvbGllckNvbG9yczogQ29sb3JNYXBwaW5nID0ge1xuICBbQ29sb3JOYW1lcy5UZXh0UHJpbWFyeV06IFwiIzAwMDAwMFwiLFxuICBbQ29sb3JOYW1lcy5UZXh0U2Vjb25kYXJ5XTogXCIjNkM2QzZDXCIsXG4gIFtDb2xvck5hbWVzLlRleHRBY2NlbnRdOiBcIiNBRjk4NkVcIixcbiAgW0NvbG9yTmFtZXMuVGV4dExpbmtdOiBcIiMwMDAwMDBcIixcbiAgW0NvbG9yTmFtZXMuVGV4dExpZ2h0XTogXCIjRkZGRkZGXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRQcmltYXJ5XTogXCIjMDAwMDAwXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRTZWNvbmRhcnldOiBcIiNFQ0VDRUNcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFNlY29uZGFyeURhcmtdOiBcIiNFMkUyRTJcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFRlcnRpYXJ5XTogXCIjRUNFQ0VDXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmREYXJrXTogXCIjMDAwMDAwXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRMaWdodF06IFwiI0ZGRkZGRlwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2F0dXJhdGVkXTogXCIjQ0NDQ0NDXCIsXG4gIFtDb2xvck5hbWVzLkJvcmRlckxpZ2h0XTogXCIjRUNFQ0VDXCIsXG4gIFtDb2xvck5hbWVzLkJvcmRlck1lZGl1bV06IFwiI0VBRUFFQVwiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJEYXJrXTogXCIjNkM2QzZDXCIsXG4gIFtDb2xvck5hbWVzLkJvcmRlck91dGxpbmVdOiBcIiMwMDAwMDBcIixcbiAgW0NvbG9yTmFtZXMuQWNjZW50UHJpbWFyeV06IFwiI0FGOTg2RVwiLFxuICBbQ29sb3JOYW1lcy5BY2NlbnRTZWNvbmRhcnldOiBcIiNEQ0I0QUVcIixcbn07XG5cbmNvbnN0IGJhbmRvbGllck9yZ1VJQ29uZmlnID0gKCk6IE9yZ1VJQ29uZmlnID0+IHtcbiAgY29uc3QgZGVmYXVsdEJhbmRvbGllck9yZ0NvbmZpZyA9IGRlZmF1bHRPcmdVSUNvbmZpZyhPcmdTaG9ydE5hbWUuQmFuZG9saWVyKTtcblxuICByZXR1cm4ge1xuICAgIC4uLmRlZmF1bHRCYW5kb2xpZXJPcmdDb25maWcsXG4gICAgbWVyY2hhbnRWYXJpYW50U2V0dGluZ3M6IHtcbiAgICAgIGR5bmFtaWNWYXJpYW50czoge1xuICAgICAgICBlbmFibGVkOiBmYWxzZSxcbiAgICAgICAgcmVmcmVzaEludGVydmFsOiA0MDAsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY2hhdE1lc3NhZ2VDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRCYW5kb2xpZXJPcmdDb25maWcuY2hhdE1lc3NhZ2VDb25maWcsXG4gICAgICBhc3Npc3RhbnRDaGF0VGl0bGU6IFwiQXNrIE1hZ2dpZVwiLFxuICAgICAgdmFyaWFudDogXCJhY2NlbnRcIixcbiAgICB9LFxuICAgIGNoYXRIZWFkZXI6IHtcbiAgICAgIC4uLmRlZmF1bHRCYW5kb2xpZXJPcmdDb25maWcuY2hhdEhlYWRlcixcbiAgICAgIGltYWdlU3JjOiBDZG5TZXJ2aWNlLmdldEFzc2V0VVJMKFxuICAgICAgICBcImJhbmRvbGllci1sb2dvLnN2Z1wiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuQmFuZG9saWVyXG4gICAgICApLFxuICAgIH0sXG4gICAgY2hhdFByZXZpZXdDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRCYW5kb2xpZXJPcmdDb25maWcuY2hhdFByZXZpZXdDb25maWchLFxuICAgICAgYnV0dG9uVGV4dENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLlRleHRMaW5rKSxcbiAgICAgIGJ1dHRvbkJhY2tncm91bmRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5KSxcbiAgICAgIGJ1dHRvbkJhY2tncm91bmRIb3ZlckNvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJhY2tncm91bmRTZWNvbmRhcnlEYXJrKSxcbiAgICAgIGJ1dHRvblRleHRIb3ZlckNvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLlRleHRMaW5rKSxcbiAgICAgIGljb25GaWxsQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuVGV4dEFjY2VudCksXG4gICAgICBjb3BpZXM6IHtcbiAgICAgICAgcGRwOiBbXG4gICAgICAgICAgXCJkb2VzIHRoaXMgZml0IG15IGRldmljZSBtb2RlbD9cIixcbiAgICAgICAgICBcImlzIHRoaXMgYWRqdXN0YWJsZT9cIixcbiAgICAgICAgICBcIndoeSBjaG9vc2UgdGhpcyBvdmVyIGEgYnVsa3kgYmFnP1wiLFxuICAgICAgICAgIFwid2hhdCBkbyByZXZpZXdlcnMgbG92ZSBtb3N0P1wiLFxuICAgICAgICAgIFwiY2FuIEkgdXNlIHRoaXMgZXZlcnkgZGF5P1wiLFxuICAgICAgICBdLFxuICAgICAgICBwbHA6IFtdLFxuICAgICAgfSxcbiAgICAgIGhlYWRlckNvbmZpZzoge1xuICAgICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLmNoYXRQcmV2aWV3Q29uZmlnIS5oZWFkZXJDb25maWcsXG4gICAgICB9LFxuICAgICAgZm9vdGVyQ29uZmlnOiB7XG4gICAgICAgIC4uLmRlZmF1bHRCYW5kb2xpZXJPcmdDb25maWcuY2hhdFByZXZpZXdDb25maWchLmZvb3RlckNvbmZpZyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBmbG9hdGluZ0VudHJ5cG9pbnRDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRCYW5kb2xpZXJPcmdDb25maWcuZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnISxcbiAgICAgIHNob3dPcHRpb246IFwiYWx3YXlzXCIsXG4gICAgICBleHBhbmRlZENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJhY2tncm91bmREYXJrKSxcbiAgICAgIGV4cGFuc2lvblRleHQ6IHtcbiAgICAgICAgcGRwOiBcIkNvdWxkIHRoaXMgYmUgeW91ciBwZXJmZWN0IGV2ZXJ5ZGF5IGVzc2VudGlhbD9cIixcbiAgICAgICAgcGxwOiBcIldoYXQgY2FuIHdlIGhlbHAgeW91IGZpbmQgdG9kYXk/XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcHJvZHVjdENhcmRDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRCYW5kb2xpZXJPcmdDb25maWcucHJvZHVjdENhcmRDb25maWchLFxuICAgIH0sXG4gICAgcGFnZUNhcmRDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRCYW5kb2xpZXJPcmdDb25maWcucGFnZUNhcmRDb25maWchLFxuICAgICAgdmFyaWFudDogXCJmaWxsZWRcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJsaWZ0XCIsXG4gICAgICBpY29uVmFyaWFudDogXCJwcmltYXJ5XCIsXG4gICAgfSxcbiAgICBwcm9kdWN0UmV2aWV3Q29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLnByb2R1Y3RSZXZpZXdDb25maWchLFxuICAgIH0sXG4gICAgd2VsY29tZVNlY3Rpb25Db25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRCYW5kb2xpZXJPcmdDb25maWcud2VsY29tZVNlY3Rpb25Db25maWchLFxuICAgICAgdGl0bGU6IFwiV2VsY29tZSB0byBCYW5kb2xpZXIgQUkhXCIsXG4gICAgICBjb2xvclZhcmlhbnQ6IFwiYWNjZW50XCIsXG4gICAgICBzdWJ0aXRsZTpcbiAgICAgICAgXCJIZXkgdGhlcmUuIEnigJltIE1hZ2dpZSwgeW91ciBCYW5kb2xpZXIgc2hvcHBpbmcgYXNzaXN0YW50LiBJ4oCZbSBoZXJlIHRvIGhlbHAgeW91IGZpbmQgeW91ciBwZXJmZWN0IEJhbmRvbGllcuKAlGVmZm9ydGxlc3NseSBzdHlsaXNoLCBoYW5kcy1mcmVlLCBhbmQgcmVhZHkgZm9yIHdoZXJldmVyIGxpZmUgdGFrZXMgeW91LlwiLFxuICAgIH0sXG4gICAgY3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb246IHtcbiAgICAgIGludGVncmF0aW9uTW9kZTogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlLnNpbXBsZSxcbiAgICAgIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlLmdvcmdpYXMsXG4gICAgICB1c2VVbmlmaWVkQnV0dG9uOiB0cnVlLFxuICAgIH0sXG4gICAgc2VhcmNoQ29uZmlnOiB7XG4gICAgICBlbmFibGVHbG9iYWxTZWFyY2g6IHRydWUsXG4gICAgICByZWRpcmVjdFNlYXJjaFJlc3VsdHNVcmw6XG4gICAgICAgIFwiaHR0cHM6Ly93d3cuYmFuZG9saWVyc3R5bGUuY29tL3BhZ2VzL3NlYXJjaC1wYWdlXCIsXG4gICAgICBzZWFyY2hGaWx0ZXJDb25maWc6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZpbHRlcklkOiBcInByaWNlXCIsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IFwiUHJpY2VcIixcbiAgICAgICAgICB0eXBlOiBcInByaWNlXCIsXG4gICAgICAgICAgYnVja2V0U2l6ZTogMTAwLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZmlsdGVySWQ6IFwibWF0ZXJpYWxcIixcbiAgICAgICAgICBkaXNwbGF5TmFtZTogXCJNYXRlcmlhbHNcIixcbiAgICAgICAgICBhdHRyaWJ1dGU6IFwibWF0ZXJpYWxzXCIsXG4gICAgICAgICAgdHlwZTogXCJkeW5hbWljXCIsXG4gICAgICAgICAgc29ydGluZzoge1xuICAgICAgICAgICAgdHlwZTogXCJwcm9kdWN0Q291bnRcIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZmlsdGVySWQ6IFwiZGV2aWNlc1wiLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBcIlBob25lIHNpemVcIixcbiAgICAgICAgICB0eXBlOiBcImR5bmFtaWNcIixcbiAgICAgICAgICBhdHRyaWJ1dGU6IFwiZGV2aWNlc1wiLFxuICAgICAgICAgIHNvcnRpbmc6IHtcbiAgICAgICAgICAgIHR5cGU6IFwicHJvZHVjdENvdW50XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpbHRlcklkOiBcImNvbG9yc1wiLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBcIkNvbG9yXCIsXG4gICAgICAgICAgdHlwZTogXCJkeW5hbWljXCIsXG4gICAgICAgICAgYXR0cmlidXRlOiBcImNvbG9yc1wiLFxuICAgICAgICAgIHNvcnRpbmc6IHtcbiAgICAgICAgICAgIHR5cGU6IFwicHJvZHVjdENvdW50XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpbHRlcklkOiBcImR5bmFtaWNcIixcbiAgICAgICAgICBkaXNwbGF5TmFtZTogXCJcIixcbiAgICAgICAgICB0eXBlOiBcImR5bmFtaWNcIixcbiAgICAgICAgICBhdHRyaWJ1dGU6IFwiZHluYW1pY1wiLFxuICAgICAgICAgIHNvcnRpbmc6IHtcbiAgICAgICAgICAgIHR5cGU6IFwicHJvZHVjdENvdW50XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICBtZXJjaGFudE92ZXJyaWRlQ3NzOiBgXG4gICAgICAuc3BpZmZ5LWhlYWRsaW5lIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdETSBTYW5zJywgJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1oZWFkbGluZS1wbGFjZWhvbGRlcjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBmb250LWZhbWlseTogJ0RNIFNhbnMnLCAnUG9wcGlucycsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktc3Rhci1yYXRpbmctY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLWxpZ2h0KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1zdGFyLXJhdGluZy1zdGFyIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1hY2NlbnQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktcHJvZHVjdC1jYXJkLXRleHQtY29sb3Ige1xuICAgICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LXNlY29uZGFyeSk7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LXZpZXctc291cmNlLWljb24td3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNwaWZmeS1jb2xvcnMtYWNjZW50LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LXZpZXctc291cmNlLWljb24td3JhcHBlciBzdmcge1xuICAgICAgICBmaWxsOiB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtbGlnaHQpO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1mbG9hdGluZy1idXR0b24tcG9zaXRpb24ge1xuICAgICAgICB0b3A6IDE1MHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2MHB4KSB7XG4gICAgICAgICAgdG9wOiAxMDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBbZGF0YS10ZXN0aWQ9XCJmbG9hdGluZy1jaGF0LXNoYWRvdy1kb20tY29udGFpbmVyXCJdIHtcbiAgICAgICAgei1pbmRleDogMjE0NzQ4MzY0NyAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1jaGF0LWhlYWRlci1jbG9zZS1idXR0b24gIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1wcmltYXJ5KTtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktbW9kYWwtc2hlZXQtZm9vdGVyIC5zcGlmZnktc3VnZ2VzdGlvbi1idXR0b24tcXVlc3Rpb24tY2xhc3Mgc3ZnIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LWxpbmspICFpbXBvcnRhbnQ7XG4gICAgICAgIHN0cm9rZTogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LWxpbmspICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LWNoYXQtaGVhZGVyLWNvbnRhaW5lciBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1pbWFnZS1wcm9tcHQtY2FyZC1jb250YWluZXIgLnNwaWZmeS1zdWdnZXN0aW9uLWJhci1yb3cgYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeSkgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1saW5rKSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LWltYWdlLXByb21wdC1jYXJkLWNvbnRhaW5lciAuc3BpZmZ5LXN1Z2dlc3Rpb24tYmFyLXJvdyBidXR0b24gc3ZnIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1hY2NlbnQtcHJpbWFyeSkgIWltcG9ydGFudDsgIFxuICAgICAgICBzdHJva2U6IHZhcigtLXNwaWZmeS1jb2xvcnMtYWNjZW50LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LWltYWdlLXByb21wdC1jYXJkLWNvbnRhaW5lciAuc3BpZmZ5LXN1Z2dlc3Rpb24tYmFyLXJvdyBidXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtc2Vjb25kYXJ5LWRhcmspICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LWNoYXQtcHJldmlldy1mb290ZXItY29udGFpbmVyIGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LWNoYXQtcHJldmlldy1mb290ZXItY29udGFpbmVyIGJ1dHRvbiBzcGFuIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1saW5rKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1jaGF0LXByZXZpZXctZm9vdGVyLWNvbnRhaW5lciBidXR0b246aG92ZXIgc3BhbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtbGluaykgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktY2hhdC1wcmV2aWV3LWZvb3Rlci1jb250YWluZXIgYnV0dG9uIHN2ZyB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtYWNjZW50LXByaW1hcnkpO1xuICAgICAgICBzdHJva2U6IHZhcigtLXNwaWZmeS1jb2xvcnMtYWNjZW50LXByaW1hcnkpO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1jaGF0LXByZXZpZXctZm9vdGVyLWNvbnRhaW5lciBidXR0b246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtc2Vjb25kYXJ5LWRhcmspO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1jaGF0LXByZXZpZXctZm9vdGVyLWNvbnRhaW5lciBidXR0b246aG92ZXIgc3ZnIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1hY2NlbnQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1zcGlmZnktY29sb3JzLWFjY2VudC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1iYWNrLXRvLXJlc3VsdHMtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1saWdodCk7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LWJhY2stdG8tcmVzdWx0cy1idXR0b24gc3ZnIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1hY2NlbnQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1zcGlmZnktY29sb3JzLWFjY2VudC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ3OXB4KSB7XG4gICAgICAgICNzcGlmZnktYWktcHJvbXB0LWNhcmQge1xuICAgICAgICAgIGdyaWQtYXJlYTogMiAvIDEgLyAyIC8gLTEgIWltcG9ydGFudDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzNTBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5zcGlmZnktaW1hZ2UtcHJvbXB0LWNhcmQtY29udGFpbmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDAlLCAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgICAgIFNlYXJjaCBMYXlvdXQgJiBWaXNpYmlsaXR5IFJ1bGVzXG4gICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuICAgICAgXG4gICAgICAuc2VhcmNoLXJlc3VsdHMtZW50cnktcG9pbnQgfiAuc2VjdGlvbi1wYWRkaW5nLnRleHQtc2VjdGlvbi50ZXh0LWRhcmsge1xuICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgfVxuXG4gICAgICAvKiAtLSBSdWxlcyB0byBoaWRlIG9yaWdpbmFsIHNpdGUgZWxlbWVudHMgLS0gKi9cbiAgICAgIC5nbG9iYWwtZW50cnktZGVza3RvcCArIC5qcy1zZWFyY2gtdHJpZ2dlci5zZWFyY2gsXG4gICAgICAuZ2xvYmFsLWVudHJ5LXNtYWxsLWRlc2t0b3AgKyAuanMtc2VhcmNoLXRyaWdnZXIuc2VhcmNoLFxuICAgICAgLmdsb2JhbC1lbnRyeS1kZXNrdG9wICsgLnNlYXJjaC1wb3Bkb3duLFxuICAgICAgLmdsb2JhbC1lbnRyeS1zbWFsbC1kZXNrdG9wICsgLnNlYXJjaC1wb3Bkb3duLFxuICAgICAgI3NwaWZmeS1haS1nbG9iYWwtc2VhcmNoLWVudHJ5cG9pbnQtbW9iaWxlLWljb24tb25seSArIC5zZWFyY2gtcG9wZG93bixcbiAgICAgICNzcGlmZnktYWktZ2xvYmFsLXNlYXJjaC1lbnRyeXBvaW50LW1vYmlsZS1ob21lcGFnZSArIC5zZWFyY2gtcG9wZG93bixcbiAgICAgIC5nbG9iYWwtZW50cnktZGVza3RvcCArIC5tYWluLWNvbnRlbnQsXG4gICAgICAuZ2xvYmFsLWVudHJ5LXNtYWxsLWRlc2t0b3AgKyAubWFpbi1jb250ZW50LFxuICAgICAgLnNlYXJjaC1yZXN1bHRzLWVudHJ5LXBvaW50ICsgLnNob3BpZnktc2VjdGlvbiB7IFxuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC8vIC5zZWFyY2gtcmVzdWx0cy1uby1vcCB+ICoge1xuICAgICAgLy8gICB6LWluZGV4OiAwO1xuICAgICAgLy8gfVxuXG4gICAgICAjc3BpZmZ5LWFpLWdsb2JhbC1zZWFyY2gtZW50cnlwb2ludC1tb2JpbGUuZ2xvYmFsLWVudHJ5LW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgICAgI3NwaWZmeS1haS1nbG9iYWwtc2VhcmNoLWVudHJ5cG9pbnQtbW9iaWxlLmdsb2JhbC1lbnRyeS1tb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAjc3BpZmZ5LWFpLWdsb2JhbC1zZWFyY2gtZW50cnlwb2ludC1tb2JpbGUtaWNvbi1vbmx5IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfSBcblxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgICAjc3BpZmZ5LWFpLWdsb2JhbC1zZWFyY2gtZW50cnlwb2ludC5nbG9iYWwtZW50cnktZGVza3RvcCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgI3NwaWZmeS1haS1nbG9iYWwtc2VhcmNoLWVudHJ5cG9pbnQtdGFibGV0Lmdsb2JhbC1lbnRyeS1zbWFsbC1kZXNrdG9wIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgICNzcGlmZnktYWktZ2xvYmFsLXNlYXJjaC1lbnRyeXBvaW50LW1vYmlsZS5nbG9iYWwtZW50cnktbW9iaWxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgYCxcbiAgfTtcbn07XG5cbmNvbnN0IGJhbmRvbGllclBhZ2VDb25maWcgPSAoKTogT3JnUGFnZUNvbmZpZyA9PiAoe1xuICBwYWdlVmFyaWFudHM6IFtcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwic2VhcmNoLXJlc3VsdHNcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInNlYXJjaFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlLFxuICAgICAgICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMuSXNHbG9iYWxTZWFyY2hFbmFibGVkLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuUXVlcnlQYXJhbSxcbiAgICAgICAgICBxdWVyeVBhcmFtOiBcImVzcVwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFNtYWxsRGVza3RvcFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwic2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRQTFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hSZXN1bHRzRW50cnlQb2ludFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50T25seUljb25Nb2JpbGVcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50T25seUljb25Nb2JpbGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwbHAtd2l0aC1zZWFyY2hcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlLFxuICAgICAgICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMuSXNHbG9iYWxTZWFyY2hFbmFibGVkLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFNtYWxsRGVza3RvcFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVTZWFyY2hJY29uXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVNlYXJjaEljb25cIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50T25seUljb25Nb2JpbGVcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50T25seUljb25Nb2JpbGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwZHAtd2l0aC1zZWFyY2gtYmFnc1wiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGUsXG4gICAgICAgICAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcy5Jc0dsb2JhbFNlYXJjaEVuYWJsZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IFtcImJhZ3NcIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3BcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlU2VhcmNoSWNvblwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVTZWFyY2hJY29uXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhckJhZ3NcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwLXdpdGgtc2VhcmNoXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZSxcbiAgICAgICAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzLklzR2xvYmFsU2VhcmNoRW5hYmxlZCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXByb2R1Y3QtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFNtYWxsRGVza3RvcFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVTZWFyY2hJY29uXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVNlYXJjaEljb25cIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRPbmx5SWNvbk1vYmlsZVwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRPbmx5SWNvbk1vYmlsZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJzZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcImhvbWUtd2l0aC1zZWFyY2hcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcImhvbWVwYWdlXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGUsXG4gICAgICAgICAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcy5Jc0dsb2JhbFNlYXJjaEVuYWJsZWQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BIb21lcGFnZVwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wSG9tZXBhZ2VcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFNtYWxsRGVza3RvcEhvbWVwYWdlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BIb21lcGFnZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlSG9tZXBhZ2VcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50T25seUljb25Nb2JpbGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJvdGhlci13aXRoLXNlYXJjaFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwib3RoZXJcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGUsXG4gICAgICAgICAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcy5Jc0dsb2JhbFNlYXJjaEVuYWJsZWQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3BcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50T25seUljb25Nb2JpbGVcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50T25seUljb25Nb2JpbGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwbHBQaG9uZUNhc2VzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQTFAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlBscElkLFxuICAgICAgICAgIHBscElkczogW1wiYmFuZG9saWVyLWNyb3NzYm9keVwiLCBcIndyaXN0bGV0LXBob25lLWNhc2VzXCIsIFwiY2FzZS1vbmx5XCJdLFxuICAgICAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQUGhvbmVDYXNlc1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwbHBBY2Nlc3Nvcmllc1wiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UExQIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZCxcbiAgICAgICAgICBwbHBJZHM6IFtcInNob3AtYWxsLWFjY2Vzc29yaWVzXCJdLFxuICAgICAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQQWNjZXNzb3JpZXNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwQmFnc1wiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UExQIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZCxcbiAgICAgICAgICBwbHBJZHM6IFtcImJhZ3NcIl0sXG4gICAgICAgICAgcGxwSWRFeHRyYWN0b3I6IFwic2hvcGlmeS1jb2xsZWN0aW9uLWlkXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcGxwSWRFeHRyYWN0b3I6IFwic2hvcGlmeS1jb2xsZWN0aW9uLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRQTFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRQTFBCYWdzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcFBvdWNoZXNcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUCB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJzaG9wLWFsbC1iYWdzLXBvdWNoZXNcIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInNob3BpZnktcHJvZHVjdC12YXJpYW50LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJQb3VjaGVzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcEJhZ3NcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUCB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJiYWdzXCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJzaG9waWZ5LXByb2R1Y3QtdmFyaWFudC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyQmFnc1wiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwbHBTaG9wQWxsXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQTFAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlBscElkLFxuICAgICAgICAgIHBscElkczogW1wiYWxsXCJdLFxuICAgICAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQU2hvcEFsbFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UExQIH1dLFxuICAgICAgcGxwSWRFeHRyYWN0b3I6IFwic2hvcGlmeS1jb2xsZWN0aW9uLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRQTFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRQTFBcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW3sgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUCB9XSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJzaG9waWZ5LXByb2R1Y3QtdmFyaWFudC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gIF0sXG4gIG1vdW50aW5nQ29uZmlnczoge1xuICAgIGltYWdlUHJvbXB0Q2FyZFBMUDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRQTFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBQUk9NUFRfQ0FSRF9JRCxcbiAgICAgIHRlc3RJZDogUFJPTVBUX0NBUkRfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiI0FqYXhpbmF0ZUxvb3BcIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5BRlRFUixcbiAgICAgIH0sXG4gICAgICBncmlkSW5zZXJ0aW9uVHlwZTogR3JpZEluc2VydGlvblR5cGUuRklYRURfMSxcbiAgICAgIGRpdkNoZWNrU2VsZWN0b3I6IFwidGVzdFwiLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgZ3JpZFJvdzogXCIyIC8gMlwiLFxuICAgICAgICBncmlkQ29sdW1uOiBcIjEgLyAxXCIsXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICBjaGF0UHJldmlld1BEUDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgY29udGFpbmVySWQ6IENIQVRfUFJFVklFV19DT05UQUlORVJfSUQsXG4gICAgICB0ZXN0SWQ6IENIQVRfUFJFVklFV19URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCIucHJvZHVjdC1zaW5nbGUgZGl2XCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQVBQRU5EX0NISUxELFxuICAgICAgfSxcbiAgICB9LFxuXG4gICAgdG9wU3VnZ2VzdGlvbkJhclBEUDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICBjb250YWluZXJJZDogVE9QX1NVR0dFU1RJT05fQkFSX1BEUF9JRCxcbiAgICAgIHRlc3RJZDogVE9QX1NVR0dFU1RJT05fQkFSX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIi5wcm9kdWN0X19wcmljZS1hbmQtcmF0aW5nXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQUZURVIsXG4gICAgICB9LFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgbWFyZ2luQm90dG9tOiBcIjE2cHhcIixcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIGJvdHRvbVN1Z2dlc3Rpb25CYXJQRFA6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgY29udGFpbmVySWQ6IEJPVFRPTV9SRVZJRVdTX0JBUl9JRCxcbiAgICAgIHRlc3RJZDogQk9UVE9NX1NVR0dFU1RJT05fQkFSX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIi55b3Rwby1zbWFydC10b3BpY3MtcGFuZWxcIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5BRlRFUixcbiAgICAgIH0sXG4gICAgICBzdHlsZToge1xuICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgc2VhcmNoT3ZlcmxheUhvc3Q6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgIGNvbnRhaW5lcklkOiBTRUFSQ0hfT1ZFUkxBWV9FTlRSWVBPSU5UX0lELFxuICAgICAgdGVzdElkOiBTRUFSQ0hfT1ZFUkxBWV9IT1NUX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcImJvZHlcIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5BUFBFTkRfQ0hJTEQsXG4gICAgICB9LFxuICAgICAgY2xhc3NOYW1lOiBcInNwaWZmeS1vdmVybGF5LWhvc3RcIixcbiAgICB9LFxuICAgIHNlYXJjaFJlc3VsdHNFbnRyeVBvaW50UExQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaFJlc3VsdHNFbnRyeVBvaW50UExQXCIsXG4gICAgICBjb250YWluZXJJZDogU0VBUkNIX1JFU1VMVFNfRU5UUllQT0lOVF9JRCxcbiAgICAgIHRlc3RJZDogU0VBUkNIX1JFU1VMVFNfRU5UUllQT0lOVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCIubWFpbi1jb250ZW50XCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQkVGT1JFLFxuICAgICAgfSxcbiAgICAgIHN1cHByZXNzaW9uU2VsZWN0b3I6IFwiI01haW5Db250ZW50XCIsXG4gICAgICBjbGFzc05hbWU6IFwic2VhcmNoLXJlc3VsdHMtZW50cnktcG9pbnRcIixcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIG1hcmdpbkJvdHRvbTogXCI2MHB4XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgc2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRQRFA6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwic2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRQRFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBTRUFSQ0hfUkVTVUxUU19FTlRSWVBPSU5UX0lELFxuICAgICAgdGVzdElkOiBTRUFSQ0hfUkVTVUxUU19FTlRSWVBPSU5UX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIi5tYWluLWNvbnRlbnRcIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5CRUZPUkUsXG4gICAgICB9LFxuICAgICAgc3VwcHJlc3Npb25TZWxlY3RvcjogXCIjTWFpbkNvbnRlbnRcIixcbiAgICAgIGNsYXNzTmFtZTogXCJzZWFyY2gtcmVzdWx0cy1lbnRyeS1wb2ludFwiLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgbWFyZ2luQm90dG9tOiBcIjYwcHhcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcEhvbWVwYWdlOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wSG9tZXBhZ2VcIixcbiAgICAgIGNvbnRhaW5lcklkOiBIT01FUEFHRV9ERVNLVE9QX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgICAgIHRlc3RJZDogR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOlxuICAgICAgICAgIFwiLm1lbnVfX2l0ZW0ubWVudV9faXRlbS0taWNvbnMgLnNlYXJjaC1wb3Bkb3duLm1lbnVfX2l0ZW0ubWVudV9faXRlbS0taWNvblwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkJFRk9SRSxcbiAgICAgIH0sXG4gICAgICBzdXBwcmVzc2lvblNlbGVjdG9yOiBcIi5tZW51X19pdGVtLm1lbnVfX2l0ZW0tLWljb25zIC5zZWFyY2gtcG9wZG93blwiLFxuICAgICAgY2xhc3NOYW1lOiBcImdsb2JhbC1lbnRyeS1kZXNrdG9wLWhvbWVwYWdlXCIsXG4gICAgICBzdHlsZToge1xuICAgICAgICBtYXJnaW46IFwiMCA1cHggMCA3cHhcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBnbG9iYWxTZWFyY2hFbnRyeVBvaW50U21hbGxEZXNrdG9wSG9tZXBhZ2U6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFNtYWxsRGVza3RvcEhvbWVwYWdlXCIsXG4gICAgICBjb250YWluZXJJZDogSE9NRVBBR0VfVEFCTEVUX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgICAgIHRlc3RJZDogR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOlxuICAgICAgICAgIFwiI05hdlN0YW5kYXJkIC5tZW51X19pdGVtLm1lbnVfX2l0ZW0tLWljb24ubWVudV9faXRlbS13aXNobGlzdFwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFESkFDRU5UX0FGVEVSX0VORCxcbiAgICAgIH0sXG4gICAgICBzdXBwcmVzc2lvblNlbGVjdG9yOiBcIi5zZWFyY2gtcG9wZG93blwiLFxuICAgICAgY2xhc3NOYW1lOiBcImdsb2JhbC1lbnRyeS1zbWFsbC1kZXNrdG9wLWhvbWVwYWdlXCIsXG4gICAgICBzdHlsZToge1xuICAgICAgICBtYXJnaW46IFwiMCA1cHggMCA3cHhcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlSG9tZXBhZ2U6IHtcbiAgICAgIC8vIFRoaXMgaXMgdGhlIHNhbWUgYXMgZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlIGV4Y2VwdCB0aGUgY2xhc3MgaXMgZGlmZmVyZW50IGFsbG93aW5nIHVzIHRvIG5vdCBoaWRlIGl0IHdoZW4gdGhlIHNjcmVlbnNpemUgaXMgc21hbGwuIEl0J3MgdXNlZCBvbiBob21lcGFnZSBhbmQgJ290aGVyJyBwYWdlc1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlSG9tZXBhZ2VcIixcbiAgICAgIGNvbnRhaW5lcklkOiBIT01FUEFHRV9NT0JJTEVfR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lELFxuICAgICAgdGVzdElkOiBHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiLnNlYXJjaC1wb3Bkb3duLm1vYmlsZS1tZW51X19idXR0b25cIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5CRUZPUkUsXG4gICAgICB9LFxuICAgICAgY2xhc3NOYW1lOiBcImdsb2JhbC1lbnRyeS1tb2JpbGUtaG9tZXBhZ2VcIixcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIG1hcmdpbjogXCI2cHhcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgY29udGFpbmVySWQ6IEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgICAgIHRlc3RJZDogR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOlxuICAgICAgICAgIFwiLm1lbnVfX2l0ZW0ubWVudV9faXRlbS0taWNvbnMgLnNlYXJjaC1wb3Bkb3duLm1lbnVfX2l0ZW0ubWVudV9faXRlbS0taWNvblwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkJFRk9SRSxcbiAgICAgIH0sXG4gICAgICBjbGFzc05hbWU6IFwiZ2xvYmFsLWVudHJ5LWRlc2t0b3BcIixcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIG1hcmdpbjogXCIwIDVweCAwIDdweFwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3A6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludFNtYWxsRGVza3RvcFwiLFxuICAgICAgY29udGFpbmVySWQ6IFRBQkxFVF9HTE9CQUxfU0VBUkNIX0VOVFlQT0lOVF9JRCxcbiAgICAgIHRlc3RJZDogR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOlxuICAgICAgICAgIFwiI05hdlN0YW5kYXJkIC5tZW51X19pdGVtLm1lbnVfX2l0ZW0tLWljb24ubWVudV9faXRlbS13aXNobGlzdFwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFESkFDRU5UX0FGVEVSX0VORCxcbiAgICAgIH0sXG4gICAgICBjbGFzc05hbWU6IFwiZ2xvYmFsLWVudHJ5LXNtYWxsLWRlc2t0b3BcIixcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIG1hcmdpbjogXCIwIDVweCAwIDdweFwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGU6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgY29udGFpbmVySWQ6IE1PQklMRV9HTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQsXG4gICAgICB0ZXN0SWQ6IEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCIubWFpbi1jb250ZW50XCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQkVGT1JFLFxuICAgICAgfSxcbiAgICAgIGNsYXNzTmFtZTogXCJnbG9iYWwtZW50cnktbW9iaWxlXCIsXG4gICAgICBzdHlsZToge1xuICAgICAgICBtYXJnaW46IFwiOHB4XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRPbmx5SWNvbk1vYmlsZVwiLFxuICAgICAgY29udGFpbmVySWQ6IE1PQklMRV9JQ09OX09OTFlfR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lELFxuICAgICAgdGVzdElkOiBHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiLnNlYXJjaC1wb3Bkb3duLm1vYmlsZS1tZW51X19idXR0b25cIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5BREpBQ0VOVF9CRUZPUkVfQkVHSU4sXG4gICAgICB9LFxuICAgICAgY2xhc3NOYW1lOiBcImdsb2JhbC1lbnRyeS1tb2JpbGUtbWVudS1pY29uXCIsXG4gICAgICBzdHlsZToge1xuICAgICAgICBtYXJnaW46IFwiNnB4XCIsXG4gICAgICB9LFxuICAgIH0sXG4gIH0sXG4gIHdpZGdldENvbmZpZ3M6IHtcbiAgICBpbWFnZVByb21wdENhcmRQTFBQaG9uZUNhc2VzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkLFxuICAgICAgdXJsOiBDZG5TZXJ2aWNlLmdldEFzc2V0VVJMKFxuICAgICAgICBcImltYWdlLXByb21wdC1jYXJkLTIucG5nXCIsXG4gICAgICAgIE9yZ1Nob3J0TmFtZS5CYW5kb2xpZXJcbiAgICAgICksXG4gICAgICBsaWdodFRleHQ6IHRydWUsXG4gICAgICB0aXRsZTogXCJXaGF0IGNhbiB3ZSBoZWxwIHlvdSBmaW5kIHRvZGF5P1wiLFxuICAgICAgc3VidGl0bGU6IFtcbiAgICAgICAgXCJDcm9zc2JvZHkgdnMuIHdyaXN0bGV04oCUd2hhdOKAmXMgdGhlIGRpZmZlcmVuY2U/XCIsXG4gICAgICAgIFwiQ2FuIEkgbWl4IGFuZCBtYXRjaCBzdHJhcHMgYW5kIHdyaXN0bGV0cz9cIixcbiAgICAgICAgXCJEb2VzIGl0IGZpdCBjYXJkcyBvciBlc3NlbnRpYWxzP1wiLFxuICAgICAgICBcIkhvdyBwcm90ZWN0ZWQgd2lsbCBteSBwaG9uZSBiZT9cIixcbiAgICAgICAgXCJEbyB5b3Ugb2ZmZXIgYnVuZGxlcyBvciBzZXRzP1wiLFxuICAgICAgICBcIkNhbiBJIHVzZSB0aGlzIGNhc2Ugd2l0aG91dCBhIHN0cmFwP1wiLFxuICAgICAgXSxcbiAgICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IFtcbiAgICAgICAgXCJXaWxsIHRoaXMgZml0IG15IHBob25lP1wiLFxuICAgICAgICBcIkNyb3NzYm9keSB2cy4gd3Jpc3RsZXTigJR3aGF04oCZcyB0aGUgZGlmZmVyZW5jZT9cIixcbiAgICAgICAgXCJDYW4gSSBtaXggYW5kIG1hdGNoIHN0cmFwcyBhbmQgd3Jpc3RsZXRzP1wiLFxuICAgICAgICBcIkRvZXMgaXQgZml0IGNhcmRzIG9yIGVzc2VudGlhbHM/XCIsXG4gICAgICAgIFwiSG93IHByb3RlY3RlZCB3aWxsIG15IHBob25lIGJlP1wiLFxuICAgICAgICBcIkRvIHlvdSBvZmZlciBidW5kbGVzIG9yIHNldHM/XCIsXG4gICAgICAgIFwiQ2FuIEkgdXNlIHRoaXMgY2FzZSB3aXRob3V0IGEgc3RyYXA/XCIsXG4gICAgICBdLFxuICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwidW5kZXJsaW5lTGlnaHRcIixcbiAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIk5lZWQgc29tZXRoaW5nIHNwZWNpYWw/XCIsXG4gICAgICAgIGljb246IFwic2VuZEFycm93XCIsXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICAgIGltYWdlUHJvbXB0Q2FyZFBMUEFjY2Vzc29yaWVzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkLFxuICAgICAgdXJsOiBDZG5TZXJ2aWNlLmdldEFzc2V0VVJMKFxuICAgICAgICBcImltYWdlLXByb21wdC1jYXJkLTIucG5nXCIsXG4gICAgICAgIE9yZ1Nob3J0TmFtZS5CYW5kb2xpZXJcbiAgICAgICksXG4gICAgICBsaWdodFRleHQ6IHRydWUsXG4gICAgICB0aXRsZTogXCJXaGF0IGNhbiB3ZSBoZWxwIHlvdSBmaW5kIHRvZGF5P1wiLFxuICAgICAgc3VidGl0bGU6IFtcbiAgICAgICAgXCJDYW4gSSBtaXggYW5kIG1hdGNoIGNvbG9ycyBvciBzdHlsZXM/XCIsXG4gICAgICAgIFwiSG93IGRvIHRoZXNlIGF0dGFjaCB0byBjYXNlcyBhbmQgYmFncz9cIixcbiAgICAgICAgXCJBcmUgYWNjZXNzb3JpZXMgY3VzdG9taXphYmxlP1wiLFxuICAgICAgICBcIkNhbiBJIGN1c3RvbWl6ZSBteSBCYW5kb2xpZXI/XCIsXG4gICAgICBdLFxuICAgICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogW1xuICAgICAgICBcIkNhbiBJIG1peCBhbmQgbWF0Y2ggY29sb3JzIG9yIHN0eWxlcz9cIixcbiAgICAgICAgXCJIb3cgZG8gdGhlc2UgYXR0YWNoIHRvIGNhc2VzIGFuZCBiYWdzP1wiLFxuICAgICAgICBcIkFyZSBhY2Nlc3NvcmllcyBjdXN0b21pemFibGU/XCIsXG4gICAgICAgIFwiQ2FuIEkgY3VzdG9taXplIG15IEJhbmRvbGllcj9cIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVMaWdodFwiLFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiTmVlZCBzb21ldGhpbmcgc3BlY2lhbD9cIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gICAgaW1hZ2VQcm9tcHRDYXJkUExQQmFnczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZCxcbiAgICAgIHVybDogQ2RuU2VydmljZS5nZXRBc3NldFVSTChcbiAgICAgICAgXCJpbWFnZS1wcm9tcHQtY2FyZC0yLnBuZ1wiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuQmFuZG9saWVyXG4gICAgICApLFxuICAgICAgbGlnaHRUZXh0OiB0cnVlLFxuICAgICAgdGl0bGU6IFwiV2hhdCBjYW4gd2UgaGVscCB5b3UgZmluZCB0b2RheT9cIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiQXJlIHRoZSBiYWdzIGRlc2lnbmVkIHRvIGhvbGQgcGhvbmVzP1wiLFxuICAgICAgICBcIkNhbiBJIGF0dGFjaCBhIEJhbmRvbGllciBzdHJhcCB0byB0aGlzIGJhZz9cIixcbiAgICAgICAgXCJEb2VzIGl0IGhhdmUgaW50ZXJpb3IgcG9ja2V0cz9cIixcbiAgICAgICAgXCJJcyBpdCBtYWRlIG9mIHJlYWwgbGVhdGhlcj9cIixcbiAgICAgICAgXCJDYW4gdGhlIHN0cmFwIGJlIHJlbW92ZWQ/XCIsXG4gICAgICBdLFxuICAgICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogW1xuICAgICAgICBcIkFyZSB0aGUgYmFncyBkZXNpZ25lZCB0byBob2xkIHBob25lcz9cIixcbiAgICAgICAgXCJDYW4gSSBhdHRhY2ggYSBCYW5kb2xpZXIgc3RyYXAgdG8gdGhpcyBiYWc/XCIsXG4gICAgICAgIFwiRG9lcyBpdCBoYXZlIGludGVyaW9yIHBvY2tldHM/XCIsXG4gICAgICAgIFwiSXMgaXQgbWFkZSBvZiByZWFsIGxlYXRoZXI/XCIsXG4gICAgICAgIFwiQ2FuIHRoZSBzdHJhcCBiZSByZW1vdmVkP1wiLFxuICAgICAgXSxcbiAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcInVuZGVybGluZUxpZ2h0XCIsXG4gICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJOZWVkIHNvbWV0aGluZyBzcGVjaWFsP1wiLFxuICAgICAgICBpY29uOiBcInNlbmRBcnJvd1wiLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgICBpbWFnZVByb21wdENhcmRQTFBTaG9wQWxsOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkLFxuICAgICAgdXJsOiBDZG5TZXJ2aWNlLmdldEFzc2V0VVJMKFxuICAgICAgICBcImltYWdlLXByb21wdC1jYXJkLTIucG5nXCIsXG4gICAgICAgIE9yZ1Nob3J0TmFtZS5CYW5kb2xpZXJcbiAgICAgICksXG4gICAgICBsaWdodFRleHQ6IHRydWUsXG4gICAgICB0aXRsZTogXCJXaGF0IGNhbiB3ZSBoZWxwIHlvdSBmaW5kIHRvZGF5P1wiLFxuICAgICAgc3VidGl0bGU6IFtcbiAgICAgICAgXCJXaWxsIHRoaXMgZml0IG15IHBob25lP1wiLFxuICAgICAgICBcIkhvdyBpcyBCYW5kb2xpZXIgZGlmZmVyZW50IGZyb20gb3RoZXIgcGhvbmUgY2FzZXM/XCIsXG4gICAgICAgIFwiV2hhdOKAmXMgeW91ciBtb3N0IHBvcHVsYXIgc3R5bGU/XCIsXG4gICAgICAgIFwiV2hhdCdzIHRyZW5kaW5nIHJpZ2h0IG5vdz9cIixcbiAgICAgIF0sXG4gICAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBbXG4gICAgICAgIFwiV2lsbCB0aGlzIGZpdCBteSBwaG9uZT9cIixcbiAgICAgICAgXCJIb3cgaXMgQmFuZG9saWVyIGRpZmZlcmVudCBmcm9tIG90aGVyIHBob25lIGNhc2VzP1wiLFxuICAgICAgICBcIldoYXTigJlzIHlvdXIgbW9zdCBwb3B1bGFyIHN0eWxlP1wiLFxuICAgICAgICBcIldoYXQncyB0cmVuZGluZyByaWdodCBub3c/XCIsXG4gICAgICBdLFxuICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwidW5kZXJsaW5lTGlnaHRcIixcbiAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIk5lZWQgc29tZXRoaW5nIHNwZWNpYWw/XCIsXG4gICAgICAgIGljb246IFwic2VuZEFycm93XCIsXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICAgIGltYWdlUHJvbXB0Q2FyZFBMUDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZCxcbiAgICAgIHVybDogQ2RuU2VydmljZS5nZXRBc3NldFVSTChcbiAgICAgICAgXCJpbWFnZS1wcm9tcHQtY2FyZC0yLnBuZ1wiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuQmFuZG9saWVyXG4gICAgICApLFxuICAgICAgbGlnaHRUZXh0OiB0cnVlLFxuICAgICAgdGl0bGU6IFwiV2hhdCBjYW4gd2UgaGVscCB5b3UgZmluZCB0b2RheT9cIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiV2hpY2ggcGhvbmUgY2FzZSBmaXRzIHlvdXIgc3R5bGU/XCIsXG4gICAgICAgIFwiTmVlZCBhIGJhZyBmb3IgbmlnaHRzIG91dD9cIixcbiAgICAgICAgXCJXaGF04oCZcyBhIGNoaWMgZ2lmdCBpZGVhP1wiLFxuICAgICAgICBcIkxvb2tpbmcgZm9yIGEgdHJhdmVsLXJlYWR5IHNldD9cIixcbiAgICAgIF0sXG4gICAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBbXG4gICAgICAgIFwiV2hpY2ggcGhvbmUgY2FzZSBmaXRzIHlvdXIgc3R5bGU/XCIsXG4gICAgICAgIFwiTmVlZCBhIGJhZyBmb3IgbmlnaHRzIG91dD9cIixcbiAgICAgICAgXCJXaGF04oCZcyBhIGNoaWMgZ2lmdCBpZGVhP1wiLFxuICAgICAgICBcIkxvb2tpbmcgZm9yIGEgdHJhdmVsLXJlYWR5IHNldD9cIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVMaWdodFwiLFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiTmVlZCBzb21ldGhpbmcgc3BlY2lhbD9cIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG5cbiAgICB0b3BTdWdnZXN0aW9uc0Jhcjoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIHZhcmlhbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5QWNjZW50XCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwic21cIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcInN0YW5kYXJkXCIsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJDYW4gSSB1c2UgdGhpcyBjYXNlIHdpdGhvdXQgYSBzdHJhcD8gXCIsXG4gICAgICAgICAgXCJIb3cgbWFueSBjYXJkcyBmaXQgaW4gdGhlIHdhbGxldD9cIixcbiAgICAgICAgICBcIlN1bW1hcml6ZSBSZXZpZXdzXCIsXG4gICAgICAgICAgXCJXaGF0IG1ha2VzIHRoaXMgc28gdmVyc2F0aWxlP1wiLFxuICAgICAgICAgIFwiV2h5IGFyZSBzaG9wcGVycyBvYnNlc3NlZCB3aXRoIHRoaXM/XCIsXG4gICAgICAgIF0sXG4gICAgICAgIHByb2R1Y3RTcGVjaWZpYzoge1xuICAgICAgICAgIC8vIEhhaWxleVxuICAgICAgICAgIFwiaGFpbGV5LXNpZGUtc2xvdC1sZWF0aGVyLWNyb3NzYm9keS1iYW5kb2xpZXItYmxhY2stZ29sZFwiOiBbXG4gICAgICAgICAgICBcIlN1bW1hcml6ZSB0aGUgcmV2aWV3c1wiLFxuICAgICAgICAgICAgXCJXaHkgaXMgdGhpcyB5b3VyIGJlc3Qgc2VsbGVyP1wiLFxuICAgICAgICAgICAgXCJDYW4geW91IHVzZSB0aGlzIGNhc2Ugd2l0aG91dCBhIHN0cmFwP1wiLFxuICAgICAgICAgICAgXCJIb3cgbWFueSBjYXJkcyBmaXQgaW4gdGhlIHdhbGxldD9cIixcbiAgICAgICAgICAgIFwiV2hhdCBtYWtlcyB0aGlzIHNvIHZlcnNhdGlsZT9cIixcbiAgICAgICAgICBdLFxuICAgICAgICAgIC8vIE1pbGFcbiAgICAgICAgICBcIm1pbGEtbWFnc2FmZS1jaGFyZ2luZy1jcm9zc2JvZHktYmFuZG9saWVyLWJsYWNrLWdvbGRcIjogW1xuICAgICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3NcIixcbiAgICAgICAgICAgIFwiSXMgdGhpcyBNYWdTYWZlIENvbXBhdGlibGU/XCIsXG4gICAgICAgICAgICBcIkRvZXMgdGhlIHdhbGxldCBjb21lIG9mZj9cIixcbiAgICAgICAgICAgIFwiV2h5IGlzIHRoaXMgeW91ciBiZXN0IHNlbGxlcj9cIixcbiAgICAgICAgICAgIFwiQ2FuIHlvdSB1c2UgdGhpcyBjYXNlIHdpdGhvdXQgYSBzdHJhcD9cIixcbiAgICAgICAgICAgIFwiSG93IG1hbnkgY2FyZHMgZml0IGluIHRoZSB3YWxsZXQ/XCIsXG4gICAgICAgICAgXSxcbiAgICAgICAgICAvLyBSZW1pXG4gICAgICAgICAgXCJyZW1pLW1hZ25ldC13YWxsZXQtY3Jvc3Nib2R5LXBob25lLWNhc2UtYmxhY2stZ29sZFwiOiBbXG4gICAgICAgICAgICBcIlN1bW1hcml6ZSB0aGUgcmV2aWV3c1wiLFxuICAgICAgICAgICAgXCJJcyB0aGlzIE1hZ1NhZmUgQ29tcGF0aWJsZT9cIixcbiAgICAgICAgICAgIFwiSXMgdGhlIHdhbGxldCByZW1vdmFibGU/XCIsXG4gICAgICAgICAgICBcIldoeSBpcyB0aGlzIHlvdXIgYmVzdCBzZWxsZXI/XCIsXG4gICAgICAgICAgICBcIkNhbiB5b3UgdXNlIHRoaXMgY2FzZSB3aXRob3V0IGEgc3RyYXA/XCIsXG4gICAgICAgICAgICBcIkhvdyBtYW55IGNhcmRzIGZpdCBpbiB0aGUgd2FsbGV0P1wiLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgLy8gTGlseVxuICAgICAgICAgIFwibGlseS1zZXQtYmFuZG9saWVyLWJsYWNrLWdvbGRcIjogW1xuICAgICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3NcIixcbiAgICAgICAgICAgIFwiV2h5IGlzIHRoaXMgeW91ciBiZXN0IHNlbGxlcj9cIixcbiAgICAgICAgICAgIFwiQ2FuIHlvdSB1c2UgdGhpcyBjYXNlIHdpdGhvdXQgYSBzdHJhcD9cIixcbiAgICAgICAgICAgIFwiSG93IG1hbnkgY2FyZHMgZml0IGluIHRoZSB3YWxsZXQ/XCIsXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIHRvcFN1Z2dlc3Rpb25zQmFyUG91Y2hlczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJQb3VjaGVzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5UT1BfUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfVE9QLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeUFjY2VudFwiLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcInNtXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJzdGFuZGFyZFwiLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiSG93IHdpbGwgdGhpcyB3b3JrIHdpdGggbXkgYmFuZG9saWVyIGNhc2U/XCIsXG4gICAgICAgICAgXCJDYW4gSSBhdHRhY2ggYSBCYW5kb2xpZXIgc3RyYXAgdG8gdGhpcyBwb3VjaD9cIixcbiAgICAgICAgICBcIkRvZXMgaXQgaGF2ZSBpbnRlcmlvciBwb2NrZXRzP1wiLFxuICAgICAgICAgIFwiSXMgaXQgbWFkZSBvZiByZWFsIGxlYXRoZXI/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICB0b3BTdWdnZXN0aW9uc0JhckJhZ3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyQmFnc1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlBY2NlbnRcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJzbVwiLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwic3RhbmRhcmRcIixcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIkFyZSB0aGUgYmFncyBkZXNpZ25lZCB0byBob2xkIHBob25lcz9cIixcbiAgICAgICAgICBcIkNhbiBJIGF0dGFjaCBhIEJhbmRvbGllciBzdHJhcCB0byB0aGlzIGJhZz9cIixcbiAgICAgICAgICBcIkRvZXMgaXQgaGF2ZSBpbnRlcmlvciBwb2NrZXRzP1wiLFxuICAgICAgICAgIFwiSXMgaXQgbWFkZSBvZiByZWFsIGxlYXRoZXI/XCIsXG4gICAgICAgICAgXCJDYW4gdGhlIHN0cmFwIGJlIHJlbW92ZWQ/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICBjaGF0UHJldmlld1BEUDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuQ2hhdFByZXZpZXcsXG4gICAgICB2YXJpYW50OiBcImZpbGxlZFwiLFxuICAgICAgYWRkU2VwYXJhdG9yczogZmFsc2UsXG4gICAgfSBzYXRpc2ZpZXMgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG5cbiAgICBib3R0b21TdWdnZXN0aW9uc0Jhcjoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktYm90dG9tLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLkJPVFRPTV9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9CT1RUT00sXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIHZhcmlhbnQ6IFwiZGFya0FjY2VudFwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeUFjY2VudFwiLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcInNtXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICB0d29Sb3dzT25Nb2JpbGU6IHRydWUsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJEb2VzIHRoaXMgZml0IG15IGRldmljZSBtb2RlbD9cIixcbiAgICAgICAgICBcIklzIHRoaXMgYWRqdXN0YWJsZT9cIixcbiAgICAgICAgICBcIldoeSBjaG9vc2UgdGhpcyBvdmVyIGEgYnVsa3kgYmFnP1wiLFxuICAgICAgICAgIFwiV2hhdCBkbyByZXZpZXdlcnMgbG92ZSBtb3N0P1wiLFxuICAgICAgICAgIFwiQ2FuIEkgdXNlIHRoaXMgZXZlcnkgZGF5P1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZToge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50LFxuICAgICAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogXCJiYWNrZ3JvdW5kVGVydGlhcnlcIixcbiAgICAgIHNlYXJjaElucHV0VmFyaWFudDogXCJzdGFuZGFyZFwiLFxuICAgICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcImRhcmtBY2NlbnRcIixcbiAgICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeUFjY2VudFwiLFxuICAgICAgICBib3JkZXJSYWRpdXM6IFwic21cIixcbiAgICAgIH0sXG4gICAgICBsYXlvdXQ6IFwiaW5wdXRcIixcbiAgICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBcIldoYXQgY2FuIEkgaGVscCB5b3UgZmluZD9cIixcbiAgICAgIGluaXRpYWxTdWdnZXN0aW9uczogW1xuICAgICAgICBcIk1hZ1NhZmUgY29tcGF0aWJsZSBjYXNlc1wiLFxuICAgICAgICBcIk1vc3QgcG9wdWxhciBzdHlsZXNcIixcbiAgICAgICAgXCJSZW1pIHJlbW92YWJsZSB3YWxsZXRcIixcbiAgICAgICAgXCJNaXggYW5kIG1hdGNoIHN0cmFwcyBhbmQgd3Jpc3RsZXRzXCIsXG4gICAgICAgIFwiQWRkLW9uIHBvdWNoZXNcIixcbiAgICAgICAgXCJCZXN0IHBob25lIGNhc2VzIGZvciB0cmF2ZWxcIixcbiAgICAgIF0sXG4gICAgICB1c2luZ1BvcnRhbDogdHJ1ZSxcbiAgICB9IHNhdGlzZmllcyBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICAgIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVTZWFyY2hJY29uOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlU2VhcmNoSWNvblwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50LFxuICAgICAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogXCJiYWNrZ3JvdW5kVGVydGlhcnlcIixcbiAgICAgIHNlYXJjaElucHV0VmFyaWFudDogXCJzdGFuZGFyZFwiLFxuICAgICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcImRhcmtBY2NlbnRcIixcbiAgICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeUFjY2VudFwiLFxuICAgICAgICBib3JkZXJSYWRpdXM6IFwic21cIixcbiAgICAgIH0sXG4gICAgICBsYXlvdXQ6IFwiaWNvblwiLFxuICAgICAgc2VhcmNoSWNvblZhcmlhbnQ6IFwidGhpblwiLFxuICAgICAgc2VhcmNoSWNvblNpemU6IDI0LFxuICAgICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IFwiV2hhdCBjYW4gSSBoZWxwIHlvdSBmaW5kP1wiLFxuICAgICAgaW5pdGlhbFN1Z2dlc3Rpb25zOiBbXG4gICAgICAgIFwiTWFnU2FmZSBjb21wYXRpYmxlIGNhc2VzXCIsXG4gICAgICAgIFwiTW9zdCBwb3B1bGFyIHN0eWxlc1wiLFxuICAgICAgICBcIlJlbWkgcmVtb3ZhYmxlIHdhbGxldFwiLFxuICAgICAgICBcIk1peCBhbmQgbWF0Y2ggc3RyYXBzIGFuZCB3cmlzdGxldHNcIixcbiAgICAgICAgXCJBZGQtb24gcG91Y2hlc1wiLFxuICAgICAgICBcIkJlc3QgcGhvbmUgY2FzZXMgZm9yIHRyYXZlbFwiLFxuICAgICAgXSxcbiAgICAgIHVzaW5nUG9ydGFsOiB0cnVlLFxuICAgIH0gc2F0aXNmaWVzIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3A6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQsXG4gICAgICBzZWFyY2haZXJvU3RhdGVWYXJpYW50OiBcImJhY2tncm91bmRUZXJ0aWFyeVwiLFxuICAgICAgc2VhcmNoSW5wdXRWYXJpYW50OiBcInN0YW5kYXJkXCIsXG4gICAgICBzdWdnZXN0aW9uQnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwiZGFya0FjY2VudFwiLFxuICAgICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5QWNjZW50XCIsXG4gICAgICAgIGJvcmRlclJhZGl1czogXCJzbVwiLFxuICAgICAgfSxcbiAgICAgIGxheW91dDogXCJpY29uXCIsXG4gICAgICBzZWFyY2hJY29uVmFyaWFudDogXCJ0aGluXCIsXG4gICAgICBzZWFyY2hJY29uU2l6ZTogMjIsXG4gICAgICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogXCJXaGF0IGNhbiBJIGhlbHAgeW91IGZpbmQ/XCIsXG4gICAgICBpbml0aWFsU3VnZ2VzdGlvbnM6IFtcbiAgICAgICAgXCJNYWdTYWZlIGNvbXBhdGlibGUgY2FzZXNcIixcbiAgICAgICAgXCJNb3N0IHBvcHVsYXIgc3R5bGVzXCIsXG4gICAgICAgIFwiUmVtaSByZW1vdmFibGUgd2FsbGV0XCIsXG4gICAgICAgIFwiTWl4IGFuZCBtYXRjaCBzdHJhcHMgYW5kIHdyaXN0bGV0c1wiLFxuICAgICAgICBcIkFkZC1vbiBwb3VjaGVzXCIsXG4gICAgICAgIFwiQmVzdCBwaG9uZSBjYXNlcyBmb3IgdHJhdmVsXCIsXG4gICAgICBdLFxuICAgICAgdXNpbmdQb3J0YWw6IHRydWUsXG4gICAgfSBzYXRpc2ZpZXMgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgICBnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcEhvbWVwYWdlOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcEhvbWVwYWdlXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQsXG4gICAgICBzZWFyY2haZXJvU3RhdGVWYXJpYW50OiBcImJhY2tncm91bmRUZXJ0aWFyeVwiLFxuICAgICAgc2VhcmNoSW5wdXRWYXJpYW50OiBcInN0YW5kYXJkXCIsXG4gICAgICBzdWdnZXN0aW9uQnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwiZGFya0FjY2VudFwiLFxuICAgICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5QWNjZW50XCIsXG4gICAgICAgIGJvcmRlclJhZGl1czogXCJzbVwiLFxuICAgICAgfSxcbiAgICAgIGxheW91dDogXCJpY29uXCIsXG4gICAgICBzZWFyY2hJY29uVmFyaWFudDogXCJ0aGluXCIsXG4gICAgICBzZWFyY2hJY29uU2l6ZTogMjIsXG4gICAgICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogXCJXaGF0IGNhbiBJIGhlbHAgeW91IGZpbmQ/XCIsXG4gICAgICBpbml0aWFsU3VnZ2VzdGlvbnM6IFtcbiAgICAgICAgXCJNYWdTYWZlIGNvbXBhdGlibGUgY2FzZXNcIixcbiAgICAgICAgXCJNb3N0IHBvcHVsYXIgc3R5bGVzXCIsXG4gICAgICAgIFwiUmVtaSByZW1vdmFibGUgd2FsbGV0XCIsXG4gICAgICAgIFwiTWl4IGFuZCBtYXRjaCBzdHJhcHMgYW5kIHdyaXN0bGV0c1wiLFxuICAgICAgICBcIkFkZC1vbiBwb3VjaGVzXCIsXG4gICAgICAgIFwiQmVzdCBwaG9uZSBjYXNlcyBmb3IgdHJhdmVsXCIsXG4gICAgICBdLFxuICAgICAgdXNpbmdQb3J0YWw6IHRydWUsXG4gICAgfSBzYXRpc2ZpZXMgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgICBnbG9iYWxTZWFyY2hFbnRyeVBvaW50U21hbGxEZXNrdG9wSG9tZXBhZ2U6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3BIb21lcGFnZVwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50LFxuICAgICAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogXCJiYWNrZ3JvdW5kVGVydGlhcnlcIixcbiAgICAgIHNlYXJjaElucHV0VmFyaWFudDogXCJzdGFuZGFyZFwiLFxuICAgICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcImRhcmtBY2NlbnRcIixcbiAgICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeUFjY2VudFwiLFxuICAgICAgICBib3JkZXJSYWRpdXM6IFwic21cIixcbiAgICAgIH0sXG4gICAgICBsYXlvdXQ6IFwiaWNvblwiLFxuICAgICAgc2VhcmNoSWNvblZhcmlhbnQ6IFwidGhpblwiLFxuICAgICAgc2VhcmNoSWNvblNpemU6IDIyLFxuICAgICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IFwiV2hhdCBjYW4gSSBoZWxwIHlvdSBmaW5kP1wiLFxuICAgICAgaW5pdGlhbFN1Z2dlc3Rpb25zOiBbXG4gICAgICAgIFwiTWFnU2FmZSBjb21wYXRpYmxlIGNhc2VzXCIsXG4gICAgICAgIFwiTW9zdCBwb3B1bGFyIHN0eWxlc1wiLFxuICAgICAgICBcIlJlbWkgcmVtb3ZhYmxlIHdhbGxldFwiLFxuICAgICAgICBcIk1peCBhbmQgbWF0Y2ggc3RyYXBzIGFuZCB3cmlzdGxldHNcIixcbiAgICAgICAgXCJBZGQtb24gcG91Y2hlc1wiLFxuICAgICAgICBcIkJlc3QgcGhvbmUgY2FzZXMgZm9yIHRyYXZlbFwiLFxuICAgICAgXSxcbiAgICAgIHVzaW5nUG9ydGFsOiB0cnVlLFxuICAgIH0gc2F0aXNmaWVzIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50T25seUljb25Nb2JpbGVcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCxcbiAgICAgIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFwiYmFja2dyb3VuZFRlcnRpYXJ5XCIsXG4gICAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFwic3RhbmRhcmRcIixcbiAgICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJkYXJrQWNjZW50XCIsXG4gICAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlBY2NlbnRcIixcbiAgICAgICAgYm9yZGVyUmFkaXVzOiBcInNtXCIsXG4gICAgICB9LFxuICAgICAgbGF5b3V0OiBcImljb25cIixcbiAgICAgIHNlYXJjaEljb25WYXJpYW50OiBcInRoaW5cIixcbiAgICAgIHNlYXJjaEljb25TaXplOiAyNixcbiAgICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBcIldoYXQgY2FuIEkgaGVscCB5b3UgZmluZD9cIixcbiAgICAgIGluaXRpYWxTdWdnZXN0aW9uczogW1xuICAgICAgICBcIk1hZ1NhZmUgY29tcGF0aWJsZSBjYXNlc1wiLFxuICAgICAgICBcIk1vc3QgcG9wdWxhciBzdHlsZXNcIixcbiAgICAgICAgXCJSZW1pIHJlbW92YWJsZSB3YWxsZXRcIixcbiAgICAgICAgXCJNaXggYW5kIG1hdGNoIHN0cmFwcyBhbmQgd3Jpc3RsZXRzXCIsXG4gICAgICAgIFwiQWRkLW9uIHBvdWNoZXNcIixcbiAgICAgICAgXCJCZXN0IHBob25lIGNhc2VzIGZvciB0cmF2ZWxcIixcbiAgICAgIF0sXG4gICAgICB1c2luZ1BvcnRhbDogdHJ1ZSxcbiAgICB9IHNhdGlzZmllcyBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICAgIHNlYXJjaFJlc3VsdHNFbnRyeVBvaW50OiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hSZXN1bHRzRW50cnlQb2ludFwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TZWFyY2hSZXN1bHRzRW50cnlQb2ludCxcbiAgICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBcIldoYXQgY2FuIEkgaGVscCB5b3UgZmluZD9cIixcbiAgICAgIHNlYXJjaElucHV0VmFyaWFudDogXCJzdGFuZGFyZFwiLFxuICAgICAgc2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQ6IFwiZGFya0J1dHRvblwiLFxuICAgICAgcHJvZHVjdEdyaWRWYXJpYW50OiBcInNxdWFyZVwiLFxuICAgIH0gc2F0aXNmaWVzIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICAgIHNlYXJjaE92ZXJsYXlIb3N0OiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TZWFyY2hPdmVybGF5SG9zdCxcbiAgICB9IHNhdGlzZmllcyBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZyxcbiAgfSxcbn0pO1xuXG5jb25zdCBiYW5kb2xpZXJPcmdJbmZvID0ge1xuICBzaG9ydE5hbWU6IE9yZ1Nob3J0TmFtZS5CYW5kb2xpZXIsXG4gIG5hbWU6IFwiQmFuZG9saWVyXCIsXG4gIGRvbWFpbjogXCJiYW5kb2xpZXJzdHlsZS5jb21cIixcbiAgZGVmYXVsdFByb2R1Y3RJZDpcbiAgICBcImxpbHktc2lkZS1zbG90LWxlYXRoZXItY3Jvc3Nib2R5LWJhbmRvbGllci1jZWNpLWl2b3J5LWZsb3JhbC1nb2xkXCIsXG4gIGFsd2F5c0VuYWJsZWRNZXJjaGFudHM6IHRydWUsXG4gIG9yZ1VJQ29uZmlnOiBiYW5kb2xpZXJPcmdVSUNvbmZpZyxcbiAgb3JnQ29sb3JzOiAoKSA9PiBiYW5kb2xpZXJDb2xvcnMsXG4gIG9yZ1BhZ2VDb25maWc6IGJhbmRvbGllclBhZ2VDb25maWcsXG59IHNhdGlzZmllcyBCYXNpY09yZ0luZm9UeXBlO1xuXG5leHBvcnQgeyBiYW5kb2xpZXJPcmdJbmZv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